From 95306af73b1d31c082aa3dd24d810cd4bb8c151a Mon Sep 17 00:00:00 2001 From: Packit Date: Sep 24 2020 09:37:31 +0000 Subject: perl-Date-Manip-6.60 base --- diff --git a/.cover b/.cover new file mode 100644 index 0000000..94e62b9 --- /dev/null +++ b/.cover @@ -0,0 +1,4 @@ +-ignore +DM5.pm +-ignore +TZdata.pm diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..657610e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: perl +sudo: false +os: + - linux +perl: + - "5.20" + - "5.18" + - "5.16" + - "5.14" + - "5.12" + - "5.10" + - "5.8" diff --git a/Changes b/Changes new file mode 100644 index 0000000..8ff7ad6 --- /dev/null +++ b/Changes @@ -0,0 +1,11 @@ +Written by: + Sullivan Beck (sbeck@cpan.org) +Any suggestions, bug reports, or donations :-) should be sent to me. + +6.00 2009-11-23 + - The history has been moved into the following documents: + Date::Manip::Changes5 + Date::Manip::Changes5to6 + Date::Manip::Changes6 + Please refer to them. + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..343aa38 --- /dev/null +++ b/INSTALL @@ -0,0 +1,16 @@ +For instructions on installing this, or any other perl module in +a UNIX environment, please refer to: + + http://www.cpan.org/modules/INSTALL.html + http://learn.perl.org/faq/perlfaq8.html#How-do-I-install-a-module-from-CPAN- + +For instructions in a Windows environment running ActivePerl, +refer to one of the following (depending on your version of perl): + + http://docs.activestate.com/activeperl/5.6/faq/ActivePerl-faq2.html + http://docs.activestate.com/activeperl/5.8/faq/ActivePerl-faq2.html + http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html + http://docs.activestate.com/activeperl/5.12/faq/ActivePerl-faq2.html + http://docs.activestate.com/activeperl/5.14/faq/ActivePerl-faq2.html + http://docs.activestate.com/activeperl/5.16/faq/ActivePerl-faq2.html + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ae8dd20 --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..28c300b --- /dev/null +++ b/MANIFEST @@ -0,0 +1,1176 @@ +.cover +.travis.yml +Changes +examples/dm_date +examples/dm_zdump +examples/README.examples +INSTALL +internal/benchmarks/dateset3.txt +internal/benchmarks/dateset3_notz.txt +internal/benchmarks/dm5dm6_ex3 +internal/benchmarks/NOTES +internal/benchmarks/parse-1.date_parse.pl +internal/benchmarks/parse-1.date_time.pl +internal/benchmarks/parse-1.dm5.pl +internal/benchmarks/parse-1.dm6.pl +internal/benchmarks/parse-1.dm6_format.pl +internal/benchmarks/parse-1.dm6_opts.pl +internal/benchmarks/parse-1.in.pl +internal/benchmarks/parse-1.sh +internal/build.yaml +internal/data.abbrev.pl +internal/data.alias.pl +internal/data.misc.pl +internal/data.offset.pl +internal/dm_translate +internal/dumps +internal/gen_dm5abbrevs +internal/langpod +internal/leak.pl +internal/module.isp +internal/NOTES +internal/TODO +internal/TODO.7 +internal/translate +internal/tzdata +internal/tztab +internal/unicode +internal/windows.compare +lib/Date/Manip.pm +lib/Date/Manip.pod +lib/Date/Manip/Base.pm +lib/Date/Manip/Base.pod +lib/Date/Manip/Calc.pod +lib/Date/Manip/Changes5.pod +lib/Date/Manip/Changes5to6.pod +lib/Date/Manip/Changes6.pod +lib/Date/Manip/Config.pod +lib/Date/Manip/ConfigFile.pod +lib/Date/Manip/Date.pm +lib/Date/Manip/Date.pod +lib/Date/Manip/Delta.pm +lib/Date/Manip/Delta.pod +lib/Date/Manip/DM5.pm +lib/Date/Manip/DM5.pod +lib/Date/Manip/DM5abbrevs.pm +lib/Date/Manip/DM6.pm +lib/Date/Manip/DM6.pod +lib/Date/Manip/Examples.pod +lib/Date/Manip/History.pod +lib/Date/Manip/Holidays.pod +lib/Date/Manip/Interfaces.pod +lib/Date/Manip/Lang.pod +lib/Date/Manip/Lang/catalan.pm +lib/Date/Manip/Lang/catalan.pod +lib/Date/Manip/Lang/danish.pm +lib/Date/Manip/Lang/danish.pod +lib/Date/Manip/Lang/dutch.pm +lib/Date/Manip/Lang/dutch.pod +lib/Date/Manip/Lang/english.pm +lib/Date/Manip/Lang/english.pod +lib/Date/Manip/Lang/finnish.pm +lib/Date/Manip/Lang/finnish.pod +lib/Date/Manip/Lang/french.pm +lib/Date/Manip/Lang/french.pod +lib/Date/Manip/Lang/german.pm +lib/Date/Manip/Lang/german.pod +lib/Date/Manip/Lang/index.pm +lib/Date/Manip/Lang/italian.pm +lib/Date/Manip/Lang/italian.pod +lib/Date/Manip/Lang/norwegian.pm +lib/Date/Manip/Lang/norwegian.pod +lib/Date/Manip/Lang/polish.pm +lib/Date/Manip/Lang/polish.pod +lib/Date/Manip/Lang/portugue.pm +lib/Date/Manip/Lang/portugue.pod +lib/Date/Manip/Lang/romanian.pm +lib/Date/Manip/Lang/romanian.pod +lib/Date/Manip/Lang/russian.pm +lib/Date/Manip/Lang/russian.pod +lib/Date/Manip/Lang/spanish.pm +lib/Date/Manip/Lang/spanish.pod +lib/Date/Manip/Lang/swedish.pm +lib/Date/Manip/Lang/swedish.pod +lib/Date/Manip/Lang/turkish.pm +lib/Date/Manip/Lang/turkish.pod +lib/Date/Manip/Migration5to6.pod +lib/Date/Manip/Misc.pod +lib/Date/Manip/Obj.pm +lib/Date/Manip/Obj.pod +lib/Date/Manip/Objects.pod +lib/Date/Manip/Offset/off000.pm +lib/Date/Manip/Offset/off001.pm +lib/Date/Manip/Offset/off002.pm +lib/Date/Manip/Offset/off003.pm +lib/Date/Manip/Offset/off004.pm +lib/Date/Manip/Offset/off005.pm +lib/Date/Manip/Offset/off006.pm +lib/Date/Manip/Offset/off007.pm +lib/Date/Manip/Offset/off008.pm +lib/Date/Manip/Offset/off009.pm +lib/Date/Manip/Offset/off010.pm +lib/Date/Manip/Offset/off011.pm +lib/Date/Manip/Offset/off012.pm +lib/Date/Manip/Offset/off013.pm +lib/Date/Manip/Offset/off014.pm +lib/Date/Manip/Offset/off015.pm +lib/Date/Manip/Offset/off016.pm +lib/Date/Manip/Offset/off017.pm +lib/Date/Manip/Offset/off018.pm +lib/Date/Manip/Offset/off019.pm +lib/Date/Manip/Offset/off020.pm +lib/Date/Manip/Offset/off021.pm +lib/Date/Manip/Offset/off022.pm +lib/Date/Manip/Offset/off023.pm +lib/Date/Manip/Offset/off024.pm +lib/Date/Manip/Offset/off025.pm +lib/Date/Manip/Offset/off026.pm +lib/Date/Manip/Offset/off027.pm +lib/Date/Manip/Offset/off028.pm +lib/Date/Manip/Offset/off029.pm +lib/Date/Manip/Offset/off030.pm +lib/Date/Manip/Offset/off031.pm +lib/Date/Manip/Offset/off032.pm +lib/Date/Manip/Offset/off033.pm +lib/Date/Manip/Offset/off034.pm +lib/Date/Manip/Offset/off035.pm +lib/Date/Manip/Offset/off036.pm +lib/Date/Manip/Offset/off037.pm +lib/Date/Manip/Offset/off038.pm +lib/Date/Manip/Offset/off039.pm +lib/Date/Manip/Offset/off040.pm +lib/Date/Manip/Offset/off041.pm +lib/Date/Manip/Offset/off042.pm +lib/Date/Manip/Offset/off043.pm +lib/Date/Manip/Offset/off044.pm +lib/Date/Manip/Offset/off045.pm +lib/Date/Manip/Offset/off046.pm +lib/Date/Manip/Offset/off047.pm +lib/Date/Manip/Offset/off048.pm +lib/Date/Manip/Offset/off049.pm +lib/Date/Manip/Offset/off050.pm +lib/Date/Manip/Offset/off051.pm +lib/Date/Manip/Offset/off052.pm +lib/Date/Manip/Offset/off053.pm +lib/Date/Manip/Offset/off054.pm +lib/Date/Manip/Offset/off055.pm +lib/Date/Manip/Offset/off056.pm +lib/Date/Manip/Offset/off057.pm +lib/Date/Manip/Offset/off058.pm +lib/Date/Manip/Offset/off059.pm +lib/Date/Manip/Offset/off060.pm +lib/Date/Manip/Offset/off061.pm +lib/Date/Manip/Offset/off062.pm +lib/Date/Manip/Offset/off063.pm +lib/Date/Manip/Offset/off064.pm +lib/Date/Manip/Offset/off065.pm +lib/Date/Manip/Offset/off066.pm +lib/Date/Manip/Offset/off067.pm +lib/Date/Manip/Offset/off068.pm +lib/Date/Manip/Offset/off069.pm +lib/Date/Manip/Offset/off070.pm +lib/Date/Manip/Offset/off071.pm +lib/Date/Manip/Offset/off072.pm +lib/Date/Manip/Offset/off073.pm +lib/Date/Manip/Offset/off074.pm +lib/Date/Manip/Offset/off075.pm +lib/Date/Manip/Offset/off076.pm +lib/Date/Manip/Offset/off077.pm +lib/Date/Manip/Offset/off078.pm +lib/Date/Manip/Offset/off079.pm +lib/Date/Manip/Offset/off080.pm +lib/Date/Manip/Offset/off081.pm +lib/Date/Manip/Offset/off082.pm +lib/Date/Manip/Offset/off083.pm +lib/Date/Manip/Offset/off084.pm +lib/Date/Manip/Offset/off085.pm +lib/Date/Manip/Offset/off086.pm +lib/Date/Manip/Offset/off087.pm +lib/Date/Manip/Offset/off088.pm +lib/Date/Manip/Offset/off089.pm +lib/Date/Manip/Offset/off090.pm +lib/Date/Manip/Offset/off091.pm +lib/Date/Manip/Offset/off092.pm +lib/Date/Manip/Offset/off093.pm +lib/Date/Manip/Offset/off094.pm +lib/Date/Manip/Offset/off095.pm +lib/Date/Manip/Offset/off096.pm +lib/Date/Manip/Offset/off097.pm +lib/Date/Manip/Offset/off098.pm +lib/Date/Manip/Offset/off099.pm +lib/Date/Manip/Offset/off100.pm +lib/Date/Manip/Offset/off101.pm +lib/Date/Manip/Offset/off102.pm +lib/Date/Manip/Offset/off103.pm +lib/Date/Manip/Offset/off104.pm +lib/Date/Manip/Offset/off105.pm +lib/Date/Manip/Offset/off106.pm +lib/Date/Manip/Offset/off107.pm +lib/Date/Manip/Offset/off108.pm +lib/Date/Manip/Offset/off109.pm +lib/Date/Manip/Offset/off110.pm +lib/Date/Manip/Offset/off111.pm +lib/Date/Manip/Offset/off112.pm +lib/Date/Manip/Offset/off113.pm +lib/Date/Manip/Offset/off114.pm +lib/Date/Manip/Offset/off115.pm +lib/Date/Manip/Offset/off116.pm +lib/Date/Manip/Offset/off117.pm +lib/Date/Manip/Offset/off118.pm +lib/Date/Manip/Offset/off119.pm +lib/Date/Manip/Offset/off120.pm +lib/Date/Manip/Offset/off121.pm +lib/Date/Manip/Offset/off122.pm +lib/Date/Manip/Offset/off123.pm +lib/Date/Manip/Offset/off124.pm +lib/Date/Manip/Offset/off125.pm +lib/Date/Manip/Offset/off126.pm +lib/Date/Manip/Offset/off127.pm +lib/Date/Manip/Offset/off128.pm +lib/Date/Manip/Offset/off129.pm +lib/Date/Manip/Offset/off130.pm +lib/Date/Manip/Offset/off131.pm +lib/Date/Manip/Offset/off132.pm +lib/Date/Manip/Offset/off133.pm +lib/Date/Manip/Offset/off134.pm +lib/Date/Manip/Offset/off135.pm +lib/Date/Manip/Offset/off136.pm +lib/Date/Manip/Offset/off137.pm +lib/Date/Manip/Offset/off138.pm +lib/Date/Manip/Offset/off139.pm +lib/Date/Manip/Offset/off140.pm +lib/Date/Manip/Offset/off141.pm +lib/Date/Manip/Offset/off142.pm +lib/Date/Manip/Offset/off143.pm +lib/Date/Manip/Offset/off144.pm +lib/Date/Manip/Offset/off145.pm +lib/Date/Manip/Offset/off146.pm +lib/Date/Manip/Offset/off147.pm +lib/Date/Manip/Offset/off148.pm +lib/Date/Manip/Offset/off149.pm +lib/Date/Manip/Offset/off150.pm +lib/Date/Manip/Offset/off151.pm +lib/Date/Manip/Offset/off152.pm +lib/Date/Manip/Offset/off153.pm +lib/Date/Manip/Offset/off154.pm +lib/Date/Manip/Offset/off155.pm +lib/Date/Manip/Offset/off156.pm +lib/Date/Manip/Offset/off157.pm +lib/Date/Manip/Offset/off158.pm +lib/Date/Manip/Offset/off159.pm +lib/Date/Manip/Offset/off160.pm +lib/Date/Manip/Offset/off161.pm +lib/Date/Manip/Offset/off162.pm +lib/Date/Manip/Offset/off163.pm +lib/Date/Manip/Offset/off164.pm +lib/Date/Manip/Offset/off165.pm +lib/Date/Manip/Offset/off166.pm +lib/Date/Manip/Offset/off167.pm +lib/Date/Manip/Offset/off168.pm +lib/Date/Manip/Offset/off169.pm +lib/Date/Manip/Offset/off170.pm +lib/Date/Manip/Offset/off171.pm +lib/Date/Manip/Offset/off172.pm +lib/Date/Manip/Offset/off173.pm +lib/Date/Manip/Offset/off174.pm +lib/Date/Manip/Offset/off175.pm +lib/Date/Manip/Offset/off176.pm +lib/Date/Manip/Offset/off177.pm +lib/Date/Manip/Offset/off178.pm +lib/Date/Manip/Offset/off179.pm +lib/Date/Manip/Offset/off180.pm +lib/Date/Manip/Offset/off181.pm +lib/Date/Manip/Offset/off182.pm +lib/Date/Manip/Offset/off183.pm +lib/Date/Manip/Offset/off184.pm +lib/Date/Manip/Offset/off185.pm +lib/Date/Manip/Offset/off186.pm +lib/Date/Manip/Offset/off187.pm +lib/Date/Manip/Offset/off188.pm +lib/Date/Manip/Offset/off189.pm +lib/Date/Manip/Offset/off190.pm +lib/Date/Manip/Offset/off191.pm +lib/Date/Manip/Offset/off192.pm +lib/Date/Manip/Offset/off193.pm +lib/Date/Manip/Offset/off194.pm +lib/Date/Manip/Offset/off195.pm +lib/Date/Manip/Offset/off196.pm +lib/Date/Manip/Offset/off197.pm +lib/Date/Manip/Offset/off198.pm +lib/Date/Manip/Offset/off199.pm +lib/Date/Manip/Offset/off200.pm +lib/Date/Manip/Offset/off201.pm +lib/Date/Manip/Offset/off202.pm +lib/Date/Manip/Offset/off203.pm +lib/Date/Manip/Offset/off204.pm +lib/Date/Manip/Offset/off205.pm +lib/Date/Manip/Offset/off206.pm +lib/Date/Manip/Offset/off207.pm +lib/Date/Manip/Offset/off208.pm +lib/Date/Manip/Offset/off209.pm +lib/Date/Manip/Offset/off210.pm +lib/Date/Manip/Offset/off211.pm +lib/Date/Manip/Offset/off212.pm +lib/Date/Manip/Offset/off213.pm +lib/Date/Manip/Offset/off214.pm +lib/Date/Manip/Offset/off215.pm +lib/Date/Manip/Offset/off216.pm +lib/Date/Manip/Offset/off217.pm +lib/Date/Manip/Offset/off218.pm +lib/Date/Manip/Offset/off219.pm +lib/Date/Manip/Offset/off220.pm +lib/Date/Manip/Offset/off221.pm +lib/Date/Manip/Offset/off222.pm +lib/Date/Manip/Offset/off223.pm +lib/Date/Manip/Offset/off224.pm +lib/Date/Manip/Offset/off225.pm +lib/Date/Manip/Offset/off226.pm +lib/Date/Manip/Offset/off227.pm +lib/Date/Manip/Offset/off228.pm +lib/Date/Manip/Offset/off229.pm +lib/Date/Manip/Offset/off230.pm +lib/Date/Manip/Offset/off231.pm +lib/Date/Manip/Offset/off232.pm +lib/Date/Manip/Offset/off233.pm +lib/Date/Manip/Offset/off234.pm +lib/Date/Manip/Offset/off235.pm +lib/Date/Manip/Offset/off236.pm +lib/Date/Manip/Offset/off237.pm +lib/Date/Manip/Offset/off238.pm +lib/Date/Manip/Offset/off239.pm +lib/Date/Manip/Offset/off240.pm +lib/Date/Manip/Offset/off241.pm +lib/Date/Manip/Offset/off242.pm +lib/Date/Manip/Offset/off243.pm +lib/Date/Manip/Offset/off244.pm +lib/Date/Manip/Offset/off245.pm +lib/Date/Manip/Offset/off246.pm +lib/Date/Manip/Offset/off247.pm +lib/Date/Manip/Offset/off248.pm +lib/Date/Manip/Offset/off249.pm +lib/Date/Manip/Offset/off250.pm +lib/Date/Manip/Offset/off251.pm +lib/Date/Manip/Offset/off252.pm +lib/Date/Manip/Offset/off253.pm +lib/Date/Manip/Offset/off254.pm +lib/Date/Manip/Offset/off255.pm +lib/Date/Manip/Offset/off256.pm +lib/Date/Manip/Offset/off257.pm +lib/Date/Manip/Offset/off258.pm +lib/Date/Manip/Offset/off259.pm +lib/Date/Manip/Offset/off260.pm +lib/Date/Manip/Offset/off261.pm +lib/Date/Manip/Offset/off262.pm +lib/Date/Manip/Offset/off263.pm +lib/Date/Manip/Offset/off264.pm +lib/Date/Manip/Offset/off265.pm +lib/Date/Manip/Offset/off266.pm +lib/Date/Manip/Offset/off267.pm +lib/Date/Manip/Offset/off268.pm +lib/Date/Manip/Offset/off269.pm +lib/Date/Manip/Offset/off270.pm +lib/Date/Manip/Offset/off271.pm +lib/Date/Manip/Offset/off272.pm +lib/Date/Manip/Offset/off273.pm +lib/Date/Manip/Offset/off274.pm +lib/Date/Manip/Offset/off275.pm +lib/Date/Manip/Offset/off276.pm +lib/Date/Manip/Offset/off277.pm +lib/Date/Manip/Offset/off278.pm +lib/Date/Manip/Offset/off279.pm +lib/Date/Manip/Offset/off280.pm +lib/Date/Manip/Offset/off281.pm +lib/Date/Manip/Offset/off282.pm +lib/Date/Manip/Offset/off283.pm +lib/Date/Manip/Offset/off284.pm +lib/Date/Manip/Offset/off285.pm +lib/Date/Manip/Offset/off286.pm +lib/Date/Manip/Offset/off287.pm +lib/Date/Manip/Offset/off288.pm +lib/Date/Manip/Offset/off289.pm +lib/Date/Manip/Offset/off290.pm +lib/Date/Manip/Offset/off291.pm +lib/Date/Manip/Offset/off292.pm +lib/Date/Manip/Offset/off293.pm +lib/Date/Manip/Offset/off294.pm +lib/Date/Manip/Offset/off295.pm +lib/Date/Manip/Offset/off296.pm +lib/Date/Manip/Offset/off297.pm +lib/Date/Manip/Offset/off298.pm +lib/Date/Manip/Offset/off299.pm +lib/Date/Manip/Offset/off300.pm +lib/Date/Manip/Offset/off301.pm +lib/Date/Manip/Offset/off302.pm +lib/Date/Manip/Offset/off303.pm +lib/Date/Manip/Offset/off304.pm +lib/Date/Manip/Offset/off305.pm +lib/Date/Manip/Offset/off306.pm +lib/Date/Manip/Offset/off307.pm +lib/Date/Manip/Offset/off308.pm +lib/Date/Manip/Offset/off309.pm +lib/Date/Manip/Offset/off310.pm +lib/Date/Manip/Offset/off311.pm +lib/Date/Manip/Offset/off312.pm +lib/Date/Manip/Offset/off313.pm +lib/Date/Manip/Offset/off314.pm +lib/Date/Manip/Offset/off315.pm +lib/Date/Manip/Offset/off316.pm +lib/Date/Manip/Offset/off317.pm +lib/Date/Manip/Offset/off318.pm +lib/Date/Manip/Offset/off319.pm +lib/Date/Manip/Offset/off320.pm +lib/Date/Manip/Offset/off321.pm +lib/Date/Manip/Offset/off322.pm +lib/Date/Manip/Offset/off323.pm +lib/Date/Manip/Offset/off324.pm +lib/Date/Manip/Offset/off325.pm +lib/Date/Manip/Offset/off326.pm +lib/Date/Manip/Offset/off327.pm +lib/Date/Manip/Offset/off328.pm +lib/Date/Manip/Offset/off329.pm +lib/Date/Manip/Offset/off330.pm +lib/Date/Manip/Offset/off331.pm +lib/Date/Manip/Offset/off332.pm +lib/Date/Manip/Offset/off333.pm +lib/Date/Manip/Offset/off334.pm +lib/Date/Manip/Offset/off335.pm +lib/Date/Manip/Offset/off336.pm +lib/Date/Manip/Offset/off337.pm +lib/Date/Manip/Offset/off338.pm +lib/Date/Manip/Offset/off339.pm +lib/Date/Manip/Offset/off340.pm +lib/Date/Manip/Offset/off341.pm +lib/Date/Manip/Offset/off342.pm +lib/Date/Manip/Offset/off343.pm +lib/Date/Manip/Offset/off344.pm +lib/Date/Manip/Offset/off345.pm +lib/Date/Manip/Offset/off346.pm +lib/Date/Manip/Offset/off347.pm +lib/Date/Manip/Offset/off348.pm +lib/Date/Manip/Offset/off349.pm +lib/Date/Manip/Offset/off350.pm +lib/Date/Manip/Offset/off351.pm +lib/Date/Manip/Offset/off352.pm +lib/Date/Manip/Offset/off353.pm +lib/Date/Manip/Offset/off354.pm +lib/Date/Manip/Offset/off355.pm +lib/Date/Manip/Offset/off356.pm +lib/Date/Manip/Offset/off357.pm +lib/Date/Manip/Offset/off358.pm +lib/Date/Manip/Offset/off359.pm +lib/Date/Manip/Offset/off360.pm +lib/Date/Manip/Offset/off361.pm +lib/Date/Manip/Offset/off362.pm +lib/Date/Manip/Offset/off363.pm +lib/Date/Manip/Offset/off364.pm +lib/Date/Manip/Offset/off365.pm +lib/Date/Manip/Offset/off366.pm +lib/Date/Manip/Offset/off367.pm +lib/Date/Manip/Offset/off368.pm +lib/Date/Manip/Offset/off369.pm +lib/Date/Manip/Offset/off370.pm +lib/Date/Manip/Offset/off371.pm +lib/Date/Manip/Offset/off372.pm +lib/Date/Manip/Offset/off373.pm +lib/Date/Manip/Offset/off374.pm +lib/Date/Manip/Offset/off375.pm +lib/Date/Manip/Offset/off376.pm +lib/Date/Manip/Offset/off377.pm +lib/Date/Manip/Offset/off378.pm +lib/Date/Manip/Offset/off379.pm +lib/Date/Manip/Offset/off380.pm +lib/Date/Manip/Offset/off381.pm +lib/Date/Manip/Offset/off382.pm +lib/Date/Manip/Offset/off383.pm +lib/Date/Manip/Offset/off384.pm +lib/Date/Manip/Offset/off385.pm +lib/Date/Manip/Offset/off386.pm +lib/Date/Manip/Offset/off387.pm +lib/Date/Manip/Offset/off388.pm +lib/Date/Manip/Offset/off389.pm +lib/Date/Manip/Offset/off390.pm +lib/Date/Manip/Offset/off391.pm +lib/Date/Manip/Offset/off392.pm +lib/Date/Manip/Offset/off393.pm +lib/Date/Manip/Offset/off394.pm +lib/Date/Manip/Offset/off395.pm +lib/Date/Manip/Offset/off396.pm +lib/Date/Manip/Offset/off397.pm +lib/Date/Manip/Offset/off398.pm +lib/Date/Manip/Offset/off399.pm +lib/Date/Manip/Offset/off400.pm +lib/Date/Manip/Offset/off401.pm +lib/Date/Manip/Offset/off402.pm +lib/Date/Manip/Offset/off403.pm +lib/Date/Manip/Offset/off404.pm +lib/Date/Manip/Offset/off405.pm +lib/Date/Manip/Offset/off406.pm +lib/Date/Manip/Offset/off407.pm +lib/Date/Manip/Offset/off408.pm +lib/Date/Manip/Offset/off409.pm +lib/Date/Manip/Offset/off410.pm +lib/Date/Manip/Offset/off411.pm +lib/Date/Manip/Offset/off412.pm +lib/Date/Manip/Offset/off413.pm +lib/Date/Manip/Offset/off414.pm +lib/Date/Manip/Offset/off415.pm +lib/Date/Manip/Offset/off416.pm +lib/Date/Manip/Offset/off417.pm +lib/Date/Manip/Offset/off418.pm +lib/Date/Manip/Offset/off419.pm +lib/Date/Manip/Offset/off420.pm +lib/Date/Manip/Offset/off421.pm +lib/Date/Manip/Offset/off422.pm +lib/Date/Manip/Offset/off423.pm +lib/Date/Manip/Offset/off424.pm +lib/Date/Manip/Offset/off425.pm +lib/Date/Manip/Offset/off426.pm +lib/Date/Manip/Offset/off427.pm +lib/Date/Manip/Offset/off428.pm +lib/Date/Manip/Offset/off429.pm +lib/Date/Manip/Offset/off430.pm +lib/Date/Manip/Offset/off431.pm +lib/Date/Manip/Offset/off432.pm +lib/Date/Manip/Offset/off433.pm +lib/Date/Manip/Offset/off434.pm +lib/Date/Manip/Offset/off435.pm +lib/Date/Manip/Offset/off436.pm +lib/Date/Manip/Problems.pod +lib/Date/Manip/Recur.pm +lib/Date/Manip/Recur.pod +lib/Date/Manip/TZ.pm +lib/Date/Manip/TZ.pod +lib/Date/Manip/TZ/a00.pm +lib/Date/Manip/TZ/afabid00.pm +lib/Date/Manip/TZ/afaccr00.pm +lib/Date/Manip/TZ/afalgi00.pm +lib/Date/Manip/TZ/afbiss00.pm +lib/Date/Manip/TZ/afcair00.pm +lib/Date/Manip/TZ/afcasa00.pm +lib/Date/Manip/TZ/afceut00.pm +lib/Date/Manip/TZ/afel_a00.pm +lib/Date/Manip/TZ/afjoha00.pm +lib/Date/Manip/TZ/afkhar00.pm +lib/Date/Manip/TZ/aflago00.pm +lib/Date/Manip/TZ/afmapu00.pm +lib/Date/Manip/TZ/afmonr00.pm +lib/Date/Manip/TZ/afnair00.pm +lib/Date/Manip/TZ/afndja00.pm +lib/Date/Manip/TZ/aftrip00.pm +lib/Date/Manip/TZ/aftuni00.pm +lib/Date/Manip/TZ/afwind00.pm +lib/Date/Manip/TZ/amadak00.pm +lib/Date/Manip/TZ/amanch00.pm +lib/Date/Manip/TZ/amarag00.pm +lib/Date/Manip/TZ/amasun00.pm +lib/Date/Manip/TZ/amatik00.pm +lib/Date/Manip/TZ/ambahi00.pm +lib/Date/Manip/TZ/ambahi01.pm +lib/Date/Manip/TZ/ambarb00.pm +lib/Date/Manip/TZ/ambele00.pm +lib/Date/Manip/TZ/ambeli00.pm +lib/Date/Manip/TZ/ambeul00.pm +lib/Date/Manip/TZ/amblan00.pm +lib/Date/Manip/TZ/amboa_00.pm +lib/Date/Manip/TZ/ambogo00.pm +lib/Date/Manip/TZ/ambois00.pm +lib/Date/Manip/TZ/ambuen00.pm +lib/Date/Manip/TZ/amcamb00.pm +lib/Date/Manip/TZ/amcamp00.pm +lib/Date/Manip/TZ/amcanc00.pm +lib/Date/Manip/TZ/amcara00.pm +lib/Date/Manip/TZ/amcata00.pm +lib/Date/Manip/TZ/amcaye00.pm +lib/Date/Manip/TZ/amcent00.pm +lib/Date/Manip/TZ/amchic00.pm +lib/Date/Manip/TZ/amchih00.pm +lib/Date/Manip/TZ/amcord00.pm +lib/Date/Manip/TZ/amcost00.pm +lib/Date/Manip/TZ/amcres00.pm +lib/Date/Manip/TZ/amcuia00.pm +lib/Date/Manip/TZ/amcura00.pm +lib/Date/Manip/TZ/amdanm00.pm +lib/Date/Manip/TZ/amdaws00.pm +lib/Date/Manip/TZ/amdaws01.pm +lib/Date/Manip/TZ/amdenv00.pm +lib/Date/Manip/TZ/amdetr00.pm +lib/Date/Manip/TZ/amedmo00.pm +lib/Date/Manip/TZ/ameiru00.pm +lib/Date/Manip/TZ/amel_s00.pm +lib/Date/Manip/TZ/amfort00.pm +lib/Date/Manip/TZ/amfort01.pm +lib/Date/Manip/TZ/amglac00.pm +lib/Date/Manip/TZ/amgodt00.pm +lib/Date/Manip/TZ/amgoos00.pm +lib/Date/Manip/TZ/amgran00.pm +lib/Date/Manip/TZ/amguat00.pm +lib/Date/Manip/TZ/amguay00.pm +lib/Date/Manip/TZ/amguya00.pm +lib/Date/Manip/TZ/amhali00.pm +lib/Date/Manip/TZ/amhava00.pm +lib/Date/Manip/TZ/amherm00.pm +lib/Date/Manip/TZ/amindi00.pm +lib/Date/Manip/TZ/aminuv00.pm +lib/Date/Manip/TZ/amiqal00.pm +lib/Date/Manip/TZ/amjama00.pm +lib/Date/Manip/TZ/amjuju00.pm +lib/Date/Manip/TZ/amjune00.pm +lib/Date/Manip/TZ/amknox00.pm +lib/Date/Manip/TZ/amla_p00.pm +lib/Date/Manip/TZ/amla_r00.pm +lib/Date/Manip/TZ/amlima00.pm +lib/Date/Manip/TZ/amlos_00.pm +lib/Date/Manip/TZ/amloui00.pm +lib/Date/Manip/TZ/ammace00.pm +lib/Date/Manip/TZ/ammana00.pm +lib/Date/Manip/TZ/ammana01.pm +lib/Date/Manip/TZ/ammare00.pm +lib/Date/Manip/TZ/ammart00.pm +lib/Date/Manip/TZ/ammata00.pm +lib/Date/Manip/TZ/ammaza00.pm +lib/Date/Manip/TZ/ammend00.pm +lib/Date/Manip/TZ/ammeno00.pm +lib/Date/Manip/TZ/ammeri00.pm +lib/Date/Manip/TZ/ammetl00.pm +lib/Date/Manip/TZ/ammexi00.pm +lib/Date/Manip/TZ/ammiqu00.pm +lib/Date/Manip/TZ/ammonc00.pm +lib/Date/Manip/TZ/ammont00.pm +lib/Date/Manip/TZ/ammont01.pm +lib/Date/Manip/TZ/ammont02.pm +lib/Date/Manip/TZ/amnass00.pm +lib/Date/Manip/TZ/amnew_00.pm +lib/Date/Manip/TZ/amnew_01.pm +lib/Date/Manip/TZ/amnipi00.pm +lib/Date/Manip/TZ/amnome00.pm +lib/Date/Manip/TZ/amnoro00.pm +lib/Date/Manip/TZ/amojin00.pm +lib/Date/Manip/TZ/ampana00.pm +lib/Date/Manip/TZ/ampang00.pm +lib/Date/Manip/TZ/ampara00.pm +lib/Date/Manip/TZ/ampete00.pm +lib/Date/Manip/TZ/amphoe00.pm +lib/Date/Manip/TZ/amport00.pm +lib/Date/Manip/TZ/amport01.pm +lib/Date/Manip/TZ/amport02.pm +lib/Date/Manip/TZ/ampuer00.pm +lib/Date/Manip/TZ/ampunt00.pm +lib/Date/Manip/TZ/amrain00.pm +lib/Date/Manip/TZ/amrank00.pm +lib/Date/Manip/TZ/amreci00.pm +lib/Date/Manip/TZ/amregi00.pm +lib/Date/Manip/TZ/amreso00.pm +lib/Date/Manip/TZ/amrio_00.pm +lib/Date/Manip/TZ/amrio_01.pm +lib/Date/Manip/TZ/amsalt00.pm +lib/Date/Manip/TZ/amsan_00.pm +lib/Date/Manip/TZ/amsan_01.pm +lib/Date/Manip/TZ/amsant00.pm +lib/Date/Manip/TZ/amsant01.pm +lib/Date/Manip/TZ/amsant02.pm +lib/Date/Manip/TZ/amsao_00.pm +lib/Date/Manip/TZ/amscor00.pm +lib/Date/Manip/TZ/amsitk00.pm +lib/Date/Manip/TZ/amst_j00.pm +lib/Date/Manip/TZ/amswif00.pm +lib/Date/Manip/TZ/amtegu00.pm +lib/Date/Manip/TZ/amtell00.pm +lib/Date/Manip/TZ/amthul00.pm +lib/Date/Manip/TZ/amthun00.pm +lib/Date/Manip/TZ/amtiju00.pm +lib/Date/Manip/TZ/amtoro00.pm +lib/Date/Manip/TZ/amtucu00.pm +lib/Date/Manip/TZ/amushu00.pm +lib/Date/Manip/TZ/amvanc00.pm +lib/Date/Manip/TZ/amveva00.pm +lib/Date/Manip/TZ/amvinc00.pm +lib/Date/Manip/TZ/amwhit00.pm +lib/Date/Manip/TZ/amwina00.pm +lib/Date/Manip/TZ/amwinn00.pm +lib/Date/Manip/TZ/amyaku00.pm +lib/Date/Manip/TZ/amyell00.pm +lib/Date/Manip/TZ/ancase00.pm +lib/Date/Manip/TZ/andavi00.pm +lib/Date/Manip/TZ/andumo00.pm +lib/Date/Manip/TZ/anmacq00.pm +lib/Date/Manip/TZ/anmaws00.pm +lib/Date/Manip/TZ/anpalm00.pm +lib/Date/Manip/TZ/anroth00.pm +lib/Date/Manip/TZ/ansyow00.pm +lib/Date/Manip/TZ/antrol00.pm +lib/Date/Manip/TZ/anvost00.pm +lib/Date/Manip/TZ/asalma00.pm +lib/Date/Manip/TZ/asamma00.pm +lib/Date/Manip/TZ/asanad00.pm +lib/Date/Manip/TZ/asaqta00.pm +lib/Date/Manip/TZ/asaqto00.pm +lib/Date/Manip/TZ/asashg00.pm +lib/Date/Manip/TZ/asatyr00.pm +lib/Date/Manip/TZ/asbagh00.pm +lib/Date/Manip/TZ/asbaku00.pm +lib/Date/Manip/TZ/asbang00.pm +lib/Date/Manip/TZ/asbarn00.pm +lib/Date/Manip/TZ/asbeir00.pm +lib/Date/Manip/TZ/asbish00.pm +lib/Date/Manip/TZ/asbrun00.pm +lib/Date/Manip/TZ/aschit00.pm +lib/Date/Manip/TZ/aschoi00.pm +lib/Date/Manip/TZ/ascolo00.pm +lib/Date/Manip/TZ/asdama00.pm +lib/Date/Manip/TZ/asdhak00.pm +lib/Date/Manip/TZ/asdili00.pm +lib/Date/Manip/TZ/asduba00.pm +lib/Date/Manip/TZ/asdush00.pm +lib/Date/Manip/TZ/asfama00.pm +lib/Date/Manip/TZ/asgaza00.pm +lib/Date/Manip/TZ/ashebr00.pm +lib/Date/Manip/TZ/asho_c00.pm +lib/Date/Manip/TZ/ashong00.pm +lib/Date/Manip/TZ/ashovd00.pm +lib/Date/Manip/TZ/asirku00.pm +lib/Date/Manip/TZ/asjaka00.pm +lib/Date/Manip/TZ/asjaya00.pm +lib/Date/Manip/TZ/asjeru00.pm +lib/Date/Manip/TZ/askabu00.pm +lib/Date/Manip/TZ/askamc00.pm +lib/Date/Manip/TZ/askara00.pm +lib/Date/Manip/TZ/askath00.pm +lib/Date/Manip/TZ/askhan00.pm +lib/Date/Manip/TZ/askolk00.pm +lib/Date/Manip/TZ/askras00.pm +lib/Date/Manip/TZ/askual00.pm +lib/Date/Manip/TZ/askuch00.pm +lib/Date/Manip/TZ/asmaca00.pm +lib/Date/Manip/TZ/asmaga00.pm +lib/Date/Manip/TZ/asmaka00.pm +lib/Date/Manip/TZ/asmani00.pm +lib/Date/Manip/TZ/asnico00.pm +lib/Date/Manip/TZ/asnovo00.pm +lib/Date/Manip/TZ/asnovo01.pm +lib/Date/Manip/TZ/asomsk00.pm +lib/Date/Manip/TZ/asoral00.pm +lib/Date/Manip/TZ/aspont00.pm +lib/Date/Manip/TZ/aspyon00.pm +lib/Date/Manip/TZ/asqata00.pm +lib/Date/Manip/TZ/asqyzy00.pm +lib/Date/Manip/TZ/asriya00.pm +lib/Date/Manip/TZ/assakh00.pm +lib/Date/Manip/TZ/assama00.pm +lib/Date/Manip/TZ/asseou00.pm +lib/Date/Manip/TZ/asshan00.pm +lib/Date/Manip/TZ/assing00.pm +lib/Date/Manip/TZ/assred00.pm +lib/Date/Manip/TZ/astaip00.pm +lib/Date/Manip/TZ/astash00.pm +lib/Date/Manip/TZ/astbil00.pm +lib/Date/Manip/TZ/astehr00.pm +lib/Date/Manip/TZ/asthim00.pm +lib/Date/Manip/TZ/astoky00.pm +lib/Date/Manip/TZ/astoms00.pm +lib/Date/Manip/TZ/asulaa00.pm +lib/Date/Manip/TZ/asurum00.pm +lib/Date/Manip/TZ/asustm00.pm +lib/Date/Manip/TZ/asvlad00.pm +lib/Date/Manip/TZ/asyaku00.pm +lib/Date/Manip/TZ/asyang00.pm +lib/Date/Manip/TZ/asyeka00.pm +lib/Date/Manip/TZ/asyere00.pm +lib/Date/Manip/TZ/atazor00.pm +lib/Date/Manip/TZ/atberm00.pm +lib/Date/Manip/TZ/atcana00.pm +lib/Date/Manip/TZ/atcape00.pm +lib/Date/Manip/TZ/atfaro00.pm +lib/Date/Manip/TZ/atmade00.pm +lib/Date/Manip/TZ/atreyk00.pm +lib/Date/Manip/TZ/atsout00.pm +lib/Date/Manip/TZ/atstan00.pm +lib/Date/Manip/TZ/auadel00.pm +lib/Date/Manip/TZ/aubris00.pm +lib/Date/Manip/TZ/aubrok00.pm +lib/Date/Manip/TZ/aucurr00.pm +lib/Date/Manip/TZ/audarw00.pm +lib/Date/Manip/TZ/aueucl00.pm +lib/Date/Manip/TZ/auhoba00.pm +lib/Date/Manip/TZ/aulind00.pm +lib/Date/Manip/TZ/aulord00.pm +lib/Date/Manip/TZ/aumelb00.pm +lib/Date/Manip/TZ/aupert00.pm +lib/Date/Manip/TZ/ausydn00.pm +lib/Date/Manip/TZ/b00.pm +lib/Date/Manip/TZ/c00.pm +lib/Date/Manip/TZ/cet00.pm +lib/Date/Manip/TZ/d00.pm +lib/Date/Manip/TZ/e00.pm +lib/Date/Manip/TZ/eet00.pm +lib/Date/Manip/TZ/etgmt00.pm +lib/Date/Manip/TZ/etgmtm00.pm +lib/Date/Manip/TZ/etgmtm01.pm +lib/Date/Manip/TZ/etgmtm02.pm +lib/Date/Manip/TZ/etgmtm03.pm +lib/Date/Manip/TZ/etgmtm04.pm +lib/Date/Manip/TZ/etgmtm05.pm +lib/Date/Manip/TZ/etgmtm06.pm +lib/Date/Manip/TZ/etgmtm07.pm +lib/Date/Manip/TZ/etgmtm08.pm +lib/Date/Manip/TZ/etgmtm09.pm +lib/Date/Manip/TZ/etgmtm10.pm +lib/Date/Manip/TZ/etgmtm11.pm +lib/Date/Manip/TZ/etgmtm12.pm +lib/Date/Manip/TZ/etgmtm13.pm +lib/Date/Manip/TZ/etgmtp00.pm +lib/Date/Manip/TZ/etgmtp01.pm +lib/Date/Manip/TZ/etgmtp02.pm +lib/Date/Manip/TZ/etgmtp03.pm +lib/Date/Manip/TZ/etgmtp04.pm +lib/Date/Manip/TZ/etgmtp05.pm +lib/Date/Manip/TZ/etgmtp06.pm +lib/Date/Manip/TZ/etgmtp07.pm +lib/Date/Manip/TZ/etgmtp08.pm +lib/Date/Manip/TZ/etgmtp09.pm +lib/Date/Manip/TZ/etgmtp10.pm +lib/Date/Manip/TZ/etgmtp11.pm +lib/Date/Manip/TZ/euamst00.pm +lib/Date/Manip/TZ/euando00.pm +lib/Date/Manip/TZ/euastr00.pm +lib/Date/Manip/TZ/euathe00.pm +lib/Date/Manip/TZ/eubelg00.pm +lib/Date/Manip/TZ/euberl00.pm +lib/Date/Manip/TZ/eubrus00.pm +lib/Date/Manip/TZ/eubuch00.pm +lib/Date/Manip/TZ/eubuda00.pm +lib/Date/Manip/TZ/euchis00.pm +lib/Date/Manip/TZ/eucope00.pm +lib/Date/Manip/TZ/eudubl00.pm +lib/Date/Manip/TZ/eugibr00.pm +lib/Date/Manip/TZ/euhels00.pm +lib/Date/Manip/TZ/euista00.pm +lib/Date/Manip/TZ/eukali00.pm +lib/Date/Manip/TZ/eukiev00.pm +lib/Date/Manip/TZ/eukiro00.pm +lib/Date/Manip/TZ/eulisb00.pm +lib/Date/Manip/TZ/eulond00.pm +lib/Date/Manip/TZ/euluxe00.pm +lib/Date/Manip/TZ/eumadr00.pm +lib/Date/Manip/TZ/eumalt00.pm +lib/Date/Manip/TZ/eumins00.pm +lib/Date/Manip/TZ/eumona00.pm +lib/Date/Manip/TZ/eumosc00.pm +lib/Date/Manip/TZ/euoslo00.pm +lib/Date/Manip/TZ/eupari00.pm +lib/Date/Manip/TZ/euprag00.pm +lib/Date/Manip/TZ/euriga00.pm +lib/Date/Manip/TZ/eurome00.pm +lib/Date/Manip/TZ/eusama00.pm +lib/Date/Manip/TZ/eusara00.pm +lib/Date/Manip/TZ/eusimf00.pm +lib/Date/Manip/TZ/eusofi00.pm +lib/Date/Manip/TZ/eustoc00.pm +lib/Date/Manip/TZ/eutall00.pm +lib/Date/Manip/TZ/eutira00.pm +lib/Date/Manip/TZ/euulya00.pm +lib/Date/Manip/TZ/euuzhg00.pm +lib/Date/Manip/TZ/euvien00.pm +lib/Date/Manip/TZ/euviln00.pm +lib/Date/Manip/TZ/euvolg00.pm +lib/Date/Manip/TZ/euwars00.pm +lib/Date/Manip/TZ/euzapo00.pm +lib/Date/Manip/TZ/euzuri00.pm +lib/Date/Manip/TZ/f00.pm +lib/Date/Manip/TZ/g00.pm +lib/Date/Manip/TZ/h00.pm +lib/Date/Manip/TZ/i00.pm +lib/Date/Manip/TZ/inchag00.pm +lib/Date/Manip/TZ/inchri00.pm +lib/Date/Manip/TZ/incoco00.pm +lib/Date/Manip/TZ/inkerg00.pm +lib/Date/Manip/TZ/inmahe00.pm +lib/Date/Manip/TZ/inmald00.pm +lib/Date/Manip/TZ/inmaur00.pm +lib/Date/Manip/TZ/inreun00.pm +lib/Date/Manip/TZ/k00.pm +lib/Date/Manip/TZ/l00.pm +lib/Date/Manip/TZ/m00.pm +lib/Date/Manip/TZ/met00.pm +lib/Date/Manip/TZ/n00.pm +lib/Date/Manip/TZ/o00.pm +lib/Date/Manip/TZ/p00.pm +lib/Date/Manip/TZ/paapia00.pm +lib/Date/Manip/TZ/paauck00.pm +lib/Date/Manip/TZ/paboug00.pm +lib/Date/Manip/TZ/pachat00.pm +lib/Date/Manip/TZ/pachuu00.pm +lib/Date/Manip/TZ/paeast00.pm +lib/Date/Manip/TZ/paefat00.pm +lib/Date/Manip/TZ/paende00.pm +lib/Date/Manip/TZ/pafaka00.pm +lib/Date/Manip/TZ/pafiji00.pm +lib/Date/Manip/TZ/pafuna00.pm +lib/Date/Manip/TZ/pagala00.pm +lib/Date/Manip/TZ/pagamb00.pm +lib/Date/Manip/TZ/paguad00.pm +lib/Date/Manip/TZ/paguam00.pm +lib/Date/Manip/TZ/pahono00.pm +lib/Date/Manip/TZ/pakiri00.pm +lib/Date/Manip/TZ/pakosr00.pm +lib/Date/Manip/TZ/pakwaj00.pm +lib/Date/Manip/TZ/pamaju00.pm +lib/Date/Manip/TZ/pamarq00.pm +lib/Date/Manip/TZ/panaur00.pm +lib/Date/Manip/TZ/paniue00.pm +lib/Date/Manip/TZ/panorf00.pm +lib/Date/Manip/TZ/panoum00.pm +lib/Date/Manip/TZ/papago00.pm +lib/Date/Manip/TZ/papala00.pm +lib/Date/Manip/TZ/papitc00.pm +lib/Date/Manip/TZ/papohn00.pm +lib/Date/Manip/TZ/paport00.pm +lib/Date/Manip/TZ/pararo00.pm +lib/Date/Manip/TZ/patahi00.pm +lib/Date/Manip/TZ/patara00.pm +lib/Date/Manip/TZ/patong00.pm +lib/Date/Manip/TZ/pawake00.pm +lib/Date/Manip/TZ/pawall00.pm +lib/Date/Manip/TZ/q00.pm +lib/Date/Manip/TZ/r00.pm +lib/Date/Manip/TZ/s00.pm +lib/Date/Manip/TZ/t00.pm +lib/Date/Manip/TZ/u00.pm +lib/Date/Manip/TZ/ut00.pm +lib/Date/Manip/TZ/utc00.pm +lib/Date/Manip/TZ/v00.pm +lib/Date/Manip/TZ/w00.pm +lib/Date/Manip/TZ/wet00.pm +lib/Date/Manip/TZ/x00.pm +lib/Date/Manip/TZ/y00.pm +lib/Date/Manip/TZ/z00.pm +lib/Date/Manip/TZ_Base.pm +lib/Date/Manip/TZ_Base.pod +lib/Date/Manip/TZdata.pm +lib/Date/Manip/TZdata.pod +lib/Date/Manip/Zones.pm +lib/Date/Manip/Zones.pod +LICENSE +Makefile.PL +MANIFEST This list of files +README +README.first +t/.ppo.yaml +t/base._calc_date_ymwd.t +t/base._config.t +t/base._critical_date.t +t/base._fix_year.50.t +t/base._fix_year.c.t +t/base._fix_year.c18.t +t/base._fix_year.c1890.t +t/base.calc_date_date.t +t/base.calc_date_days.t +t/base.calc_date_delta.t +t/base.calc_date_time.t +t/base.calc_time_time.t +t/base.check.t +t/base.cmp.t +t/base.day_of_week.t +t/base.day_of_year.0.t +t/base.day_of_year.1.t +t/base.days_in_month.t +t/base.days_in_year.t +t/base.days_since_1bc.t +t/base.join.t +t/base.leapyear.t +t/base.nth_day_of_week.t +t/base.secs_since_1970.t +t/base.split.t +t/base.week1_day1.t +t/base.week_of_year.0.t +t/base.week_of_year.1.t +t/base.weeks_in_year.t +t/date.calc.data_date_bsemi.t +t/date.calc.date_date_approx.t +t/date.calc.date_date_bapprox.t +t/date.calc.date_date_business.t +t/date.calc.date_date_exact.t +t/date.calc.date_date_semi.t +t/date.calc.date_delta.romanian.t +t/date.calc.date_delta_approx.t +t/date.calc.date_delta_business.0.t +t/date.calc.date_delta_business.1.t +t/date.calc.date_delta_business.2.t +t/date.calc.date_delta_business.3.t +t/date.calc.date_delta_business.4.t +t/date.calc.date_delta_business.french.t +t/date.calc.date_delta_exact.t +t/date.cmp.t +t/date.complete.t +t/date.convert.t +t/date.holiday.0.t +t/date.holiday.1.t +t/date.init_args.t +t/date.is.t +t/date.is_business_day.t +t/date.list_events.0.t +t/date.list_events.1.t +t/date.list_holidays.0.t +t/date.list_holidays.1.t +t/date.list_holidays.2.t +t/date.list_holidays.3.t +t/date.list_holidays.4.t +t/date.nearest_business_day.t +t/date.next.t +t/date.next_business_day.t +t/date.parse.catalan.t +t/date.parse.common.t +t/date.parse.danish.t +t/date.parse.delta.t +t/date.parse.dst.t +t/date.parse.dutch.t +t/date.parse.english.t +t/date.parse.french.t +t/date.parse.holidays.t +t/date.parse.invalid.t +t/date.parse.iso.t +t/date.parse.italian.t +t/date.parse.misc.0.t +t/date.parse.misc.1.t +t/date.parse.mmmyyyy.first.t +t/date.parse.mmmyyyy.last.t +t/date.parse.mmmyyyy.t +t/date.parse.period.t +t/date.parse.polish.t +t/date.parse.portuguese.t +t/date.parse.romanian.t +t/date.parse.russian.cp1251.t +t/date.parse.russian.koi8-r.t +t/date.parse.russian.t +t/date.parse.spanish.t +t/date.parse.swedish.t +t/date.parse.timezone.t +t/date.parse.turkish.t +t/date.parse_date.common.t +t/date.parse_date.iso.t +t/date.parse_date.misc.0.t +t/date.parse_date.misc.1.t +t/date.parse_date.mmmyyyy.first.t +t/date.parse_date.mmmyyyy.last.t +t/date.parse_date.mmmyyyy.t +t/date.parse_format.0.t +t/date.parse_format.1.t +t/date.parse_time.t +t/date.prev.t +t/date.prev_business_day.t +t/date.printf.0.t +t/date.printf.1.t +t/date.secs_since_1970_GMT.0.t +t/date.secs_since_1970_GMT.1.t +t/date.set.0.t +t/date.set.1.t +t/date.set.2.t +t/date.set.3.t +t/date.week_of_year.0.t +t/date.week_of_year.1.t +t/delta.calc.delta_delta_approx.t +t/delta.calc.delta_delta_business.0.t +t/delta.calc.delta_delta_business.1.t +t/delta.calc.delta_delta_exact.t +t/delta.cmp.t +t/delta.convert.t +t/delta.init_args.t +t/delta.is.t +t/delta.parse.fract.t +t/delta.parse.t +t/delta.printf.t +t/delta.set.t +t/delta.type.t +t/delta.value.t +t/dm5.convtz.t +t/dm5.date.t +t/dm5.date_date_0.t +t/dm5.date_date_1.t +t/dm5.date_date_2a.t +t/dm5.date_date_2b.t +t/dm5.date_delta_0.t +t/dm5.date_delta_1.t +t/dm5.date_delta_2a.t +t/dm5.date_delta_2b.t +t/dm5.date_delta_french.t +t/dm5.date_delta_sign.t +t/dm5.date_french.t +t/dm5.date_german.t +t/dm5.date_misc_a.t +t/dm5.date_misc_b.t +t/dm5.date_romanian.t +t/dm5.date_today_0.t +t/dm5.date_today_1.t +t/dm5.delta_a.t +t/dm5.delta_b.t +t/dm5.delta_delta_0.t +t/dm5.delta_delta_1.t +t/dm5.delta_delta_2a.t +t/dm5.delta_delta_2b.t +t/dm5.delta_format.t +t/dm5.delta_romanian.t +t/dm5.events.t +t/dm5.getnext.t +t/dm5.getprev.t +t/dm5.normalize_business.t +t/dm5.nthday.t +t/dm5.recur_0.t +t/dm5.recur_1.t +t/dm5.settime.t +t/dm5.unixdate.t +t/Events.cnf +t/Holidays.1.cnf +t/Holidays.2.cnf +t/Holidays.3.cnf +t/Manip.cnf +t/Manip.cnf.part1 +t/Manip.cnf.part2 +t/Manip5.cnf +t/New_Years.1.cnf +t/New_Years.2.cnf +t/New_Years.3.cnf +t/New_Years.4.cnf +t/obj.t +t/OldEvents.cnf +t/orig.convtz.t +t/orig.date_isholiday.t +t/orig.datecalc.date_date.t +t/orig.datecalc.date_delta.0.t +t/orig.datecalc.date_delta.1.t +t/orig.delta_format.t +t/orig.eventslist.t +t/orig.getnext.t +t/orig.getprev.t +t/orig.nthdayofyear.t +t/orig.parsedatedelta.t +t/orig.parsedateformat.t +t/orig.parsedatestring.t +t/orig.parserecur.t +t/orig.settime.t +t/orig.unixdate.t +t/pod.t +t/pod_coverage.ign +t/pod_coverage.t +t/recur.dates.0.t +t/recur.dates.1.t +t/recur.dates.2.t +t/recur.dates.3.t +t/recur.frequency.t +t/recur.init_args.t +t/recur.is.t +t/recur.nth.t +t/runtests +t/runtests.bat +t/tz.all_periods.t +t/tz.convert.t +t/tz.convert_from_gmt.t +t/tz.convert_to_gmt.t +t/tz.date_period.t +t/tz.define_abbrev.t +t/tz.define_alias.t +t/tz.define_offset.t +t/tz.periods.t +t/tz.zone.t +t/tzdata._ruleinfo.t +t/tzdata._zoneinfo.t +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff --git a/META.json b/META.json new file mode 100644 index 0000000..e5761a5 --- /dev/null +++ b/META.json @@ -0,0 +1,3546 @@ +{ + "abstract" : "Date manipulation routines", + "author" : [ + "Sullivan Beck (sbeck@cpan.org)" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 2.150010", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : 2 + }, + "name" : "Date-Manip", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "6.67_01" + } + }, + "runtime" : { + "requires" : { + "Carp" : "0", + "Cwd" : "0", + "Data::Dumper" : "0", + "Encode" : "0", + "File::Find" : "0", + "File::Spec" : "0", + "IO::File" : "0", + "Storable" : "0", + "perl" : "5.006", + "utf8" : "0" + } + }, + "test" : { + "requires" : { + "Test::Inter" : "0", + "Test::More" : "0" + } + } + }, + "provides" : { + "Date::Manip" : { + "file" : "Manip.pm", + "version" : "6.60" + }, + "Date::Manip::Base" : { + "file" : "Base.pm", + "version" : "6.60" + }, + "Date::Manip::DM5" : { + "file" : "DM5.pm", + "version" : "6.60" + }, + "Date::Manip::DM5abbrevs" : { + "file" : "DM5abbrevs.pm", + "version" : "6.60" + }, + "Date::Manip::DM6" : { + "file" : "DM6.pm", + "version" : "6.60" + }, + "Date::Manip::Date" : { + "file" : "Date.pm", + "version" : "6.60" + }, + "Date::Manip::Delta" : { + "file" : "Delta.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::catalan" : { + "file" : "catalan.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::danish" : { + "file" : "danish.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::dutch" : { + "file" : "dutch.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::english" : { + "file" : "english.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::finnish" : { + "file" : "finnish.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::french" : { + "file" : "french.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::german" : { + "file" : "german.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::index" : { + "file" : "index.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::italian" : { + "file" : "italian.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::norwegian" : { + "file" : "norwegian.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::polish" : { + "file" : "polish.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::portugue" : { + "file" : "portugue.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::romanian" : { + "file" : "romanian.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::russian" : { + "file" : "russian.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::spanish" : { + "file" : "spanish.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::swedish" : { + "file" : "swedish.pm", + "version" : "6.60" + }, + "Date::Manip::Lang::turkish" : { + "file" : "turkish.pm", + "version" : "6.60" + }, + "Date::Manip::Obj" : { + "file" : "Obj.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off000" : { + "file" : "off000.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off001" : { + "file" : "off001.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off002" : { + "file" : "off002.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off003" : { + "file" : "off003.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off004" : { + "file" : "off004.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off005" : { + "file" : "off005.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off006" : { + "file" : "off006.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off007" : { + "file" : "off007.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off008" : { + "file" : "off008.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off009" : { + "file" : "off009.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off010" : { + "file" : "off010.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off011" : { + "file" : "off011.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off012" : { + "file" : "off012.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off013" : { + "file" : "off013.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off014" : { + "file" : "off014.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off015" : { + "file" : "off015.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off016" : { + "file" : "off016.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off017" : { + "file" : "off017.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off018" : { + "file" : "off018.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off019" : { + "file" : "off019.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off020" : { + "file" : "off020.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off021" : { + "file" : "off021.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off022" : { + "file" : "off022.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off023" : { + "file" : "off023.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off024" : { + "file" : "off024.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off025" : { + "file" : "off025.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off026" : { + "file" : "off026.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off027" : { + "file" : "off027.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off028" : { + "file" : "off028.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off029" : { + "file" : "off029.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off030" : { + "file" : "off030.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off031" : { + "file" : "off031.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off032" : { + "file" : "off032.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off033" : { + "file" : "off033.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off034" : { + "file" : "off034.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off035" : { + "file" : "off035.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off036" : { + "file" : "off036.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off037" : { + "file" : "off037.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off038" : { + "file" : "off038.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off039" : { + "file" : "off039.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off040" : { + "file" : "off040.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off041" : { + "file" : "off041.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off042" : { + "file" : "off042.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off043" : { + "file" : "off043.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off044" : { + "file" : "off044.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off045" : { + "file" : "off045.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off046" : { + "file" : "off046.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off047" : { + "file" : "off047.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off048" : { + "file" : "off048.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off049" : { + "file" : "off049.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off050" : { + "file" : "off050.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off051" : { + "file" : "off051.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off052" : { + "file" : "off052.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off053" : { + "file" : "off053.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off054" : { + "file" : "off054.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off055" : { + "file" : "off055.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off056" : { + "file" : "off056.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off057" : { + "file" : "off057.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off058" : { + "file" : "off058.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off059" : { + "file" : "off059.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off060" : { + "file" : "off060.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off061" : { + "file" : "off061.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off062" : { + "file" : "off062.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off063" : { + "file" : "off063.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off064" : { + "file" : "off064.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off065" : { + "file" : "off065.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off066" : { + "file" : "off066.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off067" : { + "file" : "off067.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off068" : { + "file" : "off068.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off069" : { + "file" : "off069.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off070" : { + "file" : "off070.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off071" : { + "file" : "off071.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off072" : { + "file" : "off072.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off073" : { + "file" : "off073.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off074" : { + "file" : "off074.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off075" : { + "file" : "off075.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off076" : { + "file" : "off076.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off077" : { + "file" : "off077.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off078" : { + "file" : "off078.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off079" : { + "file" : "off079.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off080" : { + "file" : "off080.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off081" : { + "file" : "off081.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off082" : { + "file" : "off082.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off083" : { + "file" : "off083.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off084" : { + "file" : "off084.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off085" : { + "file" : "off085.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off086" : { + "file" : "off086.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off087" : { + "file" : "off087.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off088" : { + "file" : "off088.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off089" : { + "file" : "off089.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off090" : { + "file" : "off090.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off091" : { + "file" : "off091.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off092" : { + "file" : "off092.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off093" : { + "file" : "off093.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off094" : { + "file" : "off094.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off095" : { + "file" : "off095.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off096" : { + "file" : "off096.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off097" : { + "file" : "off097.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off098" : { + "file" : "off098.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off099" : { + "file" : "off099.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off100" : { + "file" : "off100.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off101" : { + "file" : "off101.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off102" : { + "file" : "off102.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off103" : { + "file" : "off103.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off104" : { + "file" : "off104.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off105" : { + "file" : "off105.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off106" : { + "file" : "off106.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off107" : { + "file" : "off107.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off108" : { + "file" : "off108.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off109" : { + "file" : "off109.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off110" : { + "file" : "off110.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off111" : { + "file" : "off111.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off112" : { + "file" : "off112.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off113" : { + "file" : "off113.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off114" : { + "file" : "off114.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off115" : { + "file" : "off115.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off116" : { + "file" : "off116.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off117" : { + "file" : "off117.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off118" : { + "file" : "off118.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off119" : { + "file" : "off119.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off120" : { + "file" : "off120.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off121" : { + "file" : "off121.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off122" : { + "file" : "off122.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off123" : { + "file" : "off123.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off124" : { + "file" : "off124.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off125" : { + "file" : "off125.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off126" : { + "file" : "off126.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off127" : { + "file" : "off127.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off128" : { + "file" : "off128.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off129" : { + "file" : "off129.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off130" : { + "file" : "off130.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off131" : { + "file" : "off131.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off132" : { + "file" : "off132.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off133" : { + "file" : "off133.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off134" : { + "file" : "off134.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off135" : { + "file" : "off135.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off136" : { + "file" : "off136.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off137" : { + "file" : "off137.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off138" : { + "file" : "off138.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off139" : { + "file" : "off139.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off140" : { + "file" : "off140.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off141" : { + "file" : "off141.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off142" : { + "file" : "off142.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off143" : { + "file" : "off143.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off144" : { + "file" : "off144.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off145" : { + "file" : "off145.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off146" : { + "file" : "off146.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off147" : { + "file" : "off147.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off148" : { + "file" : "off148.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off149" : { + "file" : "off149.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off150" : { + "file" : "off150.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off151" : { + "file" : "off151.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off152" : { + "file" : "off152.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off153" : { + "file" : "off153.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off154" : { + "file" : "off154.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off155" : { + "file" : "off155.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off156" : { + "file" : "off156.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off157" : { + "file" : "off157.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off158" : { + "file" : "off158.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off159" : { + "file" : "off159.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off160" : { + "file" : "off160.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off161" : { + "file" : "off161.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off162" : { + "file" : "off162.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off163" : { + "file" : "off163.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off164" : { + "file" : "off164.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off165" : { + "file" : "off165.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off166" : { + "file" : "off166.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off167" : { + "file" : "off167.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off168" : { + "file" : "off168.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off169" : { + "file" : "off169.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off170" : { + "file" : "off170.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off171" : { + "file" : "off171.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off172" : { + "file" : "off172.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off173" : { + "file" : "off173.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off174" : { + "file" : "off174.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off175" : { + "file" : "off175.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off176" : { + "file" : "off176.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off177" : { + "file" : "off177.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off178" : { + "file" : "off178.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off179" : { + "file" : "off179.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off180" : { + "file" : "off180.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off181" : { + "file" : "off181.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off182" : { + "file" : "off182.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off183" : { + "file" : "off183.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off184" : { + "file" : "off184.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off185" : { + "file" : "off185.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off186" : { + "file" : "off186.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off187" : { + "file" : "off187.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off188" : { + "file" : "off188.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off189" : { + "file" : "off189.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off190" : { + "file" : "off190.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off191" : { + "file" : "off191.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off192" : { + "file" : "off192.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off193" : { + "file" : "off193.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off194" : { + "file" : "off194.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off195" : { + "file" : "off195.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off196" : { + "file" : "off196.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off197" : { + "file" : "off197.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off198" : { + "file" : "off198.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off199" : { + "file" : "off199.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off200" : { + "file" : "off200.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off201" : { + "file" : "off201.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off202" : { + "file" : "off202.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off203" : { + "file" : "off203.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off204" : { + "file" : "off204.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off205" : { + "file" : "off205.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off206" : { + "file" : "off206.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off207" : { + "file" : "off207.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off208" : { + "file" : "off208.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off209" : { + "file" : "off209.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off210" : { + "file" : "off210.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off211" : { + "file" : "off211.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off212" : { + "file" : "off212.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off213" : { + "file" : "off213.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off214" : { + "file" : "off214.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off215" : { + "file" : "off215.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off216" : { + "file" : "off216.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off217" : { + "file" : "off217.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off218" : { + "file" : "off218.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off219" : { + "file" : "off219.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off220" : { + "file" : "off220.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off221" : { + "file" : "off221.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off222" : { + "file" : "off222.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off223" : { + "file" : "off223.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off224" : { + "file" : "off224.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off225" : { + "file" : "off225.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off226" : { + "file" : "off226.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off227" : { + "file" : "off227.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off228" : { + "file" : "off228.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off229" : { + "file" : "off229.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off230" : { + "file" : "off230.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off231" : { + "file" : "off231.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off232" : { + "file" : "off232.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off233" : { + "file" : "off233.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off234" : { + "file" : "off234.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off235" : { + "file" : "off235.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off236" : { + "file" : "off236.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off237" : { + "file" : "off237.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off238" : { + "file" : "off238.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off239" : { + "file" : "off239.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off240" : { + "file" : "off240.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off241" : { + "file" : "off241.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off242" : { + "file" : "off242.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off243" : { + "file" : "off243.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off244" : { + "file" : "off244.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off245" : { + "file" : "off245.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off246" : { + "file" : "off246.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off247" : { + "file" : "off247.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off248" : { + "file" : "off248.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off249" : { + "file" : "off249.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off250" : { + "file" : "off250.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off251" : { + "file" : "off251.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off252" : { + "file" : "off252.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off253" : { + "file" : "off253.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off254" : { + "file" : "off254.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off255" : { + "file" : "off255.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off256" : { + "file" : "off256.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off257" : { + "file" : "off257.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off258" : { + "file" : "off258.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off259" : { + "file" : "off259.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off260" : { + "file" : "off260.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off261" : { + "file" : "off261.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off262" : { + "file" : "off262.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off263" : { + "file" : "off263.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off264" : { + "file" : "off264.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off265" : { + "file" : "off265.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off266" : { + "file" : "off266.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off267" : { + "file" : "off267.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off268" : { + "file" : "off268.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off269" : { + "file" : "off269.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off270" : { + "file" : "off270.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off271" : { + "file" : "off271.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off272" : { + "file" : "off272.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off273" : { + "file" : "off273.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off274" : { + "file" : "off274.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off275" : { + "file" : "off275.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off276" : { + "file" : "off276.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off277" : { + "file" : "off277.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off278" : { + "file" : "off278.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off279" : { + "file" : "off279.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off280" : { + "file" : "off280.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off281" : { + "file" : "off281.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off282" : { + "file" : "off282.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off283" : { + "file" : "off283.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off284" : { + "file" : "off284.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off285" : { + "file" : "off285.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off286" : { + "file" : "off286.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off287" : { + "file" : "off287.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off288" : { + "file" : "off288.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off289" : { + "file" : "off289.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off290" : { + "file" : "off290.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off291" : { + "file" : "off291.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off292" : { + "file" : "off292.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off293" : { + "file" : "off293.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off294" : { + "file" : "off294.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off295" : { + "file" : "off295.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off296" : { + "file" : "off296.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off297" : { + "file" : "off297.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off298" : { + "file" : "off298.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off299" : { + "file" : "off299.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off300" : { + "file" : "off300.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off301" : { + "file" : "off301.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off302" : { + "file" : "off302.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off303" : { + "file" : "off303.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off304" : { + "file" : "off304.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off305" : { + "file" : "off305.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off306" : { + "file" : "off306.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off307" : { + "file" : "off307.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off308" : { + "file" : "off308.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off309" : { + "file" : "off309.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off310" : { + "file" : "off310.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off311" : { + "file" : "off311.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off312" : { + "file" : "off312.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off313" : { + "file" : "off313.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off314" : { + "file" : "off314.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off315" : { + "file" : "off315.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off316" : { + "file" : "off316.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off317" : { + "file" : "off317.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off318" : { + "file" : "off318.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off319" : { + "file" : "off319.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off320" : { + "file" : "off320.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off321" : { + "file" : "off321.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off322" : { + "file" : "off322.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off323" : { + "file" : "off323.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off324" : { + "file" : "off324.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off325" : { + "file" : "off325.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off326" : { + "file" : "off326.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off327" : { + "file" : "off327.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off328" : { + "file" : "off328.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off329" : { + "file" : "off329.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off330" : { + "file" : "off330.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off331" : { + "file" : "off331.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off332" : { + "file" : "off332.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off333" : { + "file" : "off333.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off334" : { + "file" : "off334.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off335" : { + "file" : "off335.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off336" : { + "file" : "off336.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off337" : { + "file" : "off337.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off338" : { + "file" : "off338.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off339" : { + "file" : "off339.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off340" : { + "file" : "off340.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off341" : { + "file" : "off341.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off342" : { + "file" : "off342.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off343" : { + "file" : "off343.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off344" : { + "file" : "off344.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off345" : { + "file" : "off345.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off346" : { + "file" : "off346.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off347" : { + "file" : "off347.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off348" : { + "file" : "off348.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off349" : { + "file" : "off349.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off350" : { + "file" : "off350.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off351" : { + "file" : "off351.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off352" : { + "file" : "off352.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off353" : { + "file" : "off353.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off354" : { + "file" : "off354.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off355" : { + "file" : "off355.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off356" : { + "file" : "off356.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off357" : { + "file" : "off357.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off358" : { + "file" : "off358.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off359" : { + "file" : "off359.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off360" : { + "file" : "off360.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off361" : { + "file" : "off361.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off362" : { + "file" : "off362.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off363" : { + "file" : "off363.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off364" : { + "file" : "off364.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off365" : { + "file" : "off365.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off366" : { + "file" : "off366.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off367" : { + "file" : "off367.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off368" : { + "file" : "off368.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off369" : { + "file" : "off369.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off370" : { + "file" : "off370.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off371" : { + "file" : "off371.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off372" : { + "file" : "off372.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off373" : { + "file" : "off373.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off374" : { + "file" : "off374.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off375" : { + "file" : "off375.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off376" : { + "file" : "off376.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off377" : { + "file" : "off377.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off378" : { + "file" : "off378.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off379" : { + "file" : "off379.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off380" : { + "file" : "off380.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off381" : { + "file" : "off381.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off382" : { + "file" : "off382.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off383" : { + "file" : "off383.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off384" : { + "file" : "off384.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off385" : { + "file" : "off385.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off386" : { + "file" : "off386.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off387" : { + "file" : "off387.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off388" : { + "file" : "off388.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off389" : { + "file" : "off389.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off390" : { + "file" : "off390.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off391" : { + "file" : "off391.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off392" : { + "file" : "off392.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off393" : { + "file" : "off393.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off394" : { + "file" : "off394.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off395" : { + "file" : "off395.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off396" : { + "file" : "off396.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off397" : { + "file" : "off397.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off398" : { + "file" : "off398.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off399" : { + "file" : "off399.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off400" : { + "file" : "off400.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off401" : { + "file" : "off401.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off402" : { + "file" : "off402.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off403" : { + "file" : "off403.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off404" : { + "file" : "off404.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off405" : { + "file" : "off405.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off406" : { + "file" : "off406.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off407" : { + "file" : "off407.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off408" : { + "file" : "off408.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off409" : { + "file" : "off409.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off410" : { + "file" : "off410.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off411" : { + "file" : "off411.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off412" : { + "file" : "off412.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off413" : { + "file" : "off413.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off414" : { + "file" : "off414.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off415" : { + "file" : "off415.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off416" : { + "file" : "off416.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off417" : { + "file" : "off417.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off418" : { + "file" : "off418.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off419" : { + "file" : "off419.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off420" : { + "file" : "off420.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off421" : { + "file" : "off421.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off422" : { + "file" : "off422.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off423" : { + "file" : "off423.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off424" : { + "file" : "off424.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off425" : { + "file" : "off425.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off426" : { + "file" : "off426.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off427" : { + "file" : "off427.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off428" : { + "file" : "off428.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off429" : { + "file" : "off429.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off430" : { + "file" : "off430.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off431" : { + "file" : "off431.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off432" : { + "file" : "off432.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off433" : { + "file" : "off433.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off434" : { + "file" : "off434.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off435" : { + "file" : "off435.pm", + "version" : "6.60" + }, + "Date::Manip::Offset::off436" : { + "file" : "off436.pm", + "version" : "6.60" + }, + "Date::Manip::Recur" : { + "file" : "Recur.pm", + "version" : "6.60" + }, + "Date::Manip::TZ" : { + "file" : "TZ.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::a00" : { + "file" : "a00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afabid00" : { + "file" : "afabid00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afaccr00" : { + "file" : "afaccr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afalgi00" : { + "file" : "afalgi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afbiss00" : { + "file" : "afbiss00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afcair00" : { + "file" : "afcair00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afcasa00" : { + "file" : "afcasa00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afceut00" : { + "file" : "afceut00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afel_a00" : { + "file" : "afel_a00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afjoha00" : { + "file" : "afjoha00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afkhar00" : { + "file" : "afkhar00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aflago00" : { + "file" : "aflago00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afmapu00" : { + "file" : "afmapu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afmonr00" : { + "file" : "afmonr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afnair00" : { + "file" : "afnair00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afndja00" : { + "file" : "afndja00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aftrip00" : { + "file" : "aftrip00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aftuni00" : { + "file" : "aftuni00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::afwind00" : { + "file" : "afwind00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amadak00" : { + "file" : "amadak00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amanch00" : { + "file" : "amanch00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amarag00" : { + "file" : "amarag00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amasun00" : { + "file" : "amasun00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amatik00" : { + "file" : "amatik00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambahi00" : { + "file" : "ambahi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambahi01" : { + "file" : "ambahi01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambarb00" : { + "file" : "ambarb00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambele00" : { + "file" : "ambele00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambeli00" : { + "file" : "ambeli00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambeul00" : { + "file" : "ambeul00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amblan00" : { + "file" : "amblan00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amboa_00" : { + "file" : "amboa_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambogo00" : { + "file" : "ambogo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambois00" : { + "file" : "ambois00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ambuen00" : { + "file" : "ambuen00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcamb00" : { + "file" : "amcamb00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcamp00" : { + "file" : "amcamp00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcanc00" : { + "file" : "amcanc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcara00" : { + "file" : "amcara00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcata00" : { + "file" : "amcata00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcaye00" : { + "file" : "amcaye00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcent00" : { + "file" : "amcent00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amchic00" : { + "file" : "amchic00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amchih00" : { + "file" : "amchih00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcord00" : { + "file" : "amcord00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcost00" : { + "file" : "amcost00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcres00" : { + "file" : "amcres00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcuia00" : { + "file" : "amcuia00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amcura00" : { + "file" : "amcura00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amdanm00" : { + "file" : "amdanm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amdaws00" : { + "file" : "amdaws00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amdaws01" : { + "file" : "amdaws01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amdenv00" : { + "file" : "amdenv00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amdetr00" : { + "file" : "amdetr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amedmo00" : { + "file" : "amedmo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ameiru00" : { + "file" : "ameiru00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amel_s00" : { + "file" : "amel_s00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amfort00" : { + "file" : "amfort00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amfort01" : { + "file" : "amfort01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amglac00" : { + "file" : "amglac00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amgodt00" : { + "file" : "amgodt00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amgoos00" : { + "file" : "amgoos00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amgran00" : { + "file" : "amgran00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amguat00" : { + "file" : "amguat00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amguay00" : { + "file" : "amguay00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amguya00" : { + "file" : "amguya00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amhali00" : { + "file" : "amhali00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amhava00" : { + "file" : "amhava00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amherm00" : { + "file" : "amherm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amindi00" : { + "file" : "amindi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aminuv00" : { + "file" : "aminuv00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amiqal00" : { + "file" : "amiqal00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amjama00" : { + "file" : "amjama00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amjuju00" : { + "file" : "amjuju00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amjune00" : { + "file" : "amjune00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amknox00" : { + "file" : "amknox00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amla_p00" : { + "file" : "amla_p00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amla_r00" : { + "file" : "amla_r00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amlima00" : { + "file" : "amlima00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amlos_00" : { + "file" : "amlos_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amloui00" : { + "file" : "amloui00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammace00" : { + "file" : "ammace00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammana00" : { + "file" : "ammana00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammana01" : { + "file" : "ammana01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammare00" : { + "file" : "ammare00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammart00" : { + "file" : "ammart00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammata00" : { + "file" : "ammata00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammaza00" : { + "file" : "ammaza00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammend00" : { + "file" : "ammend00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammeno00" : { + "file" : "ammeno00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammeri00" : { + "file" : "ammeri00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammetl00" : { + "file" : "ammetl00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammexi00" : { + "file" : "ammexi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammiqu00" : { + "file" : "ammiqu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammonc00" : { + "file" : "ammonc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammont00" : { + "file" : "ammont00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammont01" : { + "file" : "ammont01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ammont02" : { + "file" : "ammont02.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnass00" : { + "file" : "amnass00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnew_00" : { + "file" : "amnew_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnew_01" : { + "file" : "amnew_01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnipi00" : { + "file" : "amnipi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnome00" : { + "file" : "amnome00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amnoro00" : { + "file" : "amnoro00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amojin00" : { + "file" : "amojin00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampana00" : { + "file" : "ampana00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampang00" : { + "file" : "ampang00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampara00" : { + "file" : "ampara00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampete00" : { + "file" : "ampete00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amphoe00" : { + "file" : "amphoe00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amport00" : { + "file" : "amport00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amport01" : { + "file" : "amport01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amport02" : { + "file" : "amport02.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampuer00" : { + "file" : "ampuer00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ampunt00" : { + "file" : "ampunt00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amrain00" : { + "file" : "amrain00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amrank00" : { + "file" : "amrank00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amreci00" : { + "file" : "amreci00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amregi00" : { + "file" : "amregi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amreso00" : { + "file" : "amreso00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amrio_00" : { + "file" : "amrio_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amrio_01" : { + "file" : "amrio_01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsalt00" : { + "file" : "amsalt00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsan_00" : { + "file" : "amsan_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsan_01" : { + "file" : "amsan_01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsant00" : { + "file" : "amsant00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsant01" : { + "file" : "amsant01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsant02" : { + "file" : "amsant02.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsao_00" : { + "file" : "amsao_00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amscor00" : { + "file" : "amscor00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amsitk00" : { + "file" : "amsitk00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amst_j00" : { + "file" : "amst_j00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amswif00" : { + "file" : "amswif00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amtegu00" : { + "file" : "amtegu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amtell00" : { + "file" : "amtell00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amthul00" : { + "file" : "amthul00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amthun00" : { + "file" : "amthun00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amtiju00" : { + "file" : "amtiju00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amtoro00" : { + "file" : "amtoro00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amtucu00" : { + "file" : "amtucu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amushu00" : { + "file" : "amushu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amvanc00" : { + "file" : "amvanc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amveva00" : { + "file" : "amveva00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amvinc00" : { + "file" : "amvinc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amwhit00" : { + "file" : "amwhit00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amwina00" : { + "file" : "amwina00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amwinn00" : { + "file" : "amwinn00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amyaku00" : { + "file" : "amyaku00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::amyell00" : { + "file" : "amyell00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ancase00" : { + "file" : "ancase00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::andavi00" : { + "file" : "andavi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::andumo00" : { + "file" : "andumo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::anmacq00" : { + "file" : "anmacq00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::anmaws00" : { + "file" : "anmaws00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::anpalm00" : { + "file" : "anpalm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::anroth00" : { + "file" : "anroth00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ansyow00" : { + "file" : "ansyow00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::antrol00" : { + "file" : "antrol00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::anvost00" : { + "file" : "anvost00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asalma00" : { + "file" : "asalma00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asamma00" : { + "file" : "asamma00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asanad00" : { + "file" : "asanad00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asaqta00" : { + "file" : "asaqta00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asaqto00" : { + "file" : "asaqto00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asashg00" : { + "file" : "asashg00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asatyr00" : { + "file" : "asatyr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbagh00" : { + "file" : "asbagh00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbaku00" : { + "file" : "asbaku00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbang00" : { + "file" : "asbang00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbarn00" : { + "file" : "asbarn00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbeir00" : { + "file" : "asbeir00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbish00" : { + "file" : "asbish00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asbrun00" : { + "file" : "asbrun00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aschit00" : { + "file" : "aschit00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aschoi00" : { + "file" : "aschoi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ascolo00" : { + "file" : "ascolo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asdama00" : { + "file" : "asdama00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asdhak00" : { + "file" : "asdhak00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asdili00" : { + "file" : "asdili00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asduba00" : { + "file" : "asduba00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asdush00" : { + "file" : "asdush00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asfama00" : { + "file" : "asfama00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asgaza00" : { + "file" : "asgaza00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ashebr00" : { + "file" : "ashebr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asho_c00" : { + "file" : "asho_c00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ashong00" : { + "file" : "ashong00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ashovd00" : { + "file" : "ashovd00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asirku00" : { + "file" : "asirku00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asjaka00" : { + "file" : "asjaka00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asjaya00" : { + "file" : "asjaya00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asjeru00" : { + "file" : "asjeru00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askabu00" : { + "file" : "askabu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askamc00" : { + "file" : "askamc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askara00" : { + "file" : "askara00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askath00" : { + "file" : "askath00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askhan00" : { + "file" : "askhan00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askolk00" : { + "file" : "askolk00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askras00" : { + "file" : "askras00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askual00" : { + "file" : "askual00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::askuch00" : { + "file" : "askuch00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asmaca00" : { + "file" : "asmaca00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asmaga00" : { + "file" : "asmaga00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asmaka00" : { + "file" : "asmaka00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asmani00" : { + "file" : "asmani00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asnico00" : { + "file" : "asnico00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asnovo00" : { + "file" : "asnovo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asnovo01" : { + "file" : "asnovo01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asomsk00" : { + "file" : "asomsk00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asoral00" : { + "file" : "asoral00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aspont00" : { + "file" : "aspont00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aspyon00" : { + "file" : "aspyon00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asqata00" : { + "file" : "asqata00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asqyzy00" : { + "file" : "asqyzy00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asriya00" : { + "file" : "asriya00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::assakh00" : { + "file" : "assakh00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::assama00" : { + "file" : "assama00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asseou00" : { + "file" : "asseou00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asshan00" : { + "file" : "asshan00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::assing00" : { + "file" : "assing00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::assred00" : { + "file" : "assred00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astaip00" : { + "file" : "astaip00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astash00" : { + "file" : "astash00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astbil00" : { + "file" : "astbil00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astehr00" : { + "file" : "astehr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asthim00" : { + "file" : "asthim00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astoky00" : { + "file" : "astoky00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::astoms00" : { + "file" : "astoms00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asulaa00" : { + "file" : "asulaa00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asurum00" : { + "file" : "asurum00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asustm00" : { + "file" : "asustm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asvlad00" : { + "file" : "asvlad00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asyaku00" : { + "file" : "asyaku00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asyang00" : { + "file" : "asyang00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asyeka00" : { + "file" : "asyeka00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::asyere00" : { + "file" : "asyere00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atazor00" : { + "file" : "atazor00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atberm00" : { + "file" : "atberm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atcana00" : { + "file" : "atcana00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atcape00" : { + "file" : "atcape00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atfaro00" : { + "file" : "atfaro00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atmade00" : { + "file" : "atmade00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atreyk00" : { + "file" : "atreyk00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atsout00" : { + "file" : "atsout00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::atstan00" : { + "file" : "atstan00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::auadel00" : { + "file" : "auadel00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aubris00" : { + "file" : "aubris00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aubrok00" : { + "file" : "aubrok00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aucurr00" : { + "file" : "aucurr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::audarw00" : { + "file" : "audarw00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aueucl00" : { + "file" : "aueucl00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::auhoba00" : { + "file" : "auhoba00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aulind00" : { + "file" : "aulind00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aulord00" : { + "file" : "aulord00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aumelb00" : { + "file" : "aumelb00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::aupert00" : { + "file" : "aupert00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ausydn00" : { + "file" : "ausydn00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::b00" : { + "file" : "b00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::c00" : { + "file" : "c00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::cet00" : { + "file" : "cet00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::d00" : { + "file" : "d00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::e00" : { + "file" : "e00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eet00" : { + "file" : "eet00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmt00" : { + "file" : "etgmt00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm00" : { + "file" : "etgmtm00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm01" : { + "file" : "etgmtm01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm02" : { + "file" : "etgmtm02.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm03" : { + "file" : "etgmtm03.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm04" : { + "file" : "etgmtm04.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm05" : { + "file" : "etgmtm05.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm06" : { + "file" : "etgmtm06.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm07" : { + "file" : "etgmtm07.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm08" : { + "file" : "etgmtm08.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm09" : { + "file" : "etgmtm09.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm10" : { + "file" : "etgmtm10.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm11" : { + "file" : "etgmtm11.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm12" : { + "file" : "etgmtm12.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtm13" : { + "file" : "etgmtm13.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp00" : { + "file" : "etgmtp00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp01" : { + "file" : "etgmtp01.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp02" : { + "file" : "etgmtp02.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp03" : { + "file" : "etgmtp03.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp04" : { + "file" : "etgmtp04.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp05" : { + "file" : "etgmtp05.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp06" : { + "file" : "etgmtp06.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp07" : { + "file" : "etgmtp07.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp08" : { + "file" : "etgmtp08.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp09" : { + "file" : "etgmtp09.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp10" : { + "file" : "etgmtp10.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::etgmtp11" : { + "file" : "etgmtp11.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euamst00" : { + "file" : "euamst00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euando00" : { + "file" : "euando00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euastr00" : { + "file" : "euastr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euathe00" : { + "file" : "euathe00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eubelg00" : { + "file" : "eubelg00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euberl00" : { + "file" : "euberl00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eubrus00" : { + "file" : "eubrus00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eubuch00" : { + "file" : "eubuch00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eubuda00" : { + "file" : "eubuda00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euchis00" : { + "file" : "euchis00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eucope00" : { + "file" : "eucope00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eudubl00" : { + "file" : "eudubl00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eugibr00" : { + "file" : "eugibr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euhels00" : { + "file" : "euhels00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euista00" : { + "file" : "euista00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eukali00" : { + "file" : "eukali00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eukiev00" : { + "file" : "eukiev00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eukiro00" : { + "file" : "eukiro00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eulisb00" : { + "file" : "eulisb00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eulond00" : { + "file" : "eulond00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euluxe00" : { + "file" : "euluxe00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eumadr00" : { + "file" : "eumadr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eumalt00" : { + "file" : "eumalt00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eumins00" : { + "file" : "eumins00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eumona00" : { + "file" : "eumona00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eumosc00" : { + "file" : "eumosc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euoslo00" : { + "file" : "euoslo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eupari00" : { + "file" : "eupari00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euprag00" : { + "file" : "euprag00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euriga00" : { + "file" : "euriga00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eurome00" : { + "file" : "eurome00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eusama00" : { + "file" : "eusama00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eusara00" : { + "file" : "eusara00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eusimf00" : { + "file" : "eusimf00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eusofi00" : { + "file" : "eusofi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eustoc00" : { + "file" : "eustoc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eutall00" : { + "file" : "eutall00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::eutira00" : { + "file" : "eutira00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euulya00" : { + "file" : "euulya00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euuzhg00" : { + "file" : "euuzhg00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euvien00" : { + "file" : "euvien00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euviln00" : { + "file" : "euviln00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euvolg00" : { + "file" : "euvolg00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euwars00" : { + "file" : "euwars00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euzapo00" : { + "file" : "euzapo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::euzuri00" : { + "file" : "euzuri00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::f00" : { + "file" : "f00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::g00" : { + "file" : "g00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::h00" : { + "file" : "h00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::i00" : { + "file" : "i00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inchag00" : { + "file" : "inchag00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inchri00" : { + "file" : "inchri00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::incoco00" : { + "file" : "incoco00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inkerg00" : { + "file" : "inkerg00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inmahe00" : { + "file" : "inmahe00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inmald00" : { + "file" : "inmald00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inmaur00" : { + "file" : "inmaur00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::inreun00" : { + "file" : "inreun00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::k00" : { + "file" : "k00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::l00" : { + "file" : "l00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::m00" : { + "file" : "m00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::met00" : { + "file" : "met00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::n00" : { + "file" : "n00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::o00" : { + "file" : "o00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::p00" : { + "file" : "p00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paapia00" : { + "file" : "paapia00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paauck00" : { + "file" : "paauck00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paboug00" : { + "file" : "paboug00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pachat00" : { + "file" : "pachat00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pachuu00" : { + "file" : "pachuu00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paeast00" : { + "file" : "paeast00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paefat00" : { + "file" : "paefat00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paende00" : { + "file" : "paende00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pafaka00" : { + "file" : "pafaka00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pafiji00" : { + "file" : "pafiji00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pafuna00" : { + "file" : "pafuna00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pagala00" : { + "file" : "pagala00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pagamb00" : { + "file" : "pagamb00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paguad00" : { + "file" : "paguad00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paguam00" : { + "file" : "paguam00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pahono00" : { + "file" : "pahono00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pakiri00" : { + "file" : "pakiri00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pakosr00" : { + "file" : "pakosr00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pakwaj00" : { + "file" : "pakwaj00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pamaju00" : { + "file" : "pamaju00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pamarq00" : { + "file" : "pamarq00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::panaur00" : { + "file" : "panaur00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paniue00" : { + "file" : "paniue00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::panorf00" : { + "file" : "panorf00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::panoum00" : { + "file" : "panoum00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::papago00" : { + "file" : "papago00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::papala00" : { + "file" : "papala00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::papitc00" : { + "file" : "papitc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::papohn00" : { + "file" : "papohn00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::paport00" : { + "file" : "paport00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pararo00" : { + "file" : "pararo00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::patahi00" : { + "file" : "patahi00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::patara00" : { + "file" : "patara00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::patong00" : { + "file" : "patong00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pawake00" : { + "file" : "pawake00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::pawall00" : { + "file" : "pawall00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::q00" : { + "file" : "q00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::r00" : { + "file" : "r00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::s00" : { + "file" : "s00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::t00" : { + "file" : "t00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::u00" : { + "file" : "u00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::ut00" : { + "file" : "ut00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::utc00" : { + "file" : "utc00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::v00" : { + "file" : "v00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::w00" : { + "file" : "w00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::wet00" : { + "file" : "wet00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::x00" : { + "file" : "x00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::y00" : { + "file" : "y00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ::z00" : { + "file" : "z00.pm", + "version" : "6.60" + }, + "Date::Manip::TZ_Base" : { + "file" : "TZ_Base.pm", + "version" : "6.60" + }, + "Date::Manip::TZdata" : { + "file" : "TZdata.pm", + "version" : "6.60" + }, + "Date::Manip::Zones" : { + "file" : "Zones.pm", + "version" : "6.60" + } + }, + "release_status" : "stable", + "resources" : { + "repository" : { + "type" : "git", + "url" : "git://github.com/SBECK-github/Date-Manip.git", + "web" : "https://github.com/SBECK-github/Date-Manip" + } + }, + "version" : "6.60", + "x_serialization_backend" : "JSON::PP version 2.94" +} diff --git a/META.yml b/META.yml new file mode 100644 index 0000000..929634c --- /dev/null +++ b/META.yml @@ -0,0 +1,2647 @@ +--- +abstract: 'Date manipulation routines' +author: + - 'Sullivan Beck (sbeck@cpan.org)' +build_requires: + ExtUtils::MakeMaker: '0' + Test::Inter: '0' + Test::More: '0' +configure_requires: + ExtUtils::MakeMaker: 6.67_01 +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 2.150010' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: '1.4' +name: Date-Manip +no_index: + directory: + - t + - inc +provides: + Date::Manip: + file: Manip.pm + version: '6.60' + Date::Manip::Base: + file: Base.pm + version: '6.60' + Date::Manip::DM5: + file: DM5.pm + version: '6.60' + Date::Manip::DM5abbrevs: + file: DM5abbrevs.pm + version: '6.60' + Date::Manip::DM6: + file: DM6.pm + version: '6.60' + Date::Manip::Date: + file: Date.pm + version: '6.60' + Date::Manip::Delta: + file: Delta.pm + version: '6.60' + Date::Manip::Lang::catalan: + file: catalan.pm + version: '6.60' + Date::Manip::Lang::danish: + file: danish.pm + version: '6.60' + Date::Manip::Lang::dutch: + file: dutch.pm + version: '6.60' + Date::Manip::Lang::english: + file: english.pm + version: '6.60' + Date::Manip::Lang::finnish: + file: finnish.pm + version: '6.60' + Date::Manip::Lang::french: + file: french.pm + version: '6.60' + Date::Manip::Lang::german: + file: german.pm + version: '6.60' + Date::Manip::Lang::index: + file: index.pm + version: '6.60' + Date::Manip::Lang::italian: + file: italian.pm + version: '6.60' + Date::Manip::Lang::norwegian: + file: norwegian.pm + version: '6.60' + Date::Manip::Lang::polish: + file: polish.pm + version: '6.60' + Date::Manip::Lang::portugue: + file: portugue.pm + version: '6.60' + Date::Manip::Lang::romanian: + file: romanian.pm + version: '6.60' + Date::Manip::Lang::russian: + file: russian.pm + version: '6.60' + Date::Manip::Lang::spanish: + file: spanish.pm + version: '6.60' + Date::Manip::Lang::swedish: + file: swedish.pm + version: '6.60' + Date::Manip::Lang::turkish: + file: turkish.pm + version: '6.60' + Date::Manip::Obj: + file: Obj.pm + version: '6.60' + Date::Manip::Offset::off000: + file: off000.pm + version: '6.60' + Date::Manip::Offset::off001: + file: off001.pm + version: '6.60' + Date::Manip::Offset::off002: + file: off002.pm + version: '6.60' + Date::Manip::Offset::off003: + file: off003.pm + version: '6.60' + Date::Manip::Offset::off004: + file: off004.pm + version: '6.60' + Date::Manip::Offset::off005: + file: off005.pm + version: '6.60' + Date::Manip::Offset::off006: + file: off006.pm + version: '6.60' + Date::Manip::Offset::off007: + file: off007.pm + version: '6.60' + Date::Manip::Offset::off008: + file: off008.pm + version: '6.60' + Date::Manip::Offset::off009: + file: off009.pm + version: '6.60' + Date::Manip::Offset::off010: + file: off010.pm + version: '6.60' + Date::Manip::Offset::off011: + file: off011.pm + version: '6.60' + Date::Manip::Offset::off012: + file: off012.pm + version: '6.60' + Date::Manip::Offset::off013: + file: off013.pm + version: '6.60' + Date::Manip::Offset::off014: + file: off014.pm + version: '6.60' + Date::Manip::Offset::off015: + file: off015.pm + version: '6.60' + Date::Manip::Offset::off016: + file: off016.pm + version: '6.60' + Date::Manip::Offset::off017: + file: off017.pm + version: '6.60' + Date::Manip::Offset::off018: + file: off018.pm + version: '6.60' + Date::Manip::Offset::off019: + file: off019.pm + version: '6.60' + Date::Manip::Offset::off020: + file: off020.pm + version: '6.60' + Date::Manip::Offset::off021: + file: off021.pm + version: '6.60' + Date::Manip::Offset::off022: + file: off022.pm + version: '6.60' + Date::Manip::Offset::off023: + file: off023.pm + version: '6.60' + Date::Manip::Offset::off024: + file: off024.pm + version: '6.60' + Date::Manip::Offset::off025: + file: off025.pm + version: '6.60' + Date::Manip::Offset::off026: + file: off026.pm + version: '6.60' + Date::Manip::Offset::off027: + file: off027.pm + version: '6.60' + Date::Manip::Offset::off028: + file: off028.pm + version: '6.60' + Date::Manip::Offset::off029: + file: off029.pm + version: '6.60' + Date::Manip::Offset::off030: + file: off030.pm + version: '6.60' + Date::Manip::Offset::off031: + file: off031.pm + version: '6.60' + Date::Manip::Offset::off032: + file: off032.pm + version: '6.60' + Date::Manip::Offset::off033: + file: off033.pm + version: '6.60' + Date::Manip::Offset::off034: + file: off034.pm + version: '6.60' + Date::Manip::Offset::off035: + file: off035.pm + version: '6.60' + Date::Manip::Offset::off036: + file: off036.pm + version: '6.60' + Date::Manip::Offset::off037: + file: off037.pm + version: '6.60' + Date::Manip::Offset::off038: + file: off038.pm + version: '6.60' + Date::Manip::Offset::off039: + file: off039.pm + version: '6.60' + Date::Manip::Offset::off040: + file: off040.pm + version: '6.60' + Date::Manip::Offset::off041: + file: off041.pm + version: '6.60' + Date::Manip::Offset::off042: + file: off042.pm + version: '6.60' + Date::Manip::Offset::off043: + file: off043.pm + version: '6.60' + Date::Manip::Offset::off044: + file: off044.pm + version: '6.60' + Date::Manip::Offset::off045: + file: off045.pm + version: '6.60' + Date::Manip::Offset::off046: + file: off046.pm + version: '6.60' + Date::Manip::Offset::off047: + file: off047.pm + version: '6.60' + Date::Manip::Offset::off048: + file: off048.pm + version: '6.60' + Date::Manip::Offset::off049: + file: off049.pm + version: '6.60' + Date::Manip::Offset::off050: + file: off050.pm + version: '6.60' + Date::Manip::Offset::off051: + file: off051.pm + version: '6.60' + Date::Manip::Offset::off052: + file: off052.pm + version: '6.60' + Date::Manip::Offset::off053: + file: off053.pm + version: '6.60' + Date::Manip::Offset::off054: + file: off054.pm + version: '6.60' + Date::Manip::Offset::off055: + file: off055.pm + version: '6.60' + Date::Manip::Offset::off056: + file: off056.pm + version: '6.60' + Date::Manip::Offset::off057: + file: off057.pm + version: '6.60' + Date::Manip::Offset::off058: + file: off058.pm + version: '6.60' + Date::Manip::Offset::off059: + file: off059.pm + version: '6.60' + Date::Manip::Offset::off060: + file: off060.pm + version: '6.60' + Date::Manip::Offset::off061: + file: off061.pm + version: '6.60' + Date::Manip::Offset::off062: + file: off062.pm + version: '6.60' + Date::Manip::Offset::off063: + file: off063.pm + version: '6.60' + Date::Manip::Offset::off064: + file: off064.pm + version: '6.60' + Date::Manip::Offset::off065: + file: off065.pm + version: '6.60' + Date::Manip::Offset::off066: + file: off066.pm + version: '6.60' + Date::Manip::Offset::off067: + file: off067.pm + version: '6.60' + Date::Manip::Offset::off068: + file: off068.pm + version: '6.60' + Date::Manip::Offset::off069: + file: off069.pm + version: '6.60' + Date::Manip::Offset::off070: + file: off070.pm + version: '6.60' + Date::Manip::Offset::off071: + file: off071.pm + version: '6.60' + Date::Manip::Offset::off072: + file: off072.pm + version: '6.60' + Date::Manip::Offset::off073: + file: off073.pm + version: '6.60' + Date::Manip::Offset::off074: + file: off074.pm + version: '6.60' + Date::Manip::Offset::off075: + file: off075.pm + version: '6.60' + Date::Manip::Offset::off076: + file: off076.pm + version: '6.60' + Date::Manip::Offset::off077: + file: off077.pm + version: '6.60' + Date::Manip::Offset::off078: + file: off078.pm + version: '6.60' + Date::Manip::Offset::off079: + file: off079.pm + version: '6.60' + Date::Manip::Offset::off080: + file: off080.pm + version: '6.60' + Date::Manip::Offset::off081: + file: off081.pm + version: '6.60' + Date::Manip::Offset::off082: + file: off082.pm + version: '6.60' + Date::Manip::Offset::off083: + file: off083.pm + version: '6.60' + Date::Manip::Offset::off084: + file: off084.pm + version: '6.60' + Date::Manip::Offset::off085: + file: off085.pm + version: '6.60' + Date::Manip::Offset::off086: + file: off086.pm + version: '6.60' + Date::Manip::Offset::off087: + file: off087.pm + version: '6.60' + Date::Manip::Offset::off088: + file: off088.pm + version: '6.60' + Date::Manip::Offset::off089: + file: off089.pm + version: '6.60' + Date::Manip::Offset::off090: + file: off090.pm + version: '6.60' + Date::Manip::Offset::off091: + file: off091.pm + version: '6.60' + Date::Manip::Offset::off092: + file: off092.pm + version: '6.60' + Date::Manip::Offset::off093: + file: off093.pm + version: '6.60' + Date::Manip::Offset::off094: + file: off094.pm + version: '6.60' + Date::Manip::Offset::off095: + file: off095.pm + version: '6.60' + Date::Manip::Offset::off096: + file: off096.pm + version: '6.60' + Date::Manip::Offset::off097: + file: off097.pm + version: '6.60' + Date::Manip::Offset::off098: + file: off098.pm + version: '6.60' + Date::Manip::Offset::off099: + file: off099.pm + version: '6.60' + Date::Manip::Offset::off100: + file: off100.pm + version: '6.60' + Date::Manip::Offset::off101: + file: off101.pm + version: '6.60' + Date::Manip::Offset::off102: + file: off102.pm + version: '6.60' + Date::Manip::Offset::off103: + file: off103.pm + version: '6.60' + Date::Manip::Offset::off104: + file: off104.pm + version: '6.60' + Date::Manip::Offset::off105: + file: off105.pm + version: '6.60' + Date::Manip::Offset::off106: + file: off106.pm + version: '6.60' + Date::Manip::Offset::off107: + file: off107.pm + version: '6.60' + Date::Manip::Offset::off108: + file: off108.pm + version: '6.60' + Date::Manip::Offset::off109: + file: off109.pm + version: '6.60' + Date::Manip::Offset::off110: + file: off110.pm + version: '6.60' + Date::Manip::Offset::off111: + file: off111.pm + version: '6.60' + Date::Manip::Offset::off112: + file: off112.pm + version: '6.60' + Date::Manip::Offset::off113: + file: off113.pm + version: '6.60' + Date::Manip::Offset::off114: + file: off114.pm + version: '6.60' + Date::Manip::Offset::off115: + file: off115.pm + version: '6.60' + Date::Manip::Offset::off116: + file: off116.pm + version: '6.60' + Date::Manip::Offset::off117: + file: off117.pm + version: '6.60' + Date::Manip::Offset::off118: + file: off118.pm + version: '6.60' + Date::Manip::Offset::off119: + file: off119.pm + version: '6.60' + Date::Manip::Offset::off120: + file: off120.pm + version: '6.60' + Date::Manip::Offset::off121: + file: off121.pm + version: '6.60' + Date::Manip::Offset::off122: + file: off122.pm + version: '6.60' + Date::Manip::Offset::off123: + file: off123.pm + version: '6.60' + Date::Manip::Offset::off124: + file: off124.pm + version: '6.60' + Date::Manip::Offset::off125: + file: off125.pm + version: '6.60' + Date::Manip::Offset::off126: + file: off126.pm + version: '6.60' + Date::Manip::Offset::off127: + file: off127.pm + version: '6.60' + Date::Manip::Offset::off128: + file: off128.pm + version: '6.60' + Date::Manip::Offset::off129: + file: off129.pm + version: '6.60' + Date::Manip::Offset::off130: + file: off130.pm + version: '6.60' + Date::Manip::Offset::off131: + file: off131.pm + version: '6.60' + Date::Manip::Offset::off132: + file: off132.pm + version: '6.60' + Date::Manip::Offset::off133: + file: off133.pm + version: '6.60' + Date::Manip::Offset::off134: + file: off134.pm + version: '6.60' + Date::Manip::Offset::off135: + file: off135.pm + version: '6.60' + Date::Manip::Offset::off136: + file: off136.pm + version: '6.60' + Date::Manip::Offset::off137: + file: off137.pm + version: '6.60' + Date::Manip::Offset::off138: + file: off138.pm + version: '6.60' + Date::Manip::Offset::off139: + file: off139.pm + version: '6.60' + Date::Manip::Offset::off140: + file: off140.pm + version: '6.60' + Date::Manip::Offset::off141: + file: off141.pm + version: '6.60' + Date::Manip::Offset::off142: + file: off142.pm + version: '6.60' + Date::Manip::Offset::off143: + file: off143.pm + version: '6.60' + Date::Manip::Offset::off144: + file: off144.pm + version: '6.60' + Date::Manip::Offset::off145: + file: off145.pm + version: '6.60' + Date::Manip::Offset::off146: + file: off146.pm + version: '6.60' + Date::Manip::Offset::off147: + file: off147.pm + version: '6.60' + Date::Manip::Offset::off148: + file: off148.pm + version: '6.60' + Date::Manip::Offset::off149: + file: off149.pm + version: '6.60' + Date::Manip::Offset::off150: + file: off150.pm + version: '6.60' + Date::Manip::Offset::off151: + file: off151.pm + version: '6.60' + Date::Manip::Offset::off152: + file: off152.pm + version: '6.60' + Date::Manip::Offset::off153: + file: off153.pm + version: '6.60' + Date::Manip::Offset::off154: + file: off154.pm + version: '6.60' + Date::Manip::Offset::off155: + file: off155.pm + version: '6.60' + Date::Manip::Offset::off156: + file: off156.pm + version: '6.60' + Date::Manip::Offset::off157: + file: off157.pm + version: '6.60' + Date::Manip::Offset::off158: + file: off158.pm + version: '6.60' + Date::Manip::Offset::off159: + file: off159.pm + version: '6.60' + Date::Manip::Offset::off160: + file: off160.pm + version: '6.60' + Date::Manip::Offset::off161: + file: off161.pm + version: '6.60' + Date::Manip::Offset::off162: + file: off162.pm + version: '6.60' + Date::Manip::Offset::off163: + file: off163.pm + version: '6.60' + Date::Manip::Offset::off164: + file: off164.pm + version: '6.60' + Date::Manip::Offset::off165: + file: off165.pm + version: '6.60' + Date::Manip::Offset::off166: + file: off166.pm + version: '6.60' + Date::Manip::Offset::off167: + file: off167.pm + version: '6.60' + Date::Manip::Offset::off168: + file: off168.pm + version: '6.60' + Date::Manip::Offset::off169: + file: off169.pm + version: '6.60' + Date::Manip::Offset::off170: + file: off170.pm + version: '6.60' + Date::Manip::Offset::off171: + file: off171.pm + version: '6.60' + Date::Manip::Offset::off172: + file: off172.pm + version: '6.60' + Date::Manip::Offset::off173: + file: off173.pm + version: '6.60' + Date::Manip::Offset::off174: + file: off174.pm + version: '6.60' + Date::Manip::Offset::off175: + file: off175.pm + version: '6.60' + Date::Manip::Offset::off176: + file: off176.pm + version: '6.60' + Date::Manip::Offset::off177: + file: off177.pm + version: '6.60' + Date::Manip::Offset::off178: + file: off178.pm + version: '6.60' + Date::Manip::Offset::off179: + file: off179.pm + version: '6.60' + Date::Manip::Offset::off180: + file: off180.pm + version: '6.60' + Date::Manip::Offset::off181: + file: off181.pm + version: '6.60' + Date::Manip::Offset::off182: + file: off182.pm + version: '6.60' + Date::Manip::Offset::off183: + file: off183.pm + version: '6.60' + Date::Manip::Offset::off184: + file: off184.pm + version: '6.60' + Date::Manip::Offset::off185: + file: off185.pm + version: '6.60' + Date::Manip::Offset::off186: + file: off186.pm + version: '6.60' + Date::Manip::Offset::off187: + file: off187.pm + version: '6.60' + Date::Manip::Offset::off188: + file: off188.pm + version: '6.60' + Date::Manip::Offset::off189: + file: off189.pm + version: '6.60' + Date::Manip::Offset::off190: + file: off190.pm + version: '6.60' + Date::Manip::Offset::off191: + file: off191.pm + version: '6.60' + Date::Manip::Offset::off192: + file: off192.pm + version: '6.60' + Date::Manip::Offset::off193: + file: off193.pm + version: '6.60' + Date::Manip::Offset::off194: + file: off194.pm + version: '6.60' + Date::Manip::Offset::off195: + file: off195.pm + version: '6.60' + Date::Manip::Offset::off196: + file: off196.pm + version: '6.60' + Date::Manip::Offset::off197: + file: off197.pm + version: '6.60' + Date::Manip::Offset::off198: + file: off198.pm + version: '6.60' + Date::Manip::Offset::off199: + file: off199.pm + version: '6.60' + Date::Manip::Offset::off200: + file: off200.pm + version: '6.60' + Date::Manip::Offset::off201: + file: off201.pm + version: '6.60' + Date::Manip::Offset::off202: + file: off202.pm + version: '6.60' + Date::Manip::Offset::off203: + file: off203.pm + version: '6.60' + Date::Manip::Offset::off204: + file: off204.pm + version: '6.60' + Date::Manip::Offset::off205: + file: off205.pm + version: '6.60' + Date::Manip::Offset::off206: + file: off206.pm + version: '6.60' + Date::Manip::Offset::off207: + file: off207.pm + version: '6.60' + Date::Manip::Offset::off208: + file: off208.pm + version: '6.60' + Date::Manip::Offset::off209: + file: off209.pm + version: '6.60' + Date::Manip::Offset::off210: + file: off210.pm + version: '6.60' + Date::Manip::Offset::off211: + file: off211.pm + version: '6.60' + Date::Manip::Offset::off212: + file: off212.pm + version: '6.60' + Date::Manip::Offset::off213: + file: off213.pm + version: '6.60' + Date::Manip::Offset::off214: + file: off214.pm + version: '6.60' + Date::Manip::Offset::off215: + file: off215.pm + version: '6.60' + Date::Manip::Offset::off216: + file: off216.pm + version: '6.60' + Date::Manip::Offset::off217: + file: off217.pm + version: '6.60' + Date::Manip::Offset::off218: + file: off218.pm + version: '6.60' + Date::Manip::Offset::off219: + file: off219.pm + version: '6.60' + Date::Manip::Offset::off220: + file: off220.pm + version: '6.60' + Date::Manip::Offset::off221: + file: off221.pm + version: '6.60' + Date::Manip::Offset::off222: + file: off222.pm + version: '6.60' + Date::Manip::Offset::off223: + file: off223.pm + version: '6.60' + Date::Manip::Offset::off224: + file: off224.pm + version: '6.60' + Date::Manip::Offset::off225: + file: off225.pm + version: '6.60' + Date::Manip::Offset::off226: + file: off226.pm + version: '6.60' + Date::Manip::Offset::off227: + file: off227.pm + version: '6.60' + Date::Manip::Offset::off228: + file: off228.pm + version: '6.60' + Date::Manip::Offset::off229: + file: off229.pm + version: '6.60' + Date::Manip::Offset::off230: + file: off230.pm + version: '6.60' + Date::Manip::Offset::off231: + file: off231.pm + version: '6.60' + Date::Manip::Offset::off232: + file: off232.pm + version: '6.60' + Date::Manip::Offset::off233: + file: off233.pm + version: '6.60' + Date::Manip::Offset::off234: + file: off234.pm + version: '6.60' + Date::Manip::Offset::off235: + file: off235.pm + version: '6.60' + Date::Manip::Offset::off236: + file: off236.pm + version: '6.60' + Date::Manip::Offset::off237: + file: off237.pm + version: '6.60' + Date::Manip::Offset::off238: + file: off238.pm + version: '6.60' + Date::Manip::Offset::off239: + file: off239.pm + version: '6.60' + Date::Manip::Offset::off240: + file: off240.pm + version: '6.60' + Date::Manip::Offset::off241: + file: off241.pm + version: '6.60' + Date::Manip::Offset::off242: + file: off242.pm + version: '6.60' + Date::Manip::Offset::off243: + file: off243.pm + version: '6.60' + Date::Manip::Offset::off244: + file: off244.pm + version: '6.60' + Date::Manip::Offset::off245: + file: off245.pm + version: '6.60' + Date::Manip::Offset::off246: + file: off246.pm + version: '6.60' + Date::Manip::Offset::off247: + file: off247.pm + version: '6.60' + Date::Manip::Offset::off248: + file: off248.pm + version: '6.60' + Date::Manip::Offset::off249: + file: off249.pm + version: '6.60' + Date::Manip::Offset::off250: + file: off250.pm + version: '6.60' + Date::Manip::Offset::off251: + file: off251.pm + version: '6.60' + Date::Manip::Offset::off252: + file: off252.pm + version: '6.60' + Date::Manip::Offset::off253: + file: off253.pm + version: '6.60' + Date::Manip::Offset::off254: + file: off254.pm + version: '6.60' + Date::Manip::Offset::off255: + file: off255.pm + version: '6.60' + Date::Manip::Offset::off256: + file: off256.pm + version: '6.60' + Date::Manip::Offset::off257: + file: off257.pm + version: '6.60' + Date::Manip::Offset::off258: + file: off258.pm + version: '6.60' + Date::Manip::Offset::off259: + file: off259.pm + version: '6.60' + Date::Manip::Offset::off260: + file: off260.pm + version: '6.60' + Date::Manip::Offset::off261: + file: off261.pm + version: '6.60' + Date::Manip::Offset::off262: + file: off262.pm + version: '6.60' + Date::Manip::Offset::off263: + file: off263.pm + version: '6.60' + Date::Manip::Offset::off264: + file: off264.pm + version: '6.60' + Date::Manip::Offset::off265: + file: off265.pm + version: '6.60' + Date::Manip::Offset::off266: + file: off266.pm + version: '6.60' + Date::Manip::Offset::off267: + file: off267.pm + version: '6.60' + Date::Manip::Offset::off268: + file: off268.pm + version: '6.60' + Date::Manip::Offset::off269: + file: off269.pm + version: '6.60' + Date::Manip::Offset::off270: + file: off270.pm + version: '6.60' + Date::Manip::Offset::off271: + file: off271.pm + version: '6.60' + Date::Manip::Offset::off272: + file: off272.pm + version: '6.60' + Date::Manip::Offset::off273: + file: off273.pm + version: '6.60' + Date::Manip::Offset::off274: + file: off274.pm + version: '6.60' + Date::Manip::Offset::off275: + file: off275.pm + version: '6.60' + Date::Manip::Offset::off276: + file: off276.pm + version: '6.60' + Date::Manip::Offset::off277: + file: off277.pm + version: '6.60' + Date::Manip::Offset::off278: + file: off278.pm + version: '6.60' + Date::Manip::Offset::off279: + file: off279.pm + version: '6.60' + Date::Manip::Offset::off280: + file: off280.pm + version: '6.60' + Date::Manip::Offset::off281: + file: off281.pm + version: '6.60' + Date::Manip::Offset::off282: + file: off282.pm + version: '6.60' + Date::Manip::Offset::off283: + file: off283.pm + version: '6.60' + Date::Manip::Offset::off284: + file: off284.pm + version: '6.60' + Date::Manip::Offset::off285: + file: off285.pm + version: '6.60' + Date::Manip::Offset::off286: + file: off286.pm + version: '6.60' + Date::Manip::Offset::off287: + file: off287.pm + version: '6.60' + Date::Manip::Offset::off288: + file: off288.pm + version: '6.60' + Date::Manip::Offset::off289: + file: off289.pm + version: '6.60' + Date::Manip::Offset::off290: + file: off290.pm + version: '6.60' + Date::Manip::Offset::off291: + file: off291.pm + version: '6.60' + Date::Manip::Offset::off292: + file: off292.pm + version: '6.60' + Date::Manip::Offset::off293: + file: off293.pm + version: '6.60' + Date::Manip::Offset::off294: + file: off294.pm + version: '6.60' + Date::Manip::Offset::off295: + file: off295.pm + version: '6.60' + Date::Manip::Offset::off296: + file: off296.pm + version: '6.60' + Date::Manip::Offset::off297: + file: off297.pm + version: '6.60' + Date::Manip::Offset::off298: + file: off298.pm + version: '6.60' + Date::Manip::Offset::off299: + file: off299.pm + version: '6.60' + Date::Manip::Offset::off300: + file: off300.pm + version: '6.60' + Date::Manip::Offset::off301: + file: off301.pm + version: '6.60' + Date::Manip::Offset::off302: + file: off302.pm + version: '6.60' + Date::Manip::Offset::off303: + file: off303.pm + version: '6.60' + Date::Manip::Offset::off304: + file: off304.pm + version: '6.60' + Date::Manip::Offset::off305: + file: off305.pm + version: '6.60' + Date::Manip::Offset::off306: + file: off306.pm + version: '6.60' + Date::Manip::Offset::off307: + file: off307.pm + version: '6.60' + Date::Manip::Offset::off308: + file: off308.pm + version: '6.60' + Date::Manip::Offset::off309: + file: off309.pm + version: '6.60' + Date::Manip::Offset::off310: + file: off310.pm + version: '6.60' + Date::Manip::Offset::off311: + file: off311.pm + version: '6.60' + Date::Manip::Offset::off312: + file: off312.pm + version: '6.60' + Date::Manip::Offset::off313: + file: off313.pm + version: '6.60' + Date::Manip::Offset::off314: + file: off314.pm + version: '6.60' + Date::Manip::Offset::off315: + file: off315.pm + version: '6.60' + Date::Manip::Offset::off316: + file: off316.pm + version: '6.60' + Date::Manip::Offset::off317: + file: off317.pm + version: '6.60' + Date::Manip::Offset::off318: + file: off318.pm + version: '6.60' + Date::Manip::Offset::off319: + file: off319.pm + version: '6.60' + Date::Manip::Offset::off320: + file: off320.pm + version: '6.60' + Date::Manip::Offset::off321: + file: off321.pm + version: '6.60' + Date::Manip::Offset::off322: + file: off322.pm + version: '6.60' + Date::Manip::Offset::off323: + file: off323.pm + version: '6.60' + Date::Manip::Offset::off324: + file: off324.pm + version: '6.60' + Date::Manip::Offset::off325: + file: off325.pm + version: '6.60' + Date::Manip::Offset::off326: + file: off326.pm + version: '6.60' + Date::Manip::Offset::off327: + file: off327.pm + version: '6.60' + Date::Manip::Offset::off328: + file: off328.pm + version: '6.60' + Date::Manip::Offset::off329: + file: off329.pm + version: '6.60' + Date::Manip::Offset::off330: + file: off330.pm + version: '6.60' + Date::Manip::Offset::off331: + file: off331.pm + version: '6.60' + Date::Manip::Offset::off332: + file: off332.pm + version: '6.60' + Date::Manip::Offset::off333: + file: off333.pm + version: '6.60' + Date::Manip::Offset::off334: + file: off334.pm + version: '6.60' + Date::Manip::Offset::off335: + file: off335.pm + version: '6.60' + Date::Manip::Offset::off336: + file: off336.pm + version: '6.60' + Date::Manip::Offset::off337: + file: off337.pm + version: '6.60' + Date::Manip::Offset::off338: + file: off338.pm + version: '6.60' + Date::Manip::Offset::off339: + file: off339.pm + version: '6.60' + Date::Manip::Offset::off340: + file: off340.pm + version: '6.60' + Date::Manip::Offset::off341: + file: off341.pm + version: '6.60' + Date::Manip::Offset::off342: + file: off342.pm + version: '6.60' + Date::Manip::Offset::off343: + file: off343.pm + version: '6.60' + Date::Manip::Offset::off344: + file: off344.pm + version: '6.60' + Date::Manip::Offset::off345: + file: off345.pm + version: '6.60' + Date::Manip::Offset::off346: + file: off346.pm + version: '6.60' + Date::Manip::Offset::off347: + file: off347.pm + version: '6.60' + Date::Manip::Offset::off348: + file: off348.pm + version: '6.60' + Date::Manip::Offset::off349: + file: off349.pm + version: '6.60' + Date::Manip::Offset::off350: + file: off350.pm + version: '6.60' + Date::Manip::Offset::off351: + file: off351.pm + version: '6.60' + Date::Manip::Offset::off352: + file: off352.pm + version: '6.60' + Date::Manip::Offset::off353: + file: off353.pm + version: '6.60' + Date::Manip::Offset::off354: + file: off354.pm + version: '6.60' + Date::Manip::Offset::off355: + file: off355.pm + version: '6.60' + Date::Manip::Offset::off356: + file: off356.pm + version: '6.60' + Date::Manip::Offset::off357: + file: off357.pm + version: '6.60' + Date::Manip::Offset::off358: + file: off358.pm + version: '6.60' + Date::Manip::Offset::off359: + file: off359.pm + version: '6.60' + Date::Manip::Offset::off360: + file: off360.pm + version: '6.60' + Date::Manip::Offset::off361: + file: off361.pm + version: '6.60' + Date::Manip::Offset::off362: + file: off362.pm + version: '6.60' + Date::Manip::Offset::off363: + file: off363.pm + version: '6.60' + Date::Manip::Offset::off364: + file: off364.pm + version: '6.60' + Date::Manip::Offset::off365: + file: off365.pm + version: '6.60' + Date::Manip::Offset::off366: + file: off366.pm + version: '6.60' + Date::Manip::Offset::off367: + file: off367.pm + version: '6.60' + Date::Manip::Offset::off368: + file: off368.pm + version: '6.60' + Date::Manip::Offset::off369: + file: off369.pm + version: '6.60' + Date::Manip::Offset::off370: + file: off370.pm + version: '6.60' + Date::Manip::Offset::off371: + file: off371.pm + version: '6.60' + Date::Manip::Offset::off372: + file: off372.pm + version: '6.60' + Date::Manip::Offset::off373: + file: off373.pm + version: '6.60' + Date::Manip::Offset::off374: + file: off374.pm + version: '6.60' + Date::Manip::Offset::off375: + file: off375.pm + version: '6.60' + Date::Manip::Offset::off376: + file: off376.pm + version: '6.60' + Date::Manip::Offset::off377: + file: off377.pm + version: '6.60' + Date::Manip::Offset::off378: + file: off378.pm + version: '6.60' + Date::Manip::Offset::off379: + file: off379.pm + version: '6.60' + Date::Manip::Offset::off380: + file: off380.pm + version: '6.60' + Date::Manip::Offset::off381: + file: off381.pm + version: '6.60' + Date::Manip::Offset::off382: + file: off382.pm + version: '6.60' + Date::Manip::Offset::off383: + file: off383.pm + version: '6.60' + Date::Manip::Offset::off384: + file: off384.pm + version: '6.60' + Date::Manip::Offset::off385: + file: off385.pm + version: '6.60' + Date::Manip::Offset::off386: + file: off386.pm + version: '6.60' + Date::Manip::Offset::off387: + file: off387.pm + version: '6.60' + Date::Manip::Offset::off388: + file: off388.pm + version: '6.60' + Date::Manip::Offset::off389: + file: off389.pm + version: '6.60' + Date::Manip::Offset::off390: + file: off390.pm + version: '6.60' + Date::Manip::Offset::off391: + file: off391.pm + version: '6.60' + Date::Manip::Offset::off392: + file: off392.pm + version: '6.60' + Date::Manip::Offset::off393: + file: off393.pm + version: '6.60' + Date::Manip::Offset::off394: + file: off394.pm + version: '6.60' + Date::Manip::Offset::off395: + file: off395.pm + version: '6.60' + Date::Manip::Offset::off396: + file: off396.pm + version: '6.60' + Date::Manip::Offset::off397: + file: off397.pm + version: '6.60' + Date::Manip::Offset::off398: + file: off398.pm + version: '6.60' + Date::Manip::Offset::off399: + file: off399.pm + version: '6.60' + Date::Manip::Offset::off400: + file: off400.pm + version: '6.60' + Date::Manip::Offset::off401: + file: off401.pm + version: '6.60' + Date::Manip::Offset::off402: + file: off402.pm + version: '6.60' + Date::Manip::Offset::off403: + file: off403.pm + version: '6.60' + Date::Manip::Offset::off404: + file: off404.pm + version: '6.60' + Date::Manip::Offset::off405: + file: off405.pm + version: '6.60' + Date::Manip::Offset::off406: + file: off406.pm + version: '6.60' + Date::Manip::Offset::off407: + file: off407.pm + version: '6.60' + Date::Manip::Offset::off408: + file: off408.pm + version: '6.60' + Date::Manip::Offset::off409: + file: off409.pm + version: '6.60' + Date::Manip::Offset::off410: + file: off410.pm + version: '6.60' + Date::Manip::Offset::off411: + file: off411.pm + version: '6.60' + Date::Manip::Offset::off412: + file: off412.pm + version: '6.60' + Date::Manip::Offset::off413: + file: off413.pm + version: '6.60' + Date::Manip::Offset::off414: + file: off414.pm + version: '6.60' + Date::Manip::Offset::off415: + file: off415.pm + version: '6.60' + Date::Manip::Offset::off416: + file: off416.pm + version: '6.60' + Date::Manip::Offset::off417: + file: off417.pm + version: '6.60' + Date::Manip::Offset::off418: + file: off418.pm + version: '6.60' + Date::Manip::Offset::off419: + file: off419.pm + version: '6.60' + Date::Manip::Offset::off420: + file: off420.pm + version: '6.60' + Date::Manip::Offset::off421: + file: off421.pm + version: '6.60' + Date::Manip::Offset::off422: + file: off422.pm + version: '6.60' + Date::Manip::Offset::off423: + file: off423.pm + version: '6.60' + Date::Manip::Offset::off424: + file: off424.pm + version: '6.60' + Date::Manip::Offset::off425: + file: off425.pm + version: '6.60' + Date::Manip::Offset::off426: + file: off426.pm + version: '6.60' + Date::Manip::Offset::off427: + file: off427.pm + version: '6.60' + Date::Manip::Offset::off428: + file: off428.pm + version: '6.60' + Date::Manip::Offset::off429: + file: off429.pm + version: '6.60' + Date::Manip::Offset::off430: + file: off430.pm + version: '6.60' + Date::Manip::Offset::off431: + file: off431.pm + version: '6.60' + Date::Manip::Offset::off432: + file: off432.pm + version: '6.60' + Date::Manip::Offset::off433: + file: off433.pm + version: '6.60' + Date::Manip::Offset::off434: + file: off434.pm + version: '6.60' + Date::Manip::Offset::off435: + file: off435.pm + version: '6.60' + Date::Manip::Offset::off436: + file: off436.pm + version: '6.60' + Date::Manip::Recur: + file: Recur.pm + version: '6.60' + Date::Manip::TZ: + file: TZ.pm + version: '6.60' + Date::Manip::TZ::a00: + file: a00.pm + version: '6.60' + Date::Manip::TZ::afabid00: + file: afabid00.pm + version: '6.60' + Date::Manip::TZ::afaccr00: + file: afaccr00.pm + version: '6.60' + Date::Manip::TZ::afalgi00: + file: afalgi00.pm + version: '6.60' + Date::Manip::TZ::afbiss00: + file: afbiss00.pm + version: '6.60' + Date::Manip::TZ::afcair00: + file: afcair00.pm + version: '6.60' + Date::Manip::TZ::afcasa00: + file: afcasa00.pm + version: '6.60' + Date::Manip::TZ::afceut00: + file: afceut00.pm + version: '6.60' + Date::Manip::TZ::afel_a00: + file: afel_a00.pm + version: '6.60' + Date::Manip::TZ::afjoha00: + file: afjoha00.pm + version: '6.60' + Date::Manip::TZ::afkhar00: + file: afkhar00.pm + version: '6.60' + Date::Manip::TZ::aflago00: + file: aflago00.pm + version: '6.60' + Date::Manip::TZ::afmapu00: + file: afmapu00.pm + version: '6.60' + Date::Manip::TZ::afmonr00: + file: afmonr00.pm + version: '6.60' + Date::Manip::TZ::afnair00: + file: afnair00.pm + version: '6.60' + Date::Manip::TZ::afndja00: + file: afndja00.pm + version: '6.60' + Date::Manip::TZ::aftrip00: + file: aftrip00.pm + version: '6.60' + Date::Manip::TZ::aftuni00: + file: aftuni00.pm + version: '6.60' + Date::Manip::TZ::afwind00: + file: afwind00.pm + version: '6.60' + Date::Manip::TZ::amadak00: + file: amadak00.pm + version: '6.60' + Date::Manip::TZ::amanch00: + file: amanch00.pm + version: '6.60' + Date::Manip::TZ::amarag00: + file: amarag00.pm + version: '6.60' + Date::Manip::TZ::amasun00: + file: amasun00.pm + version: '6.60' + Date::Manip::TZ::amatik00: + file: amatik00.pm + version: '6.60' + Date::Manip::TZ::ambahi00: + file: ambahi00.pm + version: '6.60' + Date::Manip::TZ::ambahi01: + file: ambahi01.pm + version: '6.60' + Date::Manip::TZ::ambarb00: + file: ambarb00.pm + version: '6.60' + Date::Manip::TZ::ambele00: + file: ambele00.pm + version: '6.60' + Date::Manip::TZ::ambeli00: + file: ambeli00.pm + version: '6.60' + Date::Manip::TZ::ambeul00: + file: ambeul00.pm + version: '6.60' + Date::Manip::TZ::amblan00: + file: amblan00.pm + version: '6.60' + Date::Manip::TZ::amboa_00: + file: amboa_00.pm + version: '6.60' + Date::Manip::TZ::ambogo00: + file: ambogo00.pm + version: '6.60' + Date::Manip::TZ::ambois00: + file: ambois00.pm + version: '6.60' + Date::Manip::TZ::ambuen00: + file: ambuen00.pm + version: '6.60' + Date::Manip::TZ::amcamb00: + file: amcamb00.pm + version: '6.60' + Date::Manip::TZ::amcamp00: + file: amcamp00.pm + version: '6.60' + Date::Manip::TZ::amcanc00: + file: amcanc00.pm + version: '6.60' + Date::Manip::TZ::amcara00: + file: amcara00.pm + version: '6.60' + Date::Manip::TZ::amcata00: + file: amcata00.pm + version: '6.60' + Date::Manip::TZ::amcaye00: + file: amcaye00.pm + version: '6.60' + Date::Manip::TZ::amcent00: + file: amcent00.pm + version: '6.60' + Date::Manip::TZ::amchic00: + file: amchic00.pm + version: '6.60' + Date::Manip::TZ::amchih00: + file: amchih00.pm + version: '6.60' + Date::Manip::TZ::amcord00: + file: amcord00.pm + version: '6.60' + Date::Manip::TZ::amcost00: + file: amcost00.pm + version: '6.60' + Date::Manip::TZ::amcres00: + file: amcres00.pm + version: '6.60' + Date::Manip::TZ::amcuia00: + file: amcuia00.pm + version: '6.60' + Date::Manip::TZ::amcura00: + file: amcura00.pm + version: '6.60' + Date::Manip::TZ::amdanm00: + file: amdanm00.pm + version: '6.60' + Date::Manip::TZ::amdaws00: + file: amdaws00.pm + version: '6.60' + Date::Manip::TZ::amdaws01: + file: amdaws01.pm + version: '6.60' + Date::Manip::TZ::amdenv00: + file: amdenv00.pm + version: '6.60' + Date::Manip::TZ::amdetr00: + file: amdetr00.pm + version: '6.60' + Date::Manip::TZ::amedmo00: + file: amedmo00.pm + version: '6.60' + Date::Manip::TZ::ameiru00: + file: ameiru00.pm + version: '6.60' + Date::Manip::TZ::amel_s00: + file: amel_s00.pm + version: '6.60' + Date::Manip::TZ::amfort00: + file: amfort00.pm + version: '6.60' + Date::Manip::TZ::amfort01: + file: amfort01.pm + version: '6.60' + Date::Manip::TZ::amglac00: + file: amglac00.pm + version: '6.60' + Date::Manip::TZ::amgodt00: + file: amgodt00.pm + version: '6.60' + Date::Manip::TZ::amgoos00: + file: amgoos00.pm + version: '6.60' + Date::Manip::TZ::amgran00: + file: amgran00.pm + version: '6.60' + Date::Manip::TZ::amguat00: + file: amguat00.pm + version: '6.60' + Date::Manip::TZ::amguay00: + file: amguay00.pm + version: '6.60' + Date::Manip::TZ::amguya00: + file: amguya00.pm + version: '6.60' + Date::Manip::TZ::amhali00: + file: amhali00.pm + version: '6.60' + Date::Manip::TZ::amhava00: + file: amhava00.pm + version: '6.60' + Date::Manip::TZ::amherm00: + file: amherm00.pm + version: '6.60' + Date::Manip::TZ::amindi00: + file: amindi00.pm + version: '6.60' + Date::Manip::TZ::aminuv00: + file: aminuv00.pm + version: '6.60' + Date::Manip::TZ::amiqal00: + file: amiqal00.pm + version: '6.60' + Date::Manip::TZ::amjama00: + file: amjama00.pm + version: '6.60' + Date::Manip::TZ::amjuju00: + file: amjuju00.pm + version: '6.60' + Date::Manip::TZ::amjune00: + file: amjune00.pm + version: '6.60' + Date::Manip::TZ::amknox00: + file: amknox00.pm + version: '6.60' + Date::Manip::TZ::amla_p00: + file: amla_p00.pm + version: '6.60' + Date::Manip::TZ::amla_r00: + file: amla_r00.pm + version: '6.60' + Date::Manip::TZ::amlima00: + file: amlima00.pm + version: '6.60' + Date::Manip::TZ::amlos_00: + file: amlos_00.pm + version: '6.60' + Date::Manip::TZ::amloui00: + file: amloui00.pm + version: '6.60' + Date::Manip::TZ::ammace00: + file: ammace00.pm + version: '6.60' + Date::Manip::TZ::ammana00: + file: ammana00.pm + version: '6.60' + Date::Manip::TZ::ammana01: + file: ammana01.pm + version: '6.60' + Date::Manip::TZ::ammare00: + file: ammare00.pm + version: '6.60' + Date::Manip::TZ::ammart00: + file: ammart00.pm + version: '6.60' + Date::Manip::TZ::ammata00: + file: ammata00.pm + version: '6.60' + Date::Manip::TZ::ammaza00: + file: ammaza00.pm + version: '6.60' + Date::Manip::TZ::ammend00: + file: ammend00.pm + version: '6.60' + Date::Manip::TZ::ammeno00: + file: ammeno00.pm + version: '6.60' + Date::Manip::TZ::ammeri00: + file: ammeri00.pm + version: '6.60' + Date::Manip::TZ::ammetl00: + file: ammetl00.pm + version: '6.60' + Date::Manip::TZ::ammexi00: + file: ammexi00.pm + version: '6.60' + Date::Manip::TZ::ammiqu00: + file: ammiqu00.pm + version: '6.60' + Date::Manip::TZ::ammonc00: + file: ammonc00.pm + version: '6.60' + Date::Manip::TZ::ammont00: + file: ammont00.pm + version: '6.60' + Date::Manip::TZ::ammont01: + file: ammont01.pm + version: '6.60' + Date::Manip::TZ::ammont02: + file: ammont02.pm + version: '6.60' + Date::Manip::TZ::amnass00: + file: amnass00.pm + version: '6.60' + Date::Manip::TZ::amnew_00: + file: amnew_00.pm + version: '6.60' + Date::Manip::TZ::amnew_01: + file: amnew_01.pm + version: '6.60' + Date::Manip::TZ::amnipi00: + file: amnipi00.pm + version: '6.60' + Date::Manip::TZ::amnome00: + file: amnome00.pm + version: '6.60' + Date::Manip::TZ::amnoro00: + file: amnoro00.pm + version: '6.60' + Date::Manip::TZ::amojin00: + file: amojin00.pm + version: '6.60' + Date::Manip::TZ::ampana00: + file: ampana00.pm + version: '6.60' + Date::Manip::TZ::ampang00: + file: ampang00.pm + version: '6.60' + Date::Manip::TZ::ampara00: + file: ampara00.pm + version: '6.60' + Date::Manip::TZ::ampete00: + file: ampete00.pm + version: '6.60' + Date::Manip::TZ::amphoe00: + file: amphoe00.pm + version: '6.60' + Date::Manip::TZ::amport00: + file: amport00.pm + version: '6.60' + Date::Manip::TZ::amport01: + file: amport01.pm + version: '6.60' + Date::Manip::TZ::amport02: + file: amport02.pm + version: '6.60' + Date::Manip::TZ::ampuer00: + file: ampuer00.pm + version: '6.60' + Date::Manip::TZ::ampunt00: + file: ampunt00.pm + version: '6.60' + Date::Manip::TZ::amrain00: + file: amrain00.pm + version: '6.60' + Date::Manip::TZ::amrank00: + file: amrank00.pm + version: '6.60' + Date::Manip::TZ::amreci00: + file: amreci00.pm + version: '6.60' + Date::Manip::TZ::amregi00: + file: amregi00.pm + version: '6.60' + Date::Manip::TZ::amreso00: + file: amreso00.pm + version: '6.60' + Date::Manip::TZ::amrio_00: + file: amrio_00.pm + version: '6.60' + Date::Manip::TZ::amrio_01: + file: amrio_01.pm + version: '6.60' + Date::Manip::TZ::amsalt00: + file: amsalt00.pm + version: '6.60' + Date::Manip::TZ::amsan_00: + file: amsan_00.pm + version: '6.60' + Date::Manip::TZ::amsan_01: + file: amsan_01.pm + version: '6.60' + Date::Manip::TZ::amsant00: + file: amsant00.pm + version: '6.60' + Date::Manip::TZ::amsant01: + file: amsant01.pm + version: '6.60' + Date::Manip::TZ::amsant02: + file: amsant02.pm + version: '6.60' + Date::Manip::TZ::amsao_00: + file: amsao_00.pm + version: '6.60' + Date::Manip::TZ::amscor00: + file: amscor00.pm + version: '6.60' + Date::Manip::TZ::amsitk00: + file: amsitk00.pm + version: '6.60' + Date::Manip::TZ::amst_j00: + file: amst_j00.pm + version: '6.60' + Date::Manip::TZ::amswif00: + file: amswif00.pm + version: '6.60' + Date::Manip::TZ::amtegu00: + file: amtegu00.pm + version: '6.60' + Date::Manip::TZ::amtell00: + file: amtell00.pm + version: '6.60' + Date::Manip::TZ::amthul00: + file: amthul00.pm + version: '6.60' + Date::Manip::TZ::amthun00: + file: amthun00.pm + version: '6.60' + Date::Manip::TZ::amtiju00: + file: amtiju00.pm + version: '6.60' + Date::Manip::TZ::amtoro00: + file: amtoro00.pm + version: '6.60' + Date::Manip::TZ::amtucu00: + file: amtucu00.pm + version: '6.60' + Date::Manip::TZ::amushu00: + file: amushu00.pm + version: '6.60' + Date::Manip::TZ::amvanc00: + file: amvanc00.pm + version: '6.60' + Date::Manip::TZ::amveva00: + file: amveva00.pm + version: '6.60' + Date::Manip::TZ::amvinc00: + file: amvinc00.pm + version: '6.60' + Date::Manip::TZ::amwhit00: + file: amwhit00.pm + version: '6.60' + Date::Manip::TZ::amwina00: + file: amwina00.pm + version: '6.60' + Date::Manip::TZ::amwinn00: + file: amwinn00.pm + version: '6.60' + Date::Manip::TZ::amyaku00: + file: amyaku00.pm + version: '6.60' + Date::Manip::TZ::amyell00: + file: amyell00.pm + version: '6.60' + Date::Manip::TZ::ancase00: + file: ancase00.pm + version: '6.60' + Date::Manip::TZ::andavi00: + file: andavi00.pm + version: '6.60' + Date::Manip::TZ::andumo00: + file: andumo00.pm + version: '6.60' + Date::Manip::TZ::anmacq00: + file: anmacq00.pm + version: '6.60' + Date::Manip::TZ::anmaws00: + file: anmaws00.pm + version: '6.60' + Date::Manip::TZ::anpalm00: + file: anpalm00.pm + version: '6.60' + Date::Manip::TZ::anroth00: + file: anroth00.pm + version: '6.60' + Date::Manip::TZ::ansyow00: + file: ansyow00.pm + version: '6.60' + Date::Manip::TZ::antrol00: + file: antrol00.pm + version: '6.60' + Date::Manip::TZ::anvost00: + file: anvost00.pm + version: '6.60' + Date::Manip::TZ::asalma00: + file: asalma00.pm + version: '6.60' + Date::Manip::TZ::asamma00: + file: asamma00.pm + version: '6.60' + Date::Manip::TZ::asanad00: + file: asanad00.pm + version: '6.60' + Date::Manip::TZ::asaqta00: + file: asaqta00.pm + version: '6.60' + Date::Manip::TZ::asaqto00: + file: asaqto00.pm + version: '6.60' + Date::Manip::TZ::asashg00: + file: asashg00.pm + version: '6.60' + Date::Manip::TZ::asatyr00: + file: asatyr00.pm + version: '6.60' + Date::Manip::TZ::asbagh00: + file: asbagh00.pm + version: '6.60' + Date::Manip::TZ::asbaku00: + file: asbaku00.pm + version: '6.60' + Date::Manip::TZ::asbang00: + file: asbang00.pm + version: '6.60' + Date::Manip::TZ::asbarn00: + file: asbarn00.pm + version: '6.60' + Date::Manip::TZ::asbeir00: + file: asbeir00.pm + version: '6.60' + Date::Manip::TZ::asbish00: + file: asbish00.pm + version: '6.60' + Date::Manip::TZ::asbrun00: + file: asbrun00.pm + version: '6.60' + Date::Manip::TZ::aschit00: + file: aschit00.pm + version: '6.60' + Date::Manip::TZ::aschoi00: + file: aschoi00.pm + version: '6.60' + Date::Manip::TZ::ascolo00: + file: ascolo00.pm + version: '6.60' + Date::Manip::TZ::asdama00: + file: asdama00.pm + version: '6.60' + Date::Manip::TZ::asdhak00: + file: asdhak00.pm + version: '6.60' + Date::Manip::TZ::asdili00: + file: asdili00.pm + version: '6.60' + Date::Manip::TZ::asduba00: + file: asduba00.pm + version: '6.60' + Date::Manip::TZ::asdush00: + file: asdush00.pm + version: '6.60' + Date::Manip::TZ::asfama00: + file: asfama00.pm + version: '6.60' + Date::Manip::TZ::asgaza00: + file: asgaza00.pm + version: '6.60' + Date::Manip::TZ::ashebr00: + file: ashebr00.pm + version: '6.60' + Date::Manip::TZ::asho_c00: + file: asho_c00.pm + version: '6.60' + Date::Manip::TZ::ashong00: + file: ashong00.pm + version: '6.60' + Date::Manip::TZ::ashovd00: + file: ashovd00.pm + version: '6.60' + Date::Manip::TZ::asirku00: + file: asirku00.pm + version: '6.60' + Date::Manip::TZ::asjaka00: + file: asjaka00.pm + version: '6.60' + Date::Manip::TZ::asjaya00: + file: asjaya00.pm + version: '6.60' + Date::Manip::TZ::asjeru00: + file: asjeru00.pm + version: '6.60' + Date::Manip::TZ::askabu00: + file: askabu00.pm + version: '6.60' + Date::Manip::TZ::askamc00: + file: askamc00.pm + version: '6.60' + Date::Manip::TZ::askara00: + file: askara00.pm + version: '6.60' + Date::Manip::TZ::askath00: + file: askath00.pm + version: '6.60' + Date::Manip::TZ::askhan00: + file: askhan00.pm + version: '6.60' + Date::Manip::TZ::askolk00: + file: askolk00.pm + version: '6.60' + Date::Manip::TZ::askras00: + file: askras00.pm + version: '6.60' + Date::Manip::TZ::askual00: + file: askual00.pm + version: '6.60' + Date::Manip::TZ::askuch00: + file: askuch00.pm + version: '6.60' + Date::Manip::TZ::asmaca00: + file: asmaca00.pm + version: '6.60' + Date::Manip::TZ::asmaga00: + file: asmaga00.pm + version: '6.60' + Date::Manip::TZ::asmaka00: + file: asmaka00.pm + version: '6.60' + Date::Manip::TZ::asmani00: + file: asmani00.pm + version: '6.60' + Date::Manip::TZ::asnico00: + file: asnico00.pm + version: '6.60' + Date::Manip::TZ::asnovo00: + file: asnovo00.pm + version: '6.60' + Date::Manip::TZ::asnovo01: + file: asnovo01.pm + version: '6.60' + Date::Manip::TZ::asomsk00: + file: asomsk00.pm + version: '6.60' + Date::Manip::TZ::asoral00: + file: asoral00.pm + version: '6.60' + Date::Manip::TZ::aspont00: + file: aspont00.pm + version: '6.60' + Date::Manip::TZ::aspyon00: + file: aspyon00.pm + version: '6.60' + Date::Manip::TZ::asqata00: + file: asqata00.pm + version: '6.60' + Date::Manip::TZ::asqyzy00: + file: asqyzy00.pm + version: '6.60' + Date::Manip::TZ::asriya00: + file: asriya00.pm + version: '6.60' + Date::Manip::TZ::assakh00: + file: assakh00.pm + version: '6.60' + Date::Manip::TZ::assama00: + file: assama00.pm + version: '6.60' + Date::Manip::TZ::asseou00: + file: asseou00.pm + version: '6.60' + Date::Manip::TZ::asshan00: + file: asshan00.pm + version: '6.60' + Date::Manip::TZ::assing00: + file: assing00.pm + version: '6.60' + Date::Manip::TZ::assred00: + file: assred00.pm + version: '6.60' + Date::Manip::TZ::astaip00: + file: astaip00.pm + version: '6.60' + Date::Manip::TZ::astash00: + file: astash00.pm + version: '6.60' + Date::Manip::TZ::astbil00: + file: astbil00.pm + version: '6.60' + Date::Manip::TZ::astehr00: + file: astehr00.pm + version: '6.60' + Date::Manip::TZ::asthim00: + file: asthim00.pm + version: '6.60' + Date::Manip::TZ::astoky00: + file: astoky00.pm + version: '6.60' + Date::Manip::TZ::astoms00: + file: astoms00.pm + version: '6.60' + Date::Manip::TZ::asulaa00: + file: asulaa00.pm + version: '6.60' + Date::Manip::TZ::asurum00: + file: asurum00.pm + version: '6.60' + Date::Manip::TZ::asustm00: + file: asustm00.pm + version: '6.60' + Date::Manip::TZ::asvlad00: + file: asvlad00.pm + version: '6.60' + Date::Manip::TZ::asyaku00: + file: asyaku00.pm + version: '6.60' + Date::Manip::TZ::asyang00: + file: asyang00.pm + version: '6.60' + Date::Manip::TZ::asyeka00: + file: asyeka00.pm + version: '6.60' + Date::Manip::TZ::asyere00: + file: asyere00.pm + version: '6.60' + Date::Manip::TZ::atazor00: + file: atazor00.pm + version: '6.60' + Date::Manip::TZ::atberm00: + file: atberm00.pm + version: '6.60' + Date::Manip::TZ::atcana00: + file: atcana00.pm + version: '6.60' + Date::Manip::TZ::atcape00: + file: atcape00.pm + version: '6.60' + Date::Manip::TZ::atfaro00: + file: atfaro00.pm + version: '6.60' + Date::Manip::TZ::atmade00: + file: atmade00.pm + version: '6.60' + Date::Manip::TZ::atreyk00: + file: atreyk00.pm + version: '6.60' + Date::Manip::TZ::atsout00: + file: atsout00.pm + version: '6.60' + Date::Manip::TZ::atstan00: + file: atstan00.pm + version: '6.60' + Date::Manip::TZ::auadel00: + file: auadel00.pm + version: '6.60' + Date::Manip::TZ::aubris00: + file: aubris00.pm + version: '6.60' + Date::Manip::TZ::aubrok00: + file: aubrok00.pm + version: '6.60' + Date::Manip::TZ::aucurr00: + file: aucurr00.pm + version: '6.60' + Date::Manip::TZ::audarw00: + file: audarw00.pm + version: '6.60' + Date::Manip::TZ::aueucl00: + file: aueucl00.pm + version: '6.60' + Date::Manip::TZ::auhoba00: + file: auhoba00.pm + version: '6.60' + Date::Manip::TZ::aulind00: + file: aulind00.pm + version: '6.60' + Date::Manip::TZ::aulord00: + file: aulord00.pm + version: '6.60' + Date::Manip::TZ::aumelb00: + file: aumelb00.pm + version: '6.60' + Date::Manip::TZ::aupert00: + file: aupert00.pm + version: '6.60' + Date::Manip::TZ::ausydn00: + file: ausydn00.pm + version: '6.60' + Date::Manip::TZ::b00: + file: b00.pm + version: '6.60' + Date::Manip::TZ::c00: + file: c00.pm + version: '6.60' + Date::Manip::TZ::cet00: + file: cet00.pm + version: '6.60' + Date::Manip::TZ::d00: + file: d00.pm + version: '6.60' + Date::Manip::TZ::e00: + file: e00.pm + version: '6.60' + Date::Manip::TZ::eet00: + file: eet00.pm + version: '6.60' + Date::Manip::TZ::etgmt00: + file: etgmt00.pm + version: '6.60' + Date::Manip::TZ::etgmtm00: + file: etgmtm00.pm + version: '6.60' + Date::Manip::TZ::etgmtm01: + file: etgmtm01.pm + version: '6.60' + Date::Manip::TZ::etgmtm02: + file: etgmtm02.pm + version: '6.60' + Date::Manip::TZ::etgmtm03: + file: etgmtm03.pm + version: '6.60' + Date::Manip::TZ::etgmtm04: + file: etgmtm04.pm + version: '6.60' + Date::Manip::TZ::etgmtm05: + file: etgmtm05.pm + version: '6.60' + Date::Manip::TZ::etgmtm06: + file: etgmtm06.pm + version: '6.60' + Date::Manip::TZ::etgmtm07: + file: etgmtm07.pm + version: '6.60' + Date::Manip::TZ::etgmtm08: + file: etgmtm08.pm + version: '6.60' + Date::Manip::TZ::etgmtm09: + file: etgmtm09.pm + version: '6.60' + Date::Manip::TZ::etgmtm10: + file: etgmtm10.pm + version: '6.60' + Date::Manip::TZ::etgmtm11: + file: etgmtm11.pm + version: '6.60' + Date::Manip::TZ::etgmtm12: + file: etgmtm12.pm + version: '6.60' + Date::Manip::TZ::etgmtm13: + file: etgmtm13.pm + version: '6.60' + Date::Manip::TZ::etgmtp00: + file: etgmtp00.pm + version: '6.60' + Date::Manip::TZ::etgmtp01: + file: etgmtp01.pm + version: '6.60' + Date::Manip::TZ::etgmtp02: + file: etgmtp02.pm + version: '6.60' + Date::Manip::TZ::etgmtp03: + file: etgmtp03.pm + version: '6.60' + Date::Manip::TZ::etgmtp04: + file: etgmtp04.pm + version: '6.60' + Date::Manip::TZ::etgmtp05: + file: etgmtp05.pm + version: '6.60' + Date::Manip::TZ::etgmtp06: + file: etgmtp06.pm + version: '6.60' + Date::Manip::TZ::etgmtp07: + file: etgmtp07.pm + version: '6.60' + Date::Manip::TZ::etgmtp08: + file: etgmtp08.pm + version: '6.60' + Date::Manip::TZ::etgmtp09: + file: etgmtp09.pm + version: '6.60' + Date::Manip::TZ::etgmtp10: + file: etgmtp10.pm + version: '6.60' + Date::Manip::TZ::etgmtp11: + file: etgmtp11.pm + version: '6.60' + Date::Manip::TZ::euamst00: + file: euamst00.pm + version: '6.60' + Date::Manip::TZ::euando00: + file: euando00.pm + version: '6.60' + Date::Manip::TZ::euastr00: + file: euastr00.pm + version: '6.60' + Date::Manip::TZ::euathe00: + file: euathe00.pm + version: '6.60' + Date::Manip::TZ::eubelg00: + file: eubelg00.pm + version: '6.60' + Date::Manip::TZ::euberl00: + file: euberl00.pm + version: '6.60' + Date::Manip::TZ::eubrus00: + file: eubrus00.pm + version: '6.60' + Date::Manip::TZ::eubuch00: + file: eubuch00.pm + version: '6.60' + Date::Manip::TZ::eubuda00: + file: eubuda00.pm + version: '6.60' + Date::Manip::TZ::euchis00: + file: euchis00.pm + version: '6.60' + Date::Manip::TZ::eucope00: + file: eucope00.pm + version: '6.60' + Date::Manip::TZ::eudubl00: + file: eudubl00.pm + version: '6.60' + Date::Manip::TZ::eugibr00: + file: eugibr00.pm + version: '6.60' + Date::Manip::TZ::euhels00: + file: euhels00.pm + version: '6.60' + Date::Manip::TZ::euista00: + file: euista00.pm + version: '6.60' + Date::Manip::TZ::eukali00: + file: eukali00.pm + version: '6.60' + Date::Manip::TZ::eukiev00: + file: eukiev00.pm + version: '6.60' + Date::Manip::TZ::eukiro00: + file: eukiro00.pm + version: '6.60' + Date::Manip::TZ::eulisb00: + file: eulisb00.pm + version: '6.60' + Date::Manip::TZ::eulond00: + file: eulond00.pm + version: '6.60' + Date::Manip::TZ::euluxe00: + file: euluxe00.pm + version: '6.60' + Date::Manip::TZ::eumadr00: + file: eumadr00.pm + version: '6.60' + Date::Manip::TZ::eumalt00: + file: eumalt00.pm + version: '6.60' + Date::Manip::TZ::eumins00: + file: eumins00.pm + version: '6.60' + Date::Manip::TZ::eumona00: + file: eumona00.pm + version: '6.60' + Date::Manip::TZ::eumosc00: + file: eumosc00.pm + version: '6.60' + Date::Manip::TZ::euoslo00: + file: euoslo00.pm + version: '6.60' + Date::Manip::TZ::eupari00: + file: eupari00.pm + version: '6.60' + Date::Manip::TZ::euprag00: + file: euprag00.pm + version: '6.60' + Date::Manip::TZ::euriga00: + file: euriga00.pm + version: '6.60' + Date::Manip::TZ::eurome00: + file: eurome00.pm + version: '6.60' + Date::Manip::TZ::eusama00: + file: eusama00.pm + version: '6.60' + Date::Manip::TZ::eusara00: + file: eusara00.pm + version: '6.60' + Date::Manip::TZ::eusimf00: + file: eusimf00.pm + version: '6.60' + Date::Manip::TZ::eusofi00: + file: eusofi00.pm + version: '6.60' + Date::Manip::TZ::eustoc00: + file: eustoc00.pm + version: '6.60' + Date::Manip::TZ::eutall00: + file: eutall00.pm + version: '6.60' + Date::Manip::TZ::eutira00: + file: eutira00.pm + version: '6.60' + Date::Manip::TZ::euulya00: + file: euulya00.pm + version: '6.60' + Date::Manip::TZ::euuzhg00: + file: euuzhg00.pm + version: '6.60' + Date::Manip::TZ::euvien00: + file: euvien00.pm + version: '6.60' + Date::Manip::TZ::euviln00: + file: euviln00.pm + version: '6.60' + Date::Manip::TZ::euvolg00: + file: euvolg00.pm + version: '6.60' + Date::Manip::TZ::euwars00: + file: euwars00.pm + version: '6.60' + Date::Manip::TZ::euzapo00: + file: euzapo00.pm + version: '6.60' + Date::Manip::TZ::euzuri00: + file: euzuri00.pm + version: '6.60' + Date::Manip::TZ::f00: + file: f00.pm + version: '6.60' + Date::Manip::TZ::g00: + file: g00.pm + version: '6.60' + Date::Manip::TZ::h00: + file: h00.pm + version: '6.60' + Date::Manip::TZ::i00: + file: i00.pm + version: '6.60' + Date::Manip::TZ::inchag00: + file: inchag00.pm + version: '6.60' + Date::Manip::TZ::inchri00: + file: inchri00.pm + version: '6.60' + Date::Manip::TZ::incoco00: + file: incoco00.pm + version: '6.60' + Date::Manip::TZ::inkerg00: + file: inkerg00.pm + version: '6.60' + Date::Manip::TZ::inmahe00: + file: inmahe00.pm + version: '6.60' + Date::Manip::TZ::inmald00: + file: inmald00.pm + version: '6.60' + Date::Manip::TZ::inmaur00: + file: inmaur00.pm + version: '6.60' + Date::Manip::TZ::inreun00: + file: inreun00.pm + version: '6.60' + Date::Manip::TZ::k00: + file: k00.pm + version: '6.60' + Date::Manip::TZ::l00: + file: l00.pm + version: '6.60' + Date::Manip::TZ::m00: + file: m00.pm + version: '6.60' + Date::Manip::TZ::met00: + file: met00.pm + version: '6.60' + Date::Manip::TZ::n00: + file: n00.pm + version: '6.60' + Date::Manip::TZ::o00: + file: o00.pm + version: '6.60' + Date::Manip::TZ::p00: + file: p00.pm + version: '6.60' + Date::Manip::TZ::paapia00: + file: paapia00.pm + version: '6.60' + Date::Manip::TZ::paauck00: + file: paauck00.pm + version: '6.60' + Date::Manip::TZ::paboug00: + file: paboug00.pm + version: '6.60' + Date::Manip::TZ::pachat00: + file: pachat00.pm + version: '6.60' + Date::Manip::TZ::pachuu00: + file: pachuu00.pm + version: '6.60' + Date::Manip::TZ::paeast00: + file: paeast00.pm + version: '6.60' + Date::Manip::TZ::paefat00: + file: paefat00.pm + version: '6.60' + Date::Manip::TZ::paende00: + file: paende00.pm + version: '6.60' + Date::Manip::TZ::pafaka00: + file: pafaka00.pm + version: '6.60' + Date::Manip::TZ::pafiji00: + file: pafiji00.pm + version: '6.60' + Date::Manip::TZ::pafuna00: + file: pafuna00.pm + version: '6.60' + Date::Manip::TZ::pagala00: + file: pagala00.pm + version: '6.60' + Date::Manip::TZ::pagamb00: + file: pagamb00.pm + version: '6.60' + Date::Manip::TZ::paguad00: + file: paguad00.pm + version: '6.60' + Date::Manip::TZ::paguam00: + file: paguam00.pm + version: '6.60' + Date::Manip::TZ::pahono00: + file: pahono00.pm + version: '6.60' + Date::Manip::TZ::pakiri00: + file: pakiri00.pm + version: '6.60' + Date::Manip::TZ::pakosr00: + file: pakosr00.pm + version: '6.60' + Date::Manip::TZ::pakwaj00: + file: pakwaj00.pm + version: '6.60' + Date::Manip::TZ::pamaju00: + file: pamaju00.pm + version: '6.60' + Date::Manip::TZ::pamarq00: + file: pamarq00.pm + version: '6.60' + Date::Manip::TZ::panaur00: + file: panaur00.pm + version: '6.60' + Date::Manip::TZ::paniue00: + file: paniue00.pm + version: '6.60' + Date::Manip::TZ::panorf00: + file: panorf00.pm + version: '6.60' + Date::Manip::TZ::panoum00: + file: panoum00.pm + version: '6.60' + Date::Manip::TZ::papago00: + file: papago00.pm + version: '6.60' + Date::Manip::TZ::papala00: + file: papala00.pm + version: '6.60' + Date::Manip::TZ::papitc00: + file: papitc00.pm + version: '6.60' + Date::Manip::TZ::papohn00: + file: papohn00.pm + version: '6.60' + Date::Manip::TZ::paport00: + file: paport00.pm + version: '6.60' + Date::Manip::TZ::pararo00: + file: pararo00.pm + version: '6.60' + Date::Manip::TZ::patahi00: + file: patahi00.pm + version: '6.60' + Date::Manip::TZ::patara00: + file: patara00.pm + version: '6.60' + Date::Manip::TZ::patong00: + file: patong00.pm + version: '6.60' + Date::Manip::TZ::pawake00: + file: pawake00.pm + version: '6.60' + Date::Manip::TZ::pawall00: + file: pawall00.pm + version: '6.60' + Date::Manip::TZ::q00: + file: q00.pm + version: '6.60' + Date::Manip::TZ::r00: + file: r00.pm + version: '6.60' + Date::Manip::TZ::s00: + file: s00.pm + version: '6.60' + Date::Manip::TZ::t00: + file: t00.pm + version: '6.60' + Date::Manip::TZ::u00: + file: u00.pm + version: '6.60' + Date::Manip::TZ::ut00: + file: ut00.pm + version: '6.60' + Date::Manip::TZ::utc00: + file: utc00.pm + version: '6.60' + Date::Manip::TZ::v00: + file: v00.pm + version: '6.60' + Date::Manip::TZ::w00: + file: w00.pm + version: '6.60' + Date::Manip::TZ::wet00: + file: wet00.pm + version: '6.60' + Date::Manip::TZ::x00: + file: x00.pm + version: '6.60' + Date::Manip::TZ::y00: + file: y00.pm + version: '6.60' + Date::Manip::TZ::z00: + file: z00.pm + version: '6.60' + Date::Manip::TZ_Base: + file: TZ_Base.pm + version: '6.60' + Date::Manip::TZdata: + file: TZdata.pm + version: '6.60' + Date::Manip::Zones: + file: Zones.pm + version: '6.60' +requires: + Carp: '0' + Cwd: '0' + Data::Dumper: '0' + Encode: '0' + File::Find: '0' + File::Spec: '0' + IO::File: '0' + Storable: '0' + perl: '5.006' + utf8: '0' +resources: + repository: git://github.com/SBECK-github/Date-Manip.git +version: '6.60' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..4db6454 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,3587 @@ +###################################################################### +# Makefile.PL for Date::Manip +###################################################################### + +use strict; +use warnings; +use 5.006; +use ExtUtils::MakeMaker 6.67_01; + +my %IsWin32 = map { $_ => 1 } qw( MSWin32 NetWare symbian ); +my $IsWin32 = 1 if ($IsWin32{ $^O }); +my $Pvers = $]; +my $ConvVers= $ExtUtils::MakeMaker::VERSION; + +my %module_prereq = ( + 'Carp' => '0', + 'Cwd' => '0', + 'Data::Dumper' => '0', + 'Encode' => '0', + 'File::Find' => '0', + 'File::Spec' => '0', + 'IO::File' => '0', + 'Storable' => '0', + 'utf8' => '0', +); + +if ($IsWin32 && $Pvers >= 5.020) { + $module_prereq{'Win32::TieRegistry'} = 0.28; +} elsif ($IsWin32) { + $module_prereq{'Win32::TieRegistry'} = 0; +} + +my %script_prereq = ( +); + +my %test_prereq = ( + 'Test::Inter' => '0', + 'Test::More' => '0', +); + +my %config_prereq = ( + 'ExtUtils::MakeMaker' => '6.67_01', +); + +%module_prereq = (%module_prereq,%script_prereq); +my $EU_MM_V = $ExtUtils::MakeMaker::VERSION; +$EU_MM_V =~ s/_//g; +if ($EU_MM_V < 6.64) { + %config_prereq = (%config_prereq,%test_prereq); +} + +WriteMakefile( + NAME => "Date::Manip", + VERSION => "6.60", + ABSTRACT => "Date manipulation routines", + LICENSE => "perl", + ($EU_MM_V >= 6.48 + ? (MIN_PERL_VERSION => "5.006") + : ()), + AUTHOR => "Sullivan Beck (sbeck\@cpan.org)", + "dist" => {COMPRESS=>"gzip",SUFFIX=>"gz"}, + PL_FILES => {}, + PREREQ_PM => \%module_prereq, + ($EU_MM_V >= 6.52 + ? (CONFIGURE_REQUIRES => \%config_prereq) + : ()), + ($EU_MM_V >= 6.64 + ? (TEST_REQUIRES => \%test_prereq) + : ()), + ($EU_MM_V > 6.45 + ? (META_ADD => { + provides => { + 'Date::Manip' => { + file => 'Manip.pm', + version => '6.60', + }, + 'Date::Manip::Base' => { + file => 'Base.pm', + version => '6.60', + }, + 'Date::Manip::DM5' => { + file => 'DM5.pm', + version => '6.60', + }, + 'Date::Manip::DM5abbrevs' => { + file => 'DM5abbrevs.pm', + version => '6.60', + }, + 'Date::Manip::DM6' => { + file => 'DM6.pm', + version => '6.60', + }, + 'Date::Manip::Date' => { + file => 'Date.pm', + version => '6.60', + }, + 'Date::Manip::Delta' => { + file => 'Delta.pm', + version => '6.60', + }, + 'Date::Manip::Lang::catalan' => { + file => 'catalan.pm', + version => '6.60', + }, + 'Date::Manip::Lang::danish' => { + file => 'danish.pm', + version => '6.60', + }, + 'Date::Manip::Lang::dutch' => { + file => 'dutch.pm', + version => '6.60', + }, + 'Date::Manip::Lang::english' => { + file => 'english.pm', + version => '6.60', + }, + 'Date::Manip::Lang::finnish' => { + file => 'finnish.pm', + version => '6.60', + }, + 'Date::Manip::Lang::french' => { + file => 'french.pm', + version => '6.60', + }, + 'Date::Manip::Lang::german' => { + file => 'german.pm', + version => '6.60', + }, + 'Date::Manip::Lang::index' => { + file => 'index.pm', + version => '6.60', + }, + 'Date::Manip::Lang::italian' => { + file => 'italian.pm', + version => '6.60', + }, + 'Date::Manip::Lang::norwegian' => { + file => 'norwegian.pm', + version => '6.60', + }, + 'Date::Manip::Lang::polish' => { + file => 'polish.pm', + version => '6.60', + }, + 'Date::Manip::Lang::portugue' => { + file => 'portugue.pm', + version => '6.60', + }, + 'Date::Manip::Lang::romanian' => { + file => 'romanian.pm', + version => '6.60', + }, + 'Date::Manip::Lang::russian' => { + file => 'russian.pm', + version => '6.60', + }, + 'Date::Manip::Lang::spanish' => { + file => 'spanish.pm', + version => '6.60', + }, + 'Date::Manip::Lang::swedish' => { + file => 'swedish.pm', + version => '6.60', + }, + 'Date::Manip::Lang::turkish' => { + file => 'turkish.pm', + version => '6.60', + }, + 'Date::Manip::Obj' => { + file => 'Obj.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off000' => { + file => 'off000.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off001' => { + file => 'off001.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off002' => { + file => 'off002.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off003' => { + file => 'off003.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off004' => { + file => 'off004.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off005' => { + file => 'off005.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off006' => { + file => 'off006.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off007' => { + file => 'off007.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off008' => { + file => 'off008.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off009' => { + file => 'off009.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off010' => { + file => 'off010.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off011' => { + file => 'off011.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off012' => { + file => 'off012.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off013' => { + file => 'off013.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off014' => { + file => 'off014.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off015' => { + file => 'off015.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off016' => { + file => 'off016.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off017' => { + file => 'off017.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off018' => { + file => 'off018.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off019' => { + file => 'off019.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off020' => { + file => 'off020.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off021' => { + file => 'off021.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off022' => { + file => 'off022.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off023' => { + file => 'off023.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off024' => { + file => 'off024.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off025' => { + file => 'off025.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off026' => { + file => 'off026.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off027' => { + file => 'off027.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off028' => { + file => 'off028.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off029' => { + file => 'off029.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off030' => { + file => 'off030.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off031' => { + file => 'off031.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off032' => { + file => 'off032.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off033' => { + file => 'off033.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off034' => { + file => 'off034.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off035' => { + file => 'off035.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off036' => { + file => 'off036.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off037' => { + file => 'off037.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off038' => { + file => 'off038.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off039' => { + file => 'off039.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off040' => { + file => 'off040.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off041' => { + file => 'off041.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off042' => { + file => 'off042.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off043' => { + file => 'off043.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off044' => { + file => 'off044.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off045' => { + file => 'off045.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off046' => { + file => 'off046.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off047' => { + file => 'off047.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off048' => { + file => 'off048.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off049' => { + file => 'off049.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off050' => { + file => 'off050.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off051' => { + file => 'off051.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off052' => { + file => 'off052.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off053' => { + file => 'off053.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off054' => { + file => 'off054.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off055' => { + file => 'off055.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off056' => { + file => 'off056.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off057' => { + file => 'off057.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off058' => { + file => 'off058.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off059' => { + file => 'off059.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off060' => { + file => 'off060.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off061' => { + file => 'off061.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off062' => { + file => 'off062.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off063' => { + file => 'off063.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off064' => { + file => 'off064.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off065' => { + file => 'off065.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off066' => { + file => 'off066.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off067' => { + file => 'off067.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off068' => { + file => 'off068.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off069' => { + file => 'off069.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off070' => { + file => 'off070.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off071' => { + file => 'off071.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off072' => { + file => 'off072.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off073' => { + file => 'off073.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off074' => { + file => 'off074.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off075' => { + file => 'off075.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off076' => { + file => 'off076.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off077' => { + file => 'off077.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off078' => { + file => 'off078.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off079' => { + file => 'off079.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off080' => { + file => 'off080.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off081' => { + file => 'off081.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off082' => { + file => 'off082.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off083' => { + file => 'off083.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off084' => { + file => 'off084.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off085' => { + file => 'off085.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off086' => { + file => 'off086.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off087' => { + file => 'off087.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off088' => { + file => 'off088.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off089' => { + file => 'off089.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off090' => { + file => 'off090.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off091' => { + file => 'off091.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off092' => { + file => 'off092.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off093' => { + file => 'off093.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off094' => { + file => 'off094.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off095' => { + file => 'off095.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off096' => { + file => 'off096.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off097' => { + file => 'off097.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off098' => { + file => 'off098.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off099' => { + file => 'off099.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off100' => { + file => 'off100.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off101' => { + file => 'off101.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off102' => { + file => 'off102.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off103' => { + file => 'off103.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off104' => { + file => 'off104.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off105' => { + file => 'off105.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off106' => { + file => 'off106.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off107' => { + file => 'off107.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off108' => { + file => 'off108.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off109' => { + file => 'off109.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off110' => { + file => 'off110.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off111' => { + file => 'off111.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off112' => { + file => 'off112.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off113' => { + file => 'off113.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off114' => { + file => 'off114.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off115' => { + file => 'off115.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off116' => { + file => 'off116.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off117' => { + file => 'off117.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off118' => { + file => 'off118.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off119' => { + file => 'off119.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off120' => { + file => 'off120.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off121' => { + file => 'off121.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off122' => { + file => 'off122.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off123' => { + file => 'off123.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off124' => { + file => 'off124.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off125' => { + file => 'off125.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off126' => { + file => 'off126.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off127' => { + file => 'off127.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off128' => { + file => 'off128.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off129' => { + file => 'off129.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off130' => { + file => 'off130.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off131' => { + file => 'off131.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off132' => { + file => 'off132.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off133' => { + file => 'off133.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off134' => { + file => 'off134.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off135' => { + file => 'off135.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off136' => { + file => 'off136.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off137' => { + file => 'off137.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off138' => { + file => 'off138.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off139' => { + file => 'off139.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off140' => { + file => 'off140.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off141' => { + file => 'off141.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off142' => { + file => 'off142.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off143' => { + file => 'off143.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off144' => { + file => 'off144.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off145' => { + file => 'off145.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off146' => { + file => 'off146.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off147' => { + file => 'off147.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off148' => { + file => 'off148.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off149' => { + file => 'off149.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off150' => { + file => 'off150.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off151' => { + file => 'off151.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off152' => { + file => 'off152.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off153' => { + file => 'off153.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off154' => { + file => 'off154.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off155' => { + file => 'off155.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off156' => { + file => 'off156.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off157' => { + file => 'off157.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off158' => { + file => 'off158.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off159' => { + file => 'off159.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off160' => { + file => 'off160.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off161' => { + file => 'off161.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off162' => { + file => 'off162.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off163' => { + file => 'off163.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off164' => { + file => 'off164.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off165' => { + file => 'off165.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off166' => { + file => 'off166.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off167' => { + file => 'off167.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off168' => { + file => 'off168.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off169' => { + file => 'off169.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off170' => { + file => 'off170.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off171' => { + file => 'off171.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off172' => { + file => 'off172.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off173' => { + file => 'off173.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off174' => { + file => 'off174.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off175' => { + file => 'off175.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off176' => { + file => 'off176.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off177' => { + file => 'off177.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off178' => { + file => 'off178.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off179' => { + file => 'off179.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off180' => { + file => 'off180.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off181' => { + file => 'off181.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off182' => { + file => 'off182.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off183' => { + file => 'off183.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off184' => { + file => 'off184.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off185' => { + file => 'off185.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off186' => { + file => 'off186.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off187' => { + file => 'off187.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off188' => { + file => 'off188.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off189' => { + file => 'off189.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off190' => { + file => 'off190.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off191' => { + file => 'off191.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off192' => { + file => 'off192.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off193' => { + file => 'off193.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off194' => { + file => 'off194.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off195' => { + file => 'off195.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off196' => { + file => 'off196.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off197' => { + file => 'off197.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off198' => { + file => 'off198.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off199' => { + file => 'off199.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off200' => { + file => 'off200.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off201' => { + file => 'off201.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off202' => { + file => 'off202.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off203' => { + file => 'off203.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off204' => { + file => 'off204.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off205' => { + file => 'off205.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off206' => { + file => 'off206.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off207' => { + file => 'off207.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off208' => { + file => 'off208.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off209' => { + file => 'off209.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off210' => { + file => 'off210.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off211' => { + file => 'off211.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off212' => { + file => 'off212.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off213' => { + file => 'off213.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off214' => { + file => 'off214.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off215' => { + file => 'off215.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off216' => { + file => 'off216.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off217' => { + file => 'off217.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off218' => { + file => 'off218.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off219' => { + file => 'off219.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off220' => { + file => 'off220.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off221' => { + file => 'off221.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off222' => { + file => 'off222.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off223' => { + file => 'off223.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off224' => { + file => 'off224.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off225' => { + file => 'off225.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off226' => { + file => 'off226.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off227' => { + file => 'off227.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off228' => { + file => 'off228.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off229' => { + file => 'off229.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off230' => { + file => 'off230.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off231' => { + file => 'off231.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off232' => { + file => 'off232.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off233' => { + file => 'off233.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off234' => { + file => 'off234.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off235' => { + file => 'off235.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off236' => { + file => 'off236.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off237' => { + file => 'off237.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off238' => { + file => 'off238.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off239' => { + file => 'off239.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off240' => { + file => 'off240.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off241' => { + file => 'off241.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off242' => { + file => 'off242.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off243' => { + file => 'off243.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off244' => { + file => 'off244.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off245' => { + file => 'off245.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off246' => { + file => 'off246.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off247' => { + file => 'off247.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off248' => { + file => 'off248.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off249' => { + file => 'off249.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off250' => { + file => 'off250.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off251' => { + file => 'off251.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off252' => { + file => 'off252.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off253' => { + file => 'off253.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off254' => { + file => 'off254.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off255' => { + file => 'off255.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off256' => { + file => 'off256.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off257' => { + file => 'off257.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off258' => { + file => 'off258.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off259' => { + file => 'off259.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off260' => { + file => 'off260.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off261' => { + file => 'off261.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off262' => { + file => 'off262.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off263' => { + file => 'off263.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off264' => { + file => 'off264.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off265' => { + file => 'off265.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off266' => { + file => 'off266.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off267' => { + file => 'off267.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off268' => { + file => 'off268.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off269' => { + file => 'off269.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off270' => { + file => 'off270.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off271' => { + file => 'off271.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off272' => { + file => 'off272.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off273' => { + file => 'off273.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off274' => { + file => 'off274.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off275' => { + file => 'off275.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off276' => { + file => 'off276.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off277' => { + file => 'off277.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off278' => { + file => 'off278.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off279' => { + file => 'off279.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off280' => { + file => 'off280.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off281' => { + file => 'off281.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off282' => { + file => 'off282.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off283' => { + file => 'off283.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off284' => { + file => 'off284.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off285' => { + file => 'off285.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off286' => { + file => 'off286.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off287' => { + file => 'off287.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off288' => { + file => 'off288.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off289' => { + file => 'off289.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off290' => { + file => 'off290.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off291' => { + file => 'off291.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off292' => { + file => 'off292.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off293' => { + file => 'off293.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off294' => { + file => 'off294.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off295' => { + file => 'off295.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off296' => { + file => 'off296.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off297' => { + file => 'off297.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off298' => { + file => 'off298.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off299' => { + file => 'off299.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off300' => { + file => 'off300.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off301' => { + file => 'off301.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off302' => { + file => 'off302.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off303' => { + file => 'off303.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off304' => { + file => 'off304.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off305' => { + file => 'off305.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off306' => { + file => 'off306.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off307' => { + file => 'off307.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off308' => { + file => 'off308.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off309' => { + file => 'off309.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off310' => { + file => 'off310.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off311' => { + file => 'off311.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off312' => { + file => 'off312.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off313' => { + file => 'off313.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off314' => { + file => 'off314.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off315' => { + file => 'off315.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off316' => { + file => 'off316.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off317' => { + file => 'off317.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off318' => { + file => 'off318.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off319' => { + file => 'off319.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off320' => { + file => 'off320.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off321' => { + file => 'off321.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off322' => { + file => 'off322.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off323' => { + file => 'off323.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off324' => { + file => 'off324.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off325' => { + file => 'off325.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off326' => { + file => 'off326.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off327' => { + file => 'off327.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off328' => { + file => 'off328.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off329' => { + file => 'off329.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off330' => { + file => 'off330.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off331' => { + file => 'off331.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off332' => { + file => 'off332.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off333' => { + file => 'off333.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off334' => { + file => 'off334.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off335' => { + file => 'off335.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off336' => { + file => 'off336.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off337' => { + file => 'off337.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off338' => { + file => 'off338.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off339' => { + file => 'off339.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off340' => { + file => 'off340.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off341' => { + file => 'off341.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off342' => { + file => 'off342.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off343' => { + file => 'off343.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off344' => { + file => 'off344.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off345' => { + file => 'off345.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off346' => { + file => 'off346.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off347' => { + file => 'off347.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off348' => { + file => 'off348.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off349' => { + file => 'off349.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off350' => { + file => 'off350.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off351' => { + file => 'off351.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off352' => { + file => 'off352.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off353' => { + file => 'off353.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off354' => { + file => 'off354.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off355' => { + file => 'off355.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off356' => { + file => 'off356.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off357' => { + file => 'off357.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off358' => { + file => 'off358.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off359' => { + file => 'off359.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off360' => { + file => 'off360.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off361' => { + file => 'off361.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off362' => { + file => 'off362.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off363' => { + file => 'off363.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off364' => { + file => 'off364.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off365' => { + file => 'off365.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off366' => { + file => 'off366.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off367' => { + file => 'off367.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off368' => { + file => 'off368.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off369' => { + file => 'off369.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off370' => { + file => 'off370.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off371' => { + file => 'off371.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off372' => { + file => 'off372.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off373' => { + file => 'off373.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off374' => { + file => 'off374.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off375' => { + file => 'off375.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off376' => { + file => 'off376.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off377' => { + file => 'off377.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off378' => { + file => 'off378.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off379' => { + file => 'off379.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off380' => { + file => 'off380.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off381' => { + file => 'off381.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off382' => { + file => 'off382.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off383' => { + file => 'off383.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off384' => { + file => 'off384.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off385' => { + file => 'off385.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off386' => { + file => 'off386.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off387' => { + file => 'off387.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off388' => { + file => 'off388.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off389' => { + file => 'off389.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off390' => { + file => 'off390.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off391' => { + file => 'off391.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off392' => { + file => 'off392.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off393' => { + file => 'off393.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off394' => { + file => 'off394.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off395' => { + file => 'off395.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off396' => { + file => 'off396.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off397' => { + file => 'off397.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off398' => { + file => 'off398.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off399' => { + file => 'off399.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off400' => { + file => 'off400.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off401' => { + file => 'off401.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off402' => { + file => 'off402.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off403' => { + file => 'off403.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off404' => { + file => 'off404.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off405' => { + file => 'off405.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off406' => { + file => 'off406.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off407' => { + file => 'off407.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off408' => { + file => 'off408.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off409' => { + file => 'off409.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off410' => { + file => 'off410.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off411' => { + file => 'off411.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off412' => { + file => 'off412.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off413' => { + file => 'off413.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off414' => { + file => 'off414.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off415' => { + file => 'off415.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off416' => { + file => 'off416.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off417' => { + file => 'off417.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off418' => { + file => 'off418.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off419' => { + file => 'off419.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off420' => { + file => 'off420.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off421' => { + file => 'off421.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off422' => { + file => 'off422.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off423' => { + file => 'off423.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off424' => { + file => 'off424.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off425' => { + file => 'off425.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off426' => { + file => 'off426.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off427' => { + file => 'off427.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off428' => { + file => 'off428.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off429' => { + file => 'off429.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off430' => { + file => 'off430.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off431' => { + file => 'off431.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off432' => { + file => 'off432.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off433' => { + file => 'off433.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off434' => { + file => 'off434.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off435' => { + file => 'off435.pm', + version => '6.60', + }, + 'Date::Manip::Offset::off436' => { + file => 'off436.pm', + version => '6.60', + }, + 'Date::Manip::Recur' => { + file => 'Recur.pm', + version => '6.60', + }, + 'Date::Manip::TZ' => { + file => 'TZ.pm', + version => '6.60', + }, + 'Date::Manip::TZ::a00' => { + file => 'a00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afabid00' => { + file => 'afabid00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afaccr00' => { + file => 'afaccr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afalgi00' => { + file => 'afalgi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afbiss00' => { + file => 'afbiss00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afcair00' => { + file => 'afcair00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afcasa00' => { + file => 'afcasa00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afceut00' => { + file => 'afceut00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afel_a00' => { + file => 'afel_a00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afjoha00' => { + file => 'afjoha00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afkhar00' => { + file => 'afkhar00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aflago00' => { + file => 'aflago00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afmapu00' => { + file => 'afmapu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afmonr00' => { + file => 'afmonr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afnair00' => { + file => 'afnair00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afndja00' => { + file => 'afndja00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aftrip00' => { + file => 'aftrip00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aftuni00' => { + file => 'aftuni00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::afwind00' => { + file => 'afwind00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amadak00' => { + file => 'amadak00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amanch00' => { + file => 'amanch00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amarag00' => { + file => 'amarag00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amasun00' => { + file => 'amasun00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amatik00' => { + file => 'amatik00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambahi00' => { + file => 'ambahi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambahi01' => { + file => 'ambahi01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambarb00' => { + file => 'ambarb00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambele00' => { + file => 'ambele00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambeli00' => { + file => 'ambeli00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambeul00' => { + file => 'ambeul00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amblan00' => { + file => 'amblan00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amboa_00' => { + file => 'amboa_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambogo00' => { + file => 'ambogo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambois00' => { + file => 'ambois00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ambuen00' => { + file => 'ambuen00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcamb00' => { + file => 'amcamb00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcamp00' => { + file => 'amcamp00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcanc00' => { + file => 'amcanc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcara00' => { + file => 'amcara00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcata00' => { + file => 'amcata00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcaye00' => { + file => 'amcaye00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcent00' => { + file => 'amcent00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amchic00' => { + file => 'amchic00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amchih00' => { + file => 'amchih00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcord00' => { + file => 'amcord00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcost00' => { + file => 'amcost00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcres00' => { + file => 'amcres00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcuia00' => { + file => 'amcuia00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amcura00' => { + file => 'amcura00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amdanm00' => { + file => 'amdanm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amdaws00' => { + file => 'amdaws00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amdaws01' => { + file => 'amdaws01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amdenv00' => { + file => 'amdenv00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amdetr00' => { + file => 'amdetr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amedmo00' => { + file => 'amedmo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ameiru00' => { + file => 'ameiru00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amel_s00' => { + file => 'amel_s00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amfort00' => { + file => 'amfort00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amfort01' => { + file => 'amfort01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amglac00' => { + file => 'amglac00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amgodt00' => { + file => 'amgodt00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amgoos00' => { + file => 'amgoos00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amgran00' => { + file => 'amgran00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amguat00' => { + file => 'amguat00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amguay00' => { + file => 'amguay00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amguya00' => { + file => 'amguya00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amhali00' => { + file => 'amhali00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amhava00' => { + file => 'amhava00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amherm00' => { + file => 'amherm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amindi00' => { + file => 'amindi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aminuv00' => { + file => 'aminuv00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amiqal00' => { + file => 'amiqal00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amjama00' => { + file => 'amjama00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amjuju00' => { + file => 'amjuju00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amjune00' => { + file => 'amjune00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amknox00' => { + file => 'amknox00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amla_p00' => { + file => 'amla_p00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amla_r00' => { + file => 'amla_r00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amlima00' => { + file => 'amlima00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amlos_00' => { + file => 'amlos_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amloui00' => { + file => 'amloui00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammace00' => { + file => 'ammace00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammana00' => { + file => 'ammana00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammana01' => { + file => 'ammana01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammare00' => { + file => 'ammare00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammart00' => { + file => 'ammart00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammata00' => { + file => 'ammata00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammaza00' => { + file => 'ammaza00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammend00' => { + file => 'ammend00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammeno00' => { + file => 'ammeno00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammeri00' => { + file => 'ammeri00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammetl00' => { + file => 'ammetl00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammexi00' => { + file => 'ammexi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammiqu00' => { + file => 'ammiqu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammonc00' => { + file => 'ammonc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammont00' => { + file => 'ammont00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammont01' => { + file => 'ammont01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ammont02' => { + file => 'ammont02.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnass00' => { + file => 'amnass00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnew_00' => { + file => 'amnew_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnew_01' => { + file => 'amnew_01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnipi00' => { + file => 'amnipi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnome00' => { + file => 'amnome00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amnoro00' => { + file => 'amnoro00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amojin00' => { + file => 'amojin00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampana00' => { + file => 'ampana00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampang00' => { + file => 'ampang00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampara00' => { + file => 'ampara00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampete00' => { + file => 'ampete00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amphoe00' => { + file => 'amphoe00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amport00' => { + file => 'amport00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amport01' => { + file => 'amport01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amport02' => { + file => 'amport02.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampuer00' => { + file => 'ampuer00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ampunt00' => { + file => 'ampunt00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amrain00' => { + file => 'amrain00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amrank00' => { + file => 'amrank00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amreci00' => { + file => 'amreci00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amregi00' => { + file => 'amregi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amreso00' => { + file => 'amreso00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amrio_00' => { + file => 'amrio_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amrio_01' => { + file => 'amrio_01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsalt00' => { + file => 'amsalt00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsan_00' => { + file => 'amsan_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsan_01' => { + file => 'amsan_01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsant00' => { + file => 'amsant00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsant01' => { + file => 'amsant01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsant02' => { + file => 'amsant02.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsao_00' => { + file => 'amsao_00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amscor00' => { + file => 'amscor00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amsitk00' => { + file => 'amsitk00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amst_j00' => { + file => 'amst_j00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amswif00' => { + file => 'amswif00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amtegu00' => { + file => 'amtegu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amtell00' => { + file => 'amtell00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amthul00' => { + file => 'amthul00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amthun00' => { + file => 'amthun00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amtiju00' => { + file => 'amtiju00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amtoro00' => { + file => 'amtoro00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amtucu00' => { + file => 'amtucu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amushu00' => { + file => 'amushu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amvanc00' => { + file => 'amvanc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amveva00' => { + file => 'amveva00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amvinc00' => { + file => 'amvinc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amwhit00' => { + file => 'amwhit00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amwina00' => { + file => 'amwina00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amwinn00' => { + file => 'amwinn00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amyaku00' => { + file => 'amyaku00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::amyell00' => { + file => 'amyell00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ancase00' => { + file => 'ancase00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::andavi00' => { + file => 'andavi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::andumo00' => { + file => 'andumo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::anmacq00' => { + file => 'anmacq00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::anmaws00' => { + file => 'anmaws00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::anpalm00' => { + file => 'anpalm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::anroth00' => { + file => 'anroth00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ansyow00' => { + file => 'ansyow00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::antrol00' => { + file => 'antrol00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::anvost00' => { + file => 'anvost00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asalma00' => { + file => 'asalma00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asamma00' => { + file => 'asamma00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asanad00' => { + file => 'asanad00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asaqta00' => { + file => 'asaqta00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asaqto00' => { + file => 'asaqto00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asashg00' => { + file => 'asashg00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asatyr00' => { + file => 'asatyr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbagh00' => { + file => 'asbagh00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbaku00' => { + file => 'asbaku00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbang00' => { + file => 'asbang00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbarn00' => { + file => 'asbarn00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbeir00' => { + file => 'asbeir00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbish00' => { + file => 'asbish00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asbrun00' => { + file => 'asbrun00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aschit00' => { + file => 'aschit00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aschoi00' => { + file => 'aschoi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ascolo00' => { + file => 'ascolo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asdama00' => { + file => 'asdama00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asdhak00' => { + file => 'asdhak00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asdili00' => { + file => 'asdili00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asduba00' => { + file => 'asduba00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asdush00' => { + file => 'asdush00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asfama00' => { + file => 'asfama00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asgaza00' => { + file => 'asgaza00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ashebr00' => { + file => 'ashebr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asho_c00' => { + file => 'asho_c00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ashong00' => { + file => 'ashong00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ashovd00' => { + file => 'ashovd00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asirku00' => { + file => 'asirku00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asjaka00' => { + file => 'asjaka00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asjaya00' => { + file => 'asjaya00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asjeru00' => { + file => 'asjeru00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askabu00' => { + file => 'askabu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askamc00' => { + file => 'askamc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askara00' => { + file => 'askara00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askath00' => { + file => 'askath00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askhan00' => { + file => 'askhan00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askolk00' => { + file => 'askolk00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askras00' => { + file => 'askras00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askual00' => { + file => 'askual00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::askuch00' => { + file => 'askuch00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asmaca00' => { + file => 'asmaca00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asmaga00' => { + file => 'asmaga00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asmaka00' => { + file => 'asmaka00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asmani00' => { + file => 'asmani00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asnico00' => { + file => 'asnico00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asnovo00' => { + file => 'asnovo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asnovo01' => { + file => 'asnovo01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asomsk00' => { + file => 'asomsk00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asoral00' => { + file => 'asoral00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aspont00' => { + file => 'aspont00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aspyon00' => { + file => 'aspyon00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asqata00' => { + file => 'asqata00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asqyzy00' => { + file => 'asqyzy00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asriya00' => { + file => 'asriya00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::assakh00' => { + file => 'assakh00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::assama00' => { + file => 'assama00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asseou00' => { + file => 'asseou00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asshan00' => { + file => 'asshan00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::assing00' => { + file => 'assing00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::assred00' => { + file => 'assred00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astaip00' => { + file => 'astaip00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astash00' => { + file => 'astash00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astbil00' => { + file => 'astbil00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astehr00' => { + file => 'astehr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asthim00' => { + file => 'asthim00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astoky00' => { + file => 'astoky00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::astoms00' => { + file => 'astoms00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asulaa00' => { + file => 'asulaa00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asurum00' => { + file => 'asurum00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asustm00' => { + file => 'asustm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asvlad00' => { + file => 'asvlad00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asyaku00' => { + file => 'asyaku00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asyang00' => { + file => 'asyang00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asyeka00' => { + file => 'asyeka00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::asyere00' => { + file => 'asyere00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atazor00' => { + file => 'atazor00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atberm00' => { + file => 'atberm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atcana00' => { + file => 'atcana00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atcape00' => { + file => 'atcape00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atfaro00' => { + file => 'atfaro00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atmade00' => { + file => 'atmade00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atreyk00' => { + file => 'atreyk00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atsout00' => { + file => 'atsout00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::atstan00' => { + file => 'atstan00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::auadel00' => { + file => 'auadel00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aubris00' => { + file => 'aubris00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aubrok00' => { + file => 'aubrok00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aucurr00' => { + file => 'aucurr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::audarw00' => { + file => 'audarw00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aueucl00' => { + file => 'aueucl00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::auhoba00' => { + file => 'auhoba00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aulind00' => { + file => 'aulind00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aulord00' => { + file => 'aulord00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aumelb00' => { + file => 'aumelb00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::aupert00' => { + file => 'aupert00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ausydn00' => { + file => 'ausydn00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::b00' => { + file => 'b00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::c00' => { + file => 'c00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::cet00' => { + file => 'cet00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::d00' => { + file => 'd00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::e00' => { + file => 'e00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eet00' => { + file => 'eet00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmt00' => { + file => 'etgmt00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm00' => { + file => 'etgmtm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm01' => { + file => 'etgmtm01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm02' => { + file => 'etgmtm02.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm03' => { + file => 'etgmtm03.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm04' => { + file => 'etgmtm04.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm05' => { + file => 'etgmtm05.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm06' => { + file => 'etgmtm06.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm07' => { + file => 'etgmtm07.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm08' => { + file => 'etgmtm08.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm09' => { + file => 'etgmtm09.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm10' => { + file => 'etgmtm10.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm11' => { + file => 'etgmtm11.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm12' => { + file => 'etgmtm12.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtm13' => { + file => 'etgmtm13.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp00' => { + file => 'etgmtp00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp01' => { + file => 'etgmtp01.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp02' => { + file => 'etgmtp02.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp03' => { + file => 'etgmtp03.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp04' => { + file => 'etgmtp04.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp05' => { + file => 'etgmtp05.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp06' => { + file => 'etgmtp06.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp07' => { + file => 'etgmtp07.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp08' => { + file => 'etgmtp08.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp09' => { + file => 'etgmtp09.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp10' => { + file => 'etgmtp10.pm', + version => '6.60', + }, + 'Date::Manip::TZ::etgmtp11' => { + file => 'etgmtp11.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euamst00' => { + file => 'euamst00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euando00' => { + file => 'euando00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euastr00' => { + file => 'euastr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euathe00' => { + file => 'euathe00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eubelg00' => { + file => 'eubelg00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euberl00' => { + file => 'euberl00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eubrus00' => { + file => 'eubrus00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eubuch00' => { + file => 'eubuch00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eubuda00' => { + file => 'eubuda00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euchis00' => { + file => 'euchis00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eucope00' => { + file => 'eucope00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eudubl00' => { + file => 'eudubl00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eugibr00' => { + file => 'eugibr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euhels00' => { + file => 'euhels00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euista00' => { + file => 'euista00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eukali00' => { + file => 'eukali00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eukiev00' => { + file => 'eukiev00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eukiro00' => { + file => 'eukiro00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eulisb00' => { + file => 'eulisb00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eulond00' => { + file => 'eulond00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euluxe00' => { + file => 'euluxe00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eumadr00' => { + file => 'eumadr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eumalt00' => { + file => 'eumalt00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eumins00' => { + file => 'eumins00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eumona00' => { + file => 'eumona00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eumosc00' => { + file => 'eumosc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euoslo00' => { + file => 'euoslo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eupari00' => { + file => 'eupari00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euprag00' => { + file => 'euprag00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euriga00' => { + file => 'euriga00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eurome00' => { + file => 'eurome00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eusama00' => { + file => 'eusama00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eusara00' => { + file => 'eusara00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eusimf00' => { + file => 'eusimf00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eusofi00' => { + file => 'eusofi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eustoc00' => { + file => 'eustoc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eutall00' => { + file => 'eutall00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::eutira00' => { + file => 'eutira00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euulya00' => { + file => 'euulya00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euuzhg00' => { + file => 'euuzhg00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euvien00' => { + file => 'euvien00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euviln00' => { + file => 'euviln00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euvolg00' => { + file => 'euvolg00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euwars00' => { + file => 'euwars00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euzapo00' => { + file => 'euzapo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::euzuri00' => { + file => 'euzuri00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::f00' => { + file => 'f00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::g00' => { + file => 'g00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::h00' => { + file => 'h00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::i00' => { + file => 'i00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inchag00' => { + file => 'inchag00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inchri00' => { + file => 'inchri00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::incoco00' => { + file => 'incoco00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inkerg00' => { + file => 'inkerg00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inmahe00' => { + file => 'inmahe00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inmald00' => { + file => 'inmald00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inmaur00' => { + file => 'inmaur00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::inreun00' => { + file => 'inreun00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::k00' => { + file => 'k00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::l00' => { + file => 'l00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::m00' => { + file => 'm00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::met00' => { + file => 'met00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::n00' => { + file => 'n00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::o00' => { + file => 'o00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::p00' => { + file => 'p00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paapia00' => { + file => 'paapia00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paauck00' => { + file => 'paauck00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paboug00' => { + file => 'paboug00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pachat00' => { + file => 'pachat00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pachuu00' => { + file => 'pachuu00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paeast00' => { + file => 'paeast00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paefat00' => { + file => 'paefat00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paende00' => { + file => 'paende00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pafaka00' => { + file => 'pafaka00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pafiji00' => { + file => 'pafiji00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pafuna00' => { + file => 'pafuna00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pagala00' => { + file => 'pagala00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pagamb00' => { + file => 'pagamb00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paguad00' => { + file => 'paguad00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paguam00' => { + file => 'paguam00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pahono00' => { + file => 'pahono00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pakiri00' => { + file => 'pakiri00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pakosr00' => { + file => 'pakosr00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pakwaj00' => { + file => 'pakwaj00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pamaju00' => { + file => 'pamaju00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pamarq00' => { + file => 'pamarq00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::panaur00' => { + file => 'panaur00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paniue00' => { + file => 'paniue00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::panorf00' => { + file => 'panorf00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::panoum00' => { + file => 'panoum00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::papago00' => { + file => 'papago00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::papala00' => { + file => 'papala00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::papitc00' => { + file => 'papitc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::papohn00' => { + file => 'papohn00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::paport00' => { + file => 'paport00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pararo00' => { + file => 'pararo00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::patahi00' => { + file => 'patahi00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::patara00' => { + file => 'patara00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::patong00' => { + file => 'patong00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pawake00' => { + file => 'pawake00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::pawall00' => { + file => 'pawall00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::q00' => { + file => 'q00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::r00' => { + file => 'r00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::s00' => { + file => 's00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::t00' => { + file => 't00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::u00' => { + file => 'u00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::ut00' => { + file => 'ut00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::utc00' => { + file => 'utc00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::v00' => { + file => 'v00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::w00' => { + file => 'w00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::wet00' => { + file => 'wet00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::x00' => { + file => 'x00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::y00' => { + file => 'y00.pm', + version => '6.60', + }, + 'Date::Manip::TZ::z00' => { + file => 'z00.pm', + version => '6.60', + }, + 'Date::Manip::TZ_Base' => { + file => 'TZ_Base.pm', + version => '6.60', + }, + 'Date::Manip::TZdata' => { + file => 'TZdata.pm', + version => '6.60', + }, + 'Date::Manip::Zones' => { + file => 'Zones.pm', + version => '6.60', + }, + + }, + } + ) + : ()), + + ($EU_MM_V > 6.46 + ? (META_MERGE => { + 'meta-spec' => { + version => 2, + }, + resources => { + repository => { + type => 'git', + web => 'https://github.com/SBECK-github/Date-Manip', + url => 'git://github.com/SBECK-github/Date-Manip.git', + }, + }, + } + ) + : ()), + + EXE_FILES => [ + 'examples/dm_date', + 'examples/dm_zdump', + + ], + + MAN1PODS => { + 'examples/dm_date' => 'blib/man1/dm_date.1', + 'examples/dm_zdump' => 'blib/man1/dm_zdump.1', + }, + + +); diff --git a/README b/README new file mode 100644 index 0000000..c2ebbf4 --- /dev/null +++ b/README @@ -0,0 +1,210 @@ +NAME + Date::Manip - Date manipulation routines + +DESCRIPTION + Date::Manip is a series of modules designed to make any common date/time + operation easy to do. Operations such as comparing two times, + determining a date a given amount of time from another, or parsing + international times are all easily done. It deals with time as it is + used in the Gregorian calendar (the one currently in use) with full + support for time changes due to daylight saving time. + + From the very beginning, the main focus of Date::Manip has been to be + able to do ANY desired date/time operation easily. Many other modules + exist which may do a subset of these operations quicker or more + efficiently, but no other module can do all of the operations available + in Date::Manip. + + Since many other date/time modules exist, some of which may do the + specific operation(s) you need faster, be sure to read "SHOULD I USE + DATE::MANIP" in Date::Manip::Misc before deciding which of the Date and + Time modules from CPAN is for you. However, if you want one module to do + it all, Date::Manip is the one to use. + + Date::Manip has functionality to work with several fundamental types of + data. + + dates + The word date is used extensively here and is somewhat misleading. + In Date::Manip, a date consists of three pieces of information: a + calendar date, a time of day, and time zone information. Calendar + dates and times are fully handled. Time zones are handled as well, + but depending on how you use Date::Manip, there may be some + limitations as discussed below. + + delta + A delta is an amount of time (i.e. the amount of time between two + different dates). A delta refers only to an amount of time. It + includes no information about a starting or ending date/time. Most + people will think of a delta as an amount of time, but the term + 'time' is already used so much in this module that I didn't want to + use it here in order to avoid confusion. + + recurrence + A recurring event is something which occurs on a regular recurring + basis. + + holidays and events + Holidays and events are basically named dates or recurrences. + + Among other things, Date::Manip allow you to: + + * Enter a date in practically any format you choose. + + * Compare two dates, entered in widely different formats to determine + which is earlier. + + * Extract any information you want from a date using a format string + similar to the Unix date command. + + * Determine the amount of time between two dates, or add an amount of + time to a date to get a second date. + + * Work with dates with dates using international formats (foreign + month names, 12/10/95 referring to October rather than December, + etc.). + + * To find a list of dates where a recurring event happens. + + Each of these tasks is trivial (one or two lines at most) with this + package. + +HOW TO USE DATE::MANIP + There are three different ways to use Date::Manip . There are three + interfaces (version 5 functional interface, version 6 functional, and + version 6 object-oriented). A complete description of each is included + in the Date::Manip::Interfaces document. The recommended (and the only + one with access to the full functionality of the module) is using the + Object-Oriented interface. + +SEE ALSO + Because Date::Manip performs so many operations, the documentation is + extensive. It includes the following documents: + + Information about the different interfaces + Read this for a detailed description of each of the interfaces, + including information on how to choose and use the interface best suited + to your situation. + + Date::Manip::Interfaces + A complete description of the functional interfaces available. NOTE: + it is recommended that you use the OO interface wherever possible as + the functional interfaces have some imitations. + + A description of the functional interfaces: + Date::Manip::DM5 + The version 5 functional interface + + Date::Manip::DM6 + The version 6 functional interface + + Objects and configuration + An introduction to the Date::Manip classes used by the object-oriented + interface and how to configure them: + + Date::Manip::Objects + An overview of the various Date::Manip modules, and how to use them. + + Date::Manip::Config + Information for configuring Date::Manip + + Date::Manip object-oriented modules + These are the modules for using the object-oriented interface. + + Date::Manip::Obj + This is the base class. All other classes listed here inherit the + methods defined in this class. + + Date::Manip::Base + A module for doing low-level date operations. + + Date::Manip::TZ + A module for working with time zones. + + Date::Manip::Date + The module for working with dates. + + Date::Manip::Delta + The module for working with deltas (amount of time). + + Date::Manip::Recur + The module for working with recurrences (recurring dates). + + Timezone information + Date::Manip::DM5abbrevs + Time zone abbreviations used in the version 5 interface. + + Date::Manip::Zones + Time zone data included in Date::Manip used in the version 6 + interfaces. + + Miscellaneous information: + Date::Manip::Calc + Detailed information on how date calculations are done. + + Date::Manip::Holidays + Information on defining and using holidays and events. + + Date::Manip::ConfigFile + A sample config file. + + Date::Manip::Lang + Information about the languages supported by Date::Manip and how to + add a new language. + + Date::Manip::Lang::english + Date::Manip::Lang::catalan + Date::Manip::Lang::danish + Date::Manip::Lang::dutch + Date::Manip::Lang::finnish + Date::Manip::Lang::french + Date::Manip::Lang::german + Date::Manip::Lang::italian + Date::Manip::Lang::norwegian + Date::Manip::Lang::polish + Date::Manip::Lang::portugue + Date::Manip::Lang::romanian + Date::Manip::Lang::russian + Date::Manip::Lang::spanish + Date::Manip::Lang::swedish + Date::Manip::Lang::turkish + A description of the parseable words in each language currently + supported by Date::Manip. + + Information about the module and administrative things: + Date::Manip::Migration5to6 + Information on changes necessary to scripts when upgrading from 5.xx + to 6.xx. + + Date::Manip::Changes5 + Change log for Date::Manip 5.xx + + Date::Manip::Changes5to6 + Differences between version 5.xx and 6.00 (including information on + upgrading); this contains more details than the Migration5to6 + document. + + Date::Manip::Changes6 + Change log for Date::Manip 6.xx + + Date::Manip::Misc + Miscellaneous information about Date::Manip (who should use it; + acknowledgments). + + Date::Manip::History + Musings on the history of Date::Manip written around it's 20th + birthday. + + Date::Manip::Problems + Common problems and instructions for reporting bugs. + + Date::Manip::Examples + Examples of how to use Date::Manip. + +LICENSE + This script is free software; you can redistribute it and/or modify it + under the same terms as Perl itself. + +AUTHOR + Sullivan Beck (sbeck@cpan.org) + diff --git a/README.first b/README.first new file mode 100644 index 0000000..9c144c8 --- /dev/null +++ b/README.first @@ -0,0 +1,47 @@ +Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + + +Please send questions or bug reports to me rather than posting them to +a newsgroup since I may miss them there, BUT read the next paragraph +before you automatically start firing off email to me! + +If you have questions about Date::Manip, refer to the Date::Manip manual. +Don't know what I'm talking about, or don't know how to access that? Read +the perlpod man page. Alternately, an online version of the Date::Manip +manual page is included on any CPAN site. + +PLEASE read the man page thoroughly before emailing me. If you've done +this, I'll be glad to answer any questions not covered or that are unclear +in the manual. + +=== + +Date::Manip 6.xx represents a complete reorganization (and almost complete +rewrite) of the module. It includes the original functional Date::Manip +module, and a number of OO modules which now do the real work. The OO +modules may also be used directly, bypassing the functional interface. + +As of 6.xx, Date::Manip has full support for all timezones in the standard +Olsen database (and also supports all Windows timezone names, and timezones +suggested by several other standards). Full support for daylight saving +time is included. + +Please refer to the Date::Manip::Changes5to6 and Date::Manip::Migration5to6 +man pages for a more detailed breakdown of changes made in 6.00, and +suggestions for a few changes which may be required to get existing code +to run using the new modules. + +It should be noted that version 6.xx required perl 5.10 or higher. + +Date::Manip 5.xx is integrated into the package (i.e. both 5.xx and 6.xx +are available in the 6.xx release), so Date::Manip will continue to run +(the old version only) on older versions of perl. Please refer to the +main Date::Manip document for more details. + +=== + +AUTHOR + +Sullivan Beck (sbeck@cpan.org) diff --git a/examples/README.examples b/examples/README.examples new file mode 100644 index 0000000..83ad51a --- /dev/null +++ b/examples/README.examples @@ -0,0 +1,28 @@ +If you have Date::Manip 5.xx installed (which is the case if you +have a perl version less than 5.010), the examples are included +in the Date::Manip man page. + +If you have Date::Manip 6.xx installed, examples are included +in the Date::Manip::Examples man page, and in this directory. + +This directory contains two scripts which use Date::Manip to +duplicate the functionality of two common unix scripts. + +The dm_date script duplicates the functionality of the unix 'date' +command with a few differences. + + o It does not include the functionality to set the + system date. + + o The date strings that can be read (using the -d + or -f options) are anything that Date::Manip can + parse. + + o The format string is any string suitable for passing + to the Date::Manip::Date::printf function. + +The dm_zdump duplicates the functionality of the unix 'zdump' +command. This should be a drop-in replacement for the zdump +command except that the first two lines and the last two lines +of zdump output do not contain any useful output. The dm_zdump +command does not reproduce these lines. diff --git a/examples/dm_date b/examples/dm_date new file mode 100755 index 0000000..337a825 --- /dev/null +++ b/examples/dm_date @@ -0,0 +1,222 @@ +#!/usr/bin/perl -w +# Copyright (c) 2009-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### + +require 5.010000; +use Date::Manip::Date; +use IO::File; +use strict; +use warnings; + +############################################################################### +# HELP +############################################################################### + +our($usage); +my $COM = $0; +$COM =~ s/^.*\///; + +$usage= + "usage: $COM OPTIONS + -h/--help : Print help. + + Options to tell which date to print (only one of + the following should be entered... if none are, + 'now' is printed). + + -d/--date=STRING : Print information about that date. + -f/--file=FILE : Print out each date (1/line) in FILE + -r/--reference=FILE + : Print out the last modification + time of FILE + + Other options + + -R/--rfc-2822 : Print the date in RFC 2822 format + (any +FORMAT string is ignored) + Mon, 07 Aug 2006 12:34:56 -0600 + -u/--utc/--universal: + Converts date(s) to UT time. +"; + +=pod + +=head1 NAME + +dm_date - print out the system date and time + +=head1 SYNOPSIS + +This performs the same operation as the unix 'date' command, but using +the Date::Manip module. + + dm_date [OPTION]... [+FORMAT] + +=head1 DESCRIPTION + +This displays information about the current system time, or some +other time. Options are: + +=over 4 + +=item -h, --help + +Print online help. + +=item -d STRING, --date=STRING + +Display time described by STRING. STRING can be any string which can +be parsed by Date::Manip. Please refer to the Date::Manip::Date +documentation for details. + +=item -f DATEFILE, --file=DATEFILE + +This reads each line in DATEFILE, and extracts a date from it and +prints out the information. + +Blank lines and lines starting with a pound (#) are ignored. Lines +not containing a valid date are also ignored. + +=item -r FILE, --reference=FILE + +Displays the last modification time of FILE. + +=item -R, --rfc-2822 + +Displayc the date and time in RFC 2822 format. + +Example: Mon, 07 Aug 2006 12:34:56 -0600 + +=item -u, --utc, --universal + +Converts the date to UT (GMT) and prints out the information. + +=back + +Only one of -d, -f, or -r should be included. If more than +one is included, the first one from the list (-d, -f, -r) +is used and any other is ignored. + +The format string starts with a plus (+) and contains any +of the format directives described in Date::Manip::Date. + +=head1 KNOWN BUGS + +None known. + +=head1 BUGS AND QUESTIONS + +Please refer to the Date::Manip::Problems documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +Date::Manip::Date + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut + +############################################################################### +# PARSE ARGUMENTS +############################################################################### + +our($date,$file,$ref,$rfc,$ut,$format); + +while ($_ = shift) { + + (print $usage), exit if ($_ eq "-h" || $_ eq "--help"); + + $date = shift, next if ($_ eq "-d" || $_ eq "--date"); + $date = $1, next if ($_ =~ /^\-\-date=(.*)/); + + $file = shift, next if ($_ eq "-f" || $_ eq "--file"); + $file = $1, next if ($_ =~ /^\-\-file=(.*)/); + + $ref = shift, next if ($_ eq "-r" || $_ eq "--reference"); + $ref = $1, next if ($_ =~ /^\-\-reference=(.*)/); + + $rfc = 1, next if ($_ eq "-R" || $_ eq "--rfc-2822"); + $ut = 1, next if ($_ eq "-u" || $_ eq "--utc" || $_ eq "--universal"); + + $format = $_, last if ($_ =~ s/^\+//); + die $usage; +} + +if ($rfc) { + $format ='%a, %d %b %Y %H:%M:%S %z'; +} + +if (@ARGV || ! $format) { + die $usage; +} + +############################################################################ +# MAIN PROGRAM +############################################################################ + + +my $d = new Date::Manip::Date; + +if ($date) { + my $err = $d->parse($date); + exit 1 if ($err); + $d->convert("GMT") if ($ut); + print $d->printf($format),"\n"; + +} elsif ($file) { + my $in = new IO::File; + $in->open($file) || die "ERROR: unable to open date file: $file\n\n$usage"; + my @in = <$in>; + $in->close(); + chomp(@in); + + foreach my $date (@in) { + $date =~ s/\#.*//; + $date =~ s/\s*$//; + next if (! $date); + + my $err = $d->parse($date); + next if ($err); + $d->convert("GMT") if ($ut); + print $d->printf($format),"\n"; + } + +} elsif ($ref) { + if (-e $ref) { + my $date = ( stat($ref) )[9]; + my $err = $d->parse("epoch $date"); + exit if ($err); + $d->convert("GMT") if ($ut); + print $d->printf($format),"\n"; + } + +} else { + my $err = $d->parse("now"); + exit 1 if ($err); + $d->convert("GMT") if ($ut); + print $d->printf($format),"\n"; +} + + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/examples/dm_zdump b/examples/dm_zdump new file mode 100755 index 0000000..6b385b8 --- /dev/null +++ b/examples/dm_zdump @@ -0,0 +1,203 @@ +#!/usr/bin/perl -w +# Copyright (c) 2009-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### + +require 5.010000; +use Date::Manip::Date; +use IO::File; +use strict; +use warnings; + +############################################################################### +# HELP +############################################################################### + +our($usage); +my $COM = $0; +$COM =~ s/^.*\///; + +$usage= + "usage: $COM OPTIONS [ZONE ZONE ...] + -h/--help : Print help. + + -v/--vebose : Prints a full description of each + timezone. + + -c/--cutoff YEAR : Cut off verbose output near the + start of YEAR. + +"; + +=pod + +=head1 NAME + +dm_zdump - timezone dumper + +=head1 SYNOPSIS + +This performs the same operation as the unix 'zdump' command, but using +the Date::Manip module. + + dm_zdump [-v] [-c YEAR] [ZONE ZONE ...] + +=head1 DESCRIPTION + +This displays the current time in each ZONE named on the command line +unless the -v option is given. + +=over 4 + +=item -h, --help + +Print online help. + +=item -v, --verbose + +This displays all critical dates (i.e. the times when a time change +occurs due to the timezone description) for each of the timezones +listed (or the local timezone if none are listed). + +Each critical date is printed as two lines of output: the last second +before the change occurs, and the first second of the new time. + +By default, all critical dates from Jan 1, 0001 until the year 20 years +in the future are printed, but this can be changed with the -c option. + +=item -c, --cutoff YEAR + +This specifies the cutoff year. All critical dates up to the start of +YEAR are given. The GMT time Jan 01, YEAR at 00:00:00 is the cutoff +time. + +=back + +=head1 KNOWN BUGS + +None known. + +=head1 BUGS AND QUESTIONS + +Please refer to the Date::Manip::Problems documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +Date::Manip::Date + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut + +############################################################################### +# PARSE ARGUMENTS +############################################################################### + +our($date,$dmt,$dmb,$verbose,$cutoff,@zone); + +$date = new Date::Manip::Date "now"; +$dmt = $date->tz(); +$dmb = $date->base(); +$cutoff = $date->printf('%Y') + 21; +$verbose = 0; + +while ($_ = shift) { + + (print $usage), exit if ($_ eq "-h" || $_ eq "--help"); + + $verbose = 1, next if ($_ eq "-v" || $_ eq "--verbose"); + $cutoff = shift, next if ($_ eq "-c" || $_ eq "--cutoff"); + + @zone = ($_,@ARGV); + last; +} + +if (@zone) { + foreach my $z (@zone) { + my $tmp = $dmt->zone($z); + if (! $tmp) { + die "ERROR: invalid timezone: $z\n"; + } + $z = $tmp; + } + +} else { + @zone = $dmt->curr_zone(); +} + +############################################################################ +# MAIN PROGRAM +############################################################################ + +if ($verbose) { + foreach my $z (@zone) { + my @per = $dmt->periods($z,undef,$cutoff); + foreach my $per (@per) { + my($startUT,$startLT,$offsetstr,$offset,$abbrev,$isdst,$endUT,$endLT) + = @$per; + + $startUT = datestr($startUT); + $startLT = datestr($startLT); + $endUT = datestr($endUT); + $endLT = datestr($endLT); + my $gmtoff = $$offset[0]*3600 + $$offset[1]*60 + $$offset[2]; + + print "$z $startUT UT = $startLT $abbrev isdst=$isdst gmtoff=$gmtoff\n"; + print "$z $endUT UT = $endLT $abbrev isdst=$isdst gmtoff=$gmtoff\n"; + } + print "\n" if ($#zone != 0); + } + +} else { + my $wid = 0; + foreach my $z (@zone) { + $wid = length($z) if (length($z) > $wid); + } + + foreach my $z (@zone) { + $date->convert($z); + print $z," "x($wid-length($z))," ",$date->printf('%a %b %e %H:%M:%S %Y %Z'),"\n"; + } +} + +sub datestr { + my($date) = @_; + + my %mon = qw(1 Jan 2 Feb 3 Mar 4 Apr 5 May 6 Jun + 7 Jul 8 Aug 9 Sep 10 Oct 11 Nov 12 Dec); + my %dow = qw(1 Mon 2 Tue 3 Wed 4 Thu 5 Fri 6 Sat 7 Sun); + + my($y,$m,$d,$h,$mn,$s) = @$date; + my $dow = $dmb->day_of_week($date); + $dow = $dow{$dow}; + my $mon = $mon{$m+0}; + $y="0$y" while (length($y) < 4); + $d=" $d" if (length($d) < 2); + $h="0$h" if (length($h) < 2); + $mn="0$mn" if (length($mn) < 2); + $s="0$s" if (length($s) < 2); + + return "$dow $mon $d $h:$mn:$s $y"; +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/NOTES b/internal/NOTES new file mode 100644 index 0000000..7bc62ed --- /dev/null +++ b/internal/NOTES @@ -0,0 +1,208 @@ +The files in this directory are for primary use by me, the author +of Date::Manip to prepare a new release. + +There is no reason for an end user to need to do this. However, it +is documented for the sake of completeness, and to remind me of the +steps I need to do. + +It's also available in case someone ever chooses to fork the +module (though I hope that won't be necessary). + +######################################################################### +Update the windows zones. Useful information in determining timezone +mapping may be obtained at: + + http://support.microsoft.com/kb/914387 + +Go to: + + http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html + +and copy the contents of the 'Mapping for: windows' table into a file 'windows.new' +and run the script: + + windows.compare + +Currently, ignore the addition: + "UTC" => "Etc/GMT", + +and the suggestions: + "Argentina Standard Time" => "America/Buenos_Aires", + "GTB Standard Time" => "Europe/Bucharest", + "India Standard Time" => "Asia/Calcutta", + "Nepal Standard Time" => "Asia/Katmandu", + "US Eastern Standard Time" => "America/Indianapolis", + +Make sure that new and changed zones refer to valid Olsen time zones. Make +the changes in data.alias.pl . + +Then remove windows.new . + +######################################################################### +Get the newest tzdata package. + +The tzdata/tzcode archives are obtained from + + ftp://ftp.iana.org/tz/ + +In order to create the appropriate Date::Manip modules, run the +following commands: + + ./internal/tzdata -f : to download the packages + ./internal/tzdata -b : to build the package + +Some timezones store information about time changes quite a ways in advance. We +need to make sure that we're storing enough information to get to a 'lastrule'. + +Run the following: + + cd tzdata + grep Rule africa antarctica asia australasia europe northamerica pacificnew \ + southamerica | \ + awk '{print $3}' | sort -u | egrep '^[1-9]' | sort -n | tail -1 + cd .. + +Make sure that the value for $keep_years (in internal/data.misc.pl) is greater +than (MAX_YEAR - CURR_YEAR) where MAX_YEAR is the output from the line above and +CURR_YEAR is the current year. + + ./internal/tzdata -l : to get a list of all the zones that need modules + ./internal/tzdata -d : to dump all zones + ./internal/tzdata -m : to create the individual zone modules + *** see NOTE 2 below *** + ./internal/tzdata -o : to create the individual offset modules + *** see NOTE 3 below *** + ./internal/tzdata -z : to create the main Zone module + *** see NOTE 3 below *** + +Run the following to double check every timezone in zoneinfo against the +Date::Manip version: + + ./internal/dumps + +Run the two tzdata tests: + + (cd t; ./runtests tzdata) + +Then clean up: + + ./internal/tzdata -c + + +NOTE 1: although the tzdata script runs on my computer, it is quite possible +that it will not run on other systems due to differences in what tools are +available. + +Since the tzdata script is designed only to create the modules which are +then distributed as part of Date::Manip, there is no reason for anyone other +than me to run the above commands. If you DO choose to run them, please do +not report problems due to differences in operating systems, or packages that +are installed on your system. If you discover a bug in tzdata, I am interested +in knowing about it however. + +NOTE 2: If you get a LAST RULE in Jan/Dec line, check it out. A zone +is doing time changes in Jan or Dec. Make sure it won't cause any +problems. Provided it's not early in the day of Jan 1 or late in the day +of Dec 31, it'll be fine. + +Currently, the following warn (but have been cleared as safe): + Pacific/Fiji + Pacific/Tongatapu + +NOTE 3: These steps often require manual intervention described +below. After the intervention, rerun the command to make sure no +output is produced. + +The old values of data are stored in the internal/data.* files. This is +so that I am explicitly notified of every change to the zoneinfo data +which could impact Date::Manip. Any output reflects potential changes +so every entry should be checked to ensure that it acceptable. Then, +the output needs to be added to the appropriate data.* file, replacing +any previous value for the entry. It is especially important that the first +line in each entry should remain unchanged unless there is good reason +to change it. The order of remaining lines may change to some extent. + +If the '-o' option produces any output, the entries need to be added +to the data.offset.pl file. + +If the '-z' option produces any output, the entries need to be added +to the data.alias.pl or data.abbrev.pl file. + +After adding a new value, rerun the command to make sure there are no more +problems. + +######################################################################### +Clean up stuff that shouldn't be in the manifest + +In internal/benchmarks directory + rm -f nytprof.out parse-1.in + rm -rf nytprof + +######################################################################### +Before every release, spellcheck the documents: + + for i in `find lib -type f -name \*.pod | egrep -v 'Lang\/' | + egrep -v Zones.pod` ;do + pod2text $i > $i.txt + ispell -p internal/module.isp $i.txt + rm -f $i.txt $i.txt.bak + done + + internal/langpod + + pod2text ./lib/Date/Manip/Lang/english.pod > english.txt + ispell -p internal/module.isp english.txt + rm -f english.txt english.txt.bak + +######################################################################### +Update the copyright + + y=`date '+%Y'` + for i in `find . -type f | egrep -v '.git' | xargs egrep -l 'Copyright \(c\) ....\-.... Sullivan Beck'` ;do + sed -e "s,\(Copyright (c) ....\)\-.... \(Sullivan Beck\),\1-$y \2," $i > z + mv z $i + done + chmod +x internal/tzdata internal/gen_dm5abbrevs examples/dm_* + +######################################################################### +Switch the system timezone to America/Central and run the tests. + +######################################################################### +Update the Changes5/Changes6 docs with the date. + +######################################################################### +Install the module. Then run the following: + + ./internal/gen_dm5abbrevs > lib/Date/Manip/DM5abbrevs.pm + +######################################################################### +Make sure that the test suite covers everything + + . ../0 + cover -delete + cover -test + # make sure everything is 100% + cover -delete + make distclean + +######################################################################### +Regenerate the MANIFEST and run the kwalitee tests + +find . -name \*.swp + +######################################################################### +Run the internal/leak.pl whenever a new version of perl is available to +see if the leak persists. When it's fixed, note this in the known problems +section. + +A patch for this went in on Dec 13, 2011 when the following versions of +perl are active: + 5.16.0 FIXED + 5.15.6 FIXED + 5.14.2 maint + 5.12.4 maint + 5.10.1 unmaint + +so look for it to be corrected in newer versions than this (not sure if +it'll be applied to the maintenance versions). + diff --git a/internal/TODO b/internal/TODO new file mode 100644 index 0000000..a2c4954 --- /dev/null +++ b/internal/TODO @@ -0,0 +1,257 @@ +Add option to Recur: ignore holidays + then flags like NBD ignore holidays (but count weekends) +When calculating holidays, use this option by default to simplify + holidays. Then, order of definitions is not important. + +Add options: + onlyiso8601, etc. to parse + no-delta-secs (not delta as a plain number) + no-timezone + +Can I reduce the number of timezone modules loaded when parsing a date +with an abbreviation or offset by loading one and testing it before +loading a second? + +Make sure the following work: + 1*12:0:24:0:0:0*FW1 = Christmas Day (observed) + December 25 2015 = Christmas Day + +Add a new type of recurrence (???): + *Christmas Day*NWD + +Add ability to supply holidays via. a list rather than a config file. + ksublondie on perlmonks + +######################################################################## +# Deprecated variables: + +03/01/2017 TZ + +Delete Obj.pm line 89 block + +######################################################################## +# +1 significant release +######################################################################## + +Check performance if changing + sub ... { + return &sub(...) + } +to + goto &sub(...) + +In Recur.pm, handle encodings in parse + +Add delta.parse_LANG tests + +Add UseTZ + = %all use all timezones + = %local use local timezone + = Z1 Z2 ... use zones Z1, Z2, etc. (one can be %local) +Only affects parsing. + +Add ways to get timezone in cygwin + +Cache Date::Manip::TZ::zone for ($abbrev,isdst), ($abbrev,$isdst,$offset), +other??? + +Profile it and look for optimizations. + +Date::Manip::Base : get rid of + _calc_date_time_strings + _delta_convert + +Benchmarks + Modules + 5.x + 6.00 + 6.00 parse_format + DateCalc + TimeDate + ??? + Tests + 10,000 dates (parse) time + size + 10,000 dates (parse + 2 adds + 1 unix date) time + size + 10,000 scripts (parse 1 date + 2 adds + 1 unix date each) time + +Rewrite Problems.pod (Date Manip is slow) + +Clear out all problems from CPAN + +Methods which require a valid object (secs_since_1970_GMT) should exit +instead of trying to perform the operation if the object is invalid. +RT #60662 (Matt Blythe) + +######################################################################## +# +2 significant release +######################################################################## + +Everywhere a timezone can be entered, allow: + zone + abbrev + offset +followed by an option: + std either STD or DST time, test STD first (default always) + dst either STD or DST time, test DST first + stdonly only test STD + dstonly only test DST + +Change Date::Manip::Base so that $date input can be reference or +string. + +Clear as much of the backlog of suggestions as possible. + +######################################################################## +# TO DO +######################################################################## + +Make sure there is a correspondance between: + time,localtime,gmtime + Date_SecsSince1970,Date_SecsSince1970GMT + UnixDate(...,"%s"),UnixDate(...,"%u") +and document it all. + +Support timezones of the format +500. David Coppit + +Make sure that &DateCalc($date1,"") returns an error. Jim Anderson + +Change the Jan1Week1 variable to accept the values "m1-m7" (1st week contains +Jan X) or "d1-d7" (1st week contains the 1st dX day of week ... so d1 +means that the 1st week of the year contains the 1st Monday). + +Free up the '%u', '%h', and '%X' printf formats. Reserve '%X' for + extended formats (%Xa, %Xb, ...). + +######################################################################## +# TO CONSIDER +######################################################################## + +Special date formats in language file: + extra{LABEL} = [ ... ] extra words of type LABEL + offset_date => + FORMAT => 'OFFSET' + where FORMAT is similar to parse_format + %LABEL is a regexp with any of the words + OFFSET can include %y, %d, %w, %m, %h, %mn, $s in them + same for offset_time, times, and others + ex. + offset_time => { "%h o'clock" => "%h:00:00" } + Support some of the special Russian dates supplied by Yuri Nikulin + +Add a method: + ($date0,$date1) = $date->week_range(); +where $date0 and $date1 are the start and end of the week containing +$date. Ha Quach + +Add Date_LocaleInit which calls Date_Init and then sets DateFormat +config varialbe. Benjamin Low + Essentially, I use POSIX::strftime to print a known date in the locale + 'native' format ('%x'), and parse the result to determine d/m/y, m/d/y, + or y/m/d. + + Here's what I do for Date::Parse, perhaps for your module you could just + substitute a default value for DateFormat: + + sub _dmorder + # determine the "natural" day/month order for the current locale + # - returns a sub which will expect two arguments (month, day) and + # return the arguments swapped as appropriate + { + # %x - preferred (year, month, day) representation + # - some examples: 1999-12-31, 31/12/99, 30.12.1999, 12/31/99 + my @d = (POSIX::strftime('%x', 0, 0, 0, 31, 12-1, 99) =~ + /(\d+)\D+(\d+)\D+(\d+)/); + + # check we got one each of "31", "12", and "[19]99" back + $@ = "couldn't determine day,month order (got [@d])"; + warn("$@\n"), return sub { @_ } unless @d == 3; + my %d; $d{$1} = $d{$2} = $d{$3} = 1; + warn("$@\n"), return sub { @_ } + unless ($d{31} and $d{12} and ($d{99} or $d{1999})); + + if ($1 == 31) { $@ = undef; return sub { ($_[1], $_[0]) } }; # d/m/y + if ($2 == 31) { $@ = undef; return sub { ($_[0], $_[1]) } }; # m/d/y + if ($3 == 31) { $@ = undef; return sub { ($_[0], $_[1]) } }; # y/m/d + + return sub { @_ }; # undetermined, use default + } + + *dmorder = _dmorder(); + + # and then later in Parse::Date, after month/day regexps (\d+/\d+)... + - ($month, $day) = ($1, $2); becomes... + + ($month, $day) = dmorder($1, $2); + + +Make DateFormat variable handle y/m/d y/d/m m/d/y and d/m/y formats +in addition to m/d vs. d/m . Also, make "%D" and "%x" UnixDate formats +use this variable. Benjamin Low + +Make the following work for ParseDate Adrian Conte: + 1 epoch + epoch 1 + -1 epoch + epoch -1 + +Make work weeks able to start and stop on arbitrary days (even across +weekends). Mohammed Saggaf + +Switch to Math::BigInt instead of using "no integer". Vishal Bhatia + +Use autoloader. Ted Ashton + +Better support for fractional seconds. RT 61535 + +######################################################################## +# GRANULARITY +######################################################################## + +$flag=&Date_GranularityTest($date,$base,$granularity [,$flags] [$width]) + $date and $base are dates + $granularity and $width are deltas + $flags is a list of flags + + To test if a day is one of every other Friday (starting at Friday + Feb 7, 1997), go: + $base=&ParseDate("Friday Feb 7 1997"); + $date=&ParseDate("..."); + $granularity=&ParseDateDelta("+ 2 weeks"); + $flag=&Date_Granularity($date,$base,$granularity,"exact"); + If $flag is 1, the $date is a 2nd Friday from Feb 7. + + The most important field in $granularity is the last non-zero element. + In the above example, 2 weeks returns the delta 0:0:14:0:0:0 so the + last non-zero element is days with a value of 14. + + If $flags is empty, $date is checked to see if it occurs some multiple + of 14 days before or after $base. In this case, hourse, minutes, and + seconds are completely ignored. + + If $flags contains the words "before" or "after", $date must come + before or after $base. + + If $flags contains any other options, or if $width is passed in, the + test is treated in an approximate way. A flag of "approx" forces this + behavior. + + If $width is not passed in in an approximate comparison, it defaults + to 1 in the last non-zero element. Here, the default width is 1 day. + If the flag "half" is used, the width (default or passed in) is + halved. + + For example if $width is 1 day, add a multiple of $granularity to + $base to get as close to $date as possible. If $date is within plus + or minus 1 day of this new base, the test is successful. A flag of + "plus" or "minus" means that $date must be with plus 1 day or within + minus one day of this new base. Flags of "before" or "after" work + as well. + +@list=&Date_GranularityList($date,$N,$granularity) + Returns a list of $N dates AFTER $date which are created by adding + $granularity to $date $N times. If $N<0, it returns $N dates BEFORE + $date (the list is in chronological order). + + Make it work in business mode as well which will return only working + days. Example, every other friday and it can be told that if friday + falls on a holiday to return either thursday or the following monday + or leave it out. diff --git a/internal/TODO.7 b/internal/TODO.7 new file mode 100644 index 0000000..e561a0e --- /dev/null +++ b/internal/TODO.7 @@ -0,0 +1,27 @@ +For Date::Manip 7.0 + + Date::Manip::internal::Cache : class for caching data + Date::Manip::internal::Config : class for config data + Date::Manip::internal::TZdata : all of the TZdata + Date::Manip::internal::Lang : language data + + Date::Manip::SimpleDate : y/m/d operations only + is_business_date + Date::Manip::SimpleTime : h/mn/s (time of day) operations only + is_business_time + Date::Manip::TZ : local timezone info + + Date::Manip::Base : deprecated + + Date::Manip::Date + Date::Manip::internal::Cache + Date::Manip::internal::Config + Date::Manip::SimpleDate : in local timezone + Date::Manip::SimpleTime : in local timezone + Date::Manip::SimpleDate : in GMT + Date::Manip::SimpleTime : in GMT + +??? + + Date::Manip::GMTDate : ignore all timezone issues + diff --git a/internal/benchmarks/NOTES b/internal/benchmarks/NOTES new file mode 100644 index 0000000..fb4cde6 --- /dev/null +++ b/internal/benchmarks/NOTES @@ -0,0 +1,115 @@ +Common date formats: + + +Date::Calc +Date::Parse +Date::Parser +DateTime +Time::ParseDate +TimeDate (only a few hardcoded timezones) (does support languages) + (does not do parsing of arbitrary dates) + + +Parsing +Calculations +Business days +Foreign parsing +Recurrences +Timezones + + + + +Parse 10,000 dates + +Date::Manip 5 8.6 sec +Date::Manip 6 4.1 sec + format 3.0 sec + 'no' opts 3.8 sec + +Date::Parse 0.6 sec handles multilingual dates + limited number of formats + active development +Date::Time 0.7 sec (wrapper around Date::Parse) + +------------------- + + +These files are used for running benchmarks and performance testing of Date::Manip. +They are not generally useful, and are not installed anywhere. + +Date::Calc no parsing + no timezones + almost no time handling (primarily Y/M/D) + +Date::Pcalc same as Date::Calc + +TimeDate no calculations + Date::Parse + Time::Zone + + + + +DateTime +DateTime-TimeZone +DateTime-Format + +Date::Components + +Date::Handler + +Time::Format + + +perl -d:NYTProf parse-1.dm.pl +nytprofhtml + +============ + +time parse-1.dt.pl +parse-1.dt.pl 0.51s user 0.01s system 83% cpu 0.626 total + +time ./parse-1.dm_no.pl +./parse-1.dm_no.pl 3.36s user 0.01s system 100% cpu 3.366 total + +time ./parse-1.dm5.pl +./parse-1.dm5.pl 6.21s user 0.03s system 100% cpu 6.233 total + +time ./parse-1.dm_fo.pl +./parse-1.dm_fo.pl 5.09s user 0.03s system 99% cpu 5.123 total + +time ./parse-1.dm.pl +./parse-1.dm.pl 3.64s user 0.04s system 99% cpu 3.706 total + +perl -d:NYTProf parse-1.dm6.pl +nytprofhtml + +11323 613ms Date::::_parse_time Date::Manip::Date::_parse_time +11323 442ms Date::::parse Date::Manip::Date::parse +11324 419ms TZ::::date_period Date::Manip::TZ::date_period +11323 399ms Date::::_parse_date_common Date::Manip::Date::_parse_date_common +11323 378ms Date::::set Date::Manip::Date::set +11324 298ms TZ::::_all_periods Date::Manip::TZ::_all_periods +11323 248ms Date::::_parse_date Date::Manip::Date::_parse_date +22646 233ms Base::::check Date::Manip::Base::check +11323 207ms Date::::_parse_check Date::Manip::Date::_parse_check +11323 174ms Date::::_parse_datetime_iso8601 Date::Manip::Date::_parse_datetime_iso8601 +11324 163ms Base::::_now Date::Manip::Base::_now +11323 162ms Date::::_parse_dow Date::Manip::Date::_parse_dow +22646 159ms Base::::check_time Date::Manip::Base::check_time +22662 158ms Base::::_is_int Date::Manip::Base::_is_int + +============== + +mkdir tz +cd tz +perl -d:NYTProf ../dm5dm6_ex3 6o ../dateset3.txt +nytprofhtml + +cd .. +mkdir notz +cd notz +perl -d:NYTProf ../dm5dm6_ex3 6o ../dateset3_notz.txt +nytprofhtml + diff --git a/internal/benchmarks/dateset3.txt b/internal/benchmarks/dateset3.txt new file mode 100644 index 0000000..fed9521 --- /dev/null +++ b/internal/benchmarks/dateset3.txt @@ -0,0 +1,2433 @@ +Wed, 4 Feb 2015 09:24:28 +0000 +Wed, 4 Feb 2015 13:30:30 -0800 +Wed, 4 Feb 2015 13:50:52 -0500 +Wed, 4 Feb 2015 16:05:37 -0500 +Wed, 4 Feb 2015 16:36:26 -0500 +Thu, 5 Feb 2015 01:56:07 -0800 +Thu, 5 Feb 2015 10:10:11 -0600 +Thu, 5 Feb 2015 12:08:36 -0500 +Fri, 6 Feb 2015 07:47:00 -0500 +Fri, 6 Feb 2015 10:42:45 -0500 +Fri, 6 Feb 2015 11:31:29 -0500 +Fri, 6 Feb 2015 12:07:28 -0600 +Sat, 07 Feb 2015 13:21:04 +0200 +Sat, 7 Feb 2015 23:42:59 -0800 +Sun, 8 Feb 2015 05:53:50 -0600 +Sun, 8 Feb 2015 06:14:26 -0600 +Sun, 8 Feb 2015 12:02:03 -0500 +Sun, 08 Feb 2015 22:45:56 -0700 +Mon, 9 Feb 2015 08:11:11 -0500 +Mon, 09 Feb 2015 11:09:15 -0700 +Mon, 9 Feb 2015 10:43:27 -0800 +Mon, 9 Feb 2015 14:09:11 -0500 +Mon, 9 Feb 2015 13:29:35 -0500 +Mon, 9 Feb 2015 11:27:27 -0700 +Mon, 9 Feb 2015 14:02:27 -0500 +Mon, 09 Feb 2015 11:55:36 -0700 +Mon, 09 Feb 2015 12:15:51 -0700 +Mon, 09 Feb 2015 12:27:07 -0700 +Mon, 9 Feb 2015 12:48:51 -0700 +Mon, 09 Feb 2015 13:06:57 -0700 +Mon, 9 Feb 2015 15:05:29 -0500 +Mon, 9 Feb 2015 12:24:15 -0800 +Mon, 09 Feb 2015 21:26:44 +0100 +Mon, 09 Feb 2015 13:25:22 -0700 +Mon, 9 Feb 2015 13:48:12 -0700 +Mon, 09 Feb 2015 14:07:10 -0700 +Mon, 09 Feb 2015 21:31:08 +0000 +Mon, 09 Feb 2015 15:00:19 -0700 +Mon, 9 Feb 2015 14:09:02 -0800 +Mon, 09 Feb 2015 15:14:08 -0700 +Mon, 09 Feb 2015 17:02:41 -0700 +Mon, 9 Feb 2015 17:11:28 -0700 +Mon, 09 Feb 2015 17:16:56 -0700 +Tue, 10 Feb 2015 01:09:38 +0100 +Mon, 09 Feb 2015 17:44:13 -0700 +Mon, 9 Feb 2015 20:24:28 -0500 +Mon, 9 Feb 2015 21:42:55 -0500 +Mon, 9 Feb 2015 20:28:38 -0800 +Mon, 09 Feb 2015 21:57:39 -0700 +Mon, 9 Feb 2015 21:23:23 -0800 +Mon, 09 Feb 2015 22:38:52 -0700 +Mon, 9 Feb 2015 23:36:06 -0700 +Tue, 10 Feb 2015 07:29:49 +0100 +Mon, 9 Feb 2015 23:07:52 -0800 +Mon, 9 Feb 2015 23:55:01 -0800 +Tue, 10 Feb 2015 01:19:10 -0700 +Tue, 10 Feb 2015 01:30:14 -0700 +Tue, 10 Feb 2015 02:04:08 -0700 +Tue, 10 Feb 2015 04:07:38 -0500 +Tue, 10 Feb 2015 02:33:36 -0700 +Tue, 10 Feb 2015 02:35:42 -0700 +Tue, 10 Feb 2015 15:41:37 +0400 +Tue, 10 Feb 2015 14:42:53 +0300 +Tue, 10 Feb 2015 06:26:04 -0500 +Tue, 10 Feb 2015 09:27:24 -0500 +Tue, 10 Feb 2015 08:11:55 -0700 +Tue, 10 Feb 2015 07:14:14 -0800 +Tue, 10 Feb 2015 08:19:54 -0700 +Tue, 10 Feb 2015 19:32:07 +0400 +Tue, 10 Feb 2015 19:32:07 +0400 +Tue, 10 Feb 2015 10:41:11 -0500 +Tue, 10 Feb 2015 10:50:57 -0500 +Tue, 10 Feb 2015 07:51:31 -0800 +Tue, 10 Feb 2015 19:53:08 +0400 +Tue, 10 Feb 2015 19:53:09 +0400 +Tue, 10 Feb 2015 08:53:55 -0700 +Tue, 10 Feb 2015 20:07:49 +0400 +Tue, 10 Feb 2015 20:07:49 +0400 +Tue, 10 Feb 2015 09:08:34 -0700 +Tue, 10 Feb 2015 09:23:28 -0700 +Tue, 10 Feb 2015 09:31:10 -0700 +Tue, 10 Feb 2015 08:34:28 -0800 +Tue, 10 Feb 2015 08:29:00 -0800 +Tue, 10 Feb 2015 11:21:40 -0500 +Tue, 10 Feb 2015 09:57:40 -0700 +Tue, 10 Feb 2015 10:01:13 -0700 +Tue, 10 Feb 2015 12:12:28 -0500 +Tue, 10 Feb 2015 09:14:07 -0800 +Tue, 10 Feb 2015 09:33:23 -0800 +Tue, 10 Feb 2015 10:41:27 -0700 +Tue, 10 Feb 2015 10:53:36 -0700 +Tue, 10 Feb 2015 10:04:13 -0800 +Tue, 10 Feb 2015 11:03:31 -0700 +Tue, 10 Feb 2015 11:26:29 -0700 +Tue, 10 Feb 2015 10:28:36 -0800 +Tue, 10 Feb 2015 11:06:34 -0800 +Tue, 10 Feb 2015 11:16:26 -0800 +Tue, 10 Feb 2015 11:30:02 -0800 +Tue, 10 Feb 2015 14:40:23 -0500 +Tue, 10 Feb 2015 20:01:40 +0100 +Tue, 10 Feb 2015 11:56:07 -0800 +Tue, 10 Feb 2015 12:01:20 -0800 +Tue, 10 Feb 2015 12:12:08 -0800 +Tue, 10 Feb 2015 12:20:30 -0800 +Tue, 10 Feb 2015 12:36:12 -0800 +Tue, 10 Feb 2015 14:35:46 -0700 +Tue, 10 Feb 2015 15:07:16 -0700 +Tue, 10 Feb 2015 15:25:53 -0700 +Tue, 10 Feb 2015 15:28:32 -0800 +Tue, 10 Feb 2015 16:31:03 -0700 +Tue, 10 Feb 2015 17:12:31 -0700 +Tue, 10 Feb 2015 16:42:19 -0800 +Tue, 10 Feb 2015 19:46:09 -0700 +Tue, 10 Feb 2015 21:25:59 -0700 +Tue, 10 Feb 2015 23:29:02 -0500 +Tue, 10 Feb 2015 20:43:09 -0800 +Tue, 10 Feb 2015 22:55:47 -0700 +Tue, 10 Feb 2015 22:29:07 -0800 +Tue, 10 Feb 2015 23:50:11 -0700 +Tue, 10 Feb 2015 23:12:45 -0800 +Wed, 11 Feb 2015 00:41:10 -0700 +Wed, 11 Feb 2015 04:30:02 -0700 +Wed, 11 Feb 2015 06:47:25 -0500 +Wed, 11 Feb 2015 03:53:45 -0800 +Wed, 11 Feb 2015 07:21:04 -0500 +Wed, 11 Feb 2015 06:17:09 -0700 +Wed, 11 Feb 2015 08:55:07 -0500 +Wed, 11 Feb 2015 14:06:53 +0100 +Wed, 11 Feb 2015 09:19:25 -0500 +Wed, 11 Feb 2015 09:40:49 -0500 +Wed, 11 Feb 2015 09:30:58 -0500 +Wed, 11 Feb 2015 19:48:42 +0400 +Wed, 11 Feb 2015 19:48:43 +0400 +Wed, 11 Feb 2015 08:00:09 -0800 +Wed, 11 Feb 2015 08:16:12 -0800 +Wed, 11 Feb 2015 08:09:24 -0800 +Wed, 11 Feb 2015 10:56:41 -0500 +Wed, 11 Feb 2015 10:01:36 -0700 +Wed, 11 Feb 2015 10:07:14 -0700 +Wed, 11 Feb 2015 09:10:44 -0800 +Wed, 11 Feb 2015 09:11:34 -0800 +Wed, 11 Feb 2015 09:17:24 -0800 +Wed, 11 Feb 2015 10:32:13 -0700 +Wed, 11 Feb 2015 10:57:43 -0700 +Wed, 11 Feb 2015 10:56:55 -0700 +Wed, 11 Feb 2015 10:03:34 -0800 +Wed, 11 Feb 2015 10:43:32 -0700 +Wed, 11 Feb 2015 10:14:22 -0800 +Wed, 11 Feb 2015 11:21:46 -0700 +Mi, 11 Feb 2015 13:33:44 -0500 +Wed, 11 Feb 2015 13:39:49 -0500 +Wed, 11 Feb 2015 11:45:12 -0700 +Wed, 11 Feb 2015 11:52:54 -0700 +Wed, 11 Feb 2015 10:50:33 -0800 +Wed, 11 Feb 2015 11:03:57 -0800 +Wed, 11 Feb 2015 12:19:03 -0700 +Wed, 11 Feb 2015 11:54:42 -0800 +Wed, 11 Feb 2015 12:38:11 -0700 +Wed, 11 Feb 2015 13:31:21 -0700 +Wed, 11 Feb 2015 12:33:45 -0800 +Wed, 11 Feb 2015 15:40:02 -0500 +Wed, 11 Feb 2015 15:48:04 -0500 +Wed, 11 Feb 2015 15:50:01 -0500 +Wed, 11 Feb 2015 15:55:37 -0500 +Wed, 04 Feb 2015 19:46:02 +0400 +Wed, 04 Feb 2015 19:52:46 +0400 +Wed, 4 Feb 2015 11:52:32 -0500 +Thu, 05 Feb 2015 00:53:41 +0400 +Thu, 05 Feb 2015 01:07:55 +0400 +Thu, 5 Feb 2015 05:59:34 -0500 +Thu, 05 Feb 2015 20:39:46 +0400 +Thu, 5 Feb 2015 16:25:08 -0500 +Fri, 6 Feb 2015 11:20:02 -0500 +Fri, 6 Feb 2015 14:44:09 -0500 +Sat, 07 Feb 2015 01:49:51 +0400 +Sat, 7 Feb 2015 09:48:15 +0100 +Sat, 7 Feb 2015 08:40:04 -0500 +Sat, 7 Feb 2015 18:31:45 -0500 +Sun, 8 Feb 2015 09:23:27 -0500 +Sun, 8 Feb 2015 10:19:11 -0500 +Mon, 09 Feb 2015 12:46:54 -0700 +Mon, 9 Feb 2015 14:42:41 -0500 +Tue, 10 Feb 2015 00:44:15 +0400 +Tue, 10 Feb 2015 00:44:16 +0400 +Tue, 10 Feb 2015 01:24:22 +0400 +Tue, 10 Feb 2015 01:24:22 +0400 +Mon, 9 Feb 2015 17:32:29 -0500 +Mon, 09 Feb 2015 20:57:25 -0700 +Mon, 09 Feb 2015 21:18:54 -0700 +Tue, 10 Feb 2015 05:33:55 +0100 +Tue, 10 Feb 2015 01:04:37 -0700 +Tue, 10 Feb 2015 01:41:09 -0700 +Tue, 10 Feb 2015 03:40:02 -0500 +Tue, 10 Feb 2015 08:20:50 -0500 +Tue, 10 Feb 2015 15:06:10 +0000 +Tue, 10 Feb 2015 15:06:10 +0000 +Tue, 10 Feb 2015 08:45:07 -0700 +Tue, 10 Feb 2015 10:49:03 -0500 +Tue, 10 Feb 2015 11:05:52 -0700 +Tue, 10 Feb 2015 10:13:58 -0800 +Tue, 10 Feb 2015 12:01:33 -0700 +Tue, 10 Feb 2015 11:27:03 -0800 +Tue, 10 Feb 2015 22:55:40 +0300 +Tue, 10 Feb 2015 15:28:25 -0500 +10 Feb 2015 15:52:59 -0500 +Wed, 11 Feb 2015 01:00:57 +0400 +Wed, 11 Feb 2015 01:00:57 +0400 +Tue, 10 Feb 2015 16:44:13 EST +Tue, 10 Feb 2015 17:24:35 -0500 +Tue, 10 Feb 2015 15:55:06 -0800 +Tue, 10 Feb 2015 19:29:15 -0500 +Tue, 10 Feb 2015 19:04:23 -0700 +Tue, 10 Feb 2015 21:18:20 -0500 +Wed, 11 Feb 2015 01:06:51 -0500 +Wed, 11 Feb 2015 04:23:23 EST +Wed, 11 Feb 2015 06:31:06 -0500 +Wed, 11 Feb 2015 05:25:22 -0700 +Wed, 11 Feb 2015 10:21:43 -0500 +Wed, 11 Feb 2015 15:34:49 -0500 +Wed, 11 Feb 2015 22:14:10 +0100 +Wed, 11 Feb 2015 15:17:33 -0700 +Wed, 11 Feb 2015 17:48:41 -0500 +Wed, 11 Feb 2015 18:27:49 -0500 +Wed, 11 Feb 2015 17:55:37 -0700 +Wed, 11 Feb 2015 18:53:11 -0700 +Wed, 11 Feb 2015 18:01:00 -0800 +Thu, 12 Feb 2015 03:05:11 +0100 +Wed, 11 Feb 2015 19:09:23 -0700 +Wed, 11 Feb 2015 22:25:13 -0800 +Thu, 12 Feb 2015 02:48:02 EST +Wed, 11 Feb 2015 23:57:01 -0800 +Thu, 12 Feb 2015 03:23:40 -0500 +Thu, 12 Feb 2015 04:10:21 -0500 +Thu, 12 Feb 2015 18:35:23 +0900 +Thu, 12 Feb 2015 01:36:43 -0800 +Thu, 12 Feb 2015 02:39:49 -0700 +Thu, 12 Feb 2015 03:52:34 -0700 +Thu, 12 Feb 2015 04:01:36 -0700 +Thu, 12 Feb 2015 13:41:35 +0200 +Thu, 12 Feb 2015 06:47:45 -0700 +Thu, 12 Feb 2015 07:01:31 -0700 +Thu, 12 Feb 2015 07:15:32 -0700 +Thu, 12 Feb 2015 07:29:38 -0700 +Thu, 12 Feb 2015 10:01:56 -0500 +Thu, 12 Feb 2015 10:23:15 -0500 +Thu, 12 Feb 2015 08:33:35 -0700 +Thu, 12 Feb 2015 08:34:28 -0700 +Thu, 12 Feb 2015 08:55:18 -0700 +Thu, 12 Feb 2015 09:29:56 -0700 +Thu, 12 Feb 2015 09:30:56 -0700 +Thu, 12 Feb 2015 09:47:02 -0700 +Thu, 12 Feb 2015 09:47:54 -0700 +Thu, 12 Feb 2015 10:06:08 -0700 +Thu, 12 Feb 2015 10:05:09 -0700 +Thu, 12 Feb 2015 10:26:44 -0700 +Thu, 12 Feb 2015 09:26:44 -0800 +Thu, 12 Feb 2015 10:43:49 -0700 +Thu, 12 Feb 2015 10:42:55 -0700 +Thu, 12 Feb 2015 11:01:53 -0700 +Thu, 12 Feb 2015 11:00:59 -0700 +Thu, 12 Feb 2015 11:04:10 -0700 +Thu, 12 Feb 2015 11:21:50 -0700 +Thu, 12 Feb 2015 10:22:18 -0800 +Thu, 12 Feb 2015 10:31:42 -0800 +Thu, 12 Feb 2015 11:41:30 -0700 +Thu, 12 Feb 2015 11:42:26 -0700 +Thu, 12 Feb 2015 14:04:08 -0500 +Thu, 12 Feb 2015 11:20:48 -0800 +Thu, 12 Feb 2015 12:51:39 -0700 +Thu, 12 Feb 2015 15:25:47 -0500 +Thu, 12 Feb 2015 14:12:31 -0700 +Thu, 12 Feb 2015 16:32:34 -0500 +Thu, 12 Feb 2015 17:29:45 -0500 +Thu, 12 Feb 2015 15:45:20 -0700 +Thu, 12 Feb 2015 15:37:39 -0800 +Thu, 12 Feb 2015 16:37:50 -0700 +Thu, 12 Feb 2015 16:58:41 -0700 +Thu, 12 Feb 2015 17:13:12 -0700 +Thu, 12 Feb 2015 17:28:11 -0700 +Fri, 13 Feb 2015 01:19:14 +0100 +Thu, 12 Feb 2015 18:58:25 -0700 +Thu, 12 Feb 2015 19:13:39 -0700 +Thu, 12 Feb 2015 19:23:54 -0800 +Thu, 12 Feb 2015 13:45:30 -0700 +Fri, 13 Feb 2015 05:32:12 +0100 +Fri, 13 Feb 2015 00:40:04 -0500 +Fri, 13 Feb 2015 09:09:15 -0700 +Fri, 13 Feb 2015 02:16:13 -0700 +Fri, 13 Feb 2015 04:20:58 -0500 +Fri, 13 Feb 2015 02:31:47 -0700 +Fri, 13 Feb 2015 02:47:15 -0700 +Fri, 13 Feb 2015 04:55:58 -0500 +Fri, 13 Feb 2015 05:48:11 -0500 +Fri, 13 Feb 2015 03:48:25 -0700 +Fri, 13 Feb 2015 04:03:41 -0700 +Fri, 13 Feb 2015 15:20:25 +0300 +Fri, 13 Feb 2015 04:32:54 -0800 +Fri, 13 Feb 2015 15:34:25 +0300 +Fri, 13 Feb 2015 05:36:43 -0700 +Fri, 13 Feb 2015 07:34:53 -0500 +Fri, 13 Feb 2015 04:37:23 -0800 +Fri, 13 Feb 2015 04:40:00 -0800 +Fri, 13 Feb 2015 09:07:44 -0500 +Fri, 13 Feb 2015 09:55:39 -0500 +Fri, 13 Feb 2015 08:44:56 -0700 +Fri, 13 Feb 2015 07:55:46 -0800 +Fri, 13 Feb 2015 08:28:01 -0800 +Fri, 13 Feb 2015 09:36:31 -0700 +Fri, 13 Feb 2015 09:01:05 -0800 +Fr, 13 Feb 2015 08:58:48 -0500 +Fri, 13 Feb 2015 10:22:01 -0700 +Fri, 13 Feb 2015 09:35:25 -0800 +Fri, 13 Feb 2015 09:45:51 -0800 +Fri, 13 Feb 2015 12:55:54 -0500 +Fri, 13 Feb 2015 10:58:29 -0700 +Fri, 13 Feb 2015 04:42:37 -0700 +Fri, 13 Feb 2015 12:05:41 -0700 +Fri, 13 Feb 2015 05:09:41 -0700 +Fri, 13 Feb 2015 12:35:14 -0700 +Fri, 13 Feb 2015 12:52:21 -0700 +Fri, 13 Feb 2015 20:52:52 +0100 +Fri, 13 Feb 2015 13:04:35 -0500 +Fri, 13 Feb 2015 13:48:58 -0700 +Fri, 13 Feb 2015 13:02:04 -0800 +Fri, 13 Feb 2015 07:08:13 -0700 +Fri, 13 Feb 2015 14:23:40 -0700 +Fri, 13 Feb 2015 16:45:56 -0500 +Fri, 13 Feb 2015 14:47:38 -0700 +Fri, 13 Feb 2015 13:54:31 -0800 +Fr, 13 Feb 2015 17:13:55 -0500 +Fri, 13 Feb 2015 22:57:46 +0100 +Fri, 13 Feb 2015 15:52:08 -0700 +Fri, 13 Feb 2015 18:13:39 -0500 +Fri, 13 Feb 2015 23:25:57 +0000 +Fri, 13 Feb 2015 18:32:49 -0500 +Fri, 13 Feb 2015 16:52:35 -0800 +Fri, 13 Feb 2015 18:22:43 -0700 +Fri, 13 Feb 2015 18:39:11 -0700 +Fri, 13 Feb 2015 18:48:29 -0800 +Sat, 14 Feb 2015 04:06:54 +0100 +Fri, 13 Feb 2015 21:52:16 -0700 +Fri, 13 Feb 2015 21:52:30 -0800 +Fri, 13 Feb 2015 22:54:38 -0700 +Sat, 14 Feb 2015 00:30:41 -0700 +Sat, 14 Feb 2015 00:47:06 -0700 +Sat, 14 Feb 2015 01:02:50 -0700 +Sat, 14 Feb 2015 01:52:07 -0700 +Sat, 14 Feb 2015 02:40:52 -0700 +Sat, 14 Feb 2015 03:32:12 -0700 +Sat, 14 Feb 2015 05:07:56 -0500 +Sat, 14 Feb 2015 03:56:52 -0700 +Sat, 14 Feb 2015 06:22:26 -0700 +Sat, 14 Feb 2015 08:44:14 -0500 +Sat, 14 Feb 2015 09:53:00 -0500 +Sat, 14 Feb 2015 16:48:53 +0200 +Sat, 14 Feb 2015 07:54:39 -0800 +Sat, 14 Feb 2015 09:06:32 -0700 +Sat, 14 Feb 2015 17:12:36 +0100 +Sat, 14 Feb 2015 08:31:33 -0800 +Sat, 14 Feb 2015 09:49:01 -0700 +Sat, 14 Feb 2015 09:52:03 -0700 +Sat, 14 Feb 2015 09:00:47 -0800 +Sat, 14 Feb 2015 10:03:53 -0700 +Sat, 14 Feb 2015 10:24:59 -0700 +Sat, 14 Feb 2015 09:31:34 -0800 +Sat, 14 Feb 2015 10:33:48 -0700 +Sat, 14 Feb 2015 09:46:34 -0800 +Sat, 14 Feb 2015 10:46:16 -0700 +Sat, 14 Feb 2015 09:48:11 -0800 +Sat, 14 Feb 2015 11:03:08 -0700 +Sat, 14 Feb 2015 11:19:16 -0700 +Sat, 14 Feb 2015 11:21:23 -0700 +Sat, 14 Feb 2015 13:31:04 -0500 +Sat, 14 Feb 2015 10:32:26 -0800 +Sat, 14 Feb 2015 11:35:33 -0700 +Sat, 14 Feb 2015 10:40:05 -0800 +Sat, 14 Feb 2015 11:58:22 -0700 +Sat, 14 Feb 2015 12:15:58 -0700 +Sat, 14 Feb 2015 12:24:48 -0700 +Sat, 14 Feb 2015 12:50:05 -0700 +Sat, 14 Feb 2015 17:50:52 -0500 +Sat, 14 Feb 2015 19:10:04 -0500 +Sat, 14 Feb 2015 17:29:08 -0700 +Sat, 14 Feb 2015 18:25:56 -0700 +Sat, 14 Feb 2015 18:54:02 -0700 +Sat, 14 Feb 2015 19:10:16 -0700 +Sat, 14 Feb 2015 19:09:29 -0700 +Sat, 14 Feb 2015 19:26:18 -0700 +Sun, 15 Feb 2015 02:37:04 +0000 +Sat, 14 Feb 2015 19:48:50 -0700 +Sat, 14 Feb 2015 19:47:54 -0700 +Sat, 14 Feb 2015 20:05:04 -0700 +Sat, 14 Feb 2015 19:54:21 -0700 +Sat, 14 Feb 2015 20:21:28 -0700 +Sat, 14 Feb 2015 20:37:41 -0700 +Sat, 14 Feb 2015 20:54:09 -0700 +Sat, 14 Feb 2015 21:10:50 -0700 +Sat, 14 Feb 2015 21:29:12 -0700 +Sat, 14 Feb 2015 22:03:35 -0700 +Sun, 15 Feb 2015 00:52:58 -0700 +Sun, 15 Feb 2015 01:09:40 -0700 +Sun, 15 Feb 2015 01:25:44 -0700 +Sun, 15 Feb 2015 01:40:40 -0700 +Sun, 15 Feb 2015 01:55:18 -0700 +Sun, 15 Feb 2015 02:11:20 -0700 +Sun, 15 Feb 2015 02:25:06 -0700 +Sun, 15 Feb 2015 04:51:01 -0500 +Sun, 15 Feb 2015 02:56:40 -0700 +Sun, 15 Feb 2015 05:07:03 -0500 +Sun, 15 Feb 2015 05:32:22 -0500 +Sun, 15 Feb 2015 05:01:42 -0700 +Sun, 15 Feb 2015 05:17:03 -0700 +Sun, 15 Feb 2015 05:46:21 -0700 +Sun, 15 Feb 2015 06:04:49 -0700 +Sun, 15 Feb 2015 06:20:47 -0700 +Sun, 15 Feb 2015 06:39:33 -0700 +Sun, 15 Feb 2015 09:13:20 -0500 +Sun, 15 Feb 2015 07:17:44 -0700 +Sun, 15 Feb 2015 07:37:30 -0700 +Thu, 12 Feb 2015 01:24:30 +0400 +Thu, 12 Feb 2015 01:24:30 +0400 +Thu, 12 Feb 2015 01:26:33 +0400 +Thu, 12 Feb 2015 01:26:34 +0400 +Wed, 11 Feb 2015 14:14:13 -0800 +Thu, 12 Feb 2015 04:27:10 +0400 +Thu, 12 Feb 2015 04:27:09 +0400 +Wed, 11 Feb 2015 18:56:32 -0700 +Thu, 12 Feb 2015 07:56:16 +0000 +Thu, 12 Feb 2015 06:31:19 -0500 +Thu, 12 Feb 2015 19:46:57 +0400 +Thu, 12 Feb 2015 19:46:56 +0400 +Thu, 12 Feb 2015 08:54:14 -0700 +Thu, 12 Feb 2015 11:07:31 -0500 +Thu, 12 Feb 2015 09:11:58 -0700 +Thu, 12 Feb 2015 09:11:05 -0700 +12 Feb 2015 11:21:26 -0500 +Thu, 12 Feb 2015 10:27:14 -0700 +Thu, 12 Feb 2015 11:21:51 -0700 +Thu, 12 Feb 2015 11:20:56 -0700 +Fri, 13 Feb 2015 01:37:30 +0400 +Fri, 13 Feb 2015 01:37:31 +0400 +Fri, 13 Feb 2015 01:37:40 +0400 +Fri, 13 Feb 2015 01:37:39 +0400 +Thu, 12 Feb 2015 16:50:23 -0500 +Thu, 12 Feb 2015 23:39:14 +0000 +Thu, 12 Feb 2015 19:43:33 -0500 +Thu, 12 Feb 2015 20:30:28 -0700 +Thu, 12 Feb 2015 21:28:31 -0800 +Fri, 13 Feb 2015 08:08:21 -0500 +Fri, 13 Feb 2015 07:29:19 -0500 +Fri, 13 Feb 2015 14:24:37 GMT +Fri, 13 Feb 2015 20:07:01 +0400 +Fri, 13 Feb 2015 20:07:01 +0400 +Fri, 13 Feb 2015 12:03:42 -0600 +Fri, 13 Feb 2015 10:44:50 -0800 +Fri, 13 Feb 2015 20:29:43 +0100 +Fri, 13 Feb 2015 14:45:52 -0500 +Fri, 13 Feb 2015 15:25:13 -0700 +Fri, 13 Feb 2015 15:38:04 -0700 +Fri, 13 Feb 2015 18:00:10 -0500 +Fri, 13 Feb 2015 17:37:08 -0700 +Sat, 14 Feb 2015 01:18:18 -0700 +Sat, 14 Feb 2015 02:08:23 -0700 +Sat, 14 Feb 2015 02:24:37 -0700 +Sat, 14 Feb 2015 02:57:22 -0700 +Sat, 14 Feb 2015 03:13:41 -0700 +Sat, 14 Feb 2015 20:16:03 +0400 +Sat, 14 Feb 2015 09:27:51 -0700 +Sat, 14 Feb 2015 08:26:34 -0800 +Sat, 14 Feb 2015 11:25:46 -0500 +Sat, 14 Feb 2015 11:45:23 -0500 +Sat, 14 Feb 2015 15:35:37 -0500 +Sat, 14 Feb 2015 16:12:27 -0600 +Sun, 15 Feb 2015 10:41:44 +0400 +Sun, 15 Feb 2015 11:26:44 +0000 +Sun, 15 Feb 2015 04:43:35 -0700 +Sun, 15 Feb 2015 06:58:53 -0700 +Sun, 15 Feb 2015 08:51:06 -0500 +Sun, 15 Feb 2015 09:10:26 -0500 +Sun, 15 Feb 2015 07:57:44 -0700 +Sun, 15 Feb 2015 08:14:00 -0700 +Sun, 15 Feb 2015 08:29:02 -0700 +Sun, 15 Feb 2015 08:45:35 -0700 +Sun, 15 Feb 2015 09:02:59 -0700 +Sun, 15 Feb 2015 09:08:55 -0700 +Sun, 15 Feb 2015 09:22:24 -0700 +Sun, 15 Feb 2015 08:24:17 -0800 +Sun, 15 Feb 2015 10:01:28 -0700 +Sun, 15 Feb 2015 09:12:28 -0800 +Sun, 15 Feb 2015 12:50:01 -0500 +Sun, 15 Feb 2015 10:51:51 -0700 +Sun, 15 Feb 2015 11:37:01 -0700 +Sun, 15 Feb 2015 10:07:50 -0800 +Sun, 15 Feb 2015 10:00:29 -0800 +Sun, 15 Feb 2015 10:51:38 -0800 +Sun, 15 Feb 2015 11:06:14 -0800 +Sun, 15 Feb 2015 19:43:48 +0100 +Sun, 15 Feb 2015 11:41:50 -0700 +Sun, 15 Feb 2015 11:29:25 -0800 +Sun, 15 Feb 2015 14:59:45 -0500 +Sun, 15 Feb 2015 13:27:25 -0800 +Sun, 15 Feb 2015 15:47:07 -0800 +Sun, 15 Feb 2015 18:50:09 -0500 +Sun, 15 Feb 2015 17:48:23 -0700 +Sun, 15 Feb 2015 18:22:42 -0700 +Sun, 15 Feb 2015 18:36:13 -0700 +Sun, 15 Feb 2015 19:05:35 -0700 +Sun, 15 Feb 2015 19:34:39 -0700 +Sun, 15 Feb 2015 19:48:35 -0700 +Sun, 15 Feb 2015 20:16:29 -0700 +Mon, 16 Feb 2015 05:17:51 +0000 +Mon, 16 Feb 2015 05:25:48 +0000 +Mon, 16 Feb 2015 00:29:51 -0700 +Mon, 16 Feb 2015 00:50:38 -0700 +Mon, 16 Feb 2015 01:46:08 -0700 +Mon, 16 Feb 2015 02:01:28 -0700 +Mon, 16 Feb 2015 02:32:12 -0700 +Mon, 16 Feb 2015 04:29:23 -0500 +Mon, 16 Feb 2015 04:14:14 -0500 +Mon, 16 Feb 2015 02:46:44 -0700 +Mon, 16 Feb 2015 04:46:34 -0500 +Mon, 16 Feb 2015 03:02:38 -0700 +Mon, 16 Feb 2015 03:32:25 -0700 +Mon, 16 Feb 2015 03:46:41 -0700 +Mon, 16 Feb 2015 04:00:48 -0700 +Mon, 16 Feb 2015 04:15:16 -0700 +Mon, 16 Feb 2015 04:30:18 -0700 +Mon, 16 Feb 2015 04:44:57 -0700 +Mon, 16 Feb 2015 12:09:36 +0000 +Mon, 16 Feb 2015 07:35:10 -0500 +Mon, 16 Feb 2015 07:37:37 -0500 +Mon, 16 Feb 2015 06:48:11 -0700 +Mon, 16 Feb 2015 10:09:46 -0500 +Mon, 16 Feb 2015 07:28:20 -0800 +Mon, 16 Feb 2015 11:22:43 -0500 +Mon, 16 Feb 2015 17:00:56 +0000 +Mon, 16 Feb 2015 13:25:50 -0500 +Mon, 16 Feb 2015 13:52:21 -0500 +Mon, 16 Feb 2015 12:39:19 -0700 +Mon, 16 Feb 2015 07:13:11 -0700 +Mon, 16 Feb 2015 14:15:17 -0700 +Mon, 16 Feb 2015 14:31:39 -0700 +Mon, 16 Feb 2015 15:03:57 -0700 +Mon, 16 Feb 2015 15:34:21 -0700 +Mon, 16 Feb 2015 16:07:10 -0700 +Mon, 16 Feb 2015 20:16:31 -0500 +Mon, 16 Feb 2015 19:20:42 -0700 +Mon, 16 Feb 2015 20:46:28 -0700 +Tue, 17 Feb 2015 01:05:29 -0500 +Mon, 16 Feb 2015 23:11:56 -0700 +Mon, 16 Feb 2015 23:33:34 -0700 +Mon, 16 Feb 2015 23:55:51 -0700 +Tue, 17 Feb 2015 03:06:22 -0500 +Tue, 17 Feb 2015 03:55:10 -0500 +Tue, 17 Feb 2015 03:03:47 -0700 +Tue, 17 Feb 2015 05:14:48 -0500 +Tue, 17 Feb 2015 07:00:14 -0500 +Tue, 17 Feb 2015 08:10:03 -0500 +Tue, 17 Feb 2015 09:16:20 -0500 +Tue, 17 Feb 2015 07:45:12 -0500 +Tue, 17 Feb 2015 09:41:13 -0500 +Tue, 17 Feb 2015 09:03:13 -0700 +Tue, 17 Feb 2015 09:39:38 -0700 +Tue, 17 Feb 2015 08:43:10 -0800 +Tue, 17 Feb 2015 08:45:00 -0800 +Tue, 17 Feb 2015 09:02:30 -0800 +Tue, 17 Feb 2015 10:15:34 -0700 +Tue, 17 Feb 2015 09:30:41 -0800 +Tue, 17 Feb 2015 09:33:21 -0800 +Tue, 17 Feb 2015 12:58:34 -0500 +Tue, 17 Feb 2015 11:16:20 -0700 +Tue, 17 Feb 2015 11:22:37 -0700 +Tue, 17 Feb 2015 11:36:41 -0700 +Tue, 17 Feb 2015 12:08:59 -0700 +Tue, 17 Feb 2015 12:15:01 -0700 +Tue, 17 Feb 2015 12:26:08 -0700 +Tue, 17 Feb 2015 11:32:04 -0800 +Tue, 17 Feb 2015 12:43:56 -0700 +Tue, 17 Feb 2015 06:00:47 -0700 +Tue, 17 Feb 2015 13:21:16 -0700 +Tue, 17 Feb 2015 12:42:10 -0800 +Tue, 17 Feb 2015 13:48:26 -0700 +Tue, 17 Feb 2015 13:00:55 -0800 +Tue, 17 Feb 2015 14:10:45 -0700 +Tue, 17 Feb 2015 16:50:26 -0500 +Tue, 17 Feb 2015 15:59:08 -0700 +Tue, 17 Feb 2015 16:18:40 -0700 +Tue, 17 Feb 2015 16:52:07 -0700 +Tue, 17 Feb 2015 17:07:53 -0700 +Tue, 17 Feb 2015 16:08:27 -0700 +Tue, 17 Feb 2015 17:25:24 -0700 +Tue, 17 Feb 2015 17:42:17 -0700 +Sun, 15 Feb 2015 17:19:40 +0200 +Sun, 15 Feb 2015 10:52:47 -0500 +Sun, 15 Feb 2015 12:34:31 -0500 +Sun, 15 Feb 2015 14:51:01 -0500 +Sun, 15 Feb 2015 15:26:45 -0500 +Sun, 15 Feb 2015 13:03:25 -0800 +Sun, 15 Feb 2015 21:34:37 +0000 +Sun, 15 Feb 2015 17:19:21 -0500 +Mon, 16 Feb 2015 09:18:21 +0900 +Mon, 16 Feb 2015 00:08:04 -0700 +Mon, 16 Feb 2015 05:54:13 +0200 +Mon, 16 Feb 2015 02:13:41 +0200 +Mon, 16 Feb 2015 03:17:50 -0700 +Mon, 16 Feb 2015 06:36:06 -0500 +Mon, 16 Feb 2015 07:18:58 -0500 +Mon, 16 Feb 2015 05:48:26 -0700 +Mon, 16 Feb 2015 08:44:45 -0500 +Mon, 16 Feb 2015 09:57:38 -0500 +Mon, 16 Feb 2015 15:01:15 +0000 +Mon, 16 Feb 2015 15:04:59 +0000 +Mon, 16 Feb 2015 15:08:33 +0000 +Mon, 16 Feb 2015 08:26:22 -0700 +Mon, 16 Feb 2015 10:43:13 -0500 +Mon, 16 Feb 2015 08:48:06 -0700 +Mon, 16 Feb 2015 10:16:38 -0700 +Mon, 16 Feb 2015 10:36:35 -0700 +Mon, 16 Feb 2015 11:02:03 -0700 +Mon, 16 Feb 2015 13:08:18 -0500 +Mon, 16 Feb 2015 18:18:24 +0000 +Mon, 16 Feb 2015 11:28:41 -0700 +Mon, 16 Feb 2015 11:46:12 -0700 +Mon, 16 Feb 2015 12:03:48 -0700 +Mon, 16 Feb 2015 12:22:27 -0700 +Mon, 16 Feb 2015 15:49:58 -0500 +Mon, 16 Feb 2015 16:21:15 -0500 +Tue, 17 Feb 2015 04:00:04 +0400 +Tue, 17 Feb 2015 04:00:04 +0400 +Mon, 16 Feb 2015 16:10:41 -0800 +Tue, 17 Feb 2015 04:15:07 +0400 +Tue, 17 Feb 2015 04:15:07 +0400 +Mon, 16 Feb 2015 17:40:58 -0700 +Mon, 16 Feb 2015 18:02:18 -0700 +Tue, 17 Feb 2015 05:11:17 +0400 +Tue, 17 Feb 2015 05:11:18 +0400 +Mon, 16 Feb 2015 18:46:29 -0700 +Mon, 16 Feb 2015 19:02:32 -0700 +Mon, 16 Feb 2015 19:37:00 -0700 +Mon, 16 Feb 2015 19:54:38 -0700 +Tue, 17 Feb 2015 04:42:03 GMT +Tue, 17 Feb 2015 07:00:48 +0000 +Tue, 17 Feb 2015 11:07:04 +0400 +Tue, 17 Feb 2015 01:16:47 -0700 +Tue, 17 Feb 2015 01:37:36 -0700 +Tue, 17 Feb 2015 12:19:35 +0000 +Tue, 17 Feb 2015 08:26:02 -0500 +Tue, 17 Feb 2015 10:09:09 -0500 +Tue, 17 Feb 2015 08:53:10 -0700 +Tue, 17 Feb 2015 09:42:08 -0700 +Tue, 17 Feb 2015 09:57:48 -0700 +17 Feb 2015 12:03:59 -0500 +Tue, 17 Feb 2015 21:14:21 +0400 +Tue, 17 Feb 2015 21:14:21 +0400 +Tue, 17 Feb 2015 21:19:17 +0400 +Tue, 17 Feb 2015 21:19:17 +0400 +Tue, 17 Feb 2015 18:23:55 +0100 +Tue, 17 Feb 2015 10:55:28 -0700 +Tue, 17 Feb 2015 13:32:01 -0500 +Tue, 17 Feb 2015 14:40:27 -0500 +Tue, 17 Feb 2015 13:25:22 -0700 +Tue, 17 Feb 2015 22:50:04 +0200 +Tue, 17 Feb 2015 15:54:39 -0500 +Tue, 17 Feb 2015 16:04:59 -0500 +Wed, 18 Feb 2015 01:22:03 +0400 +Wed, 18 Feb 2015 01:22:03 +0400 +Tue, 17 Feb 2015 14:54:22 -0700 +Tue, 17 Feb 2015 15:28:02 -0700 +Tue, 17 Feb 2015 17:58:20 -0700 +Thu, 01 Jan 2009 11:18:47 -0700 +Thu, 01 Jan 2009 13:29:03 -0700 +Thu, 01 Jan 2009 13:38:55 -0700 +Fri, 2 Jan 2009 08:39:25 -0800 +Fri, 2 Jan 2009 11:31:09 -0700 +Mon, 05 Jan 2009 15:28:44 -0700 +Wed, 07 Jan 2009 10:18:53 +0200 +Wed, 07 Jan 2009 11:47:13 -0700 +Thu, 08 Jan 2009 13:02:12 -0300 +Thu, 08 Jan 2009 11:54:13 -0700 +Thu, 8 Jan 2009 23:12:37 -0300 +Thu, 08 Jan 2009 21:15:22 -0700 +Thu, 15 Jan 2009 18:43:37 -0700 +Wed, 21 Jan 2009 11:42:10 -0700 +Thu, 22 Jan 2009 12:45:48 -0300 +Thu, 22 Jan 2009 09:02:21 -0700 +Thu, 22 Jan 2009 09:12:07 -0700 +Thu, 22 Jan 2009 09:41:30 -0700 +Sat, 24 Jan 2009 12:14:26 -0700 +Tue, 27 Jan 2009 13:09:12 -0700 +Fri, 30 Jan 2009 14:01:28 +0000 +Fri, 30 Jan 2009 08:22:01 -0700 +Fri, 30 Jan 2009 16:02:47 +0000 +Mon, 02 Feb 2009 12:44:40 -0700 +Mon, 02 Feb 2009 13:06:28 -0700 +Mon, 02 Feb 2009 13:11:54 -0700 +Mon, 02 Feb 2009 13:15:14 -0700 +Mon, 02 Feb 2009 13:21:12 -0700 +Wed, 04 Feb 2009 16:35:19 -0700 +Wed, 04 Feb 2009 17:07:32 -0700 +Wed, 04 Feb 2009 17:26:22 -0700 +Wed, 04 Feb 2009 19:17:25 -0700 +Sun, 08 Feb 2009 18:33:04 -0700 +Sun, 08 Feb 2009 20:44:04 -0700 +10 Feb 2009 13:51:28 -0500 +Wed, 11 Feb 2009 16:21:24 +0000 +Wed, 11 Feb 2009 18:59:35 -0700 +Thu, 19 Feb 2009 12:00:06 -0700 +Thu, 19 Feb 2009 14:24:27 -0600 +Thu, 19 Feb 2009 13:39:46 -0700 +19 Feb 2009 15:52:41 -0500 +Thu, 19 Feb 2009 14:33:04 -0700 +Fri, 20 Feb 2009 12:19:28 -0700 +Fri, 20 Feb 2009 12:31:13 -0700 +Fri, 20 Feb 2009 13:11:18 -0700 +Fri, 20 Feb 2009 14:50:14 -0700 +Fri, 20 Feb 2009 15:02:19 -0700 +Fri, 20 Feb 2009 16:38:55 -0700 +Sun, 22 Feb 2009 14:39:57 -0700 +Sun, 22 Feb 2009 15:15:36 -0700 +Mon, 23 Feb 2009 20:46:56 -0800 +Tue, 24 Feb 2009 09:29:19 -0600 +Tue, 24 Feb 2009 09:56:34 -0700 +Tue, 24 Feb 2009 14:05:20 -0700 +Tue, 24 Feb 2009 16:17:03 -0700 +Thu, 26 Feb 2009 14:22:03 -0700 +Fri, 27 Feb 2009 07:27:05 -0700 +Fri, 27 Feb 2009 11:53:56 -0700 +Fri, 27 Feb 2009 12:01:43 -0700 +Mon, 2 Mar 2009 11:28:41 -0600 +Mon, 02 Mar 2009 10:56:16 -0700 +Mon, 2 Mar 2009 12:25:31 -0600 +Mon, 02 Mar 2009 12:09:15 -0700 +02 Mar 2009 14:22:43 -0500 +Mon, 02 Mar 2009 14:23:16 -0700 +Mon, 2 Mar 2009 16:01:01 -0600 +Tue, 3 Mar 2009 10:00:44 -0500 +Tue, 03 Mar 2009 17:18:18 -0700 +Thu, 05 Mar 2009 23:46:56 +0000 +Tue, 17 Mar 2009 14:06:21 -0600 +Tue, 24 Mar 2009 10:51:54 -0600 +Tue, 24 Mar 2009 11:55:26 -0500 +Tue, 24 Mar 2009 12:50:00 -0600 +Tue, 24 Mar 2009 17:55:12 -0600 +Fri, 03 Apr 2009 14:06:55 -0600 +Sun, 05 Apr 2009 09:50:38 -0600 +Sun, 05 Apr 2009 10:08:56 -0600 +Sun, 05 Apr 2009 22:47:21 -0600 +Mon, 13 Apr 2009 19:36:59 -0600 +Tue, 14 Apr 2009 05:27:13 -0700 +Wed, 15 Apr 2009 12:35:02 -0600 +Wed, 15 Apr 2009 13:57:36 -0600 +Wed, 15 Apr 2009 15:13:47 -0600 +Wed, 15 Apr 2009 15:26:26 -0600 +Wed, 15 Apr 2009 15:44:13 -0600 +Sun, 19 Apr 2009 10:49:05 -0600 +Sun, 19 Apr 2009 12:19:16 -0600 +Sun, 19 Apr 2009 19:35:16 -0700 +Mon, 20 Apr 2009 18:05:02 -0600 +Mon, 20 Apr 2009 18:26:42 -0600 +Mon, 20 Apr 2009 18:49:05 -0600 +Fri, 1 May 2009 15:19:13 -0700 +Fri, 01 May 2009 17:25:09 -0600 +Mon, 4 May 2009 18:00:18 -0700 +Mon, 04 May 2009 19:15:33 -0600 +Tue, 05 May 2009 14:03:21 -0600 +Tue, 05 May 2009 22:34:27 -0600 +Wed, 06 May 2009 17:50:01 +0000 +Wed, 06 May 2009 12:28:30 -0600 +Wed, 06 May 2009 12:41:02 -0600 +Thu, 07 May 2009 15:50:04 +0000 +Sat, 09 May 2009 12:15:13 -0600 +Wed, 13 May 2009 22:20:49 -0600 +Thu, 14 May 2009 09:49:27 -0600 +Thu, 14 May 2009 11:02:53 -0600 +Mon, 18 May 2009 21:33:07 -0600 +Tue, 26 May 2009 16:07:10 -0400 +Tue, 26 May 2009 14:17:18 -0600 +Tue, 26 May 2009 17:22:33 -0400 +Tue, 26 May 2009 16:19:15 -0600 +Tue, 26 May 2009 20:07:21 -0400 +Tue, 26 May 2009 19:41:30 -0600 +Sun, 07 Jun 2009 14:41:09 -0600 +Tue, 09 Jun 2009 09:37:11 -0600 +Tue, 9 Jun 2009 23:03:08 -0400 +Wed, 10 Jun 2009 12:33:03 -0600 +Wed, 10 Jun 2009 16:28:17 -0400 +Thu, 11 Jun 2009 14:09:21 +0000 +Sun, 14 Jun 2009 13:52:35 -0700 +Mon, 15 Jun 2009 11:29:25 -0600 +Tue, 16 Jun 2009 13:57:44 -0600 +Thu, 25 Jun 2009 11:00:53 -0700 +Fri, 26 Jun 2009 09:19:54 -0600 +Sun, 28 Jun 2009 21:15:46 -0600 +Sun, 28 Jun 2009 21:21:46 -0600 +Sun, 28 Jun 2009 21:27:01 -0600 +Mon, 29 Jun 2009 10:08:11 -0600 +Wed, 01 Jul 2009 16:43:31 +0000 +Sun, 12 Jul 2009 18:04:51 -0600 +12 Jul 2009 20:11:00 -0400 +Sun, 12 Jul 2009 18:24:35 -0600 +12 Jul 2009 20:45:12 -0400 +Sun, 12 Jul 2009 19:24:13 -0600 +12 Jul 2009 21:52:19 -0400 +Sat, 18 Jul 2009 03:16:05 +0530 +Fri, 17 Jul 2009 16:12:28 -0600 +Wed, 22 Jul 2009 19:37:43 -0600 +Wed, 22 Jul 2009 19:42:59 -0600 +Thu, 23 Jul 2009 03:36:38 -0500 +Fri, 24 Jul 2009 15:53:51 -0600 +Sat, 25 Jul 2009 00:30:21 -0600 +Sat, 25 Jul 2009 03:19:36 -0600 +Sat, 25 Jul 2009 08:13:57 -0600 +Sat, 25 Jul 2009 11:22:28 -0600 +Sat, 25 Jul 2009 15:59:49 -0600 +Sat, 25 Jul 2009 16:45:34 -0600 +Sat, 25 Jul 2009 17:30:21 -0600 +Sun, 26 Jul 2009 08:28:34 -0600 +Sat, 01 Aug 2009 15:40:25 -0600 +Sun, 02 Aug 2009 10:57:33 -0600 +Sun, 02 Aug 2009 12:08:39 -0600 +Sun, 02 Aug 2009 12:14:45 -0600 +Sun, 02 Aug 2009 17:56:39 -0600 +Mon, 03 Aug 2009 08:57:17 -0600 +Mon, 03 Aug 2009 11:12:03 -0600 +Mon, 03 Aug 2009 14:38:36 -0600 +Mon, 03 Aug 2009 17:04:11 -0600 +Mon, 3 Aug 2009 21:41:24 -0400 +3 Aug 2009 23:40:03 -0400 +Tue, 04 Aug 2009 08:16:35 -0600 +Tue, 04 Aug 2009 16:32:54 -0600 +Tue, 04 Aug 2009 16:53:17 -0600 +Tue, 04 Aug 2009 17:40:36 -0600 +Tue, 04 Aug 2009 17:47:28 -0600 +Tue, 04 Aug 2009 17:54:38 -0600 +Tue, 04 Aug 2009 18:02:26 -0600 +Tue, 04 Aug 2009 18:17:48 -0600 +Wed, 5 Aug 2009 10:24:52 +0100 +Wed, 5 Aug 2009 10:26:49 +0100 +Wed, 05 Aug 2009 05:47:09 -0600 +Wed, 05 Aug 2009 05:52:12 -0600 +Thu, 06 Aug 2009 12:46:28 -0600 +Fri, 07 Aug 2009 16:15:06 -0600 +Sat, 8 Aug 2009 08:22:42 -0600 +Sun, 09 Aug 2009 16:06:06 -0600 +Sun, 09 Aug 2009 16:48:40 -0600 +Thu, 13 Aug 2009 10:07:51 -0600 +Sat, 15 Aug 2009 14:13:03 -0600 +Tue, 18 Aug 2009 13:57:52 -0600 +Tue, 18 Aug 2009 18:02:33 -0600 +Wed, 19 Aug 2009 09:21:46 -0600 +Wed, 19 Aug 2009 10:29:24 -0600 +Wed, 19 Aug 2009 21:08:58 -0600 +Wed, 19 Aug 2009 21:10:57 -0600 +Wed, 19 Aug 2009 21:17:39 -0600 +Wed, 19 Aug 2009 21:21:23 -0600 +Mon, 07 Sep 2009 20:54:14 -0600 +Mon, 07 Sep 2009 22:18:58 -0600 +Thu, 17 Sep 2009 17:07:01 -0600 +Fri, 18 Sep 2009 17:43:17 +0000 +Fri, 18 Sep 2009 11:48:45 -0600 +Mon, 21 Sep 2009 10:00:57 -0600 +Mon, 21 Sep 2009 12:26:22 -0600 +Mon, 21 Sep 2009 23:02:59 -0600 +Wed, 23 Sep 2009 10:05:17 -0600 +Wed, 23 Sep 2009 12:46:13 -0600 +Sun, 27 Sep 2009 10:45:38 -0600 +Sun, 27 Sep 2009 10:55:45 -0600 +Sun, 27 Sep 2009 11:00:39 -0600 +Sun, 27 Sep 2009 11:08:58 -0600 +Thu, 1 Oct 2009 09:16:44 +0300 +2 Oct 2009 19:00:09 -0400 +3 Oct 2009 13:45:07 -0400 +Wed, 07 Oct 2009 11:48:00 -0600 +Wed, 7 Oct 2009 13:58:17 -0600 +Wed, 14 Oct 2009 10:12:45 -0600 +Wed, 14 Oct 2009 18:13:48 -0600 +Wed, 14 Oct 2009 18:30:13 -0600 +Fri, 16 Oct 2009 18:46:33 -0700 +Sat, 17 Oct 2009 16:16:08 -0600 +Mon, 19 Oct 2009 11:12:51 -0600 +Mon, 19 Oct 2009 17:15:07 -0700 +Tue, 20 Oct 2009 11:02:57 -0600 +Sat, 24 Oct 2009 10:46:04 -0600 +Sat, 24 Oct 2009 10:55:06 -0600 +Sun, 25 Oct 2009 08:30:45 -0300 +Sun, 25 Oct 2009 11:44:22 -0600 +Thu, 29 Oct 2009 09:33:56 -0600 +Thu, 29 Oct 2009 10:30:23 -0600 +Thu, 29 Oct 2009 11:03:34 -0600 +Sat, 31 Oct 2009 17:14:24 -0600 +Sun, 01 Nov 2009 10:12:13 -0700 +Sun, 01 Nov 2009 21:13:30 -0700 +Sun, 01 Nov 2009 21:16:47 -0700 +Tue, 03 Nov 2009 21:27:30 -0700 +Wed, 04 Nov 2009 08:03:08 -0700 +Wed, 04 Nov 2009 14:14:25 -0700 +Wed, 04 Nov 2009 21:17:28 -0700 +Thu, 05 Nov 2009 10:27:53 -0700 +Thu, 05 Nov 2009 11:09:54 -0700 +Thu, 05 Nov 2009 11:15:29 -0700 +Thu, 05 Nov 2009 11:32:40 -0700 +Fri, 06 Nov 2009 09:04:26 -0300 +Fri, 06 Nov 2009 11:02:00 -0700 +Fri, 06 Nov 2009 13:30:53 -0700 +Fri, 06 Nov 2009 14:54:13 -0700 +Fri, 06 Nov 2009 22:50:16 -0700 +Sun, 08 Nov 2009 17:57:38 -0700 +Sun, 08 Nov 2009 18:50:13 -0700 +Sun, 08 Nov 2009 22:19:55 -0700 +Mon, 09 Nov 2009 08:18:51 -0700 +Mon, 09 Nov 2009 08:28:57 -0700 +Mon, 9 Nov 2009 22:14:36 -0300 +Thu, 19 Nov 2009 21:07:05 -0700 +Fri, 20 Nov 2009 18:57:33 -0700 +Fri, 20 Nov 2009 21:57:33 -0700 +Wed, 25 Nov 2009 12:43:20 -0700 +Wed, 25 Nov 2009 14:11:07 -0700 +Sat, 05 Dec 2009 12:47:19 -0700 +Sat, 05 Dec 2009 14:11:31 -0700 +Sat, 05 Dec 2009 16:10:31 -0700 +Sun, 06 Dec 2009 00:15:15 -0700 +Sun, 06 Dec 2009 13:00:31 -0700 +Sun, 06 Dec 2009 14:15:07 -0700 +Sun, 06 Dec 2009 14:43:04 -0700 +Sun, 06 Dec 2009 14:52:57 -0700 +Sun, 06 Dec 2009 15:53:39 -0700 +Sun, 06 Dec 2009 16:16:02 -0700 +Sun, 06 Dec 2009 16:29:05 -0700 +Sun, 06 Dec 2009 16:46:40 -0700 +Sun, 06 Dec 2009 17:04:25 -0700 +Sun, 06 Dec 2009 19:06:56 -0700 +Sat, 12 Dec 2009 12:29:21 -0700 +Sat, 12 Dec 2009 12:45:06 -0700 +Sun, 13 Dec 2009 11:05:55 -0700 +Sun, 13 Dec 2009 14:46:10 -0700 +Mon, 14 Dec 2009 10:53:07 -0700 +Mon, 14 Dec 2009 21:21:17 +0300 +Mon, 14 Dec 2009 11:38:10 -0700 +Mon, 14 Dec 2009 12:49:52 -0700 +Mon, 14 Dec 2009 23:04:15 +0300 +Wed, 16 Dec 2009 14:22:11 -0600 +Tue, 22 Dec 2009 08:25:00 -0700 +Thu, 24 Dec 2009 15:45:35 -0700 +Fri, 25 Dec 2009 12:41:21 -0700 +Thu, 31 Dec 2009 10:40:13 -0700 +Thu, 31 Dec 2009 12:49:18 -0700 +Thu, 31 Dec 2009 13:30:33 -0700 +Thu, 31 Dec 2009 13:44:24 -0700 +Thu, 31 Dec 2009 13:49:25 -0700 +Thu, 31 Dec 2009 15:10:52 -0800 +Thu, 31 Dec 2009 19:39:30 -0700 +Thu, 31 Dec 2009 19:43:34 -0700 +Thu, 31 Dec 2009 19:58:27 -0700 +Fri, 01 Jan 2010 12:14:40 -0300 +Fri, 01 Jan 2010 10:59:07 -0700 +Fri, 01 Jan 2010 12:45:16 -0700 +Sat, 02 Jan 2010 16:26:04 -0700 +Mon, 04 Jan 2010 09:35:30 -0700 +Mon, 04 Jan 2010 10:30:10 -0700 +Mon, 04 Jan 2010 11:41:14 -0700 +Tue, 12 Jan 2010 11:50:35 -0700 +Tue, 12 Jan 2010 12:11:55 -0700 +Tue, 12 Jan 2010 14:36:40 -0700 +Tue, 12 Jan 2010 21:38:34 -0700 +Wed, 13 Jan 2010 09:53:08 -0700 +Fri, 15 Jan 2010 20:42:47 -0700 +Sat, 16 Jan 2010 23:26:44 -0700 +Sun, 17 Jan 2010 09:01:09 -0700 +Mon, 01 Feb 2010 16:05:15 -0700 +Wed, 03 Feb 2010 19:06:05 -0700 +Wed, 03 Feb 2010 21:00:56 -0700 +Wed, 03 Feb 2010 21:13:30 -0700 +Thu, 4 Feb 2010 18:07:25 -0600 +Fri, 05 Feb 2010 18:06:09 -0700 +Fri, 05 Feb 2010 18:15:46 -0700 +Fri, 05 Feb 2010 22:49:35 -0300 +Sat, 6 Feb 2010 06:57:04 -0800 +Sat, 06 Feb 2010 13:49:23 -0700 +Sun, 07 Feb 2010 11:42:21 -0700 +Tue, 09 Feb 2010 22:05:24 -0700 +Wed, 10 Feb 2010 00:27:51 -0700 +Wed, 10 Feb 2010 16:24:46 -0700 +Wed, 10 Feb 2010 21:32:28 -0700 +Thu, 11 Feb 2010 18:32:04 -0700 +Sat, 13 Feb 2010 13:29:05 -0700 +Mon, 15 Feb 2010 15:15:14 -0700 +Wed, 17 Feb 2010 10:52:35 -0700 +Wed, 17 Feb 2010 13:24:45 -0700 +Wed, 17 Feb 2010 17:55:15 -0700 +Wed, 17 Feb 2010 18:07:01 -0700 +Thu, 18 Feb 2010 11:23:22 -0700 +Thu, 18 Feb 2010 11:38:48 -0700 +Thu, 18 Feb 2010 19:53:03 -0800 +Fri, 19 Feb 2010 10:13:23 -0800 +Mon, 22 Feb 2010 17:06:07 -0800 +Fri, 26 Feb 2010 14:03:39 -0800 +Fri, 26 Feb 2010 15:26:29 -0700 +Sat, 27 Feb 2010 08:48:19 -0700 +Sat, 27 Feb 2010 08:51:14 -0700 +Sat, 27 Feb 2010 07:54:49 -0800 +Sat, 27 Feb 2010 08:02:42 -0800 +Sat, 27 Feb 2010 09:21:30 -0700 +Sat, 27 Feb 2010 09:23:51 -0700 +Sat, 27 Feb 2010 11:58:40 -0800 +Sat, 27 Feb 2010 13:05:51 -0700 +Sat, 27 Feb 2010 13:30:10 -0800 +Sat, 27 Feb 2010 13:51:46 -0800 +Sat, 27 Feb 2010 17:40:52 -0700 +Sun, 28 Feb 2010 07:52:36 -0800 +Sun, 28 Feb 2010 09:22:43 -0700 +Sun, 28 Feb 2010 14:18:39 -0800 +Sun, 28 Feb 2010 15:28:11 -0700 +Mon, 1 Mar 2010 11:21:30 -0800 +Mon, 01 Mar 2010 14:22:12 -0700 +Wed, 03 Mar 2010 19:12:34 -0700 +Wed, 03 Mar 2010 19:17:48 -0700 +3 Mar 2010 23:45:06 -0500 +Wed, 03 Mar 2010 22:44:36 -0700 +Thu, 04 Mar 2010 11:25:27 -0700 +Fri, 05 Mar 2010 13:08:16 -0700 +Fri, 05 Mar 2010 13:18:24 -0700 +Wed, 10 Mar 2010 10:56:45 -0300 +Wed, 10 Mar 2010 17:25:03 -0700 +Wed, 10 Mar 2010 20:45:29 -0700 +Thu, 11 Mar 2010 09:10:01 -0700 +Tue, 16 Mar 2010 09:33:34 -0700 +Fri, 19 Mar 2010 16:30:42 -0400 +Sun, 21 Mar 2010 16:56:12 -0600 +Sun, 21 Mar 2010 22:12:46 -0600 +Mon, 22 Mar 2010 20:34:38 -0600 +Tue, 23 Mar 2010 17:13:26 -0600 +Sun, 28 Mar 2010 14:06:30 -0700 +Thu, 15 Apr 2010 17:38:01 +0300 +Thu, 15 Apr 2010 09:43:17 -0500 +Thu, 15 Apr 2010 12:09:55 -0500 +Fri, 16 Apr 2010 13:11:21 +0300 +Fri, 16 Apr 2010 19:38:45 -0500 +Sat, 17 Apr 2010 17:16:06 -0700 +Fri, 23 Apr 2010 12:31:07 -0700 +Fri, 23 Apr 2010 12:37:38 -0700 +Fri, 23 Apr 2010 12:40:00 -0700 +Tue, 27 Apr 2010 19:09:45 -0600 +Tue, 27 Apr 2010 23:34:13 -0600 +Fri, 30 Apr 2010 04:28:38 -0400 +Fri, 30 Apr 2010 23:45:19 -0600 +Sun, 02 May 2010 11:59:23 -0600 +Mon, 03 May 2010 00:04:46 -0600 +Wed, 05 May 2010 18:36:32 -0600 +Wed, 05 May 2010 22:26:50 -0600 +Thu, 06 May 2010 15:12:22 -0600 +Thu, 06 May 2010 16:12:58 -0600 +Thu, 06 May 2010 16:37:33 -0600 +Thu, 06 May 2010 17:10:08 -0600 +Thu, 06 May 2010 18:06:29 -0600 +Thu, 06 May 2010 18:35:03 -0600 +Thu, 06 May 2010 18:48:15 -0600 +Thu, 06 May 2010 20:57:54 -0600 +Thu, 06 May 2010 22:18:40 -0600 +Thu, 06 May 2010 22:20:01 -0600 +Fri, 07 May 2010 13:04:05 -0600 +Fri, 07 May 2010 13:19:45 -0600 +Fri, 07 May 2010 14:23:11 -0600 +Fri, 07 May 2010 14:41:29 -0600 +Fri, 07 May 2010 17:52:04 -0600 +Wed, 12 May 2010 09:02:57 -0600 +Wed, 12 May 2010 09:06:08 -0600 +Wed, 12 May 2010 10:34:04 -0600 +Wed, 12 May 2010 11:42:16 -0600 +Wed, 12 May 2010 13:11:36 -0600 +Wed, 12 May 2010 13:57:44 -0600 +Thu, 13 May 2010 12:08:21 -0600 +Thu, 13 May 2010 22:38:22 -0600 +Thu, 13 May 2010 22:58:37 -0600 +Thu, 13 May 2010 23:57:42 -0600 +Fri, 14 May 2010 08:06:08 -0600 +Sat, 15 May 2010 09:33:55 -0600 +Sat, 15 May 2010 10:09:11 -0600 +Sun, 16 May 2010 08:06:12 -0600 +Sun, 16 May 2010 11:34:45 -0600 +Sun, 16 May 2010 12:39:37 -0600 +Sun, 16 May 2010 23:44:31 -0600 +Sat, 22 May 2010 23:07:47 -0600 +Fri, 28 May 2010 14:11:32 -0600 +Fri, 28 May 2010 15:17:29 -0600 +Fri, 28 May 2010 20:49:03 -0600 +Fri, 28 May 2010 23:41:23 -0600 +Sat, 29 May 2010 12:55:47 -0600 +Sat, 29 May 2010 13:08:02 -0600 +Sat, 29 May 2010 17:46:07 -0600 +Mon, 31 May 2010 12:45:24 -0600 +Mon, 31 May 2010 16:06:36 -0600 +Mon, 31 May 2010 16:18:42 -0600 +Mon, 31 May 2010 16:42:38 -0600 +Mon, 31 May 2010 20:53:07 -0600 +Tue, 01 Jun 2010 08:57:28 -0400 +Tue, 01 Jun 2010 09:58:31 -0600 +Tue, 1 Jun 2010 20:14:46 -0600 +Tue, 01 Jun 2010 21:07:43 -0600 +Thu, 03 Jun 2010 12:51:22 -0600 +Thu, 3 Jun 2010 21:26:29 -0600 +Fri, 04 Jun 2010 15:28:11 -0600 +Sat, 5 Jun 2010 00:50:18 +0000 +Fri, 04 Jun 2010 19:47:06 -0600 +Tue, 8 Jun 2010 05:57:02 -0700 +Tue, 08 Jun 2010 08:02:34 -0600 +Tue, 8 Jun 2010 21:30:25 -0600 +Tue, 8 Jun 2010 22:25:02 -0600 +Thu, 10 Jun 2010 16:00:40 +1100 +Thu, 10 Jun 2010 10:03:40 -0600 +Thu, 10 Jun 2010 10:25:33 -0700 +Thu, 10 Jun 2010 12:06:46 -0600 +Fri, 11 Jun 2010 22:29:16 EDT +Sun, 13 Jun 2010 20:56:32 -0600 +Wed, 16 Jun 2010 21:43:19 +0200 +Thu, 17 Jun 2010 09:56:43 -0700 +Thu, 17 Jun 2010 11:40:05 -0600 +Fri, 18 Jun 2010 16:00:11 -0600 +Fri, 18 Jun 2010 22:25:45 -0600 +Sat, 19 Jun 2010 09:09:24 -0600 +Sun, 20 Jun 2010 19:14:29 -0600 +Sun, 20 Jun 2010 20:15:23 -0600 +Sun, 20 Jun 2010 21:24:47 -0600 +Sun, 20 Jun 2010 21:37:42 -0600 +Mon, 21 Jun 2010 14:29:40 -0600 +Mon, 21 Jun 2010 16:17:17 -0600 +Mon, 21 Jun 2010 21:48:12 -0600 +Mon, 21 Jun 2010 22:23:31 -0600 +Mon, 21 Jun 2010 23:10:58 -0600 +Mon, 21 Jun 2010 23:19:31 -0600 +Tue, 22 Jun 2010 11:23:26 -0600 +Wed, 23 Jun 2010 11:42:36 -0600 +Thu, 24 Jun 2010 00:04:37 -0600 +Thu, 24 Jun 2010 09:19:53 -0600 +Thu, 24 Jun 2010 12:02:03 -0600 +Thu, 24 Jun 2010 12:11:01 -0600 +Fri, 25 Jun 2010 13:20:27 -0700 +Fri, 25 Jun 2010 14:36:19 -0600 +Fri, 25 Jun 2010 17:13:50 -0600 +Sat, 26 Jun 2010 20:54:41 -0600 +Sun, 27 Jun 2010 15:58:50 -0600 +Sun, 27 Jun 2010 16:08:06 -0600 +Tue, 29 Jun 2010 11:56:13 -0600 +Tue, 29 Jun 2010 13:53:15 -0700 +Tue, 29 Jun 2010 18:47:44 -0700 +Tue, 29 Jun 2010 20:45:33 -0600 +Wed, 30 Jun 2010 21:59:08 -0600 +Thu, 1 Jul 2010 14:52:13 -0700 +Thu, 1 Jul 2010 16:23:01 -0700 +Fri, 2 Jul 2010 08:35:14 -0700 +Mon, 5 Jul 2010 12:27:20 -0600 +Tue, 06 Jul 2010 15:02:25 +0000 +Fri, 09 Jul 2010 00:08:12 -0600 +Sun, 11 Jul 2010 20:53:47 -0600 +Mon, 12 Jul 2010 05:54:08 -0700 +Tue, 13 Jul 2010 11:07:31 -0600 +Tue, 13 Jul 2010 14:57:32 -0600 +Tue, 13 Jul 2010 18:03:38 -0600 +Tue, 13 Jul 2010 17:14:54 -0700 +Tue, 13 Jul 2010 18:23:08 -0600 +Wed, 14 Jul 2010 17:06:58 -0600 +Thu, 15 Jul 2010 10:34:31 -0600 +Sat, 17 Jul 2010 12:21:05 -0600 +Sat, 17 Jul 2010 12:45:56 -0600 +Sat, 17 Jul 2010 13:02:12 -0600 +Sun, 18 Jul 2010 17:26:50 -0600 +Mon, 19 Jul 2010 05:06:38 -0600 +Mon, 19 Jul 2010 11:31:14 -0400 +Tue, 20 Jul 2010 11:46:17 -0600 +Wed, 21 Jul 2010 04:05:48 -0400 +Wed, 21 Jul 2010 11:54:58 -0600 +Sat, 24 Jul 2010 11:01:44 -0600 +Sat, 24 Jul 2010 13:33:44 -0600 +Sat, 24 Jul 2010 16:42:11 -0600 +Mon, 26 Jul 2010 17:37:40 -0700 +Tue, 27 Jul 2010 22:06:40 -0600 +Wed, 28 Jul 2010 10:47:36 -0600 +Wed, 28 Jul 2010 11:29:25 -0600 +Wed, 28 Jul 2010 11:52:58 -0600 +Wed, 28 Jul 2010 12:41:59 -0600 +Wed, 28 Jul 2010 14:43:55 -0700 +Wed, 28 Jul 2010 21:28:33 -0600 +Thu, 29 Jul 2010 17:18:26 -0600 +Fri, 30 Jul 2010 08:56:36 -0600 +Fri, 30 Jul 2010 08:23:25 -0700 +Mon, 2 Aug 2010 11:00:07 -0700 +Mon, 02 Aug 2010 13:16:04 -0600 +Tue, 3 Aug 2010 14:26:44 -0600 +Wed, 04 Aug 2010 08:38:23 -0600 +Wed, 4 Aug 2010 08:24:56 -0700 +Wed, 04 Aug 2010 09:37:32 -0600 +Wed, 4 Aug 2010 14:12:28 -0700 +Fri, 06 Aug 2010 14:36:13 -0600 +Fri, 06 Aug 2010 16:33:17 -0600 +Fri, 6 Aug 2010 16:38:47 -0600 +Fri, 06 Aug 2010 17:45:30 -0600 +Mon, 09 Aug 2010 10:32:58 -0600 +Mon, 09 Aug 2010 20:17:38 -0600 +Mon, 09 Aug 2010 20:52:25 -0600 +Thu, 12 Aug 2010 07:17:22 -0400 +Thu, 12 Aug 2010 08:16:44 -0600 +Thu, 12 Aug 2010 09:02:06 -0600 +Thu, 12 Aug 2010 09:52:27 -0600 +Thu, 12 Aug 2010 10:17:11 -0600 +Thu, 12 Aug 2010 14:39:11 -0600 +Fri, 13 Aug 2010 13:51:09 -0600 +Fri, 13 Aug 2010 13:55:36 -0600 +Sun, 22 Aug 2010 09:41:09 -0600 +Mon, 23 Aug 2010 12:35:52 -0600 +Mon, 23 Aug 2010 12:53:47 -0600 +Mon, 23 Aug 2010 18:48:48 -0600 +Mon, 23 Aug 2010 19:14:12 -0600 +Mon, 23 Aug 2010 19:42:44 -0600 +Sat, 28 Aug 2010 19:56:33 -0700 +Sun, 29 Aug 2010 18:01:01 -0600 +Sun, 29 Aug 2010 19:09:17 -0600 +Mon, 30 Aug 2010 11:46:11 -0400 +Mon, 30 Aug 2010 10:53:28 -0600 +Mon, 30 Aug 2010 20:05:06 -0400 +Mon, 30 Aug 2010 18:31:17 -0600 +Mon, 30 Aug 2010 18:33:14 -0600 +Mon, 30 Aug 2010 20:58:18 -0400 +Tue, 31 Aug 2010 06:56:34 -0600 +Tue, 31 Aug 2010 06:46:46 -0700 +Tue, 31 Aug 2010 10:25:58 -0400 +Tue, 31 Aug 2010 10:27:53 -0400 +Tue, 31 Aug 2010 10:04:18 -0600 +Tue, 31 Aug 2010 20:22:59 -0600 +Thu, 2 Sep 2010 12:13:46 -0600 +Thu, 02 Sep 2010 14:26:11 -0600 +Sat, 04 Sep 2010 12:53:14 -0600 +Sun, 05 Sep 2010 16:42:51 -0600 +Tue, 07 Sep 2010 09:37:04 -0600 +Tue, 7 Sep 2010 14:32:30 -0600 +Tue, 07 Sep 2010 14:59:38 -0600 +Wed, 8 Sep 2010 08:07:02 -0600 +Wed, 8 Sep 2010 09:30:27 -0600 +Wed, 08 Sep 2010 09:41:49 -0600 +Thu, 9 Sep 2010 20:16:10 -0700 +Thu, 09 Sep 2010 21:43:28 -0600 +Thu, 9 Sep 2010 23:32:30 -0500 +Fri, 10 Sep 2010 07:52:50 -0600 +Fri, 10 Sep 2010 10:10:58 -0500 +Fri, 10 Sep 2010 08:54:19 -0700 +Fri, 10 Sep 2010 10:08:57 -0600 +Fri, 10 Sep 2010 09:25:17 -0700 +Sat, 11 Sep 2010 00:18:25 -0600 +Sat, 11 Sep 2010 08:26:04 -0600 +Sun, 12 Sep 2010 11:30:59 -0600 +Sun, 12 Sep 2010 11:32:33 -0600 +Sun, 12 Sep 2010 16:05:58 -0600 +Sun, 12 Sep 2010 18:53:13 -0600 +Sun, 12 Sep 2010 18:33:31 -0700 +Mon, 13 Sep 2010 14:13:23 +0200 +Mon, 13 Sep 2010 10:33:27 -0600 +Mon, 13 Sep 2010 11:18:14 -0600 +Mon, 13 Sep 2010 12:37:56 -0500 +Tue, 14 Sep 2010 14:12:10 -0600 +Wed, 15 Sep 2010 22:23:55 -0500 +Thu, 16 Sep 2010 11:38:02 -0600 +Thu, 16 Sep 2010 12:43:58 -0500 +Thu, 16 Sep 2010 12:12:42 -0600 +Thu, 16 Sep 2010 13:36:59 -0500 +Fri, 17 Sep 2010 18:49:57 -0600 +Sat, 18 Sep 2010 08:46:15 -0600 +Wed, 22 Sep 2010 13:26:43 -0700 +Wed, 22 Sep 2010 14:32:56 -0600 +Wed, 22 Sep 2010 20:40:16 -0600 +Sat, 25 Sep 2010 05:46:02 -0600 +Wed, 29 Sep 2010 15:40:08 -0700 +Wed, 29 Sep 2010 15:46:09 -0700 +Wed, 29 Sep 2010 17:06:33 -0600 +Wed, 29 Sep 2010 17:29:22 -0700 +Wed, 29 Sep 2010 22:18:44 -0600 +Tue, 5 Oct 2010 20:22:22 -0600 +Mon, 11 Oct 2010 09:56:04 -0600 +Mon, 11 Oct 2010 10:12:08 -0600 +Mon, 11 Oct 2010 23:55:19 -0600 +Tue, 12 Oct 2010 17:34:55 -0600 +Tue, 12 Oct 2010 18:16:45 -0600 +Tue, 12 Oct 2010 20:55:16 -0400 +Wed, 13 Oct 2010 11:29:44 -0600 +Wed, 13 Oct 2010 13:19:39 -0600 +Wed, 13 Oct 2010 15:24:32 -0400 +Fri, 15 Oct 2010 10:46:29 -0600 +Wed, 20 Oct 2010 13:05:24 -0600 +Wed, 20 Oct 2010 19:00:49 -0600 +Wed, 20 Oct 2010 19:36:24 -0600 +Thu, 21 Oct 2010 15:24:06 -0600 +Thu, 28 Oct 2010 12:37:16 -0500 +Fri, 29 Oct 2010 18:44:52 -0700 +Sat, 30 Oct 2010 08:18:55 -0600 +Sun, 31 Oct 2010 17:13:06 -0600 +Tue, 02 Nov 2010 14:43:47 -0600 +Tue, 02 Nov 2010 16:28:43 -0600 +Tue, 02 Nov 2010 18:03:07 -0600 +Wed, 03 Nov 2010 10:15:35 -0600 +Wed, 03 Nov 2010 10:46:07 -0600 +Wed, 03 Nov 2010 12:22:49 -0600 +Wed, 03 Nov 2010 12:34:38 -0600 +Thu, 04 Nov 2010 08:53:38 -0600 +Thu, 4 Nov 2010 10:58:41 -0500 +Fri, 05 Nov 2010 10:21:25 -0600 +Fri, 05 Nov 2010 11:08:34 -0600 +Sun, 7 Nov 2010 18:44:51 -0600 +Tue, 9 Nov 2010 15:09:19 -0800 +Tue, 09 Nov 2010 18:01:59 -0700 +Wed, 10 Nov 2010 10:44:17 -0700 +Wed, 10 Nov 2010 20:32:43 -0800 +Thu, 11 Nov 2010 12:37:51 -0700 +Fri, 12 Nov 2010 12:47:26 -0700 +Fri, 12 Nov 2010 12:51:05 -0700 +Fri, 12 Nov 2010 12:54:52 -0700 +Fri, 12 Nov 2010 13:08:44 -0700 +Thu, 18 Nov 2010 13:16:43 -0700 +Fri, 19 Nov 2010 11:09:02 -0700 +Sat, 20 Nov 2010 12:14:24 -0700 +Sat, 20 Nov 2010 21:30:21 -0700 +Sat, 20 Nov 2010 21:55:14 -0700 +Sun, 21 Nov 2010 10:59:14 -0700 +Sun, 21 Nov 2010 11:22:42 -0700 +Sun, 21 Nov 2010 11:40:59 -0700 +Mon, 29 Nov 2010 12:45:38 -0700 +29 Nov 2010 15:03:03 -0500 +Mon, 29 Nov 2010 18:11:45 -0700 +29 Nov 2010 20:43:34 -0500 +Wed, 01 Dec 2010 15:29:17 -0700 +Wed, 01 Dec 2010 16:26:20 -0700 +Wed, 01 Dec 2010 16:38:11 -0700 +Wed, 01 Dec 2010 17:53:31 -0700 +Thu, 02 Dec 2010 16:01:15 -0700 +Thu, 02 Dec 2010 21:03:56 -0700 +Thu, 02 Dec 2010 21:09:26 -0700 +Fri, 03 Dec 2010 19:27:22 -0700 +Sat, 11 Dec 2010 11:11:58 -0600 +Sun, 12 Dec 2010 15:25:30 -0800 +Sun, 12 Dec 2010 21:24:15 -0700 +Mon, 13 Dec 2010 14:30:41 -0800 +Tue, 14 Dec 2010 14:11:57 -0700 +Thu, 16 Dec 2010 16:07:58 -0800 +Fri, 17 Dec 2010 18:30:37 -0700 +Mon, 20 Dec 2010 15:57:06 -0800 +Mon, 20 Dec 2010 17:44:45 -0700 +Tue, 21 Dec 2010 15:47:58 -0800 +Sat, 01 Jan 2011 12:56:29 -0700 +Sat, 01 Jan 2011 15:41:41 -0700 +Sat, 1 Jan 2011 15:52:35 -0700 +Sun, 02 Jan 2011 15:02:30 -0700 +Tue, 4 Jan 2011 15:50:33 -0800 +Fri, 7 Jan 2011 18:18:33 -0800 +Fri, 07 Jan 2011 20:08:44 -0700 +Fri, 7 Jan 2011 19:29:59 -0800 +Fri, 07 Jan 2011 20:41:34 -0700 +Sun, 09 Jan 2011 13:53:56 -0700 +Sun, 9 Jan 2011 14:19:33 -0700 +Sun, 09 Jan 2011 15:54:20 -0700 +Sun, 09 Jan 2011 16:09:12 -0700 +Sun, 09 Jan 2011 16:14:33 -0700 +Mon, 10 Jan 2011 05:13:12 -0800 +Mon, 17 Jan 2011 10:53:01 -0800 +Mon, 17 Jan 2011 18:05:20 -0700 +Tue, 18 Jan 2011 12:21:57 -0700 +Fri, 21 Jan 2011 15:01:42 -0700 +Fri, 21 Jan 2011 15:29:21 -0700 +Tue, 25 Jan 2011 17:37:09 -0700 +25 Jan 2011 19:45:22 -0500 +Thu, 27 Jan 2011 18:11:12 -0700 +Sat, 29 Jan 2011 11:39:36 -0700 +Sat, 29 Jan 2011 17:33:35 -0700 +Sat, 29 Jan 2011 18:43:22 -0800 +Sun, 30 Jan 2011 12:59:53 -0700 +Sun, 30 Jan 2011 13:36:07 -0700 +Mon, 31 Jan 2011 10:24:29 -0800 +Mon, 31 Jan 2011 11:42:30 -0700 +Mon, 31 Jan 2011 16:54:42 -0800 +Mon, 31 Jan 2011 20:07:15 -0700 +Mon, 31 Jan 2011 21:29:27 -0600 +Tue, 01 Feb 2011 20:32:25 -0700 +Thu, 3 Feb 2011 10:40:11 -0800 +Sun, 6 Feb 2011 12:37:33 -0800 +Sun, 06 Feb 2011 14:06:04 -0700 +Sun, 6 Feb 2011 13:10:13 -0800 +Sun, 6 Feb 2011 13:32:08 -0800 +Sun, 06 Feb 2011 20:58:03 -0700 +Mon, 7 Feb 2011 15:45:38 -0800 +Sat, 12 Feb 2011 17:54:51 -0700 +Sun, 13 Feb 2011 11:31:12 -0700 +Sun, 13 Feb 2011 13:42:41 -0800 +Sun, 13 Feb 2011 15:09:40 -0700 +Mon, 14 Feb 2011 14:36:13 -0700 +Mon, 14 Feb 2011 19:44:47 -0700 +Mon, 14 Feb 2011 19:46:20 -0700 +Wed, 16 Feb 2011 13:49:24 -0700 +Wed, 16 Feb 2011 14:41:17 -0700 +Wed, 16 Feb 2011 14:43:06 -0700 +Wed, 16 Feb 2011 14:47:12 -0700 +Wed, 16 Feb 2011 15:05:48 -0700 +Wed, 16 Feb 2011 15:21:26 -0700 +Wed, 16 Feb 2011 16:03:42 -0700 +Wed, 16 Feb 2011 21:48:53 -0700 +Thu, 17 Feb 2011 07:56:50 -0700 +Thu, 17 Feb 2011 08:27:40 -0700 +Thu, 17 Feb 2011 09:04:58 -0700 +Thu, 17 Feb 2011 09:23:31 -0700 +Thu, 17 Feb 2011 10:44:46 -0700 +Thu, 17 Feb 2011 19:21:09 -0800 +Thu, 17 Feb 2011 22:40:54 -0700 +Thu, 17 Feb 2011 23:11:12 -0700 +Fri, 18 Feb 2011 09:11:23 -0700 +Sat, 19 Feb 2011 20:44:09 -0700 +Sat, 19 Feb 2011 19:59:57 -0800 +Sat, 19 Feb 2011 21:16:42 -0700 +Sun, 20 Feb 2011 03:15:46 -0700 +Sun, 20 Feb 2011 08:38:43 -0800 +Sun, 20 Feb 2011 09:55:18 -0700 +Sun, 20 Feb 2011 10:04:59 -0700 +Sun, 20 Feb 2011 09:30:23 -0800 +Mon, 21 Feb 2011 12:55:17 -0700 +Mon, 21 Feb 2011 12:58:37 -0700 +Tue, 22 Feb 2011 14:50:28 -0700 +Wed, 23 Feb 2011 23:50:07 -0700 +Thu, 24 Feb 2011 09:01:47 -0800 +Thu, 24 Feb 2011 10:33:15 -0700 +Thu, 24 Feb 2011 10:59:29 -0700 +Thu, 24 Feb 2011 18:29:30 -0700 +Thu, 24 Feb 2011 20:18:57 -0800 +Fri, 25 Feb 2011 09:59:06 -0800 +Fri, 25 Feb 2011 12:18:27 -0700 +Mon, 28 Feb 2011 15:58:57 -0700 +Tue, 01 Mar 2011 19:42:01 -0800 +Wed, 02 Mar 2011 13:11:02 -0700 +Sat, 05 Mar 2011 17:50:58 -0700 +Sat, 5 Mar 2011 20:51:47 -0700 +Mon, 07 Mar 2011 20:15:24 -0700 +Mon, 07 Mar 2011 20:24:12 -0700 +Mon, 07 Mar 2011 20:38:38 -0700 +Mon, 07 Mar 2011 20:49:17 -0700 +Fri, 11 Mar 2011 07:30:38 -0700 +11 Mar 2011 09:36:54 -0500 +Fri, 11 Mar 2011 09:25:57 -0700 +11 Mar 2011 11:29:20 -0500 +Mon, 21 Mar 2011 23:09:46 -0600 +Tue, 22 Mar 2011 16:12:31 -0500 +Wed, 23 Mar 2011 06:50:03 -0700 +Wed, 23 Mar 2011 09:50:26 -0600 +Wed, 23 Mar 2011 21:30:25 -0600 +Thu, 24 Mar 2011 07:50:34 -0600 +Sat, 26 Mar 2011 09:09:37 -0600 +Sat, 26 Mar 2011 11:19:23 -0600 +Sat, 26 Mar 2011 22:35:03 -0600 +Mon, 28 Mar 2011 17:16:02 -0600 +Mon, 28 Mar 2011 17:44:55 -0600 +Mon, 28 Mar 2011 22:15:05 -0600 +Tue, 29 Mar 2011 15:16:17 -0600 +Wed, 30 Mar 2011 19:44:35 -0700 +Thu, 31 Mar 2011 08:17:09 -0700 +Thu, 31 Mar 2011 09:27:12 -0600 +Thu, 31 Mar 2011 09:04:43 -0700 +Thu, 31 Mar 2011 14:01:08 -0600 +Thu, 31 Mar 2011 13:21:02 -0700 +Thu, 31 Mar 2011 14:55:06 -0600 +Thu, 31 Mar 2011 18:24:28 -0600 +Sat, 2 Apr 2011 18:17:49 -0600 +Sat, 02 Apr 2011 23:58:52 -0400 +Wed, 06 Apr 2011 11:04:31 -0600 +Wed, 06 Apr 2011 18:42:00 -0600 +06 Apr 2011 20:47:29 -0400 +Wed, 06 Apr 2011 18:53:34 -0600 +06 Apr 2011 20:59:05 -0400 +07 Apr 2011 07:35:46 -0400 +Thu, 7 Apr 2011 09:34:32 -0600 +Mon, 11 Apr 2011 19:33:57 -0600 +Wed, 13 Apr 2011 14:29:29 -0600 +Wed, 13 Apr 2011 15:09:32 -0600 +Thu, 14 Apr 2011 19:14:25 -0600 +Sun, 17 Apr 2011 11:47:01 -0600 +Sun, 17 Apr 2011 12:11:00 -0600 +Sun, 17 Apr 2011 12:30:27 -0600 +Sun, 17 Apr 2011 13:35:59 -0600 +Sun, 17 Apr 2011 15:55:11 -0600 +Sun, 17 Apr 2011 20:24:22 -0600 +Thu, 21 Apr 2011 12:00:50 -0600 +Fri, 22 Apr 2011 12:30:46 -0600 +Fri, 22 Apr 2011 16:04:50 -0600 +Sat, 23 Apr 2011 10:43:15 -0600 +Sun, 24 Apr 2011 13:12:08 -0700 +Mon, 25 Apr 2011 06:26:39 -0700 +Mon, 25 Apr 2011 10:26:41 -0600 +Mon, 25 Apr 2011 10:41:52 -0600 +Mon, 25 Apr 2011 11:51:49 -0600 +Mon, 25 Apr 2011 11:57:35 -0600 +Mon, 25 Apr 2011 12:47:46 -0700 +Mon, 25 Apr 2011 15:52:08 -0600 +Mon, 25 Apr 2011 17:31:56 -0700 +Mon, 25 Apr 2011 19:23:22 -0600 +Mon, 25 Apr 2011 19:01:59 -0700 +Mon, 25 Apr 2011 21:11:46 -0600 +Mon, 25 Apr 2011 21:39:50 -0600 +Tue, 26 Apr 2011 10:09:38 -0700 +Tue, 26 Apr 2011 18:53:26 -0600 +Tue, 26 Apr 2011 19:21:53 -0600 +Thu, 28 Apr 2011 22:21:41 -0600 +Sat, 30 Apr 2011 20:06:12 -0600 +Sun, 01 May 2011 18:25:06 -0600 +Sun, 1 May 2011 19:22:15 -0600 +Sun, 01 May 2011 19:25:32 -0600 +Sun, 1 May 2011 19:33:27 -0600 +Sun, 01 May 2011 23:01:43 -0600 +Sun, 1 May 2011 23:41:45 -0600 +Sun, 01 May 2011 23:55:11 -0600 +Mon, 2 May 2011 07:44:35 -0600 +Mon, 02 May 2011 14:38:35 -0600 +Mon, 2 May 2011 18:14:01 -0600 +Mon, 2 May 2011 18:25:10 -0600 +Mon, 02 May 2011 18:27:31 -0600 +Mon, 2 May 2011 18:33:46 -0600 +Sun, 15 May 2011 11:47:25 -0600 +Mon, 16 May 2011 06:54:48 -0600 +Mon, 16 May 2011 07:03:48 -0600 +Mon, 16 May 2011 20:49:39 -0600 +Tue, 17 May 2011 23:33:07 -0600 +Sun, 29 May 2011 01:21:26 -0600 +Sun, 29 May 2011 19:32:32 -0600 +Mon, 30 May 2011 04:13:19 +0000 +Tue, 31 May 2011 22:43:25 -0600 +Sun, 5 Jun 2011 16:25:47 -0600 +Sun, 05 Jun 2011 22:43:19 -0600 +Mon, 06 Jun 2011 18:30:26 -0400 +Wed, 8 Jun 2011 16:29:39 -0600 +Wed, 8 Jun 2011 16:47:01 -0600 +Wed, 08 Jun 2011 19:10:46 -0600 +Thu, 9 Jun 2011 16:32:05 -0600 +Fri, 10 Jun 2011 09:05:05 -0600 +11 Jun 2011 12:00:49 -0400 +Sun, 12 Jun 2011 12:40:36 -0600 +Sun, 12 Jun 2011 12:52:43 -0600 +Sun, 12 Jun 2011 13:05:43 -0600 +Mon, 20 Jun 2011 16:55:51 -0600 +Mon, 20 Jun 2011 18:03:14 -0600 +Tue, 21 Jun 2011 17:43:20 -0600 +Sun, 26 Jun 2011 17:31:24 -0600 +Sun, 26 Jun 2011 23:17:57 -0600 +Tue, 28 Jun 2011 14:12:26 -0600 +28 Jun 2011 16:16:07 -0400 +Tue, 28 Jun 2011 21:50:42 -0600 +Tue, 28 Jun 2011 21:55:19 -0600 +Tue, 28 Jun 2011 22:21:28 -0600 +Tue, 28 Jun 2011 22:33:05 -0600 +Wed, 29 Jun 2011 07:26:29 -0600 +Wed, 29 Jun 2011 21:00:00 -0400 +Wed, 29 Jun 2011 22:45:22 -0600 +Sat, 02 Jul 2011 23:09:22 -0600 +Sun, 3 Jul 2011 09:09:10 -0600 +Tue, 5 Jul 2011 19:02:39 -0600 +Wed, 06 Jul 2011 12:13:26 -0600 +Wed, 6 Jul 2011 13:26:09 -0600 +Wed, 6 Jul 2011 13:41:23 -0600 +Thu, 7 Jul 2011 20:05:22 -0600 +Thu, 7 Jul 2011 20:33:46 -0600 +Fri, 8 Jul 2011 08:23:18 -0600 +Sat, 9 Jul 2011 17:42:02 -0600 +Sun, 10 Jul 2011 16:29:20 -0600 +Sun, 10 Jul 2011 16:36:49 -0600 +Sun, 10 Jul 2011 16:41:17 -0600 +Sun, 10 Jul 2011 17:21:21 -0600 +Sun, 10 Jul 2011 19:40:32 -0700 +Sun, 10 Jul 2011 19:49:37 -0700 +Mon, 11 Jul 2011 22:46:35 -0600 +Wed, 13 Jul 2011 18:22:35 -0600 +Fri, 15 Jul 2011 14:36:20 -0600 +Fri, 15 Jul 2011 14:41:50 -0600 +Fri, 15 Jul 2011 23:56:32 -0600 +Sat, 16 Jul 2011 00:06:37 -0600 +Sat, 16 Jul 2011 01:18:55 -0600 +Sat, 16 Jul 2011 13:11:56 -0600 +Sun, 17 Jul 2011 09:43:34 -0700 +Tue, 19 Jul 2011 18:40:05 -0600 +Tue, 19 Jul 2011 18:03:38 -0700 +Wed, 20 Jul 2011 20:23:01 -0600 +Wed, 20 Jul 2011 20:39:44 -0600 +Sun, 24 Jul 2011 11:44:20 -0600 +Sun, 24 Jul 2011 12:02:10 -0600 +Sun, 24 Jul 2011 12:32:52 -0600 +Sun, 24 Jul 2011 21:48:04 -0600 +Tue, 26 Jul 2011 17:29:02 -0500 +Tue, 26 Jul 2011 16:21:01 -0700 +Tue, 26 Jul 2011 19:07:02 -0600 +Tue, 26 Jul 2011 21:10:29 -0600 +Sat, 30 Jul 2011 07:52:45 -0600 +Sat, 30 Jul 2011 14:21:53 -0500 +Sun, 7 Aug 2011 10:03:17 -0600 +Tue, 9 Aug 2011 15:53:37 -0600 +Tue, 9 Aug 2011 18:35:44 -0600 +Tue, 9 Aug 2011 18:54:43 -0600 +Wed, 10 Aug 2011 17:10:45 -0600 +Tue, 16 Aug 2011 14:29:28 -0600 +16 Aug 2011 16:52:04 -0400 +Fri, 26 Aug 2011 17:06:31 -0600 +Sat, 27 Aug 2011 09:53:33 -0600 +Tue, 30 Aug 2011 01:58:11 -0600 +Tue, 30 Aug 2011 23:39:21 -0600 +Thu, 1 Sep 2011 19:24:01 -0600 +Thu, 1 Sep 2011 19:28:57 -0600 +Sat, 3 Sep 2011 16:58:20 -0600 +Sat, 03 Sep 2011 21:07:53 -0600 +Wed, 07 Sep 2011 16:10:31 -0600 +Wed, 07 Sep 2011 16:53:05 -0600 +Wed, 7 Sep 2011 18:23:55 -0600 +Wed, 07 Sep 2011 21:46:39 -0600 +Fri, 9 Sep 2011 18:09:49 -0600 +Fri, 9 Sep 2011 18:55:24 -0600 +Sat, 10 Sep 2011 10:00:48 -0600 +Sat, 10 Sep 2011 19:15:14 -0600 +Sat, 10 Sep 2011 21:56:52 -0600 +Tue, 20 Sep 2011 17:39:37 -0700 +Wed, 21 Sep 2011 17:45:00 -0600 +Wed, 21 Sep 2011 19:10:13 -0700 +Sat, 24 Sep 2011 16:45:41 -0600 +Sat, 24 Sep 2011 18:12:34 -0600 +Mon, 26 Sep 2011 13:17:26 -0600 +Mon, 26 Sep 2011 14:39:13 -0600 +Tue, 27 Sep 2011 15:04:42 -0600 +Fri, 30 Sep 2011 18:26:49 -0600 +Sat, 01 Oct 2011 00:38:11 -0500 +Sat, 1 Oct 2011 07:10:27 -0600 +Sat, 01 Oct 2011 12:30:16 -0500 +Sat, 1 Oct 2011 12:02:25 -0600 +Tue, 4 Oct 2011 18:40:43 -0600 +Tue, 4 Oct 2011 17:40:59 -0700 +Wed, 5 Oct 2011 08:04:24 +0100 +Thu, 06 Oct 2011 10:01:32 -0500 +Thu, 6 Oct 2011 09:57:37 -0600 +Thu, 06 Oct 2011 11:09:24 -0500 +Fri, 7 Oct 2011 06:32:32 -0600 +Mon, 10 Oct 2011 09:58:01 -0500 +Mon, 10 Oct 2011 15:37:39 -0600 +Wed, 19 Oct 2011 14:59:38 -0600 +Wed, 19 Oct 2011 15:26:09 -0600 +Wed, 19 Oct 2011 20:48:52 -0600 +Sat, 12 Nov 2011 09:30:33 -0800 +Sat, 12 Nov 2011 11:28:03 -0800 +Sat, 12 Nov 2011 12:48:00 -0700 +Sat, 12 Nov 2011 14:21:21 -0700 +Sat, 12 Nov 2011 14:58:07 -0700 +Sat, 12 Nov 2011 22:06:21 +0000 +Sat, 12 Nov 2011 15:06:45 -0700 +Sat, 12 Nov 2011 15:15:04 -0700 +Sat, 12 Nov 2011 23:00:56 +0000 +Sun, 13 Nov 2011 11:57:49 -0700 +Mon, 21 Nov 2011 11:32:31 -0700 +Mon, 21 Nov 2011 17:24:22 -0700 +Mon, 21 Nov 2011 17:35:14 -0700 +Tue, 22 Nov 2011 06:35:23 -0700 +Tue, 22 Nov 2011 09:53:48 -0700 +Tue, 22 Nov 2011 17:52:01 -0600 +Wed, 23 Nov 2011 14:02:33 -0700 +Wed, 23 Nov 2011 15:27:59 -0700 +Wed, 23 Nov 2011 18:56:51 -0600 +Wed, 23 Nov 2011 18:56:51 -0600 +Thu, 24 Nov 2011 09:40:03 -0700 +Sat, 26 Nov 2011 11:28:36 -0700 +Sat, 26 Nov 2011 16:27:46 -0700 +Sun, 27 Nov 2011 10:32:32 -0800 +Sun, 4 Dec 2011 16:42:51 -0800 +Tue, 13 Dec 2011 21:10:04 -0800 +Sat, 17 Dec 2011 15:41:30 -0700 +Sat, 17 Dec 2011 20:33:00 -0800 +Sun, 25 Dec 2011 11:59:34 -0700 +Fri, 30 Dec 2011 18:19:16 -0700 +Sat, 31 Dec 2011 09:50:11 -0700 +Sat, 31 Dec 2011 15:45:35 -0700 +Sun, 01 Jan 2012 16:05:08 +0400 +Sun, 1 Jan 2012 13:00:52 -0700 +Mon, 02 Jan 2012 00:58:28 +0400 +Mon, 2 Jan 2012 09:49:04 -0700 +Fri, 6 Jan 2012 06:15:10 -0700 +Sat, 14 Jan 2012 19:06:27 -0700 +Sun, 15 Jan 2012 02:13:55 -0700 +Sun, 15 Jan 2012 07:46:44 -0700 +Sun, 15 Jan 2012 09:19:22 -0700 +Sun, 15 Jan 2012 09:21:17 -0700 +Sun, 15 Jan 2012 09:25:30 -0700 +Mon, 16 Jan 2012 09:59:40 -0700 +Mon, 16 Jan 2012 10:10:19 -0700 +Mon, 16 Jan 2012 10:25:13 -0700 +Tue, 17 Jan 2012 09:02:09 -0700 +Tue, 17 Jan 2012 14:05:05 -0800 +Tue, 17 Jan 2012 19:03:22 -0700 +Wed, 18 Jan 2012 14:27:54 -0700 +Wed, 18 Jan 2012 14:33:13 -0700 +Wed, 18 Jan 2012 15:04:11 -0700 +Wed, 18 Jan 2012 15:10:46 -0700 +Wed, 18 Jan 2012 15:41:22 -0700 +Wed, 18 Jan 2012 22:20:49 -0700 +Fri, 20 Jan 2012 16:01:53 -0700 +Fri, 20 Jan 2012 17:44:22 -0700 +Sun, 22 Jan 2012 18:32:36 -0700 +Wed, 8 Feb 2012 14:26:38 -0700 +Wed, 08 Feb 2012 14:46:47 -0700 +Sun, 12 Feb 2012 13:14:52 -0700 +Sun, 12 Feb 2012 15:39:21 -0700 +Sun, 12 Feb 2012 15:48:25 -0700 +Sun, 12 Feb 2012 13:23:22 -0700 +Tue, 14 Feb 2012 14:33:56 -0700 +14 Feb 2012 16:45:16 -0500 +Tue, 14 Feb 2012 14:54:42 -0700 +Mon, 20 Feb 2012 17:53:48 -0700 +Sun, 19 Feb 2012 11:23:39 -0700 +Thu, 23 Feb 2012 09:17:41 -0700 +Thu, 23 Feb 2012 22:54:18 -0700 +Sat, 25 Feb 2012 15:11:54 -0700 +Sun, 26 Feb 2012 09:20:50 -0700 +Sat, 25 Feb 2012 11:31:22 -0700 +Sat, 25 Feb 2012 11:43:21 -0700 +Sat, 25 Feb 2012 15:02:24 -0700 +Mon, 27 Feb 2012 15:12:13 -0700 +Fri, 02 Mar 2012 12:45:16 -0700 +Thu, 15 Mar 2012 13:52:16 -0600 +Tue, 3 Apr 2012 16:06:35 -0700 +Wed, 4 Apr 2012 16:08:51 -0600 +Fri, 6 Apr 2012 05:31:03 -0600 +Thu, 05 Apr 2012 22:09:29 -0600 +Tue, 3 Apr 2012 18:14:10 -0700 +Wed, 4 Apr 2012 10:31:55 -0700 +Mon, 2 Apr 2012 15:20:42 -0500 +Sun, 15 Apr 2012 08:48:24 -0600 +Sun, 15 Apr 2012 20:29:40 +0400 +Mon, 16 Apr 2012 12:41:59 -0600 +Mon, 16 Apr 2012 12:34:11 -0600 +Mon, 16 Apr 2012 16:18:55 -0600 +Mon, 16 Apr 2012 12:51:44 -0600 +Thu, 19 Apr 2012 22:21:02 -0600 +Thu, 19 Apr 2012 10:00:55 -0600 +Sat, 21 Apr 2012 20:45:14 -0400 +Thu, 26 Apr 2012 12:17:12 -0600 +Wed, 25 Apr 2012 10:55:16 -0400 +Sun, 29 Apr 2012 13:03:30 -0600 +Sun, 29 Apr 2012 15:49:34 -0600 +Sun, 29 Apr 2012 16:21:28 -0600 +Sun, 29 Apr 2012 15:34:50 -0600 +Sun, 29 Apr 2012 16:00:49 -0600 +Mon, 30 Apr 2012 19:43:18 -0600 +Sun, 29 Apr 2012 22:27:11 -0600 +Wed, 2 May 2012 14:41:58 -0600 +Thu, 03 May 2012 00:29:29 +0400 +Thu, 03 May 2012 00:32:43 +0400 +Thu, 3 May 2012 20:44:51 -0600 +Fri, 4 May 2012 10:54:58 -0600 +Fri, 4 May 2012 22:15:20 -0600 +Fri, 04 May 2012 11:11:05 -0600 +Mon, 14 May 2012 11:18:21 -0600 +Mon, 21 May 2012 14:53:06 -0600 +Sat, 26 May 2012 15:26:53 -0600 +26 May 2012 13:28:02 -0500 +Thu, 31 May 2012 11:36:25 -0600 +Sat, 2 Jun 2012 12:19:12 -0600 +Sat, 2 Jun 2012 14:21:33 -0600 +Fri, 18 May 2012 21:59:59 -0600 +Sat, 02 Jun 2012 13:06:51 -0600 +Mon, 11 Jun 2012 21:22:31 -0600 +Mon, 11 Jun 2012 20:47:57 -0600 +Thu, 14 Jun 2012 21:29:26 -0600 +Fri, 15 Jun 2012 11:46:04 -0600 +Sat, 16 Jun 2012 00:20:47 -0600 +Sat, 02 Jun 2012 15:31:46 -0600 +Sun, 03 Jun 2012 20:29:14 -0600 +Thu, 14 Jun 2012 22:15:29 -0600 +Mon, 11 Jun 2012 21:48:03 -0600 +Sun, 3 Jun 2012 15:53:10 -0600 +Tue, 26 Jun 2012 19:57:08 -0600 +Tue, 26 Jun 2012 20:21:28 -0600 +Tue, 26 Jun 2012 19:37:01 -0600 +Tue, 26 Jun 2012 18:46:50 -0700 +Tue, 26 Jun 2012 20:05:24 -0600 +Wed, 27 Jun 2012 15:08:05 -0600 +Tue, 26 Jun 2012 23:05:39 -0600 +Wed, 27 Jun 2012 15:55:00 -0600 +Tue, 3 Jul 2012 20:21:20 -0600 +Wed, 4 Jul 2012 10:15:13 -0600 +Wed, 04 Jul 2012 09:41:45 -0600 +Wed, 4 Jul 2012 23:12:06 -0600 +Thu, 5 Jul 2012 10:20:35 +0000 +Sun, 8 Jul 2012 14:36:19 -0600 +Sun, 8 Jul 2012 18:01:38 -0600 +Sun, 8 Jul 2012 23:23:35 +0000 +Sun, 8 Jul 2012 19:16:59 -0600 +Wed, 11 Jul 2012 09:38:15 -0600 +Wed, 11 Jul 2012 18:41:03 -0600 +Mon, 9 Jul 2012 15:06:43 +0000 +Fri, 13 Jul 2012 14:58:36 -0600 +Thu, 12 Jul 2012 11:11:06 +0000 +Thu, 19 Jul 2012 00:10:22 +0000 +Thu, 19 Jul 2012 17:13:39 -0600 +Thu, 19 Jul 2012 20:35:08 +0000 +Fri, 20 Jul 2012 05:56:01 -0600 +Fri, 20 Jul 2012 12:00:38 -0600 +Tue, 19 Jun 2012 16:12:06 +0000 +Fri, 20 Jul 2012 21:39:56 +0400 +Fri, 20 Jul 2012 22:26:37 +0400 +Sat, 28 Jul 2012 09:47:06 -0600 +Sat, 28 Jul 2012 09:32:27 -0600 +Sat, 28 Jul 2012 17:16:39 -0600 +Sun, 29 Jul 2012 10:23:36 -0600 +Sun, 29 Jul 2012 01:06:24 -0600 +Sat, 28 Jul 2012 09:57:09 -0600 +Sat, 18 Aug 2012 11:57:55 -0600 +Sun, 19 Aug 2012 17:49:17 -0600 +Tue, 21 Aug 2012 14:53:43 -0600 +Tue, 21 Aug 2012 13:31:14 -0700 +Tue, 21 Aug 2012 14:40:02 -0700 +Tue, 21 Aug 2012 17:47:33 -0600 +Wed, 22 Aug 2012 11:50:35 -0600 +Wed, 22 Aug 2012 10:46:55 -0700 +Wed, 22 Aug 2012 15:23:40 -0700 +Mon, 20 Aug 2012 20:29:16 -0600 +Fri, 24 Aug 2012 14:55:27 -0600 +Fri, 24 Aug 2012 19:43:11 -0600 +Sat, 25 Aug 2012 03:04:21 +0000 +Thu, 23 Aug 2012 22:01:03 -0600 +Sat, 25 Aug 2012 18:17:01 -0600 +Sat, 25 Aug 2012 11:16:18 -0600 +Sat, 28 Jul 2012 20:43:59 -0600 +Mon, 13 Aug 2012 17:45:55 -0600 +Mon, 27 Aug 2012 18:38:57 -0600 +Mon, 27 Aug 2012 18:53:33 -0600 +Sun, 26 Aug 2012 10:13:37 -0600 +Tue, 28 Aug 2012 07:04:55 -0600 +Tue, 28 Aug 2012 00:49:21 -0600 +Tue, 28 Aug 2012 00:53:23 -0600 +Tue, 28 Aug 2012 10:43:59 -0600 +Sun, 26 Aug 2012 22:27:10 -0700 +Fri, 31 Aug 2012 20:09:40 -0600 +Wed, 5 Sep 2012 11:16:37 -0600 +Mon, 03 Sep 2012 19:28:30 -0600 +Wed, 05 Sep 2012 11:59:35 -0600 +Wed, 5 Sep 2012 20:54:41 -0700 +Thu, 13 Sep 2012 19:46:14 -0600 +Thu, 13 Sep 2012 20:14:48 -0600 +Sat, 15 Sep 2012 13:36:51 -0600 +Mon, 20 Aug 2012 18:13:02 +0400 +Wed, 19 Sep 2012 15:10:47 -0600 +Wed, 19 Sep 2012 15:13:00 -0600 +Wed, 19 Sep 2012 15:23:00 -0600 +Wed, 19 Sep 2012 15:24:26 -0600 +Thu, 27 Sep 2012 09:50:27 -0600 +Wed, 26 Sep 2012 19:30:19 -0700 +Sat, 29 Sep 2012 20:05:10 -0600 +Sat, 29 Sep 2012 19:54:12 -0600 +Tue, 2 Oct 2012 13:29:33 -0600 +Tue, 2 Oct 2012 16:56:54 -0600 +Tue, 02 Oct 2012 13:36:47 -0600 +Tue, 02 Oct 2012 12:44:00 -0600 +Sun, 30 Sep 2012 10:54:27 -0600 +Sat, 6 Oct 2012 17:47:09 -0600 +Sat, 6 Oct 2012 19:35:12 -0600 +Sun, 7 Oct 2012 11:18:59 -0600 +Sat, 06 Oct 2012 21:16:07 -0600 +Tue, 9 Oct 2012 19:16:49 -0600 +Wed, 10 Oct 2012 10:13:44 -0600 +Wed, 10 Oct 2012 10:57:44 -0600 +Tue, 09 Oct 2012 21:50:54 -0600 +Wed, 10 Oct 2012 20:42:09 -0600 +Sat, 13 Oct 2012 09:37:07 -0600 +Sat, 13 Oct 2012 04:59:44 -0700 +Sat, 13 Oct 2012 09:53:43 -0600 +Sat, 13 Oct 2012 13:53:03 -0600 +Sat, 13 Oct 2012 17:37:13 -0600 +Sun, 14 Oct 2012 09:39:57 -0600 +Sun, 14 Oct 2012 00:32:08 -0600 +Sun, 14 Oct 2012 14:06:56 -0600 +Sun, 14 Oct 2012 14:17:18 -0600 +Sun, 14 Oct 2012 13:30:26 -0600 +Tue, 23 Oct 2012 16:55:52 -0600 +Wed, 24 Oct 2012 11:38:31 -0600 +Thu, 25 Oct 2012 10:46:39 -0600 +Thu, 25 Oct 2012 10:36:24 -0600 +Thu, 25 Oct 2012 10:57:51 -0600 +Thu, 25 Oct 2012 11:02:32 -0600 +Thu, 25 Oct 2012 21:14:35 -0600 +Wed, 24 Oct 2012 10:45:53 -0600 +Tue, 30 Oct 2012 14:50:49 -0600 +Tue, 30 Oct 2012 14:53:52 -0600 +Tue, 30 Oct 2012 15:01:50 -0600 +Wed, 31 Oct 2012 16:38:33 -0600 +Wed, 31 Oct 2012 16:52:42 -0600 +Wed, 31 Oct 2012 17:13:02 -0600 +Wed, 31 Oct 2012 16:42:19 -0600 +Wed, 31 Oct 2012 17:03:28 -0600 +Wed, 31 Oct 2012 17:38:36 -0600 +Wed, 31 Oct 2012 17:17:37 -0600 +Thu, 1 Nov 2012 17:17:16 -0700 +Sun, 11 Nov 2012 16:07:09 -0700 +Sun, 21 Oct 2012 10:54:17 -0600 +Fri, 23 Nov 2012 15:48:25 -0700 +Sat, 24 Nov 2012 06:16:16 -0700 +Sun, 25 Nov 2012 18:19:28 -0500 +Sat, 24 Nov 2012 20:41:15 -0700 +Fri, 23 Nov 2012 11:41:21 -0700 +Mon, 05 Nov 2012 12:54:37 -0700 +Tue, 4 Dec 2012 17:41:08 -0700 +Wed, 5 Dec 2012 07:33:20 -0700 +Tue, 04 Dec 2012 22:42:18 -0700 +Wed, 5 Dec 2012 09:34:06 -0700 +Tue, 04 Dec 2012 19:58:46 -0700 +Wed, 5 Dec 2012 09:40:50 -0700 +Wed, 5 Dec 2012 10:52:58 -0700 +Wed, 05 Dec 2012 11:55:43 -0500 +Wed, 5 Dec 2012 11:27:37 -0700 +Wed, 5 Dec 2012 11:49:37 -0700 +Wed, 05 Dec 2012 13:05:46 -0500 +Wed, 05 Dec 2012 13:32:21 -0500 +Wed, 05 Dec 2012 13:54:52 -0500 +Sat, 15 Dec 2012 19:36:11 -0700 +Mon, 17 Dec 2012 11:44:15 -0700 +Sat, 15 Dec 2012 16:36:37 -0700 +Sun, 16 Dec 2012 23:18:38 -0700 +Tue, 18 Dec 2012 11:41:11 -0700 +Sat, 22 Dec 2012 08:08:01 -0700 +Fri, 21 Dec 2012 22:44:08 -0700 +Fri, 28 Dec 2012 14:38:42 -0700 +Mon, 31 Dec 2012 17:28:04 -0700 +Sun, 23 Dec 2012 09:36:36 -0700 +Mon, 31 Dec 2012 10:00:39 -0700 +Tue, 1 Jan 2013 18:48:22 -0700 +Tue, 01 Jan 2013 12:57:16 -0700 +Fri, 4 Jan 2013 19:05:30 -0700 +Sat, 5 Jan 2013 11:12:10 -0700 +Fri, 04 Jan 2013 21:24:44 -0700 +Sun, 6 Jan 2013 16:47:03 -0700 +Mon, 7 Jan 2013 12:38:56 -0700 +Mon, 07 Jan 2013 08:30:24 -0700 +Sun, 06 Jan 2013 19:16:27 -0700 +Tue, 8 Jan 2013 17:18:20 -0700 +Tue, 8 Jan 2013 18:09:50 -0600 +Wed, 9 Jan 2013 08:41:19 -0700 +Tue, 8 Jan 2013 19:19:06 -0600 +Wed, 9 Jan 2013 11:21:46 -0600 +Sat, 12 Jan 2013 10:09:46 -0700 +Fri, 11 Jan 2013 23:25:30 -0700 +Tue, 01 Jan 2013 19:53:04 -0700 +Sun, 13 Jan 2013 11:45:20 -0700 +Sat, 12 Jan 2013 11:33:41 -0700 +Sun, 13 Jan 2013 21:30:58 -0700 +Sun, 13 Jan 2013 19:57:48 -0700 +Sun, 06 Jan 2013 18:48:10 -0700 +Sun, 06 Jan 2013 19:06:48 -0700 +Mon, 14 Jan 2013 17:41:34 -0700 +Tue, 08 Jan 2013 11:22:41 -0500 +Wed, 16 Jan 2013 14:33:22 -0000 +Sun, 6 Jan 2013 16:06:02 -0700 +Thu, 24 Jan 2013 18:55:42 -0700 +Sun, 27 Jan 2013 20:12:24 -0700 +Thu, 17 Jan 2013 21:53:23 -0700 +Sat, 2 Feb 2013 15:24:35 -0700 +Sat, 2 Feb 2013 16:29:18 -0700 +Sun, 3 Feb 2013 11:09:28 -0700 +Sun, 3 Feb 2013 17:49:33 -0700 +Tue, 5 Feb 2013 12:56:15 -0700 +Tue, 5 Feb 2013 11:11:46 -0800 +Mon, 04 Feb 2013 06:11:06 -0700 +Sat, 9 Feb 2013 16:34:21 -0700 +Mon, 04 Feb 2013 22:38:38 -0700 +Thu, 21 Feb 2013 06:12:24 -0700 +Wed, 20 Feb 2013 20:04:06 -0700 +Sat, 23 Feb 2013 16:49:54 -0700 +Sun, 24 Feb 2013 09:02:02 -0700 +Sat, 23 Feb 2013 20:06:55 -0500 +Thu, 21 Feb 2013 11:39:45 -0700 +Mon, 4 Mar 2013 16:58:59 -0700 +Tue, 5 Mar 2013 06:53:32 -0700 +Mon, 04 Mar 2013 23:10:20 -0700 +Wed, 6 Mar 2013 07:22:27 -0700 +Tue, 05 Mar 2013 22:16:55 -0700 +Sat, 16 Mar 2013 13:32:56 -0600 +Sat, 16 Mar 2013 15:52:27 -0600 +Mon, 18 Mar 2013 18:49:16 -0600 +Sun, 17 Mar 2013 11:00:49 -0600 +Sat, 23 Mar 2013 11:50:29 -0600 +Mon, 18 Mar 2013 22:25:37 -0600 +Sat, 23 Mar 2013 13:20:37 -0600 +Sat, 23 Mar 2013 12:37:44 -0600 +Sun, 7 Apr 2013 12:45:30 -0600 +Sun, 7 Apr 2013 18:40:04 -0600 +Sun, 07 Apr 2013 19:02:23 -0400 +Mon, 8 Apr 2013 00:05:38 +0000 +Tue, 9 Apr 2013 12:51:45 -0600 +Sat, 13 Apr 2013 08:13:15 -0600 +Sat, 13 Apr 2013 13:15:46 -0600 +Fri, 10 May 2013 20:29:31 -0600 +Fri, 10 May 2013 12:47:11 -0600 +Fri, 17 May 2013 14:26:50 -0600 +Thu, 16 May 2013 23:18:18 -0600 +Fri, 17 May 2013 14:40:25 -0600 +Tue, 14 May 2013 17:16:31 -0400 +Mon, 20 May 2013 14:35:11 -0500 +Sat, 18 May 2013 07:45:23 -0600 +Tue, 28 May 2013 18:15:22 -0600 +Mon, 3 Jun 2013 20:32:06 -0600 +Mon, 3 Jun 2013 22:22:13 -0400 +Tue, 4 Jun 2013 18:03:27 -0600 +Sun, 9 Jun 2013 09:04:43 -0600 +Mon, 10 Jun 2013 17:31:16 -0600 +Fri, 14 Jun 2013 15:15:17 -0600 +Tue, 11 Jun 2013 12:35:56 -0400 +Wed, 12 Jun 2013 15:27:57 -0400 +Fri, 21 Jun 2013 15:47:03 -0600 +Wed, 19 Jun 2013 23:30:34 -0600 +Fri, 21 Jun 2013 16:03:37 -0600 +Sun, 23 Jun 2013 09:46:10 -0600 +Sun, 23 Jun 2013 13:19:02 -0600 +Sun, 23 Jun 2013 14:39:15 -0600 +Sun, 23 Jun 2013 11:06:11 -0600 +Sun, 23 Jun 2013 14:05:53 -0600 +Sun, 23 Jun 2013 15:00:35 -0600 +Sun, 23 Jun 2013 18:44:02 -0600 +Sun, 23 Jun 2013 18:25:22 -0700 +Tue, 2 Jul 2013 08:19:50 -0600 +Mon, 01 Jul 2013 21:23:57 -0600 +Sun, 23 Jun 2013 15:00:56 -0600 +Sun, 14 Jul 2013 12:09:45 -0600 +Mon, 22 Jul 2013 15:17:34 -0600 +Sun, 28 Jul 2013 16:00:11 -0600 +Fri, 16 Aug 2013 18:55:16 -0600 +Tue, 27 Aug 2013 15:58:03 -0600 +Mon, 26 Aug 2013 18:46:56 -0700 +Fri, 30 Aug 2013 12:23:57 -0600 +Thu, 25 Jul 2013 17:50:13 -0400 +Tue, 30 Jul 2013 03:04:19 -0400 +Fri, 30 Aug 2013 15:44:46 -0600 +Fri, 30 Aug 2013 16:12:03 -0600 +Fri, 30 Aug 2013 16:44:16 -0600 +Fri, 30 Aug 2013 15:47:51 -0600 +Fri, 30 Aug 2013 16:16:52 -0600 +Fri, 30 Aug 2013 18:13:01 -0600 +Sat, 17 Aug 2013 13:01:15 -0600 +Tue, 27 Aug 2013 16:44:36 -0700 +Thu, 5 Sep 2013 18:35:27 -0600 +Thu, 5 Sep 2013 18:40:18 -0600 +Tue, 10 Sep 2013 16:59:05 -0600 +Wed, 11 Sep 2013 00:51:17 -0400 +Wed, 11 Sep 2013 11:08:39 -0600 +Thu, 12 Sep 2013 15:23:42 -0600 +Thu, 12 Sep 2013 12:49:57 -0600 +Fri, 13 Sep 2013 15:34:56 -0600 +Fri, 13 Sep 2013 15:51:44 -0600 +Sat, 14 Sep 2013 08:24:20 -0600 +Fri, 13 Sep 2013 08:00:04 +0200 +Sat, 14 Sep 2013 09:11:53 -0600 +Thu, 12 Sep 2013 16:04:14 -0600 +Sat, 14 Sep 2013 09:37:35 -0600 +Sat, 14 Sep 2013 09:40:11 +0200 +Sat, 14 Sep 2013 10:19:17 -0600 +Sat, 14 Sep 2013 15:55:32 -0600 +Sat, 14 Sep 2013 22:31:42 +0200 +Sat, 14 Sep 2013 20:19:23 +0200 +Sun, 15 Sep 2013 08:40:06 -0600 +Sat, 14 Sep 2013 17:53:47 -0700 +Sun, 15 Sep 2013 14:13:10 +0000 +Sun, 15 Sep 2013 10:07:09 -0600 +Sat, 14 Sep 2013 11:25:55 -0600 +Sun, 15 Sep 2013 10:43:02 -0600 +Sun, 15 Sep 2013 13:10:29 -0600 +Sun, 15 Sep 2013 13:27:09 -0600 +Sun, 15 Sep 2013 18:58:34 -0600 +Mon, 16 Sep 2013 10:00:55 -0600 +Mon, 16 Sep 2013 09:33:04 -0700 +Mon, 16 Sep 2013 11:06:59 -0600 +Mon, 16 Sep 2013 10:36:50 -0600 +Sun, 15 Sep 2013 19:29:58 -0600 +Mon, 16 Sep 2013 11:34:49 -0600 +Mon, 16 Sep 2013 11:38:14 -0600 +Mon, 16 Sep 2013 11:56:55 -0600 +Mon, 16 Sep 2013 11:57:56 -0600 +Mon, 16 Sep 2013 17:23:53 -0600 +Mon, 16 Sep 2013 18:03:25 -0500 +Mon, 16 Sep 2013 18:16:15 -0600 +Mon, 16 Sep 2013 14:20:46 -0400 +Tue, 17 Sep 2013 10:08:25 -0600 +Tue, 17 Sep 2013 11:59:27 -0600 +17 Sep 2013 18:03:53 -0400 +Mon, 16 Sep 2013 21:36:58 -0400 +Thu, 19 Sep 2013 12:30:38 -0600 +Wed, 18 Sep 2013 21:03:04 -0600 +Thu, 19 Sep 2013 17:28:25 -0600 +Fri, 20 Sep 2013 14:45:51 -0600 +Sat, 21 Sep 2013 10:45:03 +0000 +Sat, 21 Sep 2013 12:16:13 -0600 +Fri, 20 Sep 2013 19:33:29 -0600 +Sun, 22 Sep 2013 07:51:52 -0600 +Sun, 22 Sep 2013 02:13:49 +0000 +Mon, 23 Sep 2013 10:21:17 -0600 +Mon, 23 Sep 2013 17:57:34 +0200 +Mon, 23 Sep 2013 10:33:01 -0600 +Mon, 23 Sep 2013 11:23:42 -0600 +Mon, 23 Sep 2013 18:37:09 +0200 +Tue, 24 Sep 2013 14:33:10 -0600 +Sun, 22 Sep 2013 16:39:48 +0200 +Tue, 24 Sep 2013 18:20:14 -0600 +Mon, 23 Sep 2013 18:34:29 +0200 +Wed, 25 Sep 2013 11:32:15 -0600 +Tue, 24 Sep 2013 23:49:32 -0400 +Tue, 24 Sep 2013 14:17:33 -0600 +Sun, 29 Sep 2013 12:27:11 -0600 +Fri, 27 Sep 2013 23:07:58 -0600 +Sun, 29 Sep 2013 12:35:10 -0600 +Tue, 01 Oct 2013 14:07:30 -0600 +Mon, 30 Sep 2013 14:13:55 -0600 +Tue, 01 Oct 2013 17:45:48 -0400 +Wed, 2 Oct 2013 14:15:50 -0600 +Thu, 3 Oct 2013 11:28:19 -0600 +Fri, 4 Oct 2013 12:07:26 -0600 +Thu, 3 Oct 2013 08:30:01 -0600 +Wed, 9 Oct 2013 20:32:55 -0600 +Thu, 10 Oct 2013 09:35:49 -0600 +Fri, 11 Oct 2013 12:55:41 -0600 +Fri, 04 Oct 2013 23:01:49 -0600 +Tue, 15 Oct 2013 16:14:56 -0600 +Mon, 21 Oct 2013 18:42:20 -0600 +Tue, 22 Oct 2013 08:38:48 -0600 +Tue, 22 Oct 2013 02:52:57 +0000 +Wed, 23 Oct 2013 17:59:56 -0600 +Fri, 25 Oct 2013 14:25:52 -0600 +Fri, 25 Oct 2013 17:51:01 +0100 +Tue, 15 Oct 2013 17:35:54 -0600 +Fri, 25 Oct 2013 19:14:08 -0600 +Fri, 25 Oct 2013 21:22:58 -0600 +Fri, 25 Oct 2013 18:25:58 -0600 +Mon, 28 Oct 2013 19:16:59 -0600 +Mon, 28 Oct 2013 19:06:10 -0600 +Tue, 29 Oct 2013 06:38:50 -0600 +Mon, 28 Oct 2013 21:41:51 -0600 +Thu, 31 Oct 2013 18:08:26 -0600 +Thu, 31 Oct 2013 19:04:00 -0600 +Mon, 7 Oct 2013 17:48:04 -0500 +Wed, 02 Oct 2013 14:59:47 -0600 +Tue, 5 Nov 2013 15:11:25 -0700 +Fri, 01 Nov 2013 21:58:24 -0600 +Fri, 01 Nov 2013 22:46:01 -0600 +Mon, 18 Nov 2013 15:07:57 -0500 +Thu, 21 Nov 2013 16:43:57 -0700 +Sun, 24 Nov 2013 17:59:25 -0700 +Sun, 24 Nov 2013 12:59:51 -0800 +Fri, 14 Jun 2013 23:16:02 -0400 +Wed, 11 Sep 2013 16:09:15 -0400 +Tue, 3 Dec 2013 16:53:05 -0700 +Sun, 17 Nov 2013 19:48:56 -0700 +Tue, 3 Dec 2013 17:11:59 -0700 +Tue, 3 Dec 2013 20:19:51 -0700 +Tue, 03 Dec 2013 17:02:26 -0700 +Tue, 03 Dec 2013 19:18:06 -0700 +Wed, 4 Dec 2013 09:27:44 -0700 +Wed, 4 Dec 2013 16:34:39 -0700 +Tue, 03 Dec 2013 22:14:39 -0700 +Wed, 4 Dec 2013 18:14:20 -0700 +Mon, 18 Nov 2013 14:38:55 -0700 +Wed, 11 Dec 2013 17:17:07 -0500 +Mon, 16 Dec 2013 14:28:49 -0700 +Mon, 16 Dec 2013 11:33:01 -0800 +Mon, 16 Dec 2013 13:37:14 -0800 +Wed, 04 Dec 2013 22:19:28 -0700 +Fri, 20 Dec 2013 13:16:27 -0700 +9 Jan 2014 13:40:22 -0500 +Tue, 07 Jan 2014 16:48:54 -0600 +9 Jan 2014 21:05:45 -0500 +Mon, 9 Dec 2013 10:26:33 -0700 +Mon, 13 Jan 2014 19:09:19 -0700 +Mon, 13 Jan 2014 12:35:49 -0700 +Mon, 20 Jan 2014 20:27:51 -0700 +Tue, 21 Jan 2014 18:20:40 -0700 +Tue, 21 Jan 2014 18:29:28 -0700 +Tue, 21 Jan 2014 20:21:28 -0500 +Wed, 22 Jan 2014 15:29:44 -0700 +Thu, 23 Jan 2014 21:44:18 +0000 +Mon, 27 Jan 2014 16:26:06 -0700 +Mon, 3 Feb 2014 08:51:55 -0800 +Tue, 4 Feb 2014 16:33:52 -0700 +Tue, 04 Feb 2014 17:35:39 -0500 +Tue, 4 Feb 2014 16:38:30 -0700 +Sun, 9 Feb 2014 15:58:59 -0700 +Thu, 13 Feb 2014 18:46:26 -0700 +Tue, 18 Feb 2014 18:28:19 -0700 +Thu, 20 Feb 2014 18:31:10 -0700 +Wed, 19 Feb 2014 10:23:50 -0500 +Tue, 25 Feb 2014 11:22:47 -0700 +Tue, 25 Feb 2014 20:09:37 -0700 +Sat, 1 Mar 2014 08:59:19 -0700 +Sat, 1 Mar 2014 09:00:29 -0700 +Sat, 22 Feb 2014 10:47:16 +0100 +Sat, 1 Mar 2014 13:20:25 -0700 +Wed, 5 Mar 2014 17:41:55 -0700 +Tue, 04 Mar 2014 10:35:29 -0700 +Sun, 02 Mar 2014 20:13:57 -0500 +Mon, 13 Jan 2014 23:54:34 -0700 +Fri, 7 Mar 2014 22:28:31 -0500 +Sat, 15 Mar 2014 14:39:47 -0600 +Fri, 14 Mar 2014 21:25:46 -0400 +Sun, 16 Mar 2014 17:07:10 -0600 +Sat, 15 Mar 2014 18:13:21 -0400 +Tue, 18 Mar 2014 19:28:26 -0600 +Thu, 20 Mar 2014 17:19:12 -0600 +Sun, 23 Mar 2014 20:50:33 -0600 +Mon, 24 Mar 2014 12:38:20 -0600 +Mon, 24 Mar 2014 12:44:39 -0600 +Mon, 24 Mar 2014 11:35:31 -0700 +Mon, 24 Mar 2014 11:37:19 -0700 +Tue, 25 Mar 2014 02:52:35 +0400 +Mon, 24 Mar 2014 17:20:04 -0600 +Mon, 24 Mar 2014 11:13:34 -0600 +Wed, 26 Mar 2014 12:56:43 -0600 +Wed, 26 Mar 2014 17:20:48 -0600 +Tue, 25 Mar 2014 11:39:14 -0600 +Tue, 25 Mar 2014 11:47:41 -0600 +Thu, 27 Mar 2014 16:53:44 -0600 +Thu, 27 Mar 2014 17:16:42 -0600 +Thu, 27 Mar 2014 19:18:34 -0600 +Thu, 27 Mar 2014 19:50:36 -0400 +Thu, 27 Mar 2014 22:05:30 -0600 +Fri, 28 Mar 2014 09:41:53 -0600 +Fri, 4 Apr 2014 16:46:34 -0600 +Sat, 5 Apr 2014 15:47:36 -0600 +Sun, 6 Apr 2014 11:20:27 -0600 +Fri, 04 Apr 2014 23:13:53 -0600 +Sun, 6 Apr 2014 15:54:53 -0600 +Tue, 8 Apr 2014 10:34:12 -0600 +Mon, 7 Apr 2014 12:41:00 +0000 +Sun, 13 Apr 2014 11:32:27 -0600 +Fri, 18 Apr 2014 11:52:36 -0500 +Mon, 5 May 2014 20:29:38 -0600 +Mon, 5 May 2014 18:00:18 -0400 +Wed, 7 May 2014 10:27:29 -0600 +Mon, 5 May 2014 20:29:51 -0600 +Sat, 10 May 2014 10:24:52 -0600 +Sat, 10 May 2014 22:07:57 -0600 +Sun, 11 May 2014 10:06:58 -0600 +Fri, 18 Apr 2014 23:53:05 -0600 +Sat, 10 May 2014 21:15:03 -0600 +Sat, 10 May 2014 22:26:19 -0600 +Sun, 11 May 2014 20:35:21 -0600 +Tue, 13 May 2014 18:07:46 -0600 +Tue, 13 May 2014 09:29:40 -0700 +Tue, 13 May 2014 18:44:16 -0600 +Wed, 14 May 2014 21:22:29 -0600 +Thu, 15 May 2014 17:00:10 -0600 +Wed, 14 May 2014 23:35:53 -0600 +Fri, 16 May 2014 10:23:47 -0600 +Thu, 15 May 2014 22:46:00 -0600 +Fri, 16 May 2014 10:28:44 -0600 +Fri, 11 Apr 2014 11:29:38 -0700 +Sat, 17 May 2014 05:46:22 -0600 +Fri, 16 May 2014 22:57:53 -0600 +Sun, 18 May 2014 17:59:35 -0600 +Mon, 19 May 2014 12:19:59 -0600 +Tue, 20 May 2014 12:36:20 -0600 +Fri, 29 Nov 2013 10:40:47 -0700 +Sun, 1 Jun 2014 06:56:22 -0600 +Thu, 5 Jun 2014 06:27:04 -0600 +Wed, 04 Jun 2014 22:42:32 -0600 +Fri, 6 Jun 2014 03:14:12 -0600 +Thu, 05 Jun 2014 21:25:22 -0600 +Fri, 6 Jun 2014 03:29:13 -0600 +Thu, 22 May 2014 22:58:51 -0600 +Sat, 31 May 2014 22:25:46 -0600 +Sun, 01 Jun 2014 21:29:47 -0600 +Mon, 02 Jun 2014 22:20:56 -0600 +Mon, 9 Jun 2014 18:05:42 -0600 +Wed, 11 Jun 2014 11:44:39 -0600 +Sat, 14 Jun 2014 10:15:16 -0600 +Fri, 13 Jun 2014 23:22:16 -0600 +Thu, 12 Jun 2014 12:11:22 +0000 +Fri, 06 Jun 2014 22:15:37 -0600 +Thu, 19 Jun 2014 09:12:49 -0600 +Thu, 19 Jun 2014 07:47:40 -0700 +Tue, 17 Jun 2014 20:24:57 -0400 +Tue, 24 Jun 2014 16:59:36 -0600 +Tue, 24 Jun 2014 17:58:35 -0600 +Tue, 24 Jun 2014 19:48:59 -0400 +Tue, 24 Jun 2014 20:46:26 -0600 +Tue, 24 Jun 2014 21:56:54 -0400 +Tue, 24 Jun 2014 21:00:19 -0600 +Wed, 25 Jun 2014 16:34:38 -0600 +Wed, 25 Jun 2014 00:26:07 -0400 +Sat, 28 Jun 2014 07:40:24 -0600 +Fri, 27 Jun 2014 13:40:30 -0400 +Sat, 28 Jun 2014 08:05:48 -0600 +Thu, 26 Jun 2014 22:52:02 -0600 +Sat, 28 Jun 2014 16:43:14 -0600 +Thu, 26 Jun 2014 21:31:36 -0700 +Thu, 3 Jul 2014 13:31:18 -0600 +Tue, 22 Jul 2014 13:38:12 -0600 +Tue, 22 Jul 2014 13:26:20 -0600 +Tue, 22 Jul 2014 13:45:22 -0600 +Mon, 28 Jul 2014 10:05:44 -0600 +Mon, 28 Jul 2014 10:09:08 -0600 +Mon, 28 Jul 2014 10:24:28 -0600 +Thu, 31 Jul 2014 17:58:09 -0600 +Fri, 25 Jul 2014 12:49:22 -0600 +Mon, 28 Jul 2014 10:13:48 -0600 +Wed, 6 Aug 2014 12:45:43 -0600 +Wed, 6 Aug 2014 19:55:06 -0700 +Sun, 10 Aug 2014 15:11:56 -0600 +Sun, 10 Aug 2014 15:14:05 -0600 +Thu, 14 Aug 2014 17:11:01 -0600 +Mon, 25 Aug 2014 14:45:02 -0600 +Mon, 25 Aug 2014 00:22:32 -0500 +Wed, 27 Aug 2014 16:17:58 -0600 +Mon, 25 Aug 2014 15:22:11 -0600 +Wed, 27 Aug 2014 17:39:18 -0600 +Sat, 30 Aug 2014 10:53:00 -0600 +Wed, 27 Aug 2014 20:17:13 -0400 +Tue, 15 Jul 2014 10:56:43 -0400 +Sat, 30 Aug 2014 10:54:46 -0600 +Tue, 2 Sep 2014 11:56:49 -0600 +Fri, 5 Sep 2014 05:05:04 -0600 +Sat, 6 Sep 2014 07:02:44 -0600 +Sat, 06 Sep 2014 00:28:49 -0600 +Sat, 6 Sep 2014 13:22:45 -0600 +Sat, 6 Sep 2014 13:28:30 -0600 +Thu, 04 Sep 2014 14:47:13 +0400 +Fri, 05 Sep 2014 14:58:01 +0200 +Sat, 6 Sep 2014 14:36:50 -0600 +Sat, 06 Sep 2014 11:20:05 -0600 +Sat, 6 Sep 2014 15:17:45 -0600 +Sat, 06 Sep 2014 22:14:17 +0200 +Sat, 6 Sep 2014 18:00:55 -0600 +Sun, 7 Sep 2014 11:37:47 -0600 +Sat, 06 Sep 2014 22:50:33 -0600 +Sun, 07 Sep 2014 22:48:13 +0400 +Sun, 7 Sep 2014 13:08:28 -0600 +Sun, 7 Sep 2014 14:20:59 -0600 +Fri, 5 Sep 2014 22:34:33 +0200 +Sun, 7 Sep 2014 21:59:46 -0600 +Mon, 8 Sep 2014 10:14:46 -0600 +Mon, 8 Sep 2014 10:24:01 -0600 +Mon, 8 Sep 2014 10:27:19 -0600 +Mon, 8 Sep 2014 10:27:55 -0600 +Mon, 8 Sep 2014 10:42:45 -0600 +Mon, 08 Sep 2014 10:11:11 -0600 +Mon, 08 Sep 2014 10:18:03 -0600 +Mon, 08 Sep 2014 10:31:44 -0600 +Tue, 2 Sep 2014 12:44:33 -0700 +Tue, 9 Sep 2014 15:30:30 -0600 +Wed, 10 Sep 2014 01:21:52 +0400 +Wed, 10 Sep 2014 01:38:32 +0400 +Tue, 9 Sep 2014 18:52:51 -0600 +Wed, 10 Sep 2014 05:02:51 -0600 +Tue, 09 Sep 2014 22:33:33 -0600 +Mon, 8 Sep 2014 19:06:33 +0200 +Wed, 10 Sep 2014 18:26:40 -0600 +Wed, 10 Sep 2014 18:57:46 -0600 +Thu, 11 Sep 2014 04:51:54 +0400 +Wed, 10 Sep 2014 20:08:32 +0200 +Thu, 11 Sep 2014 05:02:27 +0400 +Thu, 11 Sep 2014 12:39:59 -0600 +Thu, 11 Sep 2014 15:10:52 -0600 +Thu, 11 Sep 2014 14:19:19 -0400 +Thu, 11 Sep 2014 14:53:43 -0400 +Sat, 13 Sep 2014 09:20:09 -0600 +Sat, 13 Sep 2014 07:32:21 -0700 +Sat, 13 Sep 2014 09:47:31 -0600 +Sat, 13 Sep 2014 08:39:38 -0700 +Sat, 13 Sep 2014 10:52:41 -0700 +Sat, 13 Sep 2014 12:30:07 -0600 +Mon, 15 Sep 2014 14:42:37 -0600 +Mon, 15 Sep 2014 14:10:30 -0600 +Tue, 16 Sep 2014 11:08:22 -0600 +Mon, 15 Sep 2014 21:51:03 -0600 +Wed, 17 Sep 2014 15:48:02 -0600 +Tue, 16 Sep 2014 11:12:08 -0600 +Sun, 21 Sep 2014 18:59:42 +0200 +Sun, 21 Sep 2014 11:09:49 -0600 +Sun, 21 Sep 2014 14:17:03 -0600 +Sun, 21 Sep 2014 13:21:52 -0600 +Sun, 21 Sep 2014 22:15:38 -0600 +Mon, 6 Oct 2014 15:31:46 -0600 +Sun, 28 Sep 2014 09:11:41 -0600 +Mon, 06 Oct 2014 19:16:03 -0600 +Sun, 19 Oct 2014 16:45:34 -0600 +Wed, 22 Oct 2014 18:25:10 -0600 +Fri, 24 Oct 2014 06:42:54 +0400 +Sat, 25 Oct 2014 13:43:58 -0600 +Sun, 19 Oct 2014 19:04:14 -0600 +Sat, 8 Nov 2014 11:49:36 -0700 +Sat, 8 Nov 2014 12:03:37 -0700 +Sat, 8 Nov 2014 12:59:20 -0700 +Sun, 9 Nov 2014 11:17:10 -0700 +Sat, 08 Nov 2014 13:53:16 -0500 +Sat, 08 Nov 2014 14:34:29 -0500 +Sat, 08 Nov 2014 15:07:37 -0500 +Sat, 08 Nov 2014 22:19:35 -0700 +Sat, 8 Nov 2014 12:05:10 -0700 +Wed, 12 Nov 2014 16:02:43 -0700 +Tue, 11 Nov 2014 23:27:30 +0000 +Sun, 23 Nov 2014 12:41:05 -0700 +Thu, 27 Nov 2014 15:53:17 -0700 +Thu, 27 Nov 2014 19:10:53 +0300 +Fri, 28 Nov 2014 17:18:12 -1000 +Sun, 23 Nov 2014 21:07:28 +0000 +Fri, 28 Nov 2014 13:03:26 -0700 +Wed, 24 Dec 2014 12:20:54 -0700 +Wed, 31 Dec 2014 12:14:24 -0700 +Wed, 31 Dec 2014 13:21:23 -0700 +Thu, 01 Jan 2015 10:54:32 -0700 +Sat, 03 Jan 2015 18:20:19 -0700 +Wed, 24 Dec 2014 22:26:37 -0700 +Tue, 13 Jan 2015 18:38:57 -0700 +Tue, 13 Jan 2015 22:27:55 -0700 +Tue, 13 Jan 2015 21:52:25 -0700 +Tue, 13 Jan 2015 22:30:57 -0700 +Tue, 20 Jan 2015 15:03:29 -0700 +Fri, 23 Jan 2015 03:37:40 +0000 +Thu, 29 Jan 2015 17:24:25 -0700 +Fri, 30 Jan 2015 09:09:42 -0500 +Sat, 31 Jan 2015 18:57:59 +0000 +Sun, 1 Feb 2015 10:34:49 -0700 +Sun, 8 Feb 2015 09:40:25 -0700 +Sun, 08 Feb 2015 08:48:39 -0700 +Sun, 08 Feb 2015 09:42:52 -0700 +Tue, 10 Feb 2015 15:30:00 -0700 +Tue, 10 Feb 2015 16:47:57 -0700 +Tue, 10 Feb 2015 16:20:31 -0700 +Tue, 10 Feb 2015 15:43:23 -0700 +Wed, 11 Feb 2015 08:35:45 -0700 +Tue, 10 Feb 2015 20:01:44 -0700 +Tue, 10 Feb 2015 16:56:53 -0700 +Tue, 10 Feb 2015 16:01:40 -0700 +Tue, 10 Feb 2015 15:53:55 -0700 +Fri, 13 Feb 2015 08:57:37 -0700 +Fri, 13 Feb 2015 14:48:42 -0700 +Fri, 13 Feb 2015 09:50:46 -0700 +Sat, 14 Feb 2015 08:23:53 -0700 +Sat, 14 Feb 2015 13:58:41 -0700 +Sat, 14 Feb 2015 14:18:11 -0700 +Mon, 16 Feb 2015 07:59:22 -0700 +Sun, 15 Feb 2015 22:09:39 -0700 diff --git a/internal/benchmarks/dateset3_notz.txt b/internal/benchmarks/dateset3_notz.txt new file mode 100644 index 0000000..a9e4fa8 --- /dev/null +++ b/internal/benchmarks/dateset3_notz.txt @@ -0,0 +1,2433 @@ +Wed, 4 Feb 2015 09:24:28 +Wed, 4 Feb 2015 13:30:30 +Wed, 4 Feb 2015 13:50:52 +Wed, 4 Feb 2015 16:05:37 +Wed, 4 Feb 2015 16:36:26 +Thu, 5 Feb 2015 01:56:07 +Thu, 5 Feb 2015 10:10:11 +Thu, 5 Feb 2015 12:08:36 +Fri, 6 Feb 2015 07:47:00 +Fri, 6 Feb 2015 10:42:45 +Fri, 6 Feb 2015 11:31:29 +Fri, 6 Feb 2015 12:07:28 +Sat, 07 Feb 2015 13:21:04 +Sat, 7 Feb 2015 23:42:59 +Sun, 8 Feb 2015 05:53:50 +Sun, 8 Feb 2015 06:14:26 +Sun, 8 Feb 2015 12:02:03 +Sun, 08 Feb 2015 22:45:56 +Mon, 9 Feb 2015 08:11:11 +Mon, 09 Feb 2015 11:09:15 +Mon, 9 Feb 2015 10:43:27 +Mon, 9 Feb 2015 14:09:11 +Mon, 9 Feb 2015 13:29:35 +Mon, 9 Feb 2015 11:27:27 +Mon, 9 Feb 2015 14:02:27 +Mon, 09 Feb 2015 11:55:36 +Mon, 09 Feb 2015 12:15:51 +Mon, 09 Feb 2015 12:27:07 +Mon, 9 Feb 2015 12:48:51 +Mon, 09 Feb 2015 13:06:57 +Mon, 9 Feb 2015 15:05:29 +Mon, 9 Feb 2015 12:24:15 +Mon, 09 Feb 2015 21:26:44 +Mon, 09 Feb 2015 13:25:22 +Mon, 9 Feb 2015 13:48:12 +Mon, 09 Feb 2015 14:07:10 +Mon, 09 Feb 2015 21:31:08 +Mon, 09 Feb 2015 15:00:19 +Mon, 9 Feb 2015 14:09:02 +Mon, 09 Feb 2015 15:14:08 +Mon, 09 Feb 2015 17:02:41 +Mon, 9 Feb 2015 17:11:28 +Mon, 09 Feb 2015 17:16:56 +Tue, 10 Feb 2015 01:09:38 +Mon, 09 Feb 2015 17:44:13 +Mon, 9 Feb 2015 20:24:28 +Mon, 9 Feb 2015 21:42:55 +Mon, 9 Feb 2015 20:28:38 +Mon, 09 Feb 2015 21:57:39 +Mon, 9 Feb 2015 21:23:23 +Mon, 09 Feb 2015 22:38:52 +Mon, 9 Feb 2015 23:36:06 +Tue, 10 Feb 2015 07:29:49 +Mon, 9 Feb 2015 23:07:52 +Mon, 9 Feb 2015 23:55:01 +Tue, 10 Feb 2015 01:19:10 +Tue, 10 Feb 2015 01:30:14 +Tue, 10 Feb 2015 02:04:08 +Tue, 10 Feb 2015 04:07:38 +Tue, 10 Feb 2015 02:33:36 +Tue, 10 Feb 2015 02:35:42 +Tue, 10 Feb 2015 15:41:37 +Tue, 10 Feb 2015 14:42:53 +Tue, 10 Feb 2015 06:26:04 +Tue, 10 Feb 2015 09:27:24 +Tue, 10 Feb 2015 08:11:55 +Tue, 10 Feb 2015 07:14:14 +Tue, 10 Feb 2015 08:19:54 +Tue, 10 Feb 2015 19:32:07 +Tue, 10 Feb 2015 19:32:07 +Tue, 10 Feb 2015 10:41:11 +Tue, 10 Feb 2015 10:50:57 +Tue, 10 Feb 2015 07:51:31 +Tue, 10 Feb 2015 19:53:08 +Tue, 10 Feb 2015 19:53:09 +Tue, 10 Feb 2015 08:53:55 +Tue, 10 Feb 2015 20:07:49 +Tue, 10 Feb 2015 20:07:49 +Tue, 10 Feb 2015 09:08:34 +Tue, 10 Feb 2015 09:23:28 +Tue, 10 Feb 2015 09:31:10 +Tue, 10 Feb 2015 08:34:28 +Tue, 10 Feb 2015 08:29:00 +Tue, 10 Feb 2015 11:21:40 +Tue, 10 Feb 2015 09:57:40 +Tue, 10 Feb 2015 10:01:13 +Tue, 10 Feb 2015 12:12:28 +Tue, 10 Feb 2015 09:14:07 +Tue, 10 Feb 2015 09:33:23 +Tue, 10 Feb 2015 10:41:27 +Tue, 10 Feb 2015 10:53:36 +Tue, 10 Feb 2015 10:04:13 +Tue, 10 Feb 2015 11:03:31 +Tue, 10 Feb 2015 11:26:29 +Tue, 10 Feb 2015 10:28:36 +Tue, 10 Feb 2015 11:06:34 +Tue, 10 Feb 2015 11:16:26 +Tue, 10 Feb 2015 11:30:02 +Tue, 10 Feb 2015 14:40:23 +Tue, 10 Feb 2015 20:01:40 +Tue, 10 Feb 2015 11:56:07 +Tue, 10 Feb 2015 12:01:20 +Tue, 10 Feb 2015 12:12:08 +Tue, 10 Feb 2015 12:20:30 +Tue, 10 Feb 2015 12:36:12 +Tue, 10 Feb 2015 14:35:46 +Tue, 10 Feb 2015 15:07:16 +Tue, 10 Feb 2015 15:25:53 +Tue, 10 Feb 2015 15:28:32 +Tue, 10 Feb 2015 16:31:03 +Tue, 10 Feb 2015 17:12:31 +Tue, 10 Feb 2015 16:42:19 +Tue, 10 Feb 2015 19:46:09 +Tue, 10 Feb 2015 21:25:59 +Tue, 10 Feb 2015 23:29:02 +Tue, 10 Feb 2015 20:43:09 +Tue, 10 Feb 2015 22:55:47 +Tue, 10 Feb 2015 22:29:07 +Tue, 10 Feb 2015 23:50:11 +Tue, 10 Feb 2015 23:12:45 +Wed, 11 Feb 2015 00:41:10 +Wed, 11 Feb 2015 04:30:02 +Wed, 11 Feb 2015 06:47:25 +Wed, 11 Feb 2015 03:53:45 +Wed, 11 Feb 2015 07:21:04 +Wed, 11 Feb 2015 06:17:09 +Wed, 11 Feb 2015 08:55:07 +Wed, 11 Feb 2015 14:06:53 +Wed, 11 Feb 2015 09:19:25 +Wed, 11 Feb 2015 09:40:49 +Wed, 11 Feb 2015 09:30:58 +Wed, 11 Feb 2015 19:48:42 +Wed, 11 Feb 2015 19:48:43 +Wed, 11 Feb 2015 08:00:09 +Wed, 11 Feb 2015 08:16:12 +Wed, 11 Feb 2015 08:09:24 +Wed, 11 Feb 2015 10:56:41 +Wed, 11 Feb 2015 10:01:36 +Wed, 11 Feb 2015 10:07:14 +Wed, 11 Feb 2015 09:10:44 +Wed, 11 Feb 2015 09:11:34 +Wed, 11 Feb 2015 09:17:24 +Wed, 11 Feb 2015 10:32:13 +Wed, 11 Feb 2015 10:57:43 +Wed, 11 Feb 2015 10:56:55 +Wed, 11 Feb 2015 10:03:34 +Wed, 11 Feb 2015 10:43:32 +Wed, 11 Feb 2015 10:14:22 +Wed, 11 Feb 2015 11:21:46 +Mi, 11 Feb 2015 13:33:44 +Wed, 11 Feb 2015 13:39:49 +Wed, 11 Feb 2015 11:45:12 +Wed, 11 Feb 2015 11:52:54 +Wed, 11 Feb 2015 10:50:33 +Wed, 11 Feb 2015 11:03:57 +Wed, 11 Feb 2015 12:19:03 +Wed, 11 Feb 2015 11:54:42 +Wed, 11 Feb 2015 12:38:11 +Wed, 11 Feb 2015 13:31:21 +Wed, 11 Feb 2015 12:33:45 +Wed, 11 Feb 2015 15:40:02 +Wed, 11 Feb 2015 15:48:04 +Wed, 11 Feb 2015 15:50:01 +Wed, 11 Feb 2015 15:55:37 +Wed, 04 Feb 2015 19:46:02 +Wed, 04 Feb 2015 19:52:46 +Wed, 4 Feb 2015 11:52:32 +Thu, 05 Feb 2015 00:53:41 +Thu, 05 Feb 2015 01:07:55 +Thu, 5 Feb 2015 05:59:34 +Thu, 05 Feb 2015 20:39:46 +Thu, 5 Feb 2015 16:25:08 +Fri, 6 Feb 2015 11:20:02 +Fri, 6 Feb 2015 14:44:09 +Sat, 07 Feb 2015 01:49:51 +Sat, 7 Feb 2015 09:48:15 +Sat, 7 Feb 2015 08:40:04 +Sat, 7 Feb 2015 18:31:45 +Sun, 8 Feb 2015 09:23:27 +Sun, 8 Feb 2015 10:19:11 +Mon, 09 Feb 2015 12:46:54 +Mon, 9 Feb 2015 14:42:41 +Tue, 10 Feb 2015 00:44:15 +Tue, 10 Feb 2015 00:44:16 +Tue, 10 Feb 2015 01:24:22 +Tue, 10 Feb 2015 01:24:22 +Mon, 9 Feb 2015 17:32:29 +Mon, 09 Feb 2015 20:57:25 +Mon, 09 Feb 2015 21:18:54 +Tue, 10 Feb 2015 05:33:55 +Tue, 10 Feb 2015 01:04:37 +Tue, 10 Feb 2015 01:41:09 +Tue, 10 Feb 2015 03:40:02 +Tue, 10 Feb 2015 08:20:50 +Tue, 10 Feb 2015 15:06:10 +Tue, 10 Feb 2015 15:06:10 +Tue, 10 Feb 2015 08:45:07 +Tue, 10 Feb 2015 10:49:03 +Tue, 10 Feb 2015 11:05:52 +Tue, 10 Feb 2015 10:13:58 +Tue, 10 Feb 2015 12:01:33 +Tue, 10 Feb 2015 11:27:03 +Tue, 10 Feb 2015 22:55:40 +Tue, 10 Feb 2015 15:28:25 +10 Feb 2015 15:52:59 +Wed, 11 Feb 2015 01:00:57 +Wed, 11 Feb 2015 01:00:57 +Tue, 10 Feb 2015 16:44:13 +Tue, 10 Feb 2015 17:24:35 +Tue, 10 Feb 2015 15:55:06 +Tue, 10 Feb 2015 19:29:15 +Tue, 10 Feb 2015 19:04:23 +Tue, 10 Feb 2015 21:18:20 +Wed, 11 Feb 2015 01:06:51 +Wed, 11 Feb 2015 04:23:23 +Wed, 11 Feb 2015 06:31:06 +Wed, 11 Feb 2015 05:25:22 +Wed, 11 Feb 2015 10:21:43 +Wed, 11 Feb 2015 15:34:49 +Wed, 11 Feb 2015 22:14:10 +Wed, 11 Feb 2015 15:17:33 +Wed, 11 Feb 2015 17:48:41 +Wed, 11 Feb 2015 18:27:49 +Wed, 11 Feb 2015 17:55:37 +Wed, 11 Feb 2015 18:53:11 +Wed, 11 Feb 2015 18:01:00 +Thu, 12 Feb 2015 03:05:11 +Wed, 11 Feb 2015 19:09:23 +Wed, 11 Feb 2015 22:25:13 +Thu, 12 Feb 2015 02:48:02 +Wed, 11 Feb 2015 23:57:01 +Thu, 12 Feb 2015 03:23:40 +Thu, 12 Feb 2015 04:10:21 +Thu, 12 Feb 2015 18:35:23 +Thu, 12 Feb 2015 01:36:43 +Thu, 12 Feb 2015 02:39:49 +Thu, 12 Feb 2015 03:52:34 +Thu, 12 Feb 2015 04:01:36 +Thu, 12 Feb 2015 13:41:35 +Thu, 12 Feb 2015 06:47:45 +Thu, 12 Feb 2015 07:01:31 +Thu, 12 Feb 2015 07:15:32 +Thu, 12 Feb 2015 07:29:38 +Thu, 12 Feb 2015 10:01:56 +Thu, 12 Feb 2015 10:23:15 +Thu, 12 Feb 2015 08:33:35 +Thu, 12 Feb 2015 08:34:28 +Thu, 12 Feb 2015 08:55:18 +Thu, 12 Feb 2015 09:29:56 +Thu, 12 Feb 2015 09:30:56 +Thu, 12 Feb 2015 09:47:02 +Thu, 12 Feb 2015 09:47:54 +Thu, 12 Feb 2015 10:06:08 +Thu, 12 Feb 2015 10:05:09 +Thu, 12 Feb 2015 10:26:44 +Thu, 12 Feb 2015 09:26:44 +Thu, 12 Feb 2015 10:43:49 +Thu, 12 Feb 2015 10:42:55 +Thu, 12 Feb 2015 11:01:53 +Thu, 12 Feb 2015 11:00:59 +Thu, 12 Feb 2015 11:04:10 +Thu, 12 Feb 2015 11:21:50 +Thu, 12 Feb 2015 10:22:18 +Thu, 12 Feb 2015 10:31:42 +Thu, 12 Feb 2015 11:41:30 +Thu, 12 Feb 2015 11:42:26 +Thu, 12 Feb 2015 14:04:08 +Thu, 12 Feb 2015 11:20:48 +Thu, 12 Feb 2015 12:51:39 +Thu, 12 Feb 2015 15:25:47 +Thu, 12 Feb 2015 14:12:31 +Thu, 12 Feb 2015 16:32:34 +Thu, 12 Feb 2015 17:29:45 +Thu, 12 Feb 2015 15:45:20 +Thu, 12 Feb 2015 15:37:39 +Thu, 12 Feb 2015 16:37:50 +Thu, 12 Feb 2015 16:58:41 +Thu, 12 Feb 2015 17:13:12 +Thu, 12 Feb 2015 17:28:11 +Fri, 13 Feb 2015 01:19:14 +Thu, 12 Feb 2015 18:58:25 +Thu, 12 Feb 2015 19:13:39 +Thu, 12 Feb 2015 19:23:54 +Thu, 12 Feb 2015 13:45:30 +Fri, 13 Feb 2015 05:32:12 +Fri, 13 Feb 2015 00:40:04 +Fri, 13 Feb 2015 09:09:15 +Fri, 13 Feb 2015 02:16:13 +Fri, 13 Feb 2015 04:20:58 +Fri, 13 Feb 2015 02:31:47 +Fri, 13 Feb 2015 02:47:15 +Fri, 13 Feb 2015 04:55:58 +Fri, 13 Feb 2015 05:48:11 +Fri, 13 Feb 2015 03:48:25 +Fri, 13 Feb 2015 04:03:41 +Fri, 13 Feb 2015 15:20:25 +Fri, 13 Feb 2015 04:32:54 +Fri, 13 Feb 2015 15:34:25 +Fri, 13 Feb 2015 05:36:43 +Fri, 13 Feb 2015 07:34:53 +Fri, 13 Feb 2015 04:37:23 +Fri, 13 Feb 2015 04:40:00 +Fri, 13 Feb 2015 09:07:44 +Fri, 13 Feb 2015 09:55:39 +Fri, 13 Feb 2015 08:44:56 +Fri, 13 Feb 2015 07:55:46 +Fri, 13 Feb 2015 08:28:01 +Fri, 13 Feb 2015 09:36:31 +Fri, 13 Feb 2015 09:01:05 +Fr, 13 Feb 2015 08:58:48 +Fri, 13 Feb 2015 10:22:01 +Fri, 13 Feb 2015 09:35:25 +Fri, 13 Feb 2015 09:45:51 +Fri, 13 Feb 2015 12:55:54 +Fri, 13 Feb 2015 10:58:29 +Fri, 13 Feb 2015 04:42:37 +Fri, 13 Feb 2015 12:05:41 +Fri, 13 Feb 2015 05:09:41 +Fri, 13 Feb 2015 12:35:14 +Fri, 13 Feb 2015 12:52:21 +Fri, 13 Feb 2015 20:52:52 +Fri, 13 Feb 2015 13:04:35 +Fri, 13 Feb 2015 13:48:58 +Fri, 13 Feb 2015 13:02:04 +Fri, 13 Feb 2015 07:08:13 +Fri, 13 Feb 2015 14:23:40 +Fri, 13 Feb 2015 16:45:56 +Fri, 13 Feb 2015 14:47:38 +Fri, 13 Feb 2015 13:54:31 +Fr, 13 Feb 2015 17:13:55 +Fri, 13 Feb 2015 22:57:46 +Fri, 13 Feb 2015 15:52:08 +Fri, 13 Feb 2015 18:13:39 +Fri, 13 Feb 2015 23:25:57 +Fri, 13 Feb 2015 18:32:49 +Fri, 13 Feb 2015 16:52:35 +Fri, 13 Feb 2015 18:22:43 +Fri, 13 Feb 2015 18:39:11 +Fri, 13 Feb 2015 18:48:29 +Sat, 14 Feb 2015 04:06:54 +Fri, 13 Feb 2015 21:52:16 +Fri, 13 Feb 2015 21:52:30 +Fri, 13 Feb 2015 22:54:38 +Sat, 14 Feb 2015 00:30:41 +Sat, 14 Feb 2015 00:47:06 +Sat, 14 Feb 2015 01:02:50 +Sat, 14 Feb 2015 01:52:07 +Sat, 14 Feb 2015 02:40:52 +Sat, 14 Feb 2015 03:32:12 +Sat, 14 Feb 2015 05:07:56 +Sat, 14 Feb 2015 03:56:52 +Sat, 14 Feb 2015 06:22:26 +Sat, 14 Feb 2015 08:44:14 +Sat, 14 Feb 2015 09:53:00 +Sat, 14 Feb 2015 16:48:53 +Sat, 14 Feb 2015 07:54:39 +Sat, 14 Feb 2015 09:06:32 +Sat, 14 Feb 2015 17:12:36 +Sat, 14 Feb 2015 08:31:33 +Sat, 14 Feb 2015 09:49:01 +Sat, 14 Feb 2015 09:52:03 +Sat, 14 Feb 2015 09:00:47 +Sat, 14 Feb 2015 10:03:53 +Sat, 14 Feb 2015 10:24:59 +Sat, 14 Feb 2015 09:31:34 +Sat, 14 Feb 2015 10:33:48 +Sat, 14 Feb 2015 09:46:34 +Sat, 14 Feb 2015 10:46:16 +Sat, 14 Feb 2015 09:48:11 +Sat, 14 Feb 2015 11:03:08 +Sat, 14 Feb 2015 11:19:16 +Sat, 14 Feb 2015 11:21:23 +Sat, 14 Feb 2015 13:31:04 +Sat, 14 Feb 2015 10:32:26 +Sat, 14 Feb 2015 11:35:33 +Sat, 14 Feb 2015 10:40:05 +Sat, 14 Feb 2015 11:58:22 +Sat, 14 Feb 2015 12:15:58 +Sat, 14 Feb 2015 12:24:48 +Sat, 14 Feb 2015 12:50:05 +Sat, 14 Feb 2015 17:50:52 +Sat, 14 Feb 2015 19:10:04 +Sat, 14 Feb 2015 17:29:08 +Sat, 14 Feb 2015 18:25:56 +Sat, 14 Feb 2015 18:54:02 +Sat, 14 Feb 2015 19:10:16 +Sat, 14 Feb 2015 19:09:29 +Sat, 14 Feb 2015 19:26:18 +Sun, 15 Feb 2015 02:37:04 +Sat, 14 Feb 2015 19:48:50 +Sat, 14 Feb 2015 19:47:54 +Sat, 14 Feb 2015 20:05:04 +Sat, 14 Feb 2015 19:54:21 +Sat, 14 Feb 2015 20:21:28 +Sat, 14 Feb 2015 20:37:41 +Sat, 14 Feb 2015 20:54:09 +Sat, 14 Feb 2015 21:10:50 +Sat, 14 Feb 2015 21:29:12 +Sat, 14 Feb 2015 22:03:35 +Sun, 15 Feb 2015 00:52:58 +Sun, 15 Feb 2015 01:09:40 +Sun, 15 Feb 2015 01:25:44 +Sun, 15 Feb 2015 01:40:40 +Sun, 15 Feb 2015 01:55:18 +Sun, 15 Feb 2015 02:11:20 +Sun, 15 Feb 2015 02:25:06 +Sun, 15 Feb 2015 04:51:01 +Sun, 15 Feb 2015 02:56:40 +Sun, 15 Feb 2015 05:07:03 +Sun, 15 Feb 2015 05:32:22 +Sun, 15 Feb 2015 05:01:42 +Sun, 15 Feb 2015 05:17:03 +Sun, 15 Feb 2015 05:46:21 +Sun, 15 Feb 2015 06:04:49 +Sun, 15 Feb 2015 06:20:47 +Sun, 15 Feb 2015 06:39:33 +Sun, 15 Feb 2015 09:13:20 +Sun, 15 Feb 2015 07:17:44 +Sun, 15 Feb 2015 07:37:30 +Thu, 12 Feb 2015 01:24:30 +Thu, 12 Feb 2015 01:24:30 +Thu, 12 Feb 2015 01:26:33 +Thu, 12 Feb 2015 01:26:34 +Wed, 11 Feb 2015 14:14:13 +Thu, 12 Feb 2015 04:27:10 +Thu, 12 Feb 2015 04:27:09 +Wed, 11 Feb 2015 18:56:32 +Thu, 12 Feb 2015 07:56:16 +Thu, 12 Feb 2015 06:31:19 +Thu, 12 Feb 2015 19:46:57 +Thu, 12 Feb 2015 19:46:56 +Thu, 12 Feb 2015 08:54:14 +Thu, 12 Feb 2015 11:07:31 +Thu, 12 Feb 2015 09:11:58 +Thu, 12 Feb 2015 09:11:05 +12 Feb 2015 11:21:26 +Thu, 12 Feb 2015 10:27:14 +Thu, 12 Feb 2015 11:21:51 +Thu, 12 Feb 2015 11:20:56 +Fri, 13 Feb 2015 01:37:30 +Fri, 13 Feb 2015 01:37:31 +Fri, 13 Feb 2015 01:37:40 +Fri, 13 Feb 2015 01:37:39 +Thu, 12 Feb 2015 16:50:23 +Thu, 12 Feb 2015 23:39:14 +Thu, 12 Feb 2015 19:43:33 +Thu, 12 Feb 2015 20:30:28 +Thu, 12 Feb 2015 21:28:31 +Fri, 13 Feb 2015 08:08:21 +Fri, 13 Feb 2015 07:29:19 +Fri, 13 Feb 2015 14:24:37 +Fri, 13 Feb 2015 20:07:01 +Fri, 13 Feb 2015 20:07:01 +Fri, 13 Feb 2015 12:03:42 +Fri, 13 Feb 2015 10:44:50 +Fri, 13 Feb 2015 20:29:43 +Fri, 13 Feb 2015 14:45:52 +Fri, 13 Feb 2015 15:25:13 +Fri, 13 Feb 2015 15:38:04 +Fri, 13 Feb 2015 18:00:10 +Fri, 13 Feb 2015 17:37:08 +Sat, 14 Feb 2015 01:18:18 +Sat, 14 Feb 2015 02:08:23 +Sat, 14 Feb 2015 02:24:37 +Sat, 14 Feb 2015 02:57:22 +Sat, 14 Feb 2015 03:13:41 +Sat, 14 Feb 2015 20:16:03 +Sat, 14 Feb 2015 09:27:51 +Sat, 14 Feb 2015 08:26:34 +Sat, 14 Feb 2015 11:25:46 +Sat, 14 Feb 2015 11:45:23 +Sat, 14 Feb 2015 15:35:37 +Sat, 14 Feb 2015 16:12:27 +Sun, 15 Feb 2015 10:41:44 +Sun, 15 Feb 2015 11:26:44 +Sun, 15 Feb 2015 04:43:35 +Sun, 15 Feb 2015 06:58:53 +Sun, 15 Feb 2015 08:51:06 +Sun, 15 Feb 2015 09:10:26 +Sun, 15 Feb 2015 07:57:44 +Sun, 15 Feb 2015 08:14:00 +Sun, 15 Feb 2015 08:29:02 +Sun, 15 Feb 2015 08:45:35 +Sun, 15 Feb 2015 09:02:59 +Sun, 15 Feb 2015 09:08:55 +Sun, 15 Feb 2015 09:22:24 +Sun, 15 Feb 2015 08:24:17 +Sun, 15 Feb 2015 10:01:28 +Sun, 15 Feb 2015 09:12:28 +Sun, 15 Feb 2015 12:50:01 +Sun, 15 Feb 2015 10:51:51 +Sun, 15 Feb 2015 11:37:01 +Sun, 15 Feb 2015 10:07:50 +Sun, 15 Feb 2015 10:00:29 +Sun, 15 Feb 2015 10:51:38 +Sun, 15 Feb 2015 11:06:14 +Sun, 15 Feb 2015 19:43:48 +Sun, 15 Feb 2015 11:41:50 +Sun, 15 Feb 2015 11:29:25 +Sun, 15 Feb 2015 14:59:45 +Sun, 15 Feb 2015 13:27:25 +Sun, 15 Feb 2015 15:47:07 +Sun, 15 Feb 2015 18:50:09 +Sun, 15 Feb 2015 17:48:23 +Sun, 15 Feb 2015 18:22:42 +Sun, 15 Feb 2015 18:36:13 +Sun, 15 Feb 2015 19:05:35 +Sun, 15 Feb 2015 19:34:39 +Sun, 15 Feb 2015 19:48:35 +Sun, 15 Feb 2015 20:16:29 +Mon, 16 Feb 2015 05:17:51 +Mon, 16 Feb 2015 05:25:48 +Mon, 16 Feb 2015 00:29:51 +Mon, 16 Feb 2015 00:50:38 +Mon, 16 Feb 2015 01:46:08 +Mon, 16 Feb 2015 02:01:28 +Mon, 16 Feb 2015 02:32:12 +Mon, 16 Feb 2015 04:29:23 +Mon, 16 Feb 2015 04:14:14 +Mon, 16 Feb 2015 02:46:44 +Mon, 16 Feb 2015 04:46:34 +Mon, 16 Feb 2015 03:02:38 +Mon, 16 Feb 2015 03:32:25 +Mon, 16 Feb 2015 03:46:41 +Mon, 16 Feb 2015 04:00:48 +Mon, 16 Feb 2015 04:15:16 +Mon, 16 Feb 2015 04:30:18 +Mon, 16 Feb 2015 04:44:57 +Mon, 16 Feb 2015 12:09:36 +Mon, 16 Feb 2015 07:35:10 +Mon, 16 Feb 2015 07:37:37 +Mon, 16 Feb 2015 06:48:11 +Mon, 16 Feb 2015 10:09:46 +Mon, 16 Feb 2015 07:28:20 +Mon, 16 Feb 2015 11:22:43 +Mon, 16 Feb 2015 17:00:56 +Mon, 16 Feb 2015 13:25:50 +Mon, 16 Feb 2015 13:52:21 +Mon, 16 Feb 2015 12:39:19 +Mon, 16 Feb 2015 07:13:11 +Mon, 16 Feb 2015 14:15:17 +Mon, 16 Feb 2015 14:31:39 +Mon, 16 Feb 2015 15:03:57 +Mon, 16 Feb 2015 15:34:21 +Mon, 16 Feb 2015 16:07:10 +Mon, 16 Feb 2015 20:16:31 +Mon, 16 Feb 2015 19:20:42 +Mon, 16 Feb 2015 20:46:28 +Tue, 17 Feb 2015 01:05:29 +Mon, 16 Feb 2015 23:11:56 +Mon, 16 Feb 2015 23:33:34 +Mon, 16 Feb 2015 23:55:51 +Tue, 17 Feb 2015 03:06:22 +Tue, 17 Feb 2015 03:55:10 +Tue, 17 Feb 2015 03:03:47 +Tue, 17 Feb 2015 05:14:48 +Tue, 17 Feb 2015 07:00:14 +Tue, 17 Feb 2015 08:10:03 +Tue, 17 Feb 2015 09:16:20 +Tue, 17 Feb 2015 07:45:12 +Tue, 17 Feb 2015 09:41:13 +Tue, 17 Feb 2015 09:03:13 +Tue, 17 Feb 2015 09:39:38 +Tue, 17 Feb 2015 08:43:10 +Tue, 17 Feb 2015 08:45:00 +Tue, 17 Feb 2015 09:02:30 +Tue, 17 Feb 2015 10:15:34 +Tue, 17 Feb 2015 09:30:41 +Tue, 17 Feb 2015 09:33:21 +Tue, 17 Feb 2015 12:58:34 +Tue, 17 Feb 2015 11:16:20 +Tue, 17 Feb 2015 11:22:37 +Tue, 17 Feb 2015 11:36:41 +Tue, 17 Feb 2015 12:08:59 +Tue, 17 Feb 2015 12:15:01 +Tue, 17 Feb 2015 12:26:08 +Tue, 17 Feb 2015 11:32:04 +Tue, 17 Feb 2015 12:43:56 +Tue, 17 Feb 2015 06:00:47 +Tue, 17 Feb 2015 13:21:16 +Tue, 17 Feb 2015 12:42:10 +Tue, 17 Feb 2015 13:48:26 +Tue, 17 Feb 2015 13:00:55 +Tue, 17 Feb 2015 14:10:45 +Tue, 17 Feb 2015 16:50:26 +Tue, 17 Feb 2015 15:59:08 +Tue, 17 Feb 2015 16:18:40 +Tue, 17 Feb 2015 16:52:07 +Tue, 17 Feb 2015 17:07:53 +Tue, 17 Feb 2015 16:08:27 +Tue, 17 Feb 2015 17:25:24 +Tue, 17 Feb 2015 17:42:17 +Sun, 15 Feb 2015 17:19:40 +Sun, 15 Feb 2015 10:52:47 +Sun, 15 Feb 2015 12:34:31 +Sun, 15 Feb 2015 14:51:01 +Sun, 15 Feb 2015 15:26:45 +Sun, 15 Feb 2015 13:03:25 +Sun, 15 Feb 2015 21:34:37 +Sun, 15 Feb 2015 17:19:21 +Mon, 16 Feb 2015 09:18:21 +Mon, 16 Feb 2015 00:08:04 +Mon, 16 Feb 2015 05:54:13 +Mon, 16 Feb 2015 02:13:41 +Mon, 16 Feb 2015 03:17:50 +Mon, 16 Feb 2015 06:36:06 +Mon, 16 Feb 2015 07:18:58 +Mon, 16 Feb 2015 05:48:26 +Mon, 16 Feb 2015 08:44:45 +Mon, 16 Feb 2015 09:57:38 +Mon, 16 Feb 2015 15:01:15 +Mon, 16 Feb 2015 15:04:59 +Mon, 16 Feb 2015 15:08:33 +Mon, 16 Feb 2015 08:26:22 +Mon, 16 Feb 2015 10:43:13 +Mon, 16 Feb 2015 08:48:06 +Mon, 16 Feb 2015 10:16:38 +Mon, 16 Feb 2015 10:36:35 +Mon, 16 Feb 2015 11:02:03 +Mon, 16 Feb 2015 13:08:18 +Mon, 16 Feb 2015 18:18:24 +Mon, 16 Feb 2015 11:28:41 +Mon, 16 Feb 2015 11:46:12 +Mon, 16 Feb 2015 12:03:48 +Mon, 16 Feb 2015 12:22:27 +Mon, 16 Feb 2015 15:49:58 +Mon, 16 Feb 2015 16:21:15 +Tue, 17 Feb 2015 04:00:04 +Tue, 17 Feb 2015 04:00:04 +Mon, 16 Feb 2015 16:10:41 +Tue, 17 Feb 2015 04:15:07 +Tue, 17 Feb 2015 04:15:07 +Mon, 16 Feb 2015 17:40:58 +Mon, 16 Feb 2015 18:02:18 +Tue, 17 Feb 2015 05:11:17 +Tue, 17 Feb 2015 05:11:18 +Mon, 16 Feb 2015 18:46:29 +Mon, 16 Feb 2015 19:02:32 +Mon, 16 Feb 2015 19:37:00 +Mon, 16 Feb 2015 19:54:38 +Tue, 17 Feb 2015 04:42:03 +Tue, 17 Feb 2015 07:00:48 +Tue, 17 Feb 2015 11:07:04 +Tue, 17 Feb 2015 01:16:47 +Tue, 17 Feb 2015 01:37:36 +Tue, 17 Feb 2015 12:19:35 +Tue, 17 Feb 2015 08:26:02 +Tue, 17 Feb 2015 10:09:09 +Tue, 17 Feb 2015 08:53:10 +Tue, 17 Feb 2015 09:42:08 +Tue, 17 Feb 2015 09:57:48 +17 Feb 2015 12:03:59 +Tue, 17 Feb 2015 21:14:21 +Tue, 17 Feb 2015 21:14:21 +Tue, 17 Feb 2015 21:19:17 +Tue, 17 Feb 2015 21:19:17 +Tue, 17 Feb 2015 18:23:55 +Tue, 17 Feb 2015 10:55:28 +Tue, 17 Feb 2015 13:32:01 +Tue, 17 Feb 2015 14:40:27 +Tue, 17 Feb 2015 13:25:22 +Tue, 17 Feb 2015 22:50:04 +Tue, 17 Feb 2015 15:54:39 +Tue, 17 Feb 2015 16:04:59 +Wed, 18 Feb 2015 01:22:03 +Wed, 18 Feb 2015 01:22:03 +Tue, 17 Feb 2015 14:54:22 +Tue, 17 Feb 2015 15:28:02 +Tue, 17 Feb 2015 17:58:20 +Thu, 01 Jan 2009 11:18:47 +Thu, 01 Jan 2009 13:29:03 +Thu, 01 Jan 2009 13:38:55 +Fri, 2 Jan 2009 08:39:25 +Fri, 2 Jan 2009 11:31:09 +Mon, 05 Jan 2009 15:28:44 +Wed, 07 Jan 2009 10:18:53 +Wed, 07 Jan 2009 11:47:13 +Thu, 08 Jan 2009 13:02:12 +Thu, 08 Jan 2009 11:54:13 +Thu, 8 Jan 2009 23:12:37 +Thu, 08 Jan 2009 21:15:22 +Thu, 15 Jan 2009 18:43:37 +Wed, 21 Jan 2009 11:42:10 +Thu, 22 Jan 2009 12:45:48 +Thu, 22 Jan 2009 09:02:21 +Thu, 22 Jan 2009 09:12:07 +Thu, 22 Jan 2009 09:41:30 +Sat, 24 Jan 2009 12:14:26 +Tue, 27 Jan 2009 13:09:12 +Fri, 30 Jan 2009 14:01:28 +Fri, 30 Jan 2009 08:22:01 +Fri, 30 Jan 2009 16:02:47 +Mon, 02 Feb 2009 12:44:40 +Mon, 02 Feb 2009 13:06:28 +Mon, 02 Feb 2009 13:11:54 +Mon, 02 Feb 2009 13:15:14 +Mon, 02 Feb 2009 13:21:12 +Wed, 04 Feb 2009 16:35:19 +Wed, 04 Feb 2009 17:07:32 +Wed, 04 Feb 2009 17:26:22 +Wed, 04 Feb 2009 19:17:25 +Sun, 08 Feb 2009 18:33:04 +Sun, 08 Feb 2009 20:44:04 +10 Feb 2009 13:51:28 +Wed, 11 Feb 2009 16:21:24 +Wed, 11 Feb 2009 18:59:35 +Thu, 19 Feb 2009 12:00:06 +Thu, 19 Feb 2009 14:24:27 +Thu, 19 Feb 2009 13:39:46 +19 Feb 2009 15:52:41 +Thu, 19 Feb 2009 14:33:04 +Fri, 20 Feb 2009 12:19:28 +Fri, 20 Feb 2009 12:31:13 +Fri, 20 Feb 2009 13:11:18 +Fri, 20 Feb 2009 14:50:14 +Fri, 20 Feb 2009 15:02:19 +Fri, 20 Feb 2009 16:38:55 +Sun, 22 Feb 2009 14:39:57 +Sun, 22 Feb 2009 15:15:36 +Mon, 23 Feb 2009 20:46:56 +Tue, 24 Feb 2009 09:29:19 +Tue, 24 Feb 2009 09:56:34 +Tue, 24 Feb 2009 14:05:20 +Tue, 24 Feb 2009 16:17:03 +Thu, 26 Feb 2009 14:22:03 +Fri, 27 Feb 2009 07:27:05 +Fri, 27 Feb 2009 11:53:56 +Fri, 27 Feb 2009 12:01:43 +Mon, 2 Mar 2009 11:28:41 +Mon, 02 Mar 2009 10:56:16 +Mon, 2 Mar 2009 12:25:31 +Mon, 02 Mar 2009 12:09:15 +02 Mar 2009 14:22:43 +Mon, 02 Mar 2009 14:23:16 +Mon, 2 Mar 2009 16:01:01 +Tue, 3 Mar 2009 10:00:44 +Tue, 03 Mar 2009 17:18:18 +Thu, 05 Mar 2009 23:46:56 +Tue, 17 Mar 2009 14:06:21 +Tue, 24 Mar 2009 10:51:54 +Tue, 24 Mar 2009 11:55:26 +Tue, 24 Mar 2009 12:50:00 +Tue, 24 Mar 2009 17:55:12 +Fri, 03 Apr 2009 14:06:55 +Sun, 05 Apr 2009 09:50:38 +Sun, 05 Apr 2009 10:08:56 +Sun, 05 Apr 2009 22:47:21 +Mon, 13 Apr 2009 19:36:59 +Tue, 14 Apr 2009 05:27:13 +Wed, 15 Apr 2009 12:35:02 +Wed, 15 Apr 2009 13:57:36 +Wed, 15 Apr 2009 15:13:47 +Wed, 15 Apr 2009 15:26:26 +Wed, 15 Apr 2009 15:44:13 +Sun, 19 Apr 2009 10:49:05 +Sun, 19 Apr 2009 12:19:16 +Sun, 19 Apr 2009 19:35:16 +Mon, 20 Apr 2009 18:05:02 +Mon, 20 Apr 2009 18:26:42 +Mon, 20 Apr 2009 18:49:05 +Fri, 1 May 2009 15:19:13 +Fri, 01 May 2009 17:25:09 +Mon, 4 May 2009 18:00:18 +Mon, 04 May 2009 19:15:33 +Tue, 05 May 2009 14:03:21 +Tue, 05 May 2009 22:34:27 +Wed, 06 May 2009 17:50:01 +Wed, 06 May 2009 12:28:30 +Wed, 06 May 2009 12:41:02 +Thu, 07 May 2009 15:50:04 +Sat, 09 May 2009 12:15:13 +Wed, 13 May 2009 22:20:49 +Thu, 14 May 2009 09:49:27 +Thu, 14 May 2009 11:02:53 +Mon, 18 May 2009 21:33:07 +Tue, 26 May 2009 16:07:10 +Tue, 26 May 2009 14:17:18 +Tue, 26 May 2009 17:22:33 +Tue, 26 May 2009 16:19:15 +Tue, 26 May 2009 20:07:21 +Tue, 26 May 2009 19:41:30 +Sun, 07 Jun 2009 14:41:09 +Tue, 09 Jun 2009 09:37:11 +Tue, 9 Jun 2009 23:03:08 +Wed, 10 Jun 2009 12:33:03 +Wed, 10 Jun 2009 16:28:17 +Thu, 11 Jun 2009 14:09:21 +Sun, 14 Jun 2009 13:52:35 +Mon, 15 Jun 2009 11:29:25 +Tue, 16 Jun 2009 13:57:44 +Thu, 25 Jun 2009 11:00:53 +Fri, 26 Jun 2009 09:19:54 +Sun, 28 Jun 2009 21:15:46 +Sun, 28 Jun 2009 21:21:46 +Sun, 28 Jun 2009 21:27:01 +Mon, 29 Jun 2009 10:08:11 +Wed, 01 Jul 2009 16:43:31 +Sun, 12 Jul 2009 18:04:51 +12 Jul 2009 20:11:00 +Sun, 12 Jul 2009 18:24:35 +12 Jul 2009 20:45:12 +Sun, 12 Jul 2009 19:24:13 +12 Jul 2009 21:52:19 +Sat, 18 Jul 2009 03:16:05 +Fri, 17 Jul 2009 16:12:28 +Wed, 22 Jul 2009 19:37:43 +Wed, 22 Jul 2009 19:42:59 +Thu, 23 Jul 2009 03:36:38 +Fri, 24 Jul 2009 15:53:51 +Sat, 25 Jul 2009 00:30:21 +Sat, 25 Jul 2009 03:19:36 +Sat, 25 Jul 2009 08:13:57 +Sat, 25 Jul 2009 11:22:28 +Sat, 25 Jul 2009 15:59:49 +Sat, 25 Jul 2009 16:45:34 +Sat, 25 Jul 2009 17:30:21 +Sun, 26 Jul 2009 08:28:34 +Sat, 01 Aug 2009 15:40:25 +Sun, 02 Aug 2009 10:57:33 +Sun, 02 Aug 2009 12:08:39 +Sun, 02 Aug 2009 12:14:45 +Sun, 02 Aug 2009 17:56:39 +Mon, 03 Aug 2009 08:57:17 +Mon, 03 Aug 2009 11:12:03 +Mon, 03 Aug 2009 14:38:36 +Mon, 03 Aug 2009 17:04:11 +Mon, 3 Aug 2009 21:41:24 +3 Aug 2009 23:40:03 +Tue, 04 Aug 2009 08:16:35 +Tue, 04 Aug 2009 16:32:54 +Tue, 04 Aug 2009 16:53:17 +Tue, 04 Aug 2009 17:40:36 +Tue, 04 Aug 2009 17:47:28 +Tue, 04 Aug 2009 17:54:38 +Tue, 04 Aug 2009 18:02:26 +Tue, 04 Aug 2009 18:17:48 +Wed, 5 Aug 2009 10:24:52 +Wed, 5 Aug 2009 10:26:49 +Wed, 05 Aug 2009 05:47:09 +Wed, 05 Aug 2009 05:52:12 +Thu, 06 Aug 2009 12:46:28 +Fri, 07 Aug 2009 16:15:06 +Sat, 8 Aug 2009 08:22:42 +Sun, 09 Aug 2009 16:06:06 +Sun, 09 Aug 2009 16:48:40 +Thu, 13 Aug 2009 10:07:51 +Sat, 15 Aug 2009 14:13:03 +Tue, 18 Aug 2009 13:57:52 +Tue, 18 Aug 2009 18:02:33 +Wed, 19 Aug 2009 09:21:46 +Wed, 19 Aug 2009 10:29:24 +Wed, 19 Aug 2009 21:08:58 +Wed, 19 Aug 2009 21:10:57 +Wed, 19 Aug 2009 21:17:39 +Wed, 19 Aug 2009 21:21:23 +Mon, 07 Sep 2009 20:54:14 +Mon, 07 Sep 2009 22:18:58 +Thu, 17 Sep 2009 17:07:01 +Fri, 18 Sep 2009 17:43:17 +Fri, 18 Sep 2009 11:48:45 +Mon, 21 Sep 2009 10:00:57 +Mon, 21 Sep 2009 12:26:22 +Mon, 21 Sep 2009 23:02:59 +Wed, 23 Sep 2009 10:05:17 +Wed, 23 Sep 2009 12:46:13 +Sun, 27 Sep 2009 10:45:38 +Sun, 27 Sep 2009 10:55:45 +Sun, 27 Sep 2009 11:00:39 +Sun, 27 Sep 2009 11:08:58 +Thu, 1 Oct 2009 09:16:44 +2 Oct 2009 19:00:09 +3 Oct 2009 13:45:07 +Wed, 07 Oct 2009 11:48:00 +Wed, 7 Oct 2009 13:58:17 +Wed, 14 Oct 2009 10:12:45 +Wed, 14 Oct 2009 18:13:48 +Wed, 14 Oct 2009 18:30:13 +Fri, 16 Oct 2009 18:46:33 +Sat, 17 Oct 2009 16:16:08 +Mon, 19 Oct 2009 11:12:51 +Mon, 19 Oct 2009 17:15:07 +Tue, 20 Oct 2009 11:02:57 +Sat, 24 Oct 2009 10:46:04 +Sat, 24 Oct 2009 10:55:06 +Sun, 25 Oct 2009 08:30:45 +Sun, 25 Oct 2009 11:44:22 +Thu, 29 Oct 2009 09:33:56 +Thu, 29 Oct 2009 10:30:23 +Thu, 29 Oct 2009 11:03:34 +Sat, 31 Oct 2009 17:14:24 +Sun, 01 Nov 2009 10:12:13 +Sun, 01 Nov 2009 21:13:30 +Sun, 01 Nov 2009 21:16:47 +Tue, 03 Nov 2009 21:27:30 +Wed, 04 Nov 2009 08:03:08 +Wed, 04 Nov 2009 14:14:25 +Wed, 04 Nov 2009 21:17:28 +Thu, 05 Nov 2009 10:27:53 +Thu, 05 Nov 2009 11:09:54 +Thu, 05 Nov 2009 11:15:29 +Thu, 05 Nov 2009 11:32:40 +Fri, 06 Nov 2009 09:04:26 +Fri, 06 Nov 2009 11:02:00 +Fri, 06 Nov 2009 13:30:53 +Fri, 06 Nov 2009 14:54:13 +Fri, 06 Nov 2009 22:50:16 +Sun, 08 Nov 2009 17:57:38 +Sun, 08 Nov 2009 18:50:13 +Sun, 08 Nov 2009 22:19:55 +Mon, 09 Nov 2009 08:18:51 +Mon, 09 Nov 2009 08:28:57 +Mon, 9 Nov 2009 22:14:36 +Thu, 19 Nov 2009 21:07:05 +Fri, 20 Nov 2009 18:57:33 +Fri, 20 Nov 2009 21:57:33 +Wed, 25 Nov 2009 12:43:20 +Wed, 25 Nov 2009 14:11:07 +Sat, 05 Dec 2009 12:47:19 +Sat, 05 Dec 2009 14:11:31 +Sat, 05 Dec 2009 16:10:31 +Sun, 06 Dec 2009 00:15:15 +Sun, 06 Dec 2009 13:00:31 +Sun, 06 Dec 2009 14:15:07 +Sun, 06 Dec 2009 14:43:04 +Sun, 06 Dec 2009 14:52:57 +Sun, 06 Dec 2009 15:53:39 +Sun, 06 Dec 2009 16:16:02 +Sun, 06 Dec 2009 16:29:05 +Sun, 06 Dec 2009 16:46:40 +Sun, 06 Dec 2009 17:04:25 +Sun, 06 Dec 2009 19:06:56 +Sat, 12 Dec 2009 12:29:21 +Sat, 12 Dec 2009 12:45:06 +Sun, 13 Dec 2009 11:05:55 +Sun, 13 Dec 2009 14:46:10 +Mon, 14 Dec 2009 10:53:07 +Mon, 14 Dec 2009 21:21:17 +Mon, 14 Dec 2009 11:38:10 +Mon, 14 Dec 2009 12:49:52 +Mon, 14 Dec 2009 23:04:15 +Wed, 16 Dec 2009 14:22:11 +Tue, 22 Dec 2009 08:25:00 +Thu, 24 Dec 2009 15:45:35 +Fri, 25 Dec 2009 12:41:21 +Thu, 31 Dec 2009 10:40:13 +Thu, 31 Dec 2009 12:49:18 +Thu, 31 Dec 2009 13:30:33 +Thu, 31 Dec 2009 13:44:24 +Thu, 31 Dec 2009 13:49:25 +Thu, 31 Dec 2009 15:10:52 +Thu, 31 Dec 2009 19:39:30 +Thu, 31 Dec 2009 19:43:34 +Thu, 31 Dec 2009 19:58:27 +Fri, 01 Jan 2010 12:14:40 +Fri, 01 Jan 2010 10:59:07 +Fri, 01 Jan 2010 12:45:16 +Sat, 02 Jan 2010 16:26:04 +Mon, 04 Jan 2010 09:35:30 +Mon, 04 Jan 2010 10:30:10 +Mon, 04 Jan 2010 11:41:14 +Tue, 12 Jan 2010 11:50:35 +Tue, 12 Jan 2010 12:11:55 +Tue, 12 Jan 2010 14:36:40 +Tue, 12 Jan 2010 21:38:34 +Wed, 13 Jan 2010 09:53:08 +Fri, 15 Jan 2010 20:42:47 +Sat, 16 Jan 2010 23:26:44 +Sun, 17 Jan 2010 09:01:09 +Mon, 01 Feb 2010 16:05:15 +Wed, 03 Feb 2010 19:06:05 +Wed, 03 Feb 2010 21:00:56 +Wed, 03 Feb 2010 21:13:30 +Thu, 4 Feb 2010 18:07:25 +Fri, 05 Feb 2010 18:06:09 +Fri, 05 Feb 2010 18:15:46 +Fri, 05 Feb 2010 22:49:35 +Sat, 6 Feb 2010 06:57:04 +Sat, 06 Feb 2010 13:49:23 +Sun, 07 Feb 2010 11:42:21 +Tue, 09 Feb 2010 22:05:24 +Wed, 10 Feb 2010 00:27:51 +Wed, 10 Feb 2010 16:24:46 +Wed, 10 Feb 2010 21:32:28 +Thu, 11 Feb 2010 18:32:04 +Sat, 13 Feb 2010 13:29:05 +Mon, 15 Feb 2010 15:15:14 +Wed, 17 Feb 2010 10:52:35 +Wed, 17 Feb 2010 13:24:45 +Wed, 17 Feb 2010 17:55:15 +Wed, 17 Feb 2010 18:07:01 +Thu, 18 Feb 2010 11:23:22 +Thu, 18 Feb 2010 11:38:48 +Thu, 18 Feb 2010 19:53:03 +Fri, 19 Feb 2010 10:13:23 +Mon, 22 Feb 2010 17:06:07 +Fri, 26 Feb 2010 14:03:39 +Fri, 26 Feb 2010 15:26:29 +Sat, 27 Feb 2010 08:48:19 +Sat, 27 Feb 2010 08:51:14 +Sat, 27 Feb 2010 07:54:49 +Sat, 27 Feb 2010 08:02:42 +Sat, 27 Feb 2010 09:21:30 +Sat, 27 Feb 2010 09:23:51 +Sat, 27 Feb 2010 11:58:40 +Sat, 27 Feb 2010 13:05:51 +Sat, 27 Feb 2010 13:30:10 +Sat, 27 Feb 2010 13:51:46 +Sat, 27 Feb 2010 17:40:52 +Sun, 28 Feb 2010 07:52:36 +Sun, 28 Feb 2010 09:22:43 +Sun, 28 Feb 2010 14:18:39 +Sun, 28 Feb 2010 15:28:11 +Mon, 1 Mar 2010 11:21:30 +Mon, 01 Mar 2010 14:22:12 +Wed, 03 Mar 2010 19:12:34 +Wed, 03 Mar 2010 19:17:48 +3 Mar 2010 23:45:06 +Wed, 03 Mar 2010 22:44:36 +Thu, 04 Mar 2010 11:25:27 +Fri, 05 Mar 2010 13:08:16 +Fri, 05 Mar 2010 13:18:24 +Wed, 10 Mar 2010 10:56:45 +Wed, 10 Mar 2010 17:25:03 +Wed, 10 Mar 2010 20:45:29 +Thu, 11 Mar 2010 09:10:01 +Tue, 16 Mar 2010 09:33:34 +Fri, 19 Mar 2010 16:30:42 +Sun, 21 Mar 2010 16:56:12 +Sun, 21 Mar 2010 22:12:46 +Mon, 22 Mar 2010 20:34:38 +Tue, 23 Mar 2010 17:13:26 +Sun, 28 Mar 2010 14:06:30 +Thu, 15 Apr 2010 17:38:01 +Thu, 15 Apr 2010 09:43:17 +Thu, 15 Apr 2010 12:09:55 +Fri, 16 Apr 2010 13:11:21 +Fri, 16 Apr 2010 19:38:45 +Sat, 17 Apr 2010 17:16:06 +Fri, 23 Apr 2010 12:31:07 +Fri, 23 Apr 2010 12:37:38 +Fri, 23 Apr 2010 12:40:00 +Tue, 27 Apr 2010 19:09:45 +Tue, 27 Apr 2010 23:34:13 +Fri, 30 Apr 2010 04:28:38 +Fri, 30 Apr 2010 23:45:19 +Sun, 02 May 2010 11:59:23 +Mon, 03 May 2010 00:04:46 +Wed, 05 May 2010 18:36:32 +Wed, 05 May 2010 22:26:50 +Thu, 06 May 2010 15:12:22 +Thu, 06 May 2010 16:12:58 +Thu, 06 May 2010 16:37:33 +Thu, 06 May 2010 17:10:08 +Thu, 06 May 2010 18:06:29 +Thu, 06 May 2010 18:35:03 +Thu, 06 May 2010 18:48:15 +Thu, 06 May 2010 20:57:54 +Thu, 06 May 2010 22:18:40 +Thu, 06 May 2010 22:20:01 +Fri, 07 May 2010 13:04:05 +Fri, 07 May 2010 13:19:45 +Fri, 07 May 2010 14:23:11 +Fri, 07 May 2010 14:41:29 +Fri, 07 May 2010 17:52:04 +Wed, 12 May 2010 09:02:57 +Wed, 12 May 2010 09:06:08 +Wed, 12 May 2010 10:34:04 +Wed, 12 May 2010 11:42:16 +Wed, 12 May 2010 13:11:36 +Wed, 12 May 2010 13:57:44 +Thu, 13 May 2010 12:08:21 +Thu, 13 May 2010 22:38:22 +Thu, 13 May 2010 22:58:37 +Thu, 13 May 2010 23:57:42 +Fri, 14 May 2010 08:06:08 +Sat, 15 May 2010 09:33:55 +Sat, 15 May 2010 10:09:11 +Sun, 16 May 2010 08:06:12 +Sun, 16 May 2010 11:34:45 +Sun, 16 May 2010 12:39:37 +Sun, 16 May 2010 23:44:31 +Sat, 22 May 2010 23:07:47 +Fri, 28 May 2010 14:11:32 +Fri, 28 May 2010 15:17:29 +Fri, 28 May 2010 20:49:03 +Fri, 28 May 2010 23:41:23 +Sat, 29 May 2010 12:55:47 +Sat, 29 May 2010 13:08:02 +Sat, 29 May 2010 17:46:07 +Mon, 31 May 2010 12:45:24 +Mon, 31 May 2010 16:06:36 +Mon, 31 May 2010 16:18:42 +Mon, 31 May 2010 16:42:38 +Mon, 31 May 2010 20:53:07 +Tue, 01 Jun 2010 08:57:28 +Tue, 01 Jun 2010 09:58:31 +Tue, 1 Jun 2010 20:14:46 +Tue, 01 Jun 2010 21:07:43 +Thu, 03 Jun 2010 12:51:22 +Thu, 3 Jun 2010 21:26:29 +Fri, 04 Jun 2010 15:28:11 +Sat, 5 Jun 2010 00:50:18 +Fri, 04 Jun 2010 19:47:06 +Tue, 8 Jun 2010 05:57:02 +Tue, 08 Jun 2010 08:02:34 +Tue, 8 Jun 2010 21:30:25 +Tue, 8 Jun 2010 22:25:02 +Thu, 10 Jun 2010 16:00:40 +Thu, 10 Jun 2010 10:03:40 +Thu, 10 Jun 2010 10:25:33 +Thu, 10 Jun 2010 12:06:46 +Fri, 11 Jun 2010 22:29:16 +Sun, 13 Jun 2010 20:56:32 +Wed, 16 Jun 2010 21:43:19 +Thu, 17 Jun 2010 09:56:43 +Thu, 17 Jun 2010 11:40:05 +Fri, 18 Jun 2010 16:00:11 +Fri, 18 Jun 2010 22:25:45 +Sat, 19 Jun 2010 09:09:24 +Sun, 20 Jun 2010 19:14:29 +Sun, 20 Jun 2010 20:15:23 +Sun, 20 Jun 2010 21:24:47 +Sun, 20 Jun 2010 21:37:42 +Mon, 21 Jun 2010 14:29:40 +Mon, 21 Jun 2010 16:17:17 +Mon, 21 Jun 2010 21:48:12 +Mon, 21 Jun 2010 22:23:31 +Mon, 21 Jun 2010 23:10:58 +Mon, 21 Jun 2010 23:19:31 +Tue, 22 Jun 2010 11:23:26 +Wed, 23 Jun 2010 11:42:36 +Thu, 24 Jun 2010 00:04:37 +Thu, 24 Jun 2010 09:19:53 +Thu, 24 Jun 2010 12:02:03 +Thu, 24 Jun 2010 12:11:01 +Fri, 25 Jun 2010 13:20:27 +Fri, 25 Jun 2010 14:36:19 +Fri, 25 Jun 2010 17:13:50 +Sat, 26 Jun 2010 20:54:41 +Sun, 27 Jun 2010 15:58:50 +Sun, 27 Jun 2010 16:08:06 +Tue, 29 Jun 2010 11:56:13 +Tue, 29 Jun 2010 13:53:15 +Tue, 29 Jun 2010 18:47:44 +Tue, 29 Jun 2010 20:45:33 +Wed, 30 Jun 2010 21:59:08 +Thu, 1 Jul 2010 14:52:13 +Thu, 1 Jul 2010 16:23:01 +Fri, 2 Jul 2010 08:35:14 +Mon, 5 Jul 2010 12:27:20 +Tue, 06 Jul 2010 15:02:25 +Fri, 09 Jul 2010 00:08:12 +Sun, 11 Jul 2010 20:53:47 +Mon, 12 Jul 2010 05:54:08 +Tue, 13 Jul 2010 11:07:31 +Tue, 13 Jul 2010 14:57:32 +Tue, 13 Jul 2010 18:03:38 +Tue, 13 Jul 2010 17:14:54 +Tue, 13 Jul 2010 18:23:08 +Wed, 14 Jul 2010 17:06:58 +Thu, 15 Jul 2010 10:34:31 +Sat, 17 Jul 2010 12:21:05 +Sat, 17 Jul 2010 12:45:56 +Sat, 17 Jul 2010 13:02:12 +Sun, 18 Jul 2010 17:26:50 +Mon, 19 Jul 2010 05:06:38 +Mon, 19 Jul 2010 11:31:14 +Tue, 20 Jul 2010 11:46:17 +Wed, 21 Jul 2010 04:05:48 +Wed, 21 Jul 2010 11:54:58 +Sat, 24 Jul 2010 11:01:44 +Sat, 24 Jul 2010 13:33:44 +Sat, 24 Jul 2010 16:42:11 +Mon, 26 Jul 2010 17:37:40 +Tue, 27 Jul 2010 22:06:40 +Wed, 28 Jul 2010 10:47:36 +Wed, 28 Jul 2010 11:29:25 +Wed, 28 Jul 2010 11:52:58 +Wed, 28 Jul 2010 12:41:59 +Wed, 28 Jul 2010 14:43:55 +Wed, 28 Jul 2010 21:28:33 +Thu, 29 Jul 2010 17:18:26 +Fri, 30 Jul 2010 08:56:36 +Fri, 30 Jul 2010 08:23:25 +Mon, 2 Aug 2010 11:00:07 +Mon, 02 Aug 2010 13:16:04 +Tue, 3 Aug 2010 14:26:44 +Wed, 04 Aug 2010 08:38:23 +Wed, 4 Aug 2010 08:24:56 +Wed, 04 Aug 2010 09:37:32 +Wed, 4 Aug 2010 14:12:28 +Fri, 06 Aug 2010 14:36:13 +Fri, 06 Aug 2010 16:33:17 +Fri, 6 Aug 2010 16:38:47 +Fri, 06 Aug 2010 17:45:30 +Mon, 09 Aug 2010 10:32:58 +Mon, 09 Aug 2010 20:17:38 +Mon, 09 Aug 2010 20:52:25 +Thu, 12 Aug 2010 07:17:22 +Thu, 12 Aug 2010 08:16:44 +Thu, 12 Aug 2010 09:02:06 +Thu, 12 Aug 2010 09:52:27 +Thu, 12 Aug 2010 10:17:11 +Thu, 12 Aug 2010 14:39:11 +Fri, 13 Aug 2010 13:51:09 +Fri, 13 Aug 2010 13:55:36 +Sun, 22 Aug 2010 09:41:09 +Mon, 23 Aug 2010 12:35:52 +Mon, 23 Aug 2010 12:53:47 +Mon, 23 Aug 2010 18:48:48 +Mon, 23 Aug 2010 19:14:12 +Mon, 23 Aug 2010 19:42:44 +Sat, 28 Aug 2010 19:56:33 +Sun, 29 Aug 2010 18:01:01 +Sun, 29 Aug 2010 19:09:17 +Mon, 30 Aug 2010 11:46:11 +Mon, 30 Aug 2010 10:53:28 +Mon, 30 Aug 2010 20:05:06 +Mon, 30 Aug 2010 18:31:17 +Mon, 30 Aug 2010 18:33:14 +Mon, 30 Aug 2010 20:58:18 +Tue, 31 Aug 2010 06:56:34 +Tue, 31 Aug 2010 06:46:46 +Tue, 31 Aug 2010 10:25:58 +Tue, 31 Aug 2010 10:27:53 +Tue, 31 Aug 2010 10:04:18 +Tue, 31 Aug 2010 20:22:59 +Thu, 2 Sep 2010 12:13:46 +Thu, 02 Sep 2010 14:26:11 +Sat, 04 Sep 2010 12:53:14 +Sun, 05 Sep 2010 16:42:51 +Tue, 07 Sep 2010 09:37:04 +Tue, 7 Sep 2010 14:32:30 +Tue, 07 Sep 2010 14:59:38 +Wed, 8 Sep 2010 08:07:02 +Wed, 8 Sep 2010 09:30:27 +Wed, 08 Sep 2010 09:41:49 +Thu, 9 Sep 2010 20:16:10 +Thu, 09 Sep 2010 21:43:28 +Thu, 9 Sep 2010 23:32:30 +Fri, 10 Sep 2010 07:52:50 +Fri, 10 Sep 2010 10:10:58 +Fri, 10 Sep 2010 08:54:19 +Fri, 10 Sep 2010 10:08:57 +Fri, 10 Sep 2010 09:25:17 +Sat, 11 Sep 2010 00:18:25 +Sat, 11 Sep 2010 08:26:04 +Sun, 12 Sep 2010 11:30:59 +Sun, 12 Sep 2010 11:32:33 +Sun, 12 Sep 2010 16:05:58 +Sun, 12 Sep 2010 18:53:13 +Sun, 12 Sep 2010 18:33:31 +Mon, 13 Sep 2010 14:13:23 +Mon, 13 Sep 2010 10:33:27 +Mon, 13 Sep 2010 11:18:14 +Mon, 13 Sep 2010 12:37:56 +Tue, 14 Sep 2010 14:12:10 +Wed, 15 Sep 2010 22:23:55 +Thu, 16 Sep 2010 11:38:02 +Thu, 16 Sep 2010 12:43:58 +Thu, 16 Sep 2010 12:12:42 +Thu, 16 Sep 2010 13:36:59 +Fri, 17 Sep 2010 18:49:57 +Sat, 18 Sep 2010 08:46:15 +Wed, 22 Sep 2010 13:26:43 +Wed, 22 Sep 2010 14:32:56 +Wed, 22 Sep 2010 20:40:16 +Sat, 25 Sep 2010 05:46:02 +Wed, 29 Sep 2010 15:40:08 +Wed, 29 Sep 2010 15:46:09 +Wed, 29 Sep 2010 17:06:33 +Wed, 29 Sep 2010 17:29:22 +Wed, 29 Sep 2010 22:18:44 +Tue, 5 Oct 2010 20:22:22 +Mon, 11 Oct 2010 09:56:04 +Mon, 11 Oct 2010 10:12:08 +Mon, 11 Oct 2010 23:55:19 +Tue, 12 Oct 2010 17:34:55 +Tue, 12 Oct 2010 18:16:45 +Tue, 12 Oct 2010 20:55:16 +Wed, 13 Oct 2010 11:29:44 +Wed, 13 Oct 2010 13:19:39 +Wed, 13 Oct 2010 15:24:32 +Fri, 15 Oct 2010 10:46:29 +Wed, 20 Oct 2010 13:05:24 +Wed, 20 Oct 2010 19:00:49 +Wed, 20 Oct 2010 19:36:24 +Thu, 21 Oct 2010 15:24:06 +Thu, 28 Oct 2010 12:37:16 +Fri, 29 Oct 2010 18:44:52 +Sat, 30 Oct 2010 08:18:55 +Sun, 31 Oct 2010 17:13:06 +Tue, 02 Nov 2010 14:43:47 +Tue, 02 Nov 2010 16:28:43 +Tue, 02 Nov 2010 18:03:07 +Wed, 03 Nov 2010 10:15:35 +Wed, 03 Nov 2010 10:46:07 +Wed, 03 Nov 2010 12:22:49 +Wed, 03 Nov 2010 12:34:38 +Thu, 04 Nov 2010 08:53:38 +Thu, 4 Nov 2010 10:58:41 +Fri, 05 Nov 2010 10:21:25 +Fri, 05 Nov 2010 11:08:34 +Sun, 7 Nov 2010 18:44:51 +Tue, 9 Nov 2010 15:09:19 +Tue, 09 Nov 2010 18:01:59 +Wed, 10 Nov 2010 10:44:17 +Wed, 10 Nov 2010 20:32:43 +Thu, 11 Nov 2010 12:37:51 +Fri, 12 Nov 2010 12:47:26 +Fri, 12 Nov 2010 12:51:05 +Fri, 12 Nov 2010 12:54:52 +Fri, 12 Nov 2010 13:08:44 +Thu, 18 Nov 2010 13:16:43 +Fri, 19 Nov 2010 11:09:02 +Sat, 20 Nov 2010 12:14:24 +Sat, 20 Nov 2010 21:30:21 +Sat, 20 Nov 2010 21:55:14 +Sun, 21 Nov 2010 10:59:14 +Sun, 21 Nov 2010 11:22:42 +Sun, 21 Nov 2010 11:40:59 +Mon, 29 Nov 2010 12:45:38 +29 Nov 2010 15:03:03 +Mon, 29 Nov 2010 18:11:45 +29 Nov 2010 20:43:34 +Wed, 01 Dec 2010 15:29:17 +Wed, 01 Dec 2010 16:26:20 +Wed, 01 Dec 2010 16:38:11 +Wed, 01 Dec 2010 17:53:31 +Thu, 02 Dec 2010 16:01:15 +Thu, 02 Dec 2010 21:03:56 +Thu, 02 Dec 2010 21:09:26 +Fri, 03 Dec 2010 19:27:22 +Sat, 11 Dec 2010 11:11:58 +Sun, 12 Dec 2010 15:25:30 +Sun, 12 Dec 2010 21:24:15 +Mon, 13 Dec 2010 14:30:41 +Tue, 14 Dec 2010 14:11:57 +Thu, 16 Dec 2010 16:07:58 +Fri, 17 Dec 2010 18:30:37 +Mon, 20 Dec 2010 15:57:06 +Mon, 20 Dec 2010 17:44:45 +Tue, 21 Dec 2010 15:47:58 +Sat, 01 Jan 2011 12:56:29 +Sat, 01 Jan 2011 15:41:41 +Sat, 1 Jan 2011 15:52:35 +Sun, 02 Jan 2011 15:02:30 +Tue, 4 Jan 2011 15:50:33 +Fri, 7 Jan 2011 18:18:33 +Fri, 07 Jan 2011 20:08:44 +Fri, 7 Jan 2011 19:29:59 +Fri, 07 Jan 2011 20:41:34 +Sun, 09 Jan 2011 13:53:56 +Sun, 9 Jan 2011 14:19:33 +Sun, 09 Jan 2011 15:54:20 +Sun, 09 Jan 2011 16:09:12 +Sun, 09 Jan 2011 16:14:33 +Mon, 10 Jan 2011 05:13:12 +Mon, 17 Jan 2011 10:53:01 +Mon, 17 Jan 2011 18:05:20 +Tue, 18 Jan 2011 12:21:57 +Fri, 21 Jan 2011 15:01:42 +Fri, 21 Jan 2011 15:29:21 +Tue, 25 Jan 2011 17:37:09 +25 Jan 2011 19:45:22 +Thu, 27 Jan 2011 18:11:12 +Sat, 29 Jan 2011 11:39:36 +Sat, 29 Jan 2011 17:33:35 +Sat, 29 Jan 2011 18:43:22 +Sun, 30 Jan 2011 12:59:53 +Sun, 30 Jan 2011 13:36:07 +Mon, 31 Jan 2011 10:24:29 +Mon, 31 Jan 2011 11:42:30 +Mon, 31 Jan 2011 16:54:42 +Mon, 31 Jan 2011 20:07:15 +Mon, 31 Jan 2011 21:29:27 +Tue, 01 Feb 2011 20:32:25 +Thu, 3 Feb 2011 10:40:11 +Sun, 6 Feb 2011 12:37:33 +Sun, 06 Feb 2011 14:06:04 +Sun, 6 Feb 2011 13:10:13 +Sun, 6 Feb 2011 13:32:08 +Sun, 06 Feb 2011 20:58:03 +Mon, 7 Feb 2011 15:45:38 +Sat, 12 Feb 2011 17:54:51 +Sun, 13 Feb 2011 11:31:12 +Sun, 13 Feb 2011 13:42:41 +Sun, 13 Feb 2011 15:09:40 +Mon, 14 Feb 2011 14:36:13 +Mon, 14 Feb 2011 19:44:47 +Mon, 14 Feb 2011 19:46:20 +Wed, 16 Feb 2011 13:49:24 +Wed, 16 Feb 2011 14:41:17 +Wed, 16 Feb 2011 14:43:06 +Wed, 16 Feb 2011 14:47:12 +Wed, 16 Feb 2011 15:05:48 +Wed, 16 Feb 2011 15:21:26 +Wed, 16 Feb 2011 16:03:42 +Wed, 16 Feb 2011 21:48:53 +Thu, 17 Feb 2011 07:56:50 +Thu, 17 Feb 2011 08:27:40 +Thu, 17 Feb 2011 09:04:58 +Thu, 17 Feb 2011 09:23:31 +Thu, 17 Feb 2011 10:44:46 +Thu, 17 Feb 2011 19:21:09 +Thu, 17 Feb 2011 22:40:54 +Thu, 17 Feb 2011 23:11:12 +Fri, 18 Feb 2011 09:11:23 +Sat, 19 Feb 2011 20:44:09 +Sat, 19 Feb 2011 19:59:57 +Sat, 19 Feb 2011 21:16:42 +Sun, 20 Feb 2011 03:15:46 +Sun, 20 Feb 2011 08:38:43 +Sun, 20 Feb 2011 09:55:18 +Sun, 20 Feb 2011 10:04:59 +Sun, 20 Feb 2011 09:30:23 +Mon, 21 Feb 2011 12:55:17 +Mon, 21 Feb 2011 12:58:37 +Tue, 22 Feb 2011 14:50:28 +Wed, 23 Feb 2011 23:50:07 +Thu, 24 Feb 2011 09:01:47 +Thu, 24 Feb 2011 10:33:15 +Thu, 24 Feb 2011 10:59:29 +Thu, 24 Feb 2011 18:29:30 +Thu, 24 Feb 2011 20:18:57 +Fri, 25 Feb 2011 09:59:06 +Fri, 25 Feb 2011 12:18:27 +Mon, 28 Feb 2011 15:58:57 +Tue, 01 Mar 2011 19:42:01 +Wed, 02 Mar 2011 13:11:02 +Sat, 05 Mar 2011 17:50:58 +Sat, 5 Mar 2011 20:51:47 +Mon, 07 Mar 2011 20:15:24 +Mon, 07 Mar 2011 20:24:12 +Mon, 07 Mar 2011 20:38:38 +Mon, 07 Mar 2011 20:49:17 +Fri, 11 Mar 2011 07:30:38 +11 Mar 2011 09:36:54 +Fri, 11 Mar 2011 09:25:57 +11 Mar 2011 11:29:20 +Mon, 21 Mar 2011 23:09:46 +Tue, 22 Mar 2011 16:12:31 +Wed, 23 Mar 2011 06:50:03 +Wed, 23 Mar 2011 09:50:26 +Wed, 23 Mar 2011 21:30:25 +Thu, 24 Mar 2011 07:50:34 +Sat, 26 Mar 2011 09:09:37 +Sat, 26 Mar 2011 11:19:23 +Sat, 26 Mar 2011 22:35:03 +Mon, 28 Mar 2011 17:16:02 +Mon, 28 Mar 2011 17:44:55 +Mon, 28 Mar 2011 22:15:05 +Tue, 29 Mar 2011 15:16:17 +Wed, 30 Mar 2011 19:44:35 +Thu, 31 Mar 2011 08:17:09 +Thu, 31 Mar 2011 09:27:12 +Thu, 31 Mar 2011 09:04:43 +Thu, 31 Mar 2011 14:01:08 +Thu, 31 Mar 2011 13:21:02 +Thu, 31 Mar 2011 14:55:06 +Thu, 31 Mar 2011 18:24:28 +Sat, 2 Apr 2011 18:17:49 +Sat, 02 Apr 2011 23:58:52 +Wed, 06 Apr 2011 11:04:31 +Wed, 06 Apr 2011 18:42:00 +06 Apr 2011 20:47:29 +Wed, 06 Apr 2011 18:53:34 +06 Apr 2011 20:59:05 +07 Apr 2011 07:35:46 +Thu, 7 Apr 2011 09:34:32 +Mon, 11 Apr 2011 19:33:57 +Wed, 13 Apr 2011 14:29:29 +Wed, 13 Apr 2011 15:09:32 +Thu, 14 Apr 2011 19:14:25 +Sun, 17 Apr 2011 11:47:01 +Sun, 17 Apr 2011 12:11:00 +Sun, 17 Apr 2011 12:30:27 +Sun, 17 Apr 2011 13:35:59 +Sun, 17 Apr 2011 15:55:11 +Sun, 17 Apr 2011 20:24:22 +Thu, 21 Apr 2011 12:00:50 +Fri, 22 Apr 2011 12:30:46 +Fri, 22 Apr 2011 16:04:50 +Sat, 23 Apr 2011 10:43:15 +Sun, 24 Apr 2011 13:12:08 +Mon, 25 Apr 2011 06:26:39 +Mon, 25 Apr 2011 10:26:41 +Mon, 25 Apr 2011 10:41:52 +Mon, 25 Apr 2011 11:51:49 +Mon, 25 Apr 2011 11:57:35 +Mon, 25 Apr 2011 12:47:46 +Mon, 25 Apr 2011 15:52:08 +Mon, 25 Apr 2011 17:31:56 +Mon, 25 Apr 2011 19:23:22 +Mon, 25 Apr 2011 19:01:59 +Mon, 25 Apr 2011 21:11:46 +Mon, 25 Apr 2011 21:39:50 +Tue, 26 Apr 2011 10:09:38 +Tue, 26 Apr 2011 18:53:26 +Tue, 26 Apr 2011 19:21:53 +Thu, 28 Apr 2011 22:21:41 +Sat, 30 Apr 2011 20:06:12 +Sun, 01 May 2011 18:25:06 +Sun, 1 May 2011 19:22:15 +Sun, 01 May 2011 19:25:32 +Sun, 1 May 2011 19:33:27 +Sun, 01 May 2011 23:01:43 +Sun, 1 May 2011 23:41:45 +Sun, 01 May 2011 23:55:11 +Mon, 2 May 2011 07:44:35 +Mon, 02 May 2011 14:38:35 +Mon, 2 May 2011 18:14:01 +Mon, 2 May 2011 18:25:10 +Mon, 02 May 2011 18:27:31 +Mon, 2 May 2011 18:33:46 +Sun, 15 May 2011 11:47:25 +Mon, 16 May 2011 06:54:48 +Mon, 16 May 2011 07:03:48 +Mon, 16 May 2011 20:49:39 +Tue, 17 May 2011 23:33:07 +Sun, 29 May 2011 01:21:26 +Sun, 29 May 2011 19:32:32 +Mon, 30 May 2011 04:13:19 +Tue, 31 May 2011 22:43:25 +Sun, 5 Jun 2011 16:25:47 +Sun, 05 Jun 2011 22:43:19 +Mon, 06 Jun 2011 18:30:26 +Wed, 8 Jun 2011 16:29:39 +Wed, 8 Jun 2011 16:47:01 +Wed, 08 Jun 2011 19:10:46 +Thu, 9 Jun 2011 16:32:05 +Fri, 10 Jun 2011 09:05:05 +11 Jun 2011 12:00:49 +Sun, 12 Jun 2011 12:40:36 +Sun, 12 Jun 2011 12:52:43 +Sun, 12 Jun 2011 13:05:43 +Mon, 20 Jun 2011 16:55:51 +Mon, 20 Jun 2011 18:03:14 +Tue, 21 Jun 2011 17:43:20 +Sun, 26 Jun 2011 17:31:24 +Sun, 26 Jun 2011 23:17:57 +Tue, 28 Jun 2011 14:12:26 +28 Jun 2011 16:16:07 +Tue, 28 Jun 2011 21:50:42 +Tue, 28 Jun 2011 21:55:19 +Tue, 28 Jun 2011 22:21:28 +Tue, 28 Jun 2011 22:33:05 +Wed, 29 Jun 2011 07:26:29 +Wed, 29 Jun 2011 21:00:00 +Wed, 29 Jun 2011 22:45:22 +Sat, 02 Jul 2011 23:09:22 +Sun, 3 Jul 2011 09:09:10 +Tue, 5 Jul 2011 19:02:39 +Wed, 06 Jul 2011 12:13:26 +Wed, 6 Jul 2011 13:26:09 +Wed, 6 Jul 2011 13:41:23 +Thu, 7 Jul 2011 20:05:22 +Thu, 7 Jul 2011 20:33:46 +Fri, 8 Jul 2011 08:23:18 +Sat, 9 Jul 2011 17:42:02 +Sun, 10 Jul 2011 16:29:20 +Sun, 10 Jul 2011 16:36:49 +Sun, 10 Jul 2011 16:41:17 +Sun, 10 Jul 2011 17:21:21 +Sun, 10 Jul 2011 19:40:32 +Sun, 10 Jul 2011 19:49:37 +Mon, 11 Jul 2011 22:46:35 +Wed, 13 Jul 2011 18:22:35 +Fri, 15 Jul 2011 14:36:20 +Fri, 15 Jul 2011 14:41:50 +Fri, 15 Jul 2011 23:56:32 +Sat, 16 Jul 2011 00:06:37 +Sat, 16 Jul 2011 01:18:55 +Sat, 16 Jul 2011 13:11:56 +Sun, 17 Jul 2011 09:43:34 +Tue, 19 Jul 2011 18:40:05 +Tue, 19 Jul 2011 18:03:38 +Wed, 20 Jul 2011 20:23:01 +Wed, 20 Jul 2011 20:39:44 +Sun, 24 Jul 2011 11:44:20 +Sun, 24 Jul 2011 12:02:10 +Sun, 24 Jul 2011 12:32:52 +Sun, 24 Jul 2011 21:48:04 +Tue, 26 Jul 2011 17:29:02 +Tue, 26 Jul 2011 16:21:01 +Tue, 26 Jul 2011 19:07:02 +Tue, 26 Jul 2011 21:10:29 +Sat, 30 Jul 2011 07:52:45 +Sat, 30 Jul 2011 14:21:53 +Sun, 7 Aug 2011 10:03:17 +Tue, 9 Aug 2011 15:53:37 +Tue, 9 Aug 2011 18:35:44 +Tue, 9 Aug 2011 18:54:43 +Wed, 10 Aug 2011 17:10:45 +Tue, 16 Aug 2011 14:29:28 +16 Aug 2011 16:52:04 +Fri, 26 Aug 2011 17:06:31 +Sat, 27 Aug 2011 09:53:33 +Tue, 30 Aug 2011 01:58:11 +Tue, 30 Aug 2011 23:39:21 +Thu, 1 Sep 2011 19:24:01 +Thu, 1 Sep 2011 19:28:57 +Sat, 3 Sep 2011 16:58:20 +Sat, 03 Sep 2011 21:07:53 +Wed, 07 Sep 2011 16:10:31 +Wed, 07 Sep 2011 16:53:05 +Wed, 7 Sep 2011 18:23:55 +Wed, 07 Sep 2011 21:46:39 +Fri, 9 Sep 2011 18:09:49 +Fri, 9 Sep 2011 18:55:24 +Sat, 10 Sep 2011 10:00:48 +Sat, 10 Sep 2011 19:15:14 +Sat, 10 Sep 2011 21:56:52 +Tue, 20 Sep 2011 17:39:37 +Wed, 21 Sep 2011 17:45:00 +Wed, 21 Sep 2011 19:10:13 +Sat, 24 Sep 2011 16:45:41 +Sat, 24 Sep 2011 18:12:34 +Mon, 26 Sep 2011 13:17:26 +Mon, 26 Sep 2011 14:39:13 +Tue, 27 Sep 2011 15:04:42 +Fri, 30 Sep 2011 18:26:49 +Sat, 01 Oct 2011 00:38:11 +Sat, 1 Oct 2011 07:10:27 +Sat, 01 Oct 2011 12:30:16 +Sat, 1 Oct 2011 12:02:25 +Tue, 4 Oct 2011 18:40:43 +Tue, 4 Oct 2011 17:40:59 +Wed, 5 Oct 2011 08:04:24 +Thu, 06 Oct 2011 10:01:32 +Thu, 6 Oct 2011 09:57:37 +Thu, 06 Oct 2011 11:09:24 +Fri, 7 Oct 2011 06:32:32 +Mon, 10 Oct 2011 09:58:01 +Mon, 10 Oct 2011 15:37:39 +Wed, 19 Oct 2011 14:59:38 +Wed, 19 Oct 2011 15:26:09 +Wed, 19 Oct 2011 20:48:52 +Sat, 12 Nov 2011 09:30:33 +Sat, 12 Nov 2011 11:28:03 +Sat, 12 Nov 2011 12:48:00 +Sat, 12 Nov 2011 14:21:21 +Sat, 12 Nov 2011 14:58:07 +Sat, 12 Nov 2011 22:06:21 +Sat, 12 Nov 2011 15:06:45 +Sat, 12 Nov 2011 15:15:04 +Sat, 12 Nov 2011 23:00:56 +Sun, 13 Nov 2011 11:57:49 +Mon, 21 Nov 2011 11:32:31 +Mon, 21 Nov 2011 17:24:22 +Mon, 21 Nov 2011 17:35:14 +Tue, 22 Nov 2011 06:35:23 +Tue, 22 Nov 2011 09:53:48 +Tue, 22 Nov 2011 17:52:01 +Wed, 23 Nov 2011 14:02:33 +Wed, 23 Nov 2011 15:27:59 +Wed, 23 Nov 2011 18:56:51 +Wed, 23 Nov 2011 18:56:51 +Thu, 24 Nov 2011 09:40:03 +Sat, 26 Nov 2011 11:28:36 +Sat, 26 Nov 2011 16:27:46 +Sun, 27 Nov 2011 10:32:32 +Sun, 4 Dec 2011 16:42:51 +Tue, 13 Dec 2011 21:10:04 +Sat, 17 Dec 2011 15:41:30 +Sat, 17 Dec 2011 20:33:00 +Sun, 25 Dec 2011 11:59:34 +Fri, 30 Dec 2011 18:19:16 +Sat, 31 Dec 2011 09:50:11 +Sat, 31 Dec 2011 15:45:35 +Sun, 01 Jan 2012 16:05:08 +Sun, 1 Jan 2012 13:00:52 +Mon, 02 Jan 2012 00:58:28 +Mon, 2 Jan 2012 09:49:04 +Fri, 6 Jan 2012 06:15:10 +Sat, 14 Jan 2012 19:06:27 +Sun, 15 Jan 2012 02:13:55 +Sun, 15 Jan 2012 07:46:44 +Sun, 15 Jan 2012 09:19:22 +Sun, 15 Jan 2012 09:21:17 +Sun, 15 Jan 2012 09:25:30 +Mon, 16 Jan 2012 09:59:40 +Mon, 16 Jan 2012 10:10:19 +Mon, 16 Jan 2012 10:25:13 +Tue, 17 Jan 2012 09:02:09 +Tue, 17 Jan 2012 14:05:05 +Tue, 17 Jan 2012 19:03:22 +Wed, 18 Jan 2012 14:27:54 +Wed, 18 Jan 2012 14:33:13 +Wed, 18 Jan 2012 15:04:11 +Wed, 18 Jan 2012 15:10:46 +Wed, 18 Jan 2012 15:41:22 +Wed, 18 Jan 2012 22:20:49 +Fri, 20 Jan 2012 16:01:53 +Fri, 20 Jan 2012 17:44:22 +Sun, 22 Jan 2012 18:32:36 +Wed, 8 Feb 2012 14:26:38 +Wed, 08 Feb 2012 14:46:47 +Sun, 12 Feb 2012 13:14:52 +Sun, 12 Feb 2012 15:39:21 +Sun, 12 Feb 2012 15:48:25 +Sun, 12 Feb 2012 13:23:22 +Tue, 14 Feb 2012 14:33:56 +14 Feb 2012 16:45:16 +Tue, 14 Feb 2012 14:54:42 +Mon, 20 Feb 2012 17:53:48 +Sun, 19 Feb 2012 11:23:39 +Thu, 23 Feb 2012 09:17:41 +Thu, 23 Feb 2012 22:54:18 +Sat, 25 Feb 2012 15:11:54 +Sun, 26 Feb 2012 09:20:50 +Sat, 25 Feb 2012 11:31:22 +Sat, 25 Feb 2012 11:43:21 +Sat, 25 Feb 2012 15:02:24 +Mon, 27 Feb 2012 15:12:13 +Fri, 02 Mar 2012 12:45:16 +Thu, 15 Mar 2012 13:52:16 +Tue, 3 Apr 2012 16:06:35 +Wed, 4 Apr 2012 16:08:51 +Fri, 6 Apr 2012 05:31:03 +Thu, 05 Apr 2012 22:09:29 +Tue, 3 Apr 2012 18:14:10 +Wed, 4 Apr 2012 10:31:55 +Mon, 2 Apr 2012 15:20:42 +Sun, 15 Apr 2012 08:48:24 +Sun, 15 Apr 2012 20:29:40 +Mon, 16 Apr 2012 12:41:59 +Mon, 16 Apr 2012 12:34:11 +Mon, 16 Apr 2012 16:18:55 +Mon, 16 Apr 2012 12:51:44 +Thu, 19 Apr 2012 22:21:02 +Thu, 19 Apr 2012 10:00:55 +Sat, 21 Apr 2012 20:45:14 +Thu, 26 Apr 2012 12:17:12 +Wed, 25 Apr 2012 10:55:16 +Sun, 29 Apr 2012 13:03:30 +Sun, 29 Apr 2012 15:49:34 +Sun, 29 Apr 2012 16:21:28 +Sun, 29 Apr 2012 15:34:50 +Sun, 29 Apr 2012 16:00:49 +Mon, 30 Apr 2012 19:43:18 +Sun, 29 Apr 2012 22:27:11 +Wed, 2 May 2012 14:41:58 +Thu, 03 May 2012 00:29:29 +Thu, 03 May 2012 00:32:43 +Thu, 3 May 2012 20:44:51 +Fri, 4 May 2012 10:54:58 +Fri, 4 May 2012 22:15:20 +Fri, 04 May 2012 11:11:05 +Mon, 14 May 2012 11:18:21 +Mon, 21 May 2012 14:53:06 +Sat, 26 May 2012 15:26:53 +26 May 2012 13:28:02 +Thu, 31 May 2012 11:36:25 +Sat, 2 Jun 2012 12:19:12 +Sat, 2 Jun 2012 14:21:33 +Fri, 18 May 2012 21:59:59 +Sat, 02 Jun 2012 13:06:51 +Mon, 11 Jun 2012 21:22:31 +Mon, 11 Jun 2012 20:47:57 +Thu, 14 Jun 2012 21:29:26 +Fri, 15 Jun 2012 11:46:04 +Sat, 16 Jun 2012 00:20:47 +Sat, 02 Jun 2012 15:31:46 +Sun, 03 Jun 2012 20:29:14 +Thu, 14 Jun 2012 22:15:29 +Mon, 11 Jun 2012 21:48:03 +Sun, 3 Jun 2012 15:53:10 +Tue, 26 Jun 2012 19:57:08 +Tue, 26 Jun 2012 20:21:28 +Tue, 26 Jun 2012 19:37:01 +Tue, 26 Jun 2012 18:46:50 +Tue, 26 Jun 2012 20:05:24 +Wed, 27 Jun 2012 15:08:05 +Tue, 26 Jun 2012 23:05:39 +Wed, 27 Jun 2012 15:55:00 +Tue, 3 Jul 2012 20:21:20 +Wed, 4 Jul 2012 10:15:13 +Wed, 04 Jul 2012 09:41:45 +Wed, 4 Jul 2012 23:12:06 +Thu, 5 Jul 2012 10:20:35 +Sun, 8 Jul 2012 14:36:19 +Sun, 8 Jul 2012 18:01:38 +Sun, 8 Jul 2012 23:23:35 +Sun, 8 Jul 2012 19:16:59 +Wed, 11 Jul 2012 09:38:15 +Wed, 11 Jul 2012 18:41:03 +Mon, 9 Jul 2012 15:06:43 +Fri, 13 Jul 2012 14:58:36 +Thu, 12 Jul 2012 11:11:06 +Thu, 19 Jul 2012 00:10:22 +Thu, 19 Jul 2012 17:13:39 +Thu, 19 Jul 2012 20:35:08 +Fri, 20 Jul 2012 05:56:01 +Fri, 20 Jul 2012 12:00:38 +Tue, 19 Jun 2012 16:12:06 +Fri, 20 Jul 2012 21:39:56 +Fri, 20 Jul 2012 22:26:37 +Sat, 28 Jul 2012 09:47:06 +Sat, 28 Jul 2012 09:32:27 +Sat, 28 Jul 2012 17:16:39 +Sun, 29 Jul 2012 10:23:36 +Sun, 29 Jul 2012 01:06:24 +Sat, 28 Jul 2012 09:57:09 +Sat, 18 Aug 2012 11:57:55 +Sun, 19 Aug 2012 17:49:17 +Tue, 21 Aug 2012 14:53:43 +Tue, 21 Aug 2012 13:31:14 +Tue, 21 Aug 2012 14:40:02 +Tue, 21 Aug 2012 17:47:33 +Wed, 22 Aug 2012 11:50:35 +Wed, 22 Aug 2012 10:46:55 +Wed, 22 Aug 2012 15:23:40 +Mon, 20 Aug 2012 20:29:16 +Fri, 24 Aug 2012 14:55:27 +Fri, 24 Aug 2012 19:43:11 +Sat, 25 Aug 2012 03:04:21 +Thu, 23 Aug 2012 22:01:03 +Sat, 25 Aug 2012 18:17:01 +Sat, 25 Aug 2012 11:16:18 +Sat, 28 Jul 2012 20:43:59 +Mon, 13 Aug 2012 17:45:55 +Mon, 27 Aug 2012 18:38:57 +Mon, 27 Aug 2012 18:53:33 +Sun, 26 Aug 2012 10:13:37 +Tue, 28 Aug 2012 07:04:55 +Tue, 28 Aug 2012 00:49:21 +Tue, 28 Aug 2012 00:53:23 +Tue, 28 Aug 2012 10:43:59 +Sun, 26 Aug 2012 22:27:10 +Fri, 31 Aug 2012 20:09:40 +Wed, 5 Sep 2012 11:16:37 +Mon, 03 Sep 2012 19:28:30 +Wed, 05 Sep 2012 11:59:35 +Wed, 5 Sep 2012 20:54:41 +Thu, 13 Sep 2012 19:46:14 +Thu, 13 Sep 2012 20:14:48 +Sat, 15 Sep 2012 13:36:51 +Mon, 20 Aug 2012 18:13:02 +Wed, 19 Sep 2012 15:10:47 +Wed, 19 Sep 2012 15:13:00 +Wed, 19 Sep 2012 15:23:00 +Wed, 19 Sep 2012 15:24:26 +Thu, 27 Sep 2012 09:50:27 +Wed, 26 Sep 2012 19:30:19 +Sat, 29 Sep 2012 20:05:10 +Sat, 29 Sep 2012 19:54:12 +Tue, 2 Oct 2012 13:29:33 +Tue, 2 Oct 2012 16:56:54 +Tue, 02 Oct 2012 13:36:47 +Tue, 02 Oct 2012 12:44:00 +Sun, 30 Sep 2012 10:54:27 +Sat, 6 Oct 2012 17:47:09 +Sat, 6 Oct 2012 19:35:12 +Sun, 7 Oct 2012 11:18:59 +Sat, 06 Oct 2012 21:16:07 +Tue, 9 Oct 2012 19:16:49 +Wed, 10 Oct 2012 10:13:44 +Wed, 10 Oct 2012 10:57:44 +Tue, 09 Oct 2012 21:50:54 +Wed, 10 Oct 2012 20:42:09 +Sat, 13 Oct 2012 09:37:07 +Sat, 13 Oct 2012 04:59:44 +Sat, 13 Oct 2012 09:53:43 +Sat, 13 Oct 2012 13:53:03 +Sat, 13 Oct 2012 17:37:13 +Sun, 14 Oct 2012 09:39:57 +Sun, 14 Oct 2012 00:32:08 +Sun, 14 Oct 2012 14:06:56 +Sun, 14 Oct 2012 14:17:18 +Sun, 14 Oct 2012 13:30:26 +Tue, 23 Oct 2012 16:55:52 +Wed, 24 Oct 2012 11:38:31 +Thu, 25 Oct 2012 10:46:39 +Thu, 25 Oct 2012 10:36:24 +Thu, 25 Oct 2012 10:57:51 +Thu, 25 Oct 2012 11:02:32 +Thu, 25 Oct 2012 21:14:35 +Wed, 24 Oct 2012 10:45:53 +Tue, 30 Oct 2012 14:50:49 +Tue, 30 Oct 2012 14:53:52 +Tue, 30 Oct 2012 15:01:50 +Wed, 31 Oct 2012 16:38:33 +Wed, 31 Oct 2012 16:52:42 +Wed, 31 Oct 2012 17:13:02 +Wed, 31 Oct 2012 16:42:19 +Wed, 31 Oct 2012 17:03:28 +Wed, 31 Oct 2012 17:38:36 +Wed, 31 Oct 2012 17:17:37 +Thu, 1 Nov 2012 17:17:16 +Sun, 11 Nov 2012 16:07:09 +Sun, 21 Oct 2012 10:54:17 +Fri, 23 Nov 2012 15:48:25 +Sat, 24 Nov 2012 06:16:16 +Sun, 25 Nov 2012 18:19:28 +Sat, 24 Nov 2012 20:41:15 +Fri, 23 Nov 2012 11:41:21 +Mon, 05 Nov 2012 12:54:37 +Tue, 4 Dec 2012 17:41:08 +Wed, 5 Dec 2012 07:33:20 +Tue, 04 Dec 2012 22:42:18 +Wed, 5 Dec 2012 09:34:06 +Tue, 04 Dec 2012 19:58:46 +Wed, 5 Dec 2012 09:40:50 +Wed, 5 Dec 2012 10:52:58 +Wed, 05 Dec 2012 11:55:43 +Wed, 5 Dec 2012 11:27:37 +Wed, 5 Dec 2012 11:49:37 +Wed, 05 Dec 2012 13:05:46 +Wed, 05 Dec 2012 13:32:21 +Wed, 05 Dec 2012 13:54:52 +Sat, 15 Dec 2012 19:36:11 +Mon, 17 Dec 2012 11:44:15 +Sat, 15 Dec 2012 16:36:37 +Sun, 16 Dec 2012 23:18:38 +Tue, 18 Dec 2012 11:41:11 +Sat, 22 Dec 2012 08:08:01 +Fri, 21 Dec 2012 22:44:08 +Fri, 28 Dec 2012 14:38:42 +Mon, 31 Dec 2012 17:28:04 +Sun, 23 Dec 2012 09:36:36 +Mon, 31 Dec 2012 10:00:39 +Tue, 1 Jan 2013 18:48:22 +Tue, 01 Jan 2013 12:57:16 +Fri, 4 Jan 2013 19:05:30 +Sat, 5 Jan 2013 11:12:10 +Fri, 04 Jan 2013 21:24:44 +Sun, 6 Jan 2013 16:47:03 +Mon, 7 Jan 2013 12:38:56 +Mon, 07 Jan 2013 08:30:24 +Sun, 06 Jan 2013 19:16:27 +Tue, 8 Jan 2013 17:18:20 +Tue, 8 Jan 2013 18:09:50 +Wed, 9 Jan 2013 08:41:19 +Tue, 8 Jan 2013 19:19:06 +Wed, 9 Jan 2013 11:21:46 +Sat, 12 Jan 2013 10:09:46 +Fri, 11 Jan 2013 23:25:30 +Tue, 01 Jan 2013 19:53:04 +Sun, 13 Jan 2013 11:45:20 +Sat, 12 Jan 2013 11:33:41 +Sun, 13 Jan 2013 21:30:58 +Sun, 13 Jan 2013 19:57:48 +Sun, 06 Jan 2013 18:48:10 +Sun, 06 Jan 2013 19:06:48 +Mon, 14 Jan 2013 17:41:34 +Tue, 08 Jan 2013 11:22:41 +Wed, 16 Jan 2013 14:33:22 +Sun, 6 Jan 2013 16:06:02 +Thu, 24 Jan 2013 18:55:42 +Sun, 27 Jan 2013 20:12:24 +Thu, 17 Jan 2013 21:53:23 +Sat, 2 Feb 2013 15:24:35 +Sat, 2 Feb 2013 16:29:18 +Sun, 3 Feb 2013 11:09:28 +Sun, 3 Feb 2013 17:49:33 +Tue, 5 Feb 2013 12:56:15 +Tue, 5 Feb 2013 11:11:46 +Mon, 04 Feb 2013 06:11:06 +Sat, 9 Feb 2013 16:34:21 +Mon, 04 Feb 2013 22:38:38 +Thu, 21 Feb 2013 06:12:24 +Wed, 20 Feb 2013 20:04:06 +Sat, 23 Feb 2013 16:49:54 +Sun, 24 Feb 2013 09:02:02 +Sat, 23 Feb 2013 20:06:55 +Thu, 21 Feb 2013 11:39:45 +Mon, 4 Mar 2013 16:58:59 +Tue, 5 Mar 2013 06:53:32 +Mon, 04 Mar 2013 23:10:20 +Wed, 6 Mar 2013 07:22:27 +Tue, 05 Mar 2013 22:16:55 +Sat, 16 Mar 2013 13:32:56 +Sat, 16 Mar 2013 15:52:27 +Mon, 18 Mar 2013 18:49:16 +Sun, 17 Mar 2013 11:00:49 +Sat, 23 Mar 2013 11:50:29 +Mon, 18 Mar 2013 22:25:37 +Sat, 23 Mar 2013 13:20:37 +Sat, 23 Mar 2013 12:37:44 +Sun, 7 Apr 2013 12:45:30 +Sun, 7 Apr 2013 18:40:04 +Sun, 07 Apr 2013 19:02:23 +Mon, 8 Apr 2013 00:05:38 +Tue, 9 Apr 2013 12:51:45 +Sat, 13 Apr 2013 08:13:15 +Sat, 13 Apr 2013 13:15:46 +Fri, 10 May 2013 20:29:31 +Fri, 10 May 2013 12:47:11 +Fri, 17 May 2013 14:26:50 +Thu, 16 May 2013 23:18:18 +Fri, 17 May 2013 14:40:25 +Tue, 14 May 2013 17:16:31 +Mon, 20 May 2013 14:35:11 +Sat, 18 May 2013 07:45:23 +Tue, 28 May 2013 18:15:22 +Mon, 3 Jun 2013 20:32:06 +Mon, 3 Jun 2013 22:22:13 +Tue, 4 Jun 2013 18:03:27 +Sun, 9 Jun 2013 09:04:43 +Mon, 10 Jun 2013 17:31:16 +Fri, 14 Jun 2013 15:15:17 +Tue, 11 Jun 2013 12:35:56 +Wed, 12 Jun 2013 15:27:57 +Fri, 21 Jun 2013 15:47:03 +Wed, 19 Jun 2013 23:30:34 +Fri, 21 Jun 2013 16:03:37 +Sun, 23 Jun 2013 09:46:10 +Sun, 23 Jun 2013 13:19:02 +Sun, 23 Jun 2013 14:39:15 +Sun, 23 Jun 2013 11:06:11 +Sun, 23 Jun 2013 14:05:53 +Sun, 23 Jun 2013 15:00:35 +Sun, 23 Jun 2013 18:44:02 +Sun, 23 Jun 2013 18:25:22 +Tue, 2 Jul 2013 08:19:50 +Mon, 01 Jul 2013 21:23:57 +Sun, 23 Jun 2013 15:00:56 +Sun, 14 Jul 2013 12:09:45 +Mon, 22 Jul 2013 15:17:34 +Sun, 28 Jul 2013 16:00:11 +Fri, 16 Aug 2013 18:55:16 +Tue, 27 Aug 2013 15:58:03 +Mon, 26 Aug 2013 18:46:56 +Fri, 30 Aug 2013 12:23:57 +Thu, 25 Jul 2013 17:50:13 +Tue, 30 Jul 2013 03:04:19 +Fri, 30 Aug 2013 15:44:46 +Fri, 30 Aug 2013 16:12:03 +Fri, 30 Aug 2013 16:44:16 +Fri, 30 Aug 2013 15:47:51 +Fri, 30 Aug 2013 16:16:52 +Fri, 30 Aug 2013 18:13:01 +Sat, 17 Aug 2013 13:01:15 +Tue, 27 Aug 2013 16:44:36 +Thu, 5 Sep 2013 18:35:27 +Thu, 5 Sep 2013 18:40:18 +Tue, 10 Sep 2013 16:59:05 +Wed, 11 Sep 2013 00:51:17 +Wed, 11 Sep 2013 11:08:39 +Thu, 12 Sep 2013 15:23:42 +Thu, 12 Sep 2013 12:49:57 +Fri, 13 Sep 2013 15:34:56 +Fri, 13 Sep 2013 15:51:44 +Sat, 14 Sep 2013 08:24:20 +Fri, 13 Sep 2013 08:00:04 +Sat, 14 Sep 2013 09:11:53 +Thu, 12 Sep 2013 16:04:14 +Sat, 14 Sep 2013 09:37:35 +Sat, 14 Sep 2013 09:40:11 +Sat, 14 Sep 2013 10:19:17 +Sat, 14 Sep 2013 15:55:32 +Sat, 14 Sep 2013 22:31:42 +Sat, 14 Sep 2013 20:19:23 +Sun, 15 Sep 2013 08:40:06 +Sat, 14 Sep 2013 17:53:47 +Sun, 15 Sep 2013 14:13:10 +Sun, 15 Sep 2013 10:07:09 +Sat, 14 Sep 2013 11:25:55 +Sun, 15 Sep 2013 10:43:02 +Sun, 15 Sep 2013 13:10:29 +Sun, 15 Sep 2013 13:27:09 +Sun, 15 Sep 2013 18:58:34 +Mon, 16 Sep 2013 10:00:55 +Mon, 16 Sep 2013 09:33:04 +Mon, 16 Sep 2013 11:06:59 +Mon, 16 Sep 2013 10:36:50 +Sun, 15 Sep 2013 19:29:58 +Mon, 16 Sep 2013 11:34:49 +Mon, 16 Sep 2013 11:38:14 +Mon, 16 Sep 2013 11:56:55 +Mon, 16 Sep 2013 11:57:56 +Mon, 16 Sep 2013 17:23:53 +Mon, 16 Sep 2013 18:03:25 +Mon, 16 Sep 2013 18:16:15 +Mon, 16 Sep 2013 14:20:46 +Tue, 17 Sep 2013 10:08:25 +Tue, 17 Sep 2013 11:59:27 +17 Sep 2013 18:03:53 +Mon, 16 Sep 2013 21:36:58 +Thu, 19 Sep 2013 12:30:38 +Wed, 18 Sep 2013 21:03:04 +Thu, 19 Sep 2013 17:28:25 +Fri, 20 Sep 2013 14:45:51 +Sat, 21 Sep 2013 10:45:03 +Sat, 21 Sep 2013 12:16:13 +Fri, 20 Sep 2013 19:33:29 +Sun, 22 Sep 2013 07:51:52 +Sun, 22 Sep 2013 02:13:49 +Mon, 23 Sep 2013 10:21:17 +Mon, 23 Sep 2013 17:57:34 +Mon, 23 Sep 2013 10:33:01 +Mon, 23 Sep 2013 11:23:42 +Mon, 23 Sep 2013 18:37:09 +Tue, 24 Sep 2013 14:33:10 +Sun, 22 Sep 2013 16:39:48 +Tue, 24 Sep 2013 18:20:14 +Mon, 23 Sep 2013 18:34:29 +Wed, 25 Sep 2013 11:32:15 +Tue, 24 Sep 2013 23:49:32 +Tue, 24 Sep 2013 14:17:33 +Sun, 29 Sep 2013 12:27:11 +Fri, 27 Sep 2013 23:07:58 +Sun, 29 Sep 2013 12:35:10 +Tue, 01 Oct 2013 14:07:30 +Mon, 30 Sep 2013 14:13:55 +Tue, 01 Oct 2013 17:45:48 +Wed, 2 Oct 2013 14:15:50 +Thu, 3 Oct 2013 11:28:19 +Fri, 4 Oct 2013 12:07:26 +Thu, 3 Oct 2013 08:30:01 +Wed, 9 Oct 2013 20:32:55 +Thu, 10 Oct 2013 09:35:49 +Fri, 11 Oct 2013 12:55:41 +Fri, 04 Oct 2013 23:01:49 +Tue, 15 Oct 2013 16:14:56 +Mon, 21 Oct 2013 18:42:20 +Tue, 22 Oct 2013 08:38:48 +Tue, 22 Oct 2013 02:52:57 +Wed, 23 Oct 2013 17:59:56 +Fri, 25 Oct 2013 14:25:52 +Fri, 25 Oct 2013 17:51:01 +Tue, 15 Oct 2013 17:35:54 +Fri, 25 Oct 2013 19:14:08 +Fri, 25 Oct 2013 21:22:58 +Fri, 25 Oct 2013 18:25:58 +Mon, 28 Oct 2013 19:16:59 +Mon, 28 Oct 2013 19:06:10 +Tue, 29 Oct 2013 06:38:50 +Mon, 28 Oct 2013 21:41:51 +Thu, 31 Oct 2013 18:08:26 +Thu, 31 Oct 2013 19:04:00 +Mon, 7 Oct 2013 17:48:04 +Wed, 02 Oct 2013 14:59:47 +Tue, 5 Nov 2013 15:11:25 +Fri, 01 Nov 2013 21:58:24 +Fri, 01 Nov 2013 22:46:01 +Mon, 18 Nov 2013 15:07:57 +Thu, 21 Nov 2013 16:43:57 +Sun, 24 Nov 2013 17:59:25 +Sun, 24 Nov 2013 12:59:51 +Fri, 14 Jun 2013 23:16:02 +Wed, 11 Sep 2013 16:09:15 +Tue, 3 Dec 2013 16:53:05 +Sun, 17 Nov 2013 19:48:56 +Tue, 3 Dec 2013 17:11:59 +Tue, 3 Dec 2013 20:19:51 +Tue, 03 Dec 2013 17:02:26 +Tue, 03 Dec 2013 19:18:06 +Wed, 4 Dec 2013 09:27:44 +Wed, 4 Dec 2013 16:34:39 +Tue, 03 Dec 2013 22:14:39 +Wed, 4 Dec 2013 18:14:20 +Mon, 18 Nov 2013 14:38:55 +Wed, 11 Dec 2013 17:17:07 +Mon, 16 Dec 2013 14:28:49 +Mon, 16 Dec 2013 11:33:01 +Mon, 16 Dec 2013 13:37:14 +Wed, 04 Dec 2013 22:19:28 +Fri, 20 Dec 2013 13:16:27 +9 Jan 2014 13:40:22 +Tue, 07 Jan 2014 16:48:54 +9 Jan 2014 21:05:45 +Mon, 9 Dec 2013 10:26:33 +Mon, 13 Jan 2014 19:09:19 +Mon, 13 Jan 2014 12:35:49 +Mon, 20 Jan 2014 20:27:51 +Tue, 21 Jan 2014 18:20:40 +Tue, 21 Jan 2014 18:29:28 +Tue, 21 Jan 2014 20:21:28 +Wed, 22 Jan 2014 15:29:44 +Thu, 23 Jan 2014 21:44:18 +Mon, 27 Jan 2014 16:26:06 +Mon, 3 Feb 2014 08:51:55 +Tue, 4 Feb 2014 16:33:52 +Tue, 04 Feb 2014 17:35:39 +Tue, 4 Feb 2014 16:38:30 +Sun, 9 Feb 2014 15:58:59 +Thu, 13 Feb 2014 18:46:26 +Tue, 18 Feb 2014 18:28:19 +Thu, 20 Feb 2014 18:31:10 +Wed, 19 Feb 2014 10:23:50 +Tue, 25 Feb 2014 11:22:47 +Tue, 25 Feb 2014 20:09:37 +Sat, 1 Mar 2014 08:59:19 +Sat, 1 Mar 2014 09:00:29 +Sat, 22 Feb 2014 10:47:16 +Sat, 1 Mar 2014 13:20:25 +Wed, 5 Mar 2014 17:41:55 +Tue, 04 Mar 2014 10:35:29 +Sun, 02 Mar 2014 20:13:57 +Mon, 13 Jan 2014 23:54:34 +Fri, 7 Mar 2014 22:28:31 +Sat, 15 Mar 2014 14:39:47 +Fri, 14 Mar 2014 21:25:46 +Sun, 16 Mar 2014 17:07:10 +Sat, 15 Mar 2014 18:13:21 +Tue, 18 Mar 2014 19:28:26 +Thu, 20 Mar 2014 17:19:12 +Sun, 23 Mar 2014 20:50:33 +Mon, 24 Mar 2014 12:38:20 +Mon, 24 Mar 2014 12:44:39 +Mon, 24 Mar 2014 11:35:31 +Mon, 24 Mar 2014 11:37:19 +Tue, 25 Mar 2014 02:52:35 +Mon, 24 Mar 2014 17:20:04 +Mon, 24 Mar 2014 11:13:34 +Wed, 26 Mar 2014 12:56:43 +Wed, 26 Mar 2014 17:20:48 +Tue, 25 Mar 2014 11:39:14 +Tue, 25 Mar 2014 11:47:41 +Thu, 27 Mar 2014 16:53:44 +Thu, 27 Mar 2014 17:16:42 +Thu, 27 Mar 2014 19:18:34 +Thu, 27 Mar 2014 19:50:36 +Thu, 27 Mar 2014 22:05:30 +Fri, 28 Mar 2014 09:41:53 +Fri, 4 Apr 2014 16:46:34 +Sat, 5 Apr 2014 15:47:36 +Sun, 6 Apr 2014 11:20:27 +Fri, 04 Apr 2014 23:13:53 +Sun, 6 Apr 2014 15:54:53 +Tue, 8 Apr 2014 10:34:12 +Mon, 7 Apr 2014 12:41:00 +Sun, 13 Apr 2014 11:32:27 +Fri, 18 Apr 2014 11:52:36 +Mon, 5 May 2014 20:29:38 +Mon, 5 May 2014 18:00:18 +Wed, 7 May 2014 10:27:29 +Mon, 5 May 2014 20:29:51 +Sat, 10 May 2014 10:24:52 +Sat, 10 May 2014 22:07:57 +Sun, 11 May 2014 10:06:58 +Fri, 18 Apr 2014 23:53:05 +Sat, 10 May 2014 21:15:03 +Sat, 10 May 2014 22:26:19 +Sun, 11 May 2014 20:35:21 +Tue, 13 May 2014 18:07:46 +Tue, 13 May 2014 09:29:40 +Tue, 13 May 2014 18:44:16 +Wed, 14 May 2014 21:22:29 +Thu, 15 May 2014 17:00:10 +Wed, 14 May 2014 23:35:53 +Fri, 16 May 2014 10:23:47 +Thu, 15 May 2014 22:46:00 +Fri, 16 May 2014 10:28:44 +Fri, 11 Apr 2014 11:29:38 +Sat, 17 May 2014 05:46:22 +Fri, 16 May 2014 22:57:53 +Sun, 18 May 2014 17:59:35 +Mon, 19 May 2014 12:19:59 +Tue, 20 May 2014 12:36:20 +Fri, 29 Nov 2013 10:40:47 +Sun, 1 Jun 2014 06:56:22 +Thu, 5 Jun 2014 06:27:04 +Wed, 04 Jun 2014 22:42:32 +Fri, 6 Jun 2014 03:14:12 +Thu, 05 Jun 2014 21:25:22 +Fri, 6 Jun 2014 03:29:13 +Thu, 22 May 2014 22:58:51 +Sat, 31 May 2014 22:25:46 +Sun, 01 Jun 2014 21:29:47 +Mon, 02 Jun 2014 22:20:56 +Mon, 9 Jun 2014 18:05:42 +Wed, 11 Jun 2014 11:44:39 +Sat, 14 Jun 2014 10:15:16 +Fri, 13 Jun 2014 23:22:16 +Thu, 12 Jun 2014 12:11:22 +Fri, 06 Jun 2014 22:15:37 +Thu, 19 Jun 2014 09:12:49 +Thu, 19 Jun 2014 07:47:40 +Tue, 17 Jun 2014 20:24:57 +Tue, 24 Jun 2014 16:59:36 +Tue, 24 Jun 2014 17:58:35 +Tue, 24 Jun 2014 19:48:59 +Tue, 24 Jun 2014 20:46:26 +Tue, 24 Jun 2014 21:56:54 +Tue, 24 Jun 2014 21:00:19 +Wed, 25 Jun 2014 16:34:38 +Wed, 25 Jun 2014 00:26:07 +Sat, 28 Jun 2014 07:40:24 +Fri, 27 Jun 2014 13:40:30 +Sat, 28 Jun 2014 08:05:48 +Thu, 26 Jun 2014 22:52:02 +Sat, 28 Jun 2014 16:43:14 +Thu, 26 Jun 2014 21:31:36 +Thu, 3 Jul 2014 13:31:18 +Tue, 22 Jul 2014 13:38:12 +Tue, 22 Jul 2014 13:26:20 +Tue, 22 Jul 2014 13:45:22 +Mon, 28 Jul 2014 10:05:44 +Mon, 28 Jul 2014 10:09:08 +Mon, 28 Jul 2014 10:24:28 +Thu, 31 Jul 2014 17:58:09 +Fri, 25 Jul 2014 12:49:22 +Mon, 28 Jul 2014 10:13:48 +Wed, 6 Aug 2014 12:45:43 +Wed, 6 Aug 2014 19:55:06 +Sun, 10 Aug 2014 15:11:56 +Sun, 10 Aug 2014 15:14:05 +Thu, 14 Aug 2014 17:11:01 +Mon, 25 Aug 2014 14:45:02 +Mon, 25 Aug 2014 00:22:32 +Wed, 27 Aug 2014 16:17:58 +Mon, 25 Aug 2014 15:22:11 +Wed, 27 Aug 2014 17:39:18 +Sat, 30 Aug 2014 10:53:00 +Wed, 27 Aug 2014 20:17:13 +Tue, 15 Jul 2014 10:56:43 +Sat, 30 Aug 2014 10:54:46 +Tue, 2 Sep 2014 11:56:49 +Fri, 5 Sep 2014 05:05:04 +Sat, 6 Sep 2014 07:02:44 +Sat, 06 Sep 2014 00:28:49 +Sat, 6 Sep 2014 13:22:45 +Sat, 6 Sep 2014 13:28:30 +Thu, 04 Sep 2014 14:47:13 +Fri, 05 Sep 2014 14:58:01 +Sat, 6 Sep 2014 14:36:50 +Sat, 06 Sep 2014 11:20:05 +Sat, 6 Sep 2014 15:17:45 +Sat, 06 Sep 2014 22:14:17 +Sat, 6 Sep 2014 18:00:55 +Sun, 7 Sep 2014 11:37:47 +Sat, 06 Sep 2014 22:50:33 +Sun, 07 Sep 2014 22:48:13 +Sun, 7 Sep 2014 13:08:28 +Sun, 7 Sep 2014 14:20:59 +Fri, 5 Sep 2014 22:34:33 +Sun, 7 Sep 2014 21:59:46 +Mon, 8 Sep 2014 10:14:46 +Mon, 8 Sep 2014 10:24:01 +Mon, 8 Sep 2014 10:27:19 +Mon, 8 Sep 2014 10:27:55 +Mon, 8 Sep 2014 10:42:45 +Mon, 08 Sep 2014 10:11:11 +Mon, 08 Sep 2014 10:18:03 +Mon, 08 Sep 2014 10:31:44 +Tue, 2 Sep 2014 12:44:33 +Tue, 9 Sep 2014 15:30:30 +Wed, 10 Sep 2014 01:21:52 +Wed, 10 Sep 2014 01:38:32 +Tue, 9 Sep 2014 18:52:51 +Wed, 10 Sep 2014 05:02:51 +Tue, 09 Sep 2014 22:33:33 +Mon, 8 Sep 2014 19:06:33 +Wed, 10 Sep 2014 18:26:40 +Wed, 10 Sep 2014 18:57:46 +Thu, 11 Sep 2014 04:51:54 +Wed, 10 Sep 2014 20:08:32 +Thu, 11 Sep 2014 05:02:27 +Thu, 11 Sep 2014 12:39:59 +Thu, 11 Sep 2014 15:10:52 +Thu, 11 Sep 2014 14:19:19 +Thu, 11 Sep 2014 14:53:43 +Sat, 13 Sep 2014 09:20:09 +Sat, 13 Sep 2014 07:32:21 +Sat, 13 Sep 2014 09:47:31 +Sat, 13 Sep 2014 08:39:38 +Sat, 13 Sep 2014 10:52:41 +Sat, 13 Sep 2014 12:30:07 +Mon, 15 Sep 2014 14:42:37 +Mon, 15 Sep 2014 14:10:30 +Tue, 16 Sep 2014 11:08:22 +Mon, 15 Sep 2014 21:51:03 +Wed, 17 Sep 2014 15:48:02 +Tue, 16 Sep 2014 11:12:08 +Sun, 21 Sep 2014 18:59:42 +Sun, 21 Sep 2014 11:09:49 +Sun, 21 Sep 2014 14:17:03 +Sun, 21 Sep 2014 13:21:52 +Sun, 21 Sep 2014 22:15:38 +Mon, 6 Oct 2014 15:31:46 +Sun, 28 Sep 2014 09:11:41 +Mon, 06 Oct 2014 19:16:03 +Sun, 19 Oct 2014 16:45:34 +Wed, 22 Oct 2014 18:25:10 +Fri, 24 Oct 2014 06:42:54 +Sat, 25 Oct 2014 13:43:58 +Sun, 19 Oct 2014 19:04:14 +Sat, 8 Nov 2014 11:49:36 +Sat, 8 Nov 2014 12:03:37 +Sat, 8 Nov 2014 12:59:20 +Sun, 9 Nov 2014 11:17:10 +Sat, 08 Nov 2014 13:53:16 +Sat, 08 Nov 2014 14:34:29 +Sat, 08 Nov 2014 15:07:37 +Sat, 08 Nov 2014 22:19:35 +Sat, 8 Nov 2014 12:05:10 +Wed, 12 Nov 2014 16:02:43 +Tue, 11 Nov 2014 23:27:30 +Sun, 23 Nov 2014 12:41:05 +Thu, 27 Nov 2014 15:53:17 +Thu, 27 Nov 2014 19:10:53 +Fri, 28 Nov 2014 17:18:12 +Sun, 23 Nov 2014 21:07:28 +Fri, 28 Nov 2014 13:03:26 +Wed, 24 Dec 2014 12:20:54 +Wed, 31 Dec 2014 12:14:24 +Wed, 31 Dec 2014 13:21:23 +Thu, 01 Jan 2015 10:54:32 +Sat, 03 Jan 2015 18:20:19 +Wed, 24 Dec 2014 22:26:37 +Tue, 13 Jan 2015 18:38:57 +Tue, 13 Jan 2015 22:27:55 +Tue, 13 Jan 2015 21:52:25 +Tue, 13 Jan 2015 22:30:57 +Tue, 20 Jan 2015 15:03:29 +Fri, 23 Jan 2015 03:37:40 +Thu, 29 Jan 2015 17:24:25 +Fri, 30 Jan 2015 09:09:42 +Sat, 31 Jan 2015 18:57:59 +Sun, 1 Feb 2015 10:34:49 +Sun, 8 Feb 2015 09:40:25 +Sun, 08 Feb 2015 08:48:39 +Sun, 08 Feb 2015 09:42:52 +Tue, 10 Feb 2015 15:30:00 +Tue, 10 Feb 2015 16:47:57 +Tue, 10 Feb 2015 16:20:31 +Tue, 10 Feb 2015 15:43:23 +Wed, 11 Feb 2015 08:35:45 +Tue, 10 Feb 2015 20:01:44 +Tue, 10 Feb 2015 16:56:53 +Tue, 10 Feb 2015 16:01:40 +Tue, 10 Feb 2015 15:53:55 +Fri, 13 Feb 2015 08:57:37 +Fri, 13 Feb 2015 14:48:42 +Fri, 13 Feb 2015 09:50:46 +Sat, 14 Feb 2015 08:23:53 +Sat, 14 Feb 2015 13:58:41 +Sat, 14 Feb 2015 14:18:11 +Mon, 16 Feb 2015 07:59:22 +Sun, 15 Feb 2015 22:09:39 diff --git a/internal/benchmarks/dm5dm6_ex3 b/internal/benchmarks/dm5dm6_ex3 new file mode 100755 index 0000000..307d5bd --- /dev/null +++ b/internal/benchmarks/dm5dm6_ex3 @@ -0,0 +1,50 @@ +#!/usr/bin/perl + +# Usage: dm5dm6 VERS FILE +# VERS = 5, 6, 6o +# FILE = file containing a list of dates + +use warnings; +use strict; + +use Time::HiRes qw / gettimeofday tv_interval /; + +my ($vers,$file) = @ARGV; + +my @dates = `cat $file`; +chomp(@dates); + +my $obj; +if ($vers eq '5') { + require Date::Manip::DM5; + Date::Manip::DM5->import(qw(ParseDate)); +} elsif ($vers eq '6') { + require Date::Manip::DM6; + Date::Manip::DM6->import(qw(ParseDate)); +} elsif ($vers eq '6o') { + require Date::Manip::Date; + $obj = new Date::Manip::Date; +} else { + die "ERROR: invalid version\n"; +} + +my $t0 = [gettimeofday()]; + +if ($vers eq '5' || $vers eq '6') { + foreach my $date (@dates) { + ParseDate($date); + } +} elsif ($vers eq '6o') { + foreach my $date (@dates) { + $obj->parse($date); + } +} + +my $t1 = [gettimeofday()]; +my $et = tv_interval($t0, $t1)*1000; + +printf(STDOUT "Elapsed: %6.3f\n",$et); + +# 5 6 6o +# dateset3.txt 857.250 2246.340 2090.676 +# _notz 683.084 462.898 431.781 diff --git a/internal/benchmarks/parse-1.date_parse.pl b/internal/benchmarks/parse-1.date_parse.pl new file mode 100755 index 0000000..18d6a6a --- /dev/null +++ b/internal/benchmarks/parse-1.date_parse.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use Date::Parse; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + @date = strptime($in); + $date[5] += 1900; +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.date_time.pl b/internal/benchmarks/parse-1.date_time.pl new file mode 100755 index 0000000..fb978f6 --- /dev/null +++ b/internal/benchmarks/parse-1.date_time.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl + +use DateTime::Format::DateParse; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + $dt = DateTime::Format::DateParse->parse_datetime( $date ); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.dm5.pl b/internal/benchmarks/parse-1.dm5.pl new file mode 100755 index 0000000..a454a7c --- /dev/null +++ b/internal/benchmarks/parse-1.dm5.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +BEGIN { + $Date::Manip::Backend = 'DM5'; +} +use Date::Manip; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + ParseDateString($in); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.dm6.pl b/internal/benchmarks/parse-1.dm6.pl new file mode 100755 index 0000000..b709b3a --- /dev/null +++ b/internal/benchmarks/parse-1.dm6.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use Date::Manip::Date; +$date = new Date::Manip::Date; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + $date->parse($in); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.dm6_format.pl b/internal/benchmarks/parse-1.dm6_format.pl new file mode 100755 index 0000000..87cedab --- /dev/null +++ b/internal/benchmarks/parse-1.dm6_format.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use Date::Manip::Date; +$date = new Date::Manip::Date; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + $date->parse_format('%b %e, %Y %T',$in); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.dm6_opts.pl b/internal/benchmarks/parse-1.dm6_opts.pl new file mode 100755 index 0000000..b62cec9 --- /dev/null +++ b/internal/benchmarks/parse-1.dm6_opts.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl + +use Date::Manip::Date; +$date = new Date::Manip::Date; + +@in = `cat parse-1.in`; +chomp(@in); + +foreach $in (@in) { + $date->parse($in,"noiso8601","nospecial","nodelta","nodow","noother"); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.in.pl b/internal/benchmarks/parse-1.in.pl new file mode 100755 index 0000000..a56b5e7 --- /dev/null +++ b/internal/benchmarks/parse-1.in.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl + +use Date::Manip::Base; +$dmb = new Date::Manip::Base; + +%m = qw(1 January + 2 February + 3 March + 4 APRIL + 5 MAY + 6 JUNE + 7 Jul + 8 Aug + 9 Sep + 10 oct + 11 nov + 12 dec); + +$h = 0; +$mn = 0; +$s = "00"; + +foreach $y (1970..2000) { + foreach $m (1..12) { + $mmm = $m{$m}; + $m = "0$m" if ($m<10); + foreach $d (15..$dmb->days_in_month($y,$m)) { + $h = "0$h" if (length($h)<2); + $mn = "0$mn" if (length($mn)<2); + + print "$y$m$d$h$mn$s\n"; + print "$y-$m-$d-$h:$mn:$s\n"; + print "$y-$m-${d}T$h:$mn:$s\n"; + print "$mmm $d, $y $h:$mn:$s\n"; + print "$m/$d/$y $h:$mn:$s\n"; + + $h += 1; + $h = 0 if ($h > 23); + $mn += 5; + $mn = 0 if ($mn > 59); + } + } +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/benchmarks/parse-1.sh b/internal/benchmarks/parse-1.sh new file mode 100755 index 0000000..be6adcd --- /dev/null +++ b/internal/benchmarks/parse-1.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +./parse-1.in.pl > parse-1.in + +time ./parse-1.dm.pl +time ./parse-1.dt.pl + +rm -f parse-1.in diff --git a/internal/build.yaml b/internal/build.yaml new file mode 100644 index 0000000..794790c --- /dev/null +++ b/internal/build.yaml @@ -0,0 +1,8 @@ +--- +condrequires: + 'Win32::TieRegistry': + - [ '$IsWin32 && $Pvers >= 5.020', '0.28' ] + - [ '$IsWin32', '0' ] +make: 6.67_01 +pvers: 5.006 +git: 1 diff --git a/internal/data.abbrev.pl b/internal/data.abbrev.pl new file mode 100644 index 0000000..e79e70a --- /dev/null +++ b/internal/data.abbrev.pl @@ -0,0 +1,191 @@ +#!/usr/bin/perl -w +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +%def_abbrev = + ( + 'A' => 'A', + 'ACDT' => 'Australia/Adelaide', + 'ACST' => 'Australia/Adelaide', + 'ADDT' => 'America/Goose_Bay', + 'ADT' => 'America/Halifax', + 'AEDT' => [ 'Australia/Melbourne' => 'Australia/Currie' ], + 'AEST' => [ 'Australia/Melbourne' => 'Australia/Brisbane' ], + 'AHDT' => 'America/Anchorage', + 'AHST' => 'America/Anchorage', + 'AKDT' => 'America/Anchorage', + 'AKST' => 'America/Anchorage', + 'AMT' => 'Europe/Amsterdam', + 'APT' => [ 'America/Halifax' => 'America/Anchorage' ], + 'AST' => 'America/Blanc-Sablon', + 'AWDT' => 'Australia/Perth', + 'AWST' => 'Australia/Perth', + 'AWT' => [ 'America/Halifax' => 'America/Anchorage' ], + 'B' => 'B', + 'BDST' => 'Europe/Gibraltar', + 'BDT' => 'America/Adak', + 'BMT' => 'America/Barbados', + 'BOST' => 'America/La_Paz', + 'BST' => 'Europe/London', + 'C' => 'C', + 'CAST' => 'Africa/Khartoum', + 'CAT' => 'Africa/Maputo', + 'CDDT' => 'America/Rankin_Inlet', + 'CDT' => [ 'America/Chicago' => 'America/Winnipeg' ], + 'CEMT' => 'Europe/Berlin', + 'CEST' => 'CET', + 'CET' => 'CET', + 'CMT' => 'America/La_Paz', + 'CPT' => [ 'America/Chicago' => 'America/Atikokan' ], + 'CST' => 'America/Chicago', + 'CWT' => [ 'America/Chicago' => 'America/Atikokan' ], + 'ChST' => 'Pacific/Guam', + 'D' => 'D', + 'DMT' => 'Europe/Dublin', + 'E' => 'E', + 'EAT' => 'Africa/Nairobi', + 'EDDT' => 'America/Iqaluit', + 'EDT' => 'America/New_York', + 'EEST' => 'EET', + 'EET' => 'EET', + 'EMT' => 'Pacific/Easter', + 'EPT' => [ 'America/New_York' => 'America/Detroit' ], + 'EST' => 'America/New_York', + 'EWT' => [ 'America/New_York' => 'America/Detroit' ], + 'F' => 'F', + 'FFMT' => 'America/Martinique', + 'FMT' => 'Atlantic/Madeira', + 'G' => 'G', + 'GMT' => [ 'Etc/GMT' => 'Europe/London' ], + 'GMT+1' => 'Etc/GMT+1', + 'GMT+10' => 'Etc/GMT+10', + 'GMT+11' => 'Etc/GMT+11', + 'GMT+12' => 'Etc/GMT+12', + 'GMT+2' => 'Etc/GMT+2', + 'GMT+3' => 'Etc/GMT+3', + 'GMT+4' => 'Etc/GMT+4', + 'GMT+5' => 'Etc/GMT+5', + 'GMT+6' => 'Etc/GMT+6', + 'GMT+7' => 'Etc/GMT+7', + 'GMT+8' => 'Etc/GMT+8', + 'GMT+9' => 'Etc/GMT+9', + 'GMT-1' => 'Etc/GMT-1', + 'GMT-10' => 'Etc/GMT-10', + 'GMT-11' => 'Etc/GMT-11', + 'GMT-12' => 'Etc/GMT-12', + 'GMT-13' => 'Etc/GMT-13', + 'GMT-14' => 'Etc/GMT-14', + 'GMT-2' => 'Etc/GMT-2', + 'GMT-3' => 'Etc/GMT-3', + 'GMT-4' => 'Etc/GMT-4', + 'GMT-5' => 'Etc/GMT-5', + 'GMT-6' => 'Etc/GMT-6', + 'GMT-7' => 'Etc/GMT-7', + 'GMT-8' => 'Etc/GMT-8', + 'GMT-9' => 'Etc/GMT-9', + 'GST' => 'Pacific/Guam', + 'H' => 'H', + 'HDT' => 'America/Adak', + 'HKST' => 'Asia/Hong_Kong', + 'HKT' => 'Asia/Hong_Kong', + 'HMT' => 'Asia/Kolkata', + 'HST' => 'Pacific/Honolulu', + 'I' => 'I', + 'IDDT' => 'Asia/Jerusalem', + 'IDT' => 'Asia/Jerusalem', + 'IMT' => 'Asia/Irkutsk', + 'IST' => 'Europe/Dublin', + 'JDT' => 'Asia/Tokyo', + 'JMT' => 'Asia/Jerusalem', + 'JST' => 'Asia/Tokyo', + 'K' => 'K', + 'KDT' => 'Asia/Seoul', + 'KMT' => 'Europe/Kiev', + 'KST' => [ 'Asia/Seoul' => 'Asia/Pyongyang' ], + 'L' => 'L', + 'LST' => 'Europe/Riga', + 'M' => 'M', + 'MDDT' => 'America/Cambridge_Bay', + 'MDST' => 'Europe/Moscow', + 'MDT' => 'America/Denver', + 'MEST' => 'MET', + 'MET' => 'MET', + 'MMT' => 'Africa/Monrovia', + 'MPT' => [ 'America/Denver' => 'America/Boise' ], + 'MSD' => 'Europe/Moscow', + 'MSK' => 'Europe/Moscow', + 'MST' => 'America/Denver', + 'MWT' => [ 'America/Denver' => 'America/Boise' ], + 'N' => 'N', + 'NDDT' => 'America/St_Johns', + 'NDT' => 'America/St_Johns', + 'NPT' => 'America/Adak', + 'NST' => 'America/St_Johns', + 'NWT' => [ 'America/St_Johns' => 'America/Adak' ], + 'NZDT' => 'Pacific/Auckland', + 'NZMT' => 'Pacific/Auckland', + 'NZST' => 'Pacific/Auckland', + 'O' => 'O', + 'P' => 'P', + 'PDDT' => 'America/Inuvik', + 'PDT' => 'America/Los_Angeles', + 'PKST' => 'Asia/Karachi', + 'PKT' => 'Asia/Karachi', + 'PLMT' => 'Asia/Ho_Chi_Minh', + 'PMMT' => [ 'Pacific/Port_Moresby' => 'Pacific/Bougainville' ], + 'PMT' => 'America/Paramaribo', + 'PPMT' => 'America/Port-au-Prince', + 'PPT' => [ 'America/Los_Angeles' => 'America/Dawson_Creek' ], + 'PST' => 'America/Los_Angeles', + 'PWT' => 'America/Dawson_Creek', + 'Q' => 'Q', + 'QMT' => 'America/Guayaquil', + 'R' => 'R', + 'RMT' => 'Europe/Riga', + 'S' => 'S', + 'SAST' => 'Africa/Johannesburg', + 'SDMT' => 'America/Santo_Domingo', + 'SET' => 'Europe/Stockholm', + 'SJMT' => 'America/Costa_Rica', + 'SMT' => 'America/Punta_Arenas', + 'SST' => 'Pacific/Pago_Pago', + 'T' => 'T', + 'TBMT' => 'Asia/Tbilisi', + 'TMT' => 'Asia/Tehran', + 'U' => 'U', + 'UT' => 'UT', + 'UTC' => 'UTC', + 'V' => 'V', + 'W' => 'W', + 'WAST' => 'Africa/Windhoek', + 'WAT' => 'Africa/Ndjamena', + 'WEMT' => 'Europe/Monaco', + 'WEST' => 'WET', + 'WET' => 'WET', + 'WIB' => 'Asia/Jakarta', + 'WIT' => 'Asia/Jayapura', + 'WITA' => 'Asia/Makassar', + 'WMT' => 'Europe/Vilnius', + 'X' => 'X', + 'Y' => 'Y', + 'YDDT' => [ 'America/Whitehorse' => 'America/Dawson' ], + 'YDT' => 'America/Yakutat', + 'YPT' => [ 'America/Whitehorse' => 'America/Dawson' ], + 'YST' => 'America/Yakutat', + 'YWT' => [ 'America/Whitehorse' => 'America/Dawson' ], + 'Z' => 'Z', + ); + +1; + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/data.alias.pl b/internal/data.alias.pl new file mode 100644 index 0000000..947ad4e --- /dev/null +++ b/internal/data.alias.pl @@ -0,0 +1,320 @@ +#!/usr/bin/perl -w +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# The following zones are treated specially. If they are in the tzdata +# files, they are ignored and created separately. Either there are +# problems with them, or they are defined in other standards ways. + +%windows_zones = + ( + # http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html + # CLDR 21 (2012-03-01) + + "AUS Central Standard Time" => "Australia/Darwin", + "AUS Eastern Standard Time" => "Australia/Sydney", + "Afghanistan Standard Time" => "Asia/Kabul", + "Alaskan Standard Time" => "America/Anchorage", + "Arab Standard Time" => "Asia/Riyadh", + "Arabian Standard Time" => "Asia/Dubai", + "Arabic Standard Time" => "Asia/Baghdad", + "Argentina Standard Time" => "America/Argentina/Buenos_Aires", + "Atlantic Standard Time" => "America/Halifax", + "Azerbaijan Standard Time" => "Asia/Baku", + "Azores Standard Time" => "Atlantic/Azores", + "Bahia Standard Time" => "America/Bahia", + "Bangladesh Standard Time" => "Asia/Dhaka", + "Canada Central Standard Time" => "America/Regina", + "Cape Verde Standard Time" => "Atlantic/Cape_Verde", + "Caucasus Standard Time" => "Asia/Yerevan", + "Cen. Australia Standard Time" => "Australia/Adelaide", + "Central America Standard Time" => "America/Guatemala", + "Central Asia Standard Time" => "Asia/Almaty", + "Central Brazilian Standard Time" => "America/Cuiaba", + "Central Europe Standard Time" => "Europe/Budapest", + "Central European Standard Time" => "Europe/Warsaw", + "Central Pacific Standard Time" => "Pacific/Guadalcanal", + "Central Standard Time (Mexico)" => "America/Mexico_City", + "Central Standard Time" => "America/Chicago", + "China Standard Time" => "Asia/Shanghai", + "Dateline Standard Time" => "Etc/GMT+12", + "E. Africa Standard Time" => "Africa/Nairobi", + "E. Australia Standard Time" => "Australia/Brisbane", + "E. Europe Standard Time" => "Asia/Nicosia", + "E. South America Standard Time" => "America/Sao_Paulo", + "Eastern Standard Time" => "America/New_York", + "Egypt Standard Time" => "Africa/Cairo", + "Ekaterinburg Standard Time" => "Asia/Yekaterinburg", + "FLE Standard Time" => "Europe/Kiev", + "Fiji Standard Time" => "Pacific/Fiji", + "GMT Standard Time" => "Europe/London", + "GTB Standard Time" => "Europe/Istanbul", + "Georgian Standard Time" => "Asia/Tbilisi", + "Greenland Standard Time" => "America/Godthab", + "Greenwich Standard Time" => "Atlantic/Reykjavik", + "Hawaiian Standard Time" => "Pacific/Honolulu", + "India Standard Time" => "Asia/Kolkata", + "Iran Standard Time" => "Asia/Tehran", + "Israel Standard Time" => "Asia/Jerusalem", + "Jordan Standard Time" => "Asia/Amman", + "Kaliningrad Standard Time" => "Europe/Kaliningrad", + "Korea Standard Time" => "Asia/Seoul", + "Magadan Standard Time" => "Asia/Magadan", + "Mauritius Standard Time" => "Indian/Mauritius", + "Middle East Standard Time" => "Asia/Beirut", + "Montevideo Standard Time" => "America/Montevideo", + "Morocco Standard Time" => "Africa/Casablanca", + "Mountain Standard Time (Mexico)" => "America/Chihuahua", + "Mountain Standard Time" => "America/Denver", + "Myanmar Standard Time" => "Asia/Yangon", + "N. Central Asia Standard Time" => "Asia/Novosibirsk", + "Namibia Standard Time" => "Africa/Windhoek", + "Nepal Standard Time" => "Asia/Kathmandu", + "New Zealand Standard Time" => "Pacific/Auckland", + "Newfoundland Standard Time" => "America/St_Johns", + "North Asia East Standard Time" => "Asia/Irkutsk", + "North Asia Standard Time" => "Asia/Krasnoyarsk", + "Pacific SA Standard Time" => "America/Santiago", + "Pacific Standard Time" => "America/Los_Angeles", + "Pakistan Standard Time" => "Asia/Karachi", + "Paraguay Standard Time" => "America/Asuncion", + "Romance Standard Time" => "Europe/Paris", + "Russian Standard Time" => "Europe/Moscow", + "SA Eastern Standard Time" => "America/Cayenne", + "SA Pacific Standard Time" => "America/Bogota", + "SA Western Standard Time" => "America/La_Paz", + "SE Asia Standard Time" => "Asia/Bangkok", + "Samoa Standard Time" => "Pacific/Apia", + "Singapore Standard Time" => "Asia/Singapore", + "South Africa Standard Time" => "Africa/Johannesburg", + "Sri Lanka Standard Time" => "Asia/Colombo", + "Syria Standard Time" => "Asia/Damascus", + "Taipei Standard Time" => "Asia/Taipei", + "Tasmania Standard Time" => "Australia/Hobart", + "Tokyo Standard Time" => "Asia/Tokyo", + "Tonga Standard Time" => "Pacific/Tongatapu", + "Turkey Standard Time" => "Europe/Istanbul", + "US Eastern Standard Time" => "America/Indiana/Indianapolis", + "US Mountain Standard Time" => "America/Phoenix", + "UTC+12" => "Etc/GMT-12", + "UTC-02" => "Etc/GMT+2", + "UTC-11" => "Etc/GMT+11", + "Ulaanbaatar Standard Time" => "Asia/Ulaanbaatar", + "Venezuela Standard Time" => "America/Caracas", + "Vladivostok Standard Time" => "Asia/Vladivostok", + "W. Australia Standard Time" => "Australia/Perth", + "W. Central Africa Standard Time" => "Africa/Lagos", + "W. Europe Standard Time" => "Europe/Berlin", + "West Asia Standard Time" => "Asia/Tashkent", + "West Pacific Standard Time" => "Pacific/Port_Moresby", + "Yakutsk Standard Time" => "Asia/Yakutsk", + ); + +%hpux_zones = ( + # tztab $Date: 2008/12/08 17:21:29 $Revision: r11.11/12 PATCH_11.11 (PHCO_39172) + + 'ARST3ARDT' => 'America/Argentina/Buenos_Aires', + 'AST10ADT' => 'America/Adak', + 'AST4ADT#Canada' => 'America/Halifax', + 'BRST3BRDT' => 'America/Sao_Paulo', + 'BRWST4BRWDT' => 'America/Campo_Grande', + 'CSM6CDM' => 'America/Mexico_City', + 'CST-9:30CDT' => 'Australia/Adelaide', + 'CST6CDT#Canada' => 'America/Winnipeg', + 'CST6CDT#Indiana' => 'America/Indiana/Indianapolis', + 'CST6CDT#Mexico' => 'America/Mexico_City', + 'EET-2EETDST' => 'Europe/Helsinki', + 'EST-10EDT' => 'Australia/Melbourne', + 'EST-10EDT#NSW' => 'Australia/Sydney', + 'EST-10EDT#Tasmania' => 'Australia/Hobart', + 'EST-10EDT#VIC' => 'Australia/Melbourne', + 'EST5CDT' => 'America/Indiana/Indianapolis', + 'EST5EDT#Canada' => 'America/Toronto', + 'EST5EDT#Indiana' => 'America/Indiana/Indianapolis', + 'EST5EST' => 'America/Indiana/Indianapolis', + 'EST6CDT' => 'America/Indiana/Indianapolis', + 'MET-1METDST' => 'MET', + 'MEZ-1MESZ' => 'CET', + 'MSM7MDM' => 'America/Chihuahua', + 'MST7MDT#Canada' => 'America/Edmonton', + 'MST7MDT#Mexico' => 'America/Chihuahua', + 'MXST6MXDT' => 'America/Mexico_City', + 'MXST6MXDT#Mexico' => 'America/Mexico_City', + 'NST3:30NDT' => 'America/St_Johns', + 'NST3:30NDT#Canada' => 'America/St_Johns', + 'PST-8PDT' => 'Asia/Singapore', + 'PST8PDT#Canada' => 'America/Vancouver', + 'PWT0PST' => 'Europe/Lisbon', + 'SAST-2' => 'Africa/Johannesburg', + 'WET0WETDST' => 'WET', + 'WST-10WSTDST' => 'Asia/Vladivostok', + 'WST-11WSTDST' => 'Asia/Srednekolymsk', + 'WST-12WSTDST' => 'Asia/Kamchatka', + 'WST-2WSTDST' => 'Europe/Minsk', + 'WST-3WSTDST' => 'Europe/Moscow', + 'WST-4WSTDST' => 'Europe/Samara', + 'WST-5WSTDST' => 'Asia/Yekaterinburg', + 'WST-6WSTDST' => 'Asia/Omsk', + 'WST-7WSTDST' => 'Asia/Krasnoyarsk', + 'WST-8WDT' => 'Australia/Perth', + 'WST-8WSTDST' => 'Asia/Irkutsk', + 'WST-9WSTDST' => 'Asia/Yakutsk', + ); + +%nontzdata_zones = + ( + # The standard GMT+OFF zones don't dump well, so + # we'll create them manually. + + "Etc/GMT-1" => [ qw(offset -1:00:00) ], + "Etc/GMT-2" => [ qw(offset -2:00:00) ], + "Etc/GMT-3" => [ qw(offset -3:00:00) ], + "Etc/GMT-4" => [ qw(offset -4:00:00) ], + "Etc/GMT-5" => [ qw(offset -5:00:00) ], + "Etc/GMT-6" => [ qw(offset -6:00:00) ], + "Etc/GMT-7" => [ qw(offset -7:00:00) ], + "Etc/GMT-8" => [ qw(offset -8:00:00) ], + "Etc/GMT-9" => [ qw(offset -9:00:00) ], + "Etc/GMT-10" => [ qw(offset -10:00:00) ], + "Etc/GMT-11" => [ qw(offset -11:00:00) ], + "Etc/GMT-12" => [ qw(offset -12:00:00) ], + "Etc/GMT-13" => [ qw(offset -13:00:00) ], + "Etc/GMT-14" => [ qw(offset -14:00:00) ], + "Etc/GMT+1" => [ qw(offset 1:00:00) ], + "Etc/GMT+2" => [ qw(offset 2:00:00) ], + "Etc/GMT+3" => [ qw(offset 3:00:00) ], + "Etc/GMT+4" => [ qw(offset 4:00:00) ], + "Etc/GMT+5" => [ qw(offset 5:00:00) ], + "Etc/GMT+6" => [ qw(offset 6:00:00) ], + "Etc/GMT+7" => [ qw(offset 7:00:00) ], + "Etc/GMT+8" => [ qw(offset 8:00:00) ], + "Etc/GMT+9" => [ qw(offset 9:00:00) ], + "Etc/GMT+10" => [ qw(offset 10:00:00) ], + "Etc/GMT+11" => [ qw(offset 11:00:00) ], + "Etc/GMT+12" => [ qw(offset 12:00:00) ], + "Etc/GMT" => [ qw(offset 0:00:00) ], + + # There are some other problems in dumping zones + # that we'll solve by aliasing some zones. They + # could probably be handled by a more intelligent + # handling of the tzdata files, but this is simpler. + + "GMT" => [ qw(alias Etc/GMT) ], + "UTC" => [ qw(offset 0:00:00) ], + "UCT" => [ qw(alias UTC) ], + "Etc/UCT" => [ qw(alias UTC) ], + "Etc/UTC" => [ qw(alias UTC) ], + "Pacific/Johnston" => [ qw(alias Pacific/Honolulu) ], + "HST" => [ qw(ignore) ], + "EST" => [ qw(ignore) ], + "MST" => [ qw(ignore) ], + + # The following are set by RFC-822. + + "A" => [ qw(offset -1:00:00) ], + "B" => [ qw(offset -2:00:00) ], + "C" => [ qw(offset -3:00:00) ], + "D" => [ qw(offset -4:00:00) ], + "E" => [ qw(offset -5:00:00) ], + "F" => [ qw(offset -6:00:00) ], + "G" => [ qw(offset -7:00:00) ], + "H" => [ qw(offset -8:00:00) ], + "I" => [ qw(offset -9:00:00) ], + "K" => [ qw(offset -10:00:00) ], + "L" => [ qw(offset -11:00:00) ], + "M" => [ qw(offset -12:00:00) ], + "N" => [ qw(offset 1:00:00) ], + "O" => [ qw(offset 2:00:00) ], + "P" => [ qw(offset 3:00:00) ], + "Q" => [ qw(offset 4:00:00) ], + "R" => [ qw(offset 5:00:00) ], + "S" => [ qw(offset 6:00:00) ], + "T" => [ qw(offset 7:00:00) ], + "U" => [ qw(offset 8:00:00) ], + "V" => [ qw(offset 9:00:00) ], + "W" => [ qw(offset 10:00:00) ], + "X" => [ qw(offset 11:00:00) ], + "Y" => [ qw(offset 12:00:00) ], + "Z" => [ qw(offset 0:00:00) ], + "UT" => [ qw(offset 0:00:00) ], + ); + +foreach my $winz (keys %windows_zones) { + my $zone = $windows_zones{$winz}; + $nontzdata_zones{$winz} = [ 'alias', $zone ]; +} +foreach my $hpuxz (keys %hpux_zones) { + my $zone = $hpux_zones{$hpuxz}; + $nontzdata_zones{$hpuxz} = [ 'alias', $zone ]; +} + +# Zone aliases of the form "EST5EDT" are handled here. In most cases, +# there are more than one possibile zone that they could apply to. +# Every possibility should be included here (so that they can be +# included in the docs) but the first one will be used. + +%def_alias2 = + ( + # These are set in RFC 822 and the default (first) value will NOT + # be modified ever. + 'CST6CDT' => [ 'America/Chicago' => 'America/Winnipeg' ], + 'EST5EDT' => 'America/New_York', + 'MST7MDT' => 'America/Denver', + 'PST8PDT' => 'America/Los_Angeles', + + # Open to discussion + + 'AEST-10AEDT' => [ 'Australia/Melbourne' => 'Australia/Currie' ], + 'AHST10AHDT' => 'America/Anchorage', + 'AKST9AKDT' => 'America/Anchorage', + 'AST10APT' => 'America/Anchorage', + 'AST4ADT' => 'America/Halifax', + 'AST4APT' => 'America/Blanc-Sablon', + 'AWST-8AWDT' => 'Australia/Perth', + 'BST11BDT' => 'America/Adak', + 'CAT-2CAST' => 'Africa/Khartoum', + 'CET-1CEST' => 'CET', + 'CET-1WEMT' => 'Europe/Monaco', + 'CET-1WEST' => 'Europe/Luxembourg', + 'CST-8CDT' => 'Asia/Shanghai', + 'CST5CDT' => 'America/Havana', + 'CST6CPT' => 'America/Chicago', + 'EET-2EEST' => 'EET', + 'EST5EPT' => [ 'America/New_York' => 'America/Detroit' ], + 'GMT0BST' => 'Europe/London', + 'GMT0IST' => 'Europe/Dublin', + 'HKT-8HKST' => 'Asia/Hong_Kong', + 'HST10HDT' => 'America/Adak', + 'IST-2EEST' => 'Asia/Gaza', + 'IST-2IDT' => 'Asia/Jerusalem', + 'JST-9JDT' => 'Asia/Tokyo', + 'KST-9KDT' => 'Asia/Seoul', + 'MET-1MEST' => 'MET', + 'MSK-3CEST' => [ 'Europe/Minsk' => 'Europe/Chisinau' ], + 'MSK-3MSD' => 'Europe/Moscow', + 'MST7MPT' => [ 'America/Denver' => 'America/Boise' ], + 'NST11NPT' => 'America/Adak', + 'NZST-12NZDT' => 'Pacific/Auckland', + 'PKT-5PKST' => 'Asia/Karachi', + 'PST8PPT' => [ 'America/Los_Angeles' => 'America/Dawson_Creek' ], + 'SAST-2SAST' => 'Africa/Johannesburg', + 'WAT-1WAST' => 'Africa/Windhoek', + 'WET-1WEST' => 'Europe/Luxembourg', + 'WET0WEST' => 'WET', + 'YST9YDT' => 'America/Yakutat', + 'YST9YPT' => [ 'America/Whitehorse' => 'America/Dawson' ], + ); + +1; + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/data.misc.pl b/internal/data.misc.pl new file mode 100644 index 0000000..3d02eae --- /dev/null +++ b/internal/data.misc.pl @@ -0,0 +1,66 @@ +#!/usr/bin/perl -w +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# We will store all critical dates for all past years, and years +# up to some point in the future. Critical dates past that year +# will be calculated on the fly. $keep_years is the number of +# years in the future which will be kept explicitly. +# +# This ensures that years in the near future can be accessed quickly, +# and that all years past a threshold are assumed to be static +# (with respect to how critical dates are calculated). +# +# This is the number of years in the future to keep. For testing +# purposes, we'll compare years beyond that to make sure that the +# critical dates are constant. This value ($test_years) must be +# greater than $keep_years. + +my($keep_years,$test_years); +$keep_years = 50; +$test_years = 60; + +$curr_year = (localtime)[5] + 1900; +$keep_year = $curr_year + $keep_years; +$test_year = $curr_year + $test_years; + +# Autogenerated module information + +$zones_pm = "lib/Date/Manip/Zones.pm"; +$zones_pod = $zones_pm; +$zones_pod =~ s/\.pm/.pod/; +$mod_dir = "lib/Date/Manip/TZ"; +$off_dir = "lib/Date/Manip/Offset"; + +# Most zones have a LAST RULE that includes exactly 1 ST (i.e. an offset +# of 00:00) and 1 DST (some other offset). +# +# The following zones are exceptions: + +%last_zone_offsets = + ( +# "America/Resolute" => { "dst" => 0, +# "st" => 2, }, + ); + +# The following zone(s) will not use a LAST RULE to calculate time zone +# changes past $keep_year. Instead, they will use all dates from a dump, +# and nothing beyond that. +# +# Asia/Jerusalem uses a non-standard way based on the Hebrew calendar. + +%no_last = map { $_,1 } qw(Asia/Jerusalem Asia/Tehran); + +1; + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/data.offset.pl b/internal/data.offset.pl new file mode 100644 index 0000000..9fb8ccb --- /dev/null +++ b/internal/data.offset.pl @@ -0,0 +1,524 @@ +#!/usr/bin/perl -w +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# We will assign a default time zone based on the date, $isdst, and the +# offset if we have that information, but not the time zone. Here are the +# order we will check the zones. +# +# Offset ISDST=0 ISDST=1 +# 12 +# 11 +# 10 +# 9 +# 8 +# 7 +# 6 +# 5 +# 4 +# 3 EET +# 2 EET CET +# 1 CET WET +# 0 WET Atlantic/Azores +# -1 Atlantic/Azores +# -2 America/Sao_Paulo +# -3 America/Sao_Paulo America/Halifax +# -4 America/Halifax America/New_York +# -5 America/New_York America/Chicago +# -6 America/Chicago America/Denver +# -7 America/Denver America/Los_Angeles +# -8 America/Los_Angeles America/Juneau +# -9 America/Juneau +# -10 Pacific/Honolulu +# -11 +# -12 + +$def_off{0} = { + '+00:00:00' => 'WET', + '+00:06:04' => 'Europe/Andorra', + '+00:09:21' => 'Europe/Paris', + '+00:12:12' => 'Africa/Algiers', + '+00:13:36' => 'Africa/Lagos', + '+00:17:30' => 'Europe/Brussels', + '+00:19:32' => 'Europe/Amsterdam', + '+00:20:00' => 'Europe/Amsterdam', + '+00:24:36' => 'Europe/Luxembourg', + '+00:29:32' => 'Europe/Monaco', + '+00:29:46' => 'Europe/Zurich', + '+00:34:08' => 'Europe/Zurich', + '+00:40:44' => 'Africa/Tunis', + '+00:43:00' => 'Europe/Oslo', + '+00:49:56' => 'Europe/Rome', + '+00:50:20' => 'Europe/Copenhagen', + '+00:52:44' => 'Africa/Tripoli', + '+00:53:28' => 'Europe/Berlin', + '+00:57:44' => 'Europe/Prague', + '+00:58:04' => 'Europe/Malta', + '+01:00:00' => 'CET', + '+01:00:12' => 'Africa/Ndjamena', + '+01:00:14' => 'Europe/Stockholm', + '+01:05:21' => 'Europe/Vienna', + '+01:08:24' => 'Africa/Windhoek', + '+01:12:12' => 'Europe/Stockholm', + '+01:16:20' => 'Europe/Budapest', + '+01:19:20' => 'Europe/Tirane', + '+01:22:00' => 'Europe/Kaliningrad', + '+01:24:00' => 'Europe/Vilnius', + '+01:29:12' => 'Europe/Uzhgorod', + '+01:30:00' => 'Africa/Johannesburg', + '+01:33:16' => 'Europe/Sofia', + '+01:34:52' => 'Europe/Athens', + '+01:35:36' => 'Europe/Vilnius', + '+01:36:34' => 'Europe/Riga', + '+01:39:00' => 'Europe/Tallinn', + '+01:39:49' => 'Europe/Helsinki', + '+01:41:16' => 'Europe/Vilnius', + '+01:44:24' => 'Europe/Bucharest', + '+01:50:00' => 'Europe/Minsk', + '+01:50:16' => 'Europe/Minsk', + '+01:52:00' => 'Africa/Johannesburg', + '+01:55:00' => 'Europe/Chisinau', + '+01:55:20' => 'Europe/Chisinau', + '+01:55:52' => 'Europe/Istanbul', + '+01:56:56' => 'Europe/Istanbul', + '+02:00:00' => 'EET', + '+02:02:04' => 'Europe/Kiev', + '+02:05:09' => 'Africa/Cairo', + '+02:10:08' => 'Africa/Khartoum', + '+02:10:20' => 'Africa/Maputo', + '+02:13:28' => 'Asia/Nicosia', + '+02:15:48' => 'Asia/Famagusta', + '+02:16:00' => 'Europe/Simferopol', + '+02:16:24' => 'Europe/Simferopol', + '+02:17:52' => 'Asia/Gaza', + '+02:20:00' => 'Europe/Zaporozhye', + '+02:20:23' => 'Asia/Hebron', + '+02:20:40' => 'Asia/Jerusalem', + '+02:20:54' => 'Asia/Jerusalem', + '+02:22:00' => 'Asia/Beirut', + '+02:23:44' => 'Asia/Amman', + '+02:25:12' => 'Asia/Damascus', + '+02:27:16' => 'Africa/Nairobi', + '+02:30:00' => 'Africa/Nairobi', + '+02:30:17' => 'Europe/Moscow', + '+02:31:19' => 'Europe/Moscow', + '+02:45:00' => 'Africa/Nairobi', + '+02:57:36' => 'Asia/Baghdad', + '+02:57:40' => 'Europe/Volgograd', + '+02:58:00' => 'Asia/Yerevan', + '+02:59:11' => 'Asia/Tbilisi', + '+03:00:00' => 'Asia/Baghdad', + '+03:04:18' => 'Europe/Saratov', + '+03:06:52' => 'Asia/Riyadh', + '+03:12:12' => 'Europe/Astrakhan', + '+03:13:36' => 'Europe/Ulyanovsk', + '+03:18:48' => 'Europe/Kirov', + '+03:19:24' => 'Asia/Baku', + '+03:20:20' => 'Europe/Samara', + '+03:21:04' => 'Asia/Aqtau', + '+03:25:24' => 'Asia/Oral', + '+03:25:44' => 'Asia/Tehran', + '+03:26:08' => 'Asia/Qatar', + '+03:27:44' => 'Asia/Atyrau', + '+03:30:00' => 'Asia/Tehran', + '+03:41:12' => 'Asia/Dubai', + '+03:41:48' => 'Indian/Mahe', + '+03:41:52' => 'Indian/Reunion', + '+03:45:05' => 'Asia/Yekaterinburg', + '+03:48:40' => 'Asia/Aqtobe', + '+03:50:00' => 'Indian/Mauritius', + '+03:53:32' => 'Asia/Ashgabat', + '+04:00:00' => [ 'Indian/Mauritius' => 'Indian/Mahe' ], + '+04:02:33' => 'Asia/Yekaterinburg', + '+04:21:52' => 'Asia/Qyzylorda', + '+04:27:53' => 'Asia/Samarkand', + '+04:28:12' => 'Asia/Karachi', + '+04:30:00' => 'Asia/Kabul', + '+04:35:12' => 'Asia/Dushanbe', + '+04:36:48' => 'Asia/Kabul', + '+04:37:11' => 'Asia/Tashkent', + '+04:49:40' => 'Indian/Chagos', + '+04:53:30' => 'Asia/Omsk', + '+04:54:00' => 'Indian/Maldives', + '+04:58:24' => 'Asia/Bishkek', + '+05:00:00' => 'Asia/Dushanbe', + '+05:07:48' => 'Asia/Almaty', + '+05:19:24' => 'Asia/Colombo', + '+05:19:32' => 'Asia/Colombo', + '+05:30:00' => 'Asia/Colombo', + '+05:31:40' => 'Asia/Novosibirsk', + '+05:35:00' => 'Asia/Barnaul', + '+05:39:51' => 'Asia/Tomsk', + '+05:41:16' => 'Asia/Kathmandu', + '+05:45:00' => 'Asia/Kathmandu', + '+05:48:48' => 'Asia/Novokuznetsk', + '+05:50:20' => 'Asia/Urumqi', + '+05:53:20' => 'Asia/Kolkata', + '+05:53:28' => 'Asia/Kolkata', + '+05:58:36' => 'Asia/Thimphu', + '+06:00:00' => 'Asia/Urumqi', + '+06:01:40' => 'Asia/Dhaka', + '+06:06:36' => 'Asia/Hovd', + '+06:11:26' => 'Asia/Krasnoyarsk', + '+06:24:40' => 'Asia/Yangon', + '+06:27:40' => 'Indian/Cocos', + '+06:30:00' => 'Indian/Cocos', + '+06:42:04' => 'Asia/Bangkok', + '+06:46:46' => 'Asia/Kuala_Lumpur', + '+06:55:25' => 'Asia/Singapore', + '+06:57:05' => 'Asia/Irkutsk', + '+07:00:00' => 'Indian/Christmas', + '+07:02:52' => 'Indian/Christmas', + '+07:06:30' => 'Asia/Ho_Chi_Minh', + '+07:06:40' => 'Asia/Ho_Chi_Minh', + '+07:07:12' => 'Asia/Jakarta', + '+07:07:32' => 'Asia/Ulaanbaatar', + '+07:17:20' => 'Asia/Pontianak', + '+07:20:00' => 'Asia/Kuala_Lumpur', + '+07:21:20' => 'Asia/Kuching', + '+07:30:00' => 'Asia/Kuala_Lumpur', + '+07:33:52' => 'Asia/Chita', + '+07:34:20' => 'Asia/Macau', + '+07:36:42' => 'Asia/Hong_Kong', + '+07:38:00' => 'Asia/Choibalsan', + '+07:39:40' => 'Asia/Brunei', + '+07:43:24' => 'Australia/Perth', + '+07:57:36' => 'Asia/Makassar', + '+08:00:00' => 'Asia/Taipei', + '+08:04:00' => 'Asia/Manila', + '+08:05:43' => 'Asia/Shanghai', + '+08:06:00' => 'Asia/Taipei', + '+08:22:20' => 'Asia/Dili', + '+08:23:00' => 'Asia/Pyongyang', + '+08:27:52' => 'Asia/Seoul', + '+08:30:00' => 'Asia/Pyongyang', + '+08:35:28' => 'Australia/Eucla', + '+08:38:58' => 'Asia/Yakutsk', + '+08:43:20' => 'Australia/Darwin', + '+08:45:00' => 'Australia/Eucla', + '+08:47:31' => 'Asia/Vladivostok', + '+08:57:56' => 'Pacific/Palau', + '+09:00:00' => 'Asia/Tokyo', + '+09:02:13' => 'Asia/Khandyga', + '+09:14:20' => 'Australia/Adelaide', + '+09:18:59' => 'Asia/Tokyo', + '+09:22:48' => 'Asia/Jayapura', + '+09:25:48' => 'Australia/Broken_Hill', + '+09:30:00' => 'Australia/Adelaide', + '+09:30:48' => 'Asia/Sakhalin', + '+09:32:54' => 'Asia/Ust-Nera', + '+09:35:28' => 'Australia/Currie', + '+09:39:00' => 'Pacific/Guam', + '+09:39:52' => 'Australia/Melbourne', + '+09:48:32' => [ 'Pacific/Port_Moresby' => 'Pacific/Bougainville' ], + '+09:48:40' => 'Pacific/Port_Moresby', + '+09:49:16' => 'Australia/Hobart', + '+09:55:56' => 'Australia/Lindeman', + '+10:00:00' => [ 'Australia/Melbourne' => 'Australia/Brisbane' ], + '+10:03:12' => 'Asia/Magadan', + '+10:04:52' => 'Australia/Sydney', + '+10:07:08' => 'Pacific/Chuuk', + '+10:12:08' => 'Australia/Brisbane', + '+10:14:52' => 'Asia/Srednekolymsk', + '+10:22:16' => 'Pacific/Bougainville', + '+10:30:00' => 'Australia/Lord_Howe', + '+10:32:52' => 'Pacific/Pohnpei', + '+10:34:36' => 'Asia/Kamchatka', + '+10:36:20' => 'Australia/Lord_Howe', + '+10:39:48' => 'Pacific/Guadalcanal', + '+10:51:56' => 'Pacific/Kosrae', + '+11:00:00' => [ 'Pacific/Pohnpei' => 'Pacific/Kosrae' ], + '+11:05:48' => 'Pacific/Noumea', + '+11:06:28' => 'Pacific/Wake', + '+11:07:40' => 'Pacific/Nauru', + '+11:09:20' => 'Pacific/Kwajalein', + '+11:11:52' => 'Pacific/Norfolk', + '+11:12:00' => 'Pacific/Norfolk', + '+11:13:16' => 'Pacific/Efate', + '+11:24:48' => 'Pacific/Majuro', + '+11:30:00' => 'Pacific/Norfolk', + '+11:32:04' => 'Pacific/Tarawa', + '+11:39:04' => 'Pacific/Auckland', + '+11:49:56' => 'Asia/Anadyr', + '+11:55:44' => 'Pacific/Fiji', + '+11:56:52' => 'Pacific/Funafuti', + '+12:00:00' => [ 'Pacific/Tarawa' => 'Pacific/Funafuti' ], + '+12:13:21' => 'America/Adak', + '+12:13:48' => 'Pacific/Chatham', + '+12:15:00' => 'Pacific/Chatham', + '+12:15:20' => 'Pacific/Wallis', + '+12:19:20' => 'Pacific/Tongatapu', + '+12:20:00' => 'Pacific/Tongatapu', + '+12:33:04' => 'Pacific/Apia', + '+12:37:12' => 'Pacific/Pago_Pago', + '+12:45:00' => 'Pacific/Chatham', + '+12:58:21' => 'America/Nome', + '+13:00:00' => 'Pacific/Tongatapu', + '+14:00:00' => 'Pacific/Kiritimati', + '+14:00:24' => 'America/Anchorage', + '+14:41:05' => 'America/Yakutat', + '+14:58:47' => 'America/Sitka', + '+15:02:19' => 'America/Juneau', + '+15:13:42' => 'America/Metlakatla', + '-00:00:52' => 'Africa/Accra', + '-00:01:15' => 'Europe/London', + '-00:14:44' => 'Europe/Madrid', + '-00:16:08' => 'Africa/Abidjan', + '-00:21:16' => 'Africa/Ceuta', + '-00:21:24' => 'Europe/Gibraltar', + '-00:25:00' => 'Europe/Dublin', + '-00:25:21' => 'Europe/Dublin', + '-00:27:04' => 'Atlantic/Faroe', + '-00:30:20' => 'Africa/Casablanca', + '-00:36:45' => 'Europe/Lisbon', + '-00:43:08' => 'Africa/Monrovia', + '-00:44:30' => 'Africa/Monrovia', + '-00:52:48' => 'Africa/El_Aaiun', + '-01:00:00' => 'Atlantic/Azores', + '-01:01:36' => 'Atlantic/Canary', + '-01:02:20' => 'Africa/Bissau', + '-01:07:36' => 'Atlantic/Madeira', + '-01:14:40' => 'America/Danmarkshavn', + '-01:27:52' => 'America/Scoresbysund', + '-01:28:00' => 'Atlantic/Reykjavik', + '-01:34:04' => 'Atlantic/Cape_Verde', + '-01:42:40' => 'Atlantic/Azores', + '-01:54:32' => 'Atlantic/Azores', + '-02:00:00' => 'Atlantic/South_Georgia', + '-02:09:40' => 'America/Noronha', + '-02:19:36' => 'America/Recife', + '-02:22:52' => 'America/Maceio', + '-02:26:08' => 'Atlantic/South_Georgia', + '-02:34:00' => 'America/Fortaleza', + '-02:34:04' => 'America/Bahia', + '-03:00:00' => [ 'America/Sao_Paulo' => 'America/Araguaina' ], + '-03:06:28' => 'America/Sao_Paulo', + '-03:12:48' => 'America/Araguaina', + '-03:13:56' => 'America/Belem', + '-03:26:56' => 'America/Godthab', + '-03:29:20' => 'America/Cayenne', + '-03:30:00' => 'America/St_Johns', + '-03:30:52' => 'America/St_Johns', + '-03:38:28' => 'America/Campo_Grande', + '-03:38:48' => 'America/Santarem', + '-03:40:36' => 'America/Paramaribo', + '-03:40:40' => 'America/Paramaribo', + '-03:40:52' => 'America/Paramaribo', + '-03:44:20' => 'America/Cuiaba', + '-03:44:40' => 'America/Miquelon', + '-03:44:44' => 'America/Montevideo', + '-03:45:00' => 'America/Guyana', + '-03:48:28' => 'America/Blanc-Sablon', + '-03:50:40' => 'America/Asuncion', + '-03:51:24' => 'Atlantic/Stanley', + '-03:52:40' => 'America/Guyana', + '-03:53:48' => 'America/Argentina/Buenos_Aires', + '-03:58:29' => 'America/Barbados', + '-03:59:48' => 'America/Glace_Bay', + '-04:00:00' => 'America/Blanc-Sablon', + '-04:00:04' => 'America/Manaus', + '-04:01:40' => 'America/Goose_Bay', + '-04:02:40' => 'America/Boa_Vista', + '-04:04:20' => 'America/Martinique', + '-04:06:04' => 'America/Port_of_Spain', + '-04:14:24' => 'America/Halifax', + '-04:15:36' => 'America/Porto_Velho', + '-04:16:48' => 'America/Argentina/Cordoba', + '-04:19:18' => 'Atlantic/Bermuda', + '-04:19:08' => 'America/Moncton', + '-04:20:52' => 'America/Argentina/Tucuman', + '-04:21:12' => 'America/Argentina/Jujuy', + '-04:21:40' => 'America/Argentina/Salta', + '-04:23:08' => 'America/Argentina/Catamarca', + '-04:24:25' => 'America/Puerto_Rico', + '-04:25:24' => 'America/Argentina/San_Luis', + '-04:27:24' => 'America/Argentina/La_Rioja', + '-04:27:40' => 'America/Caracas', + '-04:27:44' => 'America/Caracas', + '-04:30:00' => 'America/Caracas', + '-04:31:12' => 'America/Rio_Branco', + '-04:32:36' => 'America/La_Paz', + '-04:33:12' => 'America/Argentina/Ushuaia', + '-04:34:04' => 'America/Argentina/San_Juan', + '-04:35:08' => 'America/Thule', + '-04:35:16' => 'America/Argentina/Mendoza', + '-04:35:47' => 'America/Curacao', + '-04:36:52' => 'America/Argentina/Rio_Gallegos', + '-04:39:28' => 'America/Eirunepe', + '-04:39:36' => 'America/Santo_Domingo', + '-04:40:00' => 'America/Santo_Domingo', + '-04:42:46' => 'America/Santiago', + '-04:43:40' => 'America/Punta_Arenas', + '-04:44:32' => 'America/Grand_Turk', + '-04:49:00' => 'America/Port-au-Prince', + '-04:49:20' => 'America/Port-au-Prince', + '-04:56:02' => 'America/New_York', + '-04:56:16' => 'America/Bogota', + '-05:00:00' => 'America/New_York', + '-05:07:11' => 'America/Jamaica', + '-05:08:12' => 'America/Lima', + '-05:08:36' => 'America/Lima', + '-05:09:30' => 'America/Nassau', + '-05:14:00' => 'America/Guayaquil', + '-05:17:32' => 'America/Toronto', + '-05:18:08' => 'America/Panama', + '-05:19:20' => 'America/Guayaquil', + '-05:19:36' => 'America/Panama', + '-05:29:28' => 'America/Havana', + '-05:29:36' => 'America/Havana', + '-05:32:11' => 'America/Detroit', + '-05:36:13' => 'America/Costa_Rica', + '-05:39:24' => 'America/Kentucky/Monticello', + '-05:40:16' => 'America/Indiana/Vevay', + '-05:43:02' => 'America/Kentucky/Louisville', + '-05:44:38' => 'America/Indiana/Indianapolis', + '-05:45:08' => 'America/Managua', + '-05:45:12' => 'America/Managua', + '-05:45:23' => 'America/Indiana/Marengo', + '-05:46:25' => 'America/Indiana/Winamac', + '-05:46:30' => 'America/Indiana/Knox', + '-05:47:03' => 'America/Indiana/Tell_City', + '-05:47:04' => 'America/Cancun', + '-05:48:52' => 'America/Tegucigalpa', + '-05:49:07' => 'America/Indiana/Petersburg', + '-05:50:07' => 'America/Indiana/Vincennes', + '-05:50:27' => 'America/Menominee', + '-05:50:36' => 'America/Chicago', + '-05:52:48' => 'America/Belize', + '-05:53:04' => 'America/Nipigon', + '-05:56:48' => 'America/El_Salvador', + '-05:57:00' => 'America/Thunder_Bay', + '-05:58:24' => 'Pacific/Galapagos', + '-05:58:28' => 'America/Merida', + '-06:00:00' => 'America/Chicago', + '-06:02:04' => 'America/Guatemala', + '-06:06:28' => 'America/Atikokan', + '-06:18:16' => 'America/Rainy_River', + '-06:28:36' => 'America/Winnipeg', + '-06:36:36' => 'America/Mexico_City', + '-06:40:00' => 'America/Matamoros', + '-06:41:16' => 'America/Monterrey', + '-06:45:12' => 'America/North_Dakota/Center', + '-06:45:39' => 'America/North_Dakota/New_Salem', + '-06:47:07' => 'America/North_Dakota/Beulah', + '-06:57:40' => 'America/Ojinaga', + '-06:58:36' => 'America/Regina', + '-06:59:56' => 'America/Denver', + '-07:00:00' => 'America/Denver', + '-07:01:00' => 'America/Bahia_Banderas', + '-07:04:20' => 'America/Chihuahua', + '-07:05:40' => 'America/Mazatlan', + '-07:11:20' => 'America/Swift_Current', + '-07:17:28' => 'Pacific/Easter', + '-07:23:52' => 'America/Hermosillo', + '-07:28:18' => 'America/Phoenix', + '-07:33:52' => 'America/Edmonton', + '-07:44:49' => 'America/Boise', + '-07:46:04' => 'America/Creston', + '-07:48:04' => 'America/Tijuana', + '-07:52:58' => 'America/Los_Angeles', + '-08:00:00' => 'America/Los_Angeles', + '-08:00:56' => 'America/Dawson_Creek', + '-08:10:47' => 'America/Fort_Nelson', + '-08:12:28' => 'America/Vancouver', + '-08:30:00' => 'Pacific/Pitcairn', + '-08:40:20' => 'Pacific/Pitcairn', + '-08:46:18' => 'America/Metlakatla', + '-08:57:41' => 'America/Juneau', + '-08:59:48' => 'Pacific/Gambier', + '-09:00:00' => 'America/Yakutat', + '-09:00:12' => 'America/Whitehorse', + '-09:01:13' => 'America/Sitka', + '-09:17:40' => 'America/Dawson', + '-09:18:00' => 'Pacific/Marquesas', + '-09:18:55' => 'America/Yakutat', + '-09:30:00' => 'Pacific/Marquesas', + '-09:58:16' => 'Pacific/Tahiti', + '-09:59:36' => 'America/Anchorage', + '-10:00:00' => [ 'Pacific/Honolulu' => 'Pacific/Tahiti' ], + '-10:29:20' => 'Pacific/Kiritimati', + '-10:30:00' => 'Pacific/Rarotonga', + '-10:31:26' => 'Pacific/Honolulu', + '-10:39:04' => 'Pacific/Rarotonga', + '-10:40:00' => 'Pacific/Kiritimati', + '-11:00:00' => 'Pacific/Pago_Pago', + '-11:01:38' => 'America/Nome', + '-11:19:40' => 'Pacific/Niue', + '-11:20:00' => 'Pacific/Niue', + '-11:22:48' => 'Pacific/Pago_Pago', + '-11:24:20' => 'Pacific/Enderbury', + '-11:24:56' => 'Pacific/Fakaofo', + '-11:26:56' => 'Pacific/Apia', + '-11:30:00' => 'Pacific/Niue', + '-11:46:38' => 'America/Adak', + '-12:00:00' => 'Etc/GMT-12', + '-13:00:00' => 'Etc/GMT-13', + '-14:00:00' => 'Etc/GMT-14', + '-14:21:00' => 'Pacific/Guam', + '-15:56:00' => 'Asia/Manila', + }; + +$def_off{1} = { + '+00:00:00' => 'Atlantic/Azores', + '+00:20:00' => 'Africa/Accra', + '+00:34:39' => 'Europe/Dublin', + '+01:00:00' => 'WET', + '+01:19:32' => 'Europe/Amsterdam', + '+01:20:00' => 'Europe/Amsterdam', + '+02:00:00' => 'CET', + '+02:36:34' => 'Europe/Riga', + '+03:00:00' => 'EET', + '+03:31:19' => 'Europe/Moscow', + '+04:00:00' => 'Europe/Moscow', + '+04:30:00' => 'Asia/Tehran', + '+04:31:19' => 'Europe/Moscow', + '+05:00:00' => 'Asia/Baku', + '+06:00:00' => 'Asia/Yekaterinburg', + '+06:30:00' => 'Asia/Colombo', + '+07:00:00' => 'Asia/Omsk', + '+07:20:00' => 'Asia/Kuala_Lumpur', + '+08:00:00' => 'Asia/Hovd', + '+08:20:00' => 'Asia/Kuching', + '+09:00:00' => 'Asia/Ulaanbaatar', + '+09:30:00' => 'Asia/Seoul', + '+09:45:00' => 'Australia/Eucla', + '+10:00:00' => 'Asia/Chita', + '+10:30:00' => 'Australia/Adelaide', + '+11:00:00' => [ 'Australia/Melbourne' => 'Australia/Currie' ], + '+11:30:00' => 'Australia/Lord_Howe', + '+12:00:00' => 'Asia/Magadan', + '+12:30:00' => 'Pacific/Norfolk', + '+13:00:00' => 'Pacific/Auckland', + '+13:45:00' => 'Pacific/Chatham', + '+14:00:00' => 'Pacific/Tongatapu', + '-01:00:00' => 'America/Noronha', + '-01:30:00' => 'America/St_Johns', + '-02:00:00' => 'America/Sao_Paulo', + '-02:30:00' => 'America/St_Johns', + '-02:30:52' => 'America/St_Johns', + '-03:00:00' => 'America/Halifax', + '-03:32:36' => 'America/La_Paz', + '-04:00:00' => 'America/New_York', + '-04:30:00' => 'America/Santo_Domingo', + '-05:00:00' => [ 'America/Chicago' => 'America/Winnipeg' ], + '-05:30:00' => 'America/Belize', + '-06:00:00' => 'America/Denver', + '-07:00:00' => 'America/Los_Angeles', + '-08:00:00' => [ 'America/Juneau' => 'America/Yakutat' ], + '-09:00:00' => 'America/Adak', + '-09:30:00' => 'Pacific/Rarotonga', + '-10:00:00' => 'Pacific/Apia', + }; + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/dm_translate b/internal/dm_translate new file mode 100644 index 0000000..e9a1db2 --- /dev/null +++ b/internal/dm_translate @@ -0,0 +1,249 @@ + + + + +
+today at noon +
+at 3:00 PM +
+ + + +
+each thursday at noon +
+at noon each day +
+each month +
+every thursday at noon +
+at noon every day +
+every month +
+ + + +
+year, years +
+month, months +
+week, weeks +
+day, days +
+hour, hours +
+minute, minutes +
+second, seconds +
+ + + +
+last day of the month +
+last thursday +
+final day of the month +
+ + + +
+exactly 5 minutes +
+approximately 5 minutes +
+5 business days +
+ + + +
+next week +
+following week +
+last week +
+previous week +
+ + + +
+1st, one, first +
+2nd, two, second +
+3rd, three, third +
+4th, four, fourth +
+5th, five, fifth +
+6th, six, sixth +
+7th, seven, seventh +
+8th, eight, eighth +
+9th, nine, ninth +
+10th, ten, tenth +
+11th, eleven, eleventh +
+12th, twelve, twelfth +
+13th, thirteen, thirteenth +
+14th, fourteen, fourteenth +
+15th, fifteen, fifteenth +
+16th, sixteen, sixteenth +
+17th, seventeen, seventeenth +
+18th, eighteen, eighteenth +
+19th, nineteen, nineteenth +
+20th, twenty, twentieth +
+21st, twenty-one, twenty-first +
+22nd, twenty-two, twenty-second +
+23rd, twenty-three, twenty-third +
+24th, twenty-four, twenty-fourth +
+25th, twenty-five, twenty-fifth +
+26th, twenty-six, twenty-sixth +
+27th, twenty-seven, twenty-seventh +
+28th, twenty-eight, twenty-eighth +
+29th, twenty-nine, twenty-ninth +
+30th, thirty, thirtieth +
+31st, thirty-one, thirty-first +
+32nd, thirty-two, thirty-second +
+33rd, thirty-three, thirty-third +
+34th, thirty-four, thirty-fourth +
+35th, thirty-five, thirty-fifth +
+36th, thirty-six, thirty-sixth +
+37th, thirty-seven, thirty-seventh +
+38th, thirty-eight, thirty-eighth +
+39th, thirty-nine, thirty-ninth +
+40th, forty, fortieth +
+41st, forty-one, forty-first +
+42nd, forty-two, forty-second +
+43rd, forty-three, forty-third +
+44th, forty-four, forty-fourth +
+45th, forty-five, forty-fifth +
+46th, forty-six, forty-sixth +
+47th, forty-seven, forty-seventh +
+48th, forty-eight, forty-eighth +
+49th, forty-nine, forty-ninth +
+50th, fifty, fiftieth +
+51st, fifty-one, fifty-first +
+52nd, fifty-two, fifty-second +
+53rd, fifty-three, fifty-third +
+ + + +
+second day in march +
+second day of march +
+ + + +
+yesterday +
+today +
+tomorrow +
+ + + +
+now +
+ + + +
+on may 1st +
+ + + +
+noon +
+midnight +
+ + + +
+5 years ago +
+5 years in the past +
+5 years past +
+5 years earlier +
+5 years before now +
+in 5 years +
+5 years later +
+5 years in the future +
+5 years future +
+5 years from now +
+ + diff --git a/internal/dumps b/internal/dumps new file mode 100755 index 0000000..de99fe1 --- /dev/null +++ b/internal/dumps @@ -0,0 +1,43 @@ +#!/bin/sh + +if [ ! -d "tzdata/dump" ]; then + echo "Dump files removed." + exit +fi + +for file in `cd tzdata/dump; echo *` ;do + tz=`head -1 tzdata/dump/$file | awk '{print $1}'` + echo "##########################################################" + echo "### $tz" + + # Create the new dump. Ignore lines with the year 0001 and 9999. + + perl -I./lib examples/dm_zdump -v $tz | egrep -v '0001|9999' > z.dump.new + ln=`wc -l z.dump.new | awk '{print $1}'` + + # Copy the old dump. Ignore the 2 first and 2 last lines. + + tail --lines=+3 tzdata/dump/$file | head --lines=-2 > z.dump.old + lo=`wc -l z.dump.old | awk '{print $1}'` + + if [ "$ln" = "0" ]; then + echo "***" + echo "*** ERROR ***" + echo "***" + + elif [ $lo -gt $ln ]; then + mv z.dump.old z.dump.old.1 + head --lines=$ln z.dump.old.1 > z.dump.old + rm -f z.dump.old.1 + + elif [ $ln -gt $lo ]; then + mv z.dump.new z.dump.new.1 + head --lines=$lo z.dump.new.1 > z.dump.new + rm -f z.dump.new.1 + fi + + diff -c z.dump.old z.dump.new + rm -f z.dump.old z.dump.new + +done + diff --git a/internal/gen_dm5abbrevs b/internal/gen_dm5abbrevs new file mode 100755 index 0000000..08ba6cc --- /dev/null +++ b/internal/gen_dm5abbrevs @@ -0,0 +1,255 @@ +#!/usr/bin/perl -w +# Copyright (c) 2010-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### +# This script is used to automatically generate the Date::Manip::DM5abbrevs +# modeul used in Date::Manip 5.xx . + +use lib "./lib"; + +require 5.010000; +use strict; +use warnings; + +use Date::Manip::Zones; +use Date::Manip::TZ; + +our($VERSION); +$VERSION='6.60'; + +our($DEBUG); +$DEBUG = 0; + +our(@keep); +@keep = qw( + idlw -1200 + nt -1100 + sat -0400 + cldt -0300 + at -0200 + utc +0000 + mewt +0100 + mez +0100 + fwt +0100 + gb +0100 + swt +0100 + mesz +0200 + fst +0200 + metdst +0200 + eetdst +0300 + eetedt +0300 + bt +0300 + it +0330 + zp4 +0400 + zp5 +0500 + ist +0530 + zp6 +0600 + awst +0800 + rok +0900 + aest +1000 + acdt +1030 + cadt +1030 + aedt +1100 + eadt +1100 + nzt +1200 + idle +1200 + ); + +############################################################################ +# MAIN PROGRAM +############################################################################ + +my $year = ( localtime(time) )[5] + 1900; +my $tz = new Date::Manip::TZ; + +my $podstr = '=pod'; # so the CPAN indexer won't treat this as a POD file + +print "package Date::Manip::DM5abbrevs; +# Copyright (c) 2003-$year Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +######################################################################## +######################################################################## + +$podstr + +=head1 NAME + +Date::Manip::DM5abbrevs - A list of all timezone abbreviations + +=head1 SYNPOSIS + +This module is not intended to be used directly. Date::Manip 5.xx +will load it as needed. + +This module contains all of the time zone abbreviations from +Date::Manip 6.xx copied backwards to 5.xx to provide slightly +better support for time zones. + +Note that this is only a bandaid fix, and does not add proper +time zone handling to version 5.xx . + +=cut + +require 5.000; + +use strict; +use warnings; + +our(\$VERSION); +\$VERSION='6.60'; + +END { + my \$tmp; + \$tmp = \\\$Date::Manip::DM5::Abbrevs; +} + +\$Date::Manip::DM5::Abbrevs = join(' ',qw( +"; + +my @tmp = @keep; +my %off; +while (@tmp) { + my($abb) = shift(@tmp); + my($off) = shift(@tmp); + $off{$abb} = $off; + print " $abb" . " "x(6-length($abb)) . " $off\n"; +} +print "\n"; + +# We have to come up with the best offset for each abbreviation. +# +# We'll look first at values in the current year. +# Then we'll look back in time. + +ABBREV: foreach my $abbrev (sort keys %Date::Manip::Zones::Abbrev) { + my @zone = @{ $Date::Manip::Zones::Abbrev{$abbrev} }; + + foreach my $zone (@zone) { + my @period = $tz->all_periods($zone,$year); + foreach my $period (@period) { + my @per = @$period; + my $abb = lc($per[4]); + next if ($abb ne $abbrev); + my $off = $per[3]; + my ($h,$m,$s) = @$off; + $h += 0; + next if ($s != 0); + + my $sign; + if ($h < 0) { + $h *= -1; + $m *= -1; + $sign = "-"; + } else { + $sign = "+"; + } + $h = "0$h" if (length($h) == 1); + $m = "0$m" if (length($m) == 1); + $off = "$sign$h$m"; + + print " $abb" . " "x(6-length($abb)) . " $off\n"; + $off{$abb} = $off; + next ABBREV; + } + } + + # If we've arrived here, we didn't find the abbreviation in + # the current year, so we need to go back in time. + + my $best_off = ""; + my $best_date = "0001010100:00:00"; + + print ":: Abbrev = $abbrev...\n" if ($DEBUG); + + ZONE:foreach my $zone (@zone) { + my @period = $tz->periods($zone,undef,$year); + while (@period) { + my $period = pop(@period); + + my @per = @$period; + my $date = $per[10]; + my $abb = lc($per[4]); + next if ($abb ne $abbrev); + my $off = $per[3]; + my ($h,$m,$s) = @$off; + $h += 0; + next if ($s != 0); + + my $sign; + if ($h < 0 || + ($h == 0 && $m < 0)) { + $h *= -1; + $m *= -1; + $sign = "-"; + } else { + $sign = "+"; + } + $h = "0$h" if (length($h) == 1); + $m = "0$m" if (length($m) == 1); + + if ($date lt $best_date) { + print ":: $zone => $best_off [ $best_date ]\n" if ($DEBUG); + next ZONE; + } + + $best_off = "$sign$h$m"; + $best_date = $date; + + print ":: $zone => $best_off [ $best_date ] ***\n" if ($DEBUG); + next ZONE; + } + } + + if ($best_off) { + $off{$abbrev} = $best_off; + print " $abbrev" . " "x(6-length($abbrev)) . " $best_off\n"; + } + next ABBREV; +} + +print ")); + +$podstr + +=head1 TIMEZONES + +The following timezones are defined: + +"; + +foreach my $abb (sort keys %off) { + my $off = $off{$abb}; + print " " . uc($abb) . " "x(6-length($abb)) . " $off\n"; +} + +print " + +=head1 LICENSE + +This script is free software; you can redistribute it and/or modify it +under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck\@cpan.org) + +=cut + +1; +"; + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/langpod b/internal/langpod new file mode 100644 index 0000000..5cec633 --- /dev/null +++ b/internal/langpod @@ -0,0 +1,568 @@ +#!/usr/bin/perl -w +# Copyright (c) 2012-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### +# This script is used to automatically generate the language pod files. + +use lib "./lib"; + +require 5.010000; +use IO::File; +use strict; +use warnings; +require Date::Manip::Lang::index; +$| = 1; + +our $VERSION; +$VERSION='6.31'; + +############################################################################## +# GLOBAL VARIABLES +############################################################################### + +our $langdir = 'lib/Date/Manip/Lang'; +our $curry = ( localtime(time) )[5] + 1900; + +############################################################################### +# HELP +############################################################################### + +our ($usage); +my $COM = $0; +$COM =~ s/^.*\///; + +$usage= + "usage: $COM OPTIONS + -h/--help : Print help. + +This script will generate the pod files for each of the Date::Manip +language modules. +"; + +############################################################################### +# PARSE ARGUMENTS +############################################################################### + +while ($_ = shift) { + (print $usage), exit if ($_ eq "-h" || $_ eq "--help"); +} + +############################################################################ +# MAIN PROGRAM +############################################################################ + +no warnings; +my @mod = values %Date::Manip::Lang::index::Lang; +use warnings; + +my %mod = map { $_,1 } @mod; +@mod = sort keys %mod; + +foreach my $mod (@mod) { + write_pod($mod); +} + +############################################################################ +############################################################################ + +no strict 'refs'; +sub write_pod { + my($mod) = @_; + + my $undef = " Not defined in this language\n"; + eval "require Date::Manip::Lang::${mod}"; + my $lang = ${ "Date::Manip::Lang::${mod}::Language" }; + my $name = ${ "Date::Manip::Lang::${mod}::LangName" }; + my $year0 = ${ "Date::Manip::Lang::${mod}::YearAdded" }; + + my $out = new IO::File; + $out->open("> ${langdir}/${mod}.pod"); + binmode $out, ":encoding(UTF-8)"; + + my %words; + + my %lists = ('ampm' => 2, + 'day_name' => 7, + 'day_abb' => 7, + 'day_char' => 7, + 'month_name' => 12, + 'month_abb' => 12, + 'fields' => 7, + 'nextprev' => 2, + 'nth' => 53, + 'mode' => 2, + 'when' => 2, + ); + while (my($key,$num) = each %lists) { + if (exists $$lang{$key}) { + foreach (my $i=0; $i < $num; $i++) { + $words{$key}[$i] = ''; + if (defined ($$lang{$key}[$i])) { + my @tmp = @{ $$lang{$key}[$i] }; + foreach my $tmp (@tmp) { + $words{$key}[$i] .= " $tmp\n" if ($tmp); + } + } else { + print "Undefined: $mod,$key\n"; + } + $words{$key}[$i] = $undef if (! $words{$key}[$i]); + } + } else { + foreach (my $i=0; $i < $num; $i++) { + $words{$key}[$i] = $undef; + } + } + } + + my @words = qw(at each last of on); + + foreach my $set (@words) { + $words{$set} = ''; + if (exists $$lang{$set}) { + my @tmp = @{ $$lang{$set} }; + foreach my $tmp (@tmp) { + $words{$set} .= " $tmp\n" if ($tmp); + } + } + $words{$set} = $undef if (! $words{$set}); + } + + @words = qw(offset_date offset_time times); + + foreach my $set (@words) { + $words{$set} = ''; + if (exists $$lang{$set}) { + foreach my $key (sort keys %{ $$lang{$set} }) { + my $val = $$lang{$set}{$key}; + $words{$set} .= " $key" . " "x(20-length($key)) . " $val\n"; + } + } + $words{$set} = $undef if (! $words{$set}); + } + + if (exists $$lang{"sephm"}) { + $words{"seps"} = ''; + my @hm = @{ $$lang{"sephm"} }; + my @ms = @{ $$lang{"sepms"} }; + for (my $i=0; $i <= $#hm; $i++) { + $words{'seps'} .= " $hm[$i] $ms[$i]\n"; + } + } else { + $words{'seps'} = $undef; + } + + if (exists $$lang{"sepfr"}) { + $words{"sepfr"} = $$lang{"sepfr"}; + } else { + $words{'sepfr'} = $undef; + } + + # Try to hide pod so it doesn't get indexed + my $e = '='; + + print $out <<"EOF"; +# Copyright (c) $year0-$curry Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +######################################################################## +######################################################################## + +${e}pod + +${e}encoding utf-8 + +${e}head1 NAME + +Date::Manip::Lang::${mod} - ${name} language support. + +${e}head1 SYNOPSIS + +This module contains a list of words and expressions supporting +the language. It is not intended to be used directly (other +Date::Manip modules will load it as needed). + +${e}head1 LANGUAGE EXPRESSIONS + +The following is a list of all language words and expressions used +to write times and/or dates. + +All strings are case insensitive. + +${e}over 4 + +${e}item B + +When writing out the name of the month, several different variations may +exist including full names and abbreviations. + +The following month names may be used: + +$words{month_name}[0] +$words{month_name}[1] +$words{month_name}[2] +$words{month_name}[3] +$words{month_name}[4] +$words{month_name}[5] +$words{month_name}[6] +$words{month_name}[7] +$words{month_name}[8] +$words{month_name}[9] +$words{month_name}[10] +$words{month_name}[11] + +The following abbreviations may be used: + +$words{month_abb}[0] +$words{month_abb}[1] +$words{month_abb}[2] +$words{month_abb}[3] +$words{month_abb}[4] +$words{month_abb}[5] +$words{month_abb}[6] +$words{month_abb}[7] +$words{month_abb}[8] +$words{month_abb}[9] +$words{month_abb}[10] +$words{month_abb}[11] + +${e}item B + +When writing out the name of the day, several different variations may +exist including full names and abbreviations. + +The following day names may be used: + +$words{day_name}[0] +$words{day_name}[1] +$words{day_name}[2] +$words{day_name}[3] +$words{day_name}[4] +$words{day_name}[5] +$words{day_name}[6] + +The following abbreviations may be used: + +$words{day_abb}[0] +$words{day_abb}[1] +$words{day_abb}[2] +$words{day_abb}[3] +$words{day_abb}[4] +$words{day_abb}[5] +$words{day_abb}[6] + +The following short (1-2 characters) abbreviations may be used: + +$words{day_char}[0] +$words{day_char}[1] +$words{day_char}[2] +$words{day_char}[3] +$words{day_char}[4] +$words{day_char}[5] +$words{day_char}[6] + +${e}item B + +These are the names (and abbreviations) for the fields in a delta. There are +7 fields: years, months, weeks, days, hours, minutes, seconds. + +The names and abbreviations for these fields are: + +$words{fields}[0] +$words{fields}[1] +$words{fields}[2] +$words{fields}[3] +$words{fields}[4] +$words{fields}[5] +$words{fields}[6] + +${e}item B + +This is a list of expressions use to designate morning or afternoon time +when a time is entered as a 12-hour time rather than a 24-hour time. +For example, in English, the time "17:00" could be specified as "5:00 PM". + +Morning and afternoon time may be designated by the following sets of +words: + +$words{ampm}[0] +$words{ampm}[1] + +${e}item B + +There are a list of words that specify every occurrence of something. These +are used in the following phrases: + + EACH Monday + EVERY Monday + EVERY month + +The following words may be used: + +$words{each} + +${e}item B + +There are a list of words that may be used to specify the next, +previous, or last occurrence of something. These words could be used +in the following phrases: + + NEXT week + + LAST Tuesday + PREVIOUS Tuesday + + LAST day of the month + +The following words may be used: + +Next occurrence: + +$words{nextprev}[0] + +Previous occurrence: + +$words{nextprev}[1] + +Last occurrence: + +$words{last} + +${e}item B + +When parsing deltas, there are words that may be used to specify +the the delta will refer to a time in the future or to a time in +the past (relative to some date). In English, for example, you +might say: + + IN 5 days + 5 days AGO + +The following words may be used to specify deltas that refer to +dates in the past or future respectively: + +$words{when}[0] +$words{when}[1] + +${e}item B + +This contains two lists of words which can be used to specify a standard +(i.e. non-business) delta or a business delta. + +Previously, it was used to tell whether the delta was approximate or exact, +but now this list is not used except to force the delta to be standard. + +The following words may be used: + +$words{mode}[0] + +The following words may be used to specify a business delta: + +$words{mode}[1] + +${e}item B + +Numbers may be spelled out in a variety of ways. The following sets correspond +to the numbers from 1 to 53: + +$words{nth}[0] +$words{nth}[1] +$words{nth}[2] +$words{nth}[3] +$words{nth}[4] +$words{nth}[5] +$words{nth}[6] +$words{nth}[7] +$words{nth}[8] +$words{nth}[9] + +$words{nth}[10] +$words{nth}[11] +$words{nth}[12] +$words{nth}[13] +$words{nth}[14] +$words{nth}[15] +$words{nth}[16] +$words{nth}[17] +$words{nth}[18] +$words{nth}[19] + +$words{nth}[20] +$words{nth}[21] +$words{nth}[22] +$words{nth}[23] +$words{nth}[24] +$words{nth}[25] +$words{nth}[26] +$words{nth}[27] +$words{nth}[28] +$words{nth}[29] + +$words{nth}[30] +$words{nth}[31] +$words{nth}[32] +$words{nth}[33] +$words{nth}[34] +$words{nth}[35] +$words{nth}[36] +$words{nth}[37] +$words{nth}[38] +$words{nth}[39] + +$words{nth}[40] +$words{nth}[41] +$words{nth}[42] +$words{nth}[43] +$words{nth}[44] +$words{nth}[45] +$words{nth}[46] +$words{nth}[47] +$words{nth}[48] +$words{nth}[49] + +$words{nth}[50] +$words{nth}[51] +$words{nth}[52] + +${e}item B + +In writing out dates in common forms, there are a number of words +that are typically not important. + +There is frequently a word that appears in a phrase to designate +that a time is going to be specified next. In English, you would +use the word AT in the example: + + December 3 at 12:00 + +The following words may be used: + +$words{at} + +Another word is used to designate one member of a set. In English, +you would use the words IN or OF: + + 1st day OF December + 1st day IN December + +The following words may be used: + +$words{of} + +Another word is use to specify that something is on a certain date. In +English, you would use ON: + + ON July 5th + +The following words may be used: + +$words{on} + +${e}item B + +There are some words that can be used to specify a date, a +time, or both relative to now. + +Words that set the date are similar to the English words 'yesterday' +or 'tomorrow'. These are specified as a delta which is added to the +current time to get a date. The time is NOT set however, so the delta +is only partially used (it should only include year, month, week, and +day fields). + +The following words may be used: + +$words{offset_date} + +Words that set only the time of day are similar to the English words +'noon' or 'midnight'. + +The following words may be used: + +$words{times} + +Words that set the entire time and date (relative to the current +time and date) are also available. + +In English, the word 'now' is one of these. + +The following words may be used: + +$words{offset_time} + +${e}item B + +When specifying the time of day, the most common separator is a colon (:) +which can be used for both separators. + +Some languages use different pairs. For example, French allows you to +specify the time as 13h30:20, so it would use the following pairs: + + : : + h : + +The first column is the hour-minute separator and the second column is +the minute-second separator. Both are perl regular expressions. When +creating a new translation, be aware that regular expressions with utf-8 +characters may be tricky. For example, don't include the expression '[x]' +where 'x' is a utf-8 character. + +A pair of colons is ALWAY allowed for all languages. If a language allows +additional pairs, they are listed here: + +$words{seps} + +${e}item B + +When specifying fractional seconds, the most common way is to use a +decimal point (.). Some languages may specify a different separator +that might be used. If this is done, it is a regular expression. + +The decimal point is ALWAYS allowed for all languages. If a language allows +another separator, it is listed here: + +$words{sepfr} + +${e}back + +${e}head1 KNOWN BUGS + +None known. + +${e}head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +${e}head1 SEE ALSO + +L - main module documentation + +${e}head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +${e}head1 AUTHOR + +Sullivan Beck (sbeck\@cpan.org) + +${e}cut +EOF + + $out->close(); +} +use strict 'refs'; + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/leak.pl b/internal/leak.pl new file mode 100644 index 0000000..2e4fa00 --- /dev/null +++ b/internal/leak.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl + +$a1 = '(?\d)'; + +$a2 = $a1; +#$a2 = '(?\d)'; + +$b = '\d'; + +$rx = qr/(?:${a}${b}|${a2}:${b})/; + +#$string = "12"; +$string = "1:2"; + +while (1) { + $string =~ $rx; + $tmp = $+{a}; +} diff --git a/internal/module.isp b/internal/module.isp new file mode 100644 index 0000000..6b4e1aa --- /dev/null +++ b/internal/module.isp @@ -0,0 +1,802 @@ +abb +abbrev +abbrevs +ACDT +ADT +AEDT +AEST +Aharon +Aitchison +Alexandr +Ambrus +Amick +ampm +ANDK +Andras +Andreas +Andres +Anwar +API +arg +args +ARGV +Arzul +Asaf +autogenerated +Avera +AWST +Babakov +backpan +Bamber +bapprox +Barta +Bartov +basedate +Bassman +Bataille +Bautista +BC +BD +BDn +begLTs +begUT +begUTs +Bence +Berlage +Beutner +Bhatia +Bion +Bjoernsvik +Bjornsvik +Boehm +Bohme +Bollinger +Bristow +BrowserUK +Bruni +Bryne +bsemi +BT +bugfix +Buikema +Bunce +Burgin +Burlison +BWn +ca +CADT +calc +Caminati +Cappella +catalan +CCYY +CCYYDoY +CCYYMMDD +CCYYWww +CCYYWwwD +CET +Cezar +CGI +Chadd +Chana +Chateauvieux +CheckFilePath +checktime +Ciornii +CLDT +cmdfield +cmp +cnf +co +config +ConfigFile +convtz +ConvTZ +Coppit +Cornelis +Corry +cp +cpan +cpanp +cpanratings +cpants +Cristina +cron +crontab +CSD +ctime +CUNHA +curr +currd +CurrTZ +CurrYear +Cusack +cwd +CWN +CWP +cygwin +cYYYY +cz +da +Dalberg +Damyan +danish +Danne +Dapi +DateCalc +DateFormat +DateInit +dateLT +DateManip +DateManipVersion +DatePath +datestr +DateTime +dateTtime +dateUT +Dateyyyy +DayOfWeek +DayOfYear +DaysInMonth +DaysInYear +DaysSince +DaySuffix +dd +ddascalescu +DDmmm +DDmmmYY +DDmmmYYYY +DDYY +DDYYmmm +DDYYYYmmm +dec +DEceMBer +decembre +Dedlow +def +DefaultTime +del +DeltaSigns +deltastr +Dembach +der +Derksen +Devel +dh +Diab +die's +dir +dist +distro +dm +dmake +dmb +Dmmm +DmmmYY +DmmmYYYY +dmn +dofw +Domgoergen +Doru +DoW +dow +doy +DoY +Drudis +ds +dst +dstflag +dstonly +dT +dt +Dubost +Duplisse +dutch +Duzenbury +dv +dw +DWD +DXY +dy +Dyd +EADT +Eddelbuettel +eest +EETDST +EETEDT +Egashira +Ehrenberg +Elson +Emiliano +endLT +endLTs +endUT +endUTs +eng +english +Enrique +env +epocho +er +EraseEvents +EraseHolidays +ereyesterday +Ernesto +errlev +errlevel +ErrorCheck +errref +es +eval +Evan +Eveland +EXIF +ExtUtils +favicon +FD +FDn +Ferrero +Fettich +fi +filehandle +FindWindowsTZName +finnish +FirstDay +foo +forcedate +ForceDate +fr +fre +french +freq +Fridat +FST +Fuhr +FW +FWn +FWT +GAAS +GD +Geraint +german +GetNext +GetPrev +getpw +getpwnam +getpwuid +Gilles +Gillingwater +Giray +GitHub +github +GlobalCnf +gmt +gmtime +gmtoff +Gosta +Gregor +gz +Haerri +Hahler +Hartland +hd +hdh +hds +Hedley +Hendler +Heng +Henrique +Herrmann +hh +HHMM +HHMMSS +hhmn +HHMNSS +hhs +Hilazo +Hiver +hms +Horsten +Horster +Hovi +Howansky +hr +Hranicky +ht +html +http +https +Hughes +hv +hys +iana +IBD +ico +IDLW +IgnoreGlobalCnf +Iikka +ILYAZ +IMO +Ingham +init +InitDone +IntCharSet +Iosif +Iosif's +Isard +isdst +IsHoliday +IsInt +IST +IsWorkDay +italian +Ivanov +IW +IWn +iX +Jacek +Jasso +Javier +JD +Jelinek +Jenda +Jerius +Jesper +Johansson +Jorgen +Jurgen +Jyrgen +Kalika +Kang +Kapranoff +Karacsony +Karkkainen +Kasal +Khairil +Khaled +Khera +Kimmo +Kipp +Kitover +Klep +ko +Kovalenko +Kreulich +Krynicky +Kurtis +kwalitee +Labovitz +LaLiberte +Lamiral +LangName +LDS +LeapYear +leapyear +Leite +Lenz +Lewin +libwww +linux +Lipson +listref +Litvinov +LMT +localtime +Lon +ls +Ludovic +Lugauer +Lyons +MacOS +mainvar +MakeMaker +Malakhov +Mandelbaum +manip +Manip's +Markwick +Martinec +MathPari +Mauro +MAXLINELENGTH +McGonigal +Melendez +Melo +memoize +Meng +MEST +MESZ +METDST +MEWP +MEWT +MEZ +Miao +Minkler +mins +Minsoul +MLK +MMDD +MMDDHH +MMDDHHMN +MMDDHHMNSS +MMDDHHMNSSF +mmm +mmmD +mmmDD +mmmDDYY +mmmDDYYYY +mmmYYYY +mn +MNmn +MNSS +ModuloAddition +Mohammad +Moller +mon +Montford +Morganwalp +Moritz +Morten +Mostaguir +MPE +msg +Mstrict +MSWin +muir +MULTINET +mv +MW +my'ed +mycommand +Myw +n'th +nb +NBD +NDn +NearestWorkDay +Nederlands +Nesbitt +NetWare +nextprev +NextWorkDay +Niel +Nigel +Nikulin +nl +nntp +nocheck +nocommon +nodelta +nodow +noholidays +noiso +Nomann +nonormalize +noother +Norgaard +NormalizeDelta +norwegian +Norwood +nospecial +Novich +Nowacki +NST +NT +NT's +NthDayOfYear +NTn +num +NUMth +NWD +NWn +Nyrgaard +NYTprof +NZT +obj +Oelstrom +offh +offm +offsetstr +OldConfigFiles +Ole +OO +opensuse +openSuSE +OpenSuSE +OpenUNIX +OpenVMS +org +Osbourne +oses +OSes +Ostermiller +osx +overmorrow +Oxhaj +Paco +Padwardhan +parseable +ParseDate +ParseDateDelta +ParseDateFormat +ParseDateString +ParseDelta +ParseRecur +PathSep +PD +PDn +Pedrozzi +Perelman +PeriodTimeSep +perl +perlcritic +perlmonks +perlsec +Pero +PersonalCnf +PersonalCnfPath +Petrescu +Piran +Pizolato +pl +pm +PMQS +PODs +podspell +Pohl +Poilbarbe +Polyakov +portugue +posix +Poszvek +Pradac +pragma +prereq +prev +PrevWorkDay +printf +Prymmer +pt +PTn +pwd +Qian +Rader +Ramin +Randal +Rapetti +Rectanus +RecurNumFudgeDays +RecurRange +RedHat +Reetz +regexp +regexps +Regodon +Reithmaier +Rejhon +ResetWorkDay +ResetWorkdDay +RHEL +Rhesa +Ric +Rinske +Rintala +ro +Roderwald +Rodrigues +ROK +romanian +Rowell +Rozendaal +rt +rtime +ru +Rui +runtests +russian +Sa +sabado +Samuli +Savignon +sbeck +Scheit +Schickbauer +Schiedler +Schinder +Schkolnik +Schulze +sdh +secs +SecsSince +Selinger +sephm +sepms +Serodio +setdate +SetDate +SetDateField +SetTime +Setzer +Shahaf +Sharnoff +Sheahan +Shtern +Sieborger +Slutz +Sogn +Soldierer +Solli +someothervalue +Sorrell +sortDate +spanish +Spiers +ss +SSSS +std +stdonly +Steinberger +Stepan +Stepp +stormking +str +substr +suid +SunOS +sv +Swartwout +swedish +swp +SWT +Sybase +sybperl +Syck +Symdump +sysconfig +Szabo +Taewook +Tarallo +TCPIP +tgz +Theodor +Thomsen +Thur +Tibbitts +TieRegistry +Tietsort +timecheck +TimeDate +timezone +TimeZone +timezones +tmp +TodayIsMidnight +TODO +Tommi +tomorrowfirst +TomorrowFirst +TOMZO +Torkington +tr +Trocki +Tsao +tuc +Tues +Tulan +turkish +Turmel +Twomey +tz +tzcode +tzd +tzdata +TZdata +tzstring +UCX +uncertaintly +undef +unix +UnixDate +unmod +unparsable +UpdateCurrTZ +uselongdouble +usr +UTC +utf +UX +val +valhalla +vals +var +Vasey +Verdes +vers +Virden +Virkkunen +Vishal +Vivek +wayback +WDn +WeekOfYear +Westhoff +WindowsNT +WinNT +Winzig +wk +wkno +wks +Wojtowicz +Worenklein +WorkDay +WorkDayBeg +WorkDayEnd +workdays +WorkDayStart +WorkWeekBeg +WorkWeekEnd +WOY +WOY'th +ws +Ww +www +wWW +WwwD +WXX +Wyant +Wyngaard +Xavi +Xd +Xh +Xiang +XP +Xt +XYZ +Yamamoto +YAML +yd +YearAdded +YM +ymd +yml +Yoak +yrs +yt +Yuming +Yusof +YWwwD +yy +YYDoY +yyM +YYMM +YYMMDD +YYmmm +yys +YYtoYYYY +YYWww +YYwWWD +YYWwwD +yyyy +YYYYDOY +YYYYMM +YYYYMMDD +YYYYMMDDHH +YYYYMMDDHHMMSS +YYYYMMDDHHMN +YYYYMMDDHHMNSS +YYYYMMDDHHMNSSF +YYYYmmm +YYYYmmmD +YYYYmmmDD +YYYYwWWD +Zajac +zdate +zdump +Zhenyi +Zhou +Zhu +Zinser +zoneinfo +ZP +Zsban +zzz diff --git a/internal/translate b/internal/translate new file mode 100755 index 0000000..b048bbf --- /dev/null +++ b/internal/translate @@ -0,0 +1,204 @@ +#!/usr/bin/perl -w + +# This will create the YAML portion of the translation file from +# two sources: +# the locale files +# a google translation +# +# To do this, first translate the file 'dm_translate.html' at +# http://translate.google.com/ +# and paste the results into the file: +# /tmp/translate +# +# Next set the locale in the following line, and then run the +# program. + +$locale = 'tr'; + +########################################################################## + +use DateTime::Locale; +use Encode; + +my $obj = DateTime::Locale->load($locale); +my $tim = $obj->time_format_medium(); + +my @trans = `cat /tmp/translate`; +chomp(@trans); + +while (! $trans[0]) { + shift(@trans); +} + +########################################################################## + +my($hm,$ms); +if ($tim =~ /hh(.)mm/i) { + $hm = '"[' . $1 . ']"'; +} +if ($tim =~ /mm(.)ss/i) { + $ms = '"[' . $1 . ']"'; +} +print_list(1,"ampm", $obj->am_pm_abbreviated()); + +### + +@list = translate(\@trans); +print_list(0,"at",\@list); + +### + +print_list(1,"day_abb", $obj->day_format_abbreviated(), $obj->day_stand_alone_abbreviated()); +print_list(1,"day_char", $obj->day_format_narrow(), $obj->day_stand_alone_narrow()); +print_list(1,"day_name", $obj->day_format_wide(), $obj->day_stand_alone_wide()); + +### + +@list = translate(\@trans); +print_list(0,"each",\@list); + +@list = translate(\@trans); +print_list(0,"fields",\@list); + +@list = translate(\@trans); +print_list(0,"last",\@list); + +@list = translate(\@trans); +print_list(0,"mode",\@list); + +### + +print_list(1,"month_abb", $obj->month_format_abbreviated(), $obj->month_stand_alone_abbreviated()); +print_list(1,"month_name",$obj->month_format_wide(), $obj->month_stand_alone_wide()); + +### + +@list = translate(\@trans); +print_list(0,"nextprev",\@list); + +### + +@list = translate(\@trans); +print "nth:\n"; +foreach my $line (@list) { + $line =~ s/^ \S+ ,\s* \S+ ,\s* \S+ \s+//x; + if ($line =~ / (.*?) ,\s* (.*?) ,\s* (.*) $/x) { + ($nth,$num,$numth) = ($1,$2,$3); + print " -\n"; + print " - $nth\n"; + print " - ''\n"; + print " - $num\n"; + print " - $numth\n" if ($num ne $numth); + } else { + print " -\n"; + print " - $line\n"; + } +} + +### + +@list = translate(\@trans); +print_list(0,"of",\@list); + +@list = translate(\@trans); +print_list(0,"offset_date",\@list); + +@list = translate(\@trans); +print_list(0,"offset_time",\@list); + +@list = translate(\@trans); +print_list(0,"on",\@list); + +### + +print_val ("sephm",$hm); +print_val ("sepms",$ms); + +### + +@list = translate(\@trans); +print_list(0,"times",\@list); + +@list = translate(\@trans); +print_list(0,"when",\@list); + +########################################################################## + +sub translate { + my($trans) = @_; + + while (! $$trans[0]) { + shift(@$trans); + } + + my @ret; + while ($$trans[0]) { + push(@ret,shift(@$trans)); + } + + return @ret; +} + +sub print_val { + my($label,$val) = @_; + return if (! $val); + + print "$label:\n"; + print " - $val\n"; +} + +sub print_list { + my($utf,$label,$vals,$vals2) = @_; + my @vals; + if (ref($vals)) { + @vals = @$vals + } elsif ($vals) { + @vals = ($vals); + } + + my @vals2; + if (ref($vals2)) { + @vals2 = @$vals2; + } elsif ($vals2) { + @vals2 = ($vals2); + } + + print "$label:\n"; + + if (@vals) { + foreach my $val (@vals) { + $val = encode_utf8(lc($val)) if ($utf); + print " -\n"; + + if ($utf) { + my $ascii = decode_utf8($val); + $ascii = encode("ascii",$ascii); + if ($ascii ne $val) { + print " - $ascii\n"; + } + } + + print " - $val\n"; + if (@vals2) { + $val2 = encode_utf8(lc(shift(@vals2))); + if ($val2 ne $val) { + print " - $val2\n"; + } + } + } + + } else { + print " TRANSLATE\n"; + } +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/tzdata b/internal/tzdata new file mode 100755 index 0000000..e8cf27e --- /dev/null +++ b/internal/tzdata @@ -0,0 +1,2187 @@ +#!/usr/bin/perl -w +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### +# This script is used to automatically generate the Date::Manip::Zones +# and Date::Manip::TZ::_ZONE_ modules from the original time zone data. + +use lib "./lib"; +use lib "./internal"; + +require 5.010000; +use YAML; +use IO::File; +use Date::Manip::Base; +use Date::Manip::TZdata; +use strict; +use warnings; + +our $VERSION; +$VERSION='6.60'; + +our ($dmb); +$dmb = new Date::Manip::Base; + +our $curry = ( localtime(time) )[5] + 1900; + +############################################################################## +# GLOBAL VARIABLES +############################################################################### + +our ($first_date,$last_date,$tzdata_src,$tzdata_dir,$tzdata_data,$tzdata_code, + $mod_dir,$off_dir, + $curr_year,$keep_year,$test_year,$zones_pm,$zones_pod, + %def_off,%nontzdata_zones,%def_alias2,%def_abbrev,%no_last, + %last_zone_offsets + ); + +# The first and last dates (UT) known by this module (everything in the +# 0001 - 9999 range except for the first and last 24 hours of that range). + +$first_date = "0001010200:00:00"; +$last_date = "9999123100:00:00"; + +# The source for the tzdata/tzcode files: + +$tzdata_src = "ftp.iana.org"; +$tzdata_dir = "tz"; +$tzdata_data= "tzdata-latest.tar.gz"; +$tzdata_code= "tzcode-latest.tar.gz"; + + +require "data.offset.pl"; +require "data.abbrev.pl"; +require "data.alias.pl"; +require "data.misc.pl"; + +# so the CPAN indexer won't treat this as a POD file +our $podstr = '=pod'; +our $hdstr = '=head1'; + +############################################################################### +# HELP +############################################################################### + +our ($usage); +my $COM = $0; +$COM =~ s/^.*\///; + +$usage= + "usage: $COM OPTIONS + -h/--help : Print help. + -v/--verbose : Increasing levels of verbosity + + -a/--all : Do all steps + + -f/--ftp : Download the tzdata/tzcode files from + the source and build the tools + -l/--list : Get a list of all time zones to dump + -d/--dump : This dumps out zone info for all of + the zones + -m/--mods : This creates the modules from the dumps + -o/--offset : Creates the offset modules + -z/--zones : Create the zones module + -c/--clean : Removes tzdata files +"; + +############################################################################### +# PARSE ARGUMENTS +############################################################################### + +our ($verbose); +$verbose = 0; +my $do_all = 0; +my $do_ftp = 0; +my $do_build = 0; +my $do_list = 0; +my $do_dump = 0; +my $do_mods = 0; +my $do_off = 0; +my $do_zones = 0; +my $do_clean = 0; + +while ($_ = shift) { + + (print $usage), exit if ($_ eq "-h" || $_ eq "--help"); + $verbose = 1, next if ($_ eq "-v" || $_ eq "--verbose"); + + $do_all = 1, next if ($_ eq "-a" || $_ eq "--all"); + + $do_ftp = 1, next if ($_ eq "-f" || $_ eq "--ftp"); + $do_build = 1, next if ($_ eq "-b" || $_ eq "--build"); + $do_list = 1, next if ($_ eq "-l" || $_ eq "--list"); + $do_dump = 1, next if ($_ eq "-d" || $_ eq "--dump"); + $do_mods = 1, next if ($_ eq "-m" || $_ eq "--mods"); + $do_off = 1, next if ($_ eq "-o" || $_ eq "--offset"); + $do_zones = 1, next if ($_ eq "-z" || $_ eq "--zones"); + $do_clean = 1, next if ($_ eq "-c" || $_ eq "--clean"); +} + +############################################################################ +# MAIN PROGRAM +############################################################################ + +do_ftp() if ($do_all || $do_ftp); +do_build() if ($do_all || $do_build); +do_list() if ($do_all || $do_list); +do_dump() if ($do_all || $do_dump); +do_mods() if ($do_all || $do_mods); +do_off() if ($do_all || $do_off); +do_zones() if ($do_all || $do_zones); +do_clean() if ( $do_clean); + +############################################################################ +# DO_FTP +############################################################################ + +# FTP the tzdata/tzcode packages +# +sub do_ftp { + print "FTP...\n"; + + system("rm -rf tzdata; mkdir tzdata"); + chdir("tzdata"); + + # + # Get the tz*latest.tar.gz links to determine the versions + # + + system("wget -q 'ftp://$tzdata_src/$tzdata_dir/$tzdata_data' " . + "'ftp://$tzdata_src/$tzdata_dir/$tzdata_code'"); + if (! -f $tzdata_data) { + die "ERROR: unable to ftp data. Try again later."; + } + if (! -f $tzdata_code) { + die "ERROR: unable to ftp code. Try again later."; + } + + system("tar xzf $tzdata_data"); + my $tzdata_vers = _release('data'); + + system("tar xzf $tzdata_code"); + my $tzcode_vers = _release('code'); + + print " TZdata : $tzdata_vers\n"; + print " Tzcode : $tzcode_vers\n"; + + system("echo $tzdata_vers > _version; " . + "echo $tzcode_vers >> _version; "); +} + +sub _release { + my($type) = @_; + if (! -f 'NEWS') { + die "ERROR: unable to determine version (no NEWS): $type\n"; + } + my $vers = `grep Release NEWS | head -1 | awk '{print \$2}'`; + chomp($vers); + if ($vers !~ /^\d\d\d\d[a-z]$/) { + die "ERROR: uknown version format: $type: $vers\n"; + } + system("mv NEWS NEWS.$type"); + return $vers; +} + +# Build the package +# +sub do_build { + print "Build...\n"; + + system("cd tzdata; " . + "touch NEWS; " . + "make TOPDIR=./tmp INSTALL;"); +} + +############################################################################ +# DO_LIST +############################################################################ + +# Get a list of all zones in the tzdata files which we will create +# modules for. Store a list of them and the associated module name. +# +# Stored in: _zone +# +sub do_list { + print "List...\n"; + + # + # Get a list of zones from all Zone lines in the standard files in + # the tzdata package. + # + + my(@zone); + + foreach my $file (@Date::Manip::TZdata::StdFiles) { + my @tmp = `grep '^Zone' tzdata/$file | awk '{print \$2}'`; + chomp(@tmp); + push(@zone,@tmp); + } + + # + # Generate a module name for every zone (excepting some which + # we're ignoring, or creating in other ways). + # + + my %module = (); + my %modname = (); + my %alias = (); + foreach my $zone (sort @zone) { + next if (exists $nontzdata_zones{$zone} || + exists $def_alias2{$zone}); + my $module = _do_list_modname(\%modname,$zone); + $module{$zone} = [ $module, "tzdata" ]; + $alias{$zone} = [ $zone, "tzdata" ]; + } + + # + # Generate a module name for every zone which is created as + # an offset (e.g. GMT-3). + # + + foreach my $zone (sort keys %nontzdata_zones) { + my($type,$val) = @{ $nontzdata_zones{$zone} }; + if ($type eq "offset") { + my $module = _do_list_modname(\%modname,$zone); + $module{$zone} = [ $module, "offset", $val ]; + $alias{$zone} = [ $zone, "offset" ]; + } + } + + # + # Handle all other special cases such as special aliases and + # ignored zones. + # + + foreach my $zone (sort keys %nontzdata_zones) { + my($type,$val) = @{ $nontzdata_zones{$zone} }; + if ($type eq "offset") { + next; + } elsif ($type eq "alias") { + warn "[do_list] unknown alias [$zone: $val]\n" + if (! exists $module{$val}); + $alias{$zone} = [ $val, $type ]; + } elsif ($type eq "ignore") { + $alias{$zone} = [ $val, $type ]; + } else { + warn "[do_list] unknown type [$zone: $type]\n"; + } + } + + # Write out the official list of zones and aliases. + + _yaml_write(\%module,"tzdata/_zone_list",0); + _yaml_write(\%alias, "tzdata/_alias_list",0); +} + +# Takes a hashref $module{MODNAME} = ZONE and a zone and comes up +# with a unique module name for it. It returns the name of the module +# (as well as adds it to the hash). +# +sub _do_list_modname { + my($modnames,$zone) = @_; + + my $modname = ""; + if ($zone =~ /\//) { + my @tmp = split(/\//,$zone); + $modname = substr($tmp[0],0,2) . substr($tmp[$#tmp],0,4); + } else { + $modname = substr($zone,0,6); + } + $modname =~ s/\-/m/g; + $modname =~ s/\+/p/g; + + my $i = "00"; + while (exists $$modnames{"$modname$i"}) { + $i++; + } + $modname .= $i; + $$modnames{$modname} = 1; + return lc($modname); +} + +############################################################################ +# DO_DUMP +############################################################################ + +# Dump every zone. +# +# Stored in: dump/MODNAME +# +sub do_dump { + print "Dump...\n"; + + my $tmp = _yaml_read("tzdata/_zone_list"); + my %module = %$tmp; + my $num = keys %module; + my $len = length($num); + my $i = 0; + + system("rm -rf tzdata/dump; " . + "mkdir tzdata/dump"); + + print " dumping "," "x($len-length($i)),"$i / $num"; + + foreach my $zone (keys %module) { + $i++; + print "\010"x($len*2+3)," "x($len-length($i)),"$i / $num"; + my($module,$type) = @{ $module{$zone} }; + next if ($type ne "tzdata"); + system("cd tzdata; " . + "tmp/etc/zdump -c $test_year -v $zone > dump/$module"); + } + print "\n"; +} + +############################################################################ +# DO_MODS +############################################################################ + +# Creates the modules. +# +sub do_mods { + print "Modules...\n"; + my $tzd = Date::Manip::TZdata->new(); + system("rm -f $mod_dir/*"); + + my $zone_list = _yaml_read("tzdata/_zone_list"); + my %zone_list = %$zone_list; + my $num = keys %zone_list; + my $len = length($num); + my $i = 0; + + my $abbrev = {}; + my $data = {}; + + print " module "," "x($len-length($i)),"$i / $num"; + + foreach my $zone (keys %zone_list) { + $i++; + print "\010"x($len*2+3)," "x($len-length($i)),"$i / $num"; + my($module,$type,@args) = @{ $zone_list{$zone} }; + + if ($type eq "tzdata") { + _do_mods_tzdata($tzd,$abbrev,$data,$zone,$module,@args); + + } elsif ($type eq "offset") { + _do_mods_offset($tzd,$abbrev,$data,$zone,$module,@args); + } + } + print "\n"; + + # $data now contains a hash of: + # YEAR => [ TYPE, VAL1, VAL2, ... ] + # where TYPE is currently blank. + # + # VALi is a reference to a time change [ ABB, OFFSET, ISDST ] + # + # TYPE will be set to one of the following: + # + # std0, : a standard year is one with two time changes which must + # std1 be with ISDST = 1 and 0, and both must be integers + # that differ by exactly 1. If the ISDST = 0 comes first, + # it is set to std0. Otherwise it is set to std1. + # last0, + # last1 : if it's a standard year AND the year is after $keep_year + # end : a non-standard year after $keep_year + # non : a non-standard year before $keep_year + + foreach my $zone (keys %$data) { + my $lasttype = ''; + foreach my $year (keys %{ $$data{$zone} }) { + my $type; + my @tmp = @{ $$data{$zone}{$year} }; + shift(@tmp); + + # Standard times must have two changes + + $type = 'std'; + $type = 'non' if (@tmp != 2); + + # Standard times must have both offsets on the hour. + + my ($off1,$off2); + if ($type eq 'std') { + $off1 = $tmp[0][1]; + $off2 = $tmp[1][1]; + if ($off1 !~ /:00:00$/ || + $off2 !~ /:00:00$/) { + $type = 'non'; + } else { + $type = 'std'; + } + } + + # Standard times must have offsets that are 1 hour apart. + + if ($type eq 'std') { + $off1 =~ s/:00:00$//; + $off2 =~ s/:00:00$//; + $type = 'non' if (abs($off1 - $off2) != 1); + } + + # Standard times have offsets with two offsets with ISDST = 0 and 1 + + my $std; + if ($type eq 'std' && + $tmp[0][2] == 1 && + $tmp[1][2] == 0) { + $std = 1; + } elsif ($type eq 'std' && + $tmp[0][2] == 0 && + $tmp[1][2] == 1) { + $std = 0; + } else { + $type = 'non'; + } + + # Set the type + + if ($type eq 'std') { + if ($year > $keep_year) { + $type = "last$std"; + } else { + $type .= $std; + } + + } elsif ($year > $keep_year) { + $type = 'end'; + } + + # We'll discard the very last year of a standard timezone + # because they end on the first change of a year instead of + # the second. + next if ($lasttype =~ /last/ && $type eq 'end'); + $lasttype = $type; + + $$data{$zone}{$year}[0] = $type; + } + } + + # Create a list of all EST5EDT style time zone aliases. + # These only apply during standard years. + # + # Also, we will ignore aliases when the abbreviations are + # offsets. + + my $alias2 = {}; + ZONE: foreach my $zone (keys %$data) { + foreach my $year (sort keys %{ $$data{$zone} }) { + my ($type,@tmp) = @{ $$data{$zone}{$year} }; + next if ($type ne 'std0' && + $type ne 'std1' && + $type ne 'last0' && + $type ne 'last1'); + + # The format is + # STDABB STDOFFHR DSTABB + # where STDABB and DSTABB are the abbreviations, and STDOFFHR + # is the offset for standard time as an integer negated. + + my ($stdabb,$dstabb,$stdoff); + if ($type eq 'std0' || $type eq 'last0') { + $stdabb = $tmp[0][0]; + $dstabb = $tmp[1][0]; + $stdoff = $tmp[0][1]; + } else { + $stdabb = $tmp[1][0]; + $dstabb = $tmp[0][0]; + $stdoff = $tmp[1][1]; + } + $stdoff =~ s/:00:00$//; + $stdoff *= -1; + + next if ($stdabb =~ /^[+-]?\d+$/ || + $dstabb =~ /^[+-]?\d+$/); + + my $alias = "${stdabb}${stdoff}${dstabb}"; + + if ($type eq 'last0' || $type eq 'last1') { + _do_mods_years($alias2,$zone,$alias,$year,9999); + next ZONE; + } + _do_mods_years($alias2,$zone,$alias,$year,$year); + } + } + + _yaml_write($data, 'tzdata/_data',0); + _yaml_write($alias2,'tzdata/_alias2_un',0); + + $abbrev = _order_elements($abbrev); + $alias2 = _order_elements($alias2); + + _yaml_write($abbrev,'tzdata/_abbrev_or',0); + _yaml_write($alias2,'tzdata/_alias2_or',0); +} + +# This creates a module from a tzdata dump. +# +sub _do_mods_tzdata { + my($tzd,$abbrev,$data,$zone,$module) = @_; + + my @lines = `cat tzdata/dump/$module`; + chomp(@lines); + + while (@lines && $lines[0] =~ /NULL$/) { + shift(@lines); + } + while (@lines && $lines[$#lines] =~ /NULL$/) { + pop(@lines); + } + + if (! @lines) { + warn "[_do_mods_tzdata] empty zone [$zone]\n"; + return; + } + + # Check the format of every line + my $err = _do_mods_tzdata_check($zone,@lines); + return if ($err); + _do_mods_tzdata_mod($tzd,$abbrev,$data,$zone,$module,@lines); +} + +# This checks every line in a zdump file to make sure it is the +# correct format. +# +sub _do_mods_tzdata_check { + my($zone,@lines) = @_; + my($dow) = '(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)'; + my($mon) = '(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + my($dom) = '(?:\d+)'; + my($time) = '(?:\d\d:\d\d:\d\d)'; + my($year) = '(?:\d\d\d\d)'; + my($drx) = qr/$dow\s+$mon\s+$dom\s+$time\s+$year/; + my($rx) = qr/\Q$zone\E\s+$drx\s+UT\s+=\s+$drx\s+\S+\s+isdst=[01]\s+gmtoff=\-?\d+$/; + + my($err) = 0; + foreach my $line (@lines) { + if ($line !~ /$rx/) { + warn "[_do_mods_tzdata] invalid line [$zone]\n $line\n"; + $err = 1; + } + } + return $err; +} + +sub _do_mods_tzdata_mod { + my($tzd,$abbrev,$data,$zone,$module,@lines) = @_; + + ### + ### Analyze the dump file and store information about all + ### time zone periods in a list. A time zone period is a + ### starting time and ending time during which the abbreviation, + ### offset, and ISDST values remain unchanged. + ### + ### The first line in the dump file defines when the pre-use + ### period (i.e. the period of time before the time zone was + ### actually defined) ended. + ### + ### After the first line, all lines (except the last one) appear as + ### pairs. The first one tells the time when a new time zone period + ### starts (which should be exactly 1 second after the previous + ### period ended) and the second line tells when the period ends. + ### + ### The last line defines the start of a new period that doesn't + ### have an end defined. If the year is after $keep_year, then + ### the period switches to LASTRULE handline. If it is before + ### $keep_year, then the time zone stopped doing DST changes and + ### stay in the same period for good. + ### + + # + # Parse the first dump line to determine the end of the + # pre-zone period. + # + + my @dates; + my $last = 1; # Whether or not to do LAST RULE + my ($year,$year2); + + my $line = shift(@lines); + my($dowU,$monU,$domU,$timeU,$yearU,$dowL,$monL,$domL,$timeL,$yearL, + $abb,$isdst) = _do_mods_splitdump($line); + + if ($isdst) { + warn "[_do_mods_tzdata] first line in DST [$zone]\n"; + return 1; + } + + # + # Calculate the offset of the pre-zone period. + # + + my @endUT = ($yearU,$monU,$domU,@{ $dmb->split("time",$timeU) }); + my @endLT = ($yearL,$monL,$domL,@{ $dmb->split("time",$timeL) }); + my @offset = @{ $dmb->calc_date_date(\@endUT,\@endLT) }; + my $offset = $dmb->join("offset",\@offset); + + if ($offset eq "" || + $abb eq "" || + $isdst eq "") { + warn "[_do_mods_tzdata] blank value in zone [$zone, @endUT]\n"; + return 1; + } + + # + # The pre-zone period starts on Jan 2 0001 at 00:00:00 and + # ends at the time from the first dump line. + # + + my @begUT = @{ $dmb->split("date",$first_date) }; + my @begLT = @{ $dmb->calc_date_time(\@begUT,\@offset) }; + @dates = ("0001",[@begUT],[@begLT],$offset,[@offset], + $abb,$isdst,[@endUT],[@endLT]); + + $year2 = $endUT[0]; + _do_mods_years($abbrev,$zone,$abb,"0001",$year2) if ($abb !~ /^[+-]?\d*$/); + $$data{$zone}{"0001"} = [ '', [$abb,$offset,$isdst] ]; + + # + # Parse every pair of dump lines. + # + + while (@lines) { + + # + # The first line is the start of the period + # + + $line = shift(@lines); + ($dowU,$monU,$domU,$timeU,$yearU,$dowL,$monL,$domL,$timeL,$yearL, + $abb,$isdst) = _do_mods_splitdump($line); + $year = $yearU; + + @begUT = ($yearU,$monU,$domU,@{ $dmb->split("time",$timeU) }); + @begLT = ($yearL,$monL,$domL,@{ $dmb->split("time",$timeL) }); + + my @tmp = @{ $dmb->calc_date_time(\@endUT,[0,0,1]) }; + if ($dmb->cmp(\@tmp,\@begUT) != 0) { + warn "[_do_mods_tzdata] invalid start in zone [$zone, @begUT]\n"; + return 1; + } + + @offset = @{ $dmb->calc_date_date(\@begUT,\@begLT) }; + $offset = $dmb->join("offset",\@offset); + + if ($offset eq "" || + $abb eq "" || + $isdst eq "") { + warn "[_do_mods_tzdata] blank value in zone [$zone, @begUT]\n"; + return 1; + } + + # + # If a second line exists, it is the end of the period. + # + # If no second line exists, then either we need to switch to + # LAST RULE behavior (if the year of the first line is after + # $keep_year), or the zone abandoned doing daylight savings + # time and this line reflects the time until 9999. + # + + if (@lines) { + + # A second line marks the end of the period + + my ($a,$i); + $line = shift(@lines); + ($dowU,$monU,$domU,$timeU,$yearU,$dowL,$monL,$domL,$timeL,$yearL, + $a,$i) = _do_mods_splitdump($line); + + @endUT = ($yearU,$monU,$domU,@{ $dmb->split("time",$timeU) }); + @endLT = ($yearL,$monL,$domL,@{ $dmb->split("time",$timeL) }); + + my @o = @{ $dmb->calc_date_date(\@endUT,\@endLT) }; + my $o = $dmb->join("offset",\@o); + + if ($o eq "" || + $a eq "" || + $i eq "") { + warn "[_do_mods_tzdata] blank value in zone [$zone, @endUT]\n"; + return 1; + } + + if ($o ne $offset || + $a ne $abb || + $i ne $isdst) { + warn "[_do_mods_tzdata] invalid value in zone [$zone, @endUT]\n"; + return 1; + } + + } elsif ($year > $keep_year && + ! exists $no_last{$zone}) { + + # If it's a single line after $keep_year, then it's the start + # of a regular LAST RULE style time change. Discard it... we'll + # use the LAST RULE to come up with those periods. + + last; + + } else { + + # A single line before $keep_year means that the time zone + # stopped doing DST stuff, and switched to a single offset. + # There is no LAST RULE in this case. + # + # This will also apply to zones which do not use the LAST + # RULE method. + + @endUT = @{ $dmb->split("date",$last_date) }; + @endLT = @{ $dmb->calc_date_time(\@endUT,\@offset) }; + $last = 0; + } + + # Now store the data for this time zone period + + push(@dates,$year,[@begUT],[@begLT],$offset,[@offset],$abb,$isdst,[@endUT],[@endLT]); + $year2 = $endUT[0]; + + if (exists $$data{$zone}{$year}) { + push(@{ $$data{$zone}{$year} },[$abb,$offset,$isdst]); + } else { + $$data{$zone}{$year} = [ '', [$abb,$offset,$isdst] ]; + } + + _do_mods_years($abbrev,$zone,$abb,$year,$year2) if ($abb !~ /^[+-]?\d*$/); + } + + ### + ### Now we'll analyze all the critical dates. Three different things + ### will occur: + ### + ### 1) For years < $keep_year, the data will simply get stored in + ### the module. + ### 2) For year = $keep_year, the data will be stored in the module + ### and used to determine how LAST RULE critical dates are + ### determined. + ### 3) For year > $keep_year, critical dates will not be stored, but + ### will be tested to make sure they are consistant with the methods + ### determined in 2). However, this step will be elsewhere. I will + ### use a dump script to create actual dumps and compare them to + ### the standard tzcode dump. + ### + + my @mod; # data to store in the module + my %last; # LAST RULE description + my @mon; + + if ($last) { + %last = _do_mods_lastrule($tzd,$zone); + @mon = sort keys %{ $last{"rules"} }; + } + + foreach my $mon (@mon) { + if ($mon == 1 || $mon == 12) { + # If a change ever happens in Jan/Dec in the LAST RULE, we + # may need to make sure that the year won't change (it would + # be horrible if it did). + warn "[_do_mods_tzdata] LAST RULE in Jan/Dec [$zone, $mon]\n"; + } + } + + my $didlast = 0; + my($begUT,$begLT,$endUT,$endLT,$offsetref); + while (@dates) { + ($year,$begUT,$begLT,$offset,$offsetref,$abb,$isdst,$endUT,$endLT,@dates) = @dates; + @offset = @$offsetref; + + if ($year <= $keep_year || ! $last) { + + # + # Store critical dates from dump files for years <= $keep_year + # + + push(@mod,$year,$begUT,$begLT,$offset,$offsetref,$abb,$isdst,$endUT,$endLT); + + if ($year == $keep_year && $last) { + + my $mon = shift(@mon); + return 1 if (! $mon); + + if ($isdst != $last{"rules"}{$mon}{"isdst"}) { + warn "[_do_mods_tzdata] isdst mismatch in LAST RULE " . + "[$zone, $mon]\n"; + return 1; + } + if ($offset ne + $last{"zone"}{ ($isdst ? "dstoff" : "stdoff") }) { + warn "[_do_mods_tzdata] offset mismatch in LAST RULE " . + "[$zone, $mon]\n"; + return 1; + } + + $last{"rules"}{$mon}{"abb"} = $abb; + _do_mods_years($abbrev,$zone,$abb,$keep_year+1,9999) + if ($abb !~ /^[+-]?\d*$/); + $didlast++; + } + } + } + + if ($last && $didlast != 2) { + warn "[_do_mods_tzdata] LAST RULE incomplete [$zone]\n"; + return 1; + } + + _do_mods_write($zone,$module,[@mod],%last); +} + +# This returns a hash of information concerning "last rules". This +# information will allow us to calculate critical dates in future +# years. +# +# Information consists of: +# flag,dow,num : See TZdata.pm (used to calculate a DoM) +# add : Some of the DoM calculations do not +# return the final DoM after offsets have +# been applied. If this is +1, it'll add +# a day. If it's -1, it'll subtract a day. +# time,abb,offset : Information that should be constant. +# dst : Whether it is a change to DST or not. +# +sub _do_mods_lastrule { + my($tzd,$zone) = @_; + + # Get the rule dates that apply to $keep_year + + my @rules = $tzd->_zoneInfo($zone,"rules",$keep_year); + my @r; + while (@rules) { + my $rule = shift(@rules); + my $type = shift(@rules); + + # All LAST RULES are currently of type TZ_RULE . If this + # ever changes, we'll have to add support. + if ($type != $Date::Manip::TZdata::TZ_RULE) { + warn "[_do_mods_lastrule] unsupported rule type [$zone]\n"; + return ""; + } + + push(@r,$tzd->_ruleInfo($rule,"rules",$keep_year)); + } + + # Make sure that there are exactly two rules. If there are + # not, we'll need to add support. + + if ($#r != 1) { + warn "[_do_mods_lastrule] two rules required [$zone]\n"; + return ""; + } + + # Also get the zone line that applies. There must be one or + # we'll need to add support. + + my @zone = $tzd->_zoneInfo($zone,"zonelines",$keep_year); + if ($#zone != 0) { + warn "[_do_mods_lastrule] one zone line required [$zone]\n"; + return ""; + } + + # Analyze the rules/zone to get the "last rule" (i.e. information + # that can be used to calculate critical dates in future years). + # + # Some additional information will be added once dump lines are + # analyzed. + + my %last = ( "year" => $keep_year + 1, + "zone" => { "stdoff" => $dmb->_delta_convert("offset",$zone[0][0]), + "dstoff" => '' }, + "rules" => {}, + ); + + my $totdst = 0; + my $totst = 0; + foreach my $rule (@r) { + my($y0,$y1,$ytype,$mon,$flag,$dow,$num,$timetype,$time,$offset, + $lett) = @$rule; + my $isdst = ($offset eq "00:00:00" ? 0 : 1); + $totdst += $isdst; + $totst += (1-$isdst); + + if ($isdst) { + my $dstoff = $dmb->calc_time_time( $dmb->split("time",$last{"zone"}{"stdoff"}), + $dmb->split("time",$offset)); + $dstoff = $dmb->join("offset",$dstoff); + $last{"zone"}{"dstoff"} = $dstoff; + } + + $mon="0$mon" if (length($mon) != 2); + + $last{"rules"}{$mon} = { "flag" => $flag, + "dow" => $dow, + "num" => $num, + "type" => $timetype, + "time" => $time, + "isdst" => $isdst, + "abb" => "", + }; + } + + # One rule must be standard time, one must be daylight savings time. + # If this is not the case, we'll have to add support. + + if (exists $last_zone_offsets{$zone}) { + if (! $last{"zone"}{"dstoff"}) { + $last{"zone"}{"dstoff"} = $last{"zone"}{"stdoff"}; + } + + my $expdst = $last_zone_offsets{$zone}{"dst"}; + my $expst = $last_zone_offsets{$zone}{"st"}; + if ($totdst != $expdst || + $totst != $expst) { + warn "\n" . + "[_do_mods_lastrule] wrong number of DST/STD offsets\n" . + " [exp $expdst/$expst got $totdst/$totst] [$zone]\n"; + return ""; + } + + } elsif ($totdst != 1 || $totst != 1) { + warn "[_do_mods_lastrule] 1 DST and 1 STD rule required [$zone]\n"; + return ""; + } + + return %last; +} + +# Split a dump line and return the values. +# +sub _do_mods_splitdump { + my($line) = @_; + my(%mon) = qw(Jan 01 Feb 02 Mar 03 Apr 04 May 05 Jun 06 + Jul 07 Aug 08 Sep 09 Oct 10 Nov 11 Dec 12); + my(%dow) = qw(Mon 1 Tue 2 Wed 3 Thu 4 Fri 5 Sat 6 Sun 7); + + my($z,$dowU,$monU,$domU,$timeU,$yearU,$utc,$equal, + $dowW,$monW,$domW,$timeW,$yearW,$abb,$isdst) = split(/\s+/,$line); + $isdst =~ s/isdst=//; + + $monU = $mon{$monU} if (exists $mon{$monU}); + $monW = $mon{$monW} if (exists $mon{$monW}); + $monU = "0$monU" if (length($monU) != 2); + $monW = "0$monW" if (length($monW) != 2); + + $dowU = $dow{$dowU} if (exists $dow{$dowU}); + $dowU = $dow{$dowW} if (exists $dow{$dowW}); + + $domU = "0$domU" if (length($domU) != 2); + $domW = "0$domW" if (length($domW) != 2); + + return ($dowU,$monU,$domU,$timeU,$yearU,$dowW,$monW,$domW,$timeW,$yearW, + $abb,$isdst); +} + +# This records an element as having been used in a given year. +# +sub _do_mods_years { + my($hash,$zone,$ele,$year,$year2) = @_; + + if (exists $$hash{$ele}{$zone}) { + $$hash{$ele}{$zone}[1] = $year2; + + } else { + $$hash{$ele}{$zone} = [$year,$year2]; + } +} + +# This creates a module from an offset. +# +sub _do_mods_offset { + my($tzd,$abbrev,$data,$zone,$module,$offset) = @_; + + my($abb) = $zone; + $abb =~ s/Etc\///; + _do_mods_years($abbrev,$zone,$abb,"0001","9999"); + + $offset = $dmb->_delta_convert("offset",$offset); + my @offset = @{ $dmb->split("offset",$offset) }; + + my @begUT = @{ $dmb->split("date",$first_date) }; + my @begLT = @{ $dmb->calc_date_time(\@begUT,\@offset) }; + + my @endUT = @{ $dmb->split("date",$last_date) }; + my @endLT = @{ $dmb->calc_date_time(\@endUT,\@offset) }; + + _do_mods_write($zone,$module, + ["0001",[@begUT],[@begLT],$offset,[@offset],$abb,0, + [@endUT],[@endLT]], + ()); + $$data{$zone}{"0001"} = [ '', [$abb,$offset,0] ]; +} + +sub _do_mods_write { + my($zone,$module,$dates,%last) = @_; + + # Store the critical dates in the module + + my @tmp = `cat tzdata/_version`; + chomp(@tmp); + my $tzdata_vers = "tzdata" . $tmp[0]; + my $tzcode_vers = "tzcode" . $tmp[1]; + my $timestamp = `date`; + chomp($timestamp); + + my $out = new IO::File; + $out->open(">$mod_dir/$module.pm"); + print $out "package # +Date::Manip::TZ::$module; +# Copyright (c) 2008-$curr_year Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# This file was automatically generated. Any changes to this file will +# be lost the next time 'tzdata' is run. +# Generated on: $timestamp +# Data version: $tzdata_vers +# Code version: $tzcode_vers + +# This module contains data from the zoneinfo time zone database. The original +# data was obtained from the URL: +# ftp://$tzdata_src/$tzdata_dir + +use strict; +use warnings; +require 5.010000; + +our (\%Dates,\%LastRule); +END { + undef \%Dates; + undef \%LastRule; +} + +our (\$VERSION); +\$VERSION='6.60'; +END { undef \$VERSION; } + +\%Dates = ( +"; + + my @dates = @$dates; + my $lastyear = 0; + my ($year,$begUT,$begLT,$offset,$offsetref,$abb,$isdst,$endUT,$endLT); + + while (@dates) { + ($year,$begUT,$begLT,$offset,$offsetref,$abb,$isdst,$endUT,$endLT,@dates) = + @dates; + $year += 0; + my $yrprt = $year . " "x(4-length($year)); + if ($year != $lastyear) { + if ($lastyear) { + print $out " ],\n"; + } + print $out " $yrprt =>\n"; + print $out " [\n"; + $lastyear = $year; + } + my $begUTs = $dmb->join("date",$begUT); + my $begLTs = $dmb->join("date",$begLT); + my $endUTs = $dmb->join("date",$endUT); + my $endLTs = $dmb->join("date",$endLT); + $begUT = join(",",map { $_+0 } @$begUT); + $begLT = join(",",map { $_+0 } @$begLT); + $endUT = join(",",map { $_+0 } @$endUT); + $endLT = join(",",map { $_+0 } @$endLT); + $offsetref = join(",",map { $_+0 } @$offsetref); + + print $out " [ [$begUT],[$begLT],'$offset',[$offsetref],\n"; + print $out " '$abb',$isdst,[$endUT],[$endLT],\n"; + print $out " '$begUTs','$begLTs','$endUTs','$endLTs' ],\n"; + } + + print $out " ],\n"; + + print $out "); + +\%LastRule = ( +"; + + if (exists $last{"year"}) { + print $out " 'zone' => {\n"; + foreach my $key (sort keys %{ $last{"zone"} }) { + my $val = $last{"zone"}{$key}; + print $out " "x16,"'$key' => '$val',\n"; + } + + print $out " }, + 'rules' => {\n"; + + foreach my $mon (sort keys %{ $last{"rules"} }) { + print $out " "x16,"'$mon' => {\n"; + my $flag = $last{"rules"}{$mon}{"flag"}; + if ($flag == $Date::Manip::TZdata::TZ_DOM) { + $flag = "dom"; + + } elsif ($flag == $Date::Manip::TZdata::TZ_LAST) { + $flag = "last"; + + } elsif ($flag == $Date::Manip::TZdata::TZ_GE) { + $flag = "ge"; + + } elsif ($flag == $Date::Manip::TZdata::TZ_LE) { + $flag = "le"; + } + $last{"rules"}{$mon}{"flag"} = $flag; + + foreach my $key (qw(flag dow num type time isdst abb)) { + print $out " "x25,"'$key'", " "x(7-length($key))," => '", + $last{"rules"}{$mon}{$key},"',\n"; + } + print $out " "x24,"},\n"; + } + + print $out " },\n"; + } + + print $out "); + +1; +"; + + $out->close; +} + +############################################################################ +# DO_OFF +############################################################################ + +sub do_off { + print "Offset modules...\n"; + + my $data = _yaml_read("tzdata/_data"); + + # Get a list of all zones which an offset appears in, and the year + # range of the offset. + + my %offset_un = ( 0 => {}, 1 => {} ); + + ZONE:foreach my $zone (keys %$data) { + my $lastoffset = ''; + my $lastisdst = ''; + my @year = sort keys %{ $$data{$zone} }; + while (@year) { + my $year = shift(@year); + + # The offset at the end of the previous year is still in + # affect. + + if ($lastoffset) { + _do_mods_years($offset_un{$lastisdst},$zone,$lastoffset,$year,$year); + } + + my ($type,@tmp) = @{ $$data{$zone}{$year} }; + + foreach my $tmp (@tmp) { + my($abb,$offset,$isdst) = @$tmp; + $lastoffset = $offset; + $lastisdst = $isdst; + + if ($type =~ /last/) { + _do_mods_years($offset_un{$isdst},$zone,$offset,$year,9999); + } else { + _do_mods_years($offset_un{$isdst},$zone,$offset,$year,$year); + } + } + + next ZONE if ($type =~ /last/); + _do_mods_years($offset_un{$lastisdst},$zone,$lastoffset,$year,9999) + if (! @year); + } + } + + # Convert %offset to a couple other formats that will be useful. + + my %offset_or; + $offset_or{0} = _order_elements($offset_un{0}); + $offset_or{1} = _order_elements($offset_un{1}); + + my %offset2_or; + foreach my $isdst (keys %offset_un) { + foreach my $offset (keys %{ $offset_un{$isdst} }) { + $offset2_or{$offset}{$isdst} = $offset_or{$isdst}{$offset}; + } + } + + # Come up with a module name for each offset. + + my %offmod; + my $o = "000"; + foreach my $offset (sort keys %offset2_or) { + my $offmod = "off$o"; + $offmod{$offset} = $offmod; + $o++; + } + + # Write out each module + + my $num = keys %offmod; + my $len = length($num); + my $i = 0; + + print " module "," "x($len-length($i)),"$i / $num"; + + _warn_changes($offset_or{0},$def_off{0},15,12,33,"0"); + _warn_changes($offset_or{1},$def_off{1},15,12,33,"1"); + + system("rm -f $off_dir/*"); + foreach my $offset (sort keys %offset2_or) { + $i++; + print "\010"x($len*2+3)," "x($len-length($i)),"$i / $num"; + + my $offmod = $offmod{$offset}; + _do_off($offset,$offmod,\%offset_or); + } + print "\n"; + + _yaml_write(\%offmod,"tzdata/_offmod",0); + _yaml_write(\%offset_un,"tzdata/_offset_un",0); + _yaml_write(\%offset_or,"tzdata/_offset_or",0); + _yaml_write(\%offset2_or,"tzdata/_offset2_or",0); +} + +sub _do_off { + my($offset,$module,$offset_or) = @_; + + my @tmp = `cat tzdata/_version`; + chomp(@tmp); + my $tzdata_vers = "tzdata" . $tmp[0]; + my $tzcode_vers = "tzcode" . $tmp[1]; + my $timestamp = `date`; + chomp($timestamp); + + my $out = new IO::File; + my $mod = "Date::Manip::Offset::$module"; + $out->open(">$off_dir/$module.pm"); + print $out "package # +Date::Manip::Offset::$module; +# Copyright (c) 2008-$curr_year Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# This file was automatically generated. Any changes to this file will +# be lost the next time 'tzdata' is run. +# Generated on: $timestamp +# Data version: $tzdata_vers +# Code version: $tzcode_vers + +# This module contains data from the zoneinfo time zone database. The original +# data was obtained from the URL: +# ftp://$tzdata_src/$tzdata_dir + +use strict; +use warnings; +require 5.010000; + +our (\$VERSION); +\$VERSION='6.60'; +END { undef \$VERSION; } + +our (\$Offset,\%Offset); +END { + undef \$Offset; + undef \%Offset; +} + +\$Offset = '$offset'; + +\%Offset = ( +"; + + foreach my $isdst (sort keys %$offset_or) { + next if (! exists $$offset_or{$isdst}{$offset}); + my @tmp = @{ $$offset_or{$isdst}{$offset} }; + + print $out " "x3,$isdst," => [\n"; + while (@tmp) { + my $zone = shift(@tmp); + my $year1 = shift(@tmp); + my $year2 = shift(@tmp); + $zone = lc($zone); + print $out " "x6,"'$zone',\n"; + } + print $out " "x6,"],\n"; + } + + print $out "); + +1; +"; + + $out->close; +} + +############################################################################ +# DO_ZONES +############################################################################ + +sub do_zones { + print "Zones module...\n"; + + my @tmp = `cat tzdata/_version`; + chomp(@tmp); + my $tzdata_vers = "tzdata" . $tmp[0]; + my $tzcode_vers = "tzcode" . $tmp[1]; + my $timestamp = `date`; + chomp($timestamp); + + my $zone_list = _yaml_read("tzdata/_zone_list"); + my $alias_list = _yaml_read("tzdata/_alias_list"); + my $offset2_or = _yaml_read("tzdata/_offset2_or"); + + my $out = new IO::File; + $out->open(">$zones_pm"); + my $pod = new IO::File; + $pod->open(">$zones_pod"); + + print $out "package Date::Manip::Zones; +# Copyright (c) 2008-$curr_year Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# This file was automatically generated. Any changes to this file will +# be lost the next time 'tzdata' is run. +# Generated on: $timestamp +# Data version: $tzdata_vers +# Code version: $tzcode_vers + +# This module contains data from the zoneinfo time zone database. The original +# data was obtained from the URL: +# ftp://$tzdata_src/$tzdata_dir + +use strict; +use warnings; +require 5.010000; + +our (\$VERSION); +\$VERSION='6.60'; +END { undef \$VERSION; } + +our (\$TzdataVersion,\$TzcodeVersion, + \$FirstDate,\$LastDate,\$LastYear, + \%Module,\%ZoneNames,\%Alias,\%Abbrev,\%Offmod); +END { + undef \$TzdataVersion; + undef \$TzcodeVersion; + undef \$FirstDate; + undef \$LastDate; + undef \$LastYear; + undef \%Module; + undef \%ZoneNames; + undef \%Alias; + undef \%Abbrev; + undef \%Offmod; +} + +\$TzdataVersion = '$tzdata_vers'; +\$TzcodeVersion = '$tzcode_vers'; +\$FirstDate = '$first_date'; +\$LastDate = '$last_date'; +\$LastYear = '$keep_year'; + +"; + + print $pod " +# Copyright (c) 2008-$curr_year Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# This file was automatically generated. Any changes to this file will +# be lost the next time 'tzdata' is run. +# Generated on: $timestamp +# Data version: $tzdata_vers +# Code version: $tzcode_vers + +# This module contains data from the zoneinfo time zone database. The original +# data was obtained from the URL: +# ftp://$tzdata_src/$tzdata_dir + +$podstr + +$hdstr NAME + +Date::Manip::Zones - Time zone information + +$hdstr DESCRIPTION + +This module is automatically generated. It contains a complete list of +time zones specified in the standard zoneinfo (or Olson) databases +obtained from: + +L + +All information is stored in variables, so this module provide no +routines for dealing with time zone information. For routines related +to time zones, see the documentation for the L module. + +"; + + _do_zones_zones($out,$pod,$zone_list); + _do_zones_names($out,$zone_list); + _do_zones_aliases($out,$pod,$zone_list,$alias_list); + _do_zones_defaults($out,$pod,$offset2_or); + _do_zones_abbrevs($out,$pod); + _do_zones_offsets($out,$pod); + + print $out " +1; +"; + + $out->close; + + print $pod " +$hdstr KNOWN BUGS + +None known. + +$hdstr BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +$hdstr SEE ALSO + +L - main module documentation + +$hdstr LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +$hdstr AUTHOR + +Sullivan Beck (sbeck\@cpan.org) + +=cut +"; + +} + +sub _do_zones_zones { + my($out,$pod,$zone_list) = @_; + + print $out " +\%Module = ( +"; + + print $pod " +$hdstr TIME ZONES + +A description for each time zone from the zoneinfo database is stored +in a separate module. These modules will be loaded automatically as +needed, and are documented here for the sake of completeness. + +The modules are available as: + + Date::Manip::TZ::_MODULE_ + +where _MODULE_ is the name of the module for that specific time zone. + +The following time zones are derived from the standard zoneinfo +database: + +"; + + _print_pod_row($pod,1, 5,'TIME ZONE',35, 2,'MODULE NAME',20); + + foreach my $zone (sort keys %$zone_list) { + my($mod,$type) = @{ $$zone_list{$zone} }; + next if ($type ne "tzdata"); + + _print_pod_row($pod,0, 5,$zone,35, 2,$mod,0); + _print_mod_row($out, 2,$zone,35,'hashkey', 2,$mod,0,'hashval'); + } + + print $pod " +The following time zones are NOT derived from the standard zoneinfo +database. They are derived from other standard sources (including +RFC 822): + +"; + + _print_pod_row($pod,1, 5,'TIME ZONE',35, 2,'MODULE NAME',20); + + foreach my $zone (sort keys %$zone_list) { + my($mod,$type) = @{ $$zone_list{$zone} }; + next if ($type eq "tzdata"); + + _print_pod_row($pod,0, 5,$zone,35, 2,$mod,0); + _print_mod_row($out, 2,$zone,35,'hashkey', 2,$mod,0,'hashval'); + } + + print $out "); +"; +} + +sub _do_zones_names { + my($out,$zone_list) = @_; + + print $out " +\%ZoneNames = ( +"; + + foreach my $zone (sort keys %$zone_list) { + my($mod,$type) = @{ $$zone_list{$zone} }; + next if ($type ne "tzdata"); + + _print_mod_row($out, 2,$zone,35,'hashkey', 2,$zone,0,'hashval,nocase'); + } + + foreach my $zone (sort keys %$zone_list) { + my($mod,$type) = @{ $$zone_list{$zone} }; + next if ($type eq "tzdata"); + + _print_mod_row($out, 2,$zone,35,'hashkey', 2,$zone,0,'hashval,nocase'); + } + + print $out "); +"; +} + +sub _do_zones_aliases { + my($out,$pod,$zone_list,$alias_list) = @_; + + my $tzd = Date::Manip::TZdata->new(); + my %tzdalias = %{ $$tzd{"alias"} }; + my $alias2_un = _yaml_read("tzdata/_alias2_un"); + my $alias2_or = _yaml_read("tzdata/_alias2_or"); + + print $out " +\%Alias = ( +"; + + # Print out the standard 'zone => zone' aliases + + foreach my $zone (sort keys %$zone_list) { + _print_mod_row($out, 2,$zone,35,'hashkey', 2,$zone,0,'hashval'); + } + + # Print out alternate time zone names from tzdata files + + print $pod " +$hdstr TIME ZONE NAMES, ALIASES, AND ABBREVIATIONS + +Time zones may be referred to as their full name +(e.g. America/New_York), but there are also a number of standard +aliases and abbreviations that may be used. + +Standard aliases are listed below. Additional aliases can be created, +or existing aliases overridden using the C method of the +L module. + +The zoneinfo database provides several standard aliases, including: + +"; + + _print_pod_row($pod,1, 5,'ALTERNATE NAME',35, 2,'TIME ZONE',20); + + foreach my $alias (sort keys %tzdalias) { + my $zone = $tzdalias{$alias}; + + # Don't duplicate the 'zone => zone' or 'EST5EDT => zone' aliases + next if (exists $$zone_list{$zone} && $alias eq $zone); + next if (exists $$alias_list{$zone} && $$alias_list{$zone}[1] ne "tzdata"); + next if (exists $$alias2_un{$zone}); + + _print_pod_row($pod,0, 5,$alias,35, 2,$zone,0); + _print_mod_row($out, 2,$alias,35,'hashkey', 2,$zone,0,'hashval'); + } + + # Do the EST5EDT style aliases + + print $pod " +There are a large number of possible time zone aliases of the form +EST5EDT. The main 4 used in the United States are CST6CDT, EST5EDT, +MST7MDT, and PST8PDT and these are specifically called for in RFC 822, +so whenever possible, these will refer to the US time zones, but some +aliases may possibly refer to more than one time zone. In these +instances, I have selected one of them to be the default time zone to +use (based on how recently it was used, and for what period of +time). In the list below, all possible time zones are listed for each +alias. The first time zone listed is the one used by default. The +default alias can be overridden as described above. + +"; + + _print_pod_row($pod,1, 5,'ALTERNATE NAME',35, 2,'TIME ZONE',20); + + _warn_changes($alias2_or,\%def_alias2,3,16,42); + + foreach my $ele (sort keys %$alias2_or) { + my @tmp = @{ $$alias2_or{$ele} }; + my $first = $ele; + while (@tmp) { + my $alias = shift(@tmp); + my $year1 = shift(@tmp); + my $year2 = shift(@tmp); + _print_pod_row($pod,0, 5,$first,35, 2,$alias,0); + _print_mod_row($out, 2,$first,35,'hashkey', 2,$alias,0,'hashval') if ($first); + $first = ''; + } + } + + # Print out alternate time zone names other sources + + print $pod " +There are also a number of standard aliases. Some of these are +included to fix minor issues with the tzdata files. Others come from +standard sources including RFC 822 or the list of time zone names used +on Microsoft Windows operating systems. + +Aliases include: + +"; + + _print_pod_row($pod,1, 5,'ALTERNATE NAME',35, 2,'TIME ZONE',20); + + foreach my $alias (sort keys %$alias_list) { + my($zone,$type) = @{ $$alias_list{$alias} }; + next if ($type eq "tzdata" || $type eq "ignore"); + + # Don't duplicate the 'zone => zone' aliases + next if (exists $$zone_list{$zone} && $alias eq $zone); + + _print_pod_row($pod,0, 5,$alias,35, 2,$zone,0); + _print_mod_row($out, 2,$alias,35,'hashkey', 2,$zone,0,'hashval'); + } + + print $out "); +"; +} + +sub _do_zones_defaults { + my($out,$pod,$offset2_or) = @_; + + # Start the defaults (POD only) + + print $pod " +Periodically, we need to be able to determine a time zone based on an +offset. In addition, the ISDST may be known, and a date/time may be +available. The following table shows what time zones are examined based +on the offset, and in what order. The first match is used. If the +ISDST time is not known, the standard zones will be tested followed by +the DST zones. + +The default order can be overridden with the C method in the +L module. + +"; + + _print_pod_row($pod,1, 5,'ISDST',5, 2,'OFFSET',10, 2,'TIME ZONE',25); + + foreach my $isdst (0,1) { + + foreach my $off (sort { _cmp_zoneoffsets($a,$b) } keys %$offset2_or) { + next unless (exists $$offset2_or{$off}{$isdst}); + my @tmp = @{ $$offset2_or{$off}{$isdst} }; + my $zone = shift(@tmp); + my $year1= shift(@tmp); + my $year2= shift(@tmp); + + my $dst = $isdst; + + _print_pod_row($pod,0, 5,$dst,5, 2,$off,10, 2,$zone,0); + + $off = ""; + $dst = " "; + while (@tmp) { + $zone = shift(@tmp); + $year1 = shift(@tmp); + $year2 = shift(@tmp); + + _print_pod_row($pod,0, 5,$dst,5, 2,$off,10, 2,$zone,0); + } + } + print $pod "\n"; + } +} + +sub _cmp_zoneoffsets { + my($x,$y) = @_; + + # A negative offset comes before a positive one + + if ($x =~ /^-/ && $y =~ /^\+/) { + return -1; + } elsif ($y =~ /^-/ && $x =~ /^\+/) { + return +1; + } + + # Netgative offsets are sorted reverse. + + if ($x =~ /^-/) { + return ($y cmp $x); + } + + # Positive offsets are sorted normally. + + return ($x cmp $y); +} + +sub _do_zones_abbrevs { + my($out,$pod) = @_; + + my $abbrev_or = _yaml_read("tzdata/_abbrev_or"); + + # Start the aliases output (both POD and module) + + print $out " +\%Abbrev = ( +"; + + # Print out EST => ZONE aliases for abbreviations which only occur + # in a single zone. + + delete $$abbrev_or{'LMT'}; + delete $$abbrev_or{'zzz'}; + + # Print out EST => ZONE aliases + + print $pod " +In the time zone definitions, abbreviations are used to specify the +current time (e.g. EST in the America/New_York time zone). In some +cases, the abbreviation appears in only a single time zone, so for +these, there is no ambiguity. + +More often though, abbreviations are used in multiple time zones. When +a date is parsed that contains one of these abbreviations, it will try +to interpret the date using each of the time zones in the order listed +below until one is found which yields a valid date. + +The abbreviations LMT and zzz which occur in the zoneinfo databases +are ignored (and when parsing a date including them, the local time +zone will be used). + +The default order can be overridden using the C method of the +L module. + +The order given here is open to discussion (and possible change) based +on changes to the timezone database. I will always place emphasis on a +time zone that used the abbreviation more recently than another time zone. +Within those constraints, I've tried to put the more commonly used time zone +at a higher priority. Since I'm not always able to decide which is the +most commonly used, I'm willing to entertain arguments for altering the order. + +"; + + _print_pod_row($pod,1, 5,'ALIAS',15, 2,'TIME ZONE',20); + + _warn_changes($abbrev_or,\%def_abbrev,3,14,44); + + my (@abb) = sort keys %$abbrev_or; + foreach my $abb (@abb) { + my @tmp = @{ $$abbrev_or{$abb} }; + + my $first = $abb; + my $opts1 = 'hashkey'; + + while (@tmp) { + my $zone = shift(@tmp); + shift(@tmp); + shift(@tmp); + + _print_pod_row($pod,0, 5,$first,15, 2,$zone,0); + my $opts2 = 'list,hashval'; + $opts2 .= ',firstlist' if ($first); + $opts2 .= ',lastlist' if (! @tmp); + _print_mod_row($out, 2,$first,12,$opts1, 2,$zone,0,$opts2); + + $first = ''; + $opts1 = 'hashkey,noquote'; + } + } + + print $out " +); +"; +} + +sub _do_zones_offsets { + my($out,$pod) = @_; + + my $offmod = _yaml_read("tzdata/_offmod"); + + # Start the offset output (in this case, no POD output since it + # doesn't seem usefule. + + print $out " +\%Offmod = ( +"; + + foreach my $offset (sort keys %$offmod) { + my $mod = $$offmod{$offset}; + _print_mod_row($out, 2,$offset,10,'hashkey', 2,$mod,0,'hashval'); + } + + print $out " +); +"; +} + +############################################################################ +# PRINT OUT POD AND MODULE LINES + +sub _print_pod_row { + my($out,$header,@cols) = @_; + my $under = ''; + + while (@cols) { + my $indent = shift(@cols); + my $val = shift(@cols); + my $wid = shift(@cols); + $wid = length($val) if (! $wid); + + print $out ' 'x$indent,$val,' 'x($wid-length($val)); + $under .= ' 'x$indent . '-'x$wid; + } + print $out "\n"; + print $out "$under\n" if ($header); +} + +sub _print_mod_row { + my($out,@cols) = @_; + + while (@cols) { + my $indent = shift(@cols); + my $val = shift(@cols); + my $wid = shift(@cols); + my $opts = shift(@cols); + + $val = "'$val'" unless ($opts =~ /noquote/); + $val = lc($val) unless ($opts =~ /nocase/); + + if ($opts =~ /hashkey/) { + # nothing + + } elsif ($opts =~ /hashval/) { + + if ($opts =~ /firstlist/ && $opts =~ /lastlist/) { + $val = "=> [ $val ],"; + + } elsif ($opts =~ /firstlist/) { + $val = "=> [ $val,"; + + } elsif ($opts =~ /lastlist/) { + $val = " $val ],"; + + } elsif ($opts =~ /list/) { + $val = " $val,"; + + } else { + $val = "=> $val,"; + } + + } else { + $val .= ','; + } + + $wid = length($val) if (! $wid); + + print $out ' 'x$indent,$val,' 'x($wid-length($val)); + } + print $out "\n"; +} + +############################################################################ +# DEALING WITH THE ORDER OF ELEMENTS + +# This takes a hash: +# $in = { ELE => SUBELE => [YEAR1,YEAR2] } +# and returns a hash of the form: +# $out = { ELE => [ SUBELE, YEAR1, YEAR2, +# SUBELE, YEAR1, YEAR2, ... ] } +# +# The order of the elements sorted based on the range. +# +sub _order_elements { + my($in) = @_; + my $out; + + foreach my $ele (keys %$in) { + my @in = _sort_by_years($$in{$ele}); + + $$out{$ele} = []; + foreach my $subele (@in) { + my($year1,$year2) = @{ $$in{$ele}{$subele} }; + push(@{ $$out{$ele} },($subele,$year1,$year2)); + } + } + + return $out; +} + +# This sorts the keys of a hash of the form: +# $hash = { ELE => [YEAR1,YEAR2] } +# by years. +# +# o An element that is active now always comes before one that isn't +# active now. +# i.e. [2000-2020] < [1900-2000] (now = 2010) +# +# o A modern European timezone (WET, CET, EET) comes before others. +# +# o An Antarctica element comes after one that is not Antarctica +# +# o A military timezone (A-Z) comes after one that is not +# +# o A UT/UTC/*GMT* timezone comes after one that is not +# +# o An element that is active later comes before one that is active +# earlier. +# i.e. [X-1970] < [X-1960]; [X-2040] < [X-2020] +# +# o An element that is active further in the past comes before one +# that is active later. +# i.e. [1930-X] < [1940-X] +# +# o Alphabetize the rest. +# +sub _sort_by_years { + my($hash) = @_; + + return sort { __sort_by_years($$hash{$a},$$hash{$b},$a,$b) } keys %$hash; +} +sub __sort_by_years { + my($a,$b,$namea,$nameb) = @_; + + # Find out which elements are currently active + my $curra = ($$a[0] <= $curry && $$a[1] >= $curry ? 1 : 0); + my $currb = ($$b[0] <= $curry && $$b[1] >= $curry ? 1 : 0); + + # An element that is active now always comes before one that isn't + # active now. + if ($curra != $currb) { + return -1 if ($curra); + return 1; + } + + # A modern European timezone (WET, CET, EET) comes before others. + if ($namea =~ /^(WET|CET|EET)$/) { + return -1; + } elsif ($nameb =~ /^(WET|CET|EET)$/) { + return 1; + } + + # An Antarctica element comes after one that is not Antarctica + if ($namea =~ /Antarctica/) { + if ($nameb =~ /Antarctica/) { + return $namea cmp $nameb; + } else { + return 1; + } + } elsif ($nameb =~ /Antarctica/) { + return -1; + } + + # A military timezone (A-Z) comes after one that is not + + if ($namea =~ /^[A-Z]$/) { + if ($nameb =~ /^[A-Z]$/) { + return $namea cmp $nameb; + } else { + return 1; + } + } elsif ($nameb =~ /^[A-Z]$/) { + return -1; + } + + # A UT/UTC/*GMT* timezone comes after one that is not + + if ($namea =~ /UT/ || $namea =~ /GMT/) { + if ($nameb =~ /UT/ || $nameb =~ /GMT/) { + return $namea cmp $nameb; + } else { + return 1; + } + } elsif ($nameb =~ /UT/ || $nameb =~ /GMT/) { + return -1; + } + + # An element that is active later comes before one that is active + # earlier. + if ($$a[1] != $$b[1]) { + return -1 if ($$a[1] > $$b[1]); + return 1; + } + + # An element that is active further in the past comes before one + # that is active later. + if ($$a[0] != $$b[0]) { + return -1 if ($$a[0] < $$b[0]); + return 1; + } + + # We'll order anything else as America < Europe < Asia < other + my ($posa,$posb); + if ($namea =~ /^America/) { $posa = 1; } + elsif ($namea =~ /^Europe/) { $posa = 2; } + elsif ($namea =~ /^Asia/) { $posa = 3; } + else { $posa = 4; } + if ($nameb =~ /^America/) { $posb = 1; } + elsif ($nameb =~ /^Europe/) { $posb = 2; } + elsif ($nameb =~ /^Asia/) { $posb = 3; } + else { $posb = 4; } + return ($posa <=> $posb) if ($posa != $posb); + + # Alphabetize the rest + return $namea cmp $nameb; +} + +# This will warn if %curr is different than %prev. +# +sub _warn_changes { + my($curr,$prev,$indent,$col1_len,$col2_len,$header) = @_; + + my %tmp = map { $_,1 } (keys %$curr, keys %$prev); + + foreach my $ele (sort keys %tmp) { + + if (! exists $$curr{$ele}) { + + # If the element doesn't exist in the current set of + # elements, remove it from the previous set. + + _warn_changes_ele($header,$ele, + undef,$$prev{$ele},$indent,$col1_len,$col2_len); + + } elsif (! exists $$prev{$ele}) { + + # If the element doesn't exist in the old set, add it. + + _warn_changes_ele($header,$ele, + $$curr{$ele},undef,$indent,$col1_len,$col2_len); + + } elsif (! ref($$prev{$ele})) { + + # The previous element is defined as either a scalar: + # PREV_FIRST + # The current first element must be the same. + + if ($$curr{$ele}[0] ne $$prev{$ele}) { + _warn_changes_ele($header,$ele, + $$curr{$ele},$$prev{$ele}, + $indent,$col1_len,$col2_len); + } + + } else { + + # The previous element may be defined as a listref: + # [ OVERRIDE, PREV_FIRST ] + # + # This will warn if the current first element is not the + # same as PREV_FIRST. + # + # In the second case, it will also complain if OVERRIDE is not + # in the list. Finally, it will reorder the list to move OVERRIDE + # to the start of the list. + + if ($$prev{$ele}[1] ne $$curr{$ele}[0]) { + _warn_changes_ele($header,$ele, + $$curr{$ele},$$prev{$ele}, + $indent,$col1_len,$col2_len); + + } else { + my @old = @{ $$curr{$ele} }; + my @new; + my $found = 0; + while (@old) { + my $tz = shift(@old); + my $y1 = shift(@old); + my $y2 = shift(@old); + if ($tz eq $$prev{$ele}[0]) { + @new = ($tz,$y1,$y2,@new,@old); + $found = 1; + last; + } else { + push(@new,$tz,$y1,$y2); + } + } + if ($found) { + $$curr{$ele} = [@new]; + } else { + _warn_changes_ele($header,$ele, + $$curr{$ele},$$prev{$ele}[1], + $indent,$col1_len,$col2_len); + } + } + } + } +} + +sub _warn_changes_ele { + my($header,$ele,$curr,$prev,$indent,$col1_len,$col2_len) = @_; + + my $val; + if (! defined($curr)) { + warn "*** REMOVE ***\n"; + if (ref($prev)) { + $val = "[ $$prev[0], $$prev[1] ]"; + } else { + $val = $prev; + } + } elsif (! defined($prev)) { + warn "*** NEW ELEMENT ***\n"; + $val = $$curr[0]; + } else { + warn "*** CHANGE ELEMENT ***\n"; + if (ref($prev)) { + $val = "[ $$prev[0] => $$curr[0] ]"; + } else { + $val = $$curr[0]; + } + } + warn "$header\n" if (defined $header); + + $ele = "'$ele'"; + warn " "x$indent, $ele," "x($col1_len-length($ele)),"=> '$val'\n"; + + if (defined($curr)) { + my @tmp = @$curr; + while (@tmp) { + my $subele = shift(@tmp); + my $year1 = shift(@tmp); + my $year2 = shift(@tmp); + my($col2) = "'$subele'"; + my($col3) = ",$year1,$year2,"; + + warn "#"," "x($indent + $col1_len + 3), $col2, + " "x($col2_len-length($col2)),"$col3\n"; + } + } +} + +############################################################################ +# DO_CLEAN +############################################################################ + +sub do_clean { + print "Cleaning...\n"; + system("rm -rf tzdata* tzcode*"); +} + +############################################################################ + +sub _yaml_read { + my($file) = @_; + return {} if (! -e $file); + my($data) = YAML::LoadFile($file); + return {} if (! defined $data); + return $data; +} + +sub _yaml_write { + my($data,$file,$backup) = @_; + + rename($file,"$file.bak") if ($backup && -e $file); + YAML::DumpFile($file,$data); +} + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/internal/tztab b/internal/tztab new file mode 100644 index 0000000..330fc57 --- /dev/null +++ b/internal/tztab @@ -0,0 +1,670 @@ +@(#) tztab $Date: 2008/12/08 17:21:29 $Revision: r11.11/12 PATCH_11.11 (PHCO_39172) + +# Mitteleuropaeische Zeit, Mitteleuropaeische Sommerzeit +MEZ-1MESZ +0 3 25-31 3 1983-2038 0 MESZ-2 +0 2 24-30 9 1983-1995 0 MEZ-1 +0 2 25-31 10 1996-2038 0 MEZ-1 + +# Middle European Time, Middle European Time Daylight Savings Time +MET-1METDST +0 3 25-31 3 1983-2038 0 METDST-2 +0 2 24-30 9 1983-1995 0 MET-1 +0 2 25-31 10 1996-2038 0 MET-1 + +# Greenwich Mean Time, British Summer Time +GMT0BST +0 3 25-31 3 1983-1984 0 BST-1 +0 3 23-29 3 1985-1990 0 BST-1 +0 3 25-31 3 1991-1995 0 BST-1 +0 2 25-31 3 1996-2038 0 BST-1 +0 1 25-31 10 1983-1985 0 GMT0 +0 1 23-29 10 1986-1994 0 GMT0 +0 1 18-24 10 1995 0 GMT0 +0 1 25-31 10 1996-2038 0 GMT0 + +# Pacific Standard Time, Pacific Daylight Time +PST8PDT +0 3 24-30 4 1970-1973 0 PDT7 +0 3 6 1 1974 0-6 PDT7 +0 3 22-28 2 1975 0 PDT7 +0 3 24-30 4 1976-1986 0 PDT7 +0 3 1-7 4 1987-2006 0 PDT7 +0 3 8-14 3 2007-2038 0 PDT7 +0 1 25-31 10 1970-1973 0 PST8 +0 1 24-30 11 1974 0 PST8 +0 1 25-31 10 1975-2006 0 PST8 +0 1 1-7 11 2007-2038 0 PST8 + +# Eastern Standard Time, Eastern Daylight Time +EST5EDT +0 3 24-30 4 1970-1973 0 EDT4 +0 3 6 1 1974 0-6 EDT4 +0 3 22-28 2 1975 0 EDT4 +0 3 24-30 4 1976-1986 0 EDT4 +0 3 1-7 4 1987-2006 0 EDT4 +0 3 8-14 3 2007-2038 0 EDT4 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2006 0 EST5 +0 1 1-7 11 2007-2038 0 EST5 + +# Central Standard Time, Central Daylight Time +CST6CDT +0 3 24-30 4 1970-1973 0 CDT5 +0 3 6 1 1974 0-6 CDT5 +0 3 22-28 2 1975 0 CDT5 +0 3 24-30 4 1976-1986 0 CDT5 +0 3 1-7 4 1987-2006 0 CDT5 +0 3 8-14 3 2007-2038 0 CDT5 +0 1 25-31 10 1970-1973 0 CST6 +0 1 24-30 11 1974 0 CST6 +0 1 25-31 10 1975-2006 0 CST6 +0 1 1-7 11 2007-2038 0 CST6 + +# Mountain Standard Time, Mountain Daylight Time +MST7MDT +0 3 24-30 4 1970-1973 0 MDT6 +0 3 6 1 1974 0-6 MDT6 +0 3 22-28 2 1975 0 MDT6 +0 3 24-30 4 1976-1986 0 MDT6 +0 3 1-7 4 1987-2006 0 MDT6 +0 3 8-14 3 2007-2038 0 MDT6 +0 1 25-31 10 1970-1973 0 MST7 +0 1 24-30 11 1974 0 MST7 +0 1 25-31 10 1975-2006 0 MST7 +0 1 1-7 11 2007-2038 0 MST7 + +# The following entry is added, as Indiana +# will support Daylight Saving Time (DST) +# from 2006 onwards. Indiana will have two +# Time zones EST5EDT#Indiana and CST6CDT#Indiana, +# for provinces within Indiana supporting +# Eastern or Central Time Zone respectively. + +# Eastern Standard Time, Eastern Daylight Time(US: Indiana) +EST5EDT#Indiana +0 3 24-30 4 1970-1973 0 EST5 +0 3 6 1 1974 0-6 EST5 +0 3 22-28 2 1975 0 EST5 +0 3 24-30 4 1976-1986 0 EST5 +0 3 1-7 4 1987-2005 0 EST5 +0 3 1-7 4 2006 0 EDT#Indiana4 +0 3 8-14 3 2007-2038 0 EDT#Indiana4 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2005 0 EST5 +0 1 25-31 10 2006 0 EST5 +0 1 1-7 11 2007-2038 0 EST5 + +# Central Standard Time, Central Daylight Time(US: Indiana) +CST6CDT#Indiana +0 3 24-30 4 1970-1973 0 CST6 +0 3 6 1 1974 0-6 CST6 +0 3 22-28 2 1975 0 CST6 +0 3 24-30 4 1976-1986 0 CST6 +0 3 1-7 4 1987-2005 0 CST6 +0 3 1-7 4 2006 0 CDT#Indiana5 +0 3 8-14 3 2007-2038 0 CDT#Indiana5 +0 1 25-31 10 1970-1973 0 CST6 +0 1 24-30 11 1974 0 CST6 +0 1 25-31 10 1975-2005 0 CST6 +0 1 25-31 10 2006 0 CST6 +0 1 1-7 11 2007-2038 0 CST6 + +# US and Canada use the same rules. It is recommended to use the +# simpler timezone strings (EST5EDT, CST6CDT, MST7MDT and PST8PDT) +# for Canada. The timezones with #Canada are kept for +# compatibility reasons. + +# Atlantic Standard Time, Atlantic Daylight Time (Canada) +AST4ADT +0 3 24-30 4 1970-1973 0 ADT3 +0 3 6 1 1974 0-6 ADT3 +0 3 22-28 2 1975 0 ADT3 +0 3 24-30 4 1976-1986 0 ADT3 +0 3 1-7 4 1987-2006 0 ADT3 +0 3 8-14 3 2007-2038 0 ADT3 +0 1 25-31 10 1970-1973 0 AST4 +0 1 24-30 11 1974 0 AST4 +0 1 25-31 10 1975-2006 0 AST4 +0 1 1-7 11 2007-2038 0 AST4 + +# Newfoundland Standard Time, Newfoundland Daylight Time (Canada) +NST3:30NDT +0 3 24-30 4 1970-1973 0 NDT2:30 +0 3 6 1 1974 0-6 NDT2:30 +0 3 22-28 2 1975 0 NDT2:30 +0 3 24-30 4 1976-1986 0 NDT2:30 +0 3 1-7 4 1987-2006 0 NDT2:30 +0 3 8-14 3 2007-2038 0 NDT2:30 +0 1 25-31 10 1970-1973 0 NST3:30 +0 1 24-30 11 1974 0 NST3:30 +0 1 25-31 10 1975-2006 0 NST3:30 +0 1 1-7 11 2007-2038 0 NST3:30 + +# Atlantic Standard Time, Atlantic Daylight Time (Canada) +AST4ADT#Canada +0 3 24-30 4 1970-1973 0 ADT#Canada3 +0 3 6 1 1974 0-6 ADT#Canada3 +0 3 22-28 2 1975 0 ADT#Canada3 +0 3 24-30 4 1976-1986 0 ADT#Canada3 +0 3 1-7 4 1987-2006 0 ADT#Canada3 +0 3 8-14 3 2007-2038 0 ADT#Canada3 +0 1 25-31 10 1970-1973 0 AST4 +0 1 24-30 11 1974 0 AST4 +0 1 25-31 10 1975-2006 0 AST4 +0 1 1-7 11 2007-2038 0 AST4 + +# Newfoundland Standard Time, Newfoundland Daylight Time (Canada) +NST3:30NDT#Canada +0 3 24-30 4 1970-1973 0 NDT#Canada2:30 +0 3 6 1 1974 0-6 NDT#Canada2:30 +0 3 22-28 2 1975 0 NDT#Canada2:30 +0 3 24-30 4 1976-1986 0 NDT#Canada2:30 +0 3 1-7 4 1987-2006 0 NDT#Canada2:30 +0 3 8-14 3 2007-2038 0 NDT#Canada2:30 +0 1 25-31 10 1970-1973 0 NST3:30 +0 1 24-30 11 1974 0 NST3:30 +0 1 25-31 10 1975-2006 0 NST3:30 +0 1 1-7 11 2007-2038 0 NST3:30 + +# Eastern Standard Time, Central Daylight Time (US: Indiana) +EST5CDT +0 3 24-30 4 1970-1973 0 CDT5 +0 3 6 1 1974 0-6 CDT5 +0 3 22-28 2 1975 0 CDT5 +0 3 24-30 4 1976-1986 0 CDT5 +0 3 1-7 4 1987-2038 0 CDT5 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2038 0 EST5 + +# Aleutian Standard Time, Aleutian Daylight Time (US) +AST10ADT +0 3 24-30 4 1970-1973 0 ADT9 +0 3 6 1 1974 0-6 ADT9 +0 3 22-28 2 1975 0 ADT9 +0 3 24-30 4 1976-1986 0 ADT9 +0 3 1-7 4 1987-2006 0 ADT9 +0 3 8-14 3 2007-2038 0 ADT9 +0 1 25-31 10 1970-1973 0 AST10 +0 1 24-30 11 1974 0 AST10 +0 1 25-31 10 1975-2006 0 AST10 +0 1 1-7 11 2007-2038 0 AST10 + +# Yukon Standard Time, Yukon Daylight Time (US) +YST9YDT +0 3 24-30 4 1970-1973 0 YDT8 +0 3 6 1 1974 0-6 YDT8 +0 3 22-28 2 1975 0 YDT8 +0 3 24-30 4 1976-1986 0 YDT8 +0 3 1-7 4 1987-2006 0 YDT8 +0 3 8-14 3 2007-2038 0 YDT8 +0 1 25-31 10 1970-1973 0 YST9 +0 1 24-30 11 1974 0 YST9 +0 1 25-31 10 1975-2006 0 YST9 +0 1 1-7 11 2007-2038 0 YST9 + +# Western European Time, Western European Time Daylight Savings Time +WET0WETDST +0 3 25-31 3 1983-1984 0 WETDST-1 +0 3 23-29 3 1985-1995 0 WETDST-1 +0 2 25-31 3 1996-2038 0 WETDST-1 +0 1 25-31 10 1983-1985 0 WET0 +0 1 23-29 10 1986-1995 0 WET0 +0 1 25-31 10 1996-2038 0 WET0 + +# Portuguese Winter Time, Portuguese Summer Time +PWT0PST +0 2 25-31 3 1983-2038 0 PST-1 +0 1 25-31 10 1983-2038 0 PWT0 + +# South Africa Standard Time +SAST-2 +0 1 1-7 3 1985-2038 0 SAST-2 + +# Australian Central Standard Time, Australian Central Daylight Time +# (South Australia) +# Australian DST changes for South Australia. + +# Current Regulation in South Australia extends the Daylight Saving time +# only for year 2008 (later ending in April 2008 and early beginning in +# October 2008). The current entry assumes that Daylight Saving changes +# will be permanent and will match the changes in other Australian provinces. +# The entry will cause the extension of Daylight Savings time also for 2009 +# and future years. If the changes are not permanent, the entry will change again. + +CST-9:30CDT +0 3 25-31 10 1971-2007 0 CDT-10:30 +0 3 1-7 10 2008-2038 0 CDT-10:30 +0 1 27 2 1972 0-6 CST-9:30 +0 1 1-7 3 1973-1994 0 CST-9:30 +0 2 25-31 3 1995-2005 0 CST-9:30 +0 2 1-7 4 2006 0 CST-9:30 +0 2 25-31 3 2007 0 CST-9:30 +0 2 1-7 4 2008-2038 0 CST-9:30 + +# Australian Eastern Standard Time, Australian Eastern Daylight Time +# Australian DST changes for Australian Capital Territory. + +EST-10EDT +0 3 25-31 10 1971-1999 0 EDT-11 +0 3 27 8 2000 0-6 EDT-11 +0 3 25-31 10 2001-2007 0 EDT-11 +0 3 1-7 10 2008-2038 0 EDT-11 +0 1 27 2 1972 0-6 EST-10 +0 1 1-7 3 1973-1985 0 EST-10 +0 1 15-21 3 1986 0 EST-10 +0 1 1-7 3 1987-1995 0 EST-10 +0 2 25-31 3 1996-2005 0 EST-10 +0 2 1-7 4 2006 0 EST-10 +0 2 25-31 3 2007 0 EST-10 +0 2 1-7 4 2008-2038 0 EST-10 + +# New Zealand Standard Time, New Zealand Daylight Time +NZST-12NZDT +0 3 25-31 10 1985-1988 0 NZDT-13 +0 3 8 10 1989 0-6 NZDT-13 +0 3 1-7 10 1990-2006 0 NZDT-13 +0 3 24-30 9 2007-2038 0 NZDT-13 +0 2 1-7 3 1985-1989 0 NZST-12 +0 2 15-21 3 1990-2007 0 NZST-12 +0 2 1-7 4 2008-2038 0 NZST-12 + +# Pacific Standard Time, Pacific Daylight Time (for Malaysia or Singapore) +# +PST-8PDT +0 1 1-7 4 1996-2038 0 PDT-9 +0 1 25-31 10 1996-2038 0 PST-8 + +# Finland Standard Time, Finland Daylight Time +# +# This entry has been changed to allow for a later ending of +# Daylight Savings Time from 1996 onwards. +# It now ends on the last Sunday of October. +# +EET-2EETDST +0 4 25-31 3 1981-2038 0 EETDST-3 +0 3 24-30 9 1981-1995 0 EET-2 +0 3 25-31 10 1996-2038 0 EET-2 + +# Australian Eastern Standard Time, Australian Eastern Daylight Time (Tasmania) +# Australian DST changes for Tasmania. + +EST-10EDT#Tasmania +0 3 25-31 10 1971-1994 0 EDT#Tasmania-11 +0 3 1-7 10 1995-1999 0 EDT#Tasmania-11 +0 3 25-31 8 2000 0 EDT#Tasmania-11 +0 3 1-7 10 2001-2038 0 EDT#Tasmania-11 +0 1 27 2 1972 0-6 EST-10 +0 1 1-7 3 1973-1994 0 EST-10 +0 2 25-31 3 1995-2005 0 EST-10 +0 2 1-7 4 2006 0 EST-10 +0 2 25-31 3 2007 0 EST-10 +0 2 1-7 4 2008-2038 0 EST-10 + +# Australian Eastern Standard Time, Australian Eastern Daylight Time +# Australian DST changes for New South Wales. + +EST-10EDT#NSW +0 3 25-31 10 1971-1999 0 EDT#NSW-11 +0 3 27 8 2000 0-6 EDT#NSW-11 +0 3 25-31 10 2001-2007 0 EDT#NSW-11 +0 3 1-7 10 2008-2038 0 EDT#NSW-11 +0 1 27 2 1972 0-6 EST-10 +0 1 1-7 3 1973-1985 0 EST-10 +0 1 15-21 3 1986 0 EST-10 +0 2 1-7 3 1987-1995 0 EST-10 +0 2 25-31 3 1996-2005 0 EST-10 +0 2 1-7 4 2006 0 EST-10 +0 2 25-31 3 2007 0 EST-10 +0 2 1-7 4 2008-2038 0 EST-10 + +# Australian Eastern Standard Time, Australian Eastern Daylight Time +# Australian DST changes for Victoria. + +EST-10EDT#VIC +0 3 25-31 10 1971-1999 0 EDT#VIC-11 +0 3 27 8 2000 0-6 EDT#VIC-11 +0 3 25-31 10 2001-2007 0 EDT#VIC-11 +0 3 1-7 10 2008-2038 0 EDT#VIC-11 +0 1 27 2 1972 0-6 EST-10 +0 1 1-7 3 1973-1985 0 EST-10 +0 1 15-21 3 1986 0 EST-10 +0 1 1-7 3 1987-1994 0 EST-10 +0 2 25-31 3 1995-2005 0 EST-10 +0 2 1-7 4 2006 0 EST-10 +0 2 25-31 3 2007 0 EST-10 +0 2 1-7 4 2008-2038 0 EST-10 + +# Australian Western Standard Time, Australian Western Daylight Time +# +# This entry has been created for the trial daylight savings period +# in the Australian state of Western Australia. This entry only +# covers the trial period and additional changes will be required +# to extend entry if the referendum on daylight savings accepts +# daylight savings permanently. + +WST-8WDT +0 3 3 12 2006 0-6 WDT-9 +0 3 25-31 10 2007-2008 0 WDT-9 +0 2 25-31 3 2007-2009 0 WST-8 + +# Pacific Standard Time, Pacific Daylight Time (Canada) +PST8PDT#Canada +0 3 24-30 4 1970-1973 0 PDT#Canada7 +0 3 6 1 1974 0-6 PDT#Canada7 +0 3 22-28 2 1975 0 PDT#Canada7 +0 3 24-30 4 1976-1986 0 PDT#Canada7 +0 3 1-7 4 1987-2006 0 PDT#Canada7 +0 3 8-14 3 2007-2038 0 PDT#Canada7 +0 1 25-31 10 1970-1973 0 PST8 +0 1 24-30 11 1974 0 PST8 +0 1 25-31 10 1975-2006 0 PST8 +0 1 1-7 11 2007-2038 0 PST8 + +# Mountain Standard Time, Mountain Daylight Time (Canada) +MST7MDT#Canada +0 3 24-30 4 1970-1973 0 MDT#Canada6 +0 3 6 1 1974 0-6 MDT#Canada6 +0 3 22-28 2 1975 0 MDT#Canada6 +0 3 24-30 4 1976-1986 0 MDT#Canada6 +0 3 1-7 4 1987-2006 0 MDT#Canada6 +0 3 8-14 3 2007-2038 0 MDT#Canada6 +0 1 25-31 10 1970-1973 0 MST7 +0 1 24-30 11 1974 0 MST7 +0 1 25-31 10 1975-2006 0 MST7 +0 1 1-7 11 2007-2038 0 MST7 + +# Central Standard Time, Central Daylight Time (Canada) +CST6CDT#Canada +0 3 24-30 4 1970-1973 0 CDT#Canada5 +0 3 6 1 1974 0-6 CDT#Canada5 +0 3 22-28 2 1975 0 CDT#Canada5 +0 3 24-30 4 1976-1986 0 CDT#Canada5 +0 3 1-7 4 1987-2006 0 CDT#Canada5 +0 3 8-14 3 2007-2038 0 CDT#Canada5 +0 1 25-31 10 1970-1973 0 CST6 +0 1 24-30 11 1974 0 CST6 +0 1 25-31 10 1975-2006 0 CST6 +0 1 1-7 11 2007-2038 0 CST6 + +# Eastern Standard Time, Eastern Daylight Time (Canada) +EST5EDT#Canada +0 3 24-30 4 1970-1973 0 EDT#Canada4 +0 3 6 1 1974 0-6 EDT#Canada4 +0 3 22-28 2 1975 0 EDT#Canada4 +0 3 24-30 4 1976-1986 0 EDT#Canada4 +0 3 1-7 4 1987-2006 0 EDT#Canada4 +0 3 8-14 3 2007-2038 0 EDT#Canada4 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2006 0 EST5 +0 1 1-7 11 2007-2038 0 EST5 + +# Eastern Standard Time (US: Most of Indiana) +# +# This entry is added to correct the Indiana timezone because +# Indiana does not observe Daylight Savings Time. The original +# entry EST5CDT is kept to ensure backward compatibility. +EST5EST +0 3 24-30 4 1970-1973 0 EST5 +0 3 6 1 1974 0-6 EST5 +0 3 22-28 2 1975 0 EST5 +0 3 24-30 4 1976-1986 0 EST5 +0 3 1-7 4 1987-2038 0 EST5 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2038 0 EST5 + +# Eastern Standard Time, Central Daylight Time (US: Indiana) +# +# This entry is for backward compatibility only, the correct entry +# is the EST5CDT entry above. This entry is incorrect because the +# "6" in EST6CDT below should be a "5". Other than the "6" being +# changed to "5", this entry and EST5CDT are the same and the +# end result of using either is identical. +# +EST6CDT +0 3 24-30 4 1970-1973 0 CDT5 +0 3 6 1 1974 0-6 CDT5 +0 3 22-28 2 1975 0 CDT5 +0 3 24-30 4 1976-1986 0 CDT5 +0 3 1-7 4 1987-2038 0 CDT5 +0 1 25-31 10 1970-1973 0 EST5 +0 1 24-30 11 1974 0 EST5 +0 1 25-31 10 1975-2038 0 EST5 + +# Western Russia (Moscow) Time, Western Russia (Moscow) Daylight Savings +# Time +WST-3WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-4 +0 2 24-30 9 1983-1995 0 WST-3 +0 2 25-31 10 1996-2038 0 WST-3 + +# Belorussia (minsk) Time, Belorussia (minsk) Daylight Savings Time + +WST-2WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-3 +0 2 24-30 9 1983-1995 0 WST-2 +0 2 25-31 10 1996-2038 0 WST-2 + +# European Russia (samara) Time, European Russia (samara) Daylight Savings +#Time + +WST-4WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-5 +0 2 24-30 9 1983-1995 0 WST-4 +0 2 25-31 10 1996-2038 0 WST-4 + +# Urals (Ekaterinburg) Time, Urals (Ekaterinburg) Daylight Savings Time + +WST-5WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-6 +0 2 24-30 9 1983-1995 0 WST-5 +0 2 25-31 10 1996-2038 0 WST-5 + +# Western Siberia (Omsk), Western Siberia (Omsk) Daylight Savings Time + +WST-6WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-7 +0 2 24-30 9 1983-1995 0 WST-6 +0 2 25-31 10 1996-2038 0 WST-6 + +# Middle Siberia (Krasnoyarsk) Time, Middle Siberia (Krasnoyarsk) +# Daylight Savings Time + +WST-7WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-8 +0 2 24-30 9 1983-1995 0 WST-7 +0 2 25-31 10 1996-2038 0 WST-7 + +# Baikal lake (Irkutsk) Time, Baikal lake (Irkutsk) Daylight Savings Time + +WST-8WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-9 +0 2 24-30 9 1983-1995 0 WST-8 +0 2 25-31 10 1996-2038 0 WST-8 + +# Eastern Siberia (Yakutsk) Time, Eastern Siberia (Yakutsk) Daylight +# Savings Time + +WST-9WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-10 +0 2 24-30 9 1983-1995 0 WST-9 +0 2 25-31 10 1996-2038 0 WST-9 + +# Far East (Khabarovsk) Time, Far East (Khabarovsk) Daylight Savings +# Time + +WST-10WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-11 +0 2 24-30 9 1983-1995 0 WST-10 +0 2 25-31 10 1996-2038 0 WST-10 + +# Russia Pacific (magadan) Time, Russia Pacific (magadan) Daylight +# Savings Time + +WST-11WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-12 +0 2 24-30 9 1983-1995 0 WST-11 +0 2 25-31 10 1996-2038 0 WST-11 + +# Kamchatka (Petropavlovsk-Kamchatskiy) Time, Kamchatka(Petropavlovsk +# -Kamchatskiy) Daylight Savings Time + +WST-12WSTDST +0 3 25-31 3 1983-2038 0 WSTDST-13 +0 2 24-30 9 1983-1995 0 WST-12 +0 2 25-31 10 1996-2038 0 WST-12 + +# It is recommended to use PSM8PDM, MSM7MDM, CSM6CDM and MXST6MXDT for Mexico. +# Timezones PST8PDT#Mexico, MST7MDT#Mexico, CST6CDT#Mexico and MXST6MXDT#Mexico +# are kept for the compatibility reasons. Content of either set is same. + +# Timezone MXST6MXDT (Mexico City Standard Time, Mexico City Daylight Time) + +MXST6MXDT +0 3 24-30 4 1970-1973 0 MXDT5 +0 3 6 1 1974 0-6 MXDT5 +0 3 22-28 2 1975 0 MXDT5 +0 3 24-30 4 1976-1986 0 MXDT5 +0 3 1-7 4 1987-2000 0 MXDT5 +0 3 1-7 5 2001 0 MXDT5 +0 3 1-7 4 2002-2038 0 MXDT5 +0 1 25-31 10 1970-1973 0 MXST6 +0 1 24-30 11 1974 0 MXST6 +0 1 25-31 10 1975-2000 0 MXST6 +0 1 24-30 9 2001 0 MXST6 +0 1 25-31 10 2002-2038 0 MXST6 + +# Timezone MXST6MXDT#Mexico (Mexico City Standard Time, Mexico City Daylight Time) + +MXST6MXDT#Mexico +0 3 24-30 4 1970-1973 0 MXDT#Mexico5 +0 3 6 1 1974 0-6 MXDT#Mexico5 +0 3 22-28 2 1975 0 MXDT#Mexico5 +0 3 24-30 4 1976-1986 0 MXDT#Mexico5 +0 3 1-7 4 1987-2000 0 MXDT#Mexico5 +0 3 1-7 5 2001 0 MXDT#Mexico5 +0 3 1-7 4 2002-2038 0 MXDT#Mexico5 +0 1 25-31 10 1970-1973 0 MXST6 +0 1 24-30 11 1974 0 MXST6 +0 1 25-31 10 1975-2000 0 MXST6 +0 1 24-30 9 2001 0 MXST6 +0 1 25-31 10 2002-2038 0 MXST6 + +# Timezone PST8PDT#Mexico (Pacific Standard Time, Pacific Daylight Time) + +PST8PDT#Mexico +0 3 24-30 4 1970-1973 0 PDT#Mexico7 +0 3 6 1 1974 0-6 PDT#Mexico7 +0 3 22-28 2 1975 0 PDT#Mexico7 +0 3 24-30 4 1976-1986 0 PDT#Mexico7 +0 3 1-7 4 1987-2038 0 PDT#Mexico7 +0 1 25-31 10 1970-1973 0 PST8 +0 1 24-30 11 1974 0 PST8 +0 1 25-31 10 1975-2038 0 PST8 + +# Timezone MST7MDT#Mexico (Mountain Standard Time, Mountain Daylight Time) + +MST7MDT#Mexico +0 3 24-30 4 1970-1973 0 MDT#Mexico6 +0 3 6 1 1974 0-6 MDT#Mexico6 +0 3 22-28 2 1975 0 MDT#Mexico6 +0 3 24-30 4 1976-1986 0 MDT#Mexico6 +0 3 1-7 4 1987-2038 0 MDT#Mexico6 +0 1 25-31 10 1970-1973 0 MST7 +0 1 24-30 11 1974 0 MST7 +0 1 25-31 10 1975-2038 0 MST7 + +# Timezone CST6CDT#Mexico (Central Standard Time, Central Daylight Time) + +CST6CDT#Mexico +0 3 24-30 4 1970-1973 0 CDT#Mexico5 +0 3 6 1 1974 0-6 CDT#Mexico5 +0 3 22-28 2 1975 0 CDT#Mexico5 +0 3 24-30 4 1976-1986 0 CDT#Mexico5 +0 3 1-7 4 1987-2038 0 CDT#Mexico5 +0 1 25-31 10 1970-1973 0 CST6 +0 1 24-30 11 1974 0 CST6 +0 1 25-31 10 1975-2038 0 CST6 + +# Timezone PSM8PDM for Mexico (Pacific Standard Time, Pacific Daylight Time) + +PSM8PDM +0 3 24-30 4 1970-1973 0 PDM7 +0 3 6 1 1974 0-6 PDM7 +0 3 22-28 2 1975 0 PDM7 +0 3 24-30 4 1976-1986 0 PDM7 +0 3 1-7 4 1987-2038 0 PDM7 +0 1 25-31 10 1970-1973 0 PSM8 +0 1 24-30 11 1974 0 PSM8 +0 1 25-31 10 1975-2038 0 PSM8 + +# Timezone MSM7MDM for Mexico (Mountain Standard Time, Mountain Daylight Time) + +MSM7MDM +0 3 24-30 4 1970-1973 0 MDM6 +0 3 6 1 1974 0-6 MDM6 +0 3 22-28 2 1975 0 MDM6 +0 3 24-30 4 1976-1986 0 MDM6 +0 3 1-7 4 1987-2038 0 MDM6 +0 1 25-31 10 1970-1973 0 MSM7 +0 1 24-30 11 1974 0 MSM7 +0 1 25-31 10 1975-2038 0 MSM7 + +# Timezone CSM6CDM for Mexico (Central Standard Time, Central Daylight Time) + +CSM6CDM +0 3 24-30 4 1970-1973 0 CDM5 +0 3 6 1 1974 0-6 CDM5 +0 3 22-28 2 1975 0 CDM5 +0 3 24-30 4 1976-1986 0 CDM5 +0 3 1-7 4 1987-2038 0 CDM5 +0 1 25-31 10 1970-1973 0 CSM6 +0 1 24-30 11 1974 0 CSM6 +0 1 25-31 10 1975-2038 0 CSM6 + +# Time zone for Brasilia, Brazil(Brazil Standard Time, Brazil Daylight Time) + +BRST3BRDT +0 1 15-21 10 2008-2037 0 BRDT2 +0 23 14-20 2 2009-2011 6 BRST3 +0 23 21-27 2 2012 6 BRST3 +0 23 14-20 2 2013-2014 6 BRST3 +0 23 21-27 2 2015 6 BRST3 +0 23 14-20 2 2016-2022 6 BRST3 +0 23 21-27 2 2023 6 BRST3 +0 23 14-20 2 2024-2025 6 BRST3 +0 23 21-27 2 2026 6 BRST3 +0 23 14-20 2 2027-2033 6 BRST3 +0 23 21-27 2 2034 6 BRST3 +0 23 14-20 2 2035-2036 6 BRST3 +0 23 21-27 2 2037 6 BRST3 +0 23 14-20 2 2038 6 BRST3 + +# Time zone for West Brazil(Brazil West Standard Time, Brazil West Daylight Time) + +BRWST4BRWDT +0 1 15-21 10 2008-2037 0 BRWDT3 +0 23 14-20 2 2009-2011 6 BRWST4 +0 23 21-27 2 2012 6 BRWST4 +0 23 14-20 2 2013-2014 6 BRWST4 +0 23 21-27 2 2015 6 BRWST4 +0 23 14-20 2 2016-2022 6 BRWST4 +0 23 21-27 2 2023 6 BRWST4 +0 23 14-20 2 2024-2025 6 BRWST4 +0 23 21-27 2 2026 6 BRWST4 +0 23 14-20 2 2027-2033 6 BRWST4 +0 23 21-27 2 2034 6 BRWST4 +0 23 14-20 2 2035-2036 6 BRWST4 +0 23 21-27 2 2037 6 BRWST4 +0 23 14-20 2 2038 6 BRWST4 + +# Time zone for Argentina (Argentina Standard Time, Argentina Daylight Time) + +ARST3ARDT +0 1 15-21 10 2008 0 ARDT2 +0 23 14-20 3 2009 6 ARST3 diff --git a/internal/unicode b/internal/unicode new file mode 100755 index 0000000..3650e88 --- /dev/null +++ b/internal/unicode @@ -0,0 +1,104 @@ +#!/usr/bin/perl + +# http://perlmonks.org/?node_id=1084067 +# Script by Jim +#use v5.10; +use strict; +use warnings; +use utf8; + +use Encode qw( encode_utf8 ); +use Unicode::UCD qw( charblock ); + +binmode STDOUT, ':encoding(UTF-8)'; + +while (my $word = ) { + chomp $word; + + my $length_in_bytes = length_in_bytes($word); + my $length_in_code_points = length_in_code_points($word); + my $length_in_graphemes = length_in_graphemes($word); + my $code_points_in_blocks = code_points_in_blocks($word); + + printf "%-12s | Bytes: %2d | Code Points: %2d | Graphemes: %2d | Blocks: %s\n", + $word, + $length_in_bytes, + $length_in_code_points, + $length_in_graphemes, + $code_points_in_blocks; +} + +exit 0; + +sub length_in_bytes { + my $word = shift; + + my $length = length encode_utf8($word); + + return $length; +} + +sub length_in_code_points { + my $word = shift; + + my $length = length $word; + + return $length; +} + +sub length_in_graphemes { + my $word = shift; + + my $length = () = $word =~ m/\X/g; + + return $length; +} + +sub code_points_in_blocks { + my $word = shift; + + my %total_code_points_by; + my $blocks = ''; + + for my $character (split m//, $word) { + my $block = charblock(ord $character); + + $total_code_points_by{$block}++; + } + + for my $block (sort keys %total_code_points_by) { + my $total = $total_code_points_by{$block}; + + $blocks .= sprintf "%s%s (%d)", + (length $blocks ? ', ' : ''), $block, $total; + } + + return $blocks; +} + +__DATA__ +æ +æð +æða +æðaber +æðahnútur +æðakölkun +æðardúnn +æðarfugl +æðarkolla +æðarkóngur +æðarvarp +æði +æðimargur +æðisgenginn +æðiskast +æðislegur +æðrast +æðri +æðrulaus +æðruleysi +æðruorð +æðrutónn +æðstur +æður +æfa diff --git a/internal/windows.compare b/internal/windows.compare new file mode 100644 index 0000000..6df0655 --- /dev/null +++ b/internal/windows.compare @@ -0,0 +1,146 @@ +#!/usr/bin/perl +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +############################################################################### +# This script will check windows timezone information. + +my $new = 'windows.new'; +require "data.alias.pl"; + +############################################################################ +# MAIN PROGRAM +############################################################################ + +my %old = %windows_zones; +my %new = _parse($new); + +# Find deprecated zones + +my @old; +foreach my $key (keys %old) { + next if (exists $new{$key}); + push(@old,$key); +} + +if (@old) { + print "The following zones need to be removed:\n"; + foreach my $key (sort @old) { + print " $key\n"; + delete $old{$key}; + } + print "\n"; +} + +# Find new zones + +my @new; +foreach my $key (keys %new) { + next if (exists $old{$key}); + push(@new,$key); +} + +if (@new) { + print "The following zones need to be added (check that the zones are in tzdata):\n"; + foreach my $key (sort @new) { + my $val = $new{$key}; + print " \"$key\"" . " "x(32-length($key)) . "=> \"$val\",\n"; + delete $new{$key}; + } + print "\n"; +} + +# Find changed zones + +my @chg; +foreach my $key (keys %old) { + next if ($old{$key} eq $new{$key}); + push(@chg,$key); +} + +if (@chg) { + print "The following zones need to be changed (verify in tzdata first):\n"; + foreach my $key (sort @chg) { + my $val = $new{$key}; + print " \"$key\"" . " "x(32-length($key)) . "=> \"$val\",\n"; + } + print "\n"; +} + +############################################################################ +############################################################################ + +# It's a file of TAB separated lines: +# +# ALIAS \t TAG \t ZONE_LIST +# +# where ALIAS is the windows time zone name and ZONE_LIST is a space +# separated list of timezones. +# +# ALIAS may appear on multiple lines... use the first, and ZONE_LIST +# may have multiple zones... use the first. +# +sub _parse { + my($file) = @_; + my %ret; + + my @lines = `cat $file`; + chomp(@lines); + + my $n = 0; + foreach my $line (@lines) { + $n++; + + my @f = split(/\t/,$line); + if (@f != 3) { + warn "ERROR: invalid line: $file[$n]\n" . + " $line\n"; + } + + my($alias,$tmp,$zones) = @f; + next if (exists $ret{$alias}); + + my @tmp = split(/\s+/,$zones); + my $zone = $tmp[0]; + + $ret{$alias} = $zone; + } + + return %ret; +} + +# For CLDR 2.0 +# sub _parse { +# my($file) = @_; +# my %ret; + +# my @lines = `cat $file`; +# chomp(@lines); + +# my $n = 0; +# foreach my $line (@lines) { +# $n++; + +# if ($line =~ /^\s*(.*?)\s+any\s+(.*?)\s*$/) { +# $ret{$1} = $2; +# } else { +# warn "ERROR: invalid line: $file[$n]\n" . +# " $line\n"; +# } +# } + +# return %ret; +# } + +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip.pm b/lib/Date/Manip.pm new file mode 100644 index 0000000..4923e5d --- /dev/null +++ b/lib/Date/Manip.pm @@ -0,0 +1,55 @@ +package Date::Manip; +# Copyright (c) 2010-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +########################################################################### +########################################################################### + +use warnings; +use strict; +use Exporter; + +our $VERSION; +$VERSION='6.60'; + +our (@ISA,@EXPORT); + +my $backend; + +if ((exists $ENV{'DATE_MANIP'} && $ENV{'DATE_MANIP'} eq 'DM5') || + (defined $Date::Manip::Backend && $Date::Manip::Backend eq 'DM5')) { + $backend = 'Date::Manip::DM5'; + +} elsif ($] >= 5.010) { + $backend = 'Date::Manip::DM6'; + +} else { + $backend = 'Date::Manip::DM5'; +} + +my $backend_exp = $backend . "::EXPORT"; + +my $flag = eval "require $backend; $backend->import(); return 'loaded';"; +if (! $flag) { + die "ERROR LOADING MODULE: $backend"; +} + +{ + no strict 'refs'; + @EXPORT = @{ $backend_exp }; +} + +unshift (@ISA, $backend); + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip.pod b/lib/Date/Manip.pod new file mode 100644 index 0000000..e8ead2f --- /dev/null +++ b/lib/Date/Manip.pod @@ -0,0 +1,321 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip - Date manipulation routines + +=head1 DESCRIPTION + +Date::Manip is a series of modules designed to make any common +date/time operation easy to do. Operations such as comparing two +times, determining a date a given amount of time from another, or +parsing international times are all easily done. It deals with time +as it is used in the Gregorian calendar (the one currently in use) +with full support for time changes due to daylight saving time. + +From the very beginning, the main focus of Date::Manip has been to be +able to do ANY desired date/time operation easily. Many other modules +exist which may do a subset of these operations quicker or more +efficiently, but no other module can do all of the operations +available in Date::Manip. + +Since many other date/time modules exist, some of which may do the +specific operation(s) you need faster, be sure to read +L before +deciding which of the Date and Time modules from CPAN is for you. +However, if you want one module to do it all, Date::Manip is the +one to use. + +Date::Manip has functionality to work with several fundamental types +of data. + +=over 4 + +=item B + +The word date is used extensively here and is somewhat misleading. In +Date::Manip, a date consists of three pieces of information: a +calendar date, a time of day, and time zone information. Calendar +dates and times are fully handled. Time zones are handled as well, but +depending on how you use Date::Manip, there may be some limitations as +discussed below. + +=item B + +A delta is an amount of time (i.e. the amount of time between two different +dates). A delta refers only to an amount of time. It includes no information +about a starting or ending date/time. Most people will think of a delta +as an amount of time, but the term 'time' is already used so much in this +module that I didn't want to use it here in order to avoid confusion. + +=item B + +A recurring event is something which occurs on a regular recurring +basis. + +=item B and B + +Holidays and events are basically named dates or recurrences. + +=back + +Among other things, Date::Manip allow you to: + +=over 4 + +=item B<*> + +Enter a date in practically any format you choose. + +=item B<*> + +Compare two dates, entered in widely different formats to determine +which is earlier. + +=item B<*> + +Extract any information you want from a date using a format string +similar to the Unix date command. + +=item B<*> + +Determine the amount of time between two dates, or add an amount of +time to a date to get a second date. + +=item B<*> + +Work with dates with dates using international formats (foreign month +names, 12/10/95 referring to October rather than December, etc.). + +=item B<*> + +To find a list of dates where a recurring event happens. + +=back + +Each of these tasks is trivial (one or two lines at most) with this package. + +=head1 HOW TO USE DATE::MANIP + +There are three different ways to use Date::Manip . There are three +interfaces (version 5 functional interface, version 6 functional, and +version 6 object-oriented). A complete description of each is +included in the L document. The recommended +(and the only one with access to the full functionality of the module) +is using the Object-Oriented interface. + +=head1 SEE ALSO + +Because Date::Manip performs so many operations, the documentation is +extensive. It includes the following documents: + +=head2 Information about the different interfaces + +Read this for a detailed description of each of the interfaces, +including information on how to choose and use the interface +best suited to your situation. + +=over 4 + +=item L + +A complete description of the functional interfaces available. NOTE: +it is recommended that you use the OO interface wherever possible +as the functional interfaces have some imitations. + +=back + +=head2 A description of the functional interfaces: + +=over 4 + +=item L + +The version 5 functional interface + +=item L + +The version 6 functional interface + +=back + +=head2 Objects and configuration + +An introduction to the Date::Manip classes used by the object-oriented +interface and how to configure them: + +=over 4 + +=item L + +An overview of the various Date::Manip modules, and how to use them. + +=item L + +Information for configuring Date::Manip + +=back + +=head2 Date::Manip object-oriented modules + +These are the modules for using the object-oriented interface. + +=over 4 + +=item L + +This is the base class. All other classes listed here inherit the +methods defined in this class. + +=item L + +A module for doing low-level date operations. + +=item L + +A module for working with time zones. + +=item L + +The module for working with dates. + +=item L + +The module for working with deltas (amount of time). + +=item L + +The module for working with recurrences (recurring dates). + +=back + +=head2 Timezone information + +=over 4 + +=item L + +Time zone abbreviations used in the version 5 interface. + +=item L + +Time zone data included in Date::Manip used in the version 6 +interfaces. + +=back + +=head2 Miscellaneous information: + +=over 4 + +=item L + +Detailed information on how date calculations are done. + +=item L + +Information on defining and using holidays and events. + +=item L + +A sample config file. + +=item L + +Information about the languages supported by Date::Manip and how +to add a new language. + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +=item L + +A description of the parseable words in each language currently +supported by Date::Manip. + +=back + +=head2 Information about the module and administrative things: + +=over 4 + +=item L + +Information on changes necessary to scripts when upgrading from +5.xx to 6.xx. + +=item L + +Change log for Date::Manip 5.xx + +=item L + +Differences between version 5.xx and 6.00 (including information +on upgrading); this contains more details than the Migration5to6 +document. + +=item L + +Change log for Date::Manip 6.xx + +=item L + +Miscellaneous information about Date::Manip (who should use it; +acknowledgments). + +=item L + +Musings on the history of Date::Manip written around it's +20th birthday. + +=item L + +Common problems and instructions for reporting bugs. + +=item L + +Examples of how to use Date::Manip. + +=back + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Base.pm b/lib/Date/Manip/Base.pm new file mode 100644 index 0000000..a8aae90 --- /dev/null +++ b/lib/Date/Manip/Base.pm @@ -0,0 +1,2475 @@ +package Date::Manip::Base; +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +############################################################################### +# Any routine that starts with an underscore (_) is NOT intended for +# public use. They are for internal use in the the Date::Manip +# modules and are subject to change without warning or notice. +# +# ABSOLUTELY NO USER SUPPORT IS OFFERED FOR THESE ROUTINES! +############################################################################### + +require 5.010000; +use strict; +use warnings; +use integer; +use utf8; +#use re 'debug'; + +use Date::Manip::Obj; +use Date::Manip::TZ_Base; +our @ISA = qw(Date::Manip::Obj Date::Manip::TZ_Base); + +use Encode qw(encode_utf8 from_to find_encoding decode _utf8_off _utf8_on is_utf8); +require Date::Manip::Lang::index; + +our $VERSION; +$VERSION='6.60'; +END { undef $VERSION; } + +############################################################################### +# BASE METHODS +############################################################################### + +sub _init { + my($self) = @_; + + $self->_init_cache(); + $self->_init_language(); + $self->_init_config(); + $self->_init_events(); + $self->_init_holidays(); + $self->_init_now(); + + return; +} + +# The base object has some config-independant information which is +# always reused, and only needs to be initialized once. +sub _init_cache { + my($self) = @_; + return if (exists $$self{'cache'}{'init'}); + $$self{'cache'}{'init'} = 1; + + # ly => {Y} = 0/1 1 if it is a leap year + # ds1_mon => {Y}{M} = N days since 1BC for Y/M/1 + # dow_mon => {Y}{M} = DOW day of week of Y/M/1 + + $$self{'cache'}{'ly'} = {}; + $$self{'cache'}{'ds1_mon'} = {}; + $$self{'cache'}{'dow_mon'} = {}; + + return; +} + +# Config dependent data. Needs to be reset every time the config is reset. +sub _init_data { + my($self,$force) = @_; + return if (exists $$self{'data'}{'calc'} && ! $force); + + $$self{'data'}{'calc'} = {}; # Calculated values + + return; +} + +# Initializes config dependent data +sub _init_config { + my($self,$force) = @_; + return if (exists $$self{'data'}{'sections'}{'conf'} && ! $force); + $self->_init_data(); + + # + # Set config defaults + # + + $$self{'data'}{'sections'}{'conf'} = + { + # Reset config, holiday lists, or events lists + + 'defaults' => '', + 'eraseholidays' => '', + 'eraseevents' => '', + + # Which language to use when parsing dates. + + 'language' => '', + + # 12/10 = Dec 10 (US) or Oct 12 (anything else) + + 'dateformat' => '', + + # Define the work week (1=monday, 7=sunday) + # + # These have to be predefined to avoid a bootstrap issue, but + # the true defaults are defined below. + + 'workweekbeg' => 1, + 'workweekend' => 5, + + # If non-nil, a work day is treated as 24 hours long + # (WorkDayBeg/WorkDayEnd ignored) + + 'workday24hr' => '', + + # Start and end time of the work day (any time format allowed, + # seconds ignored). If the defaults change, be sure to change + # the starting value of bdlength above. + + 'workdaybeg' => '', + 'workdayend' => '', + + # 2 digit years fall into the 100 year period given by [ CURR-N, + # CURR+(99-N) ] where N is 0-99. Default behavior is 89, but + # other useful numbers might be 0 (forced to be this year or + # later) and 99 (forced to be this year or earlier). It can + # also be set to 'c' (current century) or 'cNN' (i.e. c18 + # forces the year to bet 1800-1899). Also accepts the form + # cNNNN to give the 100 year period NNNN to NNNN+99. + + 'yytoyyyy' => '', + + # First day of the week (1=monday, 7=sunday). ISO 8601 says + # monday. + + 'firstday' => '', + + # If this is 0, use the ISO 8601 standard that Jan 4 is in week + # 1. If 1, make week 1 contain Jan 1. + + 'jan1week1' => '', + + # Date::Manip printable format + # 0 = YYYYMMDDHH:MN:SS + # 1 = YYYYHHMMDDHHMNSS + # 2 = YYYY-MM-DD-HH:MN:SS + + 'printable' => '', + + # If 'today' is a holiday, we look either to 'tomorrow' or + # 'yesterday' for the nearest business day. By default, we'll + # always look 'tomorrow' first. + + 'tomorrowfirst' => 1, + + # Used to set the current date/time/timezone. + + 'forcedate' => 0, + 'setdate' => 0, + + # Use this to set the default range of the recurrence. + + 'recurrange' => '', + + # Use this to set the default time. + + 'defaulttime' => 'midnight', + + # Whether or not to use a period as a time separator. + + 'periodtimesep' => 0, + + # How to parse mmm#### strings + + 'format_mmmyyyy' => '', + + # *** DEPRECATED *** + + 'tz' => '', + }; + + # + # Calculate delta field lengths + # + + # non-business + $$self{'data'}{'len'}{'yrlen'} = 365.2425; + $$self{'data'}{'len'}{'0'} = + { 'yl' => 31556952, # 365.2425 * 24 * 3600 + 'ml' => 2629746, # yl / 12 + 'wl' => 604800, # 6 * 24 * 3600 + 'dl' => 86400, # 24 * 3600 + }; + $self->_calc_workweek(); + + # + # Initialize some config variables that do some additional work. + # + + $self->_config_var('workday24hr', 1); + $self->_config_var('workdaybeg', '08:00:00'); + $self->_config_var('workdayend', '17:00:00'); + $self->_config_var('workday24hr', 0); + + $self->_config_var('dateformat', 'US'); + $self->_config_var('yytoyyyy', 89); + $self->_config_var('jan1week1', 0); + $self->_config_var('printable', 0); + $self->_config_var('firstday', 1); + $self->_config_var('workweekbeg', 1); + $self->_config_var('workweekend', 5); + $self->_config_var('language', 'english'); + $self->_config_var('recurrange', 'none'); + $self->_config_var('defaulttime', 'midnight'); + + # Set OS specific defaults + + my $os = $self->_os(); + + return; +} + +sub _calc_workweek { + my($self,$beg,$end) = @_; + + $beg = $self->_config('workweekbeg') if (! $beg); + $end = $self->_config('workweekend') if (! $end); + + $$self{'data'}{'len'}{'workweek'} = $end - $beg + 1; + + return; +} + +sub _calc_bdlength { + my($self) = @_; + + my @beg = @{ $$self{'data'}{'calc'}{'workdaybeg'} }; + my @end = @{ $$self{'data'}{'calc'}{'workdayend'} }; + + $$self{'data'}{'len'}{'bdlength'} = + ($end[0]-$beg[0])*3600 + ($end[1]-$beg[1])*60 + ($end[2]-$beg[2]); + + return; +} + +sub _init_business_length { + my($self) = @_; + + no integer; + my $x = $$self{'data'}{'len'}{'workweek'}; + my $y_to_d = $x/7 * 365.2425; + my $d_to_s = $$self{'data'}{'len'}{'bdlength'}; + my $w_to_d = $x; + + $$self{'data'}{'len'}{'1'} = { 'yl' => $y_to_d * $d_to_s, + 'ml' => $y_to_d * $d_to_s / 12, + 'wl' => $w_to_d * $d_to_s, + 'dl' => $d_to_s, + }; + + return; +} + +# Events and holidays are reset only when they are read in. +sub _init_events { + my($self,$force) = @_; + return if (exists $$self{'data'}{'events'} && ! $force); + + # {data}{sections}{events} = [ STRING, EVENT_NAME, ... ] + # + # {data}{events}{I}{type} = TYPE + # {name} = NAME + # TYPE: specified An event with a start/end date (only parsed once) + # {beg} = DATE_OBJECT + # {end} = DATE_OBJECT + # TYPE: ym + # {beg} = YM_STRING + # {end} = YM_STRING (only for YM;YM) + # {YEAR} = [ DATE_OBJECT, DATE_OBJECT ] + # TYPE: date An event specified by a date string and delta + # {beg} = DATE_STRING + # {end} = DATE_STRING (only for Date;Date) + # {delta} = DELTA_OBJECT (only for Date;Delta) + # {YEAR} = [ DATE_OBJECT, DATE_OBJECT ] + # TYPE: recur + # {recur} = RECUR_OBJECT + # {delta} = DELTA_OBJECT + # + # {data}{eventyears}{YEAR} = 0/1 + # {data}{eventobjs} = 0/1 + + $$self{'data'}{'events'} = {}; + $$self{'data'}{'sections'}{'events'} = []; + $$self{'data'}{'eventyears'} = {}; + $$self{'data'}{'eventobjs'} = 0; + + return; +} + +sub _init_holidays { + my($self,$force) = @_; + return if (exists $$self{'data'}{'holidays'} && ! $force); + + # {data}{sections}{holidays} = [ STRING, HOLIDAY_NAME, ... ] + # + # {data}{holidays}{init} = 1 if holidays have been initialized + # {ydone} = { Y => 1 } + # {yhols} = { Y => NAME => [Y,M,D] } + # {hols} = { NAME => Y => [Y,M,D] } + # {dates} = { Y => M => D => NAME } + # {defs} = [ NAME DEF NAME DEF ... ] + # NAME is the name of a holiday (it will + # be 'DMunnamed I' for the Ith unnamed + # holiday) + # DEF is a string or a Recur + # {data}{init_holidays} = 1 if currently initializing holidays + + $$self{'data'}{'holidays'} = {}; + $$self{'data'}{'sections'}{'holidays'} = []; + $$self{'data'}{'init_holidays'} = 0; + + return; +} + +sub _init_now { + my($self) = @_; + + # {'data'}{'now'} = { + # date => [Y,M,D,H,MN,S] now + # isdst => ISDST + # offset => [H,MN,S] + # abb => ABBREV + # + # force => 0/1 SetDate/ForceDate information + # set => 0/1 + # setsecs => SECS time (in secs since epoch) when + # SetDate was called + # setdate => [Y,M,D,H,MN,S] the date (IN GMT) we're calling + # now when SetDate was called + # + # tz => ZONE timezone we're working in + # systz => ZONE timezone of the system + # } + # + + $$self{'data'}{'now'} = {}; + $$self{'data'}{'now'}{'force'} = 0; + $$self{'data'}{'now'}{'set'} = 0; + $$self{'data'}{'tmpnow'} = []; + + return; +} + +# Language information only needs to be initialized if the language changes. +sub _init_language { + my($self,$force) = @_; + return if (exists $$self{'data'}{'lang'} && ! $force); + + $$self{'data'}{'lang'} = {}; # Current language info + $$self{'data'}{'rx'} = {}; # Regexps generated from language + $$self{'data'}{'words'} = {}; # Types of words in the language + $$self{'data'}{'wordval'} = {}; # Value of words in the language + + return; +} + +############################################################################### +# MAIN METHODS +############################################################################### + +sub leapyear { + my($self,$y) = @_; + $y += 0; + return $$self{'cache'}{'ly'}{$y} + if (exists $$self{'cache'}{'ly'}{$y}); + + $$self{'cache'}{'ly'}{$y} = 0, return 0 unless ($y % 4 == 0); + $$self{'cache'}{'ly'}{$y} = 1, return 1 unless ($y % 100 == 0); + $$self{'cache'}{'ly'}{$y} = 0, return 0 unless ($y % 400 == 0); + $$self{'cache'}{'ly'}{$y} = 1; + return 1; +} + +sub days_in_year { + my($self,$y) = @_; + return ($self->leapyear($y) ? 366 : 365); +} + +{ + my(@leap)=(31,29,31,30, 31,30,31,31, 30,31,30,31); + my(@nonl)=(31,28,31,30, 31,30,31,31, 30,31,30,31); + + sub days_in_month { + my($self,$y,$m) = @_; + + if ($m) { + return ($self->leapyear($y) ? $leap[$m-1] : $nonl[$m-1]); + } else { + return ($self->leapyear($y) ? @leap : @nonl); + } + } +} + +{ + # DinM = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) + my(@doy_days) = ( 0, 31, 59, 90,120,151,181,212,243,273,304,334,365); + + # Note: I tested storing both leap year and non-leap year days in + # a hash, but it was slightly slower. + + my($lyd,$n,$remain,$day,$y,$m,$d,$h,$mn,$s,$arg); + + sub day_of_year { + my($self,@args) = @_; + + no integer; + if ($#args == 1) { + + # $date = day_of_year($y,$day); + ($y,$n) = @args; + + $lyd = $self->leapyear($y); + $remain = ($n - int($n)); + $n = int($n); + + # Calculate the month and the day + for ($m=1; $m<=12; $m++) { + last if ($n<=($doy_days[$m] + ($m==1 ? 0 : $lyd))); + } + $d = $n-($doy_days[$m-1] + (($m-1)<2 ? 0 : $lyd)); + return [$y,$m,$d] if (! $remain); + + # Calculate the hours, minutes, and seconds into the day. + $remain *= 24; + $h = int($remain); + $remain = ($remain - $h)*60; + $mn = int($remain); + $remain = ($remain - $mn)*60; + $s = $remain; + + return [$y,$m,$d,$h,$mn,$s]; + + } else { + $arg = $args[0]; + @args = @$arg; + + ($y,$m,$d,$h,$mn,$s) = @args; + $lyd = $self->leapyear($y); + $lyd = 0 if ($m <= 2); + $day = ($doy_days[$m-1]+$d+$lyd); + return $day if ($#args==2); + + $day += ($h*3600 + $mn*60 + $s)/(24*3600); + return $day; + } + } +} + +sub days_since_1BC { + my($self,$arg) = @_; + + if (ref($arg)) { + my($y,$m,$d) = @$arg; + $y += 0; + $m += 0; + + if (! exists $$self{'cache'}{'ds1_mon'}{$y}{$m}) { + + if (! exists $$self{'cache'}{'ds1_mon'}{$y}{1}) { + + my($Ny,$N4,$N100,$N400,$cc,$yy); + + my $yyyy = "0000$y"; + + $yyyy =~ /(\d\d)(\d\d)$/o; + ($cc,$yy) = ($1,$2); + + # Number of full years since Dec 31, 1BC (starting at 0001) + $Ny = $y - 1; + + # Number of full 4th years (0004, 0008, etc.) since Dec 31, 1BC + $N4 = int($Ny/4); + + # Number of full 100th years (0100, 0200, etc.) + + $N100 = $cc + 0; + $N100-- if ($yy==0); + + # Number of full 400th years (0400, 0800, etc.) + $N400 = int($N100/4); + + $$self{'cache'}{'ds1_mon'}{$y}{1} = + $Ny*365 + $N4 - $N100 + $N400 + 1; + } + + my($i,$j); + my @mon = $self->days_in_month($y,0); + for ($i=2; $i<=12; $i++) { + $j = shift(@mon); + $$self{'cache'}{'ds1_mon'}{$y}{$i} = + $$self{'cache'}{'ds1_mon'}{$y}{$i-1} + $j; + } + } + + return ($$self{'cache'}{'ds1_mon'}{$y}{$m} + $d - 1); + + } else { + my($days) = $arg; + my($y,$m,$d); + + $y = int($days/$$self{'data'}{'len'}{'yrlen'})+1; + while ($self->days_since_1BC([$y,1,1]) > $days) { + $y--; + } + $m = 12; + while ( ($d=$self->days_since_1BC([$y,$m,1])) > $days ) { + $m--; + } + $d = ($days-$d+1); + return [$y,$m,$d]; + } +} + +sub day_of_week { + my($self,$date) = @_; + my($y,$m,$d) = @$date; + $y += 0; + $m += 0; + + my($dayofweek,$dec31) = (); + if (! exists $$self{'cache'}{'dow_mon'}{$y}{$m}) { + $dec31 = 7; # Dec 31, 1BC was Sunday + $$self{'cache'}{'dow_mon'}{$y}{$m} = + ( $self->days_since_1BC([$y,$m,1])+$dec31 ) % 7; + } + $dayofweek = ($$self{'cache'}{'dow_mon'}{$y}{$m}+$d-1) % 7; + $dayofweek = 7 if ($dayofweek==0); + return $dayofweek; +} + +# Can be the nth DoW of year or month (if $m given). Returns undef if +# the date doesn't exists (i.e. 5th Sunday in a month with only 4). +# +sub nth_day_of_week { + my($self,$y,$n,$dow,$m) = @_; + $y += 0; + $m = ($m ? $m+0 : 0); + + # $d is the current DoM (if $m) or DoY + # $max is the max value allowed for $d + # $ddow is the DoW of $d + + my($d,$max,$ddow); + + if ($m) { + $max = $self->days_in_month($y,$m); + $d = ($n<0 ? $max : 1); + $ddow = $self->day_of_week([$y,$m,$d]); + } else { + $max = $self->days_in_year($y); + $d = ($n<0 ? $max : 1); + if ($n<0) { + $d = $max; + $ddow = $self->day_of_week([$y,12,31]); + } else { + $d = 1; + $ddow = $self->day_of_week([$y,1,1]); + } + } + + # Find the first occurrence of $dow on or after $d (if $n>0) + # or the last occurrence of $dow on or before $d (if ($n<0); + + if ($dow < $ddow) { + $d += 7 - ($ddow-$dow); + } else { + $d += ($dow-$ddow); + } + $d -= 7 if ($d > $max); + + # Find the nth occurrence of $dow + + if ($n > 1) { + $d += 7*($n-1); + return undef if ($d > $max); + } elsif ($n < -1) { + $d -= 7*(-1*$n-1); + return undef if ($d < 1); + } + + # Return the date + + if ($m) { + return [$y,$m,$d]; + } + return $self->day_of_year($y,$d); +} + +{ + # Integer arithmetic doesn't work due to the size of the numbers. + no integer; + # my $sec_70 =($self->days_since_1BC([1970,1,1])-1)*24*3600; + my $sec_70 = 62135596800; + + # Using 'global' variables saves 4% + my($y,$m,$d,$h,$mn,$s,$sec,$sec_0,$tmp); + sub secs_since_1970 { + my($self,$arg) = @_; + + if (ref($arg)) { + ($y,$m,$d,$h,$mn,$s) = @$arg; + $sec_0 = ($self->days_since_1BC([$y,$m,$d])-1)*24*3600 + $h*3600 + + $mn*60 + $s; + $sec = $sec_0 - $sec_70; + return $sec; + + } else { + ($sec) = $arg; + $sec_0 = $sec_70 + $sec; + $tmp = int($sec_0/24/3600)+1; + my $ymd = $self->days_since_1BC($tmp); + ($y,$m,$d) = @$ymd; + $sec_0 -= ($tmp-1)*24*3600; + $h = int($sec_0/3600); + $sec_0 -= $h*3600; + $mn = int($sec_0/60); + $s = $sec_0 - $mn*60; + return [$y,$m,$d,$h,$mn,$s]; + } + } +} + +sub check { + my($self,$date) = @_; + my($y,$m,$d,$h,$mn,$s) = @$date; + + return 0 if (! $self->check_time([$h,$mn,$s]) || + $y<1 || $y>9999 || + $m<1 || $m>12); + + my $days = $self->days_in_month($y,$m); + + return 0 if ($d<1 || $d>$days); + return 1; +} + +sub check_time { + my($self,$hms) = @_; + my($h,$mn,$s) = @$hms; + + return 0 if ("$h:$mn:$s" !~ /^\d\d?:\d\d?:\d\d?$/o || + $h > 24 || $mn > 59 || $s > 59 || + ($h == 24 && ($mn || $s))); + return 1; +} + +sub week1_day1 { + my($self,$year) = @_; + my $firstday = $self->_config('firstday'); + return $self->_week1_day1($firstday,$year); +} + +sub _week1_day1 { + my($self,$firstday,$year) = @_; + my $jan1week1 = $self->_config('jan1week1'); + return $$self{'cache'}{'week1day1'}{$firstday}{$jan1week1}{$year} + if (exists $$self{'cache'}{'week1day1'}{$firstday}{$jan1week1}{$year}); + + # First week contains either Jan 4 (default) or Jan 1 + + my($y,$m,$d) = ($year,1,4); + $d = 1 if ($jan1week1); + + # Go back to the previous (counting today) $firstday + + my $dow = $self->day_of_week([$y,$m,$d]); + if ($dow != $firstday) { + $firstday = 0 if ($firstday == 7); + $d -= ($dow-$firstday); + if ($d<1) { + $y--; + $m = 12; + $d += 31; + } + } + + $$self{'cache'}{'week1day1'}{$firstday}{$jan1week1}{$year} = [ $y,$m,$d ]; + return [$y,$m,$d]; +} + +sub weeks_in_year { + my($self,$y) = @_; + my $firstday = $self->_config('firstday'); + return $self->_weeks_in_year($firstday,$y); +} + +sub _weeks_in_year { + my($self,$firstday,$y) = @_; + my $jan1week1 = $self->_config('jan1week1'); + return $$self{'cache'}{'wiy'}{$firstday}{$jan1week1}{$y} + if (exists $$self{'cache'}{'wiy'}{$firstday}{$jan1week1}{$y}); + + # Get the week1 day1 dates for this year and the next one. + my ($y1,$m1,$d1) = @{ $self->_week1_day1($firstday,$y) }; + my ($y2,$m2,$d2) = @{ $self->_week1_day1($firstday,$y+1) }; + + # Calculate the number of days between them. + my $diy = $self->days_in_year($y); + if ($y1 < $y) { + $diy += (32-$d1); + } else { + $diy -= ($d1-1); + } + if ($y2 < $y+1) { + $diy -= (32-$d2); + } else { + $diy += ($d2-1); + } + + $diy = $diy/7; + $$self{'cache'}{'wiy'}{$firstday}{$jan1week1}{$y} = $diy; + return $diy; +} + +sub week_of_year { + my($self,@args) = @_; + my $firstday = $self->_config('firstday'); + return $self->_week_of_year($firstday,@args); +} + +sub _week_of_year { + my($self,$firstday,@args) = @_; + my $jan1week1 = $self->_config('jan1week1'); + + if ($#args == 1) { + # (y,m,d) = week_of_year(y,w) + my($year,$w) = @args; + + return $$self{'cache'}{'woy1'}{$firstday}{$jan1week1}{$year}{$w} + if (exists $$self{'cache'}{'woy1'}{$firstday}{$jan1week1}{$year}{$w}); + + my $ymd = $self->_week1_day1($firstday,$year); + $ymd = $self->calc_date_days($ymd,($w-1)*7) if ($w > 1); + + $$self{'cache'}{'woy1'}{$firstday}{$jan1week1}{$year}{$w} = $ymd; + return $ymd; + } + + # (y,w) = week_of_year([y,m,d]) + my($y,$m,$d) = @{ $args[0] }; + + # Get the first day of the first week. If the date is before that, + # it's the last week of last year. + + my($y0,$m0,$d0) = @{ $self->_week1_day1($firstday,$y) }; + if ($y0==$y && $m==1 && $d<$d0) { + return($y-1,$self->_weeks_in_year($firstday,$y-1)); + } + + # Otherwise, we'll figure out how many days are between the two and + # divide by 7 to figure out how many weeks in it is. + + my $n = $self->day_of_year([$y,$m,$d]); + if ($y0<$y) { + $n += (32-$d0); + } else { + $n -= ($d0-1); + } + my $w = 1+int(($n-1)/7); + + # Make sure we're not into the first week of next year. + + if ($w>$self->_weeks_in_year($firstday,$y)) { + return($y+1,1); + } + return($y,$w); +} + +############################################################################### +# CALC METHODS +############################################################################### + +sub calc_date_date { + my($self,$date0,$date1) = @_; + + # Order them so date0 < date1 + # If $minus = 1, then the delta is negative + + my $minus = 0; + my $cmp = $self->cmp($date0,$date1); + + if ($cmp == 0) { + return [0,0,0]; + + } elsif ($cmp == 1) { + $minus = 1; + my $tmp = $date1; + $date1 = $date0; + $date0 = $tmp; + } + + my($y0,$m0,$d0,$h0,$mn0,$s0) = @$date0; + my($y1,$m1,$d1,$h1,$mn1,$s1) = @$date1; + + my $sameday = ($y0 == $y1 && $m0 == $m1 && $d0 == $d1 ? 1 : 0); + + # Handle the various cases. + + my($dh,$dm,$ds); + if ($sameday) { + ($dh,$dm,$ds) = @{ $self->_calc_hms_hms([$h0,$mn0,$s0],[$h1,$mn1,$s1]) }; + + } else { + # y0-m0-d0 h0:mn0:s0 -> y0-m0-d0 24:00:00 + # y1-m1-d1 h1:mn1:s1 -> y1-m1-d1 00:00:00 + + my $t1 = $self->_calc_hms_hms([$h0,$mn0,$s0],[24,0,0]); + my $t2 = $self->_calc_hms_hms([0,0,0],[$h1,$mn1,$s1]); + ($dh,$dm,$ds) = @{ $self->calc_time_time($t1,$t2) }; + + my $dd0 = $self->days_since_1BC([$y0,$m0,$d0]); + $dd0++; + my $dd1 = $self->days_since_1BC([$y1,$m1,$d1]); + $dh += ($dd1-$dd0)*24; + } + + if ($minus) { + $dh *= -1; + $dm *= -1; + $ds *= -1; + } + return [$dh,$dm,$ds]; +} + +sub calc_date_days { + my($self,$date,$n,$subtract) = @_; + my($y,$m,$d,$h,$mn,$s) = @$date; + my($ymdonly) = (defined $h ? 0 : 1); + + $n *= -1 if ($subtract); + my $d1bc = $self->days_since_1BC([$y,$m,$d]); + $d1bc += $n; + my $ymd = $self->days_since_1BC($d1bc); + + if ($ymdonly) { + return $ymd; + } else { + return [@$ymd,$h*1,$mn*1,$s*1]; + } +} + +sub calc_date_delta { + my($self,$date,$delta,$subtract) = @_; + my($y,$m,$d,$h,$mn,$s,$dy,$dm,$dw,$dd,$dh,$dmn,$ds) = (@$date,@$delta); + + ($y,$m,$d) = @{ $self->_calc_date_ymwd([$y,$m,$d], [$dy,$dm,$dw,$dd], + $subtract) }; + return $self->calc_date_time([$y,$m,$d,$h,$mn,$s],[$dh,$dmn,$ds],$subtract); +} + +sub calc_date_time { + my($self,$date,$time,$subtract) = @_; + my($y,$m,$d,$h,$mn,$s,$dh,$dmn,$ds) = (@$date,@$time); + + if ($ds > 59 || $ds < -59) { + $dmn += int($ds/60); + $ds = $ds % 60; + } + if ($dmn > 59 || $dmn < -59) { + $dh += int($dmn/60); + $dmn = $dmn % 60; + } + my $dd = 0; + if ($dh > 23 || $dh < -23) { + $dd = int($dh/24); + $dh = $dh % 24; + } + + # Handle subtraction + if ($subtract) { + $dh *= -1; + $dmn *= -1; + $ds *= -1; + $dd *= -1; + } + + if ($dd == 0) { + $y *= 1; + $m *= 1; + $d *= 1; + } else { + ($y,$m,$d) = @{ $self->calc_date_days([$y,$m,$d],$dd) }; + } + + $self->_mod_add(60,$ds,\$s,\$mn); + $self->_mod_add(60,$dmn,\$mn,\$h); + $self->_mod_add(24,$dh,\$h,\$d); + + if ($d<1) { + $m--; + $y--, $m=12 if ($m<1); + my $day_in_mon = $self->days_in_month($y,$m); + $d += $day_in_mon; + } else { + my $day_in_mon = $self->days_in_month($y,$m); + if ($d>$day_in_mon) { + $d -= $day_in_mon; + $m++; + $y++, $m=1 if ($m>12); + } + } + + return [$y,$m,$d,$h,$mn,$s]; +} + +sub _calc_date_time_strings { + my($self,$date,$time,$subtract) = @_; + my @date = @{ $self->split('date',$date) }; + return '' if (! @date); + my @time = @{ $self->split('time',$time) }; + + my @date2 = @{ $self->calc_date_time(\@date,\@time,$subtract) }; + + return $self->join('date',\@date2); +} + +sub _calc_date_ymwd { + my($self,$date,$ymwd,$subtract) = @_; + my($y,$m,$d,$h,$mn,$s) = @$date; + my($dy,$dm,$dw,$dd) = @$ymwd; + my($ymdonly) = (defined $h ? 0 : 1); + + $dd += $dw*7; + + if ($subtract) { + $y -= $dy; + $self->_mod_add(-12,-1*$dm,\$m,\$y); + $dd *= -1; + + } else { + $y += $dy; + $self->_mod_add(-12,$dm,\$m,\$y); + } + + my $dim = $self->days_in_month($y,$m); + $d = $dim if ($d > $dim); + + my $ymd; + if ($dd == 0) { + $ymd = [$y,$m,$d]; + } else { + $ymd = $self->calc_date_days([$y,$m,$d],$dd); + } + + if ($ymdonly) { + return $ymd; + } else { + return [@$ymd,$h,$mn,$s]; + } +} + +sub _calc_hms_hms { + my($self,$hms0,$hms1) = @_; + my($h0,$m0,$s0,$h1,$m1,$s1) = (@$hms0,@$hms1); + + my($s) = ($h1-$h0)*3600 + ($m1-$m0)*60 + $s1-$s0; + my($m) = int($s/60); + $s -= $m*60; + my($h) = int($m/60); + $m -= $h*60; + return [$h,$m,$s]; +} + +sub calc_time_time { + my($self,$time0,$time1,$subtract) = @_; + my($h0,$m0,$s0,$h1,$m1,$s1) = (@$time0,@$time1); + + if ($subtract) { + $h1 *= -1; + $m1 *= -1; + $s1 *= -1; + } + my($s) = (($h0+$h1)*60 + ($m0+$m1))*60 + $s0+$s1; + my($m) = int($s/60); + $s -= $m*60; + my($h) = int($m/60); + $m -= $h*60; + + return [$h,$m,$s]; +} + +############################################################################### + +# Returns -1 if date0 is before date1, 0 if date0 is the same as date1, and +# 1 if date0 is after date1. +# +sub cmp { + my($self,$date0,$date1) = @_; + return ($$date0[0] <=> $$date1[0] || + $$date0[1] <=> $$date1[1] || + $$date0[2] <=> $$date1[2] || + $$date0[3] <=> $$date1[3] || + $$date0[4] <=> $$date1[4] || + $$date0[5] <=> $$date1[5]); +} + +############################################################################### +# This determines the OS. + +sub _os { + my($self) = @_; + + my $os = ''; + + if ($^O =~ /MSWin32/io || + $^O =~ /Windows_95/io || + $^O =~ /Windows_NT/io + ) { + $os = 'Windows'; + + } elsif ($^O =~ /MacOS/io || + $^O =~ /MPE/io || + $^O =~ /OS2/io || + $^O =~ /NetWare/io + ) { + $os = 'Other'; + + } elsif ($^O =~ /VMS/io) { + $os = 'VMS'; + + } else { + $os = 'Unix'; + } + + return $os; +} + +############################################################################### +# Config variable functions + +# $self->config(SECT); +# Creates a new section (if it doesn't already exist). +# +# $self->config(SECT,'_vars'); +# Returns a list of (VAR VAL VAR VAL ...) +# +# $self->config(SECT,VAR,VAL); +# Adds (VAR,VAL) to the list. +# +sub _section { + my($self,$sect,$var,$val) = @_; + $sect = lc($sect); + + # + # $self->_section(SECT) creates a new section + # + + if (! defined $var && + ! exists $$self{'data'}{'sections'}{$sect}) { + if ($sect eq 'conf') { + $$self{'data'}{'sections'}{$sect} = {}; + } else { + $$self{'data'}{'sections'}{$sect} = []; + } + return ''; + } + + if ($var eq '_vars') { + return @{ $$self{'data'}{'sections'}{$sect} }; + } + + push @{ $$self{'data'}{'sections'}{$sect} },($var,$val); + return; +} + +# This sets a config variable. It also performs all side effects from +# setting that variable. +# +sub _config_var_base { + my($self,$var,$val) = @_; + + if ($var eq 'defaults') { + # Reset the configuration if desired. + $self->_init_config(1); + return; + + } elsif ($var eq 'eraseholidays') { + $self->_init_holidays(1); + return; + + } elsif ($var eq 'eraseevents') { + $self->_init_events(1); + return; + + } elsif ($var eq 'configfile') { + $self->_config_file($val); + return; + + } elsif ($var eq 'encoding') { + my $err = $self->_config_var_encoding($val); + return if ($err); + + } elsif ($var eq 'language') { + my $err = $self->_language($val); + return if ($err); + $err = $self->_config_var_encoding(); + return if ($err); + + } elsif ($var eq 'yytoyyyy') { + $val = lc($val); + if ($val ne 'c' && + $val !~ /^c\d\d$/o && + $val !~ /^c\d\d\d\d$/o && + $val !~ /^\d+$/o) { + warn "ERROR: [config_var] invalid: YYtoYYYY: $val\n"; + return; + } + + } elsif ($var eq 'workweekbeg') { + my $err = $self->_config_var_workweekbeg($val); + return if ($err); + + } elsif ($var eq 'workweekend') { + my $err = $self->_config_var_workweekend($val); + return if ($err); + + } elsif ($var eq 'workday24hr') { + my $err = $self->_config_var_workday24hr($val); + return if ($err); + + } elsif ($var eq 'workdaybeg') { + my $err = $self->_config_var_workdaybegend(\$val,'WorkDayBeg'); + return if ($err); + + } elsif ($var eq 'workdayend') { + my $err = $self->_config_var_workdaybegend(\$val,'WorkDayEnd'); + return if ($err); + + } elsif ($var eq 'firstday') { + my $err = $self->_config_var_firstday($val); + return if ($err); + + } elsif ($var eq 'tz' || + $var eq 'forcedate' || + $var eq 'setdate') { + # These can only be used if the Date::Manip::TZ module has been loaded + warn "ERROR: [config_var] $var config variable requires TZ module\n"; + return; + + } elsif ($var eq 'recurrange') { + my $err = $self->_config_var_recurrange($val); + return if ($err); + + } elsif ($var eq 'defaulttime') { + my $err = $self->_config_var_defaulttime($val); + return if ($err); + + } elsif ($var eq 'periodtimesep') { + # We have to redo the time regexp + delete $$self{'data'}{'rx'}{'time'}; + + } elsif ($var eq 'format_mmmyyyy') { + my $err = $self->_config_var_format_mmmyyyy($val); + return if ($err); + + } elsif ($var eq 'dateformat' || + $var eq 'jan1week1' || + $var eq 'printable' || + $var eq 'tomorrowfirst') { + # do nothing + + } else { + warn "ERROR: [config_var] invalid config variable: $var\n"; + return ''; + } + + $$self{'data'}{'sections'}{'conf'}{$var} = $val; + return; +} + +############################################################################### +# Specific config variable functions + +sub _config_var_encoding { + my($self,$val) = @_; + + if (! $val) { + $$self{'data'}{'calc'}{'enc_in'} = [ @{ $$self{'data'}{'enc'} } ]; + $$self{'data'}{'calc'}{'enc_out'} = 'UTF-8'; + + } elsif ($val =~ /^(.*),(.*)$/o) { + my($in,$out) = ($1,$2); + if ($in) { + my $o = find_encoding($in); + if (! $o) { + warn "ERROR: [config_var] invalid: Encoding: $in\n"; + return 1; + } + } + if ($out) { + my $o = find_encoding($out); + if (! $o) { + warn "ERROR: [config_var] invalid: Encoding: $out\n"; + return 1; + } + } + + if ($in && $out) { + $$self{'data'}{'calc'}{'enc_in'} = [ $in ]; + $$self{'data'}{'calc'}{'enc_out'} = $out; + + } elsif ($in) { + $$self{'data'}{'calc'}{'enc_in'} = [ $in ]; + $$self{'data'}{'calc'}{'enc_out'} = 'UTF-8'; + + } elsif ($out) { + $$self{'data'}{'calc'}{'enc_in'} = [ @{ $$self{'data'}{'enc'} } ]; + $$self{'data'}{'calc'}{'enc_out'} = $out; + + } else { + $$self{'data'}{'calc'}{'enc_in'} = [ @{ $$self{'data'}{'enc'} } ]; + $$self{'data'}{'calc'}{'enc_out'} = 'UTF-8'; + } + + } else { + my $o = find_encoding($val); + if (! $o) { + warn "ERROR: [config_var] invalid: Encoding: $val\n"; + return 1; + } + $$self{'data'}{'calc'}{'enc_in'} = [ $val ]; + $$self{'data'}{'calc'}{'enc_out'} = $val; + } + + if (! @{ $$self{'data'}{'calc'}{'enc_in'} }) { + $$self{'data'}{'calc'}{'enc_in'} = [ qw(utf-8 perl) ]; + } + + return 0; +} + +sub _config_var_recurrange { + my($self,$val) = @_; + + $val = lc($val); + if ($val =~ /^(none|year|month|week|day|all)$/o) { + return 0; + } + + warn "ERROR: [config_var] invalid: RecurRange: $val\n"; + return 1; +} + +sub _config_var_workweekbeg { + my($self,$val) = @_; + + if (! $self->_is_int($val,1,7)) { + warn "ERROR: [config_var] invalid: WorkWeekBeg: $val\n"; + return 1; + } + if ($val >= $self->_config('workweekend')) { + warn "ERROR: [config_var] WorkWeekBeg must be before WorkWeekEnd\n"; + return 1; + } + + $self->_calc_workweek($val,''); + $self->_init_business_length(); + return 0; +} + +sub _config_var_workweekend { + my($self,$val) = @_; + + if (! $self->_is_int($val,1,7)) { + warn "ERROR: [config_var] invalid: WorkWeekBeg: $val\n"; + return 1; + } + if ($val <= $self->_config('workweekbeg')) { + warn "ERROR: [config_var] WorkWeekEnd must be after WorkWeekBeg\n"; + return 1; + } + + $self->_calc_workweek('',$val); + $self->_init_business_length(); + return 0; +} + +sub _config_var_workday24hr { + my($self,$val) = @_; + + if ($val) { + $$self{'data'}{'sections'}{'conf'}{'workdaybeg'} = '00:00:00'; + $$self{'data'}{'sections'}{'conf'}{'workdayend'} = '24:00:00'; + $$self{'data'}{'calc'}{'workdaybeg'} = [0,0,0]; + $$self{'data'}{'calc'}{'workdayend'} = [24,0,0]; + + $self->_calc_bdlength(); + $self->_init_business_length(); + } + + return 0; +} + +sub _config_var_workdaybegend { + my($self,$val,$conf) = @_; + + # Must be a valid time. Entered as H, H:M, or H:M:S + + my $tmp = $self->split('hms',$$val); + if (! defined $tmp) { + warn "ERROR: [config_var] invalid: $conf: $$val\n"; + return 1; + } + $$self{'data'}{'calc'}{lc($conf)} = $tmp; + $$val = $self->join('hms',$tmp); + + # workdaybeg < workdayend + + my @beg = @{ $$self{'data'}{'calc'}{'workdaybeg'} }; + my @end = @{ $$self{'data'}{'calc'}{'workdayend'} }; + my $beg = $beg[0]*3600 + $beg[1]*60 + $beg[2]; + my $end = $end[0]*3600 + $end[1]*60 + $end[2]; + + if ($beg > $end) { + warn "ERROR: [config_var] WorkDayBeg not before WorkDayEnd\n"; + return 1; + } + + # Calculate bdlength + + $$self{'data'}{'sections'}{'conf'}{'workday24hr'} = 0; + + $self->_calc_bdlength(); + $self->_init_business_length(); + + return 0; +} + +sub _config_var_firstday { + my($self,$val) = @_; + + if (! $self->_is_int($val,1,7)) { + warn "ERROR: [config_var] invalid: FirstDay: $val\n"; + return 1; + } + + return 0; +} + +sub _config_var_defaulttime { + my($self,$val) = @_; + + if (lc($val) eq 'midnight' || + lc($val) eq 'curr') { + return 0; + } + warn "ERROR: [config_var] invalid: DefaultTime: $val\n"; + return 1; +} + +sub _config_var_format_mmmyyyy { + my($self,$val) = @_; + + if (lc($val) eq 'first' || + lc($val) eq 'last' || + lc($val) eq '') { + return 0; + } + warn "ERROR: [config_var] invalid: Format_MMMYYYY: $val\n"; + return 1; +} + +############################################################################### +# Language functions + +# This reads in a langauge module and sets regular expressions +# and word lists based on it. +# +no strict 'refs'; +sub _language { + my($self,$lang) = @_; + $lang = lc($lang); + + if (! exists $Date::Manip::Lang::index::Lang{$lang}) { + warn "ERROR: [language] invalid: $lang\n"; + return 1; + } + + return 0 if (exists $$self{'data'}{'sections'}{'conf'} && + $$self{'data'}{'sections'}{'conf'} eq $lang); + $self->_init_language(1); + + my $mod = $Date::Manip::Lang::index::Lang{$lang}; + eval "require Date::Manip::Lang::${mod}"; + if ($@) { + die "ERROR: failed to load Date::Manip::Lang::${mod}: $@\n"; + } + + no warnings 'once'; + $$self{'data'}{'lang'} = ${ "Date::Manip::Lang::${mod}::Language" }; + $$self{'data'}{'enc'} = [ @{ "Date::Manip::Lang::${mod}::Encodings" } ]; + + # Common words + $self->_rx_wordlist('at'); + $self->_rx_wordlist('each'); + $self->_rx_wordlist('last'); + $self->_rx_wordlist('of'); + $self->_rx_wordlist('on'); + $self->_rx_wordlists('when'); + + # Next/prev + $self->_rx_wordlists('nextprev'); + + # Field names (years, year, yr, ...) + $self->_rx_wordlists('fields'); + + # Numbers (first, 1st) + $self->_rx_wordlists('nth'); + $self->_rx_wordlists('nth','nth_dom',31); # 1-31 + $self->_rx_wordlists('nth','nth_wom',5); # 1-5 + + # Calendar names (Mon, Tue and Jan, Feb) + $self->_rx_wordlists('day_abb'); + $self->_rx_wordlists('day_char'); + $self->_rx_wordlists('day_name'); + $self->_rx_wordlists('month_abb'); + $self->_rx_wordlists('month_name'); + + # H:M:S separators + $self->_rx_simple('sephm'); + $self->_rx_simple('sepms'); + $self->_rx_simple('sepfr'); + + # Time replacement strings + $self->_rx_replace('times'); + + # Some offset strings + $self->_rx_replace('offset_date'); + $self->_rx_replace('offset_time'); + + # AM/PM strings + $self->_rx_wordlists('ampm'); + + # Business/non-business mode + $self->_rx_wordlists('mode'); + + return 0; +} +use strict 'refs'; + +# This takes a string or strings from the language file which is a +# regular expression and copies it to the regular expression cache. +# +# If the language file contains a list of strings, a list of strings +# is stored in the regexp cache. +# +sub _rx_simple { + my($self,$ele) = @_; + + if (exists $$self{'data'}{'lang'}{$ele}) { + if (ref($$self{'data'}{'lang'}{$ele})) { + @{ $$self{'data'}{'rx'}{$ele} } = @{ $$self{'data'}{'lang'}{$ele} }; + } else { + $$self{'data'}{'rx'}{$ele} = $$self{'data'}{'lang'}{$ele}; + } + } else { + $$self{'data'}{'rx'}{$ele} = undef; + } + + return; +} + +# We need to quote strings that will be used in regexps, but we don't +# want to quote UTF-8 characters. +# +sub _qe_quote { + my($string) = @_; + $string =~ s/([-.+*?])/\\$1/g; + return $string; +} + +# This takes a list of words and creates a simple regexp which matches +# any of them. +# +# The first word in the list is the default way to express the word using +# a normal ASCII character set. +# +# The second word in the list is the default way to express the word using +# a locale character set. If it isn't defined, it defaults to the first word. +# +sub _rx_wordlist { + my($self,$ele) = @_; + + if (exists $$self{'data'}{'lang'}{$ele}) { + my @tmp = @{ $$self{'data'}{'lang'}{$ele} }; + + $$self{'data'}{'wordlist'}{$ele} = $tmp[0]; + + my @tmp2; + foreach my $tmp (@tmp) { + push(@tmp2,_qe_quote($tmp)) if ($tmp); + } + @tmp2 = sort _sortByLength(@tmp2); + + $$self{'data'}{'rx'}{$ele} = join('|',@tmp2); + + } else { + $$self{'data'}{'rx'}{$ele} = undef; + } + + return; +} + +no strict 'vars'; +sub _sortByLength { + return (length $b <=> length $a); +} +use strict 'vars'; + +# This takes a hash of the form: +# word => string +# and creates a regular expression to match word (which must be surrounded +# by word boundaries). +# +sub _rx_replace { + my($self,$ele) = @_; + + if (! exists $$self{'data'}{'lang'}{$ele}) { + $$self{'data'}{'rx'}{$ele} = []; + return; + } + + my(@key) = keys %{ $$self{'data'}{'lang'}{$ele} }; + my $i = 1; + foreach my $key (sort(@key)) { + my $val = $$self{'data'}{'lang'}{$ele}{$key}; + my $k = _qe_quote($key); + $$self{'data'}{'rx'}{$ele}[$i++] = qr/(?:^|\b)($k)(?:\b|$)/i; + $$self{'data'}{'wordmatch'}{$ele}{lc($key)} = $val; + } + + @key = sort _sortByLength(@key); + @key = map { _qe_quote($_) } @key; + my $rx = join('|',@key); + + $$self{'data'}{'rx'}{$ele}[0] = qr/(?:^|\b)(?:$rx)(?:\b|$)/i; + + return; +} + +# This takes a list of values, each of which can be expressed in multiple +# ways, and gets a regular expression which matches any of them, a default +# way to express each value, and a hash which matches a matched string to +# a value (the value is 1..N where N is the number of values). +# +sub _rx_wordlists { + my($self,$ele,$subset,$max) = @_; + $subset = $ele if (! $subset); + + if (exists $$self{'data'}{'lang'}{$ele}) { + my @vallist = @{ $$self{'data'}{'lang'}{$ele} }; + $max = $#vallist+1 if (! $max || $max > $#vallist+1); + my (@all); + + for (my $i=1; $i<=$max; $i++) { + my @tmp = @{ $$self{'data'}{'lang'}{$ele}[$i-1] }; + $$self{'data'}{'wordlist'}{$subset}[$i-1] = $tmp[0]; + + my @str; + foreach my $str (@tmp) { + next if (! $str); + $$self{'data'}{'wordmatch'}{$subset}{lc($str)} = $i; + push(@str,_qe_quote($str)); + } + push(@all,@str); + + @str = sort _sortByLength(@str); + $$self{'data'}{'rx'}{$subset}[$i] = join('|',@str); + } + + @all = sort _sortByLength(@all); + $$self{'data'}{'rx'}{$subset}[0] = join('|',@all); + + } else { + $$self{'data'}{'rx'}{$subset} = undef; + } + + return; +} + +############################################################################### +# Year functions +# +# $self->_method(METHOD) use METHOD as the method for YY->YYYY +# conversions +# +# YEAR = _fix_year(YR) converts a 2-digit to 4-digit year +# _fix_year is in TZ_Base + +sub _method { + my($self,$method) = @_; + $self->_config('yytoyyyy',$method); + + return; +} + +############################################################################### +# $self->_mod_add($N,$add,\$val,\$rem); +# This calculates $val=$val+$add and forces $val to be in a certain +# range. This is useful for adding numbers for which only a certain +# range is allowed (for example, minutes can be between 0 and 59 or +# months can be between 1 and 12). The absolute value of $N determines +# the range and the sign of $N determines whether the range is 0 to N-1 +# (if N>0) or 1 to N (N<0). $rem is adjusted to force $val into the +# appropriate range. +# Example: +# To add 2 hours together (with the excess returned in days) use: +# $self->_mod_add(-24,$h1,\$h,\$day); +# To add 2 minutes together (with the excess returned in hours): +# $self->_mod_add(60,$mn1,\$mn,\$hr); +sub _mod_add { + my($self,$N,$add,$val,$rem)=@_; + return if ($N==0); + $$val+=$add; + if ($N<0) { + # 1 to N + $N = -$N; + if ($$val>$N) { + $$rem+= int(($$val-1)/$N); + $$val = ($$val-1)%$N +1; + } elsif ($$val<1) { + $$rem-= int(-$$val/$N)+1; + $$val = $N-(-$$val % $N); + } + + } else { + # 0 to N-1 + if ($$val>($N-1)) { + $$rem+= int($$val/$N); + $$val = $$val%$N; + } elsif ($$val<0) { + $$rem-= int(-($$val+1)/$N)+1; + $$val = ($N-1)-(-($$val+1)%$N); + } + } + + return; +} + +# $flag = $self->_is_int($string [,$low, $high]); +# Returns 1 if $string is a valid integer, 0 otherwise. If $low is +# entered, $string must be >= $low. If $high is entered, $string must +# be <= $high. It is valid to check only one of the bounds. +sub _is_int { + my($self,$N,$low,$high)=@_; + return 0 if (! defined $N or + $N !~ /^\s*[-+]?\d+\s*$/o or + defined $low && $N<$low or + defined $high && $N>$high); + return 1; +} + +############################################################################### +# Split/Join functions + +sub split { + my($self,$op,$string,$no_normalize) = @_; + $no_normalize = 0 if (! $no_normalize); + + if ($op eq 'date') { + + if ($string =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d):(\d\d):(\d\d)$/o || + $string =~ /^(\d\d\d\d)\-(\d\d)\-(\d\d)\-(\d\d):(\d\d):(\d\d)$/o || + $string =~ /^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/o) { + my($y,$m,$d,$h,$mn,$s) = ($1+0,$2+0,$3+0,$4+0,$5+0,$6+0); + return [$y,$m,$d,$h,$mn,$s]; + } else { + return undef; + } + + } elsif ($op eq 'offset') { + if ($string =~ /^([-+]?\d\d)(\d\d)(\d\d)$/o || + $string =~ /^([-+]?\d\d)(\d\d)()$/o || + $string =~ /^([-+]?\d\d?):(\d\d?):(\d\d?)$/o || + $string =~ /^([-+]?\d\d?):(\d\d?)()$/o || + $string =~ /^([-+]?\d\d?)()()$/o) { + my($err,$h,$mn,$s) = $self->_offset_fields( { 'source' => 'string', + 'out' => 'list'}, + [$1,$2,$3]); + return undef if ($err); + return [$h,$mn,$s]; + } else { + return undef; + } + + } elsif ($op eq 'hms') { + if ($string =~ /^(\d\d)(\d\d)(\d\d)$/o || + $string =~ /^(\d\d)(\d\d)()$/o || + $string =~ /^(\d\d?):(\d\d):(\d\d)$/o || + $string =~ /^(\d\d?):(\d\d)()$/o || + $string =~ /^(\d\d?)()()$/o) { + my($err,$h,$mn,$s) = $self->_hms_fields( { 'out' => 'list' },[$1,$2,$3]); + return undef if ($err); + return [$h,$mn,$s]; + } else { + return undef; + } + + } elsif ($op eq 'time') { + if ($string =~ /^[-+]?\d+(:[-+]?\d+){0,2}$/o) { + my($err,$dh,$dmn,$ds) = $self->_time_fields( { 'nonorm' => $no_normalize, + 'source' => 'string', + 'sign' => -1, + }, [split(/:/,$string)]); + return undef if ($err); + return [$dh,$dmn,$ds]; + } else { + return undef; + } + + } elsif ($op eq 'delta' || $op eq 'business') { + my($err,@delta) = $self->_split_delta($string); + return undef if ($err); + + ($err,@delta) = $self->_delta_fields( { 'business' => + ($op eq 'business' ? 1 : 0), + 'nonorm' => $no_normalize, + 'source' => 'string', + 'sign' => -1, + }, [@delta]); + + return undef if ($err); + return [@delta]; + } +} + +sub join{ + my($self,$op,$data,$no_normalize) = @_; + my @data = @$data; + + if ($op eq 'date') { + + my($err,$y,$m,$d,$h,$mn,$s) = $self->_date_fields(@data); + return undef if ($err); + my $form = $self->_config('printable'); + if ($form == 1) { + return "$y$m$d$h$mn$s"; + } elsif ($form == 2) { + return "$y-$m-$d-$h:$mn:$s"; + } else { + return "$y$m$d$h:$mn:$s"; + } + + } elsif ($op eq 'offset') { + my($err,$h,$mn,$s) = $self->_offset_fields( { 'source' => 'list', + 'out' => 'string'}, + [@data]); + return undef if ($err); + return "$h:$mn:$s"; + + } elsif ($op eq 'hms') { + my($err,$h,$mn,$s) = $self->_hms_fields( { 'out' => 'string' },[@data]); + return undef if ($err); + return "$h:$mn:$s"; + + } elsif ($op eq 'time') { + my($err,$dh,$dmn,$ds) = $self->_time_fields( { 'nonorm' => $no_normalize, + 'source' => 'list', + 'sign' => 0, + }, [@data]); + return undef if ($err); + return "$dh:$dmn:$ds"; + + } elsif ($op eq 'delta' || $op eq 'business') { + my ($err,@delta) = $self->_delta_fields( { 'business' => + ($op eq 'business' ? 1 : 0), + 'nonorm' => $no_normalize, + 'source' => 'list', + 'sign' => 0, + }, [@data]); + return undef if ($err); + return join(':',@delta); + } +} + +sub _split_delta { + my($self,$string) = @_; + + my $sign = '[-+]?'; + my $num = '(?:\d+(?:\.\d*)?|\.\d+)'; + my $f = "(?:$sign$num)?"; + + if ($string =~ /^$f(:$f){0,6}$/o) { + $string =~ s/::/:0:/go; + $string =~ s/^:/0:/o; + $string =~ s/:$/:0/o; + my(@delta) = split(/:/,$string); + return(0,@delta); + } else { + return(1); + } +} + +# $opts = { business => 0/1, +# nonorm => 0/1, +# source => string, list +# sign => 0/1/-1 +# } +# $fields = [Y,M,W,D,H,Mn,S] +# +# This function formats the fields in a delta. +# +# If the business option is 1, treat it as a business delta. +# +# If the nonorm option is 1, fields are NOT normalized. By +# default, they are normalized. +# +# If source is 'string', then the source of the fields is splitting +# a delta (so we need to handle carrying the signs). If it's 'list', +# then the source is a valid delta, so each field is correctly signed +# already. +# +# If the sign option is 1, a sign is added to every field. If the +# sign option is -1, all negative fields are signed. If the sign +# option is 0, the minimum number of signs (for fields who's sign is +# different from the next higher field) will be added. +# +# It returns ($err,@fields) +# +sub _delta_fields { + my($self,$opts,$fields) = @_; + my @fields = @$fields; + no integer; + + # + # Make sure that all fields are defined, numerical, and that there + # are 7 of them. + # + + foreach my $f (@fields) { + $f=0 if (! defined($f)); + return (1) if ($f !~ /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/o); + } + return (1) if (@fields > 7); + while (@fields < 7) { + unshift(@fields,0); + } + + # + # Make sure each field is the correct sign so that the math will + # work correctly. Get rid of all positive signs and leading 0's. + # + + if ($$opts{'source'} eq 'string') { + + # if the source is splitting a delta, not all fields are signed, + # so we need to carry the negative signs. + + my $sign = '+'; + foreach my $f (@fields) { + if ($f =~ /^([-+])/o) { + $sign = $1; + } else { + $f = "$sign$f"; + } + $f *= 1; + } + + } else { + foreach my $f (@fields) { + $f *= 1; + } + } + + # + # Normalize them. Values will be signed only if they are + # negative. Handle fractional values. + # + + my $nonorm = $$opts{'nonorm'}; + foreach my $f (@fields) { + if ($f != int($f)) { + $nonorm = 0; + last; + } + } + + my($y,$m,$w,$d,$h,$mn,$s) = @fields; + if (! $nonorm) { + ($y,$m) = $self->_normalize_ym($y,$m) if ($y || $m); + ($m,$w) = $self->_normalize_mw($m,$w) if (int($m) != $m); + if ($$opts{'business'}) { + ($w,$d) = $self->_normalize_wd($w,$d,1) if (int($w) != $w); + ($d,$h,$mn,$s) = $self->_normalize_bus_dhms($d,$h,$mn,$s); + } else { + ($w,$d) = $self->_normalize_wd($w,$d,0) if ($w || $d); + ($d,$h) = $self->_normalize_dh($d,$h) if (int($d) != $d); + ($h,$mn,$s) = $self->_normalize_hms($h,$mn,$s); + } + } + + # + # Now make sure that the signs are included as appropriate. + # + + if (! $$opts{'sign'}) { + # Minimum number of signs + my $sign; + if ($y >= 0) { + $sign = '+'; + } else { + $sign = '-'; + } + foreach my $f ($m,$w,$d,$h,$mn,$s) { + if ($f > 0) { + if ($sign eq '-') { + $f = "+$f"; + $sign = '+'; + } + + } elsif ($f < 0) { + if ($sign eq '-') { + $f *= -1; + } else { + $sign = '-'; + } + } + } + + } elsif ($$opts{'sign'} == 1) { + # All fields signed + foreach my $f ($y,$m,$w,$d,$h,$mn,$s) { + $f = "+$f" if ($f > 0); + } + } + + return (0,$y,$m,$w,$d,$h,$mn,$s); +} + +# $opts = { out => string, list +# } +# $fields = [H,M,S] +# +# This function formats the fields in an HMS. +# +# If the out options is string, it prepares the fields to be joined (i.e. +# they are all 2 digits long). Otherwise, they are just numerical values +# (not necessarily 2 digits long). +# +# HH:MN:SS is always between 00:00:00 and 24:00:00. +# +# It returns ($err,@fields) +# +sub _hms_fields { + my($self,$opts,$fields) = @_; + my @fields = @$fields; + + # + # Make sure that all fields are defined, numerical (with no sign), + # and that there are 3 of them. + # + + foreach my $f (@fields) { + $f=0 if (! $f); + return (1) if ($f !~ /^\d+$/o); + } + return (1) if (@fields > 3); + while (@fields < 3) { + push(@fields,0); + } + + # + # Check validity. + # + + my ($h,$m,$s) = @fields; + return (1) if ($h > 24 || $m > 59 || $s > 59 || + ($h==24 && ($m > 0 || $s > 0))); + + # + # Format + # + + if ($$opts{'out'} eq 'list') { + foreach my $f ($h,$m,$s) { + $f *= 1; + } + + } else { + foreach my $f ($h,$m,$s) { + $f = "0$f" if (length($f)<2); + } + } + + return (0,$h,$m,$s); +} + +# $opts = { nonorm => 0/1, +# source => string, list +# sign => 0/1/-1 +# } +# $fields = [H,M,S] +# +# This function formats the fields in an amount of time measured in +# hours, minutes, and seconds. +# +# It is similar to how _delta_fields (above) works. +# +sub _time_fields { + my($self,$opts,$fields) = @_; + my @fields = @$fields; + + # + # Make sure that all fields are defined, numerical, and that there + # are 3 of them. + # + + foreach my $f (@fields) { + $f=0 if (! defined($f)); + return (1) if ($f !~ /^[+-]?\d+$/o); + } + return (1) if (@fields > 3); + while (@fields < 3) { + unshift(@fields,0); + } + + # + # Make sure each field is the correct sign so that the math will + # work correctly. Get rid of all positive signs and leading 0's. + # + + if ($$opts{'source'} eq 'string') { + + # If the source is splitting a string, not all fields are signed, + # so we need to carry the negative signs. + + my $sign = '+'; + foreach my $f (@fields) { + if ($f =~ /^([-+])/o) { + $sign = $1; + } else { + $f = "$sign$f"; + } + $f *= 1; + } + + } else { + foreach my $f (@fields) { + $f *= 1; + } + } + + # + # Normalize them. Values will be signed only if they are + # negative. + # + + my($h,$mn,$s) = @fields; + unless ($$opts{'nonorm'}) { + ($h,$mn,$s) = $self->_normalize_hms($h,$mn,$s); + } + + # + # Now make sure that the signs are included as appropriate. + # + + if (! $$opts{'sign'}) { + # Minimum number of signs + my $sign; + if ($h >= 0) { + $sign = '+'; + } else { + $sign = '-'; + } + foreach my $f ($mn,$s) { + if ($f > 0) { + if ($sign eq '-') { + $f = "+$f"; + $sign = '+'; + } + + } elsif ($f < 0) { + if ($sign eq '-') { + $f *= -1; + } else { + $sign = '-'; + } + } + } + + } elsif ($$opts{'sign'} == 1) { + # All fields signed + foreach my $f ($h,$mn,$s) { + $f = "+$f" if ($f > 0); + } + } + + return (0,$h,$mn,$s); +} + +# $opts = { source => string, list +# out => string, list +# } +# $fields = [H,M,S] +# +# This function formats the fields in a timezone offset measured in +# hours, minutes, and seconds. +# +# All offsets must be -23:59:59 <= offset <= 23:59:59 . +# +# The data comes from an offset in string or list format, and is +# formatted so that it can be used to create a string or list format +# output. +# +sub _offset_fields { + my($self,$opts,$fields) = @_; + my @fields = @$fields; + + # + # Make sure that all fields are defined, numerical, and that there + # are 3 of them. + # + + foreach my $f (@fields) { + $f=0 if (! defined $f || $f eq ''); + return (1) if ($f !~ /^[+-]?\d+$/o); + } + return (1) if (@fields > 3); + while (@fields < 3) { + push(@fields,0); + } + + # + # Check validity. + # + + my ($h,$m,$s) = @fields; + if ($$opts{'source'} eq 'string') { + # Values = -23 59 59 to +23 59 59 + return (1) if ($h < -23 || $h > 23 || + $m < 0 || $m > 59 || + $s < 0 || $s > 59); + } else { + # Values (-23,-59,-59) to (23,59,59) + # Non-zero values must have the same sign + if ($h >0) { + return (1) if ( $h > 23 || + $m < 0 || $m > 59 || + $s < 0 || $s > 59); + } elsif ($h < 0) { + return (1) if ($h < -23 || + $m < -59 || $m > 0 || + $s < -59 || $s > 0); + } elsif ($m > 0) { + return (1) if ( $m > 59 || + $s < 0 || $s > 59); + } elsif ($m < 0) { + return (1) if ($m < -59 || + $s < -59 || $s > 0); + } else { + return (1) if ($s < -59 || $s > 59); + } + } + + # + # Make sure each field is the correct sign so that the math will + # work correctly. Get rid of all positive signs and leading 0's. + # + + if ($$opts{'source'} eq 'string') { + + # In a string offset, only the first field is signed, so we need + # to carry negative signs. + + if ($h =~ /^\-/) { + $h *= 1; + $m *= -1; + $s *= -1; + } elsif ($m =~ /^\-/) { + $h *= 1; + $m *= 1; + $s *= -1; + } else { + $h *= 1; + $m *= 1; + $s *= 1; + } + + } else { + foreach my $f (@fields) { + $f *= 1; + } + } + + # + # Format them. They're already done for 'list' output. + # + + if ($$opts{'out'} eq 'string') { + my $sign; + if ($h<0 || $m<0 || $s<0) { + $h = abs($h); + $m = abs($m); + $s = abs($s); + $sign = '-'; + } else { + $sign = '+'; + } + + $h = "0$h" if (length($h) < 2); + $m = "0$m" if (length($m) < 2); + $s = "0$s" if (length($s) < 2); + $h = "$sign$h"; + } + + return (0,$h,$m,$s); +} + +# ($err,$y,$m,$d,$h,$mn,$s) = $self->_date_fields($y,$m,$d,$h,$mn,$s); +# +# Makes sure the fields are the right length. +# +sub _date_fields { + my($self,@fields) = @_; + return (1) if (@fields != 6); + + my($y,$m,$d,$h,$mn,$s) = @fields; + + $y = "0$y" while (length($y) < 4); + $m = "0$m" if (length($m)==1); + $d = "0$d" if (length($d)==1); + $h = "0$h" if (length($h)==1); + $mn = "0$mn" if (length($mn)==1); + $s = "0$s" if (length($s)==1); + + if (wantarray) { + return (0,$y,$m,$d,$h,$mn,$s); + } else { + return "$y$m$d$h:$mn:$s"; + } +} + +sub _normalize_ym { + my($self,$y,$m) = @_; + no integer; + + $m += $y*12; + $y = int($m/12); + $m -= $y*12; + + return ($y,$m); +} + +# This is only used for deltas with fractional months. +# +sub _normalize_mw { + my($self,$m,$w) = @_; + no integer; + + my $d = ($m-int($m)) * $$self{'data'}{'len'}{'yrlen'}/12; + $w += $d/7; + $m = int($m); + + return ($m,$w); +} + +sub _normalize_bus_dhms { + my($self,$d,$h,$mn,$s) = @_; + no integer; + + my $dl = $$self{'data'}{'len'}{'1'}{'dl'}; + + $s += $d*$dl + $h*3600 + $mn*60; + $d = int($s/$dl); + $s -= $d*$dl; + + $mn = int($s/60); + $s -= $mn*60; + $s = int($s); + + $h = int($mn/60); + $mn -= $h*60; + + return ($d,$h,$mn,$s); +} + +sub _normalize_hms { + my($self,$h,$mn,$s) = @_; + no integer; + + $s += $h*3600 + $mn*60; + $mn = int($s/60); + $s -= $mn*60; + $s = int($s); + + $h = int($mn/60); + $mn -= $h*60; + + return ($h,$mn,$s); +} + +# Business deltas only mix week and day if the week has a fractional +# part. +# +sub _normalize_wd { + my($self,$w,$d,$business) = @_; + no integer; + + my $weeklen = ($business ? $$self{'data'}{'len'}{'workweek'} : 7); + + $d += $w*$weeklen; + $w = int($d/$weeklen); + $d -= $w*$weeklen; + + return ($w,$d); +} + +# This is only done for non-business days with a fractional part. +# part. +# +sub _normalize_dh { + my($self,$d,$h) = @_; + no integer; + + $h += $d*24; + $d = int($h/24); + $h -= $d*24; + + return ($d,$h); +} + +# $self->_delta_convert(FORMAT,DELTA) +# This converts delta into the given format. Returns '' if invalid. +# +sub _delta_convert { + my($self,$format,$delta)=@_; + my $fields = $self->split($format,$delta); + return undef if (! defined $fields); + return $self->join($format,$fields); +} + +############################################################################### +# Timezone critical dates + +# NOTE: Although I would prefer to stick this routine in the +# Date::Manip::TZ module where it would be more appropriate, it must +# appear here as it will be used to generate the data that will be +# used by the Date::Manip::TZ module. +# +# This calculates a critical date based on timezone information. The +# critical date is the date (usually in the current time) at which +# the current timezone period ENDS. +# +# Input is: +# $year,$mon,$flag,$num,$dow +# This is information from the appropriate Rule line from the +# zoneinfo files. These are used to determine the date (Y/M/D) +# when the timezone period will end. +# $isdst +# Whether or not the next timezone period is a Daylight Saving +# Time period. +# $time,$timetype +# The time of day when the change occurs. The timetype can be +# 'w' (wallclock time in the current period), 's' (standard +# time which will match wallclock time in a non-DST period, or +# be off an hour in a DST period), and 'u' (universal time). +# +# Output is: +# $endUT, $endLT, $begUT, $begLT +# endUT is the actual last second of the current timezone +# period. endLT is the same time expressed in local time. +# begUT is the start (in UT) of the next time period. Note that +# the begUT date is the one which actually corresponds to the +# date/time specified in the input. begLT is the time in the new +# local time. The endUT/endLT are the time one second earlier. +# +sub _critical_date { + my($self,$year,$mon,$flag,$num,$dow, + $isdst,$time,$timetype,$stdoff,$dstoff) = @_; + + # + # Get the predicted Y/M/D + # + + my($y,$m,$d) = ($year+0,$mon+0,1); + + if ($flag eq 'dom') { + $d = $num; + + } elsif ($flag eq 'last') { + my $ymd = $self->nth_day_of_week($year,-1,$dow,$mon); + $d = $$ymd[2]; + + } elsif ($flag eq 'ge') { + my $ymd = $self->nth_day_of_week($year,1,$dow,$mon); + $d = $$ymd[2]; + while ($d < $num) { + $d += 7; + } + + } elsif ($flag eq 'le') { + my $ymd = $self->nth_day_of_week($year,-1,$dow,$mon); + $d = $$ymd[2]; + while ($d > $num) { + $d -= 7; + } + } + + # + # Get the predicted time and the date (not yet taking into + # account time type). + # + + my($h,$mn,$s) = @{ $self->split('hms',$time) }; + my $date = [ $y,$m,$d,$h,$mn,$s ]; + + # + # Calculate all the relevant dates. + # + + my($endUT,$endLT,$begUT,$begLT,$offset); + $stdoff = $self->split('offset',$stdoff); + $dstoff = $self->split('offset',$dstoff); + + if ($timetype eq 'w') { + $begUT = $self->calc_date_time($date,($isdst ? $stdoff : $dstoff), 1); + } elsif ($timetype eq 'u') { + $begUT = $date; + } else { + $begUT = $self->calc_date_time($date,$stdoff, 1); + } + + $endUT = $self->calc_date_time($begUT,[0,0,-1]); + $endLT = $self->calc_date_time($endUT,($isdst ? $stdoff : $dstoff)); + $begLT = $self->calc_date_time($begUT,($isdst ? $dstoff : $stdoff)); + + return ($endUT,$endLT,$begUT,$begLT); +} + +############################################################################### +# Get a list of strings to try to parse. + +sub _encoding { + my($self,$string) = @_; + my @ret; + + foreach my $enc (@{ $$self{'data'}{'calc'}{'enc_in'} }) { + if (lc($enc) eq 'utf-8') { + _utf8_on($string); + push(@ret,$string) if is_utf8($string, 1); + } elsif (lc($enc) eq 'perl') { + push(@ret,encode_utf8($string)); + } else { + my $tmp = $string; + _utf8_off($tmp); + $tmp = encode_utf8(decode($enc, $tmp)); + _utf8_on($tmp); + push(@ret,$tmp) if is_utf8($tmp, 1);; + } + } + + return @ret; +} + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip/Base.pod b/lib/Date/Manip/Base.pod new file mode 100644 index 0000000..4eb09f5 --- /dev/null +++ b/lib/Date/Manip/Base.pod @@ -0,0 +1,469 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Base - Base methods for date manipulation + +=head1 SYNOPSIS + + use Date::Manip::Base; + $dmb = new Date::Manip::Base; + +=head1 DESCRIPTION + +The Date::Manip package of modules consists of several modules +for doing high level date operations with full error checking +and a lot of flexibility. + +The high level operations, though intended to be used in most +situations, have a lot of overhead associated with them. As such, a +number of the most useful low level routines (which the high level +routines use to do much of the real work) are included in this module +and are available directly to users. + +These low level routines are powerful enough that they can be used +independent of the high level routines and perform useful (though much +simpler) operations. They are also significantly faster than the high +level routines. + +These routines do NO error checking on input. Invalid data will result +in meaningless results. If you need error checking, you must call the +higher level Date::Manip routines instead of these. + +These routines also ignore all effects of time zones and daylight +saving time. One way to think of these routines is working with times +and dates in the GMT time zone. + +=head1 BASE METHODS + +This class inherits several base methods from the L +class. Please refer to the documentation for that class for a +description of those methods. + +=over 4 + +=item B + +=item B + +=item B + +Please refer to the L documentation for these methods. + +=item B + + $dmb->config($var1,$val1,$var2,$val2,...); + +This will set the value of any configuration variable. Please refer to the +L manual for a list of all configuration variables and their +description. + +=back + +=head1 DATE METHODS + +In all of the following methods, the following variables are used: + +=over 4 + +=item B<$date> + +This is a list reference containing a full date and time: + + [$y, $m, $d, $h, $mn, $s] + +=item B<$ymd> + +A list reference containing only the date portion: + + [$y, $m, $d] + +=item B<$hms> + +A list reference containing only the time portion: + + [$h, $mn, $s] + +=item B<$time> + +A list reference containing an amount of time: + + [$dh, $dmn, $ds] + +=item B<$delta> + +A list containing a full delta: + + [$dy, $dm, $dw, $dd, $dh, $dmn, $ds] + +=item B<$offset> + +A list containing a time zone expressed as an offset: + + [ $offh, $offm, $offs ] + +=back + +In all of the above, the elements C<($y, $m, $d, $h, $mn, $s)> are all +numeric. In most of the routines described below, no error checking is +done on the input. C<$y> should be between 1 and 9999, C<$m> between 1 and +12, C<$d> between 1 and 31, C<$h> should be between 0 and 23, C<$mn> and C<$s> +between 0 and 59. + +C<$hms> can be between 00:00:00 and 24:00:00, but an C<$offset> must be +between -23:59:59 and +23:59:59. + +Years are not translated to 4 digit years, so passing in a year of +"04" will be equivalent to "0004", NOT "2004". + +The elements C<($dy, $dm, $dw, $dd, $dh, $dmn, $ds)> are all numeric, +but can be positive or negative. They represent an elapsed amount +of time measured in years, months, weeks, etc. + +Since no error checking is done, passing in C<($y,$m,$d) = (2004,2,31)> +will NOT trigger an error, even though February does not have 31 days. +Instead, some meaningless result will be returned. + +=over 4 + +=item B + +=item B + +=item B + +=item B + +=item B + +These are all routines for doing simple date and time calculations. +As mentioned above, they ignore all affects of time zones and daylight +saving time. + +The following methods are available: + + $time = $dmb->calc_date_date($date1,$date2); + +This take two dates and determine the amount of time between them. + + $date = $dmb->calc_date_days($date,$n [,$subtract]); + $ymd = $dmb->calc_date_days($ymd,$n [,$subtract]); + +This returns a date C<$n> days later (if C<$nE0>) or earlier (if C<$nE0>) +than the date passed in. If C<$subtract> is passed in, the sign of C<$n> is reversed. + + $date = $dmb->calc_date_delta($date,$delta [,$subtract]); + +This take a date and add the given delta to it (or subtract the delta +if C<$subtract> is non-zero). + + $date = $dmb->calc_date_time($date,$time [,$subtract]); + +This take a date and add the given time to it (or subtract the time +if C<$subtract> is non-zero). + + $time = $dmb->calc_time_time(@time1,@time2 [,$subtract]); + +This take two times and add them together (or subtract the second from +the first if C<$subtract> is non-zero). + +=item B + +=item B + + $valid = $dmb->check($date); + $valid = $dmb->check_time($hms); + +This tests a list of values to see if they form a valid date or time +ignoring all time zone affects. The date/time would be valid in GMT, +but perhaps not in all time zones. + +1 is returned if the the fields are valid, 0 otherwise. + +C<$hms> is in the range 00:00:00 to 24:00:00. + +=item B + + $flag = $dmb->cmp($date1,$date2); + +Returns -1, 0, or 1 if date1 is before, the same as, or after date2. + +=item B + + $day = $dmb->day_of_week($date); + $day = $dmb->day_of_week($ymd); + +Returns the day of the week (1 for Monday, 7 for Sunday). + +=item B + + $day = $dmb->day_of_year($ymd); + $day = $dmb->day_of_year($date); + +In the first case, returns the day of the year (1 to 366) for C<($y, $m, $d)>. +In the second case, it returns a fractional day (1.0 <= C<$day> < 366.0 or +1.0 <= C<$day> < 367.0 for a leap-year). For example, day 1.5 +falls on Jan 1, at noon. The somewhat non-intuitive answer (1.5 +instead of 0.5) is to make the two forms return numerically equivalent +answers for times of 00:00:00 . You can look at the integer part of +the number as being the day of the year, and the fractional part of +the number as the fraction of the day that has passed at the given +time. + +The inverse operations can also be done: + + $ymd = $dmb->day_of_year($y,$day); + $date = $dmb->day_of_year($y,$day); + +If C<$day> is an integer, the year, month, and day is returned. If C<$day> +is a floating point number, it returns the year, month, day, hour, +minutes, and decimal seconds. + +C<$day> must be greater than or equal to 1 and less than 366 on non-leap years +or 367 on leap years. + +=item B + + $days = $dmb->days_in_month($y,$m); + +Returns the number of days in the month. + + @days = $dmb->days_in_month($y,0); + +Returns a list of 12 elements with the days in each month of the year. + +=item B + + $days = $dmb->days_in_year($y); + +Returns the number of days in the year (365 or 366) + +=item B + + $days = $dmb->days_since_1BC($date); + $days = $dmb->days_since_1BC($ymd); + +Returns the number of days since Dec 31, 1BC. Since the calendar has +changed a number of times, the number returned is based on the current +calendar projected backwards in time, and in no way reflects a true +number of days since then. As such, the result is largely meaningless, +except when called twice as a means of determining the number of days +separating two dates. + +The inverse operation is also available: + + $ymd = $dmb->days_since_1BC($days); + +Returns the date C<$days> since Dec 31, 1BC. So day 1 is Jan 1, 0001. + +=item B + + $flag = $dmb->leapyear($y); + +Returns 1 if the argument is a leap year. Originally copied from code +written by David Muir Sharnoff. + +=item B + + $ymd = $dmb->nth_day_of_week($y,$n,$dow); + +Returns the C<$n>th occurrence of C<$dow> (1 for Monday, 7 for Sunday) in the +year. C<$n> must be between 1 and 53 or -1 through -53. + + $ymd = $dmb->nth_day_of_week($y,$n,$dow,$m); + +Returns the C<$n>th occurrence of C<$dow> in the given month. C<$n> must be between +1 and 5 or it can be -1 through -5. + +In all cases, nothing is returned if C<$n> is beyond the last actual +result (i.e. the 5th Sunday in a month with only four Sundays). + +=item B + + $secs = $dmb->secs_since_1970($date); + +Returns the number of seconds since Jan 1, 1970 00:00:00 (negative if date is +earlier). + + $date = $dmb->secs_since_1970($secs); + +Translates number of seconds into a date. + +=item B + +=item B + +The split and join functions are used to take a string containing a common +type of time data and split it into a list of fields. The join function takes +the list and forms it into a string. + +Rudimentary error checking is performed with both of these functions +and undef is returned in the case of any error. No error checking is done +on the specific values. + +The following are allowed: + + $date = $dmb->split("date",$string); + $string = $dmb->join("date",$date); + +This splits a string containing a date or creates one from a list reference. +The string split must be of one of the forms: + + YYYYMMDDHH:MN:SS + YYYYMMDDHHMNSS + YYYY-MM-DD-HH:MN:SS + +The string formed by join is one of the above, depending on the value of +the Printable config variable. The default format is YYYYMMDDHH:MN:SS, +but if Printable is set to 1, YYYYMMDDHHMNSS is produced, and if Printable +is set to 2, the YYYY-MM-DD-HH:MN:SS form is produced. + + $hms = $dmb->split("hms",$string); + $string = $dmb->join("hms",$hms); + +This works with the hours, minutes, and seconds portion of a date. + +When splitting a string, the string can be of any of the forms: + + H + H:MN + H:MN:SS + HH + HHMN + HHMNSS + +Here, H is a 1 or 2 digit representation of the hours. All other fields are +two digit representations. + +The string formed by the join function will always be of the form HH:MN:SS. + +The time must be between 00:00:00 and 24:00:00. + + $offset = $dmb->split("offset",$string); + $string = $dmb->join("offset",$offset); + +An offset string should have a sign (though it is optional if it is +positive) and is any of the forms: + + +H + +H:MN + +H:MN:SS + +HH + +HHMN + +HHMNSS + +Here, H is a 1 or 2 digit representation of the hours. All other fields are +two digit representations. + +The string formed by the join function will always be of the form ++HH:MN:SS. + +The offset must be between -23:59:59 and +23:59:59 . + + $time = $dmb->split("time",$string [,$no_normalize]); + $string = $dmb->join("time",$time [,$no_normalize]); + +This works with an amount of time in hours, minutes, and seconds. The +string is of the format: + + +H:MN:S + +where all signs are optional. The returned value (whether a list reference +from the split function, or a string from the join function) will have +all fields normalized unless C<$no_normalize> is passed in. + + $delta = $dmb->split("delta",$string [,$no_normalize]); + $delta = $dmb->split("business",$string [,$no_normalize]); + + $string = $dmb->join("delta",$delta [,$no_normalize]); + $string = $dmb->join("business",$delta [,$no_normalize]); + +Both of these split a string containing a delta, or create a string +containing one. The difference is whether the delta is treated as +a business or non-business delta (see L documentation +for a detailed description). + +The string that can be split is of the form: + + +Y:M:+W:+D:H:MN:S + +All signs are optional in the string being split. The string +produced is of the form +Y:M:+W:D:H:MN:S (for a non-business +delta) or +Y:M:+W:+D:H:MN:S (for a business delta). + +Fields may be omitted entirely. For example: + + D:H:MN:S + D:::S + +are both valid. + +The string or list output is normalized unless L<$no_normalize> is passed +in. + +=item B + + $ymd = $dmb->week1_day1($y); + +This returns the date of the 1st day of the 1st week in the given year. +Note that this uses the ISO 8601 definition of week, so the year returned +may be the year before the one passed in. + +This uses the FirstDay and Jan1Week1 config variables to evaluate the +results. + +=item B + + $w = $dmb->weeks_in_year($y); + +This returns the number of ISO 8601 weeks in the year. It will always be +52 or 53. + +=item B + + ($y,$w) = $dmb->week_of_year($date); + ($y,$w) = $dmb->week_of_year($ymd); + +This returns the week number (1-53) of the given date and the year +that it falls in. Since the ISO 8601 definition of a week is used, the +year returned is not necessarily the one passed in (it may differ for +the first or last week of the year). + +The inverse operation is also available: + + $ymd = $dmb->week_of_year($y,$w); + +which returns the first day of the given week. + +This uses the FirstDay and Jan1Week1 config variables to evaluate the +results. + +=back + +=head1 KNOWN BUGS + +None known. + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Calc.pod b/lib/Date/Manip/Calc.pod new file mode 100644 index 0000000..c504087 --- /dev/null +++ b/lib/Date/Manip/Calc.pod @@ -0,0 +1,795 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Calc - describes date calculations + +=head1 SYNOPSIS + +Two objects (both of which are either L or +L objects) may be used to creates a third object +based on those two. + + $delta = $date->calc($date2 [,$subtract] [,$mode]); + + $date2 = $date->calc($delta [,$subtract]); + $date2 = $delta->calc($date1 [,$subtract]); + + $delta3 = $delta1->calc($delta2 [,$subtract] [,$no_normalize]); + +=head1 DESCRIPTION + +This document describes the different types of calculations that can be +done using dates and deltas. Date calculations are much more complicated +than they initially appear, so this document is fairly large. + +The complication in date calculations is due to the fact that it is +impossible to express some parts of a delta as an exact length. Some +examples will illustrate this: + +As an example, let's take two dates and determine how much time elapsed +between them: + + Nov 3 2016 11:00:00 + Dec 5 2016 12:00:00 + + Elapsed time: 770 hours + +There are several ways to describe the time that elapsed. The first way +is to give the difference exactly. This is the exact delta. + +An exact delta is always described in terms of hours, minutes, and seconds. + +The problem with this is that we don't think in terms of exact deltas. +We think in terms which cannot be expressed exactly. + +For example, most people would look at those two dates and think: + + Percieved: 1 month, 2 days, 1 hour + +But the two dates: + + Feb 3 2016 11:00:00 + Mar 5 2016 12:00:00 + + Elapsed time: 745 hours + Perceived: 1 month, 2 days, 1 hour + +Some fields in a delta do not have an exact length. A year is usually +365 days long, but sometimes it is 366. A month might be 28, 29, 30, +or 31 days long. + +Perhaps the most unexpected difficulty is that days are not of +constant length. Most people would define a day as 24 hours, but when +you take daylight saving time into account that definition produces +unexpected results. The following calculation illustrates this: + + Nov 5, 2011 02:30 EDT + + 24 hour + + Result: Nov 6, 2011 01:30 EST + +This immediately causes most people to redefine a day as the amount of time +between the same wallclock time. For example, the amount of time between noon +one day and noon the next (regardless of daylight saving time changes). + +This definition doesn't work either. For example: + + Mar 12, 2011 02:30 EST + + 1 day (same time next day) + + Result: Mar 13 02:30 EST + +But that date does not exist! Neither does: + + Result: Mar 13 02:30 EDT + +An alternate calculation could be: + + Nov 5, 2011 01:30 EDT + + 1 day (same time next day) + + Result: Nov 6, 01:30 EDT + Result: Nov 6, 01:30 EST + +Both of those results exist. Which result did you mean? The first +one is probably correct (since it is 24 hours later), but an hour +later, you will have the same clock time again. + +So, the same time next day definition doesn't work at all for some +dates (during a 'spring forward' type daylight saving time transition) +and is ambiguous for others (during a 'fall back' type daylight saving +time transition). + +Calculations involving exact deltas are unambiguous in all cases. + +A second class of delta is called a semi-exact delta, and these add +days (and weeks) to the delta, and treats days as a "same time next day" +at all times except the two cases where the resulting date falls in the +period where a daylight saving time transition is occuring. Then it +falls back to the 24 hour definition. + +A final class of delta is an approximate delta which includes all of +the fields (years and months). This allows Date::Manip to handle +deltas in a way that is consistent with how most people perceive the +elapsed time. It should be noted that there is some uncertaintly +there as not everyone's definition of how a delta is perceived is the +same, but in general, they should be closer to what most people think +of. + +=head1 TYPES OF CALCULATIONS + +This document describes the different types of calculations. +Calculations involve two types of Date::Manip objects: dates and +deltas. These are described in the L and +L manuals respectively. + +Two objects (two dates, two deltas, or one of each) are used. In all +cases, if a second object is not passed in, undef is returned. + +There are 3 types of calculations: + +=over 4 + +=item B + +A calculation involving 2 dates is used to determine the amount of time (the +delta) between them. + + $delta = $date1->calc($date2 [,$subtract] [,$mode]); + +Two dates can be worked with and a delta will be produced which is +the amount of time between the two dates. + +C<$date1> and C<$date2> are L objects with valid dates. +The L object returned is the amount of time between +them. If C<$subtract> is not passed in (or is 0), the delta produced +is: + + DELTA = DATE2 - DATE1 + +If C<$subtract> is non-zero, the delta produced is: + + DELTA = DATE1 - DATE2 + +The C<$subtract> argument has special importance when doing approximate +calculations, and this is described below. + +If either date is invalid, a delta object will be returned which +has an error associated with it. + +The C<$mode> argument describes the type of delta that is produced and +is described below in L. + +=item B + +Date/delta calculations can be performed using either a L +or L object as the primary object: + + $date2 = $date1->calc($delta [,$subtract]); + $date2 = $delta->calc($date1 [,$subtract]); + +A date and delta can be combined to yield a date that is the +given amount of time before or after it. + +C<$date1> and C<$delta> are L and L +objects respectively. A new L object is produced. +If either C<$date1> or C<$delta> are invalid, the new date object will have +an error associated with it. + +Both of the calls above perform the same function and produce exactly the +same results. + +If C<$subtract> is not passed in, or is 0, the resulting date is +formed as: + + DATE2 = DATE1 + DELTA + +If C<$subtract> is non-zero, the resulting date is: + + DATE2 = DATE1 - DELTA + +The C<$subtract> argument has special importance when doing approximate +calculations, and this is described below in L. + +=item B + +Delta/delta calculations can be performed to add two amounts of time +together, or subtract them. + + $delta3 = $delta1->calc($delta2 [,$subtract] [,$no_normalize]); + +If C<$subtract> is not passed in, or is 0, the resulting delta formed +is: + + DELTA3 = DELTA1 + DELTA2 + +If C<$subtract> is non-zero, then the resulting delta is: + + DELTA3 = DELTA1 - DELTA2 + +C<$delta1> and C<$delta2> are valid L objects, and a new +L object is produced. + +C<$no_normalize> can be the string 'nonormalize' or a non-zero value (in +which case $subtract MUST be entered, even if it is 0). + +=back + +=head1 MODE + +Date::Manip calculations can be divided into two different categories: +business and non-business; and within those are three sub-categories: +exact, semi-exact, and approximate. + +=over 4 + +=item B + +A business calculation is one where the length of the day is +determined by the length of the work day, and only business days +(i.e. days in which business is conducted) count. Holidays and +weekends are omitted (though there is some flexibility in defining +what exactly constitutes the work week as described in the +L manual). This is described in more detail below +in L. + +A non-business mode calculation is the normal type of calculation +where no days are ignored, and all days are full length. + +=item B + +An exact calculation is one in which the delta used (or produced) is +an exact delta. An exact delta is described in more detail in the +L manual, but the short explanation is that it is +a delta which only involves fields of an exactly known length (hours, +minutes, and seconds). Business deltas also include days in the exact +part. The value of all other fields in the delta will be zero. + +A semi-exact calculation is one in which the deltas used (or produced) +is a semi-exact delta. This is also described in the +L manual, but the short explanation is that it +includes days and weeks (for standard calculations) or weeks (for +business calculations) in addition to the exact fields. A semi-exact +day is defined as the same clock time on two successive days. So noon +to noon is 1 day (even though it may not be exactly 24 hours due to a +daylight saving time transition). A week is defined as 7 days. This +is described in more detail below. + +An approximate calculation is one in which the deltas used (or +produced) are approximate, and may include any of the fields. + +=back + +In date-delta and delta-delta calculations, the mode of the +calculation will be determined automatically by the delta. In the case +of date-date calculations, the mode is supplied as an argument. + +=over 4 + +=item B + +When doing a date-date calculation, the following call is used: + + $delta = $date1->calc($date2 [,$subtract] [,$mode]); + +C<$mode> defaults to "exact". The delta produced will be be either a +business or non-business delta; exact, semi-exact, or approximate, as +specified by C<$mode>. + +Currently, the possible values that $mode can have are: + + exact : an exact, non-business calculation + semi : a semi-exact, non-business calculation + approx : an approximate, non-business calculation + + business : an exact, business calculation + bsemi : a semi-exact, business calculation + bapprox : an approximate, business calculation + +=item B + +When doing calculations of a date and a delta: + + $date2 = $date1->calc($delta [,$subtract]); + $date2 = $delta->calc($date1 [,$subtract]); + +the mode is not passed in. It is determined exclusively by the +delta. If C<$delta> is a business delta, A business calculation is +done. If C<$delta> is a non-business delta, a non-business calculation +will be done. + +The C<$delta> will also be classified as exact, semi-exact, or approximate +based on which fields are non-zero. + +=item B + +When doing calculations with two deltas: + + $delta3 = $delta1->calc($delta2 [,$subtract]); + +the mode is not passed in. It is determined by the two deltas. + +If both deltas are business mode, or both are non-business mode, a +new delta will be produced of the same type. + +It one of the deltas is a business mode and the other is not, the +resulting delta will have an error condition since there is no +direct correlation between the two types of deltas. Even though +it would be easy to add the two together, it would be impossible +to come up with a result that is meaningful. + +If both deltas are exact, semi-exact, or approximate, the resulting +delta is the same. If one delta is approximate and one is not, then +the resulting delta is approximate. It is NOT treated as an error. +Likewise, if one is semi-exact and the other exact, a semi-exact delta +is produced. + +=back + +=head1 TIMEZONE CONSIDERATIONS + +=over 4 + +=item B + +When doing a business calculation, both dates must be in the same time +zone or an error is produced. + +For non-business calculations, when calculating the difference between +two dates in different time zones, C<$date2> will be converted to the +same timezone as C<$date1> and the returned date will be in this +timezone. + +=item B + +When adding a delta to a date, the resulting date will be in the same +time zone as the original date. + +=item B + +No timezone information applies. + +=back + +It should also be noted that daylight saving time considerations are +currently ignored when doing business calculations. In common usage, +daylight saving time changes occurs outside of the business day, so +the business day length is constant. As a result, daylight saving +time is ignored. + +=head1 BUSINESS MODE CONSIDERATIONS + +In order to correctly do business mode calculations, a config file +should exist which contains the section defining holidays (otherwise, +weekends will be ignored, but all other days will be counted as +business days). This is documented below, and in the +L section of the documentation. Some config +variables (namely WorkWeekBeg, WorkWeekEnd, WorkDayBeg, WorkDayEnd, +and WorkDay24Hr) defined the length of the work week and work day. + +If the workday is defined as 08:00 to 18:00, a work week consisting of +Mon-Sat, and the standard (American) holidays, then from Tuesday at +12:00 to the following Monday at 14:00 is 5 days and 2 hours. If the +"end" of the day is reached in a calculation, it automatically +switches to the next day. So, Tuesday at 12:00 plus 6 hours is +Wednesday at 08:00 (provided Wed is not a holiday). Also, a date that +is not during a workday automatically becomes the start of the next +workday. So, Sunday 12:00 and Monday at 03:00 both automatically +becomes Monday at 08:00 (provided Monday is not a holiday). + +Note that a business week is treated the same as an exact week +(i.e. from Tuesday to Tuesday, regardless of holidays). Because this +means that the relationship between days and weeks is NOT unambiguous, +when a semi-exact delta is produced from two dates, it will be in +terms of d/h/mn/s (i.e. no week field). + +Anyone using business mode is going to notice a few quirks about it +which should be explained. When I designed business mode, I had in +mind what a business which promises 1 business day turnaround really +means. + +If you do a business calculation (with the workday set to 9:00-17:00), +you will get the following: + + Saturday at noon + 1 business day = Tuesday at 9:00 + Saturday at noon - 1 business day = Friday at 9:00 + +What does this mean? + +As an example, say I use a business that works 9-5 and they have a +drop box so I can drop things off over the weekend and they promise 1 +business day turnaround. If I drop something off Friday night, +Saturday, or Sunday, it doesn't matter. They're going to get started +on it Monday morning. It'll be 1 business day to finish the job, so +the earliest I can expect it to be done is around 17:00 Monday or 9:00 +Tuesday morning. Unfortunately, there is some ambiguity as to what +day 17:00 really falls on, similar to the ambiguity that occurs when +you ask what day midnight falls on. Although it's not the only +answer, Date::Manip treats midnight as the beginning of a day rather +than the end of one. In the same way, 17:00 is equivalent to 9:00 the +next day and any time the date calculations encounter 17:00, it +automatically switch to 9:00 the next day. Although this introduces +some quirks, I think this is justified. I also think that it is the +way most people think of it. If I drop something off first thing +Monday morning, I would expect to pick it up first thing Tuesday if +there is 1 business day turnaround. + +Equivalently, if I want a job to be finished on Saturday (despite the fact +that I cannot pick it up since the business is closed), I have to drop it +off no later than Friday at 9:00. That gives them a full business day to +finish it off. Of course, I could just as easily drop it off at 17:00 +Thursday, or any time between then and 9:00 Friday. Again, it's a matter +of treating 17:00 as ambiguous. + +So Saturday + 1 business day = Tuesday at 9:00 (which means anything +from Monday 17:00 to Tuesday 9:00), but Monday at 9:01 + 1 business +day = Tuesday at 9:01 which is unambiguous. + +It should be noted that when adding years, months, and weeks, +the business day is ignored. Once they've been added, the resulting +date is forced to be a business time (i.e. it moves to the start of +the next business day if it wasn't one already) before proceeding with +the days, hours, minutes, and seconds part. + +=head1 EXACT, SEMI-EXACT, AND APPROXIMATE DATE/DELTA CALCULATIONS + +This section contains more details about exactly how exact, semi-exact, +and approximate calculations are performed for date/delta calculations. + +All calculations make use of some exact quantities, including: + + 1 year = 12 months + 1 week = 7 days + 1 hour = 60 minutes + 1 minute = 60 seconds + +This leaves two relationships which are not exact: + + 1 month = ? days + 1 day = ? hours + +For non-business calculations, a day is usually 24 hours long. Due to +daylight saving time transitions which might make a day be 23 or 25 hours +long (or in some cases, some other length), the relation is not exact. +Whenever possible, a day is actually measured as the same time on +two days (i.e. Tuesday at noon to Wednesday at noon) even if that +period is not precisely 24 hours. For business calculations, a days +length is determined by the length of the work day and is known +exactly. + +Exact calculations involve ONLY quantities of time with a known length, +so there is no ambiguity in them. + +Approximate and semi-exact calculations involve variable length fields, +and so they must be treated specially. + +In order to do an approximate or semi-exact calculation, the delta is +added to a date in pieces, where the fields in each piece have an +exact and known relationship. + +For a non-business calculation, a calculation occurs in the following +steps: + + year/month fields added + week/day fields added + hour/minute/second fields added + +For a business calculation, the steps are: + + year/month fields added + week field added + day field added + hour/minute/second fields added + +After each step, a valid date must be present, or it will be adjusted +before proceeding to the next step. Note however that for business +calculations, the first step must produce a valid date, but not +necessarily a business date. The second step will produce a valid +business date. + +A series of examples will illustrate this. + +=over 4 + +=item B + + date = Mar 31 2001 at 12:00:00 + delta = 1 year, 1 month, 1 day, 1 hour + +First, the year/month fields are added without modifying any other field. +This would produce: + + Apr 31, 2002 at 12:00 + +which is not valid. Any time the year/month fields produce a day past +the end of the month, the result is 'truncated' to the last day of the +month, so this produces: + + Apr 30, 2002 at 12:00 + +Next the week/day fields are added producing: + + May 1, 2002 at 12:00 + +and finally, the exact fields (hour/minute/second) are added to produce: + + May 1, 2002 at 13:00 + +=item B + +Assuming a normal Monday-Friday work week from 8:00 - 17:00: + + date = Wed, Nov 23, 2011 at 12:00 + delta = 1 week, 1 day, 1 hour + +First, the week field is added: + + Wed, Nov 30, 2011 at 12:00 + +Then the day field is added: + + Thu, Dec 1, 2011 at 12:00 + +Then the exact fields are added: + + Thu, Dec 1, 2011 at 13:00 + +=item B + +In America, Jul 4 is a holiday, so Mon, Jul 4, 2011 is not a work day. + + date = Mon, Jun 27, 2011 at 12:00 + delta = 1 week, 1 day, 1 hour + +First, the week field is added: + + Mon, Jul 4, 2011 at 12:00 + +Since that is not a work day, it immediately becomes: + + Tue, Jul 5, 2011 at 8:00 + +Then the day field is added: + + Wed, Jul 6, 2011 at 8:00 + +and finally the remaining fields: + + Wed, Jul 6, 2011 at 9:00 + +=item B + +In the America/New_York timezone (Eastern time), on November 6, 2011, +the following time change occurred: + + 2011-11-06 02:00 EDT => 2011-11-06 01:00 EST + +Three simple calculations illustrate how this is handled: + + date = 2011-11-05 02:30 EDT + delta = 1 day + +Adding the day produces: + + 2011-11-06 02:30 EDT + +which is valid, so that is the result. + +Similarly: + + date = 2011-11-07 02:30 EST + delta = -1 day + +produces: + + 2011-11-06 02:30 EST + +which is valid. + +Finally: + + date = 2011-11-05 02:30 EDT + delta = 2 days + +produces: + + 2011-11-07 02:30 EST + +The calculation will preserve the savings time where possible so the +resulting day will have the same offset from UTC. If that is not +possible, but the resulting day is valid in the other offset, that +will be used instead. + +=item B + +In the America/New_York timezone (Eastern time), on March 13, +the following time change occurred: + + 2011-03-13 02:00 EST => 2011-03-13 03:00 EDT + +In this case, a calculation may produce an invalid date. + + date = 2011-03-12 02:30 EST + delta = 1 day + +produces: + + 2011-03-13 02:30 EST + +This is not valid. Neither is: + + 2011-03-13 02:30 EDT + +In this case, the calculation will be redone converting days to 24-hour +periods, so the calculation becomes: + + date = 2011-03-12 02:30 EST + delta = 24 hours + +which will produce a valid date: + + 2011-03-13 03:30 EDT + +=back + +=head1 EXACT, SEMI-EXACT, AND APPROXIMATE DATE/DATE CALCULATIONS + +This section contains more details about exactly how exact, semi-exact, +and approximate calculations are performed for date/date calculations. + +When calculating the delta between two dates, the delta may take +different forms depending on the mode passed in. An exact calculation +will produce a delta which included only exact fields. A semi-exact calculation +may produce a semi-exact delta, and an approximate calculation may produce +an approximate delta. Note that if the two dates are close enough together, +an exact delta will be produced (even if the mode is semi-exact or approximate), +or it may produce a semi-exact delta in approximate mode. + +For example, the two dates "Mar 12 1995 12:00" and "Apr 13 1995 12:00" +would have an exact delta of "744 hours", and a semi-exact delta of +"31 days". It would have an approximate delta of "1 month 1 day". + +Two dates, "Mar 31 12:00" and "Apr 30 12:00" would have deltas "720 +hours" (exact), "30 days" (semi-exact) or "1 month" (approximate). + +Approximate mode is a more human way of looking at things (you'd say 1 +month and 2 days more often then 33 days), but it is less meaningful +in terms of absolute time. + +One thing to remember is that an exact delta is exactly the amount of +time that has passed, including all effects of daylight saving +time. Semi-exact and approximate deltas usually ignore the affects of +daylight saving time. + +=head1 SUBTRACTION + +In exact and semi-exact calculations, and in delta-delta calculations, +the the C<$subtract> argument is easy to understand. When working +with an approximate delta however (either when adding an approximate +delta to a date, or when taking two dates to get an approximate +delta), there is a degree of uncertainty in how the calculation is +done, and the $subtract argument is used to specify exactly how the +approximate delta is to be use. An example illustrates this quite +well. + +If you take the date Jan 4, 2000 and subtract a delta of "1 month 1 +week" from it, you end up with Nov 27, 1999 (Jan 4, 2000 minus 1 month +is Dec 4, 1999; minus 1 week is Nov 27, 1999). But Nov 27, 1999 plus a +delta of "1 month 1 week" is Jan 3, 2000 (Nov 27, 1999 plus 1 month is +Dec 27, 1999; plus 1 week is Jan 3, 2000). + +In other words the approximate delta (but NOT the exact or semi-exact +delta) is different depending on whether you move from earlier date to +the later date, or vice versa. And depending on what you are +calculating, both are useful. + +In order to resolve this, the C<$subtract> argument can take on the values +0, 1, or 2, and have different meanings. + +=over 4 + +=item B<$subtract in approximate date-date calculations> + +In the call: + + $delta = $date1->calc($date2,$subtract,"approx"); + +if C<$subtract> is 0, the resulting delta can be added to C<$date1> to get +C<$date2>. Obviously C<$delta> may still be negative (if C<$date2> comes before +C<$date1>). + +If C<$subtract> is 1, the resulting delta can be subtracted from C<$date1> +to get C<$date2> (the deltas from these two are identical except for having +an opposite sign). + +If C<$subtract> is 2, the resulting delta can be added to C<$date2> to get +C<$date1>. In other words, the following are identical: + + $delta = $date1->calc($date2,2,"approx"); + $delta = $date2->calc($date1,"approx"); + +=item B<$subtract in approximate date-delta calculations> + +In the call: + + $date2 = $date1->calc($delta,$subtract); + +If C<$subtract> is 0, the resulting date is determined by adding C<$delta> to +C<$date1>. + +If C<$subtract> is 1, the resulting date is determined by subtracting C<$delta> +from C<$date1>. + +If C<$subtract> is 2, the resulting date is the date which C<$delta> +can be added to to get C<$date1>. + +For business mode calculations, C<$date1> will first be adjusted to be a valid +work day (if it isn't already), so this may lead to non-intuitive results. + +In some cases, it is impossible to do a calculation with C<$subtract> = 2. +As an example, if the date is "Dec 31" and the delta is "1 month", there +is no date which you can add "1 month" to to get "Dec 31". When this occurs, +the date returned has an error flag. + +=back + +=head1 APPROXIMATE DATE/DATE CALCULATION + +There are two different ways to look at the approximate delta between +two dates. + +In Date::Manip 5.xx, the approximate delta between the two dates: + + Jan 10 1996 noon + Jan 7 1998 noon + +was 1:11:4:0:0:0:0 (or 1 year, 11 months, 4 weeks). In calculating +this, the first date was adjusted as far as it could go towards the +second date without going past it with each unit starting with the +years and ending with the seconds. + +This gave a strictly positive or negative delta, but it isn't +actually how most people would think of the delta. + +As of Date::Manip 6.0, the delta is 2:0:0:-3:0:0:0 (or 2 years minus +3 days). Although this leads to mixed-sign deltas, it is actually how +more people would think about the delta. It has the additional +advantage of being easier to calculate. + +For non-business mode calculations, the year/month part of the +approximate delta will move a date from the year/month of the first +date into the year/month of the second date. The remainder of the +delta will adjust the days/hours/minutes/seconds as appropriate. + +For approximate business mode calculations, the year, date, and week +parts will be done approximately, and the remainder will be done +exactly. + +=head1 KNOWN BUGS + +None known. + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Changes5.pod b/lib/Date/Manip/Changes5.pod new file mode 100644 index 0000000..5d33252 --- /dev/null +++ b/lib/Date/Manip/Changes5.pod @@ -0,0 +1,1924 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Changes5 - changes in Date::Manip 5.xx + +=head1 SYNOPSIS + +This describes the changes made to the Date::Manip module up to the +time that 6.00 was released. Because 6.00 required a newer version +of perl (5.10 or higher), the old version was maintained. + +When Date::Manip 6.10 was released, both versions were bundled +together (though how it was bundled changed when 6.14 was released). + +This document describes all changes made to the old version of +Date::Manip. + +For the most part, Date::Manip has remained backward compatible at +every release, but occasionally, a change is made which is backward +incompatible. These are marked with an exclamation mark (!). + +=head1 VERSION 5.66 (Released with 6.51) + +=over 4 + +=item Fixed a bug in Date_ConvTZ + +Applied a patch supplied by Zhenyi Zhou which fixes a bug in Date_ConvTZ +where passing in an empty string did not work. + +=back + +=head1 VERSION 5.65 (Released with 6.37) + +As of December 2012, Version 5 of Date::Manip will no longer be modified. +The 5.xx version was updated to 5.65 (but no changes were made), and this +version is expected to be the final release in the 5.xx series. + +The one exception is that if someone submits a patch that applies cleanly +and causes zero failures in the test suite, I will consider adding it on +a case-by-cast bases. + +Please use Date::Manip 6.xx instead. + +=head1 VERSION 5.64 (Released with 6.32) + +=over 4 + +=item Better handling of '0000' timezone + +Applied a patch supplied by Ed Avis that improves handling of the '0000' timezone.. + +=back + +=head1 VERSION 5.63 (Released with 6.26) + +=over 4 + +=item Fixed business mode calculation + +Applied a patch that I received some time ago to fix a business +mode calculation. Steve Tempest + +=back + +=head1 VERSION 5.62 (Released with 6.21) + +No changes + +=head1 VERSION 5.61 (Released with 6.20) + +No changes + +=head1 VERSION 5.60 (Released with 6.14) + +=over 4 + +=item B + +As of Date::Manip 6.14, the 5.xx release is fully integrated into the +distribution. Both will be installed automatically and you can switch +between them (if you have a recent version of perl). This simplifies +the package management process considerably. The downside is that +Date::Manip 6.xx will be installed, even if you do not have a recent +version of perl and cannot use it. + +=back + +=head1 VERSION 5.59 (Released with 6.12) + +=over 4 + +=item Test fixes + +Fix tests to work better on windows. + +=back + +=head1 VERSION 5.58 (Released with 6.11) + +=over 4 + +=item Test fixes + +Fixed a bug in some of the tests that were causing two tests to +fail. JD + +Explicitly set TZ in all tests to avoid some failures (it got left out +of a few when it was bundled with 6.10). + +=back + +=head1 VERSION 5.57 (Released with 6.10) + +=over 4 + +=item B<(*) Combined 5.xx and 6.xx> + +As of 6.10, Date-Manip-6.xx will contain both the Date::Manip 5.xx and +6.xx modules. If perl 5.10 or higher is available, the 6.xx version +will be installed. For older versions of perl, the 5.xx version will +be installed. + +This will allow all of the automatic module tools to work correctly. + +=item Bug fixes + +Fixed a bug where years earlier than 1000 AD failed in +calculations. John + +=item Time zone fixes + +Improved time zone detection. Stepan Kasal + +=item Documentation fixes + +Minor improvements. Josef Kreulich + +=back + +=head1 VERSION 5.56 (2010-02-24) + +=over 4 + +=item Bug fixes + +Date_PrevWorkDay and documentation fix. RT #17005 + +I accidentally included a require 5.10 which made Date::Manip not work +with earlier versions of perl. Nicholas Riley + +=back + +=head1 VERSION 5.55 (2010-02-22) + +=over 4 + +=item B<(*) Added time zone abbreviations> + +Date::Manip 5.xx now includes all of the time zone abbreviations from +version 6.xx (i.e. all of the abbreviations from the Olsen database). + +=item Documentation fixes + +Typo fix. ddascalescu + +=back + +=head1 VERSION 5.54 (2008-05-09) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.53 (DEVELOPMENT) + +=over 4 + +=item Bug fixes + +Fix so it won't fail with "Too early to specify a build action" + +=item CPANTS changes + +Final changes to meet requirements on http://cpants.perl.org/ + +=back + +=head1 VERSION 5.52 (2008-05-08) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.51 (DEVELOPMENT) + +=over 4 + +=item Bug fixes + +Fixed bug where the wrong version was in Build.PL + +=item CPANTS changes + +Additional changes to meet requirements on http://cpants.perl.org/ + +=back + +=head1 VERSION 5.50 (2008-05-05) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.49 (DEVELOPMENT) + +=over 4 + +=item New features + +Added "ereyesterday". Ed Avis + +=item Time zone fixes + +Added time zones. Damyan Ivanov, Ernesto Hernandez-Novich, Gregor +Herrmann, Nicholas Riley, Enrique Verdes, Alexander Litvinov + +=item Documentation fixes + +Corrected typo in %G and %L format descriptions. Troy A. Bollinger + +=item CPANTS changes + +Added Build.PL and several other things to meet requirements on +http://cpants.perl.org/ + +=back + +=head1 VERSION 5.48 (2007-11-27) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.47 (DEVELOPMENT) + +=over 4 + +=item Bug fixes + +Fixed the version number. John R. Daily + +Fixed a warning when the date command not present. Daniel Hahler + +Fixed a bug where recurrences of the form 0:1*, 0:0:1*, etc., +incorrectly required a base date. Gerry Lawrence + +Fixed a bug where "substring" was used instead of "substr". + +=item Time zone fixes + +Fixed a problem in the WEST time zone. Cristina Nunes + +Added time zone. Kimmo R. M. Hovi + +=item Documentation fixes + +Revised some of the documentation about Y2K (given that it's in the +past) and the 2007 US daylight saving time rule changes. + +=back + +=head1 VERSION 5.46 (2007-02-21) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.45 (DEVELOPMENT) + +=over 4 + +=item New features + +Added "overmorrow". Ed Avis + +=item Bug fixes + +Fixed bug in parsing ISO 8601 dates. Paul Schinder + +Fixed a bug in UnixDate for years before 1000 AD. Joaquin Ferrero + +Fixed a bug where "today" wasn't case insensitive. Pedro Rodrigues + +Fixed a bug where business/approximate mode wasn't correctly used in +DateCalc. Mark T. Kennedy + +Bug in DateCalc where you couldn't pass undef as the errref. Alex Howansky + +Bug where cygwin wasn't using the date command. Rafael Kitover + +=item Time zone fixes + +New time zones. Khairil Yusof, Andy Spiegel, Ernesto Rapetti + +New time zones. Robin Norwood + +Fixed Russian time zones. Yuri Kovalenko + +=item Language fixes + +Language fix for Danish. Claus Rasmussen + +Language fix for German. Andreas Dembach + +=item Documentation fixes + +Minor documentation improvement. Caminati Carlo + +Lots of spelling fixes. Asaf Bartov + +=back + +=head1 VERSION 5.44 (2005-06-02) + +=over 4 + +=item Released + +=back + +=head1 VERSION 5.43 (DEVELOPMENT) + +=over 4 + +=item B<(!) (*) Recurrences revisited> + +The behavior of some elements of recurrences changed. These included +making the week element (N) refer to the Nth occurrence of a day of the +week in the week, month, or year. It is now possible to look at the +3rd Friday of every month for example. + +Y-0-WOY-DOW now refers to the WOY'th occurrence of DOW instead of the +ISO 8601 date Y-W(WOY)-DOY. Also, changed Y-0-WOY-0 to refer to the +WOY'th occurrence of FirstDay, and got rid of the MW and MD flags. Many +other similar changes. + +=item B<(!) Changed %x format in UnixDate> + +The %x format used to be equivalent to %D (%m/%d/%y), but it has +been modified to use the DateFormat config variable, so it may return +%d/%m/%y if a non-US DateFormat is specified. + +=item New features + +Added TodayIsMidnight. Reuben Thomas + +Added "approx" mode to Delta_Format and reversed change to default +Delta_Format behavior to the one from version 5.40. Based on +discussion with Adam Spiers. + +Added %O UnixDate format. Martin Thurn + +=item Bug fixes + +Fixed a bug is ParseRecur where values passed in were no overriding +old values in the recurrence. Scott Barker (reported to the Debian +bugs list). + +Fix for a potential problem in the "0000" time zone. Ed Avis + +Changed taint check to be the one in perlsec(1). Max Kalika + +Minor fix so DateInit("VAR=") will work. Thomas Bohme + +Fixed a bug where business mode was kept operative even after the +calculation was over. Emiliano Bruni + +Minor change to run under cygwin. Niel Markwick + +Minor VMS fix. Martin P.J. Zinser + +Small fix to taint checking. David Worenklein + +Fixed a problem where deltas were getting misinterpreted as dates. + Harry Zhu + +Fixed a bug in ParseRecur where "last day of every March" couldn't +be done. Andras Karacsony + +Fixed a bug in business mode calculations. Tracy L Sanders + +Sorted all events and dates returned by Events_List. This fixes +problems with tests on some versions of perl. Tulan + +Modified %x UnixDate format to use DateFormat config variable. +Matt Lyons + +=item Time zone fixes + +Fixed a problem with single character military time zones (T and W) +conflicting with ISO 8601 T and W dates. Hugo Cornelis + +Small correction to Brazil time zones. John McDonald + +Added time zones. Michael Wood-Vasey, Don Robertson, Michael D. Setzer +II, Andres Tarallo + +=item Language fixes + +Fixed German translations. Oliver Scheit + +Minor corrections to Italian. Nicola Pedrozzi + +Added the language Catalan. Xavi Drudis + +=item Documentation fixes + +Minor doc fixes Reuben Thomas, Ed Avis, Thomas Winzig + +Clarified documentation on %W/%G/%U/%L formats. Joel Savignon + +=back + +=head1 VERSION 5.42a 2003-07-03 + +=over 4 + +=item Test fixes + +A quick fix to replace a faulty test. + +=back + +=head1 VERSION 5.42 (2003-07-02) + +=over 4 + +=item Released + +Number changed to distinguish between the development release (5.41) +and the official release. + +=back + +=head1 VERSION 5.41 (DEVELOPMENT) + +As of 5.41, odd numbered releases are development (and appear only on +my page). Even number releases are official releases submitted to +CPAN. + +=over 4 + +=item B<(!) Changed path separator for VMS> + +Since ":" is used in some VMS paths, it should not have been used as +the path separator. It has been changed to a newline ("\n") character. + +=item B<(!) Delta_Format behavior changed> + +The entire delta is exact if no month component is present +(previously, no year or month component could be present). Due to +discussion with Tim Turner. + +=item Bug fixes + +Small patch for OpenVMS. Martin P.J. Zinser + +Minor enhancement to ParseRecur. Randy Harmon + +Fixed a bug involving business deltas with negative hours. Ludovic +Dubost + +Added some support for NetWare. Chris Shields + +Applied some robustness patches. Ed Avis + +Fixed a bug with years <1000. Jonathan Callahan + +Patch to make Manip.pm -Mstrict clean and better VMS support. +Peter Prymmer + +Fixed a bug in "1st Saturday of 2005" format. Maurice Aubrey + +Taint check insecure $ENV{PATH} fix. Ed Avis + +Patch to allow deltas of the form "+ -1 day" to work. Ed Avis + +Removed ampersands from function calls in documentation to fit new +perl coding standards. Bill Pollock + +Fixed a bug where spaces in a date caused problems in German (due +to the number 1st, 2nd, etc. being 1., 2., etc.). Erik Roderwald + +=item Time zone fixes + +Minor bug fix where /etc/time zone not correctly read. Jacek Nowacki + +Made the UnixDate %Z format work with numeric time zones. Michael Isard + +Fixed bug where -HH:MM and +HH:MM were not being accepted as valid +time zones. Hank Barta + +Fixed a bug where time zones -HH:MM weren't handled in ISO 8601 dates. +Ed Avis + +Added some help for VMS time zones. Don Slutz + +Added some checking to the time zone determination. Ed Avis + +Added time zones. David Coppit, Daniel Serodio, Fabian Mandelbaum, +Raul Dias, Pedro Melo CUNHA, Roman Y Malakhov, David Whiting, Khaled +Mostaguir, Jason King + +=item Language fixes + +B<(*) Replaced all non-ASCII characters with hex representations to avoid +the malformed UTF-8 character warnings. Ed Avis> + +Added Russian translation. Dapi + +Additions to Dutch translation. Willem + +Patch to French support. Patrick Turmel + +Added Tues/Thur abbreviations. Martin Thurn + +Added Turkish. Giray + +Added Danish. Jesper Dalberg + A patch for Danish was send by Jorgen Norgaard previously, and + I somehow overlooked it. I apologize for that. + +=item Test fixes + +Added runtests.bat contributed by Lon Amick + +=item Documentation fixes + +Minor doc fix. Jeremy Tietsort + +Fixed spelling of Veteran's day. Dirk Eddelbuettel + +Documentation improvements. James Olsen + +=back + +=head1 VERSION 5.40 (2001-06-07) + +=over 4 + +=item New features + +Added support for negative values is "epoch SECS" type dates. +Larry Warner + +Added NWD/PWD/DWD flags to ParseRecur. Peter Wyngaard + +=item Bug fixes + +Fixed a warning. Edward Avis + +Fixed a bug where the date wasn't rolling over when parsing dates +containing only times. James L. Gordon + +Fixed a bug where some times were defaulting to the current time +instead of 00:00:00. Edward Avis + +Fixed a bug in Date_NthDayOfYear with decimal days. Olga Polyakov + +Fixed a bug where ParseDateDelta returned a delta if nothing was +passed in. Jim Hranicky + +Fixed a bug where noon was case sensitive. Bion Pohl + +Fixed a bug where dateTtime wasn't parsed. Jeremy Brinkley + +Fixed a bug in holiday parsing involving recurrences. Jerry Wilcox + +Fixed a bug where an invalid date passed to Date_IsWorkDay produced +an error message. Mark Rejhon + +Fixed a bug where EraseHolidays wasn't taking affect correctly. +Chateauvieux Martial + +Fixed a bug where the list produced by Date_Init couldn't be passed +back in to Date_Init. James Elson + +=item Time zone fixes + +Added `date +%Z` support in Date_TimeZone. Mike Bristow + +Fixed a warning if the time zone is supplied as a +HHMM format. +Viola Mauro + +Fixed South African time zone. David Sieborger + +=item Documentation fixes + +Added an example. Philip Jones + +=back + +=head1 VERSION 5.39 (2000-06-27) + +=over 4 + +=item Bug fixes + +`date` uses the user's path unless taint checking is on. + +@::DatePath used instead of @Date::Manip::DatePath incorrectly. +Fixed by John Labovitz. + +Fixed a bug where times such as "5 seconds ago" were not changing +over time. Matthew R. Sheahan + +=item Time zone fixes + +Added /etc/time zone support to &Date_TimeZone. Dirk Eddelbuettel + +Added time zones. Dirk Eddelbuettel, Eli Selinger + +=back + +=head1 VERSION 5.38 (2000-05-23) + +=over 4 + +=item B<(*) Added Events> + +Added Events section to config file and Events_List routine. Prompted +by Greg Schiedler and paid for by Alan Cezar. + +=item B<(!) Removed Date_DaysSince999> + +The Date_DaysSince999 function (deprecated in 5.35) has been removed. + +=item New features + +Added support for ISO8601 dates of the format dateTtime. Jason Pierce + +Got rid of the "use Cwd" and ENV{PATH} lines which means no more taint +problems. + +=item Bug fixes + +Fixed "dofw" format to return the day of the current week as documented +instead of next week. Dennis Ingram + +Fixed a bug where dates in years 1900, 1800, etc. (but not 2000 or other +400th years) were off by one day in DayOfWeek. Noble Thomas + +Fixed a bug in ParseRecur (2-digit years not treated correctly). +Brian Rectanus + +=item Time zone fixes + +Added time zones. Nelson Ferreira, David Harper + +=item Documentation fixes + +Fixed some typos. Thanks to Alex Kapranoff + +Typo fixed. Jim Hranicky + +=back + +=head1 VERSION 5.37 (2000-02-14) + +=over 4 + +=item Bug fixes + +Set ENV{PATH} to help with taint checking. Joe Lipson + +Fixed a serious bug where HH:24:00 was broken due to support from 24:00:00. +Scott Egashira + +=item Time zone fixes + +Fixed the sign on the military time zones. John Scott + +=back + +=head1 VERSION 5.36 (2000-01-21) + +=over 4 + +=item New features + +Added support for 24:00:00 to ParseDate. William H Asquith + +=item Bug fixes + +Fixed a bug in ParseRecur. Lewis Tsao + +Fixed a bug is UnixDate (%l format). Jon Hedley + +Fixed a bug in Date_GetNext/Prev. Christoph Haas + +Fixed a bug in Date_IsHoliday. Report and patch by Rolf Beutner + +Fixed a bug in UnixDate. Patch by Kurtis D. Rader + +Rewrote IsInt routine based on discussion with Sean Hunter +(approximately 30% faster on a SPARC). + +=item Time zone fixes + +Added time zone. Paul Arzul + +=item Documentation fixes + +Fixed a documentation problem with Date_ConvTZ. Diab Jerius + +=back + +=head1 VERSION 5.35 (1999-07-06) + +=over 4 + +=item B<(!) Deprecated Date_DaysSince999> + +In fixing support for the years 0001-0999, I rewrote Date_DaysSince999 to +be Date_DaysSince1BC. The Date_DaysSince999 function will be removed. + +=item B<(*) (!) Added PathSep variable> + +In order to better support Win32 platforms, I added the PathSep config +variable. This will allow the use of paths such as "c:\date" on Win32 +platforms. Old config files on Win32 platforms (which were not working +correctly in many cases) may not work if they contain path information to +the personal config file. + +=item B<(*) Recurrences now support flags> + +Flags for modifying recurrence dates are now supported. + +=item B<(*) Improved holiday support considerably> + +Added support for recurrences and one-year-only holidays (the latter +requested first by Vishal Bhatia. + +=item B<(*) Date_Init improved> + +Date_Init can now return a list of config variables if called in array +context. Based on a suggestion by Matt Tuttle. + +=item New features + +Modified Date_GetPrev/Date_GetNext to take $curr=2. + +Now parses the Apache log file format "dd/mmm/yyyy:hh:mm:ss (time zone)". +Mark Ferguson + +Added OS/2 support. Michael B. Babakov + +Added Date_IsHoliday routine. Joe Pepin + +Added recurrence support for Easter (first suggested by Abigail). + +=item Bug fixes + +Made "epoch" not case sensitive and fixed a bug where it would fail in +some languages. Caught because of Iosif's thorough Romanian test file. + +Fixed a problem where "in 5 days/weeks/months" sometimes wouldn't get +correctly parsed in other languages. Caught because of Iosif's +thorough Romanian test file. + +Fixed a weakness in ParseDateDelta brought out by the Romanian delta +test file. + +Fixed a bug causing warnings in the beta version of perl. Patch by +Paul Johnson. + +Fixed support for years 0000-0999. Requested by Chris Vaughan + +Several recurrence bug fixes. + +Put all the my'ed global variables in a couple hashes to clean up the +namespace and to make a few future enhancements easier to do. + +Fixed a bug where business weeks weren't being used correctly. Qian +Miao + +Fixed a serious typo in the DaysSince1BC routine. Qian Miao + +Fixed Veteran's day, added Good Friday (off by default). Peter Chen + +Cleaned up holiday variables and re-did holiday routines. + +=item Time zone fixes + +Added time zones. Oded Cohen + +=item Language fixes + +Added Romanian support (including 2 test files). Iosif Fettich + +Corrected Swedish translations. Danne Solli + +Some fixes to German translations. Peter Ehrenberg + +Added Italian. Nicola Pedrozzi + +=item Test fixes + +Added recurrence test suite + +=item Documentation fixes + +Several documentation updates. + +New recurrence documentation. + +=back + +=head1 VERSION 5.34 (1999-04-13) + +=over 4 + +=item B<(!) (*) All Date::Manip variables are no longer accessible> + +Previously, Date::Manip variables were declared using a full package +name. Now, they are declared with the my() function. This means that +internal variables are no longer accessible outside of the module. +Based on suggestion by Tom Christiansen + +=item B<(!) Week interpretation in business mode deltas> + +A business mode delta containing a week value used to be treated as 7 days. +A much more likely interpretation of a week is Monday to Monday, regardless +of holidays, so this is now the behavior. + +=item B<(!) %z UnixDate format> + +The %z UnixDate format used to return the time zone abbreviation. It now +returns it as a GMT offset (i.e. -0500). %Z still returns the time zone +abbreviation. Suggested by Tuc. + +=item B<(!) Formats "22nd Sunday" returns the intuitive value> + +The date "22nd Sunday" used to return the Sunday of the 22nd week of the +year (which could be the 21st, 22nd, or 23rd Sunday of the year depending +on how weeks were defined). Now, it returns the 22nd Sunday of the year +regardless. + +=item B<(!) Separator in DD/YYmmm and mmmDD/YY formats no longer optional> + +Previously, the date "Dec1065" would return Dec 10, 1965. After +adding the YYYYmmm and mmmYYYY formats, this was no longer possible. +The separator between DD and YY is no longer optional, so + + Dec1065 returns December 1, 1065 + Dec10/65 returns December 10, 1965 + +=item B<(*) Date_Cmp added> + +In one of the next versions of Date::Manip, the internal format of the +date will change to include time zone information. All date +comparisons should be made using Date_Cmp (which currently does +nothing more than call the Perl "cmp" command, but which will +important when comparing dates that include the time zone). + +Added now in response to a question by Al Sorrell (I should have added +it earlier). + +=item New features + +Added exact business mode. Ian Duplisse + +Added "mmmYYYY" and "YYYYmmm" formats. As a result, "DDYYmmm" and +"mmmDDYY" formats changed to "DD/YYmmm" and "mmmDD/YY" as described +above. David Twomey + +=item Bug fixes + +Fixed a bug where a date passed in as an array wasn't getting the +date removed from the array. Rick Wise + +Added tests for MPE/iX OS. John Testa + +Fixed a bug where WorkDayBeg=8:00 went into an infinite loop. +Mark Martinec + +Changed a business week to be the same as an exact week. Abigail + +Fixed a bug where "Sunday week 0" didn't work (only affected week 0) +Gerald Rinske + +Minor bug (my variable declared twice). Paul J. Schinder + +Fixed a bug where "epoch SECONDS" was getting parsed wrong (for SECONDS +which could be interpreted as an ISO-8601 date). N. Thomas + +Fixed a problem where init files were not being read. Mike Reetz + +=item Time zone fixes + +At the request of the UN, I added the SAT time zone. :-) Howard +Hendler + +Fixed a bug where time zones were converted multiple times if ConvTZ +was set and DateCalc called. Steven Hartland + +=item Language fixes + +Added Portuguese. Rui Pedro da Silva Leite Pereira + +=item Documentation fixes + +A number of typos fixed. Ron Pero + +=back + +=head1 VERSION 5.33 (1998-08-20) + +=over 4 + +=item Bug fixes + +Fixed a bug where "1 month ago" was no longer working (and added it to +the test cases). This broke when I fixed the "-1second" bug in the +previous version. A result of this is that a number of "deltas" can +be parsed as dates (i.e. &ParseDate("1 hour 20 minutes ago") is +equivalent to &DateCalc("now","1 hour 20 minutes ago")). Only text +deltas can be used in this way (i.e. &ParseDate("-0:0:0:0:1:20:0") +will not work). + +=item Language fixes + +Added Spanish support. Bautista Jasso Javier + +=back + +=head1 VERSION 5.32 (1998-08-17) + +=over 4 + +=item B<(!) Date_Init arguments> + +The old style Date_Init arguments that were deprecated in version 5.07 +have been removed. + +=item B<(!) (*) DateManip.cnf change> + +Changed .DateManip.cnf to Manip.cnf (to get rid of problems on OS's +that insist on 8.3 filenames) for all non-Unix platforms (Windows, VMS, +Mac). For all Unix platforms, it's still .DateManip.cnf . It will only +look in the user's home directory on VMS and Unix. + +=item New features + +Added "in N days" and "N days ago" formats. Tony Bowden. + +Added cYYYY format to YYtoYYYY variable. Mark Rejhon. + +Added 2 days/weeks/months later in both ParseDate and ParseDelta (for +Dutch support). Abigail. + +Added "Y:M:0*-DOM:0:0:0" to ParseRecur. Jeff Yoak. + +=item Bug fixes + +Fixed a bug where the deltas could be off by up to a couple minutes in +some rare cases. Herman Horsten. + +Fixed an "uninitialized symbol" warning. Mark D. Anderson. + +Fixed a bug where holidays weren't erased. Jonathan Wright. + +Applied a bug fix from Joe Chapman where the %W/%U UnixDate formats +were frequently wrong. + +Several minor fixes and improvements. Abigail. + +Added some VMS support. Charles Lane. + +Fixed a bug which caused a test to fail on some systems. Charles Lane. + +Fixed a bug where "-1second" was treated as a date rather than a delta +in DateCalc. Kenneth Ingham + +Added a bit to the Makefile.PL (as it was distributed in the Win32 +Perl Resource Kit). Murray Nesbitt + +=item Time zone fixes + +Allowed time zones of the format STD-#DST-#. Peter Gordon. + +Added time zone support for "+0500 (EST)". Tom Christiansen. + +Restricted time zones parsing to 0000-2359 instead of 0000-9999. +Frank Cusack + +Added time zones. W. Phillip Moore, Michael Smith, Samuli Karkkainen + +=item Language fixes + +Added Polish support. Ian Wojtowicz. + +Added Dutch support. Abigail. + +Added A.M. and P.M. parsing (not just AM and PM). William W. Arnold. + +Fixed a German initialization problem. Thomas Horster-Moller +and Christian Reithmaier + +=item Documentation fixes + +Documentation fix. Peter Gordon. + +Minor documentation changes. Yamamoto Hiroshi. + +Added info about the RCS problem. Supplied by Kipp E. Howard. + +=back + +=head1 VERSION 5.31 (1998-04-08) + +=over 4 + +=item New features + +Added "epoch SECS" format to ParseDateString. Thanks to: Joshua M. Burgin. + +Added a patch by Blair Zajac to make Date_NthDayOfYear work with decimal +days. + +=item Bug fixes + +Fixed a bug in ParseDateDelta (seems to appear only in 5.005 pre-releases). +Found by Larry W. Virden. + +Missed one form in ParseDate. Noted by Tuc. + +Fixed a bug where "15:00:00" couldn't be parsed. Michael Pizolato. + +Split Manip.pm. New files are HISTORY, TODO, Manip.pod. + +Fixed a bug in ParseDateDelta. Antonio Rosella. + +Removed the only occurrence of $& (which may speed some things up). Fix +by Ken Williams. First suggested by Abigail. + +Fixed an overflow bug in doing date calculations with 2 dates more than +70 years apart. Fix by Vishal Bhatia. + +Fixed a bug where "5:00pm" wasn't always parsed correctly. Thanks to +Jim Trocki. + +Fixed a bug in UnixDate (it wouldn't return the correct string for a +format who's last character was '0') noted by Ramin V. + +=item Time zone fixes + +Relaxed some restrictions on time zones so ISO-8601 dates can use +non-ISO-8601 time zones. Noted by John Chambers. + +Fixed a bug in converting time zones with a minutes field (+1030). Found +by Paul O. + +=item Language fixes + +Some fixes to the French translations by Emmanuel Bataille. + +Added German support. Thanks to Andreas C. Poszvek. + +=item Documentation fixes + +Minor documentation fixes. Will Linden. + +Fixed a documentation problem with Date_GetPrev. It was still 0-6 +instead of 1-7. Thanks to Robert Klep. + +=back + +=head1 VERSION 5.30 (1998-01-21) + +=over 4 + +=item B<(!) (*) Delta format changed> + +A week field has been added to the internal format of the delta. It now +reads "Y:M:W:D:H:MN:S" instead of "Y:M:D:H:MN:S". + +=item B<(*) Now handles recurring events> + +Added ParseRecur. First suggested by Chris Jackson. + +=item New features + +All routines can now take either a 2- or 4-digit year. + +Added Delta_Format. First suggested by Alan Burlison. + +Added Date_SetDateField. Thanks to Martin Thurn. + +=item Bug fixes + +Made the $err argument to DateCalc optional. + +Changed the name of several of the library routines (not the callable +ones) to standardize naming. + +=back + +=head1 VERSION 5.21 (1998-01-15) + +=over 4 + +=item B<(!) Long running processes may give incorrect time zone> + +A process that runs during a time zone change (Daylight Saving Time +specifically) may report the wrong time zone. See the UpdateCurrTZ variable +for more information. + +=item B<(!) UnixDate "%J", "%W", and "%U" formats fixed> + +The %J, %W, and %U will no longer report a week 0 or a week 53 if it should +really be week 1 of the following year. They now report the correct week +number according to ISO 8601. + +=item New features + +Added YYtoYYYY variable. Suggested by Michel van der List. + +Added the UpdateCurrTZ variable to increase speed at the cost of being +wrong on the time zone. + +Added British date formats. Thanks to Piran Montford. + Monday week + today week + as well as some US formats + in 2 months + next month + +Time can now be written 5pm. Piran Montford. + +Added the TomorrowFirst variable and Date_NearestWorkDay function. + +Added UnixDate formats %G and %L to correctly handle the year. Thanks +to Samuli Karkkainen. + +Added ForceDate variable. Based on a suggestion by Christian Campbell. + +=item Bug fixes + +Now passes Taint checks. Thanks to Mike Fuhr, Ron E. Nelson, and +Jason L Tibbitts III. + +Put everything in a "use integer" pragma. + +Added a missing space in the %g UnixDate format. Thanks to Mike Booth. + +Removed all mandatory call to Date_Init (only called when current time +is required). Significantly faster. + +Fixed a bug in Date_ConvTZ. Thanks to Patrick K Malone. + +Fixed a bug in Date_IsWorkDay. + +=item Time zone fixes + +Fixed some Australian time zones. Kim Davies. + +=item Language fixes + +Cleaned up multi-lingual initialization and added the IntCharSet +variable. + +Improved French translations. Thanks to Emmanuel Bataille. + +Added "Sept" as a recognized abbreviation. Thanks to Martin Thurn. + +Typo in the French initialization. Thanks to Michel Minsoul. + +=item Test fixes + +Fixed the tests to not fail in 1998. + +=item Documentation fixes + +Documented how to get around Micro$oft problem. Based on a mail by +Patrick Stepp. + +=back + +=head1 VERSION 5.20 (1997-10-12) + +=over 4 + +=item B<(*) ISO 8601 support> + +ISO 8601 dates are now parsed. This resulted in several other +changes specified below. + +=item B<(!) (*) ParseDate formats removed> + +As a result of ISO 8601 support, some formats which previously worked +may no longer be parsed since they conflict with an ISO 8601 format. +These include MM-DD-YY (conflicts with YY-MM-DD) and YYMMDD (conflicts +with YYYYMM). MM/DD/YY still works, so the first form can be kept +easily by changing "-" to "/". YYMMDD can be changed to YY-MM-DD +before being parsed. Whenever parsing dates using dashes as +separators, they will be treated as ISO 8601 dates. You can get +around this by converting all dashes to slashes. + +=item B<(!) (*) Week day numbering> + +The day numbering was changed from 0-6 (Sun-Sat) to 1-7 (Mon-Sun) to be +ISO 8601 compatible. Weeks start on Monday (though this can be overridden +using the FirstDay config variable) and the 1st week of the year contains +Jan 4 (though it can be forced to contain Jan 1 with the Jan1Week1 config +variable). + +=item New features + +Several new parsing formats added, including: + "Friday" suggested by Rob Perelman + "12th" suggested by Rob Perelman + "last day of MONTH" suggested by Chadd Westhoff + +Added ParseDateString for speed (and simplicity for modifying ParseDate) + +Added %J and %K formats to UnixDate. + +Added Date_DaysInMonth. + +=item Bug fixes + +Reorganized ParseDate more efficiently. + +Fixed some incorrect uses of $in instead of $future in ParseDate. +Thanks to Erik Corry. + +Added some speedups (more to come). + +=item Test fixes + +Cleaned up testing mechanism a bit and added tests for ISO 8601 formats. + +=back + +=head1 VERSION 5.11 (1997-08-07) + +Version 5.11 was never released to CPAN. + +=over 4 + +=item Bug fixes + +Added one more check for NT perl. Thanks to Rodney Haywood. + +Added some comments to help me keep my personal libraries up-to-date +with respect to Date::Manip and vice-versa. + +Fixed a bug which showed up in French dates (though it could happen in +other languages as well). Thanks to Georges Martin. + +Fixed a bug in DateCalc. Thanks to Thomas Winzig. + +Removed the "eval" statement from CheckFilePath which causes a suid +c wrapper program to die when it calls a Date::Manip script. +Thanks to Hank Hughes. + +Fixed a bug in business mode calculations. Thanks to Sterling Swartwout. + +Fixed a bug in which "1997023100:00:00" was accepted as valid. Thanks +to Doug Emerald. + +Fixed a bug in which ConvTZ was not used correctly in ParseDate. Re-did +portions of Date_ConvTZ. Thanks to Vivek Khera. + +Fixed a bug in business mode calculations. Thanks to Ian Duplisse. + +Added $^X check for Win95 perl. Thanks to Walter Soldierer. + +Missed one call to NormalizeDelta so the output was wrong. Thanks to +Brad A. Buikema. + +=item Time zone fixes + +Added time zones. Paul Gillingwater, Rosella Antonio, Kang Taewook + +=back + +=head1 VERSION 5.10 (1997-03-19) + +=over 4 + +=item Bug fixes + +Cleaned up In, At, and On regexps. + +Added 2 checks for MSWin32 (date command and getpw* didn't work). Thanks +to Alan Humphrey. + +Fixed two bugs in the DateCalc routines. Pointed out by Kevin Baker. + +Added a check for Windows_95. Thanks to Charlie W. + +Cleaned up checks for MacOS and Microsoft OS's. Hopefully I'm catching +everything. Thanks to Charlie Wu for one more check. + +Fixed a typo which broke Time%Date (Date=dd%mmm%yy) format. Thanks to +Timothy Kimball. + +=item Time zone fixes + +Fixed some problems with how "US/Eastern" type time zones were used. +Thanks to Marvin Solomon. + +=item Test fixes + +Tests will now run regardless of the time zone you are in. + +Test will always read the DateManip.cnf file in t/ now. + +A failed test will now give slightly more information. + +DateManip.cnf file in t/ now sets ALL options to override any changes +made in the Manip.pm file. + +=item Documentation fixes + +Added documentation for backwards incompatibilities to POD. + +Fixed some problems in POD documentation. Thanks to Marvin Solomon. + +Fixed minor POD error pointed out by John Perkins. + +Changed documentation for Date_IsWorkDay (it was quite confusing using +a variable named $time). Thanks to Erik M. Schwartz. + +Fixed typo in documentation (midnight misspelled). Thanks to Timothy +Kimball. + +=back + +=head1 VERSION 5.09 (1997-01-28) + +=over 4 + +=item Bug fixes + +Upgraded to 5.003_23 and fixed one problem associated with it. + +Used carp and changed all die's to confess. + +Replaced some UNIX commands with perl equivalents (date with localtime +in the tests, pwd with cwd in the path routines). + +Cleaned up all routines working with the path. + +=item Test fixes + +Tests work again (broke in 5.08). Thanks to Alex Lewin and Michael Fuhr +for running debugging tests. + +=back + +=head1 VERSION 5.08 (1997-01-24) + +=over 4 + +=item Bug fixes + +B<(*) Fixed serious bug in ConvTZ pointed out by David Hall.> + +B<(*) Modified Date_ConvTZ (and documented it).> + +=back + +=head1 VERSION 5.07p2 1997-01-03 + +Released two patches for 5.07. + +=over 4 + +=item Bug fixes + +Fixed a bug where a delta component of "-0" would mess things up. +Reported by Nigel Chapman. + +=item Time zone fixes + +B<(*) Can now understand PST8PDT type zones (but only in Date_TimeZone).> + +Added lots of time zone abbreviations. + +=item Test fixes + +Fixed some tests (good for another year). + +=back + +=head1 VERSION 5.07 (1996-12-10) + +=over 4 + +=item B<(!) UnixDate "%s" format> + +Used to return the number of seconds since 1/1/1970 in the current +time zone. It now returns the number of seconds since 1/1/1970 GMT. +The "%o" format was added which returns what "%s" previously did. + +=item B<(!) (*) Internal format of delta> + +The format for the deltas returned by ParseDateDelta changed. Previously, +each element of a delta had a sign attached to it (+1:+2:+3:+4:+5:+6). The +new format removes all unnecessary signs by default (+1:2:3:4:5:6). Also, +because of the way deltas are normalized (see documentation on +ParseDateDelta), at most two signs are included. For backwards +compatibility, the config variable DeltaSigns was added. If set to 1, all +deltas include all 6 signs. + +=item B<(!) (*) Date_Init arguments> + +The format of the Date_Init calling arguments changed. The +old method + + Date_Init($language,$format,$tz,$convtz); + +is still supported , but this support will likely disappear in the future. +Use the new calling format instead: + + Date_Init("var=val","var=val",...); + +NOTE: The old format is no longer supported as of version 5.32 . + +=item B<(*) Added weeks to ParseDateDelta.> + +Suggested by Mike Bassman. Note that since this is a late addition, I +did not change the internal format of a delta. Instead, it is added +to the days field. + +=item B<(*) Now reads a config file.> + +Refer to the Date_Init documentation for details. + +=item B<(*) Added business mode.> + +See documentation. Suggested by Mike Bassman. + +=item New features + +B<(*) Modified how deltas are normalized and added the DeltaSigns config +variable.> + +Added %q format "YYYYMMDDHHMMSS" to UnixDate. Requested by Rob Perelman. +Also added %P format "YYYYMMDDHH:MM:SS". + +Added a new config variable to allow you to work with multiple internal +formats (with and without colons). Requested by Rob Perelman. +See Date_Init documentation. + +Added the following formats suggested by Andreas Johansson: + Sunday week 22 [in 1996] [at 12:00] + 22nd Sunday [in 1996] [at 12:00] + Sunday 22nd week [in 1996] [at 12:00] + +Added a new config variable to allow you to define the first day of +the week. See Date_Init documentation. + +Added the following formats to ParseDate for convenience (some were +suggested by Mike Bassman): + next/last Friday [at time] + next/last week [at time] + in 2 weeks [at time] + 2 weeks ago [at time] + Friday in 2 weeks + in 2 weeks on Friday + Friday 2 weeks ago + 2 weeks ago Friday + +Added Date_SecsSince1970GMT, moved the %s format to %o (secs since 1/1/70) +and added %s format (secs since 1/1/70 GMT). Based on suggestions by +Mark Osbourne. Note this introduces a minor backward incompatibility +described above. + +Date_SetTime now works with international time separators. + +Added the %g format (%a, %d %b %Y %H:%M:%S %z) for an RFC 1123 date. +Suggested by Are Bryne. + +Added options to delete existing holidays and ignore global config file. + +Date_GetNext and Date_GetPrev now return the next/prev occurrence of a +time as well as a day. Suggested by Are Bryne. + +In approximate mode, deltas now come out completely normalized (only 1 +sign). Suggested by Rob Perelman. + +Added Date::Manip::InitDone so initialization isn't duplicated. + +Added a 3rd internal format to store YYYY-MM-DD HH:MN:SS (iso 8601). + +Added a config variable to allow you to work with 24 hour business +days. Suggested by Mike Bassman. + +ParseDateDelta now returns "" rather than "+0:0:0:0:0:0" when there is +an error. + +=item Bug fixes + +B<(*) The d:h:mn:s of ALL deltas are normalized.> + +Huge number of code changes to clean things up. + +Subroutines now check to see if 4 digit years are entered. Suggested +by Are Bryne. + +Added local($_) to all routines which use $_. Suggested by Rob +Perelman. + +Complete rewrite of DateCalc. + +Fixed a bug where UnixDate %E format didn't work with single digit +dates. Patch supplied by Jyrgen Nyrgaard. + +Fixed a bug where "today" was not converted to the correct time zone. + +=item Time zone fixes + +Fixed bug in Date_TimeZone where it didn't recognize +HHMN type time +zones. Thanks to Are Bryne. + +Added WindowsNT check to Date_TimeZone to get around NT's weird date +command. Thanks to Are Bryne. + +Fixed typo (CSD instead of CST). + +Fixed sign in military time zones making Date::Manip RFC 1123 compliant +(except that time zone information is not stored in any format) + +=item Test fixes + +B<(*) Added test suite!> + +=back + +=head1 VERSION 5.06 (1996-10-25) + +=over 4 + +=item New features + +Added "today at time" formats. + +ParseDateDelta now normalizes the delta as well as DateCalc. + +Added %Q format "YYYYMMDD" to UnixDate. Requested by Rob Perelman. + +=item Bug fixes + +Fixed another two places where a variable was declared twice using my +(thanks to Ric Steinberger). + +Fixed a bug where fractional seconds weren't parsed correctly. + +Fixed a bug where "noon" and other special times were not parsed +in the "which day of month" formats. + +Fixed a minor bug where a few matches were case sensitive. + +The command "date +%Z" doesn't work on SunOS machines (and perhaps +others) so 5.05 is effectively broken. 5.06 released to fix this. +Reported by Rob Perelman. + +=back + +=head1 VERSION 5.05 (1996-10-11) + +=over 4 + +=item New features + +Changed deltas to be all positive or all negative when produced by +DateCalc. Suggested by Steve Braun + +Added DateManipVersion routine. + +B<(*) Parses RFC 822 dates (thanks to J.B. Nicholson-Owens for suggestion).> + +Parses ctime() date formats (suggested by Matthew R. Sheahan). + +Now supports times like "noon" and "midnight". + +=item Bug fixes + +Fixed bug introduced in 5.04 when default day set to 1. When no +date given, have day default to today rather than 1. It only +defaults to one if a partial date is given. + +Fixed bug where Date_DaysSince999 returned the wrong value (the +error did not affect any other functions in Date::Manip due to +the way it was called and the nature of the error). Pointed out +by Jason Baker + +Dates with commas in them are now read properly. + +Fixed two places where a variable was declared twice using my (thanks +to Ric Steinberger). + +Hopefully fixed installation problems. + +Got rid of the last (I think) couple of US specific strings. + +Fixed bug in Date_SetTime (didn't work with $hr,$min,$sec < 10). + +Added ModuloAddition routine and simplified DateCalc. + +=item Time zone fixes + +B<(*) Now supports time zones.> + +B<(*) Added Date_ConvTZ routine for time zone support.> + +Date_TimeZone will now also check `date '+%Z'` suggested by +Aharon Schkolnik. + +=item Language fixes + +Added Swedish translation (thanks to Andreas Johansson + +The time separators are now language specific so the French can +write "10h30" and the Swedes can write "10.30". Suggested by +Andreas Johansson. + +=item Documentation fixes + +Fixed bad mistake in documentation (use Date::Manip instead of +use DateManip) pointed out by tuc@valhalla.stormking.com + +Minor improvements to documentation. + +Documented the 'sort within a sort' bug. + +Fixed type in documentation/README pointed out by James K. Bence. + +=back + +=head1 VERSION 5.04 (1996-08-01) + +=over 4 + +=item New features + +Added support for fractional seconds (as generated by Sybase). They +are parsed and ignored. Added by Kurt Stephens + +=item Bug fixes + +Fixed bugs reported by J.B. Nicholson-Owens + "Tue Jun 25 1996" wasn't parsed correctly (regexp was case + sensitive) + full day names not parsed correctly + the default day in ErrorCheck should be 1, NOT currd since when + currd>28, it may not be a valid date for the month + +=back + +=head1 VERSION 5.03 (1996-07-17) + +=over 4 + +=item Bug fixes + +Fixed a couple of bugs in UnixDate. + +Declared package variables to avoid warning "Identifier XXX used +only once". Thanks to Peter Bray for the suggestion. + +=back + +=head1 VERSION 5.02 (1996-07-15) + +=over 4 + +=item New features + +B<(*) Added some internationalization (most of the routines had to be +modified at least slightly)> + +=item Bug fixes + +Fixed a bug where repeated calls to ParseDate("today") was not reset + +Replaced the %Date::Manip::Date variable with a large number of +other, more flexible variables + +Rewrote the Init routine + +=back + +=head1 VERSION 5.01 (1996-06-24) + +=over 4 + +=item New features + +Added %F format to UnixDate. Rob Perelman + +Added "Date at Time" types + +Weekdays can be entered and checked + +Two digit years fall in the range CurrYear-89 to CurrYear+10 + +=item Bug fixes + +Reworked a number of the ParseDate regular expressions to make +them more flexible + +=item Documentation fixes + +Fixed a typo (Friday misspelled Fridat). Rob Perelman + +Documentation problem for \$err in DateCalc. Rob Perelman + +=back + +=head1 VERSION 5.00 (1996-06-21) + +=over 4 + +=item B<(*) Switched to a package.> + +Patch supplied by Peter Bray: + renamed to Date::Manip + changed version number to 2 decimal places + added POD documentation + +Thanks to Peter Bray, Randal Schwartz, Andreas Koenig for suggestions + +=item Bug fixes + +Fixed a bug pointed out by Peter Bray where it was complaining of +an uninitialized variable. + +=back + +=head1 VERSION 4.3 (1995-10-26) + +=over 4 + +=item New features + +Added "which dofw in mmm" formats to ParseDate. Mark Dedlow + +=item Bug fixes + +Added a bugfix of Adam Nevins where "12:xx pm" used to be parsed +"24:xx:00". + +=back + +=head1 VERSION 4.2 (1995-10-23) + +=over 4 + +=item New features + +UnixDate will now return a scalar or list depending on context + +ParseDate/ParseDateDelta will now take a scalar, a reference to a +scalar, or a reference to an array + +B<(*) Simple time zone handling> + +B<(*) Added Date_SetTime, Date_GetPrev, Date_GetNext> + +=item Bug fixes + +Added copyright notice (requested by Tim Bunce) + +=back + +=head1 VERSION 4.1 (1995-10-18) + +=over 4 + +=item New features + +B<(*) Added DateCalc> + +=item Bug fixes + +Changed %DATE_ to %DateManip::Date + +B<(*) Rewrote ParseDateDelta> + +=back + +=head1 VERSION 4.0 (1995-08-13) + +B<(*) First public release> + +=over 4 + +=item New features + +Added time first formats to ParseDate + +=item Bug fixes + +B<(*) Switched to perl 5> + +Cleaned up ParseDate, ParseDateDelta + +=back + +=head1 VERSION 3.0 (1995-05-03) + +=over 4 + +=item New features + +Added today/tomorrows/etc. formats + +B<(*) Added UnixDate> + +B<(*) Added ParseDateDelta> + +=item Bug fixes + +Added %DATE_ global variable to clean some stuff up + +Simplified several routines + +=back + +=head1 VERSION 2.0 (1995-04-17) + +=over 4 + +=item New features + +Included ideas from Time::ParseDate (David Muir Sharnoff) + +Included ideas from date.pl 3.2 (Terry McGonigal) + +B<(*) Added seconds to ParseDate> + +=item Bug fixes + +Made error checking much nicer + +=back + +=head1 VERSION 1.2 (1995-03-31) + +=over 4 + +=item New features + +Added a few date formats + +=item Bug fixes + +Made months case insensitive + +=back + +=head1 VERSION 1.1 (1995-02-08) + +=over 4 + +=item New features + +Added leap year checking + +Both "Feb" and "February" formats available + +=back + +=head1 VERSION 1.0 (1995-01-20) + +=over 4 + +=item B<(*) Initial release> + +Though not released to the public, the initial released combined +routines from several scripts into one library. + +=back + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Changes5to6.pod b/lib/Date/Manip/Changes5to6.pod new file mode 100644 index 0000000..bab7e94 --- /dev/null +++ b/lib/Date/Manip/Changes5to6.pod @@ -0,0 +1,711 @@ +# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Changes5to6 - describes differences between 5.xx and 6.00 + +=head1 SYNOPSIS + +Date::Manip 6.00 represents a complete rethink and rewrite of +Date::Manip. A great deal of effort was made to make sure that 6.00 +is almost backwards compatible with 5.xx whenever feasible, but some +functionality has changed in backwards incompatible ways. Other parts +have been deprecated and will be removed at some point in the future. + +This document describes the differences between the 5.xx series and +version 6.00. This page primarily describes technical details, most of +which do not impact how Date::Manip is used in scripts. If you want to +make sure that a script which ran with 5.xx will run with 6.xx, refer +to the Date::Manip::Migration5to6 document. + +=head1 OVERVIEW + +The Date::Manip 5.xx series of suffered from several weaknesses. These +included: + +=over 4 + +=item B + +Time zone support in 5.xx was broken. Determining a time zone, and +understanding daylight saving time changes was incomplete (at best) +and totally inadequate to do true timezone operations. + +=item B + +The parsing routines had grown very complicated, and overly permissive +over time and were in need of a complete overhaul. + +=item B + +Date::Manip 5.xx was written as a functional module, not an OO module, +but date handling would lend itself very well to being OO with different +classes to handle dates, deltas, and recurrences. + +The OO model allows a lot of information to be stored with each date +(such as time zone information) which is discarded in the functional +interface. + +=item B + +The entire Date::Manip module was contained in one huge file. Breaking +up the module would make it much easier to deal with. + +=back + +Date::Manip 6.00 is a complete rewrite of Date::Manip to address these +and other issues. + +The following sections address how Date::Manip 6.00 differs from previous +releases, and describes changes that might need to be made to your script +in order to upgrade from 5.xx to 6.00. + +The most important changes are marked with asterisks. + +=head1 GENERAL CHANGES + +=over 4 + +=item B<(*) Requires perl 5.10.0> + +Please see the Date::Manip::Problems document for a discussion of +this problem. It's in the KNOWN COMPLAINTS section. + +=item B<(*) Breaking into smaller modules> + +Date::Manip module has been broken up from one huge module into a +large number of smaller more manageable modules. The main Date::Manip +module is still present, and contains all of the functions from +Date::Manip 5.xx (except that they now call functions from all the +other modules to do the actual work). In general, the Date::Manip +module from 6.00 is backwards compatible. + +A number of new modules have been created as well. These can be used +directly, bypassing the main Date::Manip module. These include the +following: + +Date::Manip::Base contains many basic date operations which may be +used to do simple date manipulation tasks without all the overhead of +the full Date::Manip module. + +Date::Manip::TZ contains time zone operations. + +Handling dates, deltas, and recurrences are now done in +Date::Manip::Date, Date::Manip::Delta, and Date::Manip::Recur. + +All of these modules are object oriented, and are designed to be used +directly, so if you prefer an OO interface over a functional +interface, use these modules. + +=item B<(*) Intermediate data cached> + +In order to improve the performance of Date::Manip, many intermediate +values are cached. This does impact the memory footprint of the module, +but it has a huge impact on the performance of the module. + +Some types of data depend on the config variables used, and these +are cached separately, and this cache is automatically cleared every +time a config variable is set. As a result, it is best if you set +all config variables at the start, and then leave them alone completely +to get optimal use of cached data. + +A side effect of all this is that the Memoize module should not be used +in conjunction with Date::Manip. + +In the version 5.xx documentation, it was mentioned that the Memoize +module might be used to improve performance in some cases. This is no +longer the case. It should not be used with Date::Manip, even if you +use the functional interface instead of the OO interface. + +=item B + +Date::Manip now contains no tainted data, and should run without problems +with taint checking on provided you do not set additional methods for +determining the system time zone using the curr_zone_methods function. + +Ideally, this should never be necessary. If it is necessary, I'd like to +hear about it so that I can add whatever standard methods are needed +to the built in list. + +=back + +=head1 TIME ZONE SUPPORT + +=over 4 + +=item B<(*) Complete handling of time zones> + +The biggest problem with Date::Manip 5.xx was it's inability to +correctly handle time zones and Daylight Saving Time. That is now +fixed. Version 6.00 includes support for every time zone included in +the zoneinfo (aka Olson) database which includes the definitions of +(hopefully) all of the time zones used in the world. + +=item B + +Prior to 5.55, time zones were added upon request. Since 6.00 now +supports a full set of standard time zones, I will no longer add in +individual time zones (Date::Manip::TZ includes functionality for +adding them yourself if they are needed). With Date::Manip now having +full time zone support, I'm not interested in supporting my own +time zone database. + +However, I am interested in adding sets of time zones from various +"standards". + +Date::Manip 6.00 includes time zones from the following standards: + + Olson zoneinfo database + all Microsoft Windows time zones + zones listed in RFC-822 + +If there are additional standards that include additional time zones +not included here, please point me to them so they can be added. +This could include published lists of time zone names supported on +some operating system which have different names than the zoneinfo +list. + +=item B + +Some of the individual standards that were added in the 5.xx series +are not included in any of the standards listed above. + +As of 6.00, only time zones from standards will be included in the +distribution (others can be added by users using the functions +described in Date::Manip::TZ to add aliases for existing time zones). + +The following time zones were in Date::Manip 5.xx but not in 6.00. + + IDLW -1200 International Date Line West + NT -1100 Nome + SAT -0400 Chile + CLDT -0300 Chile Daylight + AT -0200 Azores + MEWT +0100 Middle European Winter + MEZ +0100 Middle European + FWT +0100 French Winter + GB +0100 GMT with daylight saving + SWT +0100 Swedish Winter + MESZ +0200 Middle European Summer + FST +0200 French Summer + METDST +0200 An alias for MEST used by HP-UX + EETDST +0300 An alias for eest used by HP-UX + EETEDT +0300 Eastern Europe, USSR Zone 1 + BT +0300 Baghdad, USSR Zone 2 + IT +0330 Iran + ZP4 +0400 USSR Zone 3 + ZP5 +0500 USSR Zone 4 + IST +0530 Indian Standard + ZP6 +0600 USSR Zone 5 + AWST +0800 Australian Western Standard + ROK +0900 Republic of Korea + AEST +1000 Australian Eastern Standard + ACDT +1030 Australian Central Daylight + CADT +1030 Central Australian Daylight + AEDT +1100 Australian Eastern Daylight + EADT +1100 Eastern Australian Daylight + NZT +1200 New Zealand + IDLE +1200 International Date Line East + +=item B + +Date::Manip now includes a large number of files and modules that +are used to support time zones. + +A series of modules are included which are auto-generated from the +zoneinfo database. The Date::Manip::Zones, Date::Manip::TZ::*, and +Date::Manip::Offset::* modules are all automatically generated and are +not intended to be used directly. Instead, the Date::Manip::TZ module +is used to access the data stored there. + +A separate time zone module (Date::Manip::TZ::*) is included for every +single time zone. There is also a module (Date::Manip::Offset::*) for +every different offset. All told, there are almost 1000 modules. +These are included to make time zone handling more efficient. Rather +than calculating everything on the fly, information about each +time zone and offset are included here which greatly speeds up the +handling of time zones. These modules are only loaded as needed +(i.e. only the modules related to the specific time zones you refer to +are ever loaded), so there is no performance penalty to having them. + +Also included in the distribution are a script (tzdata) and additional +module (Date::Manip::TZdata). These are used to automatically +generate the time zone modules, and are of no use to anyone other +than the maintainer of Date::Manip. They are included solely for the +sake of completeness. If someone wanted to fork Date::Manip, all +the tools necessary to do so are included in the distribution. + +=item B<(*) Meaning of $::TZ and $ENV{TZ}> + +In Date::Manip 5.x, you could specify what time zone you wanted to work +in using either the $::TZ or $ENV{TZ} variables. + +Date::Manip 6.00 makes use of two different time zones: the actual +local time zone the computer is running in (and which is used by the +system clock), and a time zone that you want to work in. Typically, +these are the same, but they do not have to be. + +As of Date::Manip 6.00, the $::TZ and $ENV{TZ} variables are used only +to specify the actual local time zone. + +In order to specify an alternate time zone to work in, use the +SetDate or ForceDate config variables. + +=back + +=head1 CONFIG FILES AND VARIABLES + +=over 4 + +=item B<(*) Date_Init handling of config variables> + +The handling of config variables has changed slightly. + +Previously, variables passed in to Date_Init overrode values from +config files. This has changed slightly. Options to Date_Init are +now parsed in the order they are listed, so the following: + + Date_Init("DateFormat=Other","ConfigFile=DateManip.cnf") + +would first set the DateFormat variable, and then it would read +the config file "DateManip.cnf". If that config file included +a DateFormat definition, it would override the one passed in to +Date_Init. + +The proper way to override config files is to pass the config files +in first, followed by any script-specific overrides. In other +words: + + Date_Init("ConfigFile=DateManip.cnf","DateFormat=Other") + +=item B + +In Date::Manip::5.xx, Date_Init could return the list of all +config variables. This functionality is no longer supported. +Date_Init is used strictly to set config variables. + +=item B<(*) Config file options> + +Date::Manip 5.xx had the concept of a global and personal config +file. In addition, the personal config file could be looked for +in a path of directories. All this was specified using the +config variables: + + GlobalCnf + IgnoreGlobalCnf + PersonalCnf + PersonalCnfPath + PathSep + +All of these have been removed. Instead, the single config variable: + + ConfigFile + +will be used to specify config files (with no distinction between a +global and personal config file). Also, no path searching is +done. Each must be specified by a complete path. Finally, any number +of config files can be used. So the following is valid: + + Date_Init("ConfigFile=./Manip.cnf","ConfigFile=/tmp/Manip.cnf") + +=item B + +The following config variables have been removed. + + TodayIsMidnight Use DefaultTime instead. + + ConvTZ Use SetDate or ForceDate instead. + + Internal Use Printable instead. + + DeltaSigns Use the Date::Manip::Delta::printf + method to print deltas + + UpdateCurrTZ With real time zone handling in + place, this is no longer necessary + + IntCharSet This has been replaced with better support for + international character sets. The Encoding config + variable may be used instead. + +=item B + +The following config variables are deprecated and will be removed +in some future version: + + TZ Use SetDate or ForceDate instead. + +=item B + +Previously, holidays could be defined as a "Date + Delta" or "Date - +Delta" string. These predate recurrences, and introduce some complexity +into the handling of holidays. Since recurrences are a much better +way to define holidays, the "Date + Delta" and "Date - Delta" strings +are no longer supported. + +=item B + +The SetDate and ForceDate variables (which include the functionality +of the deprecated TZ variable) are much improved as described in the +Date::Manip::Config documentation. + +Since it is now handles time change correctly (allowing time changes +to occur in the alternate time zone), parsed results may be different +than in 5.x (but since 5.x didn't have proper time zone handling, this +is a good thing). + +=back + +=head1 DATE PARSING AND OPERATIONS + +=over 4 + +=item B<(*) today, tomorrow, yesterday> + +The words "today", "tomorrow", and "yesterday" in 5.xx referred to the +time now, 24 hours in the future, and 24 hours in the past respectively. + +As of 6.00, these are treated strictly as date strings, so they are +the current day, the day before, or the day after at the time 00:00:00. + +The string "now" still refers to the current date and time. + +=item B + +A couple of the date formats from Date::Manip 5.xx conflicted with ISO +8601 formats in the spec. These are documented in the +Date::Manip::Date documentation. + +Dates are now parsed according to the spec (though a couple extensions +have been made, which are also documented in the Date::Manip::Date +documentation). + +There is one change with respect to Date::Manip 5.xx that results from +a possible misinterpretation of the standard. In Date::Manip, there is +a small amount of ambiguity in how the Www-D date formats are +understood. + +The date: + + 1996-w02-3 + +might be interpreted in two different ways. It could be interpreted as +Wednesday (day 3) of the 2nd week of 1996, or as the 3rd day of the +2nd week of 1996 (which would be Tuesday if the week begins on +Sunday). Since the specification only works with weeks which begin on +day 1, the two are always equivalent in the specification, and the +language of the specification doesn't clearly indicate one +interpretation over the other. + +Since Date::Manip supports the concept of weeks starting on days other +than day 1 (Monday), the two interpretations are not equivalent. + +In Date::Manip 5.xx, the date was interpreted as Wednesday of the 2nd +week, but I now believe that the other interpretation (3rd day of the +week) is the interpretation intended by the specification. In addition, +if this interpretation is used, it is easy to get the other interpretation. + +If 1996-w02-3 means the 3rd day of the 2nd week, then to get Wednesday +(day 3) of the week, use the following two Date::Manip::Date methods: + + $err = $date->parse("1996-w02-1"); + $date2 = $date->next(3,1); + +The first call gets the 1st day of the 2nd week, and the second call +gets the next Wednesday. + +If 1996-w02-3 is interpreted as Wednesday of the 2nd week, then to +get the 3rd day of the week involves significantly more work. + +In Date::Manip 6.00, the date will now be parsed as the 3rd day of the +2nd week. + +=item B<(*) Parsing is now more rigid> + +The philosophy in Date::Manip 5.xx with respect to parsing dates was +"if there's any conceivable way to find a valid date in the string, do +so". As a result, strings which did not look like they could contain a +valid date often would. + +This manifested itself it two ways. First, a lot of punctuation was +ignored. For example, the string "01 // 03 -. 75" was the date +1975-01-03. + +Second, a lot of word breaks were optional and it was often acceptable +to run strings together. For example, the delta "in5seconds" would +have worked. + +With Date::Manip 6.00, parsing now tries to find a valid date in the +string, but uses a more rigidly defined set of allowed formats which +should more closely match how the dates would actually be expressed in +real life. The punctuation allowed is more rigidly defined, and word +breaks are required. So "01/03/75" will work, but "01//03/75" and +"01/03-75" won't. Also, "in5seconds" will no longer work, though "in 5 +seconds" will work. + +These changes serve to simplify some of the regular expressions used +in parsing dates, as well as simplifying the parsing routines. They +also help to recognize actually dates as opposed to typos... it was too +easy to pass in garbage and get a date out. + +=item B + +I've dropped support for a few very uncommon (probably never used) +formats. These include (with Jan 3, 2009 as an example): + + DD/YYmmm 03/09Jan + DD/YYYYmmm 03/2009Jan + mmmYYYY/DD Jan2009/03 + YYYY/DDmmm 2009/03Jan + + mmmYYYY Jan2009 + YYYYmmm 2009Jan + +The last two are no longer supported since they are incomplete. + +With the exception of the incomplete forms, these could be added back in +with very little effort. If there is ever a request to do so, I probably +will. + +=item B + +Date::Manip 5.xx supported the format: + + DD/mmm/YYYY:HH:MN:SS + +used in the apache logs. Due to the stricter parsing, this format +is no longer supported directly. However, the parse_format method +may be used to parse the date directly from an apache log line +with no need to extract the date string beforehand. + +=item B + +The behavior of Date_PrevWorkDay has changed slightly. + +The starting date is checked. If $timecheck was non-zero, the +check failed if the date was not a business date, or if the time was +not during business hours. If $timecheck was zero, the check failed +if the date was not a business date, but the time was ignored. + +In 5.xx, if the check failed, and $timecheck was non-zero, day 0 +was defined as the start of the next business day, but if $timecheck +was zero, day 0 was defined as the previous business day at the +same time. + +In 6.xx, if the check fails, and $timecheck is non-zero, the behavior +is the same as before. If $timecheck is zero, day 0 is defined as the +next business day at the same time. + +So day 0 is now always the same, where before, day 0 meant two +different things depending on whether $timecheck was zero or not. + +=item B<(*) Default time> + +In Date::Manip 5.xx, the default times for dates was handled in an +inconsistent manner. In the Date::Manip::Date documentation, if you +parse a date from the "Common date formats" section, in Date::Manip +5.xx, if no time was included, it defaulted to "00:00:00". If you +parsed a date from the "Less common formats" section, the default time +was the current time. + +So running a program on Jun 5, 2009 at noon that parsed the following +dates gave the following return values: + + Jun 12 => Jun 12, 2009 at 00:00:00 + next week => Jun 12, 2009 at 12:00:00 + +This behavior is changed and now relies on the config variable DefaultTime. +If DefaultTime is "curr", the default time for any date which includes no +information about the time is the current time. Otherwise, the default time +is midnight. + +=item B<%z format> + +In Date::Manip 5.xx, the %z format would give an offset in the form: -0500. +Now it gives it in the form: -05:00:00 + +=back + +=head1 DELTAS + +=over 4 + +=item B + +In Date::Manip 5.xx, a parsed delta could be written in the delta style + + 1:2:3 + +or in a language-specific expanded form: + + 1 hour 2 minutes 3 seconds + +or in a mixed form: + + 1 hour 2:3 + +The mixed form has been dropped since I doubt that it sees much use in +real life, and by dropping the mixed form, the parsing is much +simpler. + +=item B + +In Date::Manip 5.xx, the approximate delta between the two dates: + + Jan 10 1996 noon + Jan 7 1998 noon + +was +1:11:4:0:0:0:0 (or 1 year, 11 months, 4 weeks). As of +Date::Manip 6.00, the delta is +2:0:-0:3:0:0:0 (or 2 years minus 3 +days). Although this leads to mixed-sign deltas, it is actually +how more people would think about the delta. It has the additional +advantage of being MUCH easier and faster to calculate. + +=item B + +When printing parts of deltas in Date::Manip::5.xx, the approximate +relationship of 1 year = 365.25 days was used. This is the correct +value for the Julian calendar, but for the Gregorian calendar, a +better value is 365.2425, and this is used in version 6.00. + +=item B + +The formats used in the printf command are slightly different than in the +old Delta_Format command. + +The old formats are described in the Date::Manip::DM5 manual, and the +new ones are in the Date::Manip::Delta manual. + +The new formats are much more flexible and I encourage you to switch over, +however at this point, the old style formats are officially supported for +the Delta_Format command. + +At some point, the old style formats may be deprecated (and removed at +some point beyond that), but for now, they are not. + +The old formats are NOT available using the printf method. + +=back + +=head1 RECURRENCES + +=over 4 + +=item B + +The value of the day field can refer to several different things +including the day of week number (Monday=1 to Sunday=7), day of month (1-31), +day of year (1-366), etc. + +In Date::Manip 5.xx, it could also refer to the nth day of the week +(i.e. 1 being the 1st day of the week, -1 being the last day of the +week). This meaning is no longer used in 6.xx. + +For example, the recurrence: + + 1*2:3:4:0:0:0 + +referred to the 3rd occurrence of the 4th day of the week in February. + +The meaning has been changed to refer to the 3rd occurrence of day 4 +(Thursday) in February. This is a much more useful type of recurrence. + +As a result of this change, the related recurrence: + + 1*2:3:-1:0:0:0 + +is invalid. Negative numbers may be used to refer to the nth day +of the week, but NOT when referring to the day of week numbers. + +=item B + +Previously, the list of dates implied by the recurrence were on or +after the start date, but before the end date. + +This has been changed so that the dates may be on or before the end +date. + +=item B + +Date::Manip 5.xx claimed support for a recurrence: + + every 2nd day in June [1997] + +In actuality, this recurrence is not practical to calculate. It +requires a base date which might imply June 1,3,5,... in 1997 but June +2,4,6 in 1998. + +In addition, the recurrence does not fit the mold for other +recurrences that are an approximate distance apart. This type of +recurrence has a number of closely spaced events with 11-month gaps +between groups. + +I no longer consider this a valid recurrence and support is now +dropped for this string. + +I also dropped the following for a similar reason: + + every 6th Tuesday [in 1999] + +=item B + +Previously, ParseRecur would supply default dates if the start or +end were missing. This is no longer done. + +=back + +=head1 DATE::MANIP FUNCTIONS + +The Date::Manip module contains the same functions that Date::Manip 5.xx had +(though the OO modules do all the work now). In general, the routines behave +the same as before with the following exceptions: + +=over 4 + +=item B + +Previously, Date_ConvTZ took 1 to 4 arguments and used the local time zone and +the ConvTZ config variable to fill in missing arguments. + +Now, the Date_ConvTZ function only supports a 3 argument call: + + $date = Date_ConvTZ($date,$from,$to); + +If $from is not given, it defaults to the local time zone. If $to is not given, +it defaults to the local time zone. + +The optional 4th argument ($errlevel) is no longer supported. If there is +an error, an empty string is returned. + +=item B + +In Date::Manip 5.xx, it was recommended that you pass arguments to +ParseDate or ParseDateDelta. This is not recommended with 6.00 since it +is much more intelligent about handling the arguments, and you'll just +end up parsing the date/delta twice. + +=back + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Changes6.pod b/lib/Date/Manip/Changes6.pod new file mode 100644 index 0000000..9f5c6fa --- /dev/null +++ b/lib/Date/Manip/Changes6.pod @@ -0,0 +1,1566 @@ +# Copyright (c) 2009-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +# Changes are listed in the order: +# +# =item SPECIFIC IMPORTANT CHANGE +# =item New features +# =item Bug fixes +# =item Time zone fixes +# =item Language fixes +# =item Test fixes +# =item Documentation fixes + +=pod + +=head1 NAME + +Date::Manip::Changes6 - changes in Date::Manip 6.xx + +=head1 SYNOPSIS + +This describes the changes made to the Date::Manip module in the 6.xx +series of releases. Major changes are marked with asterisks (*). + +For the most part, Date::Manip has remained backward compatible at +every release, but occasionally, a change is made which is backward +incompatible. These are marked with an exclamation mark (!). + +=head1 VERSION 6.61 (planned 2017-12-01) + +=head1 VERSION 6.60 (planned 2017-09-01) + +=over 4 + +=item Bug fixes + +Fixed a bug where if a recurrence had no interval, start and end dates passed +in to the dates method would not work. PJ-DSI-DevOps (GitHub #12). + +=item Documentation fixes + +Clarified Date::Manip::TZ::all_periods. Based on discussion with +Peter Pfannenschmid. + +=back + +=head1 VERSION 6.59 (2017-06-01) + +=over 4 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2017b) + +=item Documentation fixes + +Improved some of the documentation. + +=back + +=head1 VERSION 6.58 (2017-03-01) + +=over 4 + +=item Better support for $mode in DateCalc. + +DateCalc (in DM6) did not support all values for $mode. Now it does. + +=item Bug fixes + +Parsing a date like 01/02/2016 and calling printf with %e gave '02' instead +of ' 2'. RT 119787. + +Fixed a problem where the tzdata method of determining the timezone was +producing an error which wasn't correct. John (GitHub #8) + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2017a) + +=back + +=head1 VERSION 6.57 (2016-12-01) + +=over 4 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2016j) + +=item Test fixes + +A faulty test was failing in a few places. RT 118705 + +Another test was failing due to a perl bug that popped up in 5.25.7. Tweaked +the test to bypass the bug. RT 118862 + +=back + +=head1 VERSION 6.56 (2016-09-09) + +=over 4 + +=item Test fixes + +A faulty test was failing most places. New release to correct that problem. +RT 117404 + +=back + +=head1 VERSION 6.55 (2016-09-01) + +=over 4 + +=item Fixed bug where C<$::TZ> wasn't used + +The C<$::TZ> variable was not getting interpreted correctly when searching +for a timezone. RT 114949. + +=item Fixed bug where recurrences were not parsed correctly + +Passing in incorrect values for a field was not trapped in all cases +and it led to problems. All values passed in to a recurrence are now +correctly checked. Albert Hilazo (GitHub #7). + +=item Fixed a bug in some methods of creating new objects + +Some methods of creating new objects based on existing objects did not +correctly use the existing object. Bug has never been reported, but was +discovered when adding tests to get 100% coverage. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2016f) + +=item Test fixes + +Added a number of new tests based on Devel::Cover. + +=back + +=head1 VERSION 6.54 (2016-05-31) + +=over 4 + +=item Deprecation of Date::Manip 5.xx tests + +By default, the Date::Manip 5.xx tests will no longer run. Changes to +the timezone data can cause failures. Since Date::Manip 5.xx is no longer +supported in any way, these tests will no longer run on a system where +6.xx can be run. Richard Jelinek. + +=item Deprecation of TZ postponed + +The deprecation of the TZ variable has been postponed to March 2017. I +decided that 1 year was not enough notice (especially since not everyone +will have updated Date::Manip since March 2015 when the warning was added. + +=item Bug fixes + +Changed requirement for ExtUtils::MakeMaker to 6.67_01. RT 112286 + +Fixed a bug where a timezone abbreviation was not parsed correctly when +passed in as a value to the SetDate, ForceDate, or TZ config variables. +Based on a report in perlmonks.org. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2016d) + +Made some improvements to how I handled the timezone data which resulted +in a few of the default timezones being changed. + +=item Documentation fixes + +Fixed one more typo. RT 114095 + +Clarified the Config document. Based on a report in perlmonks.org. + +=back + +=head1 VERSION 6.53 (2016-03-02) + +=over 4 + +=item Bug fixes + +Date::Manip::Delta::cmp had a bug in it's comparison. Ian Gibbs. + +The secs_since_1970_GMT method was missing a test to see if it was +a valid object. RT 111915 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2016a) + +=item Documentation fixes + +Lots of typos fixed. I was using podspell to do spell checking, but it was +discarding too much real text (which wasn't getting checked as a result). +Switched to pod2text which does a better job. RT 110025 + +=back + +=head1 VERSION 6.52 (2015-12-01) + +=over 4 + +=item B + +The date range can now be specified for either the fully modified dates, or +the unmodified dates. This will make it easier to work with holidays in some +instances. Based on L. + +=item B + +Based on L. + +=item B<(!) Reworked holidays slightly> + +Previously, every line in the Holidays section defined a unique holiday. +Now, the names determine the list of holidays. + +It is not allowed to have two separate holidays named exactly the same. +It IS allowed to have complex holidays that require two (or more) lines +in the Holidays section to define them completely. + +Based on L. + +=item Bug fixes + +Fixed a bug where the RecurRange config variable wasn't getting used. + +Fixed a bug where some deltas were not parsed correctly as dates. +RT 109600 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2015g) + +=item Test fixes + +Added a number of new tests based on Devel::Cover. + +=back + +=head1 VERSION 6.51 (2015-09-01) + +=over 4 + +=item Changes suggested by perlcritic + +Played with perlcritic and made a few minor changes based on it's suggestions. +I doubt I will use perlcritic significantly. + +=item B<(!) Date::Manip::Delta::value now returns an empty string> + +If a delta has an error, or no valid delta in it, the value method returns +an empty string instead of undef. This is to be consistent with the +Date::Manip::Date::value method which returns an empty string. + +=item Bug fixes + +Fixed a bug where date/delta calculations with deltas that are too +large was not working correctly. They now set an error condition +and fail. RT 105737 + +Fixed a bug introduced by the previous patch and luckily discovered +pre-release by Tom Wyant. + +Fixed code that produced a warning in 5.22.0. Tom Wyant + +=item Improved DM6 ParseDate and ParseDateString + +Added C<@opts> argument. Based on RT 105622. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2015f) + +Now uses /etc/localtime as a method to determine the local timezone. +Patch supplied in RT 105159 (modified by me). The patch uses some +code derived from DateTime::TimeZone . + +Clearer message when the date is not valid in the timezone. + +=item Test fixes + +Added a number of new tests based on Devel::Cover. Over the next several +releases, I intend to continue to add tests until coverage is 100%. + +=item Documentation fixes + +Fixed a typo. RT 105546 + +=back + +=head1 VERSION 6.50 (2015-06-01) + +=over 4 + +=item Bug fixes + +Not really a bug, but 6.49 got a bunch of NYTprof data bundled with it +by mistake. It's been removed. RT 103252 + +Fixed a bug where information about whether a date was complete or +truncated was discarded. Jim Avera + +Fixed a bug where SetDate with a zone alias failed. + +Added the Format_MMMYYYY config variable to allow the truncated format +mmmYYYY to be parsed instead of mmmDDYY. David W. Morganwalp and RT 103142 + +Fixed Makefile.PL/Build.PL to correct for a change on perl on windows +which changes a module prereq requirement. Alexandr Ciornii + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2015d) + +Added aliases for older HP-UX time zones. RT 104141 + +=item Documentation fixes + +Fixed URL for tzdata. Mohammad S Anwar (GitHub #3). + +Better POD formats. + +Fixed a documentation error. RT 103966 + +=back + +=head1 VERSION 6.49 (2015-03-01) + +=over 4 + +=item Added a deprecation warning + +The TZ config variable is going away. Added a deprecation warning. + +=item Some speedups for timezone handling + +Based on RT 102284, I have done some optimization of the timezone handling +code. + +=item Bug fixes + +Added the missing is_date base method to Date::Manip::Base. Mario Domgoergen. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2015a) + +=item Language fixes + +A number of corrections by Nicholas Riley + +=back + +=head1 VERSION 6.48 (2014-12-01) + +=over 4 + +=item Put repository on GitHub + +Suggested by Gabor Szabo + +=item parse_time now parses ISO 8601 times + +The parse_time routine wouldn't correctly parse ISO 8601 times. This +is now fixed. + +=item Parsing special dates with timezones now works + +Parsing special date formats with timezones is now supported such as: + + Christmas at noon PST + in 3 days at noon PST + now PST + epoch 3000000 PST + +=item dm_zdump modified + +To match the newest version of zdump, the gmtoff is now added at the end +of each line. + +=item Bug fixes + +Fixed a bug in the printf method that would not handle embedded newlines +correctly (and resulted in an infinite loop if it were preceded by a '%'). +Henrique Martins + +Fixed a bug where '24:00' was not parsed correctly (though '24:00:00' was). + +Fixed a bug where fractional values separated by a comma weren't parsed +correctly. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2014j) + +=back + +=head1 VERSION 6.47 (2014-09-01) + +=over 4 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2014f) + +=item Language fixes + +Fixed some encoding errors in the language pod documentation. + +=back + +=head1 VERSION 6.46 (2014-07-08) + +=over 4 + +=item Broken distribution + +The distribution contained an temporary edit file that caused problems. +RT 96459 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2014e) + +=item Language fixes + +Added some plural abbreviations that were missing. RT 96944 + +=back + +=head1 VERSION 6.45 (2014-06-05) + +=over 4 + +=item Fixed a test + +One test was failing (reported in RT 96249 as well as several CPAN Tester +reports). + +=back + +=head1 VERSION 6.44 (2014-06-01) + +=over 4 + +=item B<(*) Improvements to UTF8 handling> + +A number of changes based on RT 93545 and other discussion with Yuri Nikulin +including: + +Case insensitive matching of UTF8 strings should work all the time. + +Fixed two significant bugs in regexps for parsing dates. + +Improvements to UTF8 handling. + +Corrected some problems with Russian and added the cp1251 encoding. + +One correction to Romanian. + +Added several new test scripts. + +Preliminary patches were supplied by Yuri. + +=item New features + +Modified the parse_format function to return %+ if desired. Mike Cappella + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2014c) + +=item Documentation fixes + +Clarified some DM6 functions. David Close. + +Fixed a typo. RT 95619 + +=back + +=head1 VERSION 6.43 (2014-03-03) + +=over 4 + +=item Several changes to distribution files + +I made several changes to Build.PL, Makefile.PL, META.yml in order to +improve the quality (or kwalitee) of the module. None of these should +impact anyone using the module. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2013i) + +=item Documentation fixes + +Cleaned up some of the Recur documentation. Suggested by RT 92794 + +=back + +=head1 VERSION 6.42 (2013-12-02) + +=over 4 + +=item Added ParseDateFormat function + +Added the ParseDateFormat function to the DM6 functional interface +in response to RT 89286. + +=item Added Common Log format + +Added the date format used in apache logs: 11/Oct/2000:13:55:36 -0700 +RT 89286. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2013h) + +=item Bug fixes + +Fixed a bug where dates of the form of a delta with a timezone attached +(i.e. "1 day ago at midnight UTC") failed. RT 89256 + +Fixed a bug where events handling gave a warning if there were no events +that applied. RT 90344 + +=back + +=head1 VERSION 6.41 (2013-09-05) + +=over 4 + +=item Bug fixes + +Removed a .swp file accidentally left in the package. RT 85845 + +Fixed a bug in parse_format where times between 00:00:00 and 01:00:00 weren't +parsed correctly. Ole Nomann Thomsen + +Fixed generated META.* files to not require Module::Build 0.39. RT 86137 + +Fixed a bug where parse_format did not work with a '%s' format. RT 87498 + +Fixed a bug where find_encoding wasn't imported from the Encode module. RT 87665 + +Fixed a bug where recurrences with no interval did not work if a start and +end date were specified, and no dates fell in that range. Jan Pradac + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2013d) + +=back + +=head1 VERSION 6.40 (2013-06-01) + +=over 4 + +=item Removed PODs + +POD documentation is no longer generated for Date::Manip::TZ::* and +Date::Manip::Offset::* modules. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2013c) + +=back + +=head1 VERSION 6.39 (2013-03-01) + +=over 4 + +=item Added the $mode argument to ParseDateDelta + +The ParseDateDelta function (in functional interface) did not allow you +to force a parsed delta to semi or approx where appropriate. This +was added. Based on RT 82991). + +=item Added get_config method + +The get_config method was added to all classes. Suggested by Philippe Poilbarbe. + +=item Language fixes + +Fixed a German language problem. Gosta Oelstrom + +=item Documentation fixes + +Documented workaround for dmake problem in strawberry perl. Discussed on +perlmonks and RT 79837. + +Clarified the Examples page. Winston Heng + +=back + +=head1 VERSION 6.38 (2013-01-08) + +=over 4 + +=item B<(*) Tar file format corrected> + +Problems were reported on several OSes by people unable to install Date::Manip +(and other modules). It turns out that the version of tar distributed by +my linux distro (OpenSuSE) uses the 'posix' format instead of the traditional +'gnu' format by default. This causes problems for some versions of tar. I +have had reports from OSX, Windows, and SunOS. Future versions of +Date::Manip will be explicitly distributed in the 'gnu' tar archive format. + +Reported by Jay Allen and RT 80594. + +=item B<(*) Date::Manip 5.xx end-of-life> + +Date::Manip 5.xx is now officially out of support. I will not be doing +any further work on it. The only exception is that I will consider +adding user supplied patches on a case-by-case basis. + +If at all possible, please use Date::Manip 6.xx instead. + +=item B<(!) Removed some deprecated config variables> + +The following config variables have been removed. + + IntCharSet + RecurNumFudgeDays + +=back + +=head1 VERSION 6.37 (2012-12-01) + +=over 4 + +=item Bug fixes + +Fixed a bug where ISO 8601 format YYYY-WXX-D didn't work if the week ended +up in December. Gordon Lugauer. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2012j) + +=item Documentation fixes + +Spelling error fixed. RT 80621 + +=back + +=head1 VERSION 6.36 (2012-10-31) + +This was an interim release to fix the version numbers (6.35 was +released with all of the version numbers 6.34). + +=head1 VERSION 6.35 (2012-10-31) + +This was an interim release to fix the problem with the PATH being +replaced. + +=over 4 + +=item Removed dependency on YAML + +I've reverted the language data files to perl literals instead of YAML. Though +not quite as easy to maintain, it solves a few problems. Patch provided by +Christopher Madsen. + +=item Bug fixes + +Last versions fix for RT 78566 overrode the PATH even when that wasn't +appropriate. This is fixed. Report and patch supplied by RT 80435. + +=back + +=head1 VERSION 6.34 (2012-09-04) + +This is a bug fix so that the PATH won't break non-unix installs. + +=over 4 + +=item Bug fixes + +Put the PATH inside the Unix section so it doesn't affect non-unix +environments. Geoff Rowell + +=back + +=head1 VERSION 6.33 (2012-09-01) + +=over 5 + +=item Improvements to Date::Manip::Delta + +Added convert method. This had been planned since 6.30, but based on +a discussion with Henrique Martins, I moved it up in priority. + +Cleaned up handling of delta field lengths (they are now only calculated +once. + +Added cmp method. Henrique Martins + +=item Bug fixes + +The language modules read from the DATA section, but I never closed the +filehandle. This is fixed now. Patch by Doru Theodor Petrescu + +Added better loading of DM5/DM6 modules. RT 78512 + +Added a secure PATH to TZ.pm for taint reasons. In response to RT 78566 + +=item Time zone fixes + +Now supports timezones in files with spaces where there should be +underscores. This occurs in RHEL desktop. RT 78566 + +Newest zoneinfo data (tzdata 2012e) + +=item Documentation fixes + +Minor fix. Henrique Martins + +=back + +=head1 VERSION 6.32 (2012-06-01) + +=over 4 + +=item Modified Build.PL + +Build.PL now has better support for building (or not building) HTML files. +Apparently this is slow on Windows. Patch provide in RT 75118. + +=item Bug fixes + +Fixed a bug in business day calculations. RT 76336 + +Fixed a bug where Delta/Recur objects weren't correctly created. Zsban Ambrus + +Fixed a bug where SetDate/ForceDate config variables could not be included +in a file. Jerry Wilcox + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2012c). + +=item Documentation fixes + +Better support for UTF-8 in autogenerated language module pod files. + +=back + +=head1 VERSION 6.31 (2012-03-01) + +=over 4 + +=item Added extended formats to printf method. + +These include the %, %, %, %, %, +%, and % formats. Chris Jackson + +=item Can now parse formats where the time and zone are not adjacent + +A string like 'Jan 21 17:13:27 2010 -0400' can now be parsed. Requested +on perlmonks ('Can Date::Manip parse a unix timestamp' thread). + +=item Added PeriodTimeSep config variable. + +This allows you to use a period as a time separator. Ed Avis + +=item Holidays can be used as date strings + +You can now parse a holiday name in the Date::Manip::Date::parse method. +For example, parse('Christmas'). Requested by Abigail. + +=item Added new recur modifiers + +Added WDn, IBD, and NBD modifiers. + +=item Added a new date format + +You can now parse '2nd day in May' formats. Randy Harmon + +=item More flexibility in parsing timezones with both offset and abbrev + +If you include both the offset and abbreviation in the timezone portion +of a date, the parenthesis around the abbreviation are now optional, so +you can parse both: + + -04:00 (EDT) + -04:00 EDT + +Requested by Steven Melendez. + +=item Deltas now support fractional values. + +You can now use a delta of 1.5 days. RT 42699 + +=item Multiple holidays supported + +A date may now have multiple holidays. Keith Minkler + +=item Bug fixes + +Fixed a bug where abbreviations were not being examined case insensitively. +Jurgen Muck + +The Holidays section may be safely split across multiple config files. +A bug prevented this from working before. + +=item Language fixes + +The Norwegian translation was broken due to a typo in the language module. + +Included complete documentation for each language. + +Fixed a couple problems with Danish. Nicholas Oxhaj + +Added Finnish (from a VERY old mail that I overlooked somehow). Iikka +Virkkunen + +Cleaned up the values used by printf directives to give the expected +result. + +=item Documentation fixes + +Fixed a typo. Nicholas Bamber + +=back + +=head1 VERSION 6.30 (2012-01-11) + +=over 4 + +=item B<(*) (!) Reworked deltas> + +Much of the delta code was reworked. + +The constraint that a day is treated as 24 hours was removed (by +adding the concept of semi-exact deltas) to better handle daylight +saving time calculations. + +Made cosmetic changes to which signs will be included in a delta to +make the deltas more readable. Signs which are the same as the next +higher field will be omitted, even if they cross set boundaries. + +Added support for non-normalized deltas. See the $no_normalize +option for the parse and set methods. + +Removed limitations on subtract=2 not working with business +calculations. + +Thanks to discussion on perlmonks, and RT 65774 that prompted me to do +this. I'd been wanting to do it for some time, but the discussion on +perlmonks made me realize that this needed to be much higher priority. + +=item B<(!) Modified Delta_Format> + +In conjunction with the above work, added the 'semi' mode to +Delta_Format. + +=item B<(!) Removed some deprecated config variables> + +The following config variables have been removed. + + GlobalCnf + IgnoreGlobalCnf + PersonalCnf + PersonalCnfPath + PathSep + + Internal + DeltaSigns + UpdateCurrTZ + ConvTZ + OldConfigFiles + ResetWorkDay + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2011n). RT 71595 + +Corrects a bug where +0000 and -0000 offsets were not parsed correctly. +Aaron Hall + +The zoneinfo data includes rules more than 20 years in the future, so we +now store 30 years of future dates instead of 20 to catch these rules. + +When parsing the timezone portion of the date, timezone abbreviations +now take higher precedence than zone names (since that is how timezone +information is typically specified). That only impacts dates where +the a timezone name is the same as an abbreviation, such as 'CET'. + +Previously, a date with CET in it was interpreted as in the CET timezone. +Now it is interpreted as in a timezone with the CET abbreviation. + +=item Better handling of undef in DM6 + +The date/delta parsing routines in DM6 will now handle an undef argument +without issuing a warning. Earl C. Ruby III + +=item Bug fixes + +Fixed a bug with the parse_format %f and %i formats. Tommi Rintala + +Fixed a bug where the Date::Manip::Delta::set function didn't work +to set the month value. + +Fixed a bug where parsing some dates near during a DST change failed. + +Minor bug fix when using Delta_Format. Prompted while investigating +RT 41095. + +=back + +=head1 VERSION 6.25 (2011-08-31) + +=over 4 + +=item Relaxed one constraint in ISO 8601 dates + +A time separated by whitespace from the date can use a single digit hour. +Yuming Philip Xiang + +=item B<(*) Set official removal dates for old config variables> + +Config variables will be removed 2 years after they are deprecated (except +for the TZ variable which, due to it's wide use, will be kept for 4 years). + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2011i) + +=back + +=head1 VERSION 6.24 (2011-06-13) + +=over 4 + +=item New features + +Spaces are ignored in the SetDate/ForceDate config values. Zsban Ambrus + +=item Bug fixes + +Fixed a bug where 'in one week' wasn't correctly parsed. E. M. Shtern + +Fixed a bug where options passed in to the 'new' as a listref weren't handled +properly. Zsban Ambrus + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2011g) + +=back + +=head1 VERSION 6.23 (2011-04-15) + +=over 4 + +=item B<(!) Renamed one Date::Manip::Recur method> + +The Date::Manip::Recur::base method has been renamed to basedate . The +Date::Manip::Recur::base method should return the Date::Manip::Base object +like all the other Date::Manip modules. + +=item B<(*) Reworked holidays defined as recurrences> + +Improved dealing with the bootstrap problem of defining holidays, especially +those that contain business day flags. Mike Tonks + +=item New features + +The printf function will now take multiple format strings and return a list +of values. Zsban Ambrus + +=item Bug fixes + +Fixed a bug where GlobalCnf wasn't working. Peter Edwards + +Improved error messages in a few cases. + +Fixed a bug where one invalid date/timezone check was ignored. Morten Bjornsvik + +Fixed a bug where '$base2 = new Date::Manip::Base $base1' wasn't working. RT 67143 + +Fixed a bug where passing dates in to the Recur->dates method failed. RT 67144 + +Fixed a bug where the mode wasn't being preserved correctly for a delta. RT 67150 + +Fixed a bug in recurrences where a base date outside of a date range with a very +uncommon recurrence format would not work correctly. + +Fixed a problem where the '%s' printf option didn't work in GMT. +Jean-Michel Hiver + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2011f) + +=item Documentation fixes + +Fixed two bad recurrence examples in the documentation. Peter Edwards +and Mike Tonks + +=back + +=head1 VERSION 6.22 (2011-03-07) + +=over 4 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2011b) + +Fixed a bug where the gmtoff method of getting the local timezone was broken. +Martin Zinser. + +Fixed the 'env' method of determining the local time zone to allow the +value to be an offset of seconds since UTC. This allows the VMS +SYS$TIMEZONE_DIFFERENTIAL variable to work correctly. Martin Zinser. + +Removed the SYS$TIMEZONE_RULE method from VMS since the value stored there +is not the name of a timezone (it's a rule in a non-standard format). Based +on discussion with Martin Zinser. + +Improved the order in which aliases, abbreviations, etc., are tested +to test current usage before non-current usage (there were a few cases +where old usages were getting tested before current usage. + +=item Language fixes + +The module will now die if a language module cannot be loaded (most +likely due to a YAML::Syck issue). Based on discussion with Martin Zinser. + +=item Documentation fixes + +Added a sample config file document. Based on discussion with Rich Duzenbury. + +=back + +=head1 VERSION 6.21 (2011-01-10) + +=over 4 + +=item New features + +Deltas may now contain spelled out numbers, so 'in 2 weeks' and 'in two weeks' +will both work. Daniel Shahaf + +=item Bug fixes + +Fixed a bug where week_of_year didn't work in some cases. Chris Eveland. + +Fixed a minor potential bug. Geraint Edwards. + +=item Time zone fixes + +Updated windows time zone aliases. Daniel Harding + +=item Language fixes + +Added Norwegian. Glenn Sogn + +=back + +=head1 VERSION 6.20 (2010-12-01) + +=over 4 + +=item B<(*) (!) Reworked recurrences> + +Recurrences were reworked in a (slightly) backward incompatible way to +improve their usefulness (and to make them conform to the expected +results). Most recurrences will work the same as previously, but a few will +differ. Most of this was suggested by Jay Jacobs. + +A recurring event is now calculated relative to the base date, NOT relative +to a previous event. For example, if a recurrence occurs every month, and +the base date was Jan 31, then previously, recurring events would have +been (in a non-leap year): + + D(0) = Jan 31 + D(1) = D(0) + 1 month = Feb 28 + D(2) = D(1) + 1 month = Mar 28 + ... + +The new behavior is: + + D(0) = Jan 31 + D(1) = D(0) + 1*(1 month) = Feb 28 + D(2) = D(0) + 2*(1 month) = Mar 31 + ... + +Previously, if a base date were not specified, it was not determined +from the date range. Now, the start date of the date range acts as the +base date. + +The meaning of the base date has changed slightly. It is much more +meaningful and useful now. + +Added iterator functions. Daniel LaLiberte + +The RecurNumFudgeDays variable is no longer used and is deprecated. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2010o) + +=back + +=head1 VERSION 6.14 (2010-10-20) + +=over 4 + +=item B<(*) Date::Manip 5.xx fully integrated with 6.xx> + +Date::Manip 5.xx and 6.xx are both installed automatically, and the +correct one will be chosen. + +=item Bug fixes + +Fixed a bug where recurrence handling was broken. RT 62128 + +=item Documentation fixes + +A lot of documentation was cleaned up to be easier to read, and better +organized. + +=back + +=head1 VERSION 6.13 (2010-10-13) + +=over 4 + +=item New features + +Added the input methods to Date::Manip::Date and Date::Manip::Delta. Ed Avis. + +The 'date +%z' command will also be used to determine the timezone. Oliver Schulze + +=item Bug fixes + +Several changes to try to get rid of a memory leaks reported in RT +54937. Huge thanks to BrowserUK on perlmonks for help. Unfortunately, it +ended up being a bug in perl, and will only be resolved when that bug is +fixed. See the Date::Manip::Problems document for more information. + + Reorganized Base/TZ to get rid of circular references. + Added end blocks to clean some global variables. + Got rid of switch/given structures. + +Fixed a bug where an incomplete date with 'last' in it was causing an +error. RT 60138 + +Fixed a bug where 'Sunday, 9th Jan 1972' wasn't parsed correctly. RT 57832 + +=item Time zone fixes + +Fixed a bug where Zones.pm was generated with the abbreviations in the wrong +order. Amish Chana. + +=item Language fixes + +French month abbreviations now support periods. Bernard Haerri + +=item Test fixes + +Added tests from RT 29655 to make sure that the problem never recurs. + +=item Documentation fixes + +Fixed documentation problem with the new_* methods in Date::Manip::Obj. Options +must be passed in as \@opts rather than @opts. + +Cleaned up some of the documentation. + +=back + +=head1 VERSION 6.12 (2010-09-27) + +=over 4 + +=item B<(!) IntCharSet config variable deprecated> + +With better support for international character sets, the old IntCharSet +config variable (which was a bandaid at best) is deprecated. Currently, the +functionality still exists, but it will be removed at some point. + +=item New features + +Added the Encoding config variable. + +Now supports parsing the EXIF date format. Rhesa Rozendaal + +=item Bug fixes + +Fixed Build.PL to not require perl 5.010 since the distribution as a whole +does not require that (and I want that fact to be in META.yml). + +Fixed a bug where the Date::Manip::Date::set method was broken when setting +individual fields. Helmut A. Bender + +Fixed a bug where set didn't work in Date::Manip::Delta. Patch provided in +RT 59096. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2010m) + +=item Language fixes + +B<(*) Converted all language files to UTF-8 and added rudimentary support for +character encodings. Some assistance by Stephen Ostermiller.> + +Fixed problem in Polish, Dutch. Stephen Ostermiller + +Extended support for 'nth' up to 53rd. Paco Regodon + +Added some corrections to German. Dieter Lange + +=item Documentation fixes + +Clarified Date::Manip::Recur documentation based on RT 59132. + +=back + +=head1 VERSION 6.11 (2010-04-30) + +=over 4 + +=item Bug fixes + +Fixed a problem in Build.PL that had an incorrect module requirement. + +=back + +=head1 VERSION 6.10 (2010-04-29) + +=over 4 + +=item B<(*) Combined 5.xx and 6.xx releases into one distribution> + +Because the automatic module management tools cpan/cpanp would try +to upgrade Date::Manip to the most recent version, and the most +recent version will only work if perl 5.10.0 or higher is installed, +both the 5.xx and 6.xx releases are now combined into a single +distribution. + +This is described more fully in the Date::Manip::Problems document. + +=item B<(!) Zones specified by offset> + +In all operations involving time zones, the time zone must be determined. +By default, it would take all of the information available (date, ISDST, +etc.) and determine the most likely time zone. It would take every time zone +that matched each piece of information, starting with those that matched +in a standard time followed by those that matched in a daylight saving +time. + +When zones are specified by an offset, a standard time would always match +since there are standard time zones that match all year long (the military +time zones A-Z and the standard time zones of the form Etc/GMT+01). As a +result, a daylight saving time match would never occur. + +Since (if the date falls during a daylight saving time period) you usually +want to use a time zone that has that offset in daylight saving time, +the default is now to check daylight saving time zones first, followed +by standard times. + +See the Date::Manip::TZ manual (under the zone method) for more +information. + +=item Bug fixes + +Fixed a bug where Date_ConvTZ not working correctly with time zones +specified by offset. Chris Butler + +Fixed a bug where business mode calculations involving minutes was not +handled correctly. Damien Moore + +Fixed a bug where business mode calculations failed in some cases. RT +56638 + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2010i) + +Changed Date::Manip::TZ::zone so "dst" is sometimes the default +$dstflag. Based on the bug report by Chris Butler. + +OpenUNIX puts a colon at the start of some time zones. It's removed. +Jean Hassler + +=item Test fixes + +Converted tests to Test::Inter + +=item Documentation fixes + +Fixed a documentation bug in Date::Manip::TZ where "stdonly" was +listed as the default value for $dstflag, but in actuality, "std" is +the default. + +=back + +=head1 VERSION 6.07 (2010-02-05) + +=over 4 + +=item Bug fixes + +Fixed bug in Date_TimeZone where it wasn't returning the time zone. +Robert Eden + +=back + +=head1 VERSION 6.06 (2010-02-05) + +=over 4 + +=item Bug fixes + +Minor bug where %Z printf format didn't always work. + +Added support for 5pm back in (it was omitted accidentally). Mark Kennedy + +Fixed a minor warning. Morten Bjoernsvik + +Some additional speedups. + +=item Time zone fixes + +Newest zoneinfo data (tzdata 2010b) + +Added dm_zdump example script. + +Improved TZ::periods functionality + +Fixed bug in Date_ConvTZ where empty values weren't defaulting to local time zone. +Robert Eden + +Fixed a couple of problems in the generated time zones for some odd +cases (America/Resolute and Asia/Tehran). + +=back + +=head1 VERSION 6.05 (2009-12-09) + +=over 4 + +=item B<(!) %z format> + +In Date::Manip 5.xx, the %z format in UnixDate printed the offset in +the form -0500. In 6.00, I changed that to -05:00:00, but this broke +RFC 822 compliance. + +I've changed %z back to -0500, and introduced a new format (%N) which +returns -05:00:00. + +Incidentally, this is the LAST unused letter, so I am now going to +have to either stop adding formats, or add some extended format +syntax. Not sure yet which, but this may involve a backwards +incompatible change in the future. + +=item B<(*) Significant speedups.> + +Thanks to Moritz Lenz and BrowserUK on perlmonks for suggestions (and +a number of other people on perlmonks for suggestions that I did not +end up using, but which provided a great discussion). + +=item Bug fixes + +Fixed a bug in parse_date where the current time was getting used +instead of the documented 00:00:00 + +Bug fix where DateCalc didn't work with $mode in some cases. + +Fixed Makefile.PL/Build.PL to handle Win32::TieRegistry requirement. + +Changed %z printf behavior back to 5.xx and added %N format. Gilles +Lamiral + +Added dm_date example script. + +=item Time zone fixes + +Fixed bug where non-English Windows versions didn't get the +time zone. Thanks to Rene Schickbauer for testing. + +=item Test fixes + +Reduced the precision of 1 test to avoid a rounding difference when +using a perl compiled with uselongdouble. Andreas Koenig + +=back + +=head1 VERSION 6.04 (2009-11-25) + +=over 4 + +=item Bug fixes + +Fixed a bug where events were not interpreted in the correct time zone +if SetDate/ForceDate used. + +=back + +=head1 VERSION 6.03 (2009-11-24) + +=over 4 + +=item Bug fixes + +Corrects a backward incompatibility with UnixDate. Rene Schickbauer + +=item Test fixes + +A couple more corrections to the tests. + +=back + +=head1 VERSION 6.02 (2009-11-24) + +=over 4 + +=item Bug fixes + +Disabled curr_zone_methods when taint checking on. I believe that Date::Manip +is completely taint friendly at this point. + +=item Test fixes + +A quick fix to make sure that the tests run correctly in other time zones. + +=back + +=head1 VERSION 6.01 (2009-11-23) + +=over 4 + +=item Bug fixes + +B<(*) Fixed a bug where dates were sometimes getting the wrong time zone when +SetDate/ForceDate in effect.> + +=back + +=head1 VERSION 6.00 (2009-11-23) + +Date::Manip 6.00 is a total rethink of the module, and a nearly complete +rewrite. Please refer to the Date::Manip::Changes5to6 document for a list +of incompatible changes. + +=over 4 + +=item Reorganization + +B<(*) Massive reorganization and near total rewrite.> + +B<(*) Broke into several smaller modules> + +=item New Features + +B<(*) Full time zone support (using tzdata 2009s)> + +Added some functionality (suggested by James Elson to improve setting +the "current time". Done with the ForceDate config variable. + +B<(*) Converted languages to YAML for much easier maintenance. Patch and +suggestion provided by Evan Carroll> + +Added much better formats for deltas. Suggested by Jim Hranicky. + +Borrowed the _FindWindowsTZName function from the DateTime-TimeZone +module. + +Added SetDate config variable (based on a suggestion by Christian Campbell). + +Added parse_format which was first suggested by Kim Ryan. + +=item Other changes + +Several config variables deprecated + +Thanks to Jonathan Hogue for helping test Windows additions. + +=item Bug fixes (correcting problems in the 5.xx releases) + +Fixed a bug where "YYtoYYYY=c" wouldn't work. + +VMS bugfix to not call `date` command. Lane + +New Year's Day defined using a recurrence which might push the observed +day to the previous year was broken. Reported by Jerry Wilcox. + +=item Language fixes + +Fixed typo in Turkish translation. + +Spelling fix in Dutch. Bart Van Loon + +=item Additional credits + +I have received many suggestions over time which were automatically +handled during the 6.00 rewrite. Although the changes weren't made +because of the suggestions specifically, I wanted to acknowledge +them since I appreciate the suggestions. + +I believe the first person to suggest writing Date::Manip as an OO +module was Eduard Derksen. + +Delta_Format initialization done outside of the function. Eric Boehm + +Added $subtract to calculation routines. First suggested by Steve Berlage. + +Added ability to set individual parts of the date (Date::Manip::Date::set). +First suggested by Martin Thurn. + +UnixDate (i.e. Date::Manip::Date::printf) only calculates formats when +they are needed. Eduard Derksen + +Parsing will skip some date/time formats if requested. This was first +suggested by Eduard Derksen. + +It has been suggested several times to support multiple languages, +multiple config files, or multiple sets of Date_Init +options. These suggestions (by Meng Fang, Ed Avis, Christian +Campbell, and perhaps others) were at the back of my mind as I +developed the Date::Manip::Base class. + +The regular expressions are all i18n friendly in anticipation of much +better support for localization. First suggested by Alex Kapranoff. + +Parsing a date ('today', 'Monday') gives a time of '00:00:00'. Suggested +by Mark Aitchison. + +Working with fractional days was suggested by Peter van Hardenberg. +This is implemented in Date::Manip::Base::day_of_year method. + +=back + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Config.pod b/lib/Date/Manip/Config.pod new file mode 100644 index 0000000..8b27a25 --- /dev/null +++ b/lib/Date/Manip/Config.pod @@ -0,0 +1,706 @@ +# Copyright (c) 1996-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Config - Date::Manip configuration + +=head1 SYNOPSIS + +This documents the configuration information which is stored in +each L object, how to modify this information, +and how the information is used in the other Date::Manip modules. + +=head1 DESCRIPTION + +Date::Manip is a very configurable bundle of modules. Many of it's +behaviors can be modified to change how date operations are done. To +do this, a list of configuration variables may be set which define +many Date::Manip behaviors. + +There are three ways to set config variables. The first two are to +pass them in when creating an object, or to pass them to the config +method after the object is created. All of the main Date::Manip +modules (L, L, L, +L, and L) have the config method. + +As an example, you can create and configure a +L object using the commands: + + $date = new Date::Manip::Date; + $date->config($var1,$val1,$var2,$val2,...); + +This can be shortened to: + + $date = new Date::Manip::Date [$var1,$val1,...]; + +The values of the config variables are stored in the L +object. So, if you have a L object, it has a +L object associated with it, and the configuration +information is stored there. The same L object may be +used by any number of higher objects, and all will share the same +configuration. If multiple L objects share the same +L object, setting a configuration variable on any of +them affects all of the L objects. If you need to work +with different configurations simultaneously, it is necessary to work +with multiple L objects. This is covered in the +L document. + +An alternate method exists if you are using one of the functional +interfaces. To set a variable using the functional interface, use the +call: + + Date_Init("$var1=$val1"); + +The third way to set config variables is to store them in a config +file. The config file is read in by passing the appropriate values to +the config method as described below. A config file is a good way to +easily change a large number of settings. They are also necessary for +other purposes (such as events and holidays which are covered +in the L document). + +=head1 CONFIG FILES + +One of the variables that can be passed to the config method is +"ConfigFile". The value of this variable is the path to a config +file. + +When any Date::Manip::* object is configured, any number of config +files may be read (and the config files can specify additional files +to read). + +The starting section of a config file contains general configuration +variables. A list of all config variables is given below. + +Following this, any number of special sections may be included in +the config file. The special sections are used to specify other +types of information, such as a list of holidays or special events. +These special sections are described elsewhere in the documentation. + +The syntax of the config file is very simple. Every line is of +the form: + + VAR = VAL + +or + + *SECTION + +Blank lines and lines beginning with a pound sign (#) are ignored. +All whitespace is optional. Variables names in the main section and +section names are case insensitive (though values in the main section +are typically case sensitive). Strings in other sections (both variables +and values) are case sensitive. + +The following is a sample config file: + + DateFormat = US + Language = English + + *Holidays + + Dec 25 = Christmas + Jan 1 = New Year's + +All config variables that may appear in the main part of a config file +are described in the next section. Other sections are described elsewhere. +The *Holidays and *Events sections are both described in the +L documentation. + +A sample config file is included with the Date::Manip distribution. +Modify it as appropriate and copy it to some appropriate directory and +use the ConfigFile variable to access it. For example, if a config +file is stored in F, you can load it by: + + $date->config("ConfigFile","/home/foo/Manip.cnf"); + +or (if using a functional interface): + + Date_Init("ConfigFile=/home/foo/Manip.cnf"); + +NOTE: if you use business mode calculations, you must have a config +file since this is the only place where you can define holidays. + +In the top section, only variables described below may be used. In +other sections, checking (if any) is done in the module that uses +the data from that section. + +=head1 BASIC CONFIGURATION VARIABLES + +This section describes the basic Date::Manip configuration variables +which can be used in a config file, or which may be passed in using +the appropriate functions for each module. + +Variable names are case insensitive, both as arguments to the config +function and in the config file. The values are case sensitive except +where specified otherwise. + +=over 4 + +=item B + +The value for this config variable is ignored. Whenever the Defaults +config variable is encountered, the defaults for all config variables +are restored, overriding ALL changes that have been made. + +In other words, in the following call: + + $date->config("Language","Russian", + "Defaults","1"); + +the first option will end up being ignored since the Defaults config +variable will set the language back to it's default value which is +English. + +When using a functional interface, use: + + Date_Init("Defaults=1"); + +=item B + +The ConfigFile variable defines a config file which will be parsed for +configuration information. It may be included any number of times, each +one including the path to a single config file. The value of this +variable is a full path to a file. + +An example call to the config function might be: + + $date->config("ConfigFile","/tmp/file1", + 'Language',$val); + +Config files are parsed immediately when encountered. So in this example, +the file F will be parsed before the next variable ('Language'). +In addition, if a config file contains a ConfigFile variable, that file +will immediately be parsed before continuing with the original file. + +The path to the file may be specified in any way valid for the +operating system. If a file is not found, a warning will be issued, +but execution will continue. + +Multiple config files are safe, and a section may safely be split +across multiple files. + +When using a functional interface, use: + + Date_Init("ConfigFile=/tmp/file1"); + +=item B + +Date::Manip can be used to parse dates in many different languages. +A list of the languages is given in the L document. + +To parse dates in a different language, just use the Language config +variable with the name of the language as the value. Language names +are case insensitive. + +Additional languages may be added with the help of someone fluent in +English and the other language. If you are interested in providing a +translation for a new language, please refer to the L +document for instructions. + +=item B + +Date::Manip has some support for handling date strings encoded in +alternate character encodings. + +By default, input strings may be tested using multiple encodings that +are commonly used for the specific languages, as well as using +standard perl escape sequences, and output is done in UTF-8. + +The input, output, or both can be overridden using the Encoding +variable. + +Setting Encoding to the name of a single encoding (a name supported +by the Encoding perl module), will force all input and output to be +done in that encoding. + +So, setting: + + Encoding = iso-8859-1 + +means that all input and output will be in that encoding. The +encoding 'perl' has the special meaning of storing the string in +perl escape sequences. + +Encoding can also be set to the name of two encoding (separated +by a comma). + + Encoding = iso-8859-1,utf-16 + +which means that all input is in iso-8859-1 encoding, but all output +will be utf-16. + +Encoding may also be set as follows: + + Encoding = iso-8859-1, + +meaning that input is in iso-8859-1 and output is in the default (i.e. +UTF-8) encoding. + + Encoding = ,utf-16 + +means to check the input in all of the encodings, but all output will +be in utf-16 encoding. + +Note that any time you change languages, it will reset the encodings, +so you should set this config variable AFTER setting the language. + +=item B + +It is sometimes necessary to know what day of week is regarded as +first. By default, this is set to Monday as that conforms to ISO +8601, but many countries and people will prefer Sunday (and in a few +cases, a different day may be desired). Set the FirstDay variable to +be the first day of the week (1=Monday, 7=Sunday). + +=item B + +ISO 8601 states that the first week of the year is the one which contains +Jan 4 (i.e. it is the first week in which most of the days in that week +fall in that year). This means that the first 3 days of the year may +be treated as belonging to the last week of the previous year. If this +is set to non-nil, the ISO 8601 standard will be ignored and the first +week of the year contains Jan 1. + +=item B + +Some commands may produce a printable version of a date. By default, +the printable version of the date is of the format: + + YYYYMMDDHH:MN:SS + +Two other simple versions have been created. If the Printable variable is +set to 1, the format is: + + YYYYMMDDHHMNSS + +If Printable is set to 2, the format is: + + YYYY-MM-DD-HH:MN:SS + +This config variable is present in order to maintain backward +compatibility, and may actually be deprecated at some point. As such, +additional formats will not be added. Instead, use the printf method +in the L module to extract information with complete +flexibility. + +=back + +=head1 DATE PARSING CONFIGURATION VARIABLES + +=over 4 + +=item B + +Different countries look at the date 12/10 as Dec 10 or Oct 12. In +the United States, the first is most common, but this certainly +doesn't hold true for other countries. Setting DateFormat to "US" +(case insensitive) forces the first behavior (Dec 10). Setting +DateFormat to anything else forces the second behavior (Oct 12). The +"US" setting is the default (sorry about that... I live in the US). + +=item B + +When parsing a date containing a 2-digit year, the year must be converted +to 4 digits. This config variable determines how this is done. + +By default, a 2 digit year is treated as falling in the 100 year period of +CURR-89 to CURR+10. So in the year 2005, a two digit year will be somewhere +in the range 1916 to 2015. + +YYtoYYYY may be set to any integer N to force a 2 digit year into the +period CURR-N to CURR+(99-N). A value of 0 forces the year to be the +current year or later. A value of 99 forces the year to be the +current year or earlier. Although the most common choice of values +will be somewhere between 0 and 99, there is no restriction on N that +forces it to be so. It can actually be any positive or negative number +you want to force it into any 100 year period desired. + +YYtoYYYY can also be set to "C" to force it into the current century, or +to "C##" to force it into a specific century. So, in 1998, "C" forces +2 digit years to be 1900-1999. "C18" would always force a 2 digit year to +be in the range 1800-1899. Note: I'm aware that the actual definitions of +century are 1901-2000, NOT 1900-1999, so for purists, treat this as +the way to supply the first two digits rather than as supplying a +century. + +It can also be set to the form "C####" to force it into a specific 100 +year period. C1950 refers to 1950-2049. + +=item B + +When a date is parsed from one of the formats listed in the "Common date formats" +or "Less common formats" sections of the L document, and no time +is explicitly included, the default time can be determined by the value of this +variable. The two possible values are: + + midnight the default time is 00:00:00 + curr the default time is the current time + +"midnight" is the default value. + +NOTE: this only applies to dates parsed with the parse method. Dates parsed +using the parse_date method always default to 00:00:00. + +=item B + +By default, the time separator (i.e. the character that separates +hours from minutes and minutes from seconds) is specified in the +language translations and in most cases it does not include a period. +In English, the only defined time separator is a colon (:), so the time +can be written as 12:15:30 . + +If you want to use a period (.) as a time separator as well, set this +to 1. Then you can write the time as 12.15.30 . + +By default, a period is used as a date separator, so 12.15.30 would be +interpreted as Dec 15 1930 (or 2030), so if you use the period as a +date separator, it should not be used as a time separator too. + +=item B + +By default, when parsing a string like 'Jun 1925', it will be interpreted +as 'Jun 19, 2025' (i.e. MMM DDYY). Also, the string '1925 Jun' is not allowed. + +This variable can be set to either 'first' or 'last', and in that case, +both 'Jun 1925' and '1925 Jun' will be allowed, and will refer to either +the first or last day of June in 1925. + +=back + +=head1 BUSINESS CONFIGURATION VARIABLES + +These are configuration variables used to define work days and +holidays used in business mode calculations. Refer to the +L documentation for details on these calculations. + +=over 4 + +=item B + +=item B + +The first and last days of the work week. These default to Monday and +Friday. Days are numbered from 1 (Monday) to 7 (Sunday). WorkWeekBeg +must come before WorkWeekEnd numerically so there is no way to handle +a work week of Sunday to Thursday using these variables. + +There is also no way to handle an odd work schedule such as 10 days +on, 4 days off. + +However, both of these situations can be handled using a fairly simple +workaround. + +To handle a work week of Sunday to Thursday, just set WorkWeekBeg=1 +and WorkWeekEnd=7 and defined a holiday that occurs every Friday and +Saturday. + +To handle a 10 days on, 4 days off schedule, do something similar +but defined a holiday that occurs on all of the 4 days off. + +Both of these can be done using recurrences. Refer to the L +documentation for details. + +=item B + +=item B + +=item B + +If WorkDay24Hr is non-zero, a work day is treated as usually being 24 +hours long (daylight saving time changes ARE taken into account). The +WorkDayBeg and WorkDayEnd variables are ignored in this case. + +By default, WorkDay24Hr is zero, and the work day is defined by the +WorkDayBeg and WorkDayEnd variables. These are the times when the work +day starts and ends respectively. WorkDayBeg must come before +WorkDayEnd (i.e. there is no way to handle the night shift where the +work day starts one day and ends another). + +The time in both should be a valid time format (H, H:M, or H:M:S). + +Note that setting WorkDay24Hr to a non-zero value automatically sets +WorkDayBeg and WorkDayEnd to "00:00:00" and "24:00:00" respectively, +so to switch back to a non-24 hour day, you will need to reset both +of those config variables. + +Similarly, setting either the WorkDayBeg or WorkDayEnd variables +automatically turns off WorkDay24Hr. + +=item B + +Periodically, if a day is not a business day, we need to find the +nearest business day to it. By default, we'll look to "tomorrow" +first, but if this variable is set to 0, we'll look to "yesterday" +first. This is only used in the +C method (and the +C function) and is easily overridden (see +documentation for the nearest_business_day method). + +=item B + +=item B + +If these variables are used (a value must be passed in, but is +ignored), the current list of defined holidays or events is erased. A +new set will be set the next time a config file is read in. + +Although these variables are supported, the best way to have multiple +holiday or events lists will be to create multiple L +objects based on separate config files. + +=back + +=head1 RECURRENCE CONFIGURATION VARIABLES + +The following config variables help in the handling of recurrences. + +=over 4 + +=item B + +When a recurrence is created, it begins with a default range (start +and end date). The range selected depends on the value of this +variable, and can be set to any of the following: + + none no default range supplied + year the current year + month the current month + week the current week + day the current day + all Jan 2, 0001 to Dec 30, 9999 + +The default value is "none". + +=back + +=head1 TIME ZONE RELATED CONFIGURATION VARIABLES + +The following configuration variables may alter the current +time zone. As such, they are only available once the L +module is available. An easy way to handle this is to only pass them +to the config method of a L object or one of the high +level objects (L, L, or +L). + +Many of Date::Manip's operations rely on knowing what time it is +now. This consists of three things: knowing what date and time it is, +knowing what time zone it is, and knowing whether it is daylight +saving or not. All of this is necessary in order to correctly handle +every possible date. + +The daylight saving time information is only used for a couple hours +each year during daylight saving time changes (at all other times, the +date, time, and time zone are sufficient information), so it is +optional, and defaults to standard time if omitted. + +The default behavior of Date::Manip is to use the system localtime +function to determine the date, time, and daylight saving time +information, and to use various methods (see +L) to determine what +time zone the computer is in. + +=over 4 + +=item B + +This variable is deprecated, but will be supported for several +releases. The SetDate or ForceDate variables (described next) should be +used instead. + +The following are equivalent: + + $date->config("tz","Europe/Rome"); + $date->config("setdate","now,Europe/Rome"); + +or in the functional interface: + + Date_Init("tz=Europe/Rome"); + Date_Init("setdate=now,Europe/Rome"); + +=item B + +The SetDate config variable is used to set the current date, time, or +time zone, but then allow it to change over time using the rules of +that time zone. + +There are several cases where this may be useful. + +Often, you may want to use the system time to get the date and time, but +you want to work in another time zone. For this, use the call: + + $date->config("setdate","now,ZONE"); + +or in the function interface: + + Date_Init("setdate=now,ZONE"); + +If it is currently + + Jun 6, 2009 12:00:00 in the America/New_York time zone + +and you call: + + $date->config("setdate","now,Europe/Rome"); + +the Date::Manip will treat that exact instant as + + Jun 6, 2009 12:00:00 in the Europe/Rome time zone + +At that precise moment, looking at the system time and parsing the +date "now" in Date::Manip will give the same date and time. + +The time will continue to advance, but it will use time change rules +from the Europe/Rome time zone. What that means is that if a daylight +saving time occurs on the computer, but NOT in the Europe/Rome +time zone (or vice versa), the system date and time will no longer +match the results of parsing the date "now" in Date::Manip. + +In general (unless the program runs for an extended period of +time), the system date and time WILL match the value of "now", so +this is a good way to simulate placing the computer in another +time zone. + +If the current date/time is ambiguous (i.e. it exists in both +standard and daylight saving time in the alternate zone), you +can use the call: + + $date->config("setdate","now,DSTFLAG,ZONE"); + +to force it to be in one or the other. DSTFLAG can be "std", +"dst", "stdonly", or "dstonly". "std" and "dst" mean that +the date can be in either standard or saving time, but will +try standard first (for "dst") or saving time first (if "dst"), +and will only try the other if the date is not valid. If +"stdonly" or "dstonly" is used, the date will be forced to +be standard or saving time respectively (an error will be +triggered if there is no valid date in that time). + +If the current date/time doesn't exist in the alternate zone, +an error will occur. + +The other common operation is that you might want to see results +as they would appear on a computer running in a different time zone. + +This can be done using the call: + + $date->config("setdate","zone,ZONE"); + $date->config("setdate","zone,DSTFLAG,ZONE"); + +If it is currently + + Jun 6, 2009 12:00:00 in the America/New_York time zone + +and you call: + + $date->config("setdate","zone,America/Chicago"); + +then parsing "now" at precisely that moment will return "Jun 6, 2009 +11:00:00". This is equivalent to working in the current zone, but +then converting everything to the alternate zone. + +Note that DSTFLAG is only used if ZONE is entered as an offset. + +The final case where the SetDate config variable is used is to alter +the date and time to some other value (completely independent of +the current date and time) and allow it to advance normally from +that point. + + $date->config("setdate","DATE"); + $date->config("setdate","DATE,ZONE"); + $date->config("setdate","DATE,DSTFLAG,ZONE"); + +set both the date/time and zone. + +If DATE is not valid in the time zone (either the local time zone +or the specified one), and error occurs. + +The call: + + $date->config("setdate","now"); + +resets everything to use the current date/time and zone and lets it +advance normally. + +=item B + +The ForceDate config variable is similar to the SetDate variable, except +that once "now" is set, it is not allowed to change. Parsing the date "now" +will not change, regardless of how long the program runs (unless either +the SetDate or ForceDate variables are set to some other value). + + $date->config("forcedate","now,ZONE"); + $date->config("forcedate","now,DSTFLAG,ZONE"); + $date->config("forcedate","zone,ZONE"); + $date->config("forcedate","zone,DSTFLAG,ZONE"); + $date->config("forcedate","DATE"); + $date->config("forcedate","DATE,ZONE"); + $date->config("forcedate","DATE,DSTFLAG,ZONE"); + $date->config("forcedate","now"); + +all set "now" in the same way as the SetDate variable. Spaces after commas are +ignored. + +=back + +ZONE can be any time zone name, alias, abbreviation, or offset, and +the best time zone will be determined from all given information. + +It should be noted that setting the SetDate or ForceDate variable +twice will always refer to the system date/time as a starting point. +For example, if a program is running, and calls the method: + + $date->config("forcedate","now"); + +at Jun 6, 2009 at 12:00, that time will be treated as now from that +point on. If the same call is done an hour later, "now" will then +be Jun 6, 2009 at 13:00 from that moment on. + +Since the current date is used in the date parsing routines, no +parsing can be done on the DATE value in any of the calls. Instead, +DATE must be a date in one of the two formats: + + YYYY-MM-DD-HH:MN:SS + YYYYMMDDHH:MN:SS + +=head1 DEPRECATED CONFIGURATION VARIABLES + +The following config variables are currently supported, but are +deprecated. They will be removed in a future Date::Manip release: + +=over 4 + +=item B + +This is discussed above. Use SetDate or ForceDate instead. + +Scheduled for removal 2016-03-01 + +=back + +=head1 KNOWN BUGS + +None known. + +=head1 BUGS AND QUESTIONS + +Please refer to the L documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/ConfigFile.pod b/lib/Date/Manip/ConfigFile.pod new file mode 100644 index 0000000..1f04b91 --- /dev/null +++ b/lib/Date/Manip/ConfigFile.pod @@ -0,0 +1,164 @@ +# Copyright (c) 2011-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::ConfigFile - sample config file + +=head1 DESCRIPTION + +Date::Manip is a highly configurable module. Many of the options +can be set in a config file. This document includes a sample config +file. + +The config file consists of three sections. The first section is +config variables. This is described more fully in the L +document. + +The second section is the holiday definition section. The third section +is the event definition section. These are both described more fully +in the L document. + +=head1 SAMPLE CONFIG FILE + +The sample config file below works for newer versions of Date::Manip. +Some of the config variables may change, or be deprecated, and some +may not work with earlier versions of Date::Manip, so it is strongly +suggested that you check out the documentation for the version of +Date::Manip you are using to confirm any of the config variables you +want to include. + + ################################ + # CONFIG VARIABLES + ################################ + # See Date::Manip::Config man page for a description of all + # config variables. + + # To include configuration information from additional + # config files: + + ConfigFile = /path/to/another/config/file + ConfigFile = /path/to/another/config/file2 + + # For handling other languages + + Language = English + DateFormat = US + Encoding = + + # Set the current timezone: + + SetDate = now,America/New_York + + # Set the work work + + WorkWeekBeg = 1 + WorkWeekEnd = 5 + WorkDay24Hr = 0 + WorkDayBeg = 08:00 + WorkDayEnd = 17:00 + TomorrowFirst = 1 + + # Misc. variables + + YYtoYYYY = 89 + FirstDay = 1 + Jan1Week1 = 0 + Printable = 0 + DefaultTime = midnight + RecurRange = none + + ################################ + # HOLIDAYS + ################################ + # See the Date::Manip::Holidays man page for a description of + # this section. + *HOLIDAYS + + # FEDERAL HOLIDAYS + ################## + + # You can express New Year's Day as the actual day (Jan 1) + # or the observed day (Jan 1 or the nearest week day). + # You can't include BOTH because once a day is marked as + # a holiday, a second definition will treat it the same + # as a weekend and choose another day to assign the holiday + # to (so there would be two days designated as New Years). + + # Jan 1 = New Year's Day + 1*1:0:1:0:0:0*DWD = New Year's Day (observed) + + # Two different ways to defined MLK day + + third Monday in Jan = Martin Luther King Jr.'s Birthday + # 1*1:3:1:0:0:0 = Martin Luther King Jr.'s Birthday + + # Observed by federal employees in Washington D.C. + + # Jan 20 = Inauguration day + third Monday in Feb = Washington's Birthday + last Monday in May = Memorial Day + 1st Monday in Sep = Labor Day + second Monday in Oct = Columbus Day + + # Jul 4 = Independence Day + 1*7:0:4:0:0:0*DWD = Independence Day + + # 11/11 = Veterans Day + 1*11:0:11:0:0:0*DWD = Veteran's Day + + # To define both Thanksgiving and the day after, use the + # following two lines: + + fourth Thu in Nov = Thanksgiving + 1*11:4:4:0:0:0*FD1 = Day after Thanksgiving + + # Dec 25 = Christmas + 1*12:0:25:0:0:0*DWD = Christmas + + # SAMPLE HOLIDAYS + ################## + + # You can define a one-time-only holiday by specifying + # the day and year. + + 6/2/1999 = A special test holiday for 1999 + + ################################ + # EVENTS + ################################ + # See the Date::Manip::Holidays man page for a description of + # this section. + *EVENTS + + 2000-02-01 = Event01 + 2000-02-01-12:00:00 = Event02 + 02-01 = Event03 + 02-01 12:00:00 = Event04 + 1*2:0:3:13:00:00 = Event05 + + 2000-02-05 10:00:00 ; 2000-02-05 10:59:59 = Event06 + 2000-02-05 ; 2000-02-06 = Event07 + 02-05 ; 02-06 = Event08 + + 2000-02-07 10:00:00 ; 0:0:0:0:3:0:0 = Event09 + 02-07 10:00:00 ; 0:0:0:0:4:0:0 = Event10 + 1*2:0:7:10:00:00 ; 0:0:0:0:5:0:0 = Event11 + +=head1 SEE ALSO + +L - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/DM5.pm b/lib/Date/Manip/DM5.pm new file mode 100644 index 0000000..397e623 --- /dev/null +++ b/lib/Date/Manip/DM5.pm @@ -0,0 +1,7485 @@ +package Date::Manip::DM5; +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +########################################################################### +########################################################################### + +use warnings; + +our($OS,%Lang,%Holiday,%Events,%Curr,%Cnf,%Zone,$VERSION,@ISA,@EXPORT); + +# Determine the type of OS... +$OS="Unix"; +$OS="Windows" if ((defined $^O and + $^O =~ /MSWin32/i || + $^O =~ /Windows_95/i || + $^O =~ /Windows_NT/i) || + (defined $ENV{OS} and + $ENV{OS} =~ /MSWin32/i || + $ENV{OS} =~ /Windows_95/i || + $ENV{OS} =~ /Windows_NT/i)); +$OS="Unix" if (defined $^O and + $^O =~ /cygwin/i); +$OS="Netware" if (defined $^O and + $^O =~ /NetWare/i); +$OS="Mac" if ((defined $^O and + $^O =~ /MacOS/i) || + (defined $ENV{OS} and + $ENV{OS} =~ /MacOS/i)); +$OS="MPE" if (defined $^O and + $^O =~ /MPE/i); +$OS="OS2" if (defined $^O and + $^O =~ /os2/i); +$OS="VMS" if (defined $^O and + $^O =~ /VMS/i); +$OS="AIX" if (defined $^O and + $^O =~ /aix/i); + +# Determine if we're doing taint checking +#if ($] < 5.0080) { + $Date::Manip::DM5::NoTaint = eval { local $^W=0; eval("#" . substr($^X, 0, 0)); 1 }; +#} else { +# $Date::Manip::DM5::NoTaint = (${^TAINT} == 0 ? 1 : 0); +#} + +########################################################################### +# CUSTOMIZATION +########################################################################### +# +# See the section of the POD documentation section CUSTOMIZING DATE::MANIP +# below for a complete description of each of these variables. + + +# Location of a the global config file. Tilde (~) expansions are allowed. +# This should be set in Date_Init arguments. +$Cnf{"GlobalCnf"}=""; +$Cnf{"IgnoreGlobalCnf"}=""; + +# Name of a personal config file and the path to search for it. Tilde (~) +# expansions are allowed. This should be set in Date_Init arguments or in +# the global config file. + +@Date::Manip::DM5::DatePath=(); +if ($OS eq "Windows") { + $Cnf{"PathSep"} = ";"; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "."; + +} elsif ($OS eq "Netware") { + $Cnf{"PathSep"} = ";"; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "."; + +} elsif ($OS eq "MPE") { + $Cnf{"PathSep"} = ":"; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "."; + +} elsif ($OS eq "OS2") { + $Cnf{"PathSep"} = ":"; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "."; + +} elsif ($OS eq "Mac") { + $Cnf{"PathSep"} = ":"; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "."; + +} elsif ($OS eq "VMS") { + # VMS doesn't like files starting with "." + $Cnf{"PathSep"} = ","; + $Cnf{"PersonalCnf"} = "Manip.cnf"; + $Cnf{"PersonalCnfPath"} = "/sys\$login"; + +} else { + # Unix + $Cnf{"PathSep"} = ":"; + $Cnf{"PersonalCnf"} = ".DateManip.cnf"; + $Cnf{"PersonalCnfPath"} = ".:~"; + @Date::Manip::DM5::DatePath=qw(/bin /usr/bin /usr/local/bin); +} + +### Date::Manip variables set in the global or personal config file + +# Which language to use when parsing dates. +$Cnf{"Language"}="English"; + +# 12/10 = Dec 10 (US) or Oct 12 (anything else) +$Cnf{"DateFormat"}="US"; + +# Local timezone +$Cnf{"TZ"}=""; + +# Timezone to work in (""=local, "IGNORE", or a timezone) +$Cnf{"ConvTZ"}=""; + +# Date::Manip internal format (0=YYYYMMDDHH:MN:SS, 1=YYYYHHMMDDHHMNSS) +$Cnf{"Internal"}=0; + +# First day of the week (1=monday, 7=sunday). ISO 8601 says monday. +$Cnf{"FirstDay"}=1; + +# First and last day of the work week (1=monday, 7=sunday) +$Cnf{"WorkWeekBeg"}=1; +$Cnf{"WorkWeekEnd"}=5; + +# If non-nil, a work day is treated as 24 hours long (WorkDayBeg/WorkDayEnd +# ignored) +$Cnf{"WorkDay24Hr"}=0; + +# Start and end time of the work day (any time format allowed, seconds +# ignored) +$Cnf{"WorkDayBeg"}="08:00"; +$Cnf{"WorkDayEnd"}="17:00"; + +# If "today" is a holiday, we look either to "tomorrow" or "yesterday" for +# the nearest business day. By default, we'll always look "tomorrow" +# first. +$Cnf{"TomorrowFirst"}=1; + +# Erase the old holidays +$Cnf{"EraseHolidays"}=""; + +# Set this to non-zero to be produce completely backwards compatible deltas +$Cnf{"DeltaSigns"}=0; + +# If this is 0, use the ISO 8601 standard that Jan 4 is in week 1. If 1, +# make week 1 contain Jan 1. +$Cnf{"Jan1Week1"}=0; + +# 2 digit years fall into the 100 year period given by [ CURR-N, +# CURR+(99-N) ] where N is 0-99. Default behavior is 89, but other useful +# numbers might be 0 (forced to be this year or later) and 99 (forced to be +# this year or earlier). It can also be set to "c" (current century) or +# "cNN" (i.e. c18 forces the year to bet 1800-1899). Also accepts the +# form cNNNN to give the 100 year period NNNN to NNNN+99. +$Cnf{"YYtoYYYY"}=89; + +# Set this to 1 if you want a long-running script to always update the +# timezone. This will slow Date::Manip down. Read the POD documentation. +$Cnf{"UpdateCurrTZ"}=0; + +# Use an international character set. +$Cnf{"IntCharSet"}=0; + +# Use this to force the current date to be set to this: +$Cnf{"ForceDate"}=""; + +# Use this to make "today" mean "today at midnight". +$Cnf{"TodayIsMidnight"}=0; + +########################################################################### + +require 5.000; +require Exporter; +@ISA = qw(Exporter); +@EXPORT = qw( + DateManipVersion + Date_Init + ParseDateString + ParseDate + ParseRecur + Date_Cmp + DateCalc + ParseDateDelta + UnixDate + Delta_Format + Date_GetPrev + Date_GetNext + Date_SetTime + Date_SetDateField + Date_IsHoliday + Events_List + + Date_DaysInMonth + Date_DayOfWeek + Date_SecsSince1970 + Date_SecsSince1970GMT + Date_DaysSince1BC + Date_DayOfYear + Date_DaysInYear + Date_WeekOfYear + Date_LeapYear + Date_DaySuffix + Date_ConvTZ + Date_TimeZone + Date_IsWorkDay + Date_NextWorkDay + Date_PrevWorkDay + Date_NearestWorkDay + Date_NthDayOfYear +); +use strict; +use integer; +use Carp; + +use IO::File; + +our($Abbrevs); +use Date::Manip::DM5abbrevs; + +$VERSION='6.60'; +our $DM5_VERSION = '5.66'; + +######################################################################## +######################################################################## + +$Curr{"InitLang"} = 1; # Whether a language is being init'ed +$Curr{"InitDone"} = 0; # Whether Init_Date has been called +$Curr{"InitFilesRead"} = 0; +$Curr{"ResetWorkDay"} = 1; +$Curr{"Debug"} = ""; +$Curr{"DebugVal"} = ""; + +$Holiday{"year"} = 0; +$Holiday{"dates"} = {}; +$Holiday{"desc"} = {}; + +$Events{"raw"} = []; +$Events{"parsed"} = 0; +$Events{"dates"} = []; +$Events{"recur"} = []; + +######################################################################## +######################################################################## +# THESE ARE THE MAIN ROUTINES +######################################################################## +######################################################################## + +# Get rid of a problem with old versions of perl +no strict "vars"; +# This sorts from longest to shortest element +sub _sortByLength { + return (length $b <=> length $a); +} +use strict "vars"; + +sub DateManipVersion { + print "DEBUG: DateManipVersion\n" if ($Curr{"Debug"} =~ /trace/); + return $DM5_VERSION; +} + +sub Date_Init { + print "DEBUG: Date_Init\n" if ($Curr{"Debug"} =~ /trace/); + $Curr{"Debug"}=""; + + my(@args)=@_; + $Curr{"InitDone"}=1; + local($_)=(); + my($internal,$firstday)=(); + my($var,$val,$file,@tmp)=(); + + # InitFilesRead = 0 : no conf files read yet + # 1 : global read, no personal read + # 2 : personal read + + $Cnf{"EraseHolidays"}=0; + foreach (@args) { + s/\s*$//; + s/^\s*//; + /^(\S+) \s* = \s* (.*)$/x; + ($var,$val)=($1,$2); + if ($var =~ /^GlobalCnf$/i) { + $Cnf{"GlobalCnf"}=$val; + if ($val) { + $Curr{"InitFilesRead"}=0; + EraseHolidays(); + } + } elsif ($var =~ /^PathSep$/i) { + $Cnf{"PathSep"}=$val; + } elsif ($var =~ /^PersonalCnf$/i) { + $Cnf{"PersonalCnf"}=$val; + $Curr{"InitFilesRead"}=1 if ($Curr{"InitFilesRead"}==2); + } elsif ($var =~ /^PersonalCnfPath$/i) { + $Cnf{"PersonalCnfPath"}=$val; + $Curr{"InitFilesRead"}=1 if ($Curr{"InitFilesRead"}==2); + } elsif ($var =~ /^IgnoreGlobalCnf$/i) { + $Curr{"InitFilesRead"}=1 if ($Curr{"InitFilesRead"}==0); + $Cnf{"IgnoreGlobalCnf"}=1; + } elsif ($var =~ /^EraseHolidays$/i) { + EraseHolidays(); + } else { + push(@tmp,$_); + } + } + @args=@tmp; + + # Read global config file + if ($Curr{"InitFilesRead"}<1 && ! $Cnf{"IgnoreGlobalCnf"}) { + $Curr{"InitFilesRead"}=1; + + if ($Cnf{"GlobalCnf"}) { + $file=_ExpandTilde($Cnf{"GlobalCnf"}); + _Date_InitFile($file) if ($file); + } + } + + # Read personal config file + if ($Curr{"InitFilesRead"}<2) { + $Curr{"InitFilesRead"}=2; + + if ($Cnf{"PersonalCnf"} and $Cnf{"PersonalCnfPath"}) { + $file=_SearchPath($Cnf{"PersonalCnf"},$Cnf{"PersonalCnfPath"},"r"); + _Date_InitFile($file) if ($file); + } + } + + foreach (@args) { + s/\s*$//; + s/^\s*//; + /^(\S+) \s* = \s* (.*)$/x; + ($var,$val)=($1,$2); + $val="" if (! defined $val); + _Date_SetConfigVariable($var,$val); + } + + confess "ERROR: Unknown FirstDay in Date::Manip.\n" + if (! _IsInt($Cnf{"FirstDay"},1,7)); + confess "ERROR: Unknown WorkWeekBeg in Date::Manip.\n" + if (! _IsInt($Cnf{"WorkWeekBeg"},1,7)); + confess "ERROR: Unknown WorkWeekEnd in Date::Manip.\n" + if (! _IsInt($Cnf{"WorkWeekEnd"},1,7)); + confess "ERROR: Invalid WorkWeek in Date::Manip.\n" + if ($Cnf{"WorkWeekEnd"} <= $Cnf{"WorkWeekBeg"}); + + my(%lang, + $tmp,%tmp,$tmp2,@tmp2, + $i,$j,@tmp3, + @zones)=(); + + my($L)=$Cnf{"Language"}; + + if ($Curr{"InitLang"}) { + $Curr{"InitLang"}=0; + + if ($L eq "English") { + _Date_Init_English(\%lang); + + } elsif ($L eq "French") { + _Date_Init_French(\%lang); + + } elsif ($L eq "Swedish") { + _Date_Init_Swedish(\%lang); + + } elsif ($L eq "German") { + _Date_Init_German(\%lang); + + } elsif ($L eq "Polish") { + _Date_Init_Polish(\%lang); + + } elsif ($L eq "Dutch" || + $L eq "Nederlands") { + _Date_Init_Dutch(\%lang); + + } elsif ($L eq "Spanish") { + _Date_Init_Spanish(\%lang); + + } elsif ($L eq "Portuguese") { + _Date_Init_Portuguese(\%lang); + + } elsif ($L eq "Romanian") { + _Date_Init_Romanian(\%lang); + + } elsif ($L eq "Italian") { + _Date_Init_Italian(\%lang); + + } elsif ($L eq "Russian") { + _Date_Init_Russian(\%lang); + + } elsif ($L eq "Turkish") { + _Date_Init_Turkish(\%lang); + + } elsif ($L eq "Danish") { + _Date_Init_Danish(\%lang); + + } elsif ($L eq "Catalan") { + _Date_Init_Catalan(\%lang); + + } else { + confess "ERROR: Unknown language in Date::Manip.\n"; + } + + # variables for months + # Month = "(jan|january|feb|february ... )" + # MonL = [ "Jan","Feb",... ] + # MonthL = [ "January","February", ... ] + # MonthH = { "january"=>1, "jan"=>1, ... } + + $Lang{$L}{"MonthH"}={}; + $Lang{$L}{"MonthL"}=[]; + $Lang{$L}{"MonL"}=[]; + _Date_InitLists([$lang{"month_name"}, + $lang{"month_abb"}], + \$Lang{$L}{"Month"},"lc,sort,back", + [$Lang{$L}{"MonthL"}, + $Lang{$L}{"MonL"}], + [$Lang{$L}{"MonthH"},1]); + + # variables for day of week + # Week = "(mon|monday|tue|tuesday ... )" + # WL = [ "M","T",... ] + # WkL = [ "Mon","Tue",... ] + # WeekL = [ "Monday","Tudesday",... ] + # WeekH = { "monday"=>1,"mon"=>1,"m"=>1,... } + + $Lang{$L}{"WeekH"}={}; + $Lang{$L}{"WeekL"}=[]; + $Lang{$L}{"WkL"}=[]; + $Lang{$L}{"WL"}=[]; + _Date_InitLists([$lang{"day_name"}, + $lang{"day_abb"}], + \$Lang{$L}{"Week"},"lc,sort,back", + [$Lang{$L}{"WeekL"}, + $Lang{$L}{"WkL"}], + [$Lang{$L}{"WeekH"},1]); + _Date_InitLists([$lang{"day_char"}], + "","lc", + [$Lang{$L}{"WL"}], + [\%tmp,1]); + %{ $Lang{$L}{"WeekH"} } = + (%{ $Lang{$L}{"WeekH"} },%tmp); + + # variables for last + # Last = "(last)" + # LastL = [ "last" ] + # Each = "(each)" + # EachL = [ "each" ] + # variables for day of month + # DoM = "(1st|first ... 31st)" + # DoML = [ "1st","2nd",... "31st" ] + # DoMH = { "1st"=>1,"first"=>1, ... "31st"=>31 } + # variables for week of month + # WoM = "(1st|first| ... 5th|last)" + # WoMH = { "1st"=>1, ... "5th"=>5,"last"=>-1 } + + $Lang{$L}{"LastL"}=$lang{"last"}; + _Date_InitStrings($lang{"last"}, + \$Lang{$L}{"Last"},"lc,sort"); + + $Lang{$L}{"EachL"}=$lang{"each"}; + _Date_InitStrings($lang{"each"}, + \$Lang{$L}{"Each"},"lc,sort"); + + $Lang{$L}{"DoMH"}={}; + $Lang{$L}{"DoML"}=[]; + _Date_InitLists([$lang{"num_suff"}, + $lang{"num_word"}], + \$Lang{$L}{"DoM"},"lc,sort,back,escape", + [$Lang{$L}{"DoML"}, + \@tmp], + [$Lang{$L}{"DoMH"},1]); + + @tmp=(); + foreach $tmp (keys %{ $Lang{$L}{"DoMH"} }) { + $tmp2=$Lang{$L}{"DoMH"}{$tmp}; + if ($tmp2<6) { + $Lang{$L}{"WoMH"}{$tmp} = $tmp2; + push(@tmp,$tmp); + } + } + foreach $tmp (@{ $Lang{$L}{"LastL"} }) { + $Lang{$L}{"WoMH"}{$tmp} = -1; + push(@tmp,$tmp); + } + _Date_InitStrings(\@tmp,\$Lang{$L}{"WoM"}, + "lc,sort,back,escape"); + + # variables for AM or PM + # AM = "(am)" + # PM = "(pm)" + # AmPm = "(am|pm)" + # AMstr = "AM" + # PMstr = "PM" + + _Date_InitStrings($lang{"am"},\$Lang{$L}{"AM"},"lc,sort,escape"); + _Date_InitStrings($lang{"pm"},\$Lang{$L}{"PM"},"lc,sort,escape"); + _Date_InitStrings([ @{$lang{"am"}},@{$lang{"pm"}} ],\$Lang{$L}{"AmPm"}, + "lc,back,sort,escape"); + $Lang{$L}{"AMstr"}=$lang{"am"}[0]; + $Lang{$L}{"PMstr"}=$lang{"pm"}[0]; + + # variables for expressions used in parsing deltas + # Yabb = "(?:y|yr|year|years)" + # Mabb = similar for months + # Wabb = similar for weeks + # Dabb = similar for days + # Habb = similar for hours + # MNabb = similar for minutes + # Sabb = similar for seconds + # Repl = { "abb"=>"replacement" } + # Whenever an abbreviation could potentially refer to two different + # strings (M standing for Minutes or Months), the abbreviation must + # be listed in Repl instead of in the appropriate Xabb values. This + # only applies to abbreviations which are substrings of other values + # (so there is no confusion between Mn and Month). + + _Date_InitStrings($lang{"years"} ,\$Lang{$L}{"Yabb"}, "lc,sort"); + _Date_InitStrings($lang{"months"} ,\$Lang{$L}{"Mabb"}, "lc,sort"); + _Date_InitStrings($lang{"weeks"} ,\$Lang{$L}{"Wabb"}, "lc,sort"); + _Date_InitStrings($lang{"days"} ,\$Lang{$L}{"Dabb"}, "lc,sort"); + _Date_InitStrings($lang{"hours"} ,\$Lang{$L}{"Habb"}, "lc,sort"); + _Date_InitStrings($lang{"minutes"},\$Lang{$L}{"MNabb"},"lc,sort"); + _Date_InitStrings($lang{"seconds"},\$Lang{$L}{"Sabb"}, "lc,sort"); + $Lang{$L}{"Repl"}={}; + _Date_InitHash($lang{"replace"},undef,"lc",$Lang{$L}{"Repl"}); + + # variables for special dates that are offsets from now + # Now = "now" + # Today = "today" + # Offset = "(yesterday|tomorrow)" + # OffsetH = { "yesterday"=>"-0:0:0:1:0:0:0",... ] + # Times = "(noon|midnight)" + # TimesH = { "noon"=>"12:00:00","midnight"=>"00:00:00" } + # SepHM = hour/minute separator + # SepMS = minute/second separator + # SepSS = second/fraction separator + + $Lang{$L}{"TimesH"}={}; + _Date_InitHash($lang{"times"}, + \$Lang{$L}{"Times"},"lc,sort,back", + $Lang{$L}{"TimesH"}); + _Date_InitStrings($lang{"now"},\$Lang{$L}{"Now"},"lc,sort"); + _Date_InitStrings($lang{"today"},\$Lang{$L}{"Today"},"lc,sort"); + $Lang{$L}{"OffsetH"}={}; + _Date_InitHash($lang{"offset"}, + \$Lang{$L}{"Offset"},"lc,sort,back", + $Lang{$L}{"OffsetH"}); + $Lang{$L}{"SepHM"}=$lang{"sephm"}; + $Lang{$L}{"SepMS"}=$lang{"sepms"}; + $Lang{$L}{"SepSS"}=$lang{"sepss"}; + + # variables for time zones + # zones = regular expression with all zone names (EST) + # n2o = a hash of all parsable zone names with their offsets + # tzones = reguar expression with all tzdata timezones (US/Eastern) + # tz2z = hash of all tzdata timezones to full timezone (EST#EDT) + + $Zone{"n2o"} = {}; + ($Zone{"zones"},%{ $Zone{"n2o"} })= + _Date_Regexp($Abbrevs,"sort,lc,under,back", + "keys"); + + $tmp= + "US/Pacific PST8PDT ". + "US/Mountain MST7MDT ". + "US/Central CST6CDT ". + "US/Eastern EST5EDT ". + "Canada/Pacific PST8PDT ". + "Canada/Mountain MST7MDT ". + "Canada/Central CST6CDT ". + "Canada/Eastern EST5EDT"; + + $Zone{"tz2z"} = {}; + ($Zone{"tzones"},%{ $Zone{"tz2z"} })= + _Date_Regexp($tmp,"lc,under,back","keys"); + $Cnf{"TZ"}=Date_TimeZone(); + + # misc. variables + # At = "(?:at)" + # Of = "(?:in|of)" + # On = "(?:on)" + # Future = "(?:in)" + # Later = "(?:later)" + # Past = "(?:ago)" + # Next = "(?:next)" + # Prev = "(?:last|previous)" + + _Date_InitStrings($lang{"at"}, \$Lang{$L}{"At"}, "lc,sort"); + _Date_InitStrings($lang{"on"}, \$Lang{$L}{"On"}, "lc,sort"); + _Date_InitStrings($lang{"future"},\$Lang{$L}{"Future"}, "lc,sort"); + _Date_InitStrings($lang{"later"}, \$Lang{$L}{"Later"}, "lc,sort"); + _Date_InitStrings($lang{"past"}, \$Lang{$L}{"Past"}, "lc,sort"); + _Date_InitStrings($lang{"next"}, \$Lang{$L}{"Next"}, "lc,sort"); + _Date_InitStrings($lang{"prev"}, \$Lang{$L}{"Prev"}, "lc,sort"); + _Date_InitStrings($lang{"of"}, \$Lang{$L}{"Of"}, "lc,sort"); + + # calc mode variables + # Approx = "(?:approximately)" + # Exact = "(?:exactly)" + # Business = "(?:business)" + + _Date_InitStrings($lang{"exact"}, \$Lang{$L}{"Exact"}, "lc,sort"); + _Date_InitStrings($lang{"approx"}, \$Lang{$L}{"Approx"}, "lc,sort"); + _Date_InitStrings($lang{"business"},\$Lang{$L}{"Business"},"lc,sort"); + + ############### END OF LANGUAGE INITIALIZATION + } + + if ($Curr{"ResetWorkDay"}) { + my($h1,$m1,$h2,$m2)=(); + if ($Cnf{"WorkDay24Hr"}) { + ($Curr{"WDBh"},$Curr{"WDBm"})=(0,0); + ($Curr{"WDEh"},$Curr{"WDEm"})=(24,0); + $Curr{"WDlen"}=24*60; + $Cnf{"WorkDayBeg"}="00:00"; + $Cnf{"WorkDayEnd"}="23:59"; + + } else { + confess "ERROR: Invalid WorkDayBeg in Date::Manip.\n" + if (! (($h1,$m1)=_CheckTime($Cnf{"WorkDayBeg"}))); + $Cnf{"WorkDayBeg"}="$h1:$m1"; + confess "ERROR: Invalid WorkDayEnd in Date::Manip.\n" + if (! (($h2,$m2)=_CheckTime($Cnf{"WorkDayEnd"}))); + $Cnf{"WorkDayEnd"}="$h2:$m2"; + + ($Curr{"WDBh"},$Curr{"WDBm"})=($h1,$m1); + ($Curr{"WDEh"},$Curr{"WDEm"})=($h2,$m2); + + # Work day length = h1:m1 or 0:len (len minutes) + $h1=$h2-$h1; + $m1=$m2-$m1; + if ($m1<0) { + $h1--; + $m1+=60; + } + $Curr{"WDlen"}=$h1*60+$m1; + } + $Curr{"ResetWorkDay"}=0; + } + + # current time + my($s,$mn,$h,$d,$m,$y,$wday,$yday,$isdst,$ampm,$wk)=(); + if ($Cnf{"ForceDate"}=~ + /^(\d{4})-(\d{2})-(\d{2})-(\d{2}):(\d{2}):(\d{2})$/) { + ($y,$m,$d,$h,$mn,$s)=($1,$2,$3,$4,$5,$6); + } else { + ($s,$mn,$h,$d,$m,$y,$wday,$yday,$isdst)=localtime(time); + $y+=1900; + $m++; + } + _Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk); + $Curr{"Y"}=$y; + $Curr{"M"}=$m; + $Curr{"D"}=$d; + $Curr{"H"}=$h; + $Curr{"Mn"}=$mn; + $Curr{"S"}=$s; + $Curr{"AmPm"}=$ampm; + $Curr{"Now"}=_Date_Join($y,$m,$d,$h,$mn,$s); + if ($Cnf{"TodayIsMidnight"}) { + $Curr{"Today"}=_Date_Join($y,$m,$d,0,0,0); + } else { + $Curr{"Today"}=$Curr{"Now"}; + } + + $Curr{"Debug"}=$Curr{"DebugVal"}; + + # If we're in array context, let's return a list of config variables + # that could be passed to Date_Init to get the same state as we're + # currently in. + if (wantarray) { + # Some special variables that have to be in a specific order + my(@special)=qw(IgnoreGlobalCnf GlobalCnf PersonalCnf PersonalCnfPath); + my(%tmp)=map { $_,1 } @special; + my(@tmp,$key,$val); + foreach $key (@special) { + $val=$Cnf{$key}; + push(@tmp,"$key=$val"); + } + foreach $key (keys %Cnf) { + next if (exists $tmp{$key}); + $val=$Cnf{$key}; + push(@tmp,"$key=$val"); + } + return @tmp; + } + return (); +} + +sub ParseDateString { + print "DEBUG: ParseDateString\n" if ($Curr{"Debug"} =~ /trace/); + local($_)=@_; + return "" if (! $_); + + my($y,$m,$d,$h,$mn,$s,$i,$wofm,$dofw,$wk,$tmp,$z,$num,$err,$iso,$ampm)=(); + my($date,$z2,$delta,$from,$falsefrom,$to,$which,$midnight)=(); + + # We only need to reinitialize if we have to determine what NOW is. + Date_Init() if (! $Curr{"InitDone"} or $Cnf{"UpdateCurrTZ"}); + + my($L)=$Cnf{"Language"}; + my($type)=$Cnf{"DateFormat"}; + + # Mode is set in DateCalc. ParseDate only overrides it if the string + # contains a mode. + if ($Lang{$L}{"Exact"} && + s/$Lang{$L}{"Exact"}//) { + $Curr{"Mode"}=0; + } elsif ($Lang{$L}{"Approx"} && + s/$Lang{$L}{"Approx"}//) { + $Curr{"Mode"}=1; + } elsif ($Lang{$L}{"Business"} && + s/$Lang{$L}{"Business"}//) { + $Curr{"Mode"}=2; + } elsif (! exists $Curr{"Mode"}) { + $Curr{"Mode"}=0; + } + + # Unfortunately, some deltas can be parsed as dates. An example is + # 1 second == 1 2nd == 1 2 + # But, some dates can be parsed as deltas. The most important being: + # 1998010101:00:00 + # + # We'll check to see if a "date" can be parsed as a delta. If so, we'll + # assume that it is a delta (since they are much simpler, it is much + # less likely that we'll mistake a delta for a date than vice versa) + # unless it is an ISO-8601 date. + # + # This is important because we are using DateCalc to test whether a + # string is a date or a delta. Dates are tested first, so we need to + # be able to pass a delta into this routine and have it correctly NOT + # interpreted as a date. + # + # We will insist that the string contain something other than digits and + # colons so that the following will get correctly interpreted as a date + # rather than a delta: + # 12:30 + # 19980101 + + $delta=""; + $delta=ParseDateDelta($_) if (/[^:0-9]/); + + # Put parse in a simple loop for an easy exit. + PARSE: { + my(@tmp)=_Date_Split($_); + if (@tmp) { + ($y,$m,$d,$h,$mn,$s)=@tmp; + last PARSE; + } + + # Fundamental regular expressions + + my($month)=$Lang{$L}{"Month"}; # (jan|january|...) + my(%month)=%{ $Lang{$L}{"MonthH"} }; # { jan=>1, ... } + my($week)=$Lang{$L}{"Week"}; # (mon|monday|...) + my(%week)=%{ $Lang{$L}{"WeekH"} }; # { mon=>1, monday=>1, ... } + my($wom)=$Lang{$L}{"WoM"}; # (1st|...|fifth|last) + my(%wom)=%{ $Lang{$L}{"WoMH"} }; # { 1st=>1,... fifth=>5,last=>-1 } + my($dom)=$Lang{$L}{"DoM"}; # (1st|first|...31st) + my(%dom)=%{ $Lang{$L}{"DoMH"} }; # { 1st=>1, first=>1, ... } + my($ampmexp)=$Lang{$L}{"AmPm"}; # (am|pm) + my($timeexp)=$Lang{$L}{"Times"}; # (noon|midnight) + my($now)=$Lang{$L}{"Now"}; # now + my($today)=$Lang{$L}{"Today"}; # today + my($offset)=$Lang{$L}{"Offset"}; # (yesterday|tomorrow) + my($zone)=$Zone{"zones"}; # (edt|est|...) + my($day)='\s*'.$Lang{$L}{"Dabb"}; # \s*(?:d|day|days) + my($mabb)='\s*'.$Lang{$L}{"Mabb"}; # \s*(?:mon|month|months) + my($wkabb)='\s*'.$Lang{$L}{"Wabb"}; # \s*(?:w|wk|week|weeks) + my($next)='\s*'.$Lang{$L}{"Next"}; # \s*(?:next) + my($prev)='\s*'.$Lang{$L}{"Prev"}; # \s*(?:last|previous) + my($past)='\s*'.$Lang{$L}{"Past"}; # \s*(?:ago) + my($future)='\s*'.$Lang{$L}{"Future"}; # \s*(?:in) + my($later)='\s*'.$Lang{$L}{"Later"}; # \s*(?:later) + my($at)=$Lang{$L}{"At"}; # (?:at) + my($of)='\s*'.$Lang{$L}{"Of"}; # \s*(?:in|of) + my($on)='(?:\s*'.$Lang{$L}{"On"}.'\s*|\s+)'; + # \s*(?:on)\s* or \s+ + my($last)='\s*'.$Lang{$L}{"Last"}; # \s*(?:last) + my($hm)=$Lang{$L}{"SepHM"}; # : + my($ms)=$Lang{$L}{"SepMS"}; # : + my($ss)=$Lang{$L}{"SepSS"}; # . + + # Other regular expressions + + my($D4)='(\d{4})'; # 4 digits (yr) + my($YY)='(\d{4}|\d{2})'; # 2 or 4 digits (yr) + my($DD)='(\d{2})'; # 2 digits (mon/day/hr/min/sec) + my($D) ='(\d{1,2})'; # 1 or 2 digit (mon/day/hr) + my($FS)="(?:$ss\\d+)?"; # fractional secs + my($sep)='[\/.-]'; # non-ISO8601 m/d/yy separators + # absolute time zone +0700 (GMT) + my($hzone)='(?:[0-1][0-9]|2[0-3])'; # 00 - 23 + my($mzone)='(?:[0-5][0-9])'; # 00 - 59 + my($zone2)='(?:\s*([+-](?:'."$hzone$mzone|$hzone:$mzone|$hzone))". + # +0700 +07:00 -07 + '(?:\s*\([^)]+\))?)'; # (GMT) + + # A regular expression for the time EXCEPT for the hour part + my($mnsec)="$hm$DD(?:$ms$DD$FS)?(?:\\s*$ampmexp)?"; + + # A special regular expression for /YYYY:HH:MN:SS used by Apache + my($apachetime)='(/\d{4}):' . "$DD$hm$DD$ms$DD"; + + my($time)=""; + $ampm=""; + $date=""; + + # Substitute all special time expressions. + if (/(^|[^a-z])$timeexp($|[^a-z])/i) { + $tmp=$2; + $tmp=$Lang{$L}{"TimesH"}{lc($tmp)}; + s/(^|[^a-z])$timeexp($|[^a-z])/$1 $tmp $3/i; + } + + # Remove some punctuation + s/[,]/ /g; + + # When we have a digit followed immediately by a timezone (7EST), we + # will put a space between the digit, EXCEPT in the case of a single + # character military timezone. If the single character is followed + # by anything, no space is added. + $tmp = ""; + while ( s/^(.*?\d)$zone(\s|$|[0-9])/$3/i ) { + my($bef,$z,$aft) = ($1,$2,$3); + if (length($z) != 1 || length($aft) == 0) { + $tmp .= "$bef $z"; + } else { + $tmp .= "$bef$z"; + } + } + $_ = "$tmp$_"; + $zone = '\s+' . $zone . '(?:\s+|$)'; + + # Remove the time + $iso=1; + $midnight=0; + $from="24${hm}00(?:${ms}00)?"; + $falsefrom="${hm}24${ms}00"; # Don't trap XX:24:00 + $to="00${hm}00${ms}00"; + $midnight=1 if (!/$falsefrom/ && s/$from/$to/); + + $h=$mn=$s=0; + if (/$D$mnsec/i || /$ampmexp/i) { + $iso=0; + $tmp=0; + $tmp=1 if (/$mnsec$zone2?\s*$/i or /$mnsec$zone\s*$/i); + $tmp=0 if (/$ampmexp/i); + if (s/$apachetime$zone()/$1 /i || + s/$apachetime$zone2?/$1 /i || + s/(^|[^a-z])$at\s*$D$mnsec$zone()/$1 /i || + s/(^|[^a-z])$at\s*$D$mnsec$zone2?/$1 /i || + s/(^|[^0-9])(\d)$mnsec$zone()/$1 /i || + s/(^|[^0-9])(\d)$mnsec$zone2?/$1 /i || + (s/(t)$D$mnsec$zone()/$1 /i and (($iso=$tmp) || 1)) || + (s/(t)$D$mnsec$zone2?/$1 /i and (($iso=$tmp) || 1)) || + (s/()$DD$mnsec$zone()/ /i and (($iso=$tmp) || 1)) || + (s/()$DD$mnsec$zone2?/ /i and (($iso=$tmp) || 1)) || + s/(^|$at\s*|\s+)$D()()\s*$ampmexp$zone()/ /i || + s/(^|$at\s*|\s+)$D()()\s*$ampmexp$zone2?/ /i || + 0 + ) { + ($h,$mn,$s,$ampm,$z,$z2)=($2,$3,$4,$5,$6,$7); + if (defined ($z)) { + if ($z =~ /^[+-]\d{2}:\d{2}$/) { + $z=~ s/://; + } elsif ($z =~ /^[+-]\d{2}$/) { + $z .= "00"; + } + } + $time=1; + _Date_TimeCheck(\$h,\$mn,\$s,\$ampm); + $y=$m=$d=""; + # We're going to be calling TimeCheck again below (when we check the + # final date), so get rid of $ampm so that we don't have an error + # due to "15:30:00 PM". It'll get reset below. + $ampm=""; + if (/^\s*$/) { + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + last PARSE; + } + } + } + $time=0 if ($time ne "1"); + s/\s+$//; + s/^\s+//; + + # if a zone was found, get rid of the regexps + if ($z) { + $zone=""; + $zone2=""; + } + + # dateTtime ISO 8601 formats + my($orig)=$_; + + # Parse ISO 8601 dates now (which may still have a zone stuck to it). + if ( ($iso && /^([0-9-]+(?:W[0-9-]+)?)$zone?$/i) || + ($iso && /^([0-9-]+(?:W[0-9-]+)?)$zone2?$/i) || + ($iso && /^([0-9-]+(?:T[0-9-]+)?)$zone?$/i) || + ($iso && /^([0-9-]+(?:T[0-9-]+)?)$zone2?$/i) || + ($iso && /^([0-9-]+)T$zone?$/i) || + ($iso && /^([0-9-]+)T$zone2?$/i) || + 0) { + + # If we already got a timezone, don't get another one. + my(@z); + if ($z) { + @z=($z,$z2); + $z=""; + } + ($_,$z,$z2) = ($1,$2,$3); + ($z,$z2)=@z if (@z); + + s,([0-9])\s*-,$1 ,g; # Change all ISO8601 seps to spaces + s/^\s+//; + s/\s+$//; + + if (/^$D4\s*$DD\s*$DD\s*t?$DD(?:$DD(?:$DD(\d*))?)?$/i || + /^$DD\s+$DD\s*$DD\s*t?$DD(?:$DD(?:$DD(\d*))?)?$/i || + 0 + ) { + # ISO 8601 Dates with times + # YYYYMMDDtHHMNSSFFFF... + # YYYYMMDDtHHMNSS + # YYYYMMDDtHHMN + # YYYYMMDDtHH + # YY MMDDtHHMNSSFFFF... + # YY MMDDtHHMNSS + # YY MMDDtHHMN + # YY MMDDtHH + # The t is an optional letter "t". + ($y,$m,$d,$h,$mn,$s,$tmp)=($1,$2,$3,$4,$5,$6,$7); + if ($h==24 && (! defined $mn || $mn==0) && (! defined $s || $s==0)) { + $h=0; + $midnight=1; + } + $z = "" if (! defined $h); + return "" if ($time && defined $h); + last PARSE; + + } elsif (/^$D4(?:\s*$DD(?:\s*$DD)?)?$/ || + /^$DD(?:\s+$DD(?:\s*$DD)?)?$/) { + # ISO 8601 Dates + # YYYYMMDD + # YYYYMM + # YYYY + # YY MMDD + # YY MM + # YY + ($y,$m,$d)=($1,$2,$3); + last PARSE; + + } elsif (/^$YY\s+$D\s+$D/) { + # YY-M-D + ($y,$m,$d)=($1,$2,$3); + last PARSE; + + } elsif (/^$YY\s*W$DD\s*(\d)?$/i) { + # YY-W##-D + ($y,$wofm,$dofw)=($1,$2,$3); + ($y,$m,$d)=_Date_NthWeekOfYear($y,$wofm,$dofw); + last PARSE; + + } elsif (/^$D4\s*(\d{3})$/ || + /^$DD\s*(\d{3})$/) { + # YYDOY + ($y,$which)=($1,$2); + ($y,$m,$d)=Date_NthDayOfYear($y,$which); + last PARSE; + + } elsif ($iso<0) { + # We confused something like 1999/August12:00:00 + # with a dateTtime format + $_=$orig; + + } else { + return ""; + } + } + + # All deltas that are not ISO-8601 dates are NOT dates. + return "" if ($Curr{"InCalc"} && $delta); + if ($delta) { + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + return _DateCalc_DateDelta($Curr{"Now"},$delta); + } + + # Check for some special types of dates (next, prev) + foreach $from (keys %{ $Lang{$L}{"Repl"} }) { + $to=$Lang{$L}{"Repl"}{$from}; + s/(^|[^a-z])$from($|[^a-z])/$1$to$2/i; + } + if (/$wom/i || /$future/i || /$later/i || /$past/i || + /$next/i || /$prev/i || /^$week$/i || /$wkabb/i) { + $tmp=0; + + if (/^$wom\s*$week$of\s*$month\s*$YY?$/i) { + # last friday in October 95 + ($wofm,$dofw,$m,$y)=($1,$2,$3,$4); + # fix $m, $y + return "" if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + $dofw=$week{lc($dofw)}; + $wofm=$wom{lc($wofm)}; + # Get the first day of the month + $date=_Date_Join($y,$m,1,$h,$mn,$s); + if ($wofm==-1) { + $date=_DateCalc_DateDelta($date,"+0:1:0:0:0:0:0",\$err,0); + $date=Date_GetPrev($date,$dofw,0); + } else { + for ($i=0; $i<$wofm; $i++) { + if ($i==0) { + $date=Date_GetNext($date,$dofw,1); + } else { + $date=Date_GetNext($date,$dofw,0); + } + } + } + last PARSE; + + } elsif (/^$last$day$of\s*$month(?:$of?\s*$YY)?/i) { + # last day in month + ($m,$y)=($1,$2); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $y=_Date_FixYear($y) if (! defined $y or length($y)<4); + $m=$month{lc($m)}; + $d=Date_DaysInMonth($m,$y); + last PARSE; + + } elsif (/^$week$/i) { + # friday + ($dofw)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=Date_GetPrev($Curr{"Now"},$Cnf{"FirstDay"},1); + $date=Date_GetNext($date,$dofw,1,$h,$mn,$s); + last PARSE; + + } elsif (/^$next\s*$week$/i) { + # next friday + ($dofw)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=Date_GetNext($Curr{"Now"},$dofw,0,$h,$mn,$s); + last PARSE; + + } elsif (/^$prev\s*$week$/i) { + # last friday + ($dofw)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=Date_GetPrev($Curr{"Now"},$dofw,0,$h,$mn,$s); + last PARSE; + + } elsif (/^$next$wkabb$/i) { + # next week + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"+0:0:1:0:0:0:0",\$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + } elsif (/^$prev$wkabb$/i) { + # last week + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"-0:0:1:0:0:0:0",\$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + + } elsif (/^$next$mabb$/i) { + # next month + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"+0:1:0:0:0:0:0",\$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + } elsif (/^$prev$mabb$/i) { + # last month + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"-0:1:0:0:0:0:0",\$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + + } elsif (/^$future\s*(\d+)$day$/i || + /^(\d+)$day$later$/i) { + # in 2 days + # 2 days later + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"+0:0:0:$num:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + } elsif (/^(\d+)$day$past$/i) { + # 2 days ago + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"-0:0:0:$num:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + + } elsif (/^$future\s*(\d+)$wkabb$/i || + /^(\d+)$wkabb$later$/i) { + # in 2 weeks + # 2 weeks later + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"+0:0:$num:0:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + } elsif (/^(\d+)$wkabb$past$/i) { + # 2 weeks ago + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"-0:0:$num:0:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + + } elsif (/^$future\s*(\d+)$mabb$/i || + /^(\d+)$mabb$later$/i) { + # in 2 months + # 2 months later + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"+0:$num:0:0:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + } elsif (/^(\d+)$mabb$past$/i) { + # 2 months ago + ($num)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"},"-0:$num:0:0:0:0:0", + \$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if (defined $h); + last PARSE; + + } elsif (/^$week$future\s*(\d+)$wkabb$/i || + /^$week\s*(\d+)$wkabb$later$/i) { + # friday in 2 weeks + # friday 2 weeks later + ($dofw,$num)=($1,$2); + $tmp="+"; + } elsif (/^$week\s*(\d+)$wkabb$past$/i) { + # friday 2 weeks ago + ($dofw,$num)=($1,$2); + $tmp="-"; + } elsif (/^$future\s*(\d+)$wkabb$on$week$/i || + /^(\d+)$wkabb$later$on$week$/i) { + # in 2 weeks on friday + # 2 weeks later on friday + ($num,$dofw)=($1,$2); + $tmp="+" + } elsif (/^(\d+)$wkabb$past$on$week$/i) { + # 2 weeks ago on friday + ($num,$dofw)=($1,$2); + $tmp="-"; + } elsif (/^$week\s*$wkabb$/i) { + # monday week (British date: in 1 week on monday) + $dofw=$1; + $num=1; + $tmp="+"; + } elsif ( (/^$now\s*$wkabb$/i && ($tmp="Now")) || + (/^$today\s*$wkabb$/i && ($tmp="Today")) ) { + # now week (British date: 1 week from now) + # today week (British date: 1 week from today) + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{$tmp},"+0:0:1:0:0:0:0",\$err,0); + $date=Date_SetTime($date,$h,$mn,$s) if ($time); + last PARSE; + } elsif (/^$offset\s*$wkabb$/i) { + # tomorrow week (British date: 1 week from tomorrow) + ($offset)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $offset=$Lang{$L}{"OffsetH"}{lc($offset)}; + $date=_DateCalc_DateDelta($Curr{"Now"},$offset,\$err,0); + $date=_DateCalc_DateDelta($date,"+0:0:1:0:0:0:0",\$err,0); + if ($time) { + return "" + if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + $date=Date_SetTime($date,$h,$mn,$s); + } + last PARSE; + } + + if ($tmp) { + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=_DateCalc_DateDelta($Curr{"Now"}, + $tmp . "0:0:$num:0:0:0:0",\$err,0); + $date=Date_GetPrev($date,$Cnf{"FirstDay"},1); + $date=Date_GetNext($date,$dofw,1,$h,$mn,$s); + last PARSE; + } + } + + # Change (2nd, second) to 2 + $tmp=0; + if (/(^|[^a-z0-9])$dom($|[^a-z0-9])/i) { + if (/^\s*$dom\s*$/) { + ($d)=($1); + $d=$dom{lc($d)}; + $m=$Curr{"M"}; + last PARSE; + } + my $from = $2; + my $to = $dom{ lc($from) }; + s/(^|[^a-z])$from($|[^a-z])/$1 $to $2/i; + s/^\s+//; + s/\s+$//; + } + + # Another set of special dates (Nth week) + if (/^$D\s*$week(?:$of?\s*$YY)?$/i) { + # 22nd sunday in 1996 + ($which,$dofw,$y)=($1,$2,$3); + $y=$Curr{"Y"} if (! $y); + $y--; # previous year + $tmp=Date_GetNext("$y-12-31",$dofw,0); + if ($which>1) { + $tmp=_DateCalc_DateDelta($tmp,"+0:0:".($which-1).":0:0:0:0",\$err,0); + } + ($y,$m,$d)=(_Date_Split($tmp, 1))[0..2]; + last PARSE; + } elsif (/^$week$wkabb\s*$D(?:$of?\s*$YY)?$/i || + /^$week\s*$D$wkabb(?:$of?\s*$YY)?$/i) { + # sunday week 22 in 1996 + # sunday 22nd week in 1996 + ($dofw,$which,$y)=($1,$2,$3); + ($y,$m,$d)=_Date_NthWeekOfYear($y,$which,$dofw); + last PARSE; + } + + # Get rid of day of week + if (/(^|[^a-z])$week($|[^a-z])/i) { + $wk=$2; + (s/(^|[^a-z])$week,/$1 /i) || + s/(^|[^a-z])$week($|[^a-z])/$1 $3/i; + s/^\s+//; + s/\s+$//; + } + + { + # So that we can handle negative epoch times, let's convert + # things like "epoch -" to "epochNEGATIVE " before we strip out + # the $sep chars, which include '-'. + s,epoch\s*-,epochNEGATIVE ,g; + + # Non-ISO8601 dates + s,\s*$sep\s*, ,g; # change all non-ISO8601 seps to spaces + s,^\s*,,; # remove leading/trailing space + s,\s*$,,; + + if (/^$D\s+$D(?:\s+$YY)?$/) { + # MM DD YY (DD MM YY non-US) + ($m,$d,$y)=($1,$2,$3); + ($m,$d)=($d,$m) if ($type ne "US"); + last PARSE; + + } elsif (/^$D4\s*$D\s*$D$/) { + # YYYY MM DD + ($y,$m,$d)=($1,$2,$3); + last PARSE; + + } elsif (s/(^|[^a-z])$month($|[^a-z])/$1 $3/i) { + ($m)=($2); + + if (/^\s*$D(?:\s+$YY)?\s*$/) { + # mmm DD YY + # DD mmm YY + # DD YY mmm + ($d,$y)=($1,$2); + last PARSE; + + } elsif (/^\s*$D$D4\s*$/) { + # mmm DD YYYY + # DD mmm YYYY + # DD YYYY mmm + ($d,$y)=($1,$2); + last PARSE; + + } elsif (/^\s*$D4\s*$D\s*$/) { + # mmm YYYY DD + # YYYY mmm DD + # YYYY DD mmm + ($y,$d)=($1,$2); + last PARSE; + + } elsif (/^\s*$D4\s*$/) { + # mmm YYYY + # YYYY mmm + ($y,$d)=($1,1); + last PARSE; + + } else { + return ""; + } + + } elsif (/^epochNEGATIVE (\d+)$/) { + $s=$1; + $date=DateCalc("1970-01-01 00:00 GMT","-0:0:$s"); + } elsif (/^epoch\s*(\d+)$/i) { + $s=$1; + $date=DateCalc("1970-01-01 00:00 GMT","+0:0:$s"); + + } elsif ( (/^$now$/i && ($tmp="Now")) || + (/^$today$/i && ($tmp="Today")) ) { + # now, today + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $date=$Curr{$tmp}; + if ($time) { + return "" + if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + $date=Date_SetTime($date,$h,$mn,$s); + } + last PARSE; + + } elsif (/^$offset$/i) { + # yesterday, tomorrow + ($offset)=($1); + Date_Init() if (! $Cnf{"UpdateCurrTZ"}); + $offset=$Lang{$L}{"OffsetH"}{lc($offset)}; + $date=_DateCalc_DateDelta($Curr{"Now"},$offset,\$err,0); + if ($time) { + return "" + if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + $date=Date_SetTime($date,$h,$mn,$s); + } + last PARSE; + + } else { + return ""; + } + } + } + + if (! $date) { + return "" if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + $date=_Date_Join($y,$m,$d,$h,$mn,$s); + } + $date=Date_ConvTZ($date,$z); + if ($midnight) { + $date=_DateCalc_DateDelta($date,"+0:0:0:1:0:0:0"); + } + return $date; +} + +sub ParseDate { + print "DEBUG: ParseDate\n" if ($Curr{"Debug"} =~ /trace/); + Date_Init() if (! $Curr{"InitDone"}); + my($args,@args,@a,$ref,$date)=(); + @a=@_; + + # @a : is the list of args to ParseDate. Currently, only one argument + # is allowed and it must be a scalar (or a reference to a scalar) + # or a reference to an array. + + if ($#a!=0) { + print "ERROR: Invalid number of arguments to ParseDate.\n"; + return ""; + } + $args=$a[0]; + $ref=ref $args; + if (! $ref) { + return $args if (_Date_Split($args)); + @args=($args); + } elsif ($ref eq "ARRAY") { + @args=@$args; + } elsif ($ref eq "SCALAR") { + return $$args if (_Date_Split($$args)); + @args=($$args); + } else { + print "ERROR: Invalid arguments to ParseDate.\n"; + return ""; + } + @a=@args; + + # @args : a list containing all the arguments (dereferenced if appropriate) + # @a : a list containing all the arguments currently being examined + # $ref : nil, "SCALAR", or "ARRAY" depending on whether a scalar, a + # reference to a scalar, or a reference to an array was passed in + # $args : the scalar or refererence passed in + + PARSE: while($#a>=0) { + $date=join(" ",@a); + $date=ParseDateString($date); + last if ($date); + pop(@a); + } # PARSE + + splice(@args,0,$#a + 1); + @$args= @args if (defined $ref and $ref eq "ARRAY"); + $date; +} + +sub Date_Cmp { + my($D1,$D2)=@_; + my($date1)=ParseDateString($D1); + my($date2)=ParseDateString($D2); + return $date1 cmp $date2; +} + +# **NOTE** +# The calc routines all call parse routines, so it is never necessary to +# call Date_Init in the calc routines. +sub DateCalc { + print "DEBUG: DateCalc\n" if ($Curr{"Debug"} =~ /trace/); + my($D1,$D2,@arg)=@_; + my($ref,$err,$errref,$mode)=(); + + ($errref,$mode) = (@arg); + $ref=0; + + if (defined $errref) { + if (ref $errref) { + $ref=1; + } elsif (! defined $mode) { + $mode=$errref; + $errref=""; + } + } + + my(@date,@delta,$ret,$tmp,$oldincalc,$oldmode)=(); + + if (exists $Curr{"Mode"}) { + $oldmode = $Curr{"Mode"}; + } else { + $oldmode = 0; + } + + if (defined $mode and $mode>=0 and $mode<=3) { + $Curr{"Mode"}=$mode; + } else { + $Curr{"Mode"}=0; + } + + if (exists $Curr{"InCalc"}) { + $oldincalc = $Curr{"InCalc"}; + } else { + $oldincalc = 0; + } + $Curr{"InCalc"}=1; + + if ($tmp=ParseDateString($D1)) { + # If we've already parsed the date, we don't want to do it a second + # time (so we don't convert timezones twice). + if (_Date_Split($D1)) { + push(@date,$D1); + } else { + push(@date,$tmp); + } + } elsif ($tmp=ParseDateDelta($D1)) { + push(@delta,$tmp); + } else { + $$errref=1 if ($ref); + $Curr{"InCalc"} = $oldincalc; + $Curr{"Mode"} = $oldmode; + return; + } + + if ($tmp=ParseDateString($D2)) { + if (_Date_Split($D2)) { + push(@date,$D2); + } else { + push(@date,$tmp); + } + } elsif ($tmp=ParseDateDelta($D2)) { + push(@delta,$tmp); + $mode = $Curr{"Mode"}; + } else { + $$errref=2 if ($ref); + $Curr{"InCalc"} = $oldincalc; + $Curr{"Mode"} = $oldmode; + return; + } + + $Curr{"InCalc"} = $oldincalc; + $Curr{"Mode"} = $oldmode; + + if ($#date==1) { + $ret=_DateCalc_DateDate(@date,$mode); + } elsif ($#date==0) { + $ret=_DateCalc_DateDelta(@date,@delta,\$err,$mode); + $$errref=$err if ($ref); + } else { + $ret=_DateCalc_DeltaDelta(@delta,$mode); + } + $ret; +} + +sub ParseDateDelta { + print "DEBUG: ParseDateDelta\n" if ($Curr{"Debug"} =~ /trace/); + my($args,@args,@a,$ref)=(); + local($_)=(); + @a=@_; + + # @a : is the list of args to ParseDateDelta. Currently, only one argument + # is allowed and it must be a scalar (or a reference to a scalar) + # or a reference to an array. + + if ($#a!=0) { + print "ERROR: Invalid number of arguments to ParseDateDelta.\n"; + return ""; + } + $args=$a[0]; + $ref=ref $args; + if (! $ref) { + @args=($args); + } elsif ($ref eq "ARRAY") { + @args=@$args; + } elsif ($ref eq "SCALAR") { + @args=($$args); + } else { + print "ERROR: Invalid arguments to ParseDateDelta.\n"; + return ""; + } + @a=@args; + + # @args : a list containing all the arguments (dereferenced if appropriate) + # @a : a list containing all the arguments currently being examined + # $ref : nil, "SCALAR", or "ARRAY" depending on whether a scalar, a + # reference to a scalar, or a reference to an array was passed in + # $args : the scalar or refererence passed in + + my(@colon,@delta,$delta,$dir,$colon,$sign,$val)=(); + my($len,$tmp,$tmp2,$tmpl)=(); + my($from,$to)=(); + my($workweek)=$Cnf{"WorkWeekEnd"}-$Cnf{"WorkWeekBeg"}+1; + + Date_Init() if (! $Curr{"InitDone"}); + # A sign can be a sequence of zero or more + and - signs, this + # allows for deltas like '+ -2 days'. + my($signexp)='((?:[+-]\s*)*)'; + my($numexp)='(\d+)'; + my($exp1)="(?: \\s* $signexp \\s* $numexp \\s*)"; + my($yexp,$mexp,$wexp,$dexp,$hexp,$mnexp,$sexp,$i)=(); + $yexp=$mexp=$wexp=$dexp=$hexp=$mnexp=$sexp="()()"; + $yexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Yabb"} .")?"; + $mexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Mabb"} .")?"; + $wexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Wabb"} .")?"; + $dexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Dabb"} .")?"; + $hexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Habb"} .")?"; + $mnexp="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"MNabb"}.")?"; + $sexp ="(?: $exp1 ". $Lang{$Cnf{"Language"}}{"Sabb"} ."?)?"; + my($future)=$Lang{$Cnf{"Language"}}{"Future"}; + my($later)=$Lang{$Cnf{"Language"}}{"Later"}; + my($past)=$Lang{$Cnf{"Language"}}{"Past"}; + + $delta=""; + PARSE: while (@a) { + $_ = join(" ", grep {defined;} @a); + s/\s+$//; + last if ($_ eq ""); + + # Mode is set in DateCalc. ParseDateDelta only overrides it if the + # string contains a mode. + if ($Lang{$Cnf{"Language"}}{"Exact"} && + s/$Lang{$Cnf{"Language"}}{"Exact"}//) { + $Curr{"Mode"}=0; + } elsif ($Lang{$Cnf{"Language"}}{"Approx"} && + s/$Lang{$Cnf{"Language"}}{"Approx"}//) { + $Curr{"Mode"}=1; + } elsif ($Lang{$Cnf{"Language"}}{"Business"} && + s/$Lang{$Cnf{"Language"}}{"Business"}//) { + $Curr{"Mode"}=2; + } elsif (! exists $Curr{"Mode"}) { + $Curr{"Mode"}=0; + } + $workweek=7 if ($Curr{"Mode"} != 2); + + foreach $from (keys %{ $Lang{$Cnf{"Language"}}{"Repl"} }) { + $to=$Lang{$Cnf{"Language"}}{"Repl"}{$from}; + s/(^|[^a-z])$from($|[^a-z])/$1$to$2/i; + } + + # in or ago + # + # We need to make sure that $later, $future, and $past don't contain each + # other... Romanian pointed this out where $past is "in urma" and $future + # is "in". When they do, we have to take this into account. + # $len length of best match (greatest wins) + # $tmp string after best match + # $dir direction (prior, after) of best match + # + # $tmp2 string before/after current match + # $tmpl length of current match + + $len=0; + $tmp=$_; + $dir=1; + + $tmp2=$_; + if ($tmp2 =~ s/(^|[^a-z])($future)($|[^a-z])/$1 $3/i) { + $tmpl=length($2); + if ($tmpl>$len) { + $tmp=$tmp2; + $dir=1; + $len=$tmpl; + } + } + + $tmp2=$_; + if ($tmp2 =~ s/(^|[^a-z])($later)($|[^a-z])/$1 $3/i) { + $tmpl=length($2); + if ($tmpl>$len) { + $tmp=$tmp2; + $dir=1; + $len=$tmpl; + } + } + + $tmp2=$_; + if ($tmp2 =~ s/(^|[^a-z])($past)($|[^a-z])/$1 $3/i) { + $tmpl=length($2); + if ($tmpl>$len) { + $tmp=$tmp2; + $dir=-1; + $len=$tmpl; + } + } + + $_ = $tmp; + s/\s*$//; + + # the colon part of the delta + $colon=""; + if (s/($signexp?$numexp?(:($signexp?$numexp)?){1,6})$//) { + $colon=$1; + s/\s+$//; + } + @colon=split(/:/,$colon); + + # the non-colon part of the delta + $sign="+"; + @delta=(); + $i=6; + foreach $exp1 ($yexp,$mexp,$wexp,$dexp,$hexp,$mnexp,$sexp) { + last if ($#colon>=$i--); + $val=0; + if (s/^$exp1//ix) { + $val=$2 if ($2); + $sign=$1 if ($1); + } + + # Collapse a sign like '+ -' into a single character like '-', + # by counting the occurrences of '-'. + # + $sign =~ s/\s+//g; + $sign =~ tr/+//d; + my $count = ($sign =~ tr/-//d); + die "bad characters in sign: $sign" if length $sign; + $sign = $count % 2 ? '-' : '+'; + + push(@delta,"$sign$val"); + } + if (! /^\s*$/) { + pop(@a); + next PARSE; + } + + # make sure that the colon part has a sign + for ($i=0; $i<=$#colon; $i++) { + $val=0; + if ($colon[$i] =~ /^$signexp$numexp?/) { + $val=$2 if ($2); + $sign=$1 if ($1); + } + $colon[$i] = "$sign$val"; + } + + # combine the two + push(@delta,@colon); + if ($dir<0) { + for ($i=0; $i<=$#delta; $i++) { + $delta[$i] =~ tr/-+/+-/; + } + } + + # form the delta and shift off the valid part + $delta=join(":",@delta); + splice(@args,0,$#a+1); + @$args=@args if (defined $ref and $ref eq "ARRAY"); + last PARSE; + } + + $delta=_Delta_Normalize($delta,$Curr{"Mode"}); + return $delta; +} + +sub UnixDate { + print "DEBUG: UnixDate\n" if ($Curr{"Debug"} =~ /trace/); + my($date,@format)=@_; + local($_)=(); + my($format,%f,$out,@out,$c,$date1,$date2,$tmp)=(); + my($scalar)=(); + $date=ParseDateString($date); + return if (! $date); + + my($y,$m,$d,$h,$mn,$s)=($f{"Y"},$f{"m"},$f{"d"},$f{"H"},$f{"M"},$f{"S"})= + _Date_Split($date, 1); + $f{"y"}=substr $f{"Y"},2; + Date_Init() if (! $Curr{"InitDone"}); + + if (! wantarray) { + $format=join(" ",@format); + @format=($format); + $scalar=1; + } + + # month, week + $_=$m; + s/^0//; + $f{"b"}=$f{"h"}=$Lang{$Cnf{"Language"}}{"MonL"}[$_-1]; + $f{"B"}=$Lang{$Cnf{"Language"}}{"MonthL"}[$_-1]; + $_=$m; + s/^0/ /; + $f{"f"}=$_; + $f{"U"}=Date_WeekOfYear($m,$d,$y,7); + $f{"W"}=Date_WeekOfYear($m,$d,$y,1); + + # check week 52,53 and 0 + $f{"G"}=$f{"L"}=$y; + if ($f{"W"}>=52 || $f{"U"}>=52) { + my($dd,$mm,$yy)=($d,$m,$y); + $dd+=7; + if ($dd>31) { + $dd-=31; + $mm=1; + $yy++; + if (Date_WeekOfYear($mm,$dd,$yy,1)==2) { + $f{"G"}=$yy; + $f{"W"}=1; + } + if (Date_WeekOfYear($mm,$dd,$yy,7)==2) { + $f{"L"}=$yy; + $f{"U"}=1; + } + } + } + if ($f{"W"}==0) { + my($dd,$mm,$yy)=($d,$m,$y); + $dd-=7; + $dd+=31 if ($dd<1); + $yy = sprintf "%04d", $yy-1; + $mm=12; + $f{"G"}=$yy; + $f{"W"}=Date_WeekOfYear($mm,$dd,$yy,1)+1; + } + if ($f{"U"}==0) { + my($dd,$mm,$yy)=($d,$m,$y); + $dd-=7; + $dd+=31 if ($dd<1); + $yy = sprintf "%04d", $yy-1; + $mm=12; + $f{"L"}=$yy; + $f{"U"}=Date_WeekOfYear($mm,$dd,$yy,7)+1; + } + + $f{"U"}="0".$f{"U"} if (length $f{"U"} < 2); + $f{"W"}="0".$f{"W"} if (length $f{"W"} < 2); + + # day + $f{"j"}=Date_DayOfYear($m,$d,$y); + $f{"j"} = "0" . $f{"j"} while (length($f{"j"})<3); + $_=$d; + s/^0/ /; + $f{"e"}=$_; + $f{"w"}=Date_DayOfWeek($m,$d,$y); + $f{"v"}=$Lang{$Cnf{"Language"}}{"WL"}[$f{"w"}-1]; + $f{"v"}=" ".$f{"v"} if (length $f{"v"} < 2); + $f{"a"}=$Lang{$Cnf{"Language"}}{"WkL"}[$f{"w"}-1]; + $f{"A"}=$Lang{$Cnf{"Language"}}{"WeekL"}[$f{"w"}-1]; + $f{"E"}=Date_DaySuffix($f{"e"}); + + # hour + $_=$h; + s/^0/ /; + $f{"k"}=$_; + $f{"i"}=$f{"k"}+1; + $f{"i"}=$f{"k"}; + $f{"i"}=12 if ($f{"k"}==0); + $f{"i"}=$f{"k"}-12 if ($f{"k"}>12); + $f{"i"}=$f{"i"}-12 if ($f{"i"}>12); + $f{"i"}=" ".$f{"i"} if (length($f{"i"})<2); + $f{"I"}=$f{"i"}; + $f{"I"}=~ s/^ /0/; + $f{"p"}=$Lang{$Cnf{"Language"}}{"AMstr"}; + $f{"p"}=$Lang{$Cnf{"Language"}}{"PMstr"} if ($f{"k"}>11); + + # minute, second, timezone + $f{"o"}=Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + $f{"s"}=Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s); + $f{"Z"}=($Cnf{"ConvTZ"} eq "IGNORE" or $Cnf{"ConvTZ"} eq "") ? + $Cnf{"TZ"} : $Cnf{"ConvTZ"}; + $f{"z"}=($f{"Z"}=~/^[+-]\d{4}/) ? $f{"Z"} : ($Zone{"n2o"}{lc $f{"Z"}} || ""); + + # date, time + $f{"c"}=qq|$f{"a"} $f{"b"} $f{"e"} $h:$mn:$s $y|; + $f{"C"}=$f{"u"}= + qq|$f{"a"} $f{"b"} $f{"e"} $h:$mn:$s $f{"z"} $y|; + $f{"g"}=qq|$f{"a"}, $d $f{"b"} $y $h:$mn:$s $f{"z"}|; + $f{"D"}=$f{"x"}=qq|$m/$d/$f{"y"}|; + $f{"x"}=qq|$d/$m/$f{"y"}| if ($Cnf{"DateFormat"} ne "US"); + $f{"r"}=qq|$f{"I"}:$mn:$s $f{"p"}|; + $f{"R"}=qq|$h:$mn|; + $f{"T"}=$f{"X"}=qq|$h:$mn:$s|; + $f{"V"}=qq|$m$d$h$mn$f{"y"}|; + $f{"Q"}="$y$m$d"; + $f{"q"}=qq|$y$m$d$h$mn$s|; + $f{"P"}=qq|$y$m$d$h:$mn:$s|; + $f{"O"}=qq|$y-$m-${d}T$h:$mn:$s|; + $f{"F"}=qq|$f{"A"}, $f{"B"} $f{"e"}, $f{"Y"}|; + if ($f{"W"}==0) { + $y--; + $tmp=Date_WeekOfYear(12,31,$y,1); + $tmp="0$tmp" if (length($tmp) < 2); + $f{"J"}=qq|$y-W$tmp-$f{"w"}|; + } else { + $f{"J"}=qq|$f{"G"}-W$f{"W"}-$f{"w"}|; + } + $f{"K"}=qq|$y-$f{"j"}|; + # %l is a special case. Since it requires the use of the calculator + # which requires this routine, an infinite recursion results. To get + # around this, %l is NOT determined every time this is called so the + # recursion breaks. + + # other formats + $f{"n"}="\n"; + $f{"t"}="\t"; + $f{"%"}="%"; + $f{"+"}="+"; + + foreach $format (@format) { + $format=reverse($format); + $out=""; + while ($format ne "") { + $c=chop($format); + if ($c eq "%") { + $c=chop($format); + if ($c eq "l") { + Date_Init(); + $date1=_DateCalc_DateDelta($Curr{"Now"},"-0:6:0:0:0:0:0"); + $date2=_DateCalc_DateDelta($Curr{"Now"},"+0:6:0:0:0:0:0"); + if (Date_Cmp($date,$date1)>=0 && Date_Cmp($date,$date2)<=0) { + $f{"l"}=qq|$f{"b"} $f{"e"} $h:$mn|; + } else { + $f{"l"}=qq|$f{"b"} $f{"e"} $f{"Y"}|; + } + $out .= $f{"$c"}; + } elsif (exists $f{"$c"}) { + $out .= $f{"$c"}; + } else { + $out .= $c; + } + } else { + $out .= $c; + } + } + push(@out,$out); + } + if ($scalar) { + return $out[0]; + } else { + return (@out); + } +} + +# Can't be in "use integer" because we're doing decimal arithmatic +no integer; +sub Delta_Format { + print "DEBUG: Delta_Format\n" if ($Curr{"Debug"} =~ /trace/); + my($delta,@arg)=@_; + my($mode); + if (lc($arg[0]) eq "approx") { + $mode = "approx"; + shift(@arg); + } else { + $mode = "exact"; + } + my($dec,@format) = @arg; + + $delta=ParseDateDelta($delta); + return "" if (! $delta); + my(@out,%f,$out,$c1,$c2,$scalar,$format)=(); + local($_)=$delta; + my($y,$M,$w,$d,$h,$m,$s)=_Delta_Split($delta); + # Get rid of positive signs. + ($y,$M,$w,$d,$h,$m,$s)=map { 1*$_; }($y,$M,$w,$d,$h,$m,$s); + + if (defined $dec && $dec>0) { + $dec="%." . ($dec*1) . "f"; + } else { + $dec="%f"; + } + + if (! wantarray) { + $format=join(" ",@format); + @format=($format); + $scalar=1; + } + + # Length of each unit in seconds + my($sl,$ml,$hl,$dl,$wl,$Ml,$yl)=(); + $sl = 1; + $ml = $sl*60; + $hl = $ml*60; + $dl = $hl*24; + $wl = $dl*7; + $yl = $dl*365.25; + $Ml = $yl/12; + + # The decimal amount of each unit contained in all smaller units + my($yd,$Md,$sd,$md,$hd,$dd,$wd)=(); + if ($mode eq "exact") { + $yd = $M/12; + $Md = 0; + } else { + $yd = ($M*$Ml + $w*$wl + $d*$dl + $h*$hl + $m*$ml + $s*$sl)/$yl; + $Md = ($w*$wl + $d*$dl + $h*$hl + $m*$ml + $s*$sl)/$Ml; + } + + $wd = ($d*$dl + $h*$hl + $m*$ml + $s*$sl)/$wl; + $dd = ($h*$hl + $m*$ml + $s*$sl)/$dl; + $hd = ($m*$ml + $s*$sl)/$hl; + $md = ($s*$sl)/$ml; + $sd = 0; + + # The amount of each unit contained in higher units. + my($yh,$Mh,$sh,$mh,$hh,$dh,$wh)=(); + $yh = 0; + $Mh = ($yh+$y)*12; + + if ($mode eq "exact") { + $wh = 0; + $dh = ($wh+$w)*7; + } else { + $wh = ($yh+$y+$M/12)*365.25/7; + $dh = ($wh+$w)*7; + } + + $hh = ($dh+$d)*24; + $mh = ($hh+$h)*60; + $sh = ($mh+$m)*60; + + # Set up the formats + + $f{"yv"} = $y; + $f{"Mv"} = $M; + $f{"wv"} = $w; + $f{"dv"} = $d; + $f{"hv"} = $h; + $f{"mv"} = $m; + $f{"sv"} = $s; + + $f{"yh"} = $y+$yh; + $f{"Mh"} = $M+$Mh; + $f{"wh"} = $w+$wh; + $f{"dh"} = $d+$dh; + $f{"hh"} = $h+$hh; + $f{"mh"} = $m+$mh; + $f{"sh"} = $s+$sh; + + $f{"yd"} = sprintf($dec,$y+$yd); + $f{"Md"} = sprintf($dec,$M+$Md); + $f{"wd"} = sprintf($dec,$w+$wd); + $f{"dd"} = sprintf($dec,$d+$dd); + $f{"hd"} = sprintf($dec,$h+$hd); + $f{"md"} = sprintf($dec,$m+$md); + $f{"sd"} = sprintf($dec,$s+$sd); + + $f{"yt"} = sprintf($dec,$yh+$y+$yd); + $f{"Mt"} = sprintf($dec,$Mh+$M+$Md); + $f{"wt"} = sprintf($dec,$wh+$w+$wd); + $f{"dt"} = sprintf($dec,$dh+$d+$dd); + $f{"ht"} = sprintf($dec,$hh+$h+$hd); + $f{"mt"} = sprintf($dec,$mh+$m+$md); + $f{"st"} = sprintf($dec,$sh+$s+$sd); + + $f{"%"} = "%"; + + foreach $format (@format) { + $format=reverse($format); + $out=""; + PARSE: while ($format) { + $c1=chop($format); + if ($c1 eq "%") { + $c1=chop($format); + if (exists($f{$c1})) { + $out .= $f{$c1}; + next PARSE; + } + $c2=chop($format); + if (exists($f{"$c1$c2"})) { + $out .= $f{"$c1$c2"}; + next PARSE; + } + $out .= $c1; + $format .= $c2; + } else { + $out .= $c1; + } + } + push(@out,$out); + } + if ($scalar) { + return $out[0]; + } else { + return (@out); + } +} +use integer; + +sub ParseRecur { + print "DEBUG: ParseRecur\n" if ($Curr{"Debug"} =~ /trace/); + Date_Init() if (! $Curr{"InitDone"}); + + my($recur,$dateb,$date0,$date1,$flag)=@_; + local($_)=$recur; + + my($recur_0,$recur_1,@recur0,@recur1)=(); + my(@tmp,$tmp,$each,$num,$y,$m,$d,$w,$h,$mn,$s,$delta,$y0,$y1,$yb)=(); + my($yy,$n,$dd,@d,@tmp2,$date,@date,@w,@tmp3,@m,@y,$tmp2,$d2,@flags)=(); + + # $date0, $date1, $dateb, $flag : passed in (these are always the final say + # in determining whether a date matches a + # recurrence IF they are present. + # $date_b, $date_0, $date_1 : if a value can be determined from the + # $flag_t recurrence, they are stored here. + # + # If values can be determined from the recurrence AND are passed in, the + # following are used: + # max($date0,$date_0) i.e. the later of the two dates + # min($date1,$date_1) i.e. the earlier of the two dates + # + # The base date that is used is the first one defined from + # $dateb $date_b + # The base date is only used if necessary (as determined by the recur). + # For example, "every other friday" requires a base date, but "2nd + # friday of every month" doesn't. + + my($date_b,$date_0,$date_1,$flag_t); + + # + # Check the arguments passed in. + # + + $date0="" if (! defined $date0); + $date1="" if (! defined $date1); + $dateb="" if (! defined $dateb); + $flag ="" if (! defined $flag); + + if ($dateb) { + $dateb=ParseDateString($dateb); + return "" if (! $dateb); + } + if ($date0) { + $date0=ParseDateString($date0); + return "" if (! $date0); + } + if ($date1) { + $date1=ParseDateString($date1); + return "" if (! $date1); + } + + # + # Parse the recur. $date_b, $date_0, and $date_e are values obtained + # from the recur. + # + + @tmp=_Recur_Split($_); + + if (@tmp) { + ($recur_0,$recur_1,$flag_t,$date_b,$date_0,$date_1)=@tmp; + $recur_0 = "" if (! defined $recur_0); + $recur_1 = "" if (! defined $recur_1); + $flag_t = "" if (! defined $flag_t); + $date_b = "" if (! defined $date_b); + $date_0 = "" if (! defined $date_0); + $date_1 = "" if (! defined $date_1); + + @recur0 = split(/:/,$recur_0); + @recur1 = split(/:/,$recur_1); + return "" if ($#recur0 + $#recur1 + 2 != 7); + + if ($date_b) { + $date_b=ParseDateString($date_b); + return "" if (! $date_b); + } + if ($date_0) { + $date_0=ParseDateString($date_0); + return "" if (! $date_0); + } + if ($date_1) { + $date_1=ParseDateString($date_1); + return "" if (! $date_1); + } + + } else { + + my($mmm)='\s*'.$Lang{$Cnf{"Language"}}{"Month"}; # \s*(jan|january|...) + my(%mmm)=%{ $Lang{$Cnf{"Language"}}{"MonthH"} }; # { jan=>1, ... } + my($wkexp)='\s*'.$Lang{$Cnf{"Language"}}{"Week"}; # \s*(mon|monday|...) + my(%week)=%{ $Lang{$Cnf{"Language"}}{"WeekH"} }; # { monday=>1, ... } + my($day)='\s*'.$Lang{$Cnf{"Language"}}{"Dabb"}; # \s*(?:d|day|days) + my($month)='\s*'.$Lang{$Cnf{"Language"}}{"Mabb"}; # \s*(?:mon|month|months) + my($week)='\s*'.$Lang{$Cnf{"Language"}}{"Wabb"}; # \s*(?:w|wk|week|weeks) + my($daysexp)=$Lang{$Cnf{"Language"}}{"DoM"}; # (1st|first|...31st) + my(%dayshash)=%{ $Lang{$Cnf{"Language"}}{"DoMH"} }; + # { 1st=>1,first=>1,...} + my($of)='\s*'.$Lang{$Cnf{"Language"}}{"Of"}; # \s*(?:in|of) + my($lastexp)=$Lang{$Cnf{"Language"}}{"Last"}; # (?:last) + my($each)=$Lang{$Cnf{"Language"}}{"Each"}; # (?:each|every) + + my($D)='\s*(\d+)'; + my($Y)='\s*(\d{4}|\d{2})'; + + # Change 1st to 1 + if (/(^|[^a-z])$daysexp($|[^a-z])/i) { + $tmp=lc($2); + $tmp=$dayshash{"$tmp"}; + s/(^|[^a-z])$daysexp($|[^a-z])/$1 $tmp $3/i; + } + s/\s*$//; + + # Get rid of "each" + if (/(^|[^a-z])$each($|[^a-z])/i) { + s/(^|[^a-z])$each($|[^a-z])/$1 $2/i; + $each=1; + } else { + $each=0; + } + + if ($each) { + + if (/^$D?$day(?:$of$mmm?$Y)?$/i || + /^$D?$day(?:$of$mmm())?$/i) { + # every [2nd] day in [june] 1997 + # every [2nd] day [in june] + ($num,$m,$y)=($1,$2,$3); + $num=1 if (! defined $num); + $m="" if (! defined $m); + $y="" if (! defined $y); + + $y=$Curr{"Y"} if (! $y); + if ($m) { + $m=$mmm{lc($m)}; + $date_0=_Date_Join($y,$m,1,0,0,0); + $date_1=_DateCalc_DateDelta($date_0,"+0:1:0:0:0:0:0",0); + } else { + $date_0=_Date_Join($y, 1,1,0,0,0); + $date_1=_Date_Join($y+1,1,1,0,0,0); + } + $date_b=DateCalc($date_0,"-0:0:0:1:0:0:0",0); + @recur0=(0,0,0,$num,0,0,0); + @recur1=(); + + } elsif (/^$D$day?$of$month(?:$of?$Y)?$/) { + # 2nd [day] of every month [in 1997] + ($num,$y)=($1,$2); + $y=$Curr{"Y"} if (! $y); + + $date_0=_Date_Join($y, 1,1,0,0,0); + $date_1=_Date_Join($y+1,1,1,0,0,0); + $date_b=$date_0; + + @recur0=(0,1,0); + @recur1=($num,0,0,0); + + } elsif (/^$D$wkexp$of$month(?:$of?$Y)?$/ || + /^($lastexp)$wkexp$of$month(?:$of?$Y)?$/) { + # 2nd tuesday of every month [in 1997] + # last tuesday of every month [in 1997] + ($num,$d,$y)=($1,$2,$3); + $y=$Curr{"Y"} if (! $y); + $d=$week{lc($d)}; + $num=-1 if ($num !~ /^$D$/); + + $date_0=_Date_Join($y,1,1,0,0,0); + $date_1=_Date_Join($y+1,1,1,0,0,0); + $date_b=$date_0; + + @recur0=(0,1); + @recur1=($num,$d,0,0,0); + + } elsif (/^$D?$wkexp(?:$of$mmm?$Y)?$/i || + /^$D?$wkexp(?:$of$mmm())?$/i) { + # every tuesday in june 1997 + # every 2nd tuesday in june 1997 + ($num,$d,$m,$y)=($1,$2,$3,$4); + $y=$Curr{"Y"} if (! $y); + $num=1 if (! defined $num); + $m="" if (! defined $m); + $d=$week{lc($d)}; + + if ($m) { + $m=$mmm{lc($m)}; + $date_0=_Date_Join($y,$m,1,0,0,0); + $date_1=_DateCalc_DateDelta($date_0,"+0:1:0:0:0:0:0",0); + } else { + $date_0=_Date_Join($y,1,1,0,0,0); + $date_1=_Date_Join($y+1,1,1,0,0,0); + } + $date_b=DateCalc($date_0,"-0:0:0:1:0:0:0",0); + + @recur0=(0,0,$num); + @recur1=($d,0,0,0); + + } else { + return ""; + } + + $date_0="" if ($date0); + $date_1="" if ($date1); + } else { + return ""; + } + } + + # + # Override with any values passed in + # + + $date0 = $date_0 if (! $date0); + $date1 = $date_1 if (! $date1); + $dateb = $date_b if (! $dateb); + if ($flag =~ s/^\+//) { + $flag = "$flag_t,$flag" if ($flag_t); + } + $flag = $flag_t if (! $flag); + $flag = "" if (! $flag); + + if (! wantarray) { + $tmp = join(":",@recur0); + $tmp .= "*" . join(":",@recur1) if (@recur1); + $tmp .= "*$flag*$dateb*$date0*$date1"; + return $tmp; + } + if (@recur0) { + return () if (! $date0 || ! $date1); # dateb is NOT required in all case + } + + # + # Some flags affect parsing. + # + + @flags = split(/,/,$flag); + my($f); + foreach $f (@flags) { + if ($f =~ /^EASTER$/i) { + ($y,$m,$w,$d,$h,$mn,$s)=(@recur0,@recur1); + # We want something that will return Jan 1 for the given years. + if ($#recur0==-1) { + @recur1=($y,1,0,1,$h,$mn,$s); + } elsif ($#recur0<=3) { + @recur0=($y,0,0,0); + @recur1=($h,$mn,$s); + } elsif ($#recur0==4) { + @recur0=($y,0,0,0,0); + @recur1=($mn,$s); + } elsif ($#recur0==5) { + @recur0=($y,0,0,0,0,0); + @recur1=($s); + } else { + @recur0=($y,0,0,0,0,0,0); + } + } + } + + # + # Determine the dates referenced by the recur. Also, fix the base date + # as necessary for the recurrences which require it. + # + + ($y,$m,$w,$d,$h,$mn,$s)=(@recur0,@recur1); + @y=@m=@w=@d=(); + my(@time)=($h,$mn,$s); + + RECUR: while (1) { + + if ($#recur0==-1) { + # * 0-M-W-D-H-MN-S => 0 * M-W-D-H-MN-S + + if ($y eq "0") { + push(@recur0,1); + shift(@recur1); + next RECUR; + } + + # Y-M-W-D-H-MN-S + + @y=_ReturnList($y); + foreach $y (@y) { + $y=_Date_FixYear($y) if (length($y)==2); + return () if (length($y)!=4 || ! _IsInt($y)); + } + + $date0=ParseDate("0000-01-01") if (! $date0); + $date1=ParseDate("9999-12-31 23:59:59") if (! $date1); + + if ($m eq "0" and $w eq "0") { + + # * Y-0-0-0-H-MN-S + # * Y-0-0-DOY-H-MN-S + + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + return () if (! _IsInt($d,-366,366) || $d==0); + } + } + + @date=(); + foreach $yy (@y) { + my $diy = Date_DaysInYear($yy); + foreach $d (@d) { + my $tmpd = $d; + $tmpd += ($diy+1) if ($tmpd < 0); + next if (! _IsInt($tmpd,1,$diy)); + ($y,$m,$dd)=Date_NthDayOfYear($yy,$tmpd); + push(@date, _Date_Join($y,$m,$dd,0,0,0)); + } + } + last RECUR; + + } elsif ($w eq "0") { + + # * Y-M-0-0-H-MN-S + # * Y-M-0-DOM-H-MN-S + + @m=_ReturnList($m); + return () if (! @m); + foreach $m (@m) { + return () if (! _IsInt($m,1,12)); + } + + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + return () if (! _IsInt($d,-31,31) || $d==0); + } + } + + @date=(); + foreach $y (@y) { + foreach $m (@m) { + my $dim = Date_DaysInMonth($m,$y); + foreach $d (@d) { + my $tmpd = $d; + $tmpd += ($dim+1) if ($d<0); + next if (! _IsInt($tmpd,1,$dim)); + $date=_Date_Join($y,$m,$tmpd,0,0,0); + push(@date,$date); + } + } + } + last RECUR; + + } elsif ($m eq "0") { + + # * Y-0-WOY-DOW-H-MN-S + # * Y-0-WOY-0-H-MN-S + + @w=_ReturnList($w); + return () if (! @w); + foreach $w (@w) { + return () if (! _IsInt($w,-53,53) || $w==0); + } + + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + $d += 8 if ($d<0); + return () if (! _IsInt($d,1,7)); + } + } + + @date=(); + foreach $y (@y) { + foreach $w (@w) { + foreach $d (@d) { + my($tmpw,$del); + if ($w<0) { + $date="$y-12-31-00:00:00"; + $tmpw = (-$w)-1; + $del="-0:0:$tmpw:0:0:0:0"; + $date=Date_GetPrev($date,$d,1); + } else { + $date="$y-01-01-00:00:00"; + $tmpw = ($w)-1; + $del="0:0:$tmpw:0:0:0:0"; + $date=Date_GetNext($date,$d,1); + } + $date=_DateCalc_DateDelta($date,$del); + push(@date,$date) if ( (_Date_Split($date))[0] == $y); + } + } + } + last RECUR; + + } else { + + # * Y-M-WOM-DOW-H-MN-S + # * Y-M-WOM-0-H-MN-S + + @m=_ReturnList($m); + return () if (! @m); + @w=_ReturnList($w); + return () if (! @w); + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + } + + @date=_Date_Recur_WoM(\@y,\@m,\@w,\@d); + last RECUR; + } + } + + if ($#recur0==0) { + + # Y * M-W-D-H-MN-S + $n=$y; + $n=1 if ($n==0); + + if ($m eq "0") { + + # Y * 0-W-D-H-MN-S => Y-0 * W-D-H-MN-S + push(@recur0,0); + shift(@recur1); + + } elsif ($w eq "0") { + + # Y * M-0-DOM-H-MN-S + return () if (! $dateb && $y != 1); + + @m=_ReturnList($m); + return () if (! @m); + foreach $m (@m) { + return () if (! _IsInt($m,1,12)); + } + + if ($d eq "0") { + @d = (1); + } else { + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + return () if (! _IsInt($d,-31,31) || $d==0); + } + } + + # We need to find years that are a multiple of $n from $y(base) + ($y0)=( _Date_Split($date0, 1) )[0]; + ($y1)=( _Date_Split($date1, 1) )[0]; + if ($dateb) { + ($yb)=( _Date_Split($dateb, 1) )[0]; + } else { + # If $y=1, there is no base year + $yb=0; + } + + @date=(); + for ($yy=$y0; $yy<=$y1; $yy++) { + if (($yy-$yb)%$n == 0) { + foreach $m (@m) { + foreach $d (@d) { + my $dim = Date_DaysInMonth($m,$yy); + my $tmpd = $d; + if ($tmpd < 0) { + $tmpd += ($dim+1); + } + next if (! _IsInt($tmpd,1,$dim)); + $date=_Date_Join($yy,$m,$tmpd,0,0,0); + push(@date,$date); + } + } + } + } + last RECUR; + + } else { + + # Y * M-WOM-DOW-H-MN-S + # Y * M-WOM-0-H-MN-S + return () if (! $dateb && $y != 1); + + @m=_ReturnList($m); + return () if (! @m); + @w=_ReturnList($w); + return () if (! @w); + + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + } + + ($y0)=( _Date_Split($date0, 1) )[0]; + ($y1)=( _Date_Split($date1, 1) )[0]; + if ($dateb) { + ($yb)=( _Date_Split($dateb, 1) )[0]; + } else { + # If $y=1, there is no base year + $yb=0; + } + @y=(); + for ($yy=$y0; $yy<=$y1; $yy++) { + if (($yy-$yb)%$n == 0) { + push(@y,$yy); + } + } + + @date=_Date_Recur_WoM(\@y,\@m,\@w,\@d); + last RECUR; + } + } + + if ($#recur0==1) { + + # Y-M * W-D-H-MN-S + + if ($w eq "0") { + # Y-M * 0-D-H-MN-S => Y-M-0 * D-H-MN-S + push(@recur0,0); + shift(@recur1); + + } elsif ($m==0) { + + # Y-0 * WOY-0-H-MN-S + # Y-0 * WOY-DOW-H-MN-S + return () if (! $dateb && $y != 1); + $n=$y; + $n=1 if ($n==0); + + @w=_ReturnList($w); + return () if (! @w); + foreach $w (@w) { + return () if ($w==0 || ! _IsInt($w,-53,53)); + } + + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + $d += 8 if ($d<0); + return () if (! _IsInt($d,1,7)); + } + } + + # We need to find years that are a multiple of $n from $y(base) + ($y0)=( _Date_Split($date0, 1) )[0]; + ($y1)=( _Date_Split($date1, 1) )[0]; + if ($dateb) { + ($yb)=( _Date_Split($dateb, 1) )[0]; + } else { + # If $y=1, there is no base year + $yb=0; + } + + @date=(); + for ($yy=$y0; $yy<=$y1; $yy++) { + if (($yy-$yb)%$n == 0) { + foreach $w (@w) { + foreach $d (@d) { + my($tmpw,$del); + if ($w<0) { + $date="$yy-12-31-00:00:00"; + $tmpw = (-$w)-1; + $del="-0:0:$tmpw:0:0:0:0"; + $date=Date_GetPrev($date,$d,1); + } else { + $date="$yy-01-01-00:00:00"; + $tmpw = ($w)-1; + $del="0:0:$tmpw:0:0:0:0"; + $date=Date_GetNext($date,$d,1); + } + $date=DateCalc($date,$del); + next if ((_Date_Split($date))[0] != $yy); + push(@date,$date); + } + } + } + } + last RECUR; + + } else { + + # Y-M * WOM-0-H-MN-S + # Y-M * WOM-DOW-H-MN-S + return () if (! $dateb && ($y != 0 || $m != 1)); + @tmp=(@recur0); + push(@tmp,0) while ($#tmp<6); + $delta=join(":",@tmp); + $dateb=$date0 if (! $dateb); + @tmp=_Date_Recur($date0,$date1,$dateb,$delta); + + @w=_ReturnList($w); + @m=(); + if ($d eq "0") { + @d=(1); + } else { + @d=_ReturnList($d); + } + + @date=_Date_Recur_WoM(\@tmp,\@m,\@w,\@d); + last RECUR; + } + } + + if ($#recur0==2) { + # Y-M-W * D-H-MN-S + + if ($d eq "0") { + + # Y-M-W * 0-H-MN-S + return () if (! $dateb); + $y=1 if ($y==0 && $m==0 && $w==0); + $delta="$y:$m:$w:0:0:0:0"; + @date=_Date_Recur($date0,$date1,$dateb,$delta); + last RECUR; + + } elsif ($m==0 && $w==0) { + + # Y-0-0 * DOY-H-MN-S + $y=1 if ($y==0); + $n=$y; + return () if (! $dateb && $y!=1); + + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + return () if (! _IsInt($d,-366,366) || $d==0); + } + + # We need to find years that are a multiple of $n from $y(base) + ($y0)=( _Date_Split($date0, 1) )[0]; + ($y1)=( _Date_Split($date1, 1) )[0]; + if ($dateb) { + ($yb)=( _Date_Split($dateb, 1) )[0]; + } else { + # If $y=1, there is no base year + $yb=0; + } + @date=(); + for ($yy=$y0; $yy<=$y1; $yy++) { + my $diy = Date_DaysInYear($yy); + if (($yy-$yb)%$n == 0) { + foreach $d (@d) { + my $tmpd = $d; + $tmpd += ($diy+1) if ($tmpd<0); + next if (! _IsInt($tmpd,1,$diy)); + ($y,$m,$dd)=Date_NthDayOfYear($yy,$tmpd); + push(@date, _Date_Join($y,$m,$dd,0,0,0)); + } + } + } + last RECUR; + + } elsif ($w>0) { + + # Y-M-W * DOW-H-MN-S + return () if (! $dateb && ($y != 0 && $m != 0 && $w != 1)); + @tmp=(@recur0); + push(@tmp,0) while ($#tmp<6); + $delta=join(":",@tmp); + + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + $d += 8 if ($d<0); + return () if (! _IsInt($d,1,7)); + } + + # Find out what DofW the basedate is. + $dateb = $date0 if (! $dateb); + @tmp2=_Date_Split($dateb, 1); + $tmp=Date_DayOfWeek($tmp2[1],$tmp2[2],$tmp2[0]); + + @date=(); + foreach $d (@d) { + $date_b=$dateb; + # Move basedate to DOW in the same week + if ($d != $tmp) { + if (($tmp>=$Cnf{"FirstDay"} && $d<$Cnf{"FirstDay"}) || + ($tmp>=$Cnf{"FirstDay"} && $d>$tmp) || + ($tmp<$d && $d<$Cnf{"FirstDay"})) { + $date_b=Date_GetNext($date_b,$d); + } else { + $date_b=Date_GetPrev($date_b,$d); + } + } + push(@date,_Date_Recur($date0,$date1,$date_b,$delta)); + } + last RECUR; + + } elsif ($m>0) { + + # Y-M-0 * DOM-H-MN-S + return () if (! $dateb && ($y != 0 && $m != 1)); + @tmp=(@recur0); + push(@tmp,0) while ($#tmp<6); + $delta=join(":",@tmp); + + @d=_ReturnList($d); + return () if (! @d); + foreach $d (@d) { + return () if ($d==0 || ! _IsInt($d,-31,31)); + } + $dateb = $date0 if (! $dateb); + + @tmp2=_Date_Recur($date0,$date1,$dateb,$delta); + @date=(); + foreach $date (@tmp2) { + ($y,$m)=( _Date_Split($date, 1) )[0..1]; + my $dim=Date_DaysInMonth($m,$y); + foreach $d (@d) { + my $tmpd = $d; + $tmpd += ($dim+1) if ($tmpd<0); + next if (! _IsInt($tmpd,1,$dim)); + push(@date,_Date_Join($y,$m,$tmpd,0,0,0)); + } + } + last RECUR; + + } else { + return (); + } + } + + if ($#recur0>2) { + + # Y-M-W-D * H-MN-S + # Y-M-W-D-H * MN-S + # Y-M-W-D-H-MN * S + # Y-M-W-D-H-S + if (($#recur0 == 3 && + ($y == 0 && $m == 0 && $w == 0 && $d == 1)) || + ($#recur0 == 4 && + ($y == 0 && $m == 0 && $w == 0 && $d == 0 && $h == 1)) || + ($#recur0 == 5 && + ($y == 0 && $m == 0 && $w == 0 && $d == 0 && $h == 0 && + $mn == 1))) { + $dateb = $date0; + } + return () if (! $dateb); + @tmp=(@recur0); + push(@tmp,0) while ($#tmp<6); + $delta=join(":",@tmp); + return () if ($delta !~ /[1-9]/); # return if "0:0:0:0:0:0:0" + @date=_Date_Recur($date0,$date1,$dateb,$delta); + if (@recur1) { + unshift(@recur1,-1) while ($#recur1<2); + @time=@recur1; + } else { + shift(@date); + pop(@date); + @time=(); + } + } + + last RECUR; + } + @date=_Date_RecurSetTime($date0,$date1,\@date,@time) if (@time); + + # + # We've got a list of dates. Operate on them with the flags. + # + + my($sign,$forw,$today,$df,$db,$work,$i); + if (@flags) { + FLAG: foreach $f (@flags) { + $f = uc($f); + + if ($f =~ /^(P|N)(D|T)([1-7])$/) { + @tmp=($1,$2,$3); + $forw =($tmp[0] eq "P" ? 0 : 1); + $today=($tmp[1] eq "D" ? 0 : 1); + $d=$tmp[2]; + @tmp=(); + foreach $date (@date) { + if ($forw) { + push(@tmp, Date_GetNext($date,$d,$today)); + } else { + push(@tmp, Date_GetPrev($date,$d,$today)); + } + } + @date=@tmp; + next FLAG; + } + + # We want to go forward exact amounts of time instead of + # business mode calculations so that we don't change the time + # (which may have been set in the recur). + if ($f =~ /^(F|B)(D|W)(\d+)$/) { + @tmp=($1,$2,$3); + $sign="+"; + $sign="-" if ($tmp[0] eq "B"); + $work=0; + $work=1 if ($tmp[1] eq "W"); + $n=$tmp[2]; + @tmp=(); + foreach $date (@date) { + for ($i=1; $i<=$n; $i++) { + while (1) { + $date=DateCalc($date,"${sign}0:0:0:1:0:0:0"); + last if (! $work || Date_IsWorkDay($date,0)); + } + } + push(@tmp,$date); + } + @date=@tmp; + next FLAG; + } + + if ($f =~ /^CW(N|P|D)$/ || $f =~ /^(N|P|D)W(D)$/) { + $tmp=$1; + my $noalt = $2 ? 1 : 0; + if ($tmp eq "N" || ($tmp eq "D" && $Cnf{"TomorrowFirst"})) { + $forw=1; + } else { + $forw=0; + } + + @tmp=(); + DATE: foreach $date (@date) { + $df=$db=$date; + if (Date_IsWorkDay($date)) { + push(@tmp,$date); + next DATE; + } + while (1) { + if ($forw) { + $d=$df=DateCalc($df,"+0:0:0:1:0:0:0"); + } else { + $d=$db=DateCalc($db,"-0:0:0:1:0:0:0"); + } + if (Date_IsWorkDay($d)) { + push(@tmp,$d); + next DATE; + } + $forw=1-$forw if (! $noalt); + } + } + @date=@tmp; + next FLAG; + } + + if ($f eq "EASTER") { + @tmp=(); + foreach $date (@date) { + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date, 1); + ($m,$d)=_Date_Easter($y); + $date=_Date_Join($y,$m,$d,$h,$mn,$s); + next if (Date_Cmp($date,$date0)<0 || + Date_Cmp($date,$date1)>0); + push(@tmp,$date); + } + @date=@tmp; + } + } + } + + @date = sort { Date_Cmp($a,$b) } @date; + return @date; +} + +sub Date_GetPrev { + print "DEBUG: Date_GetPrev\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$dow,$today,$hr,$min,$sec)=@_; + Date_Init() if (! $Curr{"InitDone"}); + my($y,$m,$d,$h,$mn,$s,$err,$curr_dow,%dow,$num,$delta,$th,$tm,$ts, + $adjust,$curr)=(); + $hr="00" if (defined $hr && $hr eq "0"); + $min="00" if (defined $min && $min eq "0"); + $sec="00" if (defined $sec && $sec eq "0"); + + if (! _Date_Split($date)) { + $date=ParseDateString($date); + return "" if (! $date); + } + $curr=$date; + ($y,$m,$d)=( _Date_Split($date, 1) )[0..2]; + + if ($dow) { + $curr_dow=Date_DayOfWeek($m,$d,$y); + %dow=%{ $Lang{$Cnf{"Language"}}{"WeekH"} }; + if (_IsInt($dow)) { + return "" if ($dow<1 || $dow>7); + } else { + return "" if (! exists $dow{lc($dow)}); + $dow=$dow{lc($dow)}; + } + if ($dow == $curr_dow) { + $date=_DateCalc_DateDelta($date,"-0:0:1:0:0:0:0",\$err,0) if (! $today); + $adjust=1 if ($today==2); + } else { + $dow -= 7 if ($dow>$curr_dow); # make sure previous day is less + $num = $curr_dow - $dow; + $date=_DateCalc_DateDelta($date,"-0:0:0:$num:0:0:0",\$err,0); + } + $date=Date_SetTime($date,$hr,$min,$sec) if (defined $hr); + $date=_DateCalc_DateDelta($date,"-0:0:1:0:0:0:0",\$err,0) + if ($adjust && Date_Cmp($date,$curr)>0); + + } else { + ($h,$mn,$s)=( _Date_Split($date, 1) )[3..5]; + ($th,$tm,$ts)=_Date_ParseTime($hr,$min,$sec); + if ($hr) { + ($hr,$min,$sec)=($th,$tm,$ts); + $delta="-0:0:0:1:0:0:0"; + } elsif ($min) { + ($hr,$min,$sec)=($h,$tm,$ts); + $delta="-0:0:0:0:1:0:0"; + } elsif ($sec) { + ($hr,$min,$sec)=($h,$mn,$ts); + $delta="-0:0:0:0:0:1:0"; + } else { + confess "ERROR: invalid arguments in Date_GetPrev.\n"; + } + + $d=Date_SetTime($date,$hr,$min,$sec); + if ($today) { + $d=_DateCalc_DateDelta($d,$delta,\$err,0) if (Date_Cmp($d,$date)>0); + } else { + $d=_DateCalc_DateDelta($d,$delta,\$err,0) if (Date_Cmp($d,$date)>=0); + } + $date=$d; + } + return $date; +} + +sub Date_GetNext { + print "DEBUG: Date_GetNext\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$dow,$today,$hr,$min,$sec)=@_; + Date_Init() if (! $Curr{"InitDone"}); + my($y,$m,$d,$h,$mn,$s,$err,$curr_dow,%dow,$num,$delta,$th,$tm,$ts, + $adjust,$curr)=(); + $hr="00" if (defined $hr && $hr eq "0"); + $min="00" if (defined $min && $min eq "0"); + $sec="00" if (defined $sec && $sec eq "0"); + + if (! _Date_Split($date)) { + $date=ParseDateString($date); + return "" if (! $date); + } + $curr=$date; + ($y,$m,$d)=( _Date_Split($date, 1) )[0..2]; + + if ($dow) { + $curr_dow=Date_DayOfWeek($m,$d,$y); + %dow=%{ $Lang{$Cnf{"Language"}}{"WeekH"} }; + if (_IsInt($dow)) { + return "" if ($dow<1 || $dow>7); + } else { + return "" if (! exists $dow{lc($dow)}); + $dow=$dow{lc($dow)}; + } + if ($dow == $curr_dow) { + $date=_DateCalc_DateDelta($date,"+0:0:1:0:0:0:0",\$err,0) if (! $today); + $adjust=1 if ($today==2); + } else { + $curr_dow -= 7 if ($curr_dow>$dow); # make sure next date is greater + $num = $dow - $curr_dow; + $date=_DateCalc_DateDelta($date,"+0:0:0:$num:0:0:0",\$err,0); + } + $date=Date_SetTime($date,$hr,$min,$sec) if (defined $hr); + $date=_DateCalc_DateDelta($date,"+0:0:1:0:0:0:0",\$err,0) + if ($adjust && Date_Cmp($date,$curr)<0); + + } else { + ($h,$mn,$s)=( _Date_Split($date, 1) )[3..5]; + ($th,$tm,$ts)=_Date_ParseTime($hr,$min,$sec); + if ($hr) { + ($hr,$min,$sec)=($th,$tm,$ts); + $delta="+0:0:0:1:0:0:0"; + } elsif ($min) { + ($hr,$min,$sec)=($h,$tm,$ts); + $delta="+0:0:0:0:1:0:0"; + } elsif ($sec) { + ($hr,$min,$sec)=($h,$mn,$ts); + $delta="+0:0:0:0:0:1:0"; + } else { + confess "ERROR: invalid arguments in Date_GetNext.\n"; + } + + $d=Date_SetTime($date,$hr,$min,$sec); + if ($today) { + $d=_DateCalc_DateDelta($d,$delta,\$err,0) if (Date_Cmp($d,$date)<0); + } else { + $d=_DateCalc_DateDelta($d,$delta,\$err,0) if (Date_Cmp($d,$date)<1); + } + $date=$d; + } + + return $date; +} + +sub Date_IsHoliday { + print "DEBUG: Date_IsHoliday\n" if ($Curr{"Debug"} =~ /trace/); + my($date)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $date=ParseDateString($date); + return undef if (! $date); + $date=Date_SetTime($date,0,0,0); + my($y)=(_Date_Split($date, 1))[0]; + + _Date_UpdateHolidays($y) if (! exists $Holiday{"dates"}{$y}); + + return undef if (! exists $Holiday{"dates"}{$y}{$date}); + my($name)=$Holiday{"dates"}{$y}{$date}; + return "" if (! $name); + $name; +} + +sub Events_List { + print "DEBUG: Events_List\n" if ($Curr{"Debug"} =~ /trace/); + my(@args)=@_; + Date_Init() if (! $Curr{"InitDone"}); + _Events_ParseRaw(); + + my($tmp,$date0,$date1,$flag); + $date0=ParseDateString($args[0]); + warn "Invalid date $args[0]", return undef if (! $date0); + + if ($#args == 0) { + return _Events_Calc($date0); + } + + if ($args[1]) { + $date1=ParseDateString($args[1]); + warn "Invalid date $args[1]\n", return undef if (! $date1); + if (Date_Cmp($date0,$date1)>0) { + $tmp=$date1; + $date1=$date0; + $date0=$tmp; + } + } else { + $date0=Date_SetTime($date0,"00:00:00"); + $date1=_DateCalc_DateDelta($date0,"+0:0:0:1:0:0:0"); + } + + $tmp=_Events_Calc($date0,$date1); + + $flag=$args[2]; + return $tmp if (! $flag); + + my(@tmp,%ret,$delta)=(); + @tmp=@$tmp; + push(@tmp,$date1); + + if ($flag==1) { + while ($#tmp>0) { + ($date0,$tmp)=splice(@tmp,0,2); + $date1=$tmp[0]; + $delta=_DateCalc_DateDate($date0,$date1); + foreach $flag (@$tmp) { + if (exists $ret{$flag}) { + $ret{$flag}=_DateCalc_DeltaDelta($ret{$flag},$delta); + } else { + $ret{$flag}=$delta; + } + } + } + return \%ret; + + } elsif ($flag==2) { + while ($#tmp>0) { + ($date0,$tmp)=splice(@tmp,0,2); + $date1=$tmp[0]; + $delta=_DateCalc_DateDate($date0,$date1); + $flag=join("+",sort { Date_Cmp($a,$b) } @$tmp); + next if (! $flag); + if (exists $ret{$flag}) { + $ret{$flag}=_DateCalc_DeltaDelta($ret{$flag},$delta); + } else { + $ret{$flag}=$delta; + } + } + return \%ret; + } + + warn "Invalid flag $flag\n"; + return undef; +} + +### +# NOTE: The following routines may be called in the routines below with very +# little time penalty. +### +sub Date_SetTime { + print "DEBUG: Date_SetTime\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$h,$mn,$s)=@_; + Date_Init() if (! $Curr{"InitDone"}); + my($y,$m,$d)=(); + + if (! _Date_Split($date)) { + $date=ParseDateString($date); + return "" if (! $date); + } + + ($y,$m,$d)=( _Date_Split($date, 1) )[0..2]; + ($h,$mn,$s)=_Date_ParseTime($h,$mn,$s); + + my($ampm,$wk); + return "" if (_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk)); + _Date_Join($y,$m,$d,$h,$mn,$s); +} + +sub Date_SetDateField { + print "DEBUG: Date_SetDateField\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$field,$val,$nocheck)=@_; + my($y,$m,$d,$h,$mn,$s)=(); + $nocheck=0 if (! defined $nocheck); + + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date); + + if (! $y) { + $date=ParseDateString($date); + return "" if (! $date); + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date, 1); + } + + if (lc($field) eq "y") { + $y=$val; + } elsif (lc($field) eq "m") { + $m=$val; + } elsif (lc($field) eq "d") { + $d=$val; + } elsif (lc($field) eq "h") { + $h=$val; + } elsif (lc($field) eq "mn") { + $mn=$val; + } elsif (lc($field) eq "s") { + $s=$val; + } else { + confess "ERROR: Date_SetDateField: invalid field: $field\n"; + } + + $date=_Date_Join($y,$m,$d,$h,$mn,$s); + return $date if ($nocheck || _Date_Split($date)); + return ""; +} + +######################################################################## +# OTHER SUBROUTINES +######################################################################## +# NOTE: These routines should not call any of the routines above as +# there will be a severe time penalty (and the possibility of +# infinite recursion). The last couple routines above are +# exceptions. +# NOTE: Date_Init is a special case. It should be called (conditionally) +# in every routine that uses any variable from the Date::Manip +# namespace. +######################################################################## + +sub Date_DaysInMonth { + print "DEBUG: Date_DaysInMonth\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + my(@d_in_m)=(0,31,28,31,30,31,30,31,31,30,31,30,31); + $d_in_m[2]=29 if (Date_LeapYear($y)); + return $d_in_m[$m]; +} + +sub Date_DayOfWeek { + print "DEBUG: Date_DayOfWeek\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + my($dayofweek,$dec31)=(); + + $dec31=5; # Dec 31, 1BC was Friday + $dayofweek=(Date_DaysSince1BC($m,$d,$y)+$dec31) % 7; + $dayofweek=7 if ($dayofweek==0); + return $dayofweek; +} + +# Can't be in "use integer" because the numbers are too big. +no integer; +sub Date_SecsSince1970 { + print "DEBUG: Date_SecsSince1970\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y,$h,$mn,$s)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + my($sec_now,$sec_70)=(); + $sec_now=(Date_DaysSince1BC($m,$d,$y)-1)*24*3600 + $h*3600 + $mn*60 + $s; +# $sec_70 =(Date_DaysSince1BC(1,1,1970)-1)*24*3600; + $sec_70 =62167219200; + return ($sec_now-$sec_70); +} + +sub Date_SecsSince1970GMT { + print "DEBUG: Date_SecsSince1970GMT\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y,$h,$mn,$s)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $y=_Date_FixYear($y) if (length($y)!=4); + + my($sec)=Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + return $sec if ($Cnf{"ConvTZ"} eq "IGNORE"); + + my($tz)=$Cnf{"ConvTZ"}; + $tz=$Cnf{"TZ"} if (not defined $tz or $tz eq ""); + $tz=$Zone{"n2o"}{lc($tz)} if ($tz !~ /^[+-]\d{4}$/); + + my($tzs)=1; + $tzs=-1 if ($tz<0); + $tz=~/.(..)(..)/; + my($tzh,$tzm)=($1,$2); + $sec - $tzs*($tzh*3600+$tzm*60); +} +use integer; + +sub Date_DaysSince1BC { + print "DEBUG: Date_DaysSince1BC\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + my($Ny,$N4,$N100,$N400,$dayofyear,$days)=(); + my($cc,$yy)=(); + + $y=~ /(\d{2})(\d{2})/; + ($cc,$yy)=($1,$2); + + # Number of full years since Dec 31, 1BC (counting the year 0000). + $Ny=$y; + + # Number of full 4th years (incl. 0000) since Dec 31, 1BC + $N4=($Ny-1)/4 + 1; + $N4=0 if ($y==0); + + # Number of full 100th years (incl. 0000) + $N100=$cc + 1; + $N100-- if ($yy==0); + $N100=0 if ($y==0); + + # Number of full 400th years (incl. 0000) + $N400=($N100-1)/4 + 1; + $N400=0 if ($y==0); + + $dayofyear=Date_DayOfYear($m,$d,$y); + $days= $Ny*365 + $N4 - $N100 + $N400 + $dayofyear; + + return $days; +} + +sub Date_DayOfYear { + print "DEBUG: Date_DayOfYear\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + # DinM = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) + my(@days) = ( 0, 31, 59, 90,120,151,181,212,243,273,304,334,365); + my($ly)=0; + $ly=1 if ($m>2 && Date_LeapYear($y)); + return ($days[$m-1]+$d+$ly); +} + +sub Date_DaysInYear { + print "DEBUG: Date_DaysInYear\n" if ($Curr{"Debug"} =~ /trace/); + my($y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + return 366 if (Date_LeapYear($y)); + return 365; +} + +sub Date_WeekOfYear { + print "DEBUG: Date_WeekOfYear\n" if ($Curr{"Debug"} =~ /trace/); + my($m,$d,$y,$f)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $y=_Date_FixYear($y) if (length($y)!=4); + + my($day,$dow,$doy)=(); + $doy=Date_DayOfYear($m,$d,$y); + + # The current DayOfYear and DayOfWeek + if ($Cnf{"Jan1Week1"}) { + $day=1; + } else { + $day=4; + } + $dow=Date_DayOfWeek(1,$day,$y); + + # Move back to the first day of week 1. + $f-=7 if ($f>$dow); + $day-= ($dow-$f); + + return 0 if ($day>$doy); # Day is in last week of previous year + return (($doy-$day)/7 + 1); +} + +sub Date_LeapYear { + print "DEBUG: Date_LeapYear\n" if ($Curr{"Debug"} =~ /trace/); + my($y)=@_; + $y=_Date_FixYear($y) if (length($y)!=4); + return 0 unless $y % 4 == 0; + return 1 unless $y % 100 == 0; + return 0 unless $y % 400 == 0; + return 1; +} + +sub Date_DaySuffix { + print "DEBUG: Date_DaySuffix\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + Date_Init() if (! $Curr{"InitDone"}); + return $Lang{$Cnf{"Language"}}{"DoML"}[$d-1]; +} + +sub Date_ConvTZ { + print "DEBUG: Date_ConvTZ\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$from,$to,$level)=@_; + if (not _Date_Split($date)) { + my $err = "date passed in ('$date') is not a Date::Manip object"; + if (! $level) { + croak $err; + } elsif ($level==1) { + carp $err; + } + return ""; + } + + Date_Init() if (! $Curr{"InitDone"}); + my($gmt)=(); + + if ((! defined $from) or ($from eq '')) { + + if ((! defined $to) or ($to eq '')) { + # TZ -> ConvTZ + return $date if ($Cnf{"ConvTZ"} eq "IGNORE" or ! $Cnf{"ConvTZ"}); + $from=$Cnf{"TZ"}; + $to=$Cnf{"ConvTZ"}; + + } else { + # ConvTZ,TZ -> $to + $from=$Cnf{"ConvTZ"}; + $from=$Cnf{"TZ"} if ((! defined $from) or ($from eq '')); + } + + } else { + + if ((! defined $to) or ($to eq '')) { + # $from -> ConvTZ,TZ + return $date if ($Cnf{"ConvTZ"} eq "IGNORE"); + $to=$Cnf{"ConvTZ"}; + $to=$Cnf{"TZ"} if ((! defined $to) or ($to eq '')); + + } else { + # $from -> $to + } + } + + $to=$Zone{"n2o"}{lc($to)} + if (exists $Zone{"n2o"}{lc($to)}); + $from=$Zone{"n2o"}{lc($from)} + if (exists $Zone{"n2o"}{lc($from)}); + $gmt=$Zone{"n2o"}{"gmt"}; + + return $date if ($from !~ /^[+-]\d{4}$/ or $to !~ /^[+-]\d{4}$/); + return $date if ($from eq $to); + + my($s1,$h1,$m1,$s2,$h2,$m2,$d,$h,$m,$sign,$delta,$err,$yr,$mon,$sec)=(); + # We're going to try to do the calculation without calling DateCalc. + ($yr,$mon,$d,$h,$m,$sec)=_Date_Split($date, 1); + + # Convert $date from $from to GMT + $from=~/([+-])(\d{2})(\d{2})/; + ($s1,$h1,$m1)=($1,$2,$3); + $s1= ($s1 eq "-" ? "+" : "-"); # switch sign + $sign=$s1 . "1"; # + or - 1 + + # and from GMT to $to + $to=~/([+-])(\d{2})(\d{2})/; + ($s2,$h2,$m2)=($1,$2,$3); + + if ($s1 eq $s2) { + # Both the same sign + $m+= $sign*($m1+$m2); + $h+= $sign*($h1+$h2); + } else { + $sign=($s2 eq "-" ? +1 : -1) if ($h1<$h2 || ($h1==$h2 && $m1<$m2)); + $m+= $sign*($m1-$m2); + $h+= $sign*($h1-$h2); + } + + if ($m>59) { + $h+= $m/60; + $m-= ($m/60)*60; + } elsif ($m<0) { + $h+= ($m/60 - 1); + $m-= ($m/60 - 1)*60; + } + + if ($h>23) { + $delta=$h/24; + $h -= $delta*24; + if (($d + $delta) > 28) { + $date=_Date_Join($yr,$mon,$d,$h,$m,$sec); + return _DateCalc_DateDelta($date,"+0:0:0:$delta:0:0:0",\$err,0); + } + $d+= $delta; + } elsif ($h<0) { + $delta=-$h/24 + 1; + $h += $delta*24; + if (($d - $delta) < 1) { + $date=_Date_Join($yr,$mon,$d,$h,$m,$sec); + return _DateCalc_DateDelta($date,"-0:0:0:$delta:0:0:0",\$err,0); + } + $d-= $delta; + } + return _Date_Join($yr,$mon,$d,$h,$m,$sec); +} + +sub Date_TimeZone { + print "DEBUG: Date_TimeZone\n" if ($Curr{"Debug"} =~ /trace/); + my($null,$tz,@tz,$std,$dst,$time,$isdst,$tmp,$in)=(); + Date_Init() if (! $Curr{"InitDone"}); + + # Get timezones from all of the relevant places + + push(@tz,$Cnf{"TZ"}) if (defined $Cnf{"TZ"}); # TZ config var + push(@tz,$ENV{"TZ"}) if (defined $ENV{"TZ"}); # TZ environ var + push(@tz,$ENV{'SYS$TIMEZONE_RULE'}) + if defined $ENV{'SYS$TIMEZONE_RULE'}; # VMS TZ environ var + push(@tz,$ENV{'SYS$TIMEZONE_NAME'}) + if defined $ENV{'SYS$TIMEZONE_NAME'}; # VMS TZ name environ var + push(@tz,$ENV{'UCX$TZ'}) + if defined $ENV{'UCX$TZ'}; # VMS TZ environ var + push(@tz,$ENV{'TCPIP$TZ'}) + if defined $ENV{'TCPIP$TZ'}; # VMS TZ environ var + + # The `date` command... if we're doing taint checking, we need to + # always call it with a full path... otherwise, use the user's path. + # + # Microsoft operating systems don't have a date command built in. Try + # to trap all the various ways of knowing we are on one of these systems. + # + # We'll try `date +%Z` first, and if that fails, we'll take just the + # `date` program and assume the output is of the format: + # Thu Aug 31 14:57:46 EDT 2000 + + unless (($^O ne 'cygwin' && $^X =~ /perl\.exe$/i) or + ($OS eq "Windows") or + ($OS eq "Netware") or + ($OS eq "VMS")) { + if ($Date::Manip::DM5::NoTaint) { + if ($OS eq "VMS") { + $tz=$ENV{'SYS$TIMEZONE_NAME'}; + if (! defined $tz) { + $tz=$ENV{'MULTINET_TIMEZONE'}; + if (! defined $tz) { + $tz=$ENV{'SYS$TIMEZONE_DIFFERENTIAL'}/3600.; # e.g. '-4' for EDT + } + } + push(@tz,$tz) if (defined $tz); + + } else { + $tz=`date +%Z 2> /dev/null`; + chomp($tz); + if (! defined $tz) { + $tz=`date 2> /dev/null`; + chomp($tz); + $tz=(split(/\s+/,$tz))[4]; + } + push(@tz,$tz) if (defined $tz); + + # for international timezones + $tz=`date +%z 2> /dev/null`; + chomp($tz); + push(@tz,$tz) if (defined $tz); + } + } else { + # We need to satisfy taint checking, but also look in all the + # directories in @DatePath. + # + local $ENV{PATH} = join(':', @Date::Manip::DM5::DatePath); + local $ENV{BASH_ENV} = ''; + $tz=`date +%Z 2> /dev/null`; + chomp($tz); + if (! defined $tz) { + $tz=`date 2> /dev/null`; + chomp($tz); + $tz=(split(/\s+/,$tz))[4]; + } + push(@tz,$tz) if (defined $tz); + + # for international timezones + $tz=`date +%z 2> /dev/null`; + chomp($tz); + push(@tz,$tz) if (defined $tz); + } + } + + push(@tz,$main::TZ) if (defined $main::TZ); # $main::TZ + + if (-s "/etc/TIMEZONE") { # /etc/TIMEZONE + $in=new IO::File; + $in->open("/etc/TIMEZONE","r"); + while (! eof($in)) { + $tmp=<$in>; + if ($tmp =~ /^TZ\s*=\s*(.*?)\s*$/) { + push(@tz,$1); + last; + } + } + $in->close; + } + + if (-s "/etc/timezone") { # /etc/timezone + $in=new IO::File; + $in->open("/etc/timezone","r"); + while (! eof($in)) { + $tmp=<$in>; + next if ($tmp =~ /^\s*\043/); + chomp($tmp); + if ($tmp =~ /^\s*(.*?)\s*$/) { + push(@tz,$1); + last; + } + } + $in->close; + } + + # Now parse each one to find the first valid one. + foreach $tz (@tz) { + $tz =~ s/\s*$//; + $tz =~ s/^\s*//; + $tz =~ s/^://; + next if ($tz eq ""); + + return uc($tz) + if (defined $Zone{"n2o"}{lc($tz)}); + + if ($tz =~ /^[+-]\d{4}$/) { + return $tz; + } elsif ($tz =~ /^([+-]\d{2})(?::(\d{2}))?$/) { + my($h,$m)=($1,$2); + $m="00" if (! $m); + return "$h$m"; + } + + # Handle US/Eastern format + if ($tz =~ /^$Zone{"tzones"}$/i) { + $tmp=lc $1; + $tz=$Zone{"tz2z"}{$tmp}; + } + + # Handle STD#DST# format (and STD-#DST-# formats) + if ($tz =~ /^([a-z]+)-?\d([a-z]+)-?\d?$/i) { + ($std,$dst)=($1,$2); + next if (! defined $Zone{"n2o"}{lc($std)} or + ! defined $Zone{"n2o"}{lc($dst)}); + $time = time(); + ($null,$null,$null,$null,$null,$null,$null,$null,$isdst) = + localtime($time); + return uc($dst) if ($isdst); + return uc($std); + } + } + + confess "ERROR: Date::Manip unable to determine Time Zone.\n"; +} + +# Returns 1 if $date is a work day. If $time is non-zero, the time is +# also checked to see if it falls within work hours. Returns "" if +# an invalid date is passed in. +sub Date_IsWorkDay { + print "DEBUG: Date_IsWorkDay\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$time)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $date=ParseDateString($date); + return "" if (! $date); + my($d)=$date; + $d=Date_SetTime($date,$Cnf{"WorkDayBeg"}) if (! $time); + + my($y,$mon,$day,$h,$m,$s,$dow)=(); + ($y,$mon,$day,$h,$m,$s)=_Date_Split($d, 1); + $dow=Date_DayOfWeek($mon,$day,$y); + + return 0 if ($dow<$Cnf{"WorkWeekBeg"} or + $dow>$Cnf{"WorkWeekEnd"} or + "$h:$m" lt $Cnf{"WorkDayBeg"} or + "$h:$m" ge $Cnf{"WorkDayEnd"}); + + if (! exists $Holiday{"dates"}{$y}) { + # There will be recursion problems if we ever end up here twice. + $Holiday{"dates"}{$y}={}; + _Date_UpdateHolidays($y) + } + $d=Date_SetTime($date,"00:00:00"); + return 0 if (exists $Holiday{"dates"}{$y}{$d}); + 1; +} + +# Finds the day $off work days from now. If $time is passed in, we must +# also take into account the time of day. +# +# If $time is not passed in, day 0 is today (if today is a workday) or the +# next work day if it isn't. In any case, the time of day is unaffected. +# +# If $time is passed in, day 0 is now (if now is part of a workday) or the +# start of the very next work day. +sub Date_NextWorkDay { + print "DEBUG: Date_NextWorkDay\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$off,$time)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $date=ParseDateString($date); + my($err)=(); + + if (! Date_IsWorkDay($date,$time)) { + if ($time) { + while (1) { + $date=Date_GetNext($date,undef,0,$Cnf{"WorkDayBeg"}); + last if (Date_IsWorkDay($date,$time)); + } + } else { + while (1) { + $date=_DateCalc_DateDelta($date,"+0:0:0:1:0:0:0",\$err,0); + last if (Date_IsWorkDay($date,$time)); + } + } + } + + while ($off>0) { + while (1) { + $date=_DateCalc_DateDelta($date,"+0:0:0:1:0:0:0",\$err,0); + last if (Date_IsWorkDay($date,$time)); + } + $off--; + } + + return $date; +} + +# Finds the day $off work days before now. If $time is passed in, we must +# also take into account the time of day. +# +# If $time is not passed in, day 0 is today (if today is a workday) or the +# previous work day if it isn't. In any case, the time of day is unaffected. +# +# If $time is passed in, day 0 is now (if now is part of a workday) or the +# end of the previous work period. Note that since the end of a work day +# will automatically be turned into the start of the next one, this time +# may actually be treated as AFTER the current time. +sub Date_PrevWorkDay { + print "DEBUG: Date_PrevWorkDay\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$off,$time)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $date=ParseDateString($date); + my($err)=(); + + if (! Date_IsWorkDay($date,$time)) { + if ($time) { + while (1) { + $date=Date_GetNext($date,undef,0,$Cnf{"WorkDayBeg"}); + last if (Date_IsWorkDay($date,$time)); + } + } else { + while (1) { + $date=_DateCalc_DateDelta($date,"-0:0:0:1:0:0:0",\$err,0); + last if (Date_IsWorkDay($date,$time)); + } + } + } + + while ($off>0) { + while (1) { + $date=_DateCalc_DateDelta($date,"-0:0:0:1:0:0:0",\$err,0); + last if (Date_IsWorkDay($date,$time)); + } + $off--; + } + + return $date; +} + +# This finds the nearest workday to $date. If $date is a workday, it +# is returned. +sub Date_NearestWorkDay { + print "DEBUG: Date_NearestWorkDay\n" if ($Curr{"Debug"} =~ /trace/); + my($date,$tomorrow)=@_; + Date_Init() if (! $Curr{"InitDone"}); + $date=ParseDateString($date); + my($a,$b,$dela,$delb,$err)=(); + $tomorrow=$Cnf{"TomorrowFirst"} if (! defined $tomorrow); + + return $date if (Date_IsWorkDay($date)); + + # Find the nearest one. + if ($tomorrow) { + $dela="+0:0:0:1:0:0:0"; + $delb="-0:0:0:1:0:0:0"; + } else { + $dela="-0:0:0:1:0:0:0"; + $delb="+0:0:0:1:0:0:0"; + } + $a=$b=$date; + + while (1) { + $a=_DateCalc_DateDelta($a,$dela,\$err); + return $a if (Date_IsWorkDay($a)); + $b=_DateCalc_DateDelta($b,$delb,\$err); + return $b if (Date_IsWorkDay($b)); + } +} + +# Date_NthDayOfYear($y,$n); +# Returns a list of (YYYY,MM,DD,HH,MM,SS) for the Nth day of the year. +sub Date_NthDayOfYear { + no integer; + print "DEBUG: Date_NthDayOfYear\n" if ($Curr{"Debug"} =~ /trace/); + my($y,$n)=@_; + $y=$Curr{"Y"} if (! $y); + $n=1 if (! defined $n or $n eq ""); + $n+=0; # to turn 023 into 23 + $y=_Date_FixYear($y) if (length($y)<4); + my $leap=Date_LeapYear($y); + return () if ($n<1); + return () if ($n >= ($leap ? 367 : 366)); + + my(@d_in_m)=(31,28,31,30,31,30,31,31,30,31,30,31); + $d_in_m[1]=29 if ($leap); + + # Calculate the hours, minutes, and seconds into the day. + my $remain=($n - int($n))*24; + my $h=int($remain); + $remain=($remain - $h)*60; + my $mn=int($remain); + $remain=($remain - $mn)*60; + my $s=$remain; + + # Calculate the month and the day. + my($m,$d)=(0,0); + $n=int($n); + while ($n>0) { + $m++; + if ($n<=$d_in_m[0]) { + $d=int($n); + $n=0; + } else { + $n-= $d_in_m[0]; + shift(@d_in_m); + } + } + + ($y,$m,$d,$h,$mn,$s); +} + +######################################################################## +# NOT FOR EXPORT +######################################################################## + +# This is used in Date_Init to fill in a hash based on international +# data. It takes a list of keys and values and returns both a hash +# with these values and a regular expression of keys. +# +# IN: +# $data = [ key1 val1 key2 val2 ... ] +# $opts = lc : lowercase the keys in the regexp +# sort : sort (by length) the keys in the regexp +# back : create a regexp with a back reference +# escape : escape all strings in the regexp +# +# OUT: +# $regexp = '(?:key1|key2|...)' +# $hash = { key1=>val1 key2=>val2 ... } + +sub _Date_InitHash { + print "DEBUG: _Date_InitHash\n" if ($Curr{"Debug"} =~ /trace/); + my($data,$regexp,$opts,$hash)=@_; + my(@data)=@$data; + my($key,$val,@list)=(); + + # Parse the options + my($lc,$sort,$back,$escape)=(0,0,0,0); + $lc=1 if ($opts =~ /lc/i); + $sort=1 if ($opts =~ /sort/i); + $back=1 if ($opts =~ /back/i); + $escape=1 if ($opts =~ /escape/i); + + # Create the hash + while (@data) { + ($key,$val,@data)=@data; + $key=lc($key) if ($lc); + $$hash{$key}=$val; + } + + # Create the regular expression + if ($regexp) { + @list=keys(%$hash); + @list=sort _sortByLength(@list) if ($sort); + if ($escape) { + foreach $val (@list) { + $val="\Q$val\E"; + } + } + if ($back) { + $$regexp="(" . join("|",@list) . ")"; + } else { + $$regexp="(?:" . join("|",@list) . ")"; + } + } +} + +# This is used in Date_Init to fill in regular expressions, lists, and +# hashes based on international data. It takes a list of lists which have +# to be stored as regular expressions (to find any element in the list), +# lists, and hashes (indicating the location in the lists). +# +# IN: +# $data = [ [ [ valA1 valA2 ... ][ valA1' valA2' ... ] ... ] +# [ [ valB1 valB2 ... ][ valB1' valB2' ... ] ... ] +# ... +# [ [ valZ1 valZ2 ... ] [valZ1' valZ1' ... ] ... ] ] +# $lists = [ \@listA \@listB ... \@listZ ] +# $opts = lc : lowercase the values in the regexp +# sort : sort (by length) the values in the regexp +# back : create a regexp with a back reference +# escape : escape all strings in the regexp +# $hash = [ \%hash, TYPE ] +# TYPE 0 : $hash{ valBn=>n-1 } +# TYPE 1 : $hash{ valBn=>n } +# +# OUT: +# $regexp = '(?:valA1|valA2|...|valB1|...)' +# $lists = [ [ valA1 valA2 ... ] # only the 1st list (or +# [ valB1 valB2 ... ] ... ] # 2nd for int. characters) +# $hash + +sub _Date_InitLists { + print "DEBUG: _Date_InitLists\n" if ($Curr{"Debug"} =~ /trace/); + my($data,$regexp,$opts,$lists,$hash)=@_; + my(@data)=@$data; + my(@lists)=@$lists; + my($i,@ele,$ele,@list,$j,$tmp)=(); + + # Parse the options + my($lc,$sort,$back,$escape)=(0,0,0,0); + $lc=1 if ($opts =~ /lc/i); + $sort=1 if ($opts =~ /sort/i); + $back=1 if ($opts =~ /back/i); + $escape=1 if ($opts =~ /escape/i); + + # Set each of the lists + if (@lists) { + confess "ERROR: _Date_InitLists: lists must be 1 per data\n" + if ($#lists != $#data); + for ($i=0; $i<=$#data; $i++) { + @ele=@{ $data[$i] }; + if ($Cnf{"IntCharSet"} && $#ele>0) { + @{ $lists[$i] } = @{ $ele[1] }; + } else { + @{ $lists[$i] } = @{ $ele[0] }; + } + } + } + + # Create the hash + my($hashtype,$hashsave,%hash)=(); + if (@$hash) { + ($hash,$hashtype)=@$hash; + $hashsave=1; + } else { + $hashtype=0; + $hashsave=0; + } + for ($i=0; $i<=$#data; $i++) { + @ele=@{ $data[$i] }; + foreach $ele (@ele) { + @list = @{ $ele }; + for ($j=0; $j<=$#list; $j++) { + $tmp=$list[$j]; + next if (! $tmp); + $tmp=lc($tmp) if ($lc); + $hash{$tmp}= $j+$hashtype; + } + } + } + %$hash = %hash if ($hashsave); + + # Create the regular expression + if ($regexp) { + @list=keys(%hash); + @list=sort _sortByLength(@list) if ($sort); + if ($escape) { + foreach $ele (@list) { + $ele="\Q$ele\E"; + } + } + if ($back) { + $$regexp="(" . join("|",@list) . ")"; + } else { + $$regexp="(?:" . join("|",@list) . ")"; + } + } +} + +# This is used in Date_Init to fill in regular expressions and lists based +# on international data. This takes a list of strings and returns a regular +# expression (to find any one of them). +# +# IN: +# $data = [ string1 string2 ... ] +# $opts = lc : lowercase the values in the regexp +# sort : sort (by length) the values in the regexp +# back : create a regexp with a back reference +# escape : escape all strings in the regexp +# +# OUT: +# $regexp = '(string1|string2|...)' + +sub _Date_InitStrings { + print "DEBUG: _Date_InitStrings\n" if ($Curr{"Debug"} =~ /trace/); + my($data,$regexp,$opts)=@_; + my(@list)=@{ $data }; + + # Parse the options + my($lc,$sort,$back,$escape)=(0,0,0,0); + $lc=1 if ($opts =~ /lc/i); + $sort=1 if ($opts =~ /sort/i); + $back=1 if ($opts =~ /back/i); + $escape=1 if ($opts =~ /escape/i); + + # Create the regular expression + my($ele)=(); + @list=sort _sortByLength(@list) if ($sort); + if ($escape) { + foreach $ele (@list) { + $ele="\Q$ele\E"; + } + } + if ($back) { + $$regexp="(" . join("|",@list) . ")"; + } else { + $$regexp="(?:" . join("|",@list) . ")"; + } + $$regexp=lc($$regexp) if ($lc); +} + +# items is passed in (either as a space separated string, or a reference to +# a list) and a regular expression which matches any one of the items is +# prepared. The regular expression will be of one of the forms: +# "(a|b)" @list not empty, back option included +# "(?:a|b)" @list not empty +# "()" @list empty, back option included +# "" @list empty +# $options is a string which contains any of the following strings: +# back : the regular expression has a backreference +# opt : the regular expression is optional and a "?" is appended in +# the first two forms +# optws : the regular expression is optional and may be replaced by +# whitespace +# optWs : the regular expression is optional, but if not present, must +# be replaced by whitespace +# sort : the items in the list are sorted by length (longest first) +# lc : the string is lowercased +# under : any underscores are converted to spaces +# pre : it may be preceded by whitespace +# Pre : it must be preceded by whitespace +# PRE : it must be preceded by whitespace or the start +# post : it may be followed by whitespace +# Post : it must be followed by whitespace +# POST : it must be followed by whitespace or the end +# Spaces due to pre/post options will not be included in the back reference. +# +# If $array is included, then the elements will also be returned as a list. +# $array is a string which may contain any of the following: +# keys : treat the list as a hash and only the keys go into the regexp +# key0 : treat the list as the values of a hash with keys 0 .. N-1 +# key1 : treat the list as the values of a hash with keys 1 .. N +# val0 : treat the list as the keys of a hash with values 0 .. N-1 +# val1 : treat the list as the keys of a hash with values 1 .. N + +# _Date_InitLists([$lang{"month_name"},$lang{"month_abb"}], +# [\$Month,"lc,sort,back"], +# [\@Month,\@Mon], +# [\%Month,1]); + +# This is used in Date_Init to prepare regular expressions. A list of +# items is passed in (either as a space separated string, or a reference to +# a list) and a regular expression which matches any one of the items is +# prepared. The regular expression will be of one of the forms: +# "(a|b)" @list not empty, back option included +# "(?:a|b)" @list not empty +# "()" @list empty, back option included +# "" @list empty +# $options is a string which contains any of the following strings: +# back : the regular expression has a backreference +# opt : the regular expression is optional and a "?" is appended in +# the first two forms +# optws : the regular expression is optional and may be replaced by +# whitespace +# optWs : the regular expression is optional, but if not present, must +# be replaced by whitespace +# sort : the items in the list are sorted by length (longest first) +# lc : the string is lowercased +# under : any underscores are converted to spaces +# pre : it may be preceded by whitespace +# Pre : it must be preceded by whitespace +# PRE : it must be preceded by whitespace or the start +# post : it may be followed by whitespace +# Post : it must be followed by whitespace +# POST : it must be followed by whitespace or the end +# Spaces due to pre/post options will not be included in the back reference. +# +# If $array is included, then the elements will also be returned as a list. +# $array is a string which may contain any of the following: +# keys : treat the list as a hash and only the keys go into the regexp +# key0 : treat the list as the values of a hash with keys 0 .. N-1 +# key1 : treat the list as the values of a hash with keys 1 .. N +# val0 : treat the list as the keys of a hash with values 0 .. N-1 +# val1 : treat the list as the keys of a hash with values 1 .. N +sub _Date_Regexp { + print "DEBUG: _Date_Regexp\n" if ($Curr{"Debug"} =~ /trace/); + my($list,$options,$array)=@_; + my(@list,$ret,%hash,$i)=(); + local($_)=(); + $options="" if (! defined $options); + $array="" if (! defined $array); + + my($sort,$lc,$under)=(0,0,0); + $sort =1 if ($options =~ /sort/i); + $lc =1 if ($options =~ /lc/i); + $under=1 if ($options =~ /under/i); + my($back,$opt,$pre,$post,$ws)=("?:","","","",""); + $back ="" if ($options =~ /back/i); + $opt ="?" if ($options =~ /opt/i); + $pre ='\s*' if ($options =~ /pre/); + $pre ='\s+' if ($options =~ /Pre/); + $pre ='(?:\s+|^)' if ($options =~ /PRE/); + $post ='\s*' if ($options =~ /post/); + $post ='\s+' if ($options =~ /Post/); + $post ='(?:$|\s+)' if ($options =~ /POST/); + $ws ='\s*' if ($options =~ /optws/); + $ws ='\s+' if ($options =~ /optws/); + + my($hash,$keys,$key0,$key1,$val0,$val1)=(0,0,0,0,0,0); + $keys =1 if ($array =~ /keys/i); + $key0 =1 if ($array =~ /key0/i); + $key1 =1 if ($array =~ /key1/i); + $val0 =1 if ($array =~ /val0/i); + $val1 =1 if ($array =~ /val1/i); + $hash =1 if ($keys or $key0 or $key1 or $val0 or $val1); + + my($ref)=ref $list; + if (! $ref) { + $list =~ s/\s*$//; + $list =~ s/^\s*//; + $list =~ s/\s+/&&&/g; + } elsif ($ref eq "ARRAY") { + $list = join("&&&",@$list); + } else { + confess "ERROR: _Date_Regexp.\n"; + } + + if (! $list) { + if ($back eq "") { + return "()"; + } else { + return ""; + } + } + + $list=lc($list) if ($lc); + $list=~ s/_/ /g if ($under); + @list=split(/&&&/,$list); + if ($keys) { + %hash=@list; + @list=keys %hash; + } elsif ($key0 or $key1 or $val0 or $val1) { + $i=0; + $i=1 if ($key1 or $val1); + if ($key0 or $key1) { + %hash= map { $_,$i++ } @list; + } else { + %hash= map { $i++,$_ } @list; + } + } + @list=sort _sortByLength(@list) if ($sort); + + $ret="($back" . join("|",@list) . ")"; + $ret="(?:$pre$ret$post)" if ($pre or $post); + $ret.=$opt; + $ret="(?:$ret|$ws)" if ($ws); + + if ($array and $hash) { + return ($ret,%hash); + } elsif ($array) { + return ($ret,@list); + } else { + return $ret; + } +} + +# This will produce a delta with the correct number of signs. At most two +# signs will be in it normally (one before the year, and one in front of +# the day), but if appropriate, signs will be in front of all elements. +# Also, as many of the signs will be equivalent as possible. +sub _Delta_Normalize { + print "DEBUG: _Delta_Normalize\n" if ($Curr{"Debug"} =~ /trace/); + my($delta,$mode)=@_; + return "" if (! $delta); + return "+0:+0:+0:+0:+0:+0:+0" + if ($delta =~ /^([+-]?0+:){6}[+-]?0+$/ and $Cnf{"DeltaSigns"}); + return "+0:0:0:0:0:0:0" if ($delta =~ /^([+-]?0+:){6}[+-]?0+$/); + + my($tmp,$sign1,$sign2,$len)=(); + + # Calculate the length of the day in minutes + $len=24*60; + $len=$Curr{"WDlen"} if ($mode==2 || $mode==3); + + # We have to get the sign of every component explicitely so that a "-0" + # or "+0" doesn't get lost by treating it numerically (i.e. "-0:0:2" must + # be a negative delta). + + my($y,$mon,$w,$d,$h,$m,$s)=_Delta_Split($delta); + + $y = 0 if (! $y); + $mon = 0 if (! $mon); + $w = 0 if (! $w); + $d = 0 if (! $d); + $h = 0 if (! $h); + $m = 0 if (! $m); + $s = 0 if (! $s); + + # We need to make sure that the signs of all parts of a delta are the + # same. The easiest way to do this is to convert all of the large + # components to the smallest ones, then convert the smaller components + # back to the larger ones. + + # Do the year/month part + + $mon += $y*12; # convert y to m + $sign1="+"; + if ($mon<0) { + $mon *= -1; + $sign1="-"; + } + + $y = $mon/12; # convert m to y + $mon -= $y*12; + + $y=0 if ($y eq "-0"); # get around silly -0 problem + $mon=0 if ($mon eq "-0"); + + # Do the wk/day/hour/min/sec part + + { + # Unfortunately, $s is overflowing for dates more than ~70 years + # apart. + no integer; + + if ($mode==3 || $mode==2) { + $s += $d*$len*60 + $h*3600 + $m*60; # convert d/h/m to s + } else { + $s += ($d+7*$w)*$len*60 + $h*3600 + $m*60; # convert w/d/h/m to s + } + $sign2="+"; + if ($s<0) { + $s*=-1; + $sign2="-"; + } + + $m = int($s/60); # convert s to m + $s -= $m*60; + $d = int($m/$len); # convert m to d + $m -= $d*$len; + + # The rest should be fine. + } + $h = $m/60; # convert m to h + $m -= $h*60; + if ($mode == 3 || $mode == 2) { + $w = $w*1; # get around +0 problem + } else { + $w = $d/7; # convert d to w + $d -= $w*7; + } + + $w=0 if ($w eq "-0"); # get around silly -0 problem + $d=0 if ($d eq "-0"); + $h=0 if ($h eq "-0"); + $m=0 if ($m eq "-0"); + $s=0 if ($s eq "-0"); + + # Only include two signs if necessary + $sign1=$sign2 if ($y==0 and $mon==0); + $sign2=$sign1 if ($w==0 and $d==0 and $h==0 and $m==0 and $s==0); + $sign2="" if ($sign1 eq $sign2 and ! $Cnf{"DeltaSigns"}); + + if ($Cnf{"DeltaSigns"}) { + return "$sign1$y:$sign1$mon:$sign2$w:$sign2$d:$sign2$h:$sign2$m:$sign2$s"; + } else { + return "$sign1$y:$mon:$sign2$w:$d:$h:$m:$s"; + } +} + +# This checks a delta to make sure it is valid. If it is, it splits +# it and returns the elements with a sign on each. The 2nd argument +# specifies the default sign. Blank elements are set to 0. If the +# third element is non-nil, exactly 7 elements must be included. +sub _Delta_Split { + print "DEBUG: _Delta_Split\n" if ($Curr{"Debug"} =~ /trace/); + my($delta,$sign,$exact)=@_; + my(@delta)=split(/:/,$delta); + return () if ($exact and $#delta != 6); + my($i)=(); + $sign="+" if (! defined $sign); + for ($i=0; $i<=$#delta; $i++) { + $delta[$i]="0" if (! $delta[$i]); + return () if ($delta[$i] !~ /^[+-]?\d+$/); + $sign = ($delta[$i] =~ s/^([+-])// ? $1 : $sign); + $delta[$i] = $sign.$delta[$i]; + } + @delta; +} + +# Reads up to 3 arguments. $h may contain the time in any international +# format. Any empty elements are set to 0. +sub _Date_ParseTime { + print "DEBUG: _Date_ParseTime\n" if ($Curr{"Debug"} =~ /trace/); + my($h,$m,$s)=@_; + my($t)=_CheckTime("one"); + + if (defined $h and $h =~ /$t/) { + $h=$1; + $m=$2; + $s=$3 if (defined $3); + } + $h="00" if (! defined $h); + $m="00" if (! defined $m); + $s="00" if (! defined $s); + + ($h,$m,$s); +} + +# Forms a date with the 6 elements passed in (all of which must be defined). +# No check as to validity is made. +sub _Date_Join { + print "DEBUG: _Date_Join\n" if ($Curr{"Debug"} =~ /trace/); + foreach (0 .. $#_) { + croak "undefined arg $_ to _Date_Join()" if not defined $_[$_]; + } + my($y,$m,$d,$h,$mn,$s)=@_; + my($ym,$md,$dh,$hmn,$mns)=(); + + if ($Cnf{"Internal"} == 0) { + $ym=$md=$dh=""; + $hmn=$mns=":"; + + } elsif ($Cnf{"Internal"} == 1) { + $ym=$md=$dh=$hmn=$mns=""; + + } elsif ($Cnf{"Internal"} == 2) { + $ym=$md="-"; + $dh=" "; + $hmn=$mns=":"; + + } else { + confess "ERROR: Invalid internal format in _Date_Join.\n"; + } + $m="0$m" if (length($m)==1); + $d="0$d" if (length($d)==1); + $h="0$h" if (length($h)==1); + $mn="0$mn" if (length($mn)==1); + $s="0$s" if (length($s)==1); + "$y$ym$m$md$d$dh$h$hmn$mn$mns$s"; +} + +# This checks a time. If it is valid, it splits it and returns 3 elements. +# If "one" or "two" is passed in, a regexp with 1/2 or 2 digit hours is +# returned. +sub _CheckTime { + print "DEBUG: _CheckTime\n" if ($Curr{"Debug"} =~ /trace/); + my($time)=@_; + my($h)='(?:0?[0-9]|1[0-9]|2[0-3])'; + my($h2)='(?:0[0-9]|1[0-9]|2[0-3])'; + my($m)='[0-5][0-9]'; + my($s)=$m; + my($hm)="(?:". $Lang{$Cnf{"Language"}}{"SepHM"} ."|:)"; + my($ms)="(?:". $Lang{$Cnf{"Language"}}{"SepMS"} ."|:)"; + my($ss)=$Lang{$Cnf{"Language"}}{"SepSS"}; + my($t)="^($h)$hm($m)(?:$ms($s)(?:$ss\\d+)?)?\$"; + if ($time eq "one") { + return $t; + } elsif ($time eq "two") { + $t="^($h2)$hm($m)(?:$ms($s)(?:$ss\\d+)?)?\$"; + return $t; + } + + if ($time =~ /$t/i) { + ($h,$m,$s)=($1,$2,$3); + $h="0$h" if (length($h)<2); + $m="0$m" if (length($m)<2); + $s="00" if (! defined $s); + return ($h,$m,$s); + } else { + return (); + } +} + +# This checks a recurrence. If it is valid, it splits it and returns the +# elements. Otherwise, it returns an empty list. +# ($recur0,$recur1,$flags,$dateb,$date0,$date1)=_Recur_Split($recur); +sub _Recur_Split { + print "DEBUG: _Recur_Split\n" if ($Curr{"Debug"} =~ /trace/); + my($recur)=@_; + my(@ret,@tmp); + + my($R) = '(\*?(?:[-,0-9]+[:\*]){6}[-,0-9]+)'; + my($F) = '(?:\*([^*]*))'; + my($DB,$D0,$D1); + $DB=$D0=$D1=$F; + + if ($recur =~ /^$R$F?$DB?$D0?$D1?$/) { + @ret=($1,$2,$3,$4,$5); + @tmp=split(/\*/,shift(@ret)); + return () if ($#tmp>1); + return (@tmp,"",@ret) if ($#tmp==0); + return (@tmp,@ret); + } + return (); +} + +# This checks a date. If it is valid, it splits it and returns the elements. +# +# The optional second argument says 'I really expect this to be a +# valid Date::Manip object, please throw an exception if it is not'. +# Otherwise, if the date passed in is undef or '', a regular +# expression for the date is returned; if the string is nonempty but +# still not valid, () is returned. +# +sub _Date_Split { + print "DEBUG: _Date_Split\n" if ($Curr{"Debug"} =~ /trace/); + my($date, $definitely_valid)=@_; + $definitely_valid = 0 if not defined $definitely_valid; + my($ym,$md,$dh,$hmn,$mns)=(); + my($y)='(\d{4})'; + my($m)='(0[1-9]|1[0-2])'; + my($d)='(0[1-9]|[1-2][0-9]|3[0-1])'; + my($h)='([0-1][0-9]|2[0-3])'; + my($mn)='([0-5][0-9])'; + my($s)=$mn; + + if ($Cnf{"Internal"} == 0) { + $ym=$md=$dh=""; + $hmn=$mns=":"; + + } elsif ($Cnf{"Internal"} == 1) { + $ym=$md=$dh=$hmn=$mns=""; + + } elsif ($Cnf{"Internal"} == 2) { + $ym=$md="-"; + $dh=" "; + $hmn=$mns=":"; + + } else { + confess "ERROR: Invalid internal format in _Date_Split.\n"; + } + + my($t)="^$y$ym$m$md$d$dh$h$hmn$mn$mns$s\$"; + + if (not defined $date or $date eq '') { + if ($definitely_valid) { + die "bad date '$date'"; + } else { + return $t; + } + } + + if ($date =~ /$t/) { + ($y,$m,$d,$h,$mn,$s)=($1,$2,$3,$4,$5,$6); + my(@d_in_m)=(0,31,28,31,30,31,30,31,31,30,31,30,31); + $d_in_m[2]=29 if (Date_LeapYear($y)); + if ($d>$d_in_m[$m]) { + my $msg = "invalid date $date: day $d of month $m, but only $d_in_m[$m] days in that month"; + if ($definitely_valid) { + die $msg; + } + else { + warn $msg; + return (); + } + } + return ($y,$m,$d,$h,$mn,$s); + } + + if ($definitely_valid) { + die "invalid date $date: doesn't match regexp $t"; + } + return (); +} + +# This returns the date easter occurs on for a given year as ($month,$day). +# This is from the Calendar FAQ. +sub _Date_Easter { + my($y)=@_; + $y=_Date_FixYear($y) if (length($y)==2); + + my($c) = $y/100; + my($g) = $y % 19; + my($k) = ($c-17)/25; + my($i) = ($c - $c/4 - ($c-$k)/3 + 19*$g + 15) % 30; + $i = $i - ($i/28)*(1 - ($i/28)*(29/($i+1))*((21-$g)/11)); + my($j) = ($y + $y/4 + $i + 2 - $c + $c/4) % 7; + my($l) = $i-$j; + my($m) = 3 + ($l+40)/44; + my($d) = $l + 28 - 31*($m/4); + return ($m,$d); +} + +# This takes a list of years, months, WeekOfMonth's, and DayOfWeek's, and +# returns a list of dates. Optionally, a list of dates can be passed in as +# the 1st argument (with the 2nd argument the null list) and the year/month +# of these will be used. +sub _Date_Recur_WoM { + my($y,$m,$w,$d)=@_; + my(@y)=@$y; + my(@m)=@$m; + my(@w)=@$w; + my(@d)=@$d; + my($date0,$date1,@tmp,@date,$d0,$d1,@tmp2)=(); + + if (@m) { + foreach $m (@m) { + return () if (! _IsInt($m,1,12)); + } + + @tmp=@tmp2=(); + foreach $y (@y) { + foreach $m (@m) { + push(@tmp,$y); + push(@tmp2,$m); + } + } + + @y=@tmp; + @m=@tmp2; + + } else { + foreach $d0 (@y) { + @tmp=_Date_Split($d0); + return () if (! @tmp); + push(@tmp2,$tmp[0]); + push(@m,$tmp[1]); + } + @y=@tmp2; + } + + return () if (! @w); + foreach $w (@w) { + return () if ($w==0 || ! _IsInt($w,-5,5)); + } + + if (@d) { + foreach $d (@d) { + return () if ($d==0 || ! _IsInt($d,-7,7)); + $d += 8 if ($d < 0); + } + } + + @date=(); + foreach $y (@y) { + $m=shift(@m); + + # Find 1st day of this month and next month + $date0=_Date_Join($y,$m,1,0,0,0); + $date1=_DateCalc_DateDelta($date0,"+0:1:0:0:0:0:0"); + + foreach $d (@d) { + # Find 1st occurrence of DOW (in both months) + $d0=Date_GetNext($date0,$d,1); + $d1=Date_GetNext($date1,$d,1); + + @tmp=(); + while (Date_Cmp($d0,$d1)<0) { + push(@tmp,$d0); + $d0=_DateCalc_DateDelta($d0,"+0:0:1:0:0:0:0"); + } + + @tmp2=(); + foreach $w (@w) { + if ($w>0) { + next if ($w > $#tmp+1); + push(@tmp2,$tmp[$w-1]); + } else { + next if (-$w > $#tmp+1); + push(@tmp2,$tmp[$#tmp+1+$w]); + } + } + @tmp2=sort { Date_Cmp($a,$b) } @tmp2; + push(@date,@tmp2); + } + } + + @date; +} + +# This returns a sorted list of dates formed by adding/subtracting +# $delta to $dateb in the range $date0<=$d<$dateb. The first date in +# the list is actually the first date<$date0 and the last date in the +# list is the first date>=$date1 (because sometimes the set part will +# move the date back into the range). +sub _Date_Recur { + my($date0,$date1,$dateb,$delta)=@_; + my(@ret,$d)=(); + + while (Date_Cmp($dateb,$date0)<0) { + $dateb=_DateCalc_DateDelta($dateb,$delta); + } + while (Date_Cmp($dateb,$date1)>=0) { + $dateb=_DateCalc_DateDelta($dateb,"-$delta"); + } + + # Add the dates $date0..$dateb + $d=$dateb; + while (Date_Cmp($d,$date0)>=0) { + unshift(@ret,$d); + $d=_DateCalc_DateDelta($d,"-$delta"); + } + # Add the first date earler than the range + unshift(@ret,$d); + + # Add the dates $dateb..$date1 + $d=_DateCalc_DateDelta($dateb,$delta); + while (Date_Cmp($d,$date1)<0) { + push(@ret,$d); + $d=_DateCalc_DateDelta($d,$delta); + } + # Add the first date later than the range + push(@ret,$d); + + @ret; +} + +# This sets the values in each date of a recurrence. +# +# $h,$m,$s can each be values or lists "1-2,4". If any are equal to "-1", +# they are not set (and none of the larger elements are set). +sub _Date_RecurSetTime { + my($date0,$date1,$dates,$h,$m,$s)=@_; + my(@dates)=@$dates; + my(@h,@m,@s,$date,@tmp)=(); + + $m="-1" if ($s eq "-1"); + $h="-1" if ($m eq "-1"); + + if ($h ne "-1") { + @h=_ReturnList($h); + return () if ! (@h); + @h=sort { $a<=>$b } (@h); + + @tmp=(); + foreach $date (@dates) { + foreach $h (@h) { + push(@tmp,Date_SetDateField($date,"h",$h,1)); + } + } + @dates=@tmp; + } + + if ($m ne "-1") { + @m=_ReturnList($m); + return () if ! (@m); + @m=sort { $a<=>$b } (@m); + + @tmp=(); + foreach $date (@dates) { + foreach $m (@m) { + push(@tmp,Date_SetDateField($date,"mn",$m,1)); + } + } + @dates=@tmp; + } + + if ($s ne "-1") { + @s=_ReturnList($s); + return () if ! (@s); + @s=sort { $a<=>$b } (@s); + + @tmp=(); + foreach $date (@dates) { + foreach $s (@s) { + push(@tmp,Date_SetDateField($date,"s",$s,1)); + } + } + @dates=@tmp; + } + + @tmp=(); + foreach $date (@dates) { + push(@tmp,$date) if (Date_Cmp($date,$date0)>=0 && + Date_Cmp($date,$date1)<0 && + _Date_Split($date)); + } + + @tmp; +} + +sub _DateCalc_DateDate { + print "DEBUG: _DateCalc_DateDate\n" if ($Curr{"Debug"} =~ /trace/); + my($D1,$D2,$mode)=@_; + my(@d_in_m)=(0,31,28,31,30,31,30,31,31,30,31,30,31); + $mode=0 if (! defined $mode); + + # Exact mode + if ($mode==0) { + my($y1,$m1,$d1,$h1,$mn1,$s1)=_Date_Split($D1, 1); + my($y2,$m2,$d2,$h2,$mn2,$s2)=_Date_Split($D2, 1); + my($i,@delta,$d,$delta,$y)=(); + + # form the delta for hour/min/sec + $delta[4]=$h2-$h1; + $delta[5]=$mn2-$mn1; + $delta[6]=$s2-$s1; + + # form the delta for yr/mon/day + $delta[0]=$delta[1]=0; + $d=0; + if ($y2>$y1) { + $d=Date_DaysInYear($y1) - Date_DayOfYear($m1,$d1,$y1); + $d+=Date_DayOfYear($m2,$d2,$y2); + for ($y=$y1+1; $y<$y2; $y++) { + $d+= Date_DaysInYear($y); + } + } elsif ($y2<$y1) { + $d=Date_DaysInYear($y2) - Date_DayOfYear($m2,$d2,$y2); + $d+=Date_DayOfYear($m1,$d1,$y1); + for ($y=$y2+1; $y<$y1; $y++) { + $d+= Date_DaysInYear($y); + } + $d *= -1; + } else { + $d=Date_DayOfYear($m2,$d2,$y2) - Date_DayOfYear($m1,$d1,$y1); + } + $delta[2]=0; + $delta[3]=$d; + + for ($i=0; $i<7; $i++) { + $delta[$i]="+".$delta[$i] if ($delta[$i]>=0); + } + + $delta=join(":",@delta); + $delta=_Delta_Normalize($delta,0); + return $delta; + } + + my($date1,$date2)=($D1,$D2); + my($tmp,$sign,$err,@tmp)=(); + + # make sure both are work days + if ($mode==2 || $mode==3) { + $date1=Date_NextWorkDay($date1,0,1); + $date2=Date_NextWorkDay($date2,0,1); + } + + # make sure date1 comes before date2 + if (Date_Cmp($date1,$date2)>0) { + $sign="-"; + $tmp=$date1; + $date1=$date2; + $date2=$tmp; + } else { + $sign="+"; + } + if (Date_Cmp($date1,$date2)==0) { + return "+0:+0:+0:+0:+0:+0:+0" if ($Cnf{"DeltaSigns"}); + return "+0:0:0:0:0:0:0"; + } + + my($y1,$m1,$d1,$h1,$mn1,$s1)=_Date_Split($date1, 1); + my($y2,$m2,$d2,$h2,$mn2,$s2)=_Date_Split($date2, 1); + my($dy,$dm,$dw,$dd,$dh,$dmn,$ds,$ddd)=(0,0,0,0,0,0,0,0); + + if ($mode != 3) { + + # Do years + $dy=$y2-$y1; + $dm=0; + if ($dy>0) { + $tmp=_DateCalc_DateDelta($date1,"+$dy:0:0:0:0:0:0",\$err,0); + if (Date_Cmp($tmp,$date2)>0) { + $dy--; + $tmp=$date1; + $tmp=_DateCalc_DateDelta($date1,"+$dy:0:0:0:0:0:0",\$err,0) + if ($dy>0); + $dm=12; + } + $date1=$tmp; + } + + # Do months + $dm+=$m2-$m1; + if ($dm>0) { + $tmp=_DateCalc_DateDelta($date1,"+0:$dm:0:0:0:0:0",\$err,0); + if (Date_Cmp($tmp,$date2)>0) { + $dm--; + $tmp=$date1; + $tmp=_DateCalc_DateDelta($date1,"+0:$dm:0:0:0:0:0",\$err,0) + if ($dm>0); + } + $date1=$tmp; + } + + # At this point, check to see that we're on a business day again so that + # Aug 3 (Monday) -> Sep 3 (Sunday) -> Sep 4 (Monday) = 1 month + if ($mode==2) { + if (! Date_IsWorkDay($date1,0)) { + $date1=Date_NextWorkDay($date1,0,1); + } + } + } + + # Do days + if ($mode==2 || $mode==3) { + $dd=0; + while (1) { + $tmp=Date_NextWorkDay($date1,1,1); + if (Date_Cmp($tmp,$date2)<=0) { + $dd++; + $date1=$tmp; + } else { + last; + } + } + + } else { + ($y1,$m1,$d1)=( _Date_Split($date1, 1) )[0..2]; + $dd=0; + # If we're jumping across months, set $d1 to the first of the next month + # (or possibly the 0th of next month which is equivalent to the last day + # of this month) + if ($m1!=$m2) { + $d_in_m[2]=29 if (Date_LeapYear($y1)); + $dd=$d_in_m[$m1]-$d1+1; + $d1=1; + $tmp=_DateCalc_DateDelta($date1,"+0:0:0:$dd:0:0:0",\$err,0); + if (Date_Cmp($tmp,$date2)>0) { + $dd--; + $d1--; + $tmp=_DateCalc_DateDelta($date1,"+0:0:0:$dd:0:0:0",\$err,0); + } + $date1=$tmp; + } + + $ddd=0; + if ($d1<$d2) { + $ddd=$d2-$d1; + $tmp=_DateCalc_DateDelta($date1,"+0:0:0:$ddd:0:0:0",\$err,0); + if (Date_Cmp($tmp,$date2)>0) { + $ddd--; + $tmp=_DateCalc_DateDelta($date1,"+0:0:0:$ddd:0:0:0",\$err,0); + } + $date1=$tmp; + } + $dd+=$ddd; + } + + # in business mode, make sure h1 comes before h2 (if not find delta between + # now and end of day and move to start of next business day) + $d1=( _Date_Split($date1, 1) )[2]; + $dh=$dmn=$ds=0; + if ($mode==2 || $mode==3 and $d1 != $d2) { + $tmp=Date_SetTime($date1,$Cnf{"WorkDayEnd"}); + $tmp=_DateCalc_DateDelta($tmp,"+0:0:0:0:0:1:0") + if ($Cnf{"WorkDay24Hr"}); + $tmp=_DateCalc_DateDate($date1,$tmp,0); + ($tmp,$tmp,$tmp,$tmp,$dh,$dmn,$ds)=_Delta_Split($tmp); + $date1=Date_NextWorkDay($date1,1,0); + $date1=Date_SetTime($date1,$Cnf{"WorkDayBeg"}); + $d1=( _Date_Split($date1, 1) )[2]; + confess "ERROR: DateCalc DateDate Business.\n" if ($d1 != $d2); + } + + # Hours, minutes, seconds + $tmp=_DateCalc_DateDate($date1,$date2,0); + @tmp=_Delta_Split($tmp); + $dh += $tmp[4]; + $dmn += $tmp[5]; + $ds += $tmp[6]; + + $tmp="$sign$dy:$dm:0:$dd:$dh:$dmn:$ds"; + _Delta_Normalize($tmp,$mode); +} + +sub _DateCalc_DeltaDelta { + print "DEBUG: _DateCalc_DeltaDelta\n" if ($Curr{"Debug"} =~ /trace/); + my($D1,$D2,$mode)=@_; + my(@delta1,@delta2,$i,$delta,@delta)=(); + $mode=0 if (! defined $mode); + + @delta1=_Delta_Split($D1); + @delta2=_Delta_Split($D2); + for ($i=0; $i<7; $i++) { + $delta[$i]=$delta1[$i]+$delta2[$i]; + $delta[$i]="+".$delta[$i] if ($delta[$i]>=0); + } + + $delta=join(":",@delta); + $delta=_Delta_Normalize($delta,$mode); + return $delta; +} + +sub _DateCalc_DateDelta { + print "DEBUG: _DateCalc_DateDelta\n" if ($Curr{"Debug"} =~ /trace/); + my($D1,$D2,$errref,$mode)=@_; + my($date)=(); + my(@d_in_m)=(0,31,28,31,30,31,30,31,31,30,31,30,31); + my($h1,$m1,$h2,$m2,$len,$hh,$mm)=(); + $mode=0 if (! defined $mode); + + if ($mode==2 || $mode==3) { + $h1=$Curr{"WDBh"}; + $m1=$Curr{"WDBm"}; + $h2=$Curr{"WDEh"}; + $m2=$Curr{"WDEm"}; + $hh=$h2-$h1; + $mm=$m2-$m1; + if ($mm<0) { + $hh--; + $mm+=60; + } + } + + # Date, delta + my($y,$m,$d,$h,$mn,$s)=_Date_Split($D1, 1); + my($dy,$dm,$dw,$dd,$dh,$dmn,$ds)=_Delta_Split($D2); + + # do the month/year part + $y+=$dy; + while (length($y)<4) { + $y = "0$y"; + } + _ModuloAddition(-12,$dm,\$m,\$y); # -12 means 1-12 instead of 0-11 + $d_in_m[2]=29 if (Date_LeapYear($y)); + + # if we have gone past the last day of a month, move the date back to + # the last day of the month + if ($d>$d_in_m[$m]) { + $d=$d_in_m[$m]; + } + + # do the week part + if ($mode==0 || $mode==1) { + $dd += $dw*7; + } else { + $date=_DateCalc_DateDelta(_Date_Join($y,$m,$d,$h,$mn,$s), + "+0:0:$dw:0:0:0:0",0); + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date, 1); + } + + # in business mode, set the day to a work day at this point so the h/mn/s + # stuff will work out + if ($mode==2 || $mode==3) { + $d=$d_in_m[$m] if ($d>$d_in_m[$m]); + $date=Date_NextWorkDay(_Date_Join($y,$m,$d,$h,$mn,$s),0,1); + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date, 1); + } + + # seconds, minutes, hours + _ModuloAddition(60,$ds,\$s,\$mn); + if ($mode==2 || $mode==3) { + while (1) { + _ModuloAddition(60,$dmn,\$mn,\$h); + $dmn=0; + $h+= $dh; + + if ($h>$h2 or $h==$h2 && $mn>$m2) { + $dh=$h-$h2; + $dmn=$mn-$m2; + $h=$h1; + $mn=$m1; + $dd++; + + } elsif ($h<$h1 or $h==$h1 && $mn<$m1) { + $dh=$h-$h1; + #$dmn=$m1-$mn; + $h=$h2; + #$mn=$m2; + $dd--; + + } elsif ($h==$h2 && $mn==$m2) { + $dd++; + $dh=-$hh; + $dmn=-$mm; + + } else { + last; + } + } + + } else { + _ModuloAddition(60,$dmn,\$mn,\$h); + _ModuloAddition(24,$dh,\$h,\$d); + } + + # If we have just gone past the last day of the month, we need to make + # up for this: + if ($d>$d_in_m[$m]) { + $dd+= $d-$d_in_m[$m]; + $d=$d_in_m[$m]; + } + + # days + if ($mode==2 || $mode==3) { + if ($dd>=0) { + $date=Date_NextWorkDay(_Date_Join($y,$m,$d,$h,$mn,$s),$dd,1); + } else { + $date=Date_PrevWorkDay(_Date_Join($y,$m,$d,$h,$mn,$s),-$dd,1); + } + ($y,$m,$d,$h,$mn,$s)=_Date_Split($date, 1); + + } else { + $d_in_m[2]=29 if (Date_LeapYear($y)); + $d=$d_in_m[$m] if ($d>$d_in_m[$m]); + $d += $dd; + while ($d<1) { + $m--; + if ($m==0) { + $m=12; + $y--; + while (length($y)<4) { + $y="0$y" + } + if (Date_LeapYear($y)) { + $d_in_m[2]=29; + } else { + $d_in_m[2]=28; + } + } + $d += $d_in_m[$m]; + } + while ($d>$d_in_m[$m]) { + $d -= $d_in_m[$m]; + $m++; + if ($m==13) { + $m=1; + $y++; + while (length($y)<4) { + $y="0$y" + } + if (Date_LeapYear($y)) { + $d_in_m[2]=29; + } else { + $d_in_m[2]=28; + } + } + } + } + + if ($y<0 or $y>9999) { + $$errref=3; + return; + } + _Date_Join($y,$m,$d,$h,$mn,$s); +} + +sub _Date_UpdateHolidays { + print "DEBUG: _Date_UpdateHolidays\n" if ($Curr{"Debug"} =~ /trace/); + my($year)=@_; + $Holiday{"year"}=$year; + $Holiday{"dates"}{$year}={}; + + my($date,$delta,$err)=(); + my($key,@tmp,$tmp); + + foreach $key (keys %{ $Holiday{"desc"} }) { + @tmp=_Recur_Split($key); + if (@tmp) { + $tmp=ParseDateString("${year}010100:00:00"); + ($date)=ParseRecur($key,$tmp,$tmp,($year+1)."-01-01"); + next if (! $date); + + } elsif ($key =~ /^(.*)([+-].*)$/) { + # Date +/- Delta + ($date,$delta)=($1,$2); + $tmp=ParseDateString("$date $year"); + if ($tmp) { + $date=$tmp; + } else { + $date=ParseDateString($date); + next if ($date !~ /^$year/); + } + $date=DateCalc($date,$delta,\$err,0); + + } else { + # Date + $date=$key; + $tmp=ParseDateString("$date $year"); + if ($tmp) { + $date=$tmp; + } else { + $date=ParseDateString($date); + next if ($date !~ /^$year/); + } + } + $Holiday{"dates"}{$year}{$date}=$Holiday{"desc"}{$key}; + } +} + +# This sets a Date::Manip config variable. +sub _Date_SetConfigVariable { + print "DEBUG: _Date_SetConfigVariable\n" if ($Curr{"Debug"} =~ /trace/); + my($var,$val)=@_; + + # These are most appropriate for command line options instead of in files. + $Cnf{"PathSep"}=$val, return if ($var =~ /^PathSep$/i); + $Cnf{"PersonalCnf"}=$val, return if ($var =~ /^PersonalCnf$/i); + $Cnf{"PersonalCnfPath"}=$val, return if ($var =~ /^PersonalCnfPath$/i); + EraseHolidays(), return if ($var =~ /^EraseHolidays$/i); + $Cnf{"IgnoreGlobalCnf"}=1, return if ($var =~ /^IgnoreGlobalCnf$/i); + $Cnf{"GlobalCnf"}=$val, return if ($var =~ /^GlobalCnf$/i); + + $Curr{"InitLang"}=1, + $Cnf{"Language"}=$val, return if ($var =~ /^Language$/i); + $Cnf{"DateFormat"}=$val, return if ($var =~ /^DateFormat$/i); + $Cnf{"TZ"}=$val, return if ($var =~ /^TZ$/i); + $Cnf{"ConvTZ"}=$val, return if ($var =~ /^ConvTZ$/i); + $Cnf{"Internal"}=$val, return if ($var =~ /^Internal$/i); + $Cnf{"FirstDay"}=$val, return if ($var =~ /^FirstDay$/i); + $Cnf{"WorkWeekBeg"}=$val, return if ($var =~ /^WorkWeekBeg$/i); + $Cnf{"WorkWeekEnd"}=$val, return if ($var =~ /^WorkWeekEnd$/i); + $Cnf{"WorkDayBeg"}=$val, + $Curr{"ResetWorkDay"}=1, return if ($var =~ /^WorkDayBeg$/i); + $Cnf{"WorkDayEnd"}=$val, + $Curr{"ResetWorkDay"}=1, return if ($var =~ /^WorkDayEnd$/i); + $Cnf{"WorkDay24Hr"}=$val, + $Curr{"ResetWorkDay"}=1, return if ($var =~ /^WorkDay24Hr$/i); + $Cnf{"DeltaSigns"}=$val, return if ($var =~ /^DeltaSigns$/i); + $Cnf{"Jan1Week1"}=$val, return if ($var =~ /^Jan1Week1$/i); + $Cnf{"YYtoYYYY"}=$val, return if ($var =~ /^YYtoYYYY$/i); + $Cnf{"UpdateCurrTZ"}=$val, return if ($var =~ /^UpdateCurrTZ$/i); + $Cnf{"IntCharSet"}=$val, return if ($var =~ /^IntCharSet$/i); + $Curr{"DebugVal"}=$val, return if ($var =~ /^Debug$/i); + $Cnf{"TomorrowFirst"}=$val, return if ($var =~ /^TomorrowFirst$/i); + $Cnf{"ForceDate"}=$val, return if ($var =~ /^ForceDate$/i); + $Cnf{"TodayIsMidnight"}=$val, return if ($var =~ /^TodayIsMidnight$/i); + + confess "ERROR: Unknown configuration variable $var in Date::Manip.\n"; +} + +sub EraseHolidays { + print "DEBUG: EraseHolidays\n" if ($Curr{"Debug"} =~ /trace/); + + $Cnf{"EraseHolidays"}=0; + delete $Holiday{"list"}; + $Holiday{"list"}={}; + delete $Holiday{"desc"}; + $Holiday{"desc"}={}; + $Holiday{"dates"}={}; +} + +# This returns a pointer to a list of times and events in the format +# [ date [ events ], date, [ events ], ... ] +# where each list of events are events that are in effect at the date +# immediately preceding the list. +# +# This takes either one date or two dates as arguments. +sub _Events_Calc { + print "DEBUG: _Events_Calc\n" if ($Curr{"Debug"} =~ /trace/); + + my($date0,$date1)=@_; + + my($tmp); + $date0=ParseDateString($date0); + return undef if (! $date0); + if ($date1) { + $date1=ParseDateString($date1); + if (Date_Cmp($date0,$date1)>0) { + $tmp=$date1; + $date1=$date0; + $date0=$tmp; + } + } else { + $date1=_DateCalc_DateDelta($date0,"+0:0:0:0:0:0:1"); + } + + # + # [ d0,d1,del,name ] => [ d0, d1+del ) + # [ d0,0,del,name ] => [ d0, d0+del ) + # + my(%ret,$d0,$d1,$del,$name,$c0,$c1); + my(@tmp)=@{ $Events{"dates"} }; + DATE: while (@tmp) { + ($d0,$d1,$del,$name)=splice(@tmp,0,4); + $d0=ParseDateString($d0); + $d1=ParseDateString($d1) if ($d1); + $del=ParseDateDelta($del) if ($del); + if ($d1) { + if ($del) { + $d1=_DateCalc_DateDelta($d1,$del); + } + } else { + $d1=_DateCalc_DateDelta($d0,$del); + } + if (Date_Cmp($d0,$d1)>0) { + $tmp=$d1; + $d1=$d0; + $d0=$tmp; + } + # [ date0,date1 ) + # [ d0,d1 ) OR [ d0,d1 ) + next DATE if (Date_Cmp($d1,$date0)<=0 || + Date_Cmp($d0,$date1)>=0); + # [ date0,date1 ) + # [ d0,d1 ) + # [ d0, d1 ) + if (Date_Cmp($d0,$date0)<=0) { + push @{ $ret{$date0} },$name; + push @{ $ret{$d1} },"!$name" if (Date_Cmp($d1,$date1)<0); + next DATE; + } + # [ date0,date1 ) + # [ d0,d1 ) + if (Date_Cmp($d1,$date1)>=0) { + push @{ $ret{$d0} },$name; + next DATE; + } + # [ date0,date1 ) + # [ d0,d1 ) + push @{ $ret{$d0} },$name; + push @{ $ret{$d1} },"!$name"; + } + + # + # [ recur,delta0,delta1,name ] => [ {date-delta0},{date+delta1} ) + # + my($rec,$del0,$del1,@d); + @tmp=@{ $Events{"recur"} }; + RECUR: while (@tmp) { + ($rec,$del0,$del1,$name)=splice(@tmp,0,4); + @d=(); + + } + + # Sort them AND take into account the "!$name" entries. + my(%tmp,$date,@tmp2,@ret); + @d=sort { Date_Cmp($a,$b) } keys %ret; + foreach $date (@d) { + @tmp=@{ $ret{$date} }; + @tmp2=(); + foreach $tmp (@tmp) { + push(@tmp2,$tmp), next if ($tmp =~ /^!/); + $tmp{$tmp}=1; + } + foreach $tmp (@tmp2) { + $tmp =~ s/^!//; + delete $tmp{$tmp}; + } + push(@ret,$date,[ keys %tmp ]); + } + + %tmp = @ret; + @ret = (); + foreach my $d (sort { Date_Cmp($a,$b) } keys %tmp) { + my $e = $tmp{$d}; + push @ret,($d,[ sort @$e ]); + } + return \@ret; +} + +# This parses the raw events list +sub _Events_ParseRaw { + print "DEBUG: _Events_ParseRaw\n" if ($Curr{"Debug"} =~ /trace/); + + # Only need to be parsed once + my($force)=@_; + $Events{"parsed"}=0 if ($force); + return if ($Events{"parsed"}); + $Events{"parsed"}=1; + + my(@events)=@{ $Events{"raw"} }; + my($event,$name,@event,$date0,$date1,$tmp,$delta,$recur0,$recur1,@recur,$r, + $recur); + EVENT: while (@events) { + ($event,$name)=splice(@events,0,2); + @event=split(/\s*;\s*/,$event); + + if ($#event == 0) { + + if ($date0=ParseDateString($event[0])) { + # + # date = event + # + $tmp=ParseDateString("$event[0] 00:00:00"); + if ($tmp && $tmp eq $date0) { + $delta="+0:0:0:1:0:0:0"; + } else { + $delta="+0:0:0:0:1:0:0"; + } + push @{ $Events{"dates"} },($date0,0,$delta,$name); + + } elsif ($recur=ParseRecur($event[0])) { + # + # recur = event + # + ($recur0,$recur1)=_Recur_Split($recur); + if ($recur0) { + if ($recur1) { + $r="$recur0:$recur1"; + } else { + $r=$recur0; + } + } else { + $r=$recur1; + } + (@recur)=split(/:/,$r); + if (pop(@recur)==0 && pop(@recur)==0 && pop(@recur)==0) { + $delta="+0:0:0:1:0:0:0"; + } else { + $delta="+0:0:0:0:1:0:0"; + } + push @{ $Events{"recur"} },($recur,0,$delta,$name); + + } else { + # ??? = event + warn "WARNING: illegal event ignored [ @event ]\n"; + next EVENT; + } + + } elsif ($#event == 1) { + + if ($date0=ParseDateString($event[0])) { + + if ($date1=ParseDateString($event[1])) { + # + # date ; date = event + # + $tmp=ParseDateString("$event[1] 00:00:00"); + if ($tmp && $tmp eq $date1) { + $date1=_DateCalc_DateDelta($date1,"+0:0:0:1:0:0:0"); + } + push @{ $Events{"dates"} },($date0,$date1,0,$name); + + } elsif ($delta=ParseDateDelta($event[1])) { + # + # date ; delta = event + # + push @{ $Events{"dates"} },($date0,0,$delta,$name); + + } else { + # date ; ??? = event + warn "WARNING: illegal event ignored [ @event ]\n"; + next EVENT; + } + + } elsif ($recur=ParseRecur($event[0])) { + + if ($delta=ParseDateDelta($event[1])) { + # + # recur ; delta = event + # + push @{ $Events{"recur"} },($recur,0,$delta,$name); + + } else { + # recur ; ??? = event + warn "WARNING: illegal event ignored [ @event ]\n"; + next EVENT; + } + + } else { + # ??? ; ??? = event + warn "WARNING: illegal event ignored [ @event ]\n"; + next EVENT; + } + + } else { + # date ; delta0 ; delta1 = event + # recur ; delta0 ; delta1 = event + # ??? ; ??? ; ??? ... = event + warn "WARNING: illegal event ignored [ @event ]\n"; + next EVENT; + } + } +} + +# This reads an init file. +sub _Date_InitFile { + print "DEBUG: _Date_InitFile\n" if ($Curr{"Debug"} =~ /trace/); + my($file)=@_; + my($in)=new IO::File; + local($_)=(); + my($section)="vars"; + my($var,$val,$recur,$name)=(); + + $in->open($file) || return; + while(defined ($_=<$in>)) { + chomp; + s/^\s+//; + s/\s+$//; + next if ($_ eq '' or /^\#/); + + if (/^\*holiday/i) { + $section="holiday"; + EraseHolidays() if ($section =~ /holiday/i && $Cnf{"EraseHolidays"}); + next; + } elsif (/^\*events/i) { + $section="events"; + next; + } + + if ($section =~ /var/i) { + confess "ERROR: invalid Date::Manip config file line.\n $_\n" + if (! /(.*\S)\s*=\s*(.*)$/); + ($var,$val)=($1,$2); + _Date_SetConfigVariable($var,$val); + + } elsif ($section =~ /holiday/i) { + confess "ERROR: invalid Date::Manip config file line.\n $_\n" + if (! /(.*\S)\s*=\s*(.*)$/); + ($recur,$name)=($1,$2); + $name="" if (! defined $name); + $Holiday{"desc"}{$recur}=$name; + + } elsif ($section =~ /events/i) { + confess "ERROR: invalid Date::Manip config file line.\n $_\n" + if (! /(.*\S)\s*=\s*(.*)$/); + ($val,$var)=($1,$2); + push @{ $Events{"raw"} },($val,$var); + + } else { + # A section not currently used by Date::Manip (but may be + # used by some extension to it). + next; + } + } + close($in); +} + +# $flag=_Date_TimeCheck(\$h,\$mn,\$s,\$ampm); +# Returns 1 if any of the fields are bad. All fields are optional, and +# all possible checks are done on the data. If a field is not passed in, +# it is set to default values. If data is missing, appropriate defaults +# are supplied. +sub _Date_TimeCheck { + print "DEBUG: _Date_TimeCheck\n" if ($Curr{"Debug"} =~ /trace/); + my($h,$mn,$s,$ampm)=@_; + my($tmp1,$tmp2,$tmp3)=(); + + $$h="" if (! defined $$h); + $$mn="" if (! defined $$mn); + $$s="" if (! defined $$s); + $$ampm="" if (! defined $$ampm); + $$ampm=uc($$ampm) if ($$ampm); + + # Check hour + $tmp1=$Lang{$Cnf{"Language"}}{"AmPm"}; + $tmp2=""; + if ($$ampm =~ /^$tmp1$/i) { + $tmp3=$Lang{$Cnf{"Language"}}{"AM"}; + $tmp2="AM" if ($$ampm =~ /^$tmp3$/i); + $tmp3=$Lang{$Cnf{"Language"}}{"PM"}; + $tmp2="PM" if ($$ampm =~ /^$tmp3$/i); + } elsif ($$ampm) { + return 1; + } + if ($tmp2 eq "AM" || $tmp2 eq "PM") { + $$h="0$$h" if (length($$h)==1); + return 1 if ($$h<1 || $$h>12); + $$h="00" if ($tmp2 eq "AM" and $$h==12); + $$h += 12 if ($tmp2 eq "PM" and $$h!=12); + } else { + $$h="00" if ($$h eq ""); + $$h="0$$h" if (length($$h)==1); + return 1 if (! _IsInt($$h,0,23)); + $tmp2="AM" if ($$h<12); + $tmp2="PM" if ($$h>=12); + } + $$ampm=$Lang{$Cnf{"Language"}}{"AMstr"}; + $$ampm=$Lang{$Cnf{"Language"}}{"PMstr"} if ($tmp2 eq "PM"); + + # Check minutes + $$mn="00" if ($$mn eq ""); + $$mn="0$$mn" if (length($$mn)==1); + return 1 if (! _IsInt($$mn,0,59)); + + # Check seconds + $$s="00" if ($$s eq ""); + $$s="0$$s" if (length($$s)==1); + return 1 if (! _IsInt($$s,0,59)); + + return 0; +} + +# $flag=_Date_DateCheck(\$y,\$m,\$d,\$h,\$mn,\$s,\$ampm,\$wk); +# Returns 1 if any of the fields are bad. All fields are optional, and +# all possible checks are done on the data. If a field is not passed in, +# it is set to default values. If data is missing, appropriate defaults +# are supplied. +# +# If the flag UpdateHolidays is set, the year is set to +# CurrHolidayYear. +sub _Date_DateCheck { + print "DEBUG: _Date_DateCheck\n" if ($Curr{"Debug"} =~ /trace/); + my($y,$m,$d,$h,$mn,$s,$ampm,$wk)=@_; + my($tmp1,$tmp2,$tmp3)=(); + + my(@d_in_m)=(0,31,28,31,30,31,30,31,31,30,31,30,31); + my($curr_y)=$Curr{"Y"}; + my($curr_m)=$Curr{"M"}; + my($curr_d)=$Curr{"D"}; + $$m=1, $$d=1 if (defined $$y and ! defined $$m and ! defined $$d); + $$y="" if (! defined $$y); + $$m="" if (! defined $$m); + $$d="" if (! defined $$d); + $$wk="" if (! defined $$wk); + $$d=$curr_d if ($$y eq "" and $$m eq "" and $$d eq ""); + + # Check year. + $$y=$curr_y if ($$y eq ""); + $$y=_Date_FixYear($$y) if (length($$y)<4); + return 1 if (! _IsInt($$y,0,9999)); + $d_in_m[2]=29 if (Date_LeapYear($$y)); + + # Check month + $$m=$curr_m if ($$m eq ""); + $$m=$Lang{$Cnf{"Language"}}{"MonthH"}{lc($$m)} + if (exists $Lang{$Cnf{"Language"}}{"MonthH"}{lc($$m)}); + $$m="0$$m" if (length($$m)==1); + return 1 if (! _IsInt($$m,1,12)); + + # Check day + $$d="01" if ($$d eq ""); + $$d="0$$d" if (length($$d)==1); + return 1 if (! _IsInt($$d,1,$d_in_m[$$m])); + if ($$wk) { + $tmp1=Date_DayOfWeek($$m,$$d,$$y); + $tmp2=$Lang{$Cnf{"Language"}}{"WeekH"}{lc($$wk)} + if (exists $Lang{$Cnf{"Language"}}{"WeekH"}{lc($$wk)}); + return 1 if ($tmp1 != $tmp2); + } + + return _Date_TimeCheck($h,$mn,$s,$ampm); +} + +# Takes a year in 2 digit form and returns it in 4 digit form +sub _Date_FixYear { + print "DEBUG: _Date_FixYear\n" if ($Curr{"Debug"} =~ /trace/); + my($y)=@_; + my($curr_y)=$Curr{"Y"}; + $y=$curr_y if (! defined $y or ! $y); + return $y if (length($y)==4); + confess "ERROR: Invalid year ($y)\n" if (length($y)!=2); + my($y1,$y2)=(); + + if (lc($Cnf{"YYtoYYYY"}) eq "c") { + $y1=substr($y,0,2); + $y="$y1$y"; + + } elsif ($Cnf{"YYtoYYYY"} =~ /^c(\d{2})$/i) { + $y1=$1; + $y="$y1$y"; + + } elsif ($Cnf{"YYtoYYYY"} =~ /^c(\d{2})(\d{2})$/i) { + $y1="$1$2"; + $y ="$1$y"; + $y += 100 if ($y<$y1); + + } else { + $y1=$curr_y-$Cnf{"YYtoYYYY"}; + $y2=$y1+99; + $y="19$y"; + while ($y<$y1) { + $y+=100; + } + while ($y>$y2) { + $y-=100; + } + } + $y; +} + +# _Date_NthWeekOfYear($y,$n); +# Returns a list of (YYYY,MM,DD) for the 1st day of the Nth week of the +# year. +# _Date_NthWeekOfYear($y,$n,$dow,$flag); +# Returns a list of (YYYY,MM,DD) for the Nth DoW of the year. If flag +# is nil, the first DoW of the year may actually be in the previous +# year (since the 1st week may include days from the previous year). +# If flag is non-nil, the 1st DoW of the year refers to the 1st one +# actually in the year +sub _Date_NthWeekOfYear { + print "DEBUG: _Date_NthWeekOfYear\n" if ($Curr{"Debug"} =~ /trace/); + my($y,$n,$dow,$flag)=@_; + my($m,$d,$err,$tmp,$date,%dow)=(); + $y=$Curr{"Y"} if (! defined $y or ! $y); + $n=1 if (! defined $n or $n eq ""); + return () if ($n<0 || $n>53); + if (defined $dow) { + $dow=lc($dow); + %dow=%{ $Lang{$Cnf{"Language"}}{"WeekH"} }; + $dow=$dow{$dow} if (exists $dow{$dow}); + return () if ($dow<1 || $dow>7); + $flag="" if (! defined $flag); + } else { + $dow=""; + $flag=""; + } + + $y=_Date_FixYear($y) if (length($y)<4); + if ($Cnf{"Jan1Week1"}) { + $date=_Date_Join($y,1,1,0,0,0); + } else { + $date=_Date_Join($y,1,4,0,0,0); + } + $date=Date_GetPrev($date,$Cnf{"FirstDay"},1); + $date=Date_GetNext($date,$dow,1) if ($dow ne ""); + + if ($flag) { + ($tmp)=_Date_Split($date, 1); + $n++ if ($tmp != $y); + } + + if ($n>1) { + $date=_DateCalc_DateDelta($date,"+0:0:". ($n-1) . ":0:0:0:0",\$err,0); + } elsif ($n==0) { + $date=_DateCalc_DateDelta($date,"-0:0:1:0:0:0:0",\$err,0); + } + ($y,$m,$d)=_Date_Split($date, 1); + ($y,$m,$d); +} + +######################################################################## +# LANGUAGE INITIALIZATION +######################################################################## + +# 8-bit international characters can be gotten by "\xXX". I don't know +# how to get 16-bit characters. I've got to read up on perllocale. +sub _Char_8Bit { + my($hash)=@_; + + # grave ` + # A` 00c0 a` 00e0 + # E` 00c8 e` 00e8 + # I` 00cc i` 00ec + # O` 00d2 o` 00f2 + # U` 00d9 u` 00f9 + # W` 1e80 w` 1e81 + # Y` 1ef2 y` 1ef3 + + $$hash{"A`"} = "\xc0"; # LATIN CAPITAL LETTER A WITH GRAVE + $$hash{"E`"} = "\xc8"; # LATIN CAPITAL LETTER E WITH GRAVE + $$hash{"I`"} = "\xcc"; # LATIN CAPITAL LETTER I WITH GRAVE + $$hash{"O`"} = "\xd2"; # LATIN CAPITAL LETTER O WITH GRAVE + $$hash{"U`"} = "\xd9"; # LATIN CAPITAL LETTER U WITH GRAVE + $$hash{"a`"} = "\xe0"; # LATIN SMALL LETTER A WITH GRAVE + $$hash{"e`"} = "\xe8"; # LATIN SMALL LETTER E WITH GRAVE + $$hash{"i`"} = "\xec"; # LATIN SMALL LETTER I WITH GRAVE + $$hash{"o`"} = "\xf2"; # LATIN SMALL LETTER O WITH GRAVE + $$hash{"u`"} = "\xf9"; # LATIN SMALL LETTER U WITH GRAVE + + # acute ' + # A' 00c1 a' 00e1 + # C' 0106 c' 0107 + # E' 00c9 e' 00e9 + # I' 00cd i' 00ed + # L' 0139 l' 013a + # N' 0143 n' 0144 + # O' 00d3 o' 00f3 + # R' 0154 r' 0155 + # S' 015a s' 015b + # U' 00da u' 00fa + # W' 1e82 w' 1e83 + # Y' 00dd y' 00fd + # Z' 0179 z' 017a + + $$hash{"A'"} = "\xc1"; # LATIN CAPITAL LETTER A WITH ACUTE + $$hash{"E'"} = "\xc9"; # LATIN CAPITAL LETTER E WITH ACUTE + $$hash{"I'"} = "\xcd"; # LATIN CAPITAL LETTER I WITH ACUTE + $$hash{"O'"} = "\xd3"; # LATIN CAPITAL LETTER O WITH ACUTE + $$hash{"U'"} = "\xda"; # LATIN CAPITAL LETTER U WITH ACUTE + $$hash{"Y'"} = "\xdd"; # LATIN CAPITAL LETTER Y WITH ACUTE + $$hash{"a'"} = "\xe1"; # LATIN SMALL LETTER A WITH ACUTE + $$hash{"e'"} = "\xe9"; # LATIN SMALL LETTER E WITH ACUTE + $$hash{"i'"} = "\xed"; # LATIN SMALL LETTER I WITH ACUTE + $$hash{"o'"} = "\xf3"; # LATIN SMALL LETTER O WITH ACUTE + $$hash{"u'"} = "\xfa"; # LATIN SMALL LETTER U WITH ACUTE + $$hash{"y'"} = "\xfd"; # LATIN SMALL LETTER Y WITH ACUTE + + # double acute " " + # O" 0150 o" 0151 + # U" 0170 u" 0171 + + # circumflex ^ + # A^ 00c2 a^ 00e2 + # C^ 0108 c^ 0109 + # E^ 00ca e^ 00ea + # G^ 011c g^ 011d + # H^ 0124 h^ 0125 + # I^ 00ce i^ 00ee + # J^ 0134 j^ 0135 + # O^ 00d4 o^ 00f4 + # S^ 015c s^ 015d + # U^ 00db u^ 00fb + # W^ 0174 w^ 0175 + # Y^ 0176 y^ 0177 + + $$hash{"A^"} = "\xc2"; # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + $$hash{"E^"} = "\xca"; # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + $$hash{"I^"} = "\xce"; # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + $$hash{"O^"} = "\xd4"; # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + $$hash{"U^"} = "\xdb"; # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + $$hash{"a^"} = "\xe2"; # LATIN SMALL LETTER A WITH CIRCUMFLEX + $$hash{"e^"} = "\xea"; # LATIN SMALL LETTER E WITH CIRCUMFLEX + $$hash{"i^"} = "\xee"; # LATIN SMALL LETTER I WITH CIRCUMFLEX + $$hash{"o^"} = "\xf4"; # LATIN SMALL LETTER O WITH CIRCUMFLEX + $$hash{"u^"} = "\xfb"; # LATIN SMALL LETTER U WITH CIRCUMFLEX + + # tilde ~ + # A~ 00c3 a~ 00e3 + # I~ 0128 i~ 0129 + # N~ 00d1 n~ 00f1 + # O~ 00d5 o~ 00f5 + # U~ 0168 u~ 0169 + + $$hash{"A~"} = "\xc3"; # LATIN CAPITAL LETTER A WITH TILDE + $$hash{"N~"} = "\xd1"; # LATIN CAPITAL LETTER N WITH TILDE + $$hash{"O~"} = "\xd5"; # LATIN CAPITAL LETTER O WITH TILDE + $$hash{"a~"} = "\xe3"; # LATIN SMALL LETTER A WITH TILDE + $$hash{"n~"} = "\xf1"; # LATIN SMALL LETTER N WITH TILDE + $$hash{"o~"} = "\xf5"; # LATIN SMALL LETTER O WITH TILDE + + # macron - + # A- 0100 a- 0101 + # E- 0112 e- 0113 + # I- 012a i- 012b + # O- 014c o- 014d + # U- 016a u- 016b + + # breve ( [half circle up] + # A( 0102 a( 0103 + # G( 011e g( 011f + # U( 016c u( 016d + + # dot . + # C. 010a c. 010b + # E. 0116 e. 0117 + # G. 0120 g. 0121 + # I. 0130 + # Z. 017b z. 017c + + # diaeresis : [side by side dots] + # A: 00c4 a: 00e4 + # E: 00cb e: 00eb + # I: 00cf i: 00ef + # O: 00d6 o: 00f6 + # U: 00dc u: 00fc + # W: 1e84 w: 1e85 + # Y: 0178 y: 00ff + + $$hash{"A:"} = "\xc4"; # LATIN CAPITAL LETTER A WITH DIAERESIS + $$hash{"E:"} = "\xcb"; # LATIN CAPITAL LETTER E WITH DIAERESIS + $$hash{"I:"} = "\xcf"; # LATIN CAPITAL LETTER I WITH DIAERESIS + $$hash{"O:"} = "\xd6"; # LATIN CAPITAL LETTER O WITH DIAERESIS + $$hash{"U:"} = "\xdc"; # LATIN CAPITAL LETTER U WITH DIAERESIS + $$hash{"a:"} = "\xe4"; # LATIN SMALL LETTER A WITH DIAERESIS + $$hash{"e:"} = "\xeb"; # LATIN SMALL LETTER E WITH DIAERESIS + $$hash{"i:"} = "\xef"; # LATIN SMALL LETTER I WITH DIAERESIS + $$hash{"o:"} = "\xf6"; # LATIN SMALL LETTER O WITH DIAERESIS + $$hash{"u:"} = "\xfc"; # LATIN SMALL LETTER U WITH DIAERESIS + $$hash{"y:"} = "\xff"; # LATIN SMALL LETTER Y WITH DIAERESIS + + # ring o + # U0 016e u0 016f + + # cedilla , [squiggle down and left below the letter] + # ,C 00c7 ,c 00e7 + # ,G 0122 ,g 0123 + # ,K 0136 ,k 0137 + # ,L 013b ,l 013c + # ,N 0145 ,n 0146 + # ,R 0156 ,r 0157 + # ,S 015e ,s 015f + # ,T 0162 ,t 0163 + + $$hash{",C"} = "\xc7"; # LATIN CAPITAL LETTER C WITH CEDILLA + $$hash{",c"} = "\xe7"; # LATIN SMALL LETTER C WITH CEDILLA + + # ogonek ; [squiggle down and right below the letter] + # A; 0104 a; 0105 + # E; 0118 e; 0119 + # I; 012e i; 012f + # U; 0172 u; 0173 + + # caron < [little v on top] + # A< 01cd a< 01ce + # C< 010c c< 010d + # D< 010e d< 010f + # E< 011a e< 011b + # L< 013d l< 013e + # N< 0147 n< 0148 + # R< 0158 r< 0159 + # S< 0160 s< 0161 + # T< 0164 t< 0165 + # Z< 017d z< 017e + + + # Other characters + + # First character is below, 2nd character is above + $$hash{"||"} = "\xa6"; # BROKEN BAR + $$hash{" :"} = "\xa8"; # DIAERESIS + $$hash{"-a"} = "\xaa"; # FEMININE ORDINAL INDICATOR + #$$hash{" -"}= "\xaf"; # MACRON (narrow bar) + $$hash{" -"} = "\xad"; # HYPHEN (wide bar) + $$hash{" o"} = "\xb0"; # DEGREE SIGN + $$hash{"-+"} = "\xb1"; # PLUS\342\200\220MINUS SIGN + $$hash{" 1"} = "\xb9"; # SUPERSCRIPT ONE + $$hash{" 2"} = "\xb2"; # SUPERSCRIPT TWO + $$hash{" 3"} = "\xb3"; # SUPERSCRIPT THREE + $$hash{" '"} = "\xb4"; # ACUTE ACCENT + $$hash{"-o"} = "\xba"; # MASCULINE ORDINAL INDICATOR + $$hash{" ."} = "\xb7"; # MIDDLE DOT + $$hash{", "} = "\xb8"; # CEDILLA + $$hash{"Ao"} = "\xc5"; # LATIN CAPITAL LETTER A WITH RING ABOVE + $$hash{"ao"} = "\xe5"; # LATIN SMALL LETTER A WITH RING ABOVE + $$hash{"ox"} = "\xf0"; # LATIN SMALL LETTER ETH + + # upside down characters + + $$hash{"ud!"} = "\xa1"; # INVERTED EXCLAMATION MARK + $$hash{"ud?"} = "\xbf"; # INVERTED QUESTION MARK + + # overlay characters + + $$hash{"X o"} = "\xa4"; # CURRENCY SIGN + $$hash{"Y ="} = "\xa5"; # YEN SIGN + $$hash{"S o"} = "\xa7"; # SECTION SIGN + $$hash{"O c"} = "\xa9"; # COPYRIGHT SIGN Copyright + $$hash{"O R"} = "\xae"; # REGISTERED SIGN + $$hash{"D -"} = "\xd0"; # LATIN CAPITAL LETTER ETH + $$hash{"O /"} = "\xd8"; # LATIN CAPITAL LETTER O WITH STROKE + $$hash{"o /"} = "\xf8"; # LATIN SMALL LETTER O WITH STROKE + + # special names + + $$hash{"1/4"} = "\xbc"; # VULGAR FRACTION ONE QUARTER + $$hash{"1/2"} = "\xbd"; # VULGAR FRACTION ONE HALF + $$hash{"3/4"} = "\xbe"; # VULGAR FRACTION THREE QUARTERS + $$hash{"<<"} = "\xab"; # LEFT POINTING DOUBLE ANGLE QUOTATION MARK + $$hash{">>"} = "\xbb"; # RIGHT POINTING DOUBLE ANGLE QUOTATION MARK + $$hash{"cent"}= "\xa2"; # CENT SIGN + $$hash{"lb"} = "\xa3"; # POUND SIGN + $$hash{"mu"} = "\xb5"; # MICRO SIGN + $$hash{"beta"}= "\xdf"; # LATIN SMALL LETTER SHARP S + $$hash{"para"}= "\xb6"; # PILCROW SIGN + $$hash{"-|"} = "\xac"; # NOT SIGN + $$hash{"AE"} = "\xc6"; # LATIN CAPITAL LETTER AE + $$hash{"ae"} = "\xe6"; # LATIN SMALL LETTER AE + $$hash{"x"} = "\xd7"; # MULTIPLICATION SIGN + $$hash{"P"} = "\xde"; # LATIN CAPITAL LETTER THORN + $$hash{"/"} = "\xf7"; # DIVISION SIGN + $$hash{"p"} = "\xfe"; # LATIN SMALL LETTER THORN +} + +# $hashref = _Date_Init_LANGUAGE; +# This returns a hash containing all of the initialization for a +# specific language. The hash elements are: +# +# @ month_name full month names January February ... +# @ month_abb month abbreviations Jan Feb ... +# @ day_name day names Monday Tuesday ... +# @ day_abb day abbreviations Mon Tue ... +# @ day_char day character abbrevs M T ... +# @ am AM notations +# @ pm PM notations +# +# @ num_suff number with suffix 1st 2nd ... +# @ num_word numbers spelled out first second ... +# +# $ now words which mean now now ... +# $ today words which mean today today ... +# $ last words which mean last last final ... +# $ each words which mean each each every ... +# $ of of (as in a member of) in of ... +# ex. 4th day OF June +# $ at at 4:00 at +# $ on on Sunday on +# $ future in the future in +# $ past in the past ago +# $ next next item next +# $ prev previous item last previous +# $ later 2 hours later +# +# % offset a hash of special dates { tomorrow->0:0:0:1:0:0:0 } +# % times a hash of times { noon->12:00:00 ... } +# +# $ years words for year y yr year ... +# $ months words for month +# $ weeks words for week +# $ days words for day +# $ hours words for hour +# $ minutes words for minute +# $ seconds words for second +# % replace +# The replace element is quite important, but a bit tricky. In +# English (and probably other languages), one of the abbreviations +# for the word month that would be nice is "m". The problem is that +# "m" matches the "m" in "minute" which causes the string to be +# improperly matched in some cases. Hence, the list of abbreviations +# for month is given as: +# "mon month months" +# In order to allow you to enter "m", replacements can be done. +# $replace is a list of pairs of words which are matched and replaced +# AS ENTIRE WORDS. Having $replace equal to "m"->"month" means that +# the entire word "m" will be replaced with "month". This allows the +# desired abbreviation to be used. Make sure that replace contains +# an even number of words (i.e. all must be pairs). Any time a +# desired abbreviation matches the start of any other, it has to go +# here. +# +# $ exact exact mode exactly +# $ approx approximate mode approximately +# $ business business mode business +# +# r sephm hour/minute separator (?::) +# r sepms minute/second separator (?::) +# r sepss second/fraction separator (?:[.:]) +# +# Elements marked with an asterix (@) are returned as a set of lists. +# Each list contains the strings for each element. The first set is used +# when the 7-bit ASCII (US) character set is wanted. The 2nd set is used +# when an international character set is available. Both of the 1st two +# sets should be complete (but the 2nd list can be left empty to force the +# first set to be used always). The 3rd set and later can be partial sets +# if desired. +# +# Elements marked with a dollar ($) are returned as a simple list of words. +# +# Elements marked with a percent (%) are returned as a hash list. +# +# Elements marked with (r) are regular expression elements which must not +# create a back reference. +# +# ***NOTE*** Every hash element (unless otherwise noted) MUST be defined in +# every language. + +sub _Date_Init_English { + print "DEBUG: _Date_Init_English\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + + $$d{"month_name"}= + [["January","February","March","April","May","June", + "July","August","September","October","November","December"]]; + + $$d{"month_abb"}= + [["Jan","Feb","Mar","Apr","May","Jun", + "Jul","Aug","Sep","Oct","Nov","Dec"], + [], + ["","","","","","","","","Sept"]]; + + $$d{"day_name"}= + [["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]]; + $$d{"day_abb"}= + [["Mon","Tue","Wed","Thu","Fri","Sat","Sun"], + ["", "Tues","", "Thur","", "", ""]]; + $$d{"day_char"}= + [["M","T","W","Th","F","Sa","S"]]; + + $$d{"num_suff"}= + [["1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th", + "11th","12th","13th","14th","15th","16th","17th","18th","19th","20th", + "21st","22nd","23rd","24th","25th","26th","27th","28th","29th","30th", + "31st"]]; + $$d{"num_word"}= + [["first","second","third","fourth","fifth","sixth","seventh","eighth", + "ninth","tenth","eleventh","twelfth","thirteenth","fourteenth", + "fifteenth","sixteenth","seventeenth","eighteenth","nineteenth", + "twentieth","twenty-first","twenty-second","twenty-third", + "twenty-fourth","twenty-fifth","twenty-sixth","twenty-seventh", + "twenty-eighth","twenty-ninth","thirtieth","thirty-first"]]; + + $$d{"now"} =["now"]; + $$d{"today"} =["today"]; + $$d{"last"} =["last","final"]; + $$d{"each"} =["each","every"]; + $$d{"of"} =["in","of"]; + $$d{"at"} =["at"]; + $$d{"on"} =["on"]; + $$d{"future"} =["in"]; + $$d{"past"} =["ago"]; + $$d{"next"} =["next"]; + $$d{"prev"} =["previous","last"]; + $$d{"later"} =["later"]; + + $$d{"exact"} =["exactly"]; + $$d{"approx"} =["approximately"]; + $$d{"business"}=["business"]; + + $$d{"offset"} =["yesterday","-0:0:0:1:0:0:0","tomorrow","+0:0:0:1:0:0:0","overmorrow","+0:0:0:2:0:0:0","ereyesterday","-0:0:0:2:0:0:0"]; + $$d{"times"} =["noon","12:00:00","midnight","00:00:00"]; + + $$d{"years"} =["y","yr","year","yrs","years"]; + $$d{"months"} =["mon","month","months"]; + $$d{"weeks"} =["w","wk","wks","week","weeks"]; + $$d{"days"} =["d","day","days"]; + $$d{"hours"} =["h","hr","hrs","hour","hours"]; + $$d{"minutes"} =["mn","min","minute","minutes"]; + $$d{"seconds"} =["s","sec","second","seconds"]; + $$d{"replace"} =["m","month"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +sub _Date_Init_Italian { + print "DEBUG: _Date_Init_Italian\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($i)=$h{"i`"}; + + $$d{"month_name"}= + [[qw(Gennaio Febbraio Marzo Aprile Maggio Giugno + Luglio Agosto Settembre Ottobre Novembre Dicembre)]]; + + $$d{"month_abb"}= + [[qw(Gen Feb Mar Apr Mag Giu Lug Ago Set Ott Nov Dic)]]; + + $$d{"day_name"}= + [[qw(Lunedi Martedi Mercoledi Giovedi Venerdi Sabato Domenica)], + [qw(Luned${i} Marted${i} Mercoled${i} Gioved${i} Venerd${i})]]; + $$d{"day_abb"}= + [[qw(Lun Mar Mer Gio Ven Sab Dom)]]; + $$d{"day_char"}= + [[qw(L Ma Me G V S D)]]; + + $$d{"num_suff"}= + [[qw(1mo 2do 3zo 4to 5to 6to 7mo 8vo 9no 10mo 11mo 12mo 13mo 14mo 15mo + 16mo 17mo 18mo 19mo 20mo 21mo 22mo 23mo 24mo 25mo 26mo 27mo 28mo + 29mo 3mo 31mo)]]; + $$d{"num_word"}= + [[qw(primo secondo terzo quarto quinto sesto settimo ottavo nono decimo + undicesimo dodicesimo tredicesimo quattordicesimo quindicesimo + sedicesimo diciassettesimo diciottesimo diciannovesimo ventesimo + ventunesimo ventiduesimo ventitreesimo ventiquattresimo + venticinquesimo ventiseiesimo ventisettesimo ventottesimo + ventinovesimo trentesimo trentunesimo)]]; + + $$d{"now"} =[qw(adesso)]; + $$d{"today"} =[qw(oggi)]; + $$d{"last"} =[qw(ultimo)]; + $$d{"each"} =[qw(ogni)]; + $$d{"of"} =[qw(della del)]; + $$d{"at"} =[qw(alle)]; + $$d{"on"} =[qw(di)]; + $$d{"future"} =[qw(fra)]; + $$d{"past"} =[qw(fa)]; + $$d{"next"} =[qw(prossimo)]; + $$d{"prev"} =[qw(ultimo)]; + $$d{"later"} =[qw(dopo)]; + + $$d{"exact"} =[qw(esattamente)]; + $$d{"approx"} =[qw(circa)]; + $$d{"business"}=[qw(lavorativi lavorativo)]; + + $$d{"offset"} =[qw(ieri -0:0:0:1:0:0:0 domani +0:0:0:1:0:0:0)]; + $$d{"times"} =[qw(mezzogiorno 12:00:00 mezzanotte 00:00:00)]; + + $$d{"years"} =[qw(anni anno a)]; + $$d{"months"} =[qw(mesi mese mes)]; + $$d{"weeks"} =[qw(settimane settimana sett)]; + $$d{"days"} =[qw(giorni giorno g)]; + $$d{"hours"} =[qw(ore ora h)]; + $$d{"minutes"} =[qw(minuti minuto min)]; + $$d{"seconds"} =[qw(secondi secondo sec)]; + $$d{"replace"} =[qw(s sec m mes)]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = [qw(AM)]; + $$d{"pm"} = [qw(PM)]; +} + +sub _Date_Init_French { + print "DEBUG: _Date_Init_French\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($e)=$h{"e'"}; + my($u)=$h{"u^"}; + my($a)=$h{"a'"}; + + $$d{"month_name"}= + [["janvier","fevrier","mars","avril","mai","juin", + "juillet","aout","septembre","octobre","novembre","decembre"], + ["janvier","f${e}vrier","mars","avril","mai","juin", + "juillet","ao${u}t","septembre","octobre","novembre","d${e}cembre"]]; + $$d{"month_abb"}= + [["jan","fev","mar","avr","mai","juin", + "juil","aout","sept","oct","nov","dec"], + ["jan","f${e}v","mar","avr","mai","juin", + "juil","ao${u}t","sept","oct","nov","d${e}c"]]; + + $$d{"day_name"}= + [["lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"]]; + $$d{"day_abb"}= + [["lun","mar","mer","jeu","ven","sam","dim"]]; + $$d{"day_char"}= + [["l","ma","me","j","v","s","d"]]; + + $$d{"num_suff"}= + [["1er","2e","3e","4e","5e","6e","7e","8e","9e","10e", + "11e","12e","13e","14e","15e","16e","17e","18e","19e","20e", + "21e","22e","23e","24e","25e","26e","27e","28e","29e","30e", + "31e"]]; + $$d{"num_word"}= + [["premier","deux","trois","quatre","cinq","six","sept","huit","neuf", + "dix","onze","douze","treize","quatorze","quinze","seize","dix-sept", + "dix-huit","dix-neuf","vingt","vingt et un","vingt-deux","vingt-trois", + "vingt-quatre","vingt-cinq","vingt-six","vingt-sept","vingt-huit", + "vingt-neuf","trente","trente et un"], + ["1re"]]; + + $$d{"now"} =["maintenant"]; + $$d{"today"} =["aujourd'hui"]; + $$d{"last"} =["dernier"]; + $$d{"each"} =["chaque","tous les","toutes les"]; + $$d{"of"} =["en","de"]; + $$d{"at"} =["a","${a}0"]; + $$d{"on"} =["sur"]; + $$d{"future"} =["en"]; + $$d{"past"} =["il y a"]; + $$d{"next"} =["suivant"]; + $$d{"prev"} =["precedent","pr${e}c${e}dent"]; + $$d{"later"} =["plus tard"]; + + $$d{"exact"} =["exactement"]; + $$d{"approx"} =["approximativement"]; + $$d{"business"}=["professionel"]; + + $$d{"offset"} =["hier","-0:0:0:1:0:0:0","demain","+0:0:0:1:0:0:0"]; + $$d{"times"} =["midi","12:00:00","minuit","00:00:00"]; + + $$d{"years"} =["an","annee","ans","annees","ann${e}e","ann${e}es"]; + $$d{"months"} =["mois"]; + $$d{"weeks"} =["sem","semaine"]; + $$d{"days"} =["j","jour","jours"]; + $$d{"hours"} =["h","heure","heures"]; + $$d{"minutes"} =["mn","min","minute","minutes"]; + $$d{"seconds"} =["s","sec","seconde","secondes"]; + $$d{"replace"} =["m","mois"]; + + $$d{"sephm"} ='[h:]'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:,]'; + + $$d{"am"} = ["du matin"]; + $$d{"pm"} = ["du soir"]; +} + +sub _Date_Init_Romanian { + print "DEBUG: _Date_Init_Romanian\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($p)=$h{"p"}; + my($i)=$h{"i^"}; + my($a)=$h{"a~"}; + my($o)=$h{"-o"}; + + $$d{"month_name"}= + [["ianuarie","februarie","martie","aprilie","mai","iunie", + "iulie","august","septembrie","octombrie","noiembrie","decembrie"]]; + $$d{"month_abb"}= + [["ian","febr","mart","apr","mai","iun", + "iul","aug","sept","oct","nov","dec"], + ["","feb"]]; + + $$d{"day_name"}= + [["luni","marti","miercuri","joi","vineri","simbata","duminica"], + ["luni","mar${p}i","miercuri","joi","vineri","s${i}mb${a}t${a}", + "duminic${a}"]]; + $$d{"day_abb"}= + [["lun","mar","mie","joi","vin","sim","dum"], + ["lun","mar","mie","joi","vin","s${i}m","dum"]]; + $$d{"day_char"}= + [["L","Ma","Mi","J","V","S","D"]]; + + $$d{"num_suff"}= + [["prima","a doua","a 3-a","a 4-a","a 5-a","a 6-a","a 7-a","a 8-a", + "a 9-a","a 10-a","a 11-a","a 12-a","a 13-a","a 14-a","a 15-a", + "a 16-a","a 17-a","a 18-a","a 19-a","a 20-a","a 21-a","a 22-a", + "a 23-a","a 24-a","a 25-a","a 26-a","a 27-a","a 28-a","a 29-a", + "a 30-a","a 31-a"]]; + + $$d{"num_word"}= + [["prima","a doua","a treia","a patra","a cincea","a sasea","a saptea", + "a opta","a noua","a zecea","a unsprezecea","a doisprezecea", + "a treisprezecea","a patrusprezecea","a cincisprezecea","a saiprezecea", + "a saptesprezecea","a optsprezecea","a nouasprezecea","a douazecea", + "a douazecisiuna","a douazecisidoua","a douazecisitreia", + "a douazecisipatra","a douazecisicincea","a douazecisisasea", + "a douazecisisaptea","a douazecisiopta","a douazecisinoua","a treizecea", + "a treizecisiuna"], + ["prima","a doua","a treia","a patra","a cincea","a ${o}asea", + "a ${o}aptea","a opta","a noua","a zecea","a unsprezecea", + "a doisprezecea","a treisprezecea","a patrusprezecea","a cincisprezecea", + "a ${o}aiprezecea","a ${o}aptesprezecea","a optsprezecea", + "a nou${a}sprezecea","a dou${a}zecea","a dou${a}zeci${o}iuna", + "a dou${a}zeci${o}idoua","a dou${a}zeci${o}itreia", + "a dou${a}zeci${o}ipatra","a dou${a}zeci${o}icincea", + "a dou${a}zeci${o}i${o}asea","a dou${a}zeci${o}i${o}aptea", + "a dou${a}zeci${o}iopta","a dou${a}zeci${o}inoua","a treizecea", + "a treizeci${o}iuna"], + ["intii", "doi", "trei", "patru", "cinci", "sase", "sapte", + "opt","noua","zece","unsprezece","doisprezece", + "treisprezece","patrusprezece","cincisprezece","saiprezece", + "saptesprezece","optsprezece","nouasprezece","douazeci", + "douazecisiunu","douazecisidoi","douazecisitrei", + "douazecisipatru","douazecisicinci","douazecisisase","douazecisisapte", + "douazecisiopt","douazecisinoua","treizeci","treizecisiunu"], + ["${i}nt${i}i", "doi", "trei", "patru", "cinci", "${o}ase", "${o}apte", + "opt","nou${a}","zece","unsprezece","doisprezece", + "treisprezece","patrusprezece","cincisprezece","${o}aiprezece", + "${o}aptesprezece","optsprezece","nou${a}sprezece","dou${a}zeci", + "dou${a}zeci${o}iunu","dou${a}zeci${o}idoi","dou${a}zeci${o}itrei", + "dou${a}zecisipatru","dou${a}zeci${o}icinci","dou${a}zeci${o}i${o}ase", + "dou${a}zeci${o}i${o}apte","dou${a}zeci${o}iopt", + "dou${a}zeci${o}inou${a}","treizeci","treizeci${o}iunu"]]; + + $$d{"now"} =["acum"]; + $$d{"today"} =["azi","astazi","ast${a}zi"]; + $$d{"last"} =["ultima"]; + $$d{"each"} =["fiecare"]; + $$d{"of"} =["din","in","n"]; + $$d{"at"} =["la"]; + $$d{"on"} =["on"]; + $$d{"future"} =["in","${i}n"]; + $$d{"past"} =["in urma", "${i}n urm${a}"]; + $$d{"next"} =["urmatoarea","urm${a}toarea"]; + $$d{"prev"} =["precedenta","ultima"]; + $$d{"later"} =["mai tirziu", "mai t${i}rziu"]; + + $$d{"exact"} =["exact"]; + $$d{"approx"} =["aproximativ"]; + $$d{"business"}=["de lucru","lucratoare","lucr${a}toare"]; + + $$d{"offset"} =["ieri","-0:0:0:1:0:0:0", + "alaltaieri", "-0:0:0:2:0:0:0", + "alalt${a}ieri","-0:0:0:2:0:0:0", + "miine","+0:0:0:1:0:0:0", + "m${i}ine","+0:0:0:1:0:0:0", + "poimiine","+0:0:0:2:0:0:0", + "poim${i}ine","+0:0:0:2:0:0:0"]; + $$d{"times"} =["amiaza","12:00:00", + "amiaz${a}","12:00:00", + "miezul noptii","00:00:00", + "miezul nop${p}ii","00:00:00"]; + + $$d{"years"} =["ani","an","a"]; + $$d{"months"} =["luni","luna","lun${a}","l"]; + $$d{"weeks"} =["saptamini","s${a}pt${a}m${i}ni","saptamina", + "s${a}pt${a}m${i}na","sapt","s${a}pt"]; + $$d{"days"} =["zile","zi","z"]; + $$d{"hours"} =["ore", "ora", "or${a}", "h"]; + $$d{"minutes"} =["minute","min","m"]; + $$d{"seconds"} =["secunde","sec",]; + $$d{"replace"} =["s","secunde"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:,]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +sub _Date_Init_Swedish { + print "DEBUG: _Date_Init_Swedish\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($ao)=$h{"ao"}; + my($o) =$h{"o:"}; + my($a) =$h{"a:"}; + + $$d{"month_name"}= + [["Januari","Februari","Mars","April","Maj","Juni", + "Juli","Augusti","September","Oktober","November","December"]]; + $$d{"month_abb"}= + [["Jan","Feb","Mar","Apr","Maj","Jun", + "Jul","Aug","Sep","Okt","Nov","Dec"]]; + + $$d{"day_name"}= + [["Mandag","Tisdag","Onsdag","Torsdag","Fredag","Lordag","Sondag"], + ["M${ao}ndag","Tisdag","Onsdag","Torsdag","Fredag","L${o}rdag", + "S${o}ndag"]]; + $$d{"day_abb"}= + [["Man","Tis","Ons","Tor","Fre","Lor","Son"], + ["M${ao}n","Tis","Ons","Tor","Fre","L${o}r","S${o}n"]]; + $$d{"day_char"}= + [["M","Ti","O","To","F","L","S"]]; + + $$d{"num_suff"}= + [["1:a","2:a","3:e","4:e","5:e","6:e","7:e","8:e","9:e","10:e", + "11:e","12:e","13:e","14:e","15:e","16:e","17:e","18:e","19:e","20:e", + "21:a","22:a","23:e","24:e","25:e","26:e","27:e","28:e","29:e","30:e", + "31:a"]]; + $$d{"num_word"}= + [["forsta","andra","tredje","fjarde","femte","sjatte","sjunde", + "attonde","nionde","tionde","elfte","tolfte","trettonde","fjortonde", + "femtonde","sextonde","sjuttonde","artonde","nittonde","tjugonde", + "tjugoforsta","tjugoandra","tjugotredje","tjugofjarde","tjugofemte", + "tjugosjatte","tjugosjunde","tjugoattonde","tjugonionde", + "trettionde","trettioforsta"], + ["f${o}rsta","andra","tredje","fj${a}rde","femte","sj${a}tte","sjunde", + "${ao}ttonde","nionde","tionde","elfte","tolfte","trettonde","fjortonde", + "femtonde","sextonde","sjuttonde","artonde","nittonde","tjugonde", + "tjugof${o}rsta","tjugoandra","tjugotredje","tjugofj${a}rde","tjugofemte", + "tjugosj${a}tte","tjugosjunde","tjugo${ao}ttonde","tjugonionde", + "trettionde","trettiof${o}rsta"]]; + + $$d{"now"} =["nu"]; + $$d{"today"} =["idag"]; + $$d{"last"} =["forra","f${o}rra","senaste"]; + $$d{"each"} =["varje"]; + $$d{"of"} =["om"]; + $$d{"at"} =["kl","kl.","klockan"]; + $$d{"on"} =["pa","p${ao}"]; + $$d{"future"} =["om"]; + $$d{"past"} =["sedan"]; + $$d{"next"} =["nasta","n${a}sta"]; + $$d{"prev"} =["forra","f${o}rra"]; + $$d{"later"} =["senare"]; + + $$d{"exact"} =["exakt"]; + $$d{"approx"} =["ungefar","ungef${a}r"]; + $$d{"business"}=["arbetsdag","arbetsdagar"]; + + $$d{"offset"} =["ig${ao}r","-0:0:0:1:0:0:0","igar","-0:0:0:1:0:0:0", + "imorgon","+0:0:0:1:0:0:0"]; + $$d{"times"} =["mitt pa dagen","12:00:00","mitt p${ao} dagen","12:00:00", + "midnatt","00:00:00"]; + + $$d{"years"} =["ar","${ao}r"]; + $$d{"months"} =["man","manad","manader","m${ao}n","m${ao}nad","m${ao}nader"]; + $$d{"weeks"} =["v","vecka","veckor"]; + $$d{"days"} =["d","dag","dagar"]; + $$d{"hours"} =["t","tim","timme","timmar"]; + $$d{"minutes"} =["min","minut","minuter"]; + $$d{"seconds"} =["s","sek","sekund","sekunder"]; + $$d{"replace"} =["m","minut"]; + + $$d{"sephm"} ='[.:]'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["FM"]; + $$d{"pm"} = ["EM"]; +} + +sub _Date_Init_German { + print "DEBUG: _Date_Init_German\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($a)=$h{"a:"}; + my($u)=$h{"u:"}; + my($o)=$h{"o:"}; + my($b)=$h{"beta"}; + + $$d{"month_name"}= + [["Januar","Februar","Maerz","April","Mai","Juni", + "Juli","August","September","Oktober","November","Dezember"], + ["J${a}nner","Februar","M${a}rz","April","Mai","Juni", + "Juli","August","September","Oktober","November","Dezember"]]; + $$d{"month_abb"}= + [["Jan","Feb","Mar","Apr","Mai","Jun", + "Jul","Aug","Sep","Okt","Nov","Dez"], + ["J${a}n","Feb","M${a}r","Apr","Mai","Jun", + "Jul","Aug","Sep","Okt","Nov","Dez"]]; + + $$d{"day_name"}= + [["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag", + "Sonntag"]]; + $$d{"day_abb"}= + [["Mo","Di","Mi","Do","Fr","Sa","So"]]; + $$d{"day_char"}= + [["M","Di","Mi","Do","F","Sa","So"]]; + + $$d{"num_suff"}= + [["1.","2.","3.","4.","5.","6.","7.","8.","9.","10.", + "11.","12.","13.","14.","15.","16.","17.","18.","19.","20.", + "21.","22.","23.","24.","25.","26.","27.","28.","29.","30.", + "31."]]; + $$d{"num_word"}= + [ + ["erste","zweite","dritte","vierte","funfte","sechste","siebente", + "achte","neunte","zehnte","elfte","zwolfte","dreizehnte","vierzehnte", + "funfzehnte","sechzehnte","siebzehnte","achtzehnte","neunzehnte", + "zwanzigste","einundzwanzigste","zweiundzwanzigste","dreiundzwanzigste", + "vierundzwanzigste","funfundzwanzigste","sechundzwanzigste", + "siebundzwanzigste","achtundzwanzigste","neunundzwanzigste", + "dreibigste","einunddreibigste"], + ["erste","zweite","dritte","vierte","f${u}nfte","sechste","siebente", + "achte","neunte","zehnte","elfte","zw${o}lfte","dreizehnte", + "vierzehnte","f${u}nfzehnte","sechzehnte","siebzehnte","achtzehnte", + "neunzehnte","zwanzigste","einundzwanzigste","zweiundzwanzigste", + "dreiundzwanzigste","vierundzwanzigste","f${u}nfundzwanzigste", + "sechundzwanzigste","siebundzwanzigste","achtundzwanzigste", + "neunundzwanzigste","drei${b}igste","einunddrei${b}igste"], + ["erster"]]; + + $$d{"now"} =["jetzt"]; + $$d{"today"} =["heute"]; + $$d{"last"} =["letzte","letzten"]; + $$d{"each"} =["jeden"]; + $$d{"of"} =["der","im","des"]; + $$d{"at"} =["um"]; + $$d{"on"} =["am"]; + $$d{"future"} =["in"]; + $$d{"past"} =["vor"]; + $$d{"next"} =["nachste","n${a}chste","nachsten","n${a}chsten"]; + $$d{"prev"} =["vorherigen","vorherige","letzte","letzten"]; + $$d{"later"} =["spater","sp${a}ter"]; + + $$d{"exact"} =["genau"]; + $$d{"approx"} =["ungefahr","ungef${a}hr"]; + $$d{"business"}=["Arbeitstag"]; + + $$d{"offset"} =["gestern","-0:0:0:1:0:0:0","morgen","+0:0:0:1:0:0:0","${u}bermorgen","+0:0:0:2:0:0:0"]; + $$d{"times"} =["mittag","12:00:00","mitternacht","00:00:00"]; + + $$d{"years"} =["j","Jahr","Jahre","Jahren"]; + $$d{"months"} =["Monat","Monate","Monaten"]; + $$d{"weeks"} =["w","Woche","Wochen"]; + $$d{"days"} =["t","Tag","Tage","Tagen"]; + $$d{"hours"} =["h","std","Stunde","Stunden"]; + $$d{"minutes"} =["min","Minute","Minuten"]; + $$d{"seconds"} =["s","sek","Sekunde","Sekunden"]; + $$d{"replace"} =["m","Monat"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} ='[: ]'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["FM"]; + $$d{"pm"} = ["EM"]; +} + +sub _Date_Init_Dutch { + print "DEBUG: _Date_Init_Dutch\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + + $$d{"month_name"}= + [["januari","februari","maart","april","mei","juni","juli","augustus", + "september","october","november","december"], + ["","","","","","","","","","oktober"]]; + + $$d{"month_abb"}= + [["jan","feb","maa","apr","mei","jun","jul", + "aug","sep","oct","nov","dec"], + ["","","mrt","","","","","","","okt"]]; + $$d{"day_name"}= + [["maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag", + "zondag"]]; + $$d{"day_abb"}= + [["ma","di","wo","do","vr","zat","zon"], + ["","","","","","za","zo"]]; + $$d{"day_char"}= + [["M","D","W","D","V","Za","Zo"]]; + + $$d{"num_suff"}= + [["1ste","2de","3de","4de","5de","6de","7de","8ste","9de","10de", + "11de","12de","13de","14de","15de","16de","17de","18de","19de","20ste", + "21ste","22ste","23ste","24ste","25ste","26ste","27ste","28ste","29ste", + "30ste","31ste"]]; + $$d{"num_word"}= + [["eerste","tweede","derde","vierde","vijfde","zesde","zevende","achtste", + "negende","tiende","elfde","twaalfde", + map {"${_}tiende";} qw (der veer vijf zes zeven acht negen), + "twintigste", + map {"${_}entwintigste";} qw (een twee drie vier vijf zes zeven acht + negen), + "dertigste","eenendertigste"], + ["","","","","","","","","","","","","","","","","","","","", + map {"${_}-en-twintigste";} qw (een twee drie vier vijf zes zeven acht + negen), + "dertigste","een-en-dertigste"], + ["een","twee","drie","vier","vijf","zes","zeven","acht","negen","tien", + "elf","twaalf", + map {"${_}tien"} qw (der veer vijf zes zeven acht negen), + "twintig", + map {"${_}entwintig"} qw (een twee drie vier vijf zes zeven acht negen), + "dertig","eenendertig"], + ["","","","","","","","","","","","","","","","","","","","", + map {"${_}-en-twintig"} qw (een twee drie vier vijf zes zeven acht + negen), + "dertig","een-en-dertig"]]; + + $$d{"now"} =["nu","nou"]; + $$d{"today"} =["vandaag"]; + $$d{"last"} =["laatste"]; + $$d{"each"} =["elke","elk"]; + $$d{"of"} =["in","van"]; + $$d{"at"} =["om"]; + $$d{"on"} =["op"]; + $$d{"future"} =["over"]; + $$d{"past"} =["geleden","vroeger","eerder"]; + $$d{"next"} =["volgende","volgend"]; + $$d{"prev"} =["voorgaande","voorgaand"]; + $$d{"later"} =["later"]; + + $$d{"exact"} =["exact","precies","nauwkeurig"]; + $$d{"approx"} =["ongeveer","ong",'ong\.',"circa","ca",'ca\.']; + $$d{"business"}=["werk","zakelijke","zakelijk"]; + + $$d{"offset"} =["morgen","+0:0:0:1:0:0:0","overmorgen","+0:0:0:2:0:0:0", + "gisteren","-0:0:0:1:0:0:0","eergisteren","-0::00:2:0:0:0"]; + $$d{"times"} =["noen","12:00:00","middernacht","00:00:00"]; + + $$d{"years"} =["jaar","jaren","ja","j"]; + $$d{"months"} =["maand","maanden","mnd"]; + $$d{"weeks"} =["week","weken","w"]; + $$d{"days"} =["dag","dagen","d"]; + $$d{"hours"} =["uur","uren","u","h"]; + $$d{"minutes"} =["minuut","minuten","min"]; + $$d{"seconds"} =["seconde","seconden","sec","s"]; + $$d{"replace"} =["m","minuten"]; + + $$d{"sephm"} ='[:.uh]'; + $$d{"sepms"} ='[:.m]'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["am","a.m.","vm","v.m.","voormiddag","'s_ochtends", + "ochtend","'s_nachts","nacht"]; + $$d{"pm"} = ["pm","p.m.","nm","n.m.","namiddag","'s_middags","middag", + "'s_avonds","avond"]; +} + +sub _Date_Init_Polish { + print "DEBUG: _Date_Init_Polish\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + + $$d{"month_name"}= + [["stycznia","luty","marca","kwietnia","maja","czerwca", + "lipca","sierpnia","wrzesnia","pazdziernika","listopada","grudnia"], + ["stycznia","luty","marca","kwietnia","maja","czerwca","lipca", + "sierpnia","wrze\x9cnia","pa\x9fdziernika","listopada","grudnia"]]; + $$d{"month_abb"}= + [["sty.","lut.","mar.","kwi.","maj","cze.", + "lip.","sie.","wrz.","paz.","lis.","gru."], + ["sty.","lut.","mar.","kwi.","maj","cze.", + "lip.","sie.","wrz.","pa\x9f.","lis.","gru."]]; + + $$d{"day_name"}= + [["poniedzialek","wtorek","sroda","czwartek","piatek","sobota", + "niedziela"], + ["poniedzia\x81\xb3ek","wtorek","\x9croda","czwartek","pi\x81\xb9tek", + "sobota","niedziela"]]; + $$d{"day_abb"}= + [["po.","wt.","sr.","cz.","pi.","so.","ni."], + ["po.","wt.","\x9cr.","cz.","pi.","so.","ni."]]; + $$d{"day_char"}= + [["p","w","e","c","p","s","n"], + ["p","w","\x9c.","c","p","s","n"]]; + + $$d{"num_suff"}= + [["1.","2.","3.","4.","5.","6.","7.","8.","9.","10.", + "11.","12.","13.","14.","15.","16.","17.","18.","19.","20.", + "21.","22.","23.","24.","25.","26.","27.","28.","29.","30.", + "31."]]; + $$d{"num_word"}= + [["pierwszego","drugiego","trzeczego","czwartego","piatego","szostego", + "siodmego","osmego","dziewiatego","dziesiatego", + "jedenastego","dwunastego","trzynastego","czternastego","pietnastego", + "szestnastego","siedemnastego","osiemnastego","dziewietnastego", + "dwudziestego", + "dwudziestego pierwszego","dwudziestego drugiego", + "dwudziestego trzeczego","dwudziestego czwartego", + "dwudziestego piatego","dwudziestego szostego", + "dwudziestego siodmego","dwudziestego osmego", + "dwudziestego dziewiatego","trzydziestego","trzydziestego pierwszego"], + ["pierwszego","drugiego","trzeczego","czwartego","pi\x81\xb9tego", + "sz\x81\xf3stego","si\x81\xf3dmego","\x81\xf3smego","dziewi\x81\xb9tego", + "dziesi\x81\xb9tego","jedenastego","dwunastego","trzynastego", + "czternastego","pi\x81\xeatnastego","szestnastego","siedemnastego", + "osiemnastego","dziewietnastego","dwudziestego", + "dwudziestego pierwszego","dwudziestego drugiego", + "dwudziestego trzeczego","dwudziestego czwartego", + "dwudziestego pi\x81\xb9tego","dwudziestego sz\x81\xf3stego", + "dwudziestego si\x81\xf3dmego","dwudziestego \x81\xf3smego", + "dwudziestego dziewi\x81\xb9tego","trzydziestego", + "trzydziestego pierwszego"]]; + + $$d{"now"} =["teraz"]; + $$d{"today"} =["dzisaj"]; + $$d{"last"} =["ostatni","ostatna"]; + $$d{"each"} =["kazdy","ka\x81\xbfdy", "kazdym","ka\x81\xbfdym"]; + $$d{"of"} =["w","z"]; + $$d{"at"} =["o","u"]; + $$d{"on"} =["na"]; + $$d{"future"} =["za"]; + $$d{"past"} =["temu"]; + $$d{"next"} =["nastepny","nast\x81\xeapny","nastepnym","nast\x81\xeapnym", + "przyszly","przysz\x81\xb3y","przyszlym", + "przysz\x81\xb3ym"]; + $$d{"prev"} =["zeszly","zesz\x81\xb3y","zeszlym","zesz\x81\xb3ym"]; + $$d{"later"} =["later"]; + + $$d{"exact"} =["doklandnie","dok\x81\xb3andnie"]; + $$d{"approx"} =["w przyblizeniu","w przybli\x81\xbfeniu","mniej wiecej", + "mniej wi\x81\xeacej","okolo","oko\x81\xb3o"]; + $$d{"business"}=["sluzbowy","s\x81\xb3u\x81\xbfbowy","sluzbowym", + "s\x81\xb3u\x81\xbfbowym"]; + + $$d{"times"} =["po\x81\xb3udnie","12:00:00", + "p\x81\xf3\x81\xb3noc","00:00:00", + "poludnie","12:00:00","polnoc","00:00:00"]; + $$d{"offset"} =["wczoraj","-0:0:1:0:0:0","jutro","+0:0:1:0:0:0"]; + + $$d{"years"} =["rok","lat","lata","latach"]; + $$d{"months"} =["m.","miesiac","miesi\x81\xb9c","miesiecy", + "miesi\x81\xeacy","miesiacu","miesi\x81\xb9cu"]; + $$d{"weeks"} =["ty.","tydzien","tydzie\x81\xf1","tygodniu"]; + $$d{"days"} =["d.","dzien","dzie\x81\xf1","dni"]; + $$d{"hours"} =["g.","godzina","godziny","godzinie"]; + $$d{"minutes"} =["mn.","min.","minut","minuty"]; + $$d{"seconds"} =["s.","sekund","sekundy"]; + $$d{"replace"} =["m.","miesiac"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +sub _Date_Init_Spanish { + print "DEBUG: _Date_Init_Spanish\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + + $$d{"month_name"}= + [["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto", + "Septiembre","Octubre","Noviembre","Diciembre"]]; + + $$d{"month_abb"}= + [["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct", + "Nov","Dic"]]; + + $$d{"day_name"}= + [["Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo"]]; + $$d{"day_abb"}= + [["Lun","Mar","Mie","Jue","Vie","Sab","Dom"]]; + $$d{"day_char"}= + [["L","Ma","Mi","J","V","S","D"]]; + + $$d{"num_suff"}= + [["1o","2o","3o","4o","5o","6o","7o","8o","9o","10o", + "11o","12o","13o","14o","15o","16o","17o","18o","19o","20o", + "21o","22o","23o","24o","25o","26o","27o","28o","29o","30o","31o"], + ["1a","2a","3a","4a","5a","6a","7a","8a","9a","10a", + "11a","12a","13a","14a","15a","16a","17a","18a","19a","20a", + "21a","22a","23a","24a","25a","26a","27a","28a","29a","30a","31a"]]; + $$d{"num_word"}= + [["Primero","Segundo","Tercero","Cuarto","Quinto","Sexto","Septimo", + "Octavo","Noveno","Decimo","Decimo Primero","Decimo Segundo", + "Decimo Tercero","Decimo Cuarto","Decimo Quinto","Decimo Sexto", + "Decimo Septimo","Decimo Octavo","Decimo Noveno","Vigesimo", + "Vigesimo Primero","Vigesimo Segundo","Vigesimo Tercero", + "Vigesimo Cuarto","Vigesimo Quinto","Vigesimo Sexto", + "Vigesimo Septimo","Vigesimo Octavo","Vigesimo Noveno","Trigesimo", + "Trigesimo Primero"], + ["Primera","Segunda","Tercera","Cuarta","Quinta","Sexta","Septima", + "Octava","Novena","Decima","Decimo Primera","Decimo Segunda", + "Decimo Tercera","Decimo Cuarta","Decimo Quinta","Decimo Sexta", + "Decimo Septima","Decimo Octava","Decimo Novena","Vigesima", + "Vigesimo Primera","Vigesimo Segunda","Vigesimo Tercera", + "Vigesimo Cuarta","Vigesimo Quinta","Vigesimo Sexta", + "Vigesimo Septima","Vigesimo Octava","Vigesimo Novena","Trigesima", + "Trigesimo Primera"]]; + + $$d{"now"} =["Ahora"]; + $$d{"today"} =["Hoy"]; + $$d{"last"} =["ultimo"]; + $$d{"each"} =["cada"]; + $$d{"of"} =["en","de"]; + $$d{"at"} =["a"]; + $$d{"on"} =["el"]; + $$d{"future"} =["en"]; + $$d{"past"} =["hace"]; + $$d{"next"} =["siguiente"]; + $$d{"prev"} =["anterior"]; + $$d{"later"} =["later"]; + + $$d{"exact"} =["exactamente"]; + $$d{"approx"} =["aproximadamente"]; + $$d{"business"}=["laborales"]; + + $$d{"offset"} =["ayer","-0:0:0:1:0:0:0","manana","+0:0:0:1:0:0:0"]; + $$d{"times"} =["mediodia","12:00:00","medianoche","00:00:00"]; + + $$d{"years"} =["a","ano","ano","anos","anos"]; + $$d{"months"} =["m","mes","mes","meses"]; + $$d{"weeks"} =["sem","semana","semana","semanas"]; + $$d{"days"} =["d","dia","dias"]; + $$d{"hours"} =["hr","hrs","hora","horas"]; + $$d{"minutes"} =["min","min","minuto","minutos"]; + $$d{"seconds"} =["s","seg","segundo","segundos"]; + $$d{"replace"} =["m","mes"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +sub _Date_Init_Portuguese { + print "DEBUG: _Date_Init_Portuguese\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($o) = $h{"-o"}; + my($c) = $h{",c"}; + my($a) = $h{"a'"}; + my($e) = $h{"e'"}; + my($u) = $h{"u'"}; + my($o2)= $h{"o'"}; + my($a2)= $h{"a`"}; + my($a3)= $h{"a~"}; + my($e2)= $h{"e^"}; + + $$d{"month_name"}= + [["Janeiro","Fevereiro","Marco","Abril","Maio","Junho", + "Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"], + ["Janeiro","Fevereiro","Mar${c}o","Abril","Maio","Junho", + "Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]]; + + $$d{"month_abb"}= + [["Jan","Fev","Mar","Abr","Mai","Jun", + "Jul","Ago","Set","Out","Nov","Dez"]]; + + $$d{"day_name"}= + [["Segunda","Terca","Quarta","Quinta","Sexta","Sabado","Domingo"], + ["Segunda","Ter${c}a","Quarta","Quinta","Sexta","S${a}bado","Domingo"]]; + $$d{"day_abb"}= + [["Seg","Ter","Qua","Qui","Sex","Sab","Dom"], + ["Seg","Ter","Qua","Qui","Sex","S${a}b","Dom"]]; + $$d{"day_char"}= + [["Sg","T","Qa","Qi","Sx","Sb","D"]]; + + $$d{"num_suff"}= + [["1${o}","2${o}","3${o}","4${o}","5${o}","6${o}","7${o}","8${o}", + "9${o}","10${o}","11${o}","12${o}","13${o}","14${o}","15${o}", + "16${o}","17${o}","18${o}","19${o}","20${o}","21${o}","22${o}", + "23${o}","24${o}","25${o}","26${o}","27${o}","28${o}","29${o}", + "30${o}","31${o}"]]; + $$d{"num_word"}= + [["primeiro","segundo","terceiro","quarto","quinto","sexto","setimo", + "oitavo","nono","decimo","decimo primeiro","decimo segundo", + "decimo terceiro","decimo quarto","decimo quinto","decimo sexto", + "decimo setimo","decimo oitavo","decimo nono","vigesimo", + "vigesimo primeiro","vigesimo segundo","vigesimo terceiro", + "vigesimo quarto","vigesimo quinto","vigesimo sexto","vigesimo setimo", + "vigesimo oitavo","vigesimo nono","trigesimo","trigesimo primeiro"], + ["primeiro","segundo","terceiro","quarto","quinto","sexto","s${e}timo", + "oitavo","nono","d${e}cimo","d${e}cimo primeiro","d${e}cimo segundo", + "d${e}cimo terceiro","d${e}cimo quarto","d${e}cimo quinto", + "d${e}cimo sexto","d${e}cimo s${e}timo","d${e}cimo oitavo", + "d${e}cimo nono","vig${e}simo","vig${e}simo primeiro", + "vig${e}simo segundo","vig${e}simo terceiro","vig${e}simo quarto", + "vig${e}simo quinto","vig${e}simo sexto","vig${e}simo s${e}timo", + "vig${e}simo oitavo","vig${e}simo nono","trig${e}simo", + "trig${e}simo primeiro"]]; + + $$d{"now"} =["agora"]; + $$d{"today"} =["hoje"]; + $$d{"last"} =["${u}ltimo","ultimo"]; + $$d{"each"} =["cada"]; + $$d{"of"} =["da","do"]; + $$d{"at"} =["as","${a2}s"]; + $$d{"on"} =["na","no"]; + $$d{"future"} =["em"]; + $$d{"past"} =["a","${a2}"]; + $$d{"next"} =["proxima","proximo","pr${o2}xima","pr${o2}ximo"]; + $$d{"prev"} =["ultima","ultimo","${u}ltima","${u}ltimo"]; + $$d{"later"} =["passadas","passados"]; + + $$d{"exact"} =["exactamente"]; + $$d{"approx"} =["aproximadamente"]; + $$d{"business"}=["util","uteis"]; + + $$d{"offset"} =["ontem","-0:0:0:1:0:0:0", + "amanha","+0:0:0:1:0:0:0","amanh${a3}","+0:0:0:1:0:0:0"]; + $$d{"times"} =["meio-dia","12:00:00","meia-noite","00:00:00"]; + + $$d{"years"} =["anos","ano","ans","an","a"]; + $$d{"months"} =["meses","m${e2}s","mes","m"]; + $$d{"weeks"} =["semanas","semana","sem","sems","s"]; + $$d{"days"} =["dias","dia","d"]; + $$d{"hours"} =["horas","hora","hr","hrs"]; + $$d{"minutes"} =["minutos","minuto","min","mn"]; + $$d{"seconds"} =["segundos","segundo","seg","sg"]; + $$d{"replace"} =["m","mes","s","sems"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[,]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +sub _Date_Init_Russian { + print "DEBUG: _Date_Init_Russian\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + my(%h)=(); + _Char_8Bit(\%h); + my($a) =$h{"a:"}; + + $$d{"month_name"}= + [ + ["\xd1\xce\xd7\xc1\xd2\xd1","\xc6\xc5\xd7\xd2\xc1\xcc\xd1", + "\xcd\xc1\xd2\xd4\xc1","\xc1\xd0\xd2\xc5\xcc\xd1","\xcd\xc1\xd1", + "\xc9\xc0\xce\xd1", + "\xc9\xc0\xcc\xd1","\xc1\xd7\xc7\xd5\xd3\xd4\xc1", + "\xd3\xc5\xce\xd4\xd1\xc2\xd2\xd1","\xcf\xcb\xd4\xd1\xc2\xd2\xd1", + "\xce\xcf\xd1\xc2\xd2\xd1","\xc4\xc5\xcb\xc1\xc2\xd2\xd1"], + ["\xd1\xce\xd7\xc1\xd2\xd8","\xc6\xc5\xd7\xd2\xc1\xcc\xd8", + "\xcd\xc1\xd2\xd4","\xc1\xd0\xd2\xc5\xcc\xd8","\xcd\xc1\xca", + "\xc9\xc0\xce\xd8", + "\xc9\xc0\xcc\xd8","\xc1\xd7\xc7\xd5\xd3\xd4", + "\xd3\xc5\xce\xd4\xd1\xc2\xd2\xd8","\xcf\xcb\xd4\xd1\xc2\xd2\xd8", + "\xce\xcf\xd1\xc2\xd2\xd8","\xc4\xc5\xcb\xc1\xc2\xd2\xd8"] + ]; + + $$d{"month_abb"}= + [["\xd1\xce\xd7","\xc6\xc5\xd7","\xcd\xd2\xd4","\xc1\xd0\xd2", + "\xcd\xc1\xca","\xc9\xc0\xce", + "\xc9\xc0\xcc","\xc1\xd7\xc7","\xd3\xce\xd4","\xcf\xcb\xd4", + "\xce\xcf\xd1\xc2","\xc4\xc5\xcb"], + ["","\xc6\xd7\xd2","","","\xcd\xc1\xd1","", + "","","\xd3\xc5\xce","\xcf\xcb\xd4","\xce\xcf\xd1",""]]; + + $$d{"day_name"}= + [["\xd0\xcf\xce\xc5\xc4\xc5\xcc\xd8\xce\xc9\xcb", + "\xd7\xd4\xcf\xd2\xce\xc9\xcb","\xd3\xd2\xc5\xc4\xc1", + "\xde\xc5\xd4\xd7\xc5\xd2\xc7","\xd0\xd1\xd4\xce\xc9\xc3\xc1", + "\xd3\xd5\xc2\xc2\xcf\xd4\xc1", + "\xd7\xcf\xd3\xcb\xd2\xc5\xd3\xc5\xce\xd8\xc5"]]; + $$d{"day_abb"}= + [["\xd0\xce\xc4","\xd7\xd4\xd2","\xd3\xd2\xc4","\xde\xd4\xd7", + "\xd0\xd4\xce","\xd3\xd5\xc2","\xd7\xd3\xcb"], + ["\xd0\xcf\xce","\xd7\xd4\xcf","\xd3\xd2e","\xde\xc5\xd4", + "\xd0\xd1\xd4","\xd3\xd5\xc2","\xd7\xcf\xd3\xcb"]]; + $$d{"day_char"}= + [["\xd0\xce","\xd7\xd4","\xd3\xd2","\xde\xd4","\xd0\xd4","\xd3\xc2", + "\xd7\xd3"]]; + + $$d{"num_suff"}= + [["1 ","2 ","3 ","4 ","5 ","6 ","7 ","8 ","9 ","10 ", + "11 ","12 ","13 ","14 ","15 ","16 ","17 ","18 ","19 ","20 ", + "21 ","22 ","23 ","24 ","25 ","26 ","27 ","28 ","29 ","30 ", + "31 "]]; + $$d{"num_word"}= + [["\xd0\xc5\xd2\xd7\xd9\xca","\xd7\xd4\xcf\xd2\xcf\xca", + "\xd4\xd2\xc5\xd4\xc9\xca","\xde\xc5\xd4\xd7\xc5\xd2\xd4\xd9\xca", + "\xd0\xd1\xd4\xd9\xca","\xdb\xc5\xd3\xd4\xcf\xca", + "\xd3\xc5\xc4\xd8\xcd\xcf\xca","\xd7\xcf\xd3\xd8\xcd\xcf\xca", + "\xc4\xc5\xd7\xd1\xd4\xd9\xca","\xc4\xc5\xd3\xd1\xd4\xd9\xca", + "\xcf\xc4\xc9\xce\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xc4\xd7\xc5\xce\xc1\xc4\xde\xc1\xd4\xd9\xca", + "\xd4\xd2\xc5\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xde\xc5\xd4\xd9\xd2\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xd0\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xdb\xc5\xd3\xd4\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xd7\xcf\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xc4\xc5\xd7\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xd9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xd4\xcf\xd2\xcf\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd4\xd2\xc5\xd4\xc9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xde\xc5\xd4\xd7\xc5\xd2\xd4\xd9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xd1\xd4\xd9\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xdb\xc5\xd3\xd4\xcf\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd3\xc5\xc4\xd8\xcd\xcf\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xcf\xd3\xd8\xcd\xcf\xca", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xc4\xc5\xd7\xd1\xd4\xd9\xca", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xd9\xca", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xd9\xca"], + + ["\xd0\xc5\xd2\xd7\xcf\xc5","\xd7\xd4\xcf\xd2\xcf\xc5", + "\xd4\xd2\xc5\xd4\xd8\xc5","\xde\xc5\xd4\xd7\xc5\xd2\xd4\xcf\xc5", + "\xd0\xd1\xd4\xcf\xc5","\xdb\xc5\xd3\xd4\xcf\xc5", + "\xd3\xc5\xc4\xd8\xcd\xcf\xc5","\xd7\xcf\xd3\xd8\xcd\xcf\xc5", + "\xc4\xc5\xd7\xd1\xd4\xcf\xc5","\xc4\xc5\xd3\xd1\xd4\xcf\xc5", + "\xcf\xc4\xc9\xce\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xc4\xd7\xc5\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xd4\xd2\xc5\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xde\xc5\xd4\xd9\xd2\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xd0\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xdb\xc5\xd3\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xd7\xcf\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xc4\xc5\xd7\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xd4\xcf\xd2\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd4\xd2\xc5\xd4\xd8\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xde\xc5\xd4\xd7\xc5\xd2\xd4\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xd1\xd4\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xdb\xc5\xd3\xd4\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd3\xc5\xc4\xd8\xcd\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xcf\xd3\xd8\xcd\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xc4\xc5\xd7\xd1\xd4\xcf\xc5", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xcf\xc5", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xcf\xc5"], + + ["\xd0\xc5\xd2\xd7\xcf\xc7\xcf","\xd7\xd4\xcf\xd2\xcf\xc7\xcf", + "\xd4\xd2\xc5\xd4\xd8\xc5\xc7\xcf", + "\xde\xc5\xd4\xd7\xc5\xd2\xd4\xcf\xc7\xcf","\xd0\xd1\xd4\xcf\xc7\xcf", + "\xdb\xc5\xd3\xd4\xcf\xc7\xcf","\xd3\xc5\xc4\xd8\xcd\xcf\xc7\xcf", + "\xd7\xcf\xd3\xd8\xcd\xcf\xc7\xcf", + "\xc4\xc5\xd7\xd1\xd4\xcf\xc7\xcf","\xc4\xc5\xd3\xd1\xd4\xcf\xc7\xcf", + "\xcf\xc4\xc9\xce\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc5\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xd4\xd2\xc5\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xde\xc5\xd4\xd9\xd2\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xd0\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xdb\xc5\xd3\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xd7\xcf\xd3\xc5\xcd\xd8\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xc4\xc5\xd7\xd1\xd4\xce\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xd4\xcf\xd2\xcf\xc5", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd4\xd2\xc5\xd4\xd8\xc5\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xde\xc5\xd4\xd7\xc5\xd2\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd0\xd1\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xdb\xc5\xd3\xd4\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd3\xc5\xc4\xd8\xcd\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xd7\xcf\xd3\xd8\xcd\xcf\xc7\xcf", + "\xc4\xd7\xc1\xc4\xc3\xc1\xd4\xd8 \xc4\xc5\xd7\xd1\xd4\xcf\xc7\xcf", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xcf\xc7\xcf", + "\xd4\xd2\xc9\xc4\xc3\xc1\xd4\xd8 \xd0\xc5\xd2\xd7\xcf\xc7\xcf"]]; + + $$d{"now"} =["\xd3\xc5\xca\xde\xc1\xd3"]; + $$d{"today"} =["\xd3\xc5\xc7\xcf\xc4\xce\xd1"]; + $$d{"last"} =["\xd0\xcf\xd3\xcc\xc5\xc4\xce\xc9\xca"]; + $$d{"each"} =["\xcb\xc1\xd6\xc4\xd9\xca"]; + $$d{"of"} =[" "]; + $$d{"at"} =["\xd7"]; + $$d{"on"} =["\xd7"]; + $$d{"future"} =["\xd7\xd0\xc5\xd2\xc5\xc4 \xce\xc1"]; + $$d{"past"} =["\xce\xc1\xda\xc1\xc4 \xce\xc1 "]; + $$d{"next"} =["\xd3\xcc\xc5\xc4\xd5\xc0\xdd\xc9\xca"]; + $$d{"prev"} =["\xd0\xd2\xc5\xc4\xd9\xc4\xd5\xdd\xc9\xca"]; + $$d{"later"} =["\xd0\xcf\xda\xd6\xc5"]; + + $$d{"exact"} =["\xd4\xcf\xde\xce\xcf"]; + $$d{"approx"} =["\xd0\xd2\xc9\xcd\xc5\xd2\xce\xcf"]; + $$d{"business"}=["\xd2\xc1\xc2\xcf\xde\xc9\xc8"]; + + $$d{"offset"} =["\xd0\xcf\xda\xc1\xd7\xde\xc5\xd2\xc1","-0:0:0:2:0:0:0", + "\xd7\xde\xc5\xd2\xc1","-0:0:0:1:0:0:0", + "\xda\xc1\xd7\xd4\xd2\xc1","+0:0:0:1:0:0:0", + "\xd0\xcf\xd3\xcc\xc5\xda\xc1\xd7\xd4\xd2\xc1", + "+0:0:0:2:0:0:0"]; + $$d{"times"} =["\xd0\xcf\xcc\xc4\xc5\xce\xd8","12:00:00", + "\xd0\xcf\xcc\xce\xcf\xde\xd8","00:00:00"]; + + $$d{"years"} =["\xc7","\xc7\xc4","\xc7\xcf\xc4","\xcc\xc5\xd4", + "\xcc\xc5\xd4","\xc7\xcf\xc4\xc1"]; + $$d{"months"} =["\xcd\xc5\xd3","\xcd\xc5\xd3\xd1\xc3", + "\xcd\xc5\xd3\xd1\xc3\xc5\xd7"]; + $$d{"weeks"} =["\xce\xc5\xc4\xc5\xcc\xd1","\xce\xc5\xc4\xc5\xcc\xd8", + "\xce\xc5\xc4\xc5\xcc\xc9","\xce\xc5\xc4\xc5\xcc\xc0"]; + $$d{"days"} =["\xc4","\xc4\xc5\xce\xd8","\xc4\xce\xc5\xca", + "\xc4\xce\xd1"]; + $$d{"hours"} =["\xde","\xde.","\xde\xd3","\xde\xd3\xd7","\xde\xc1\xd3", + "\xde\xc1\xd3\xcf\xd7","\xde\xc1\xd3\xc1"]; + $$d{"minutes"} =["\xcd\xce","\xcd\xc9\xce","\xcd\xc9\xce\xd5\xd4\xc1", + "\xcd\xc9\xce\xd5\xd4"]; + $$d{"seconds"} =["\xd3","\xd3\xc5\xcb","\xd3\xc5\xcb\xd5\xce\xc4\xc1", + "\xd3\xc5\xcb\xd5\xce\xc4"]; + $$d{"replace"} =[]; + + $$d{"sephm"} ="[:\xde]"; + $$d{"sepms"} ="[:\xcd]"; + $$d{"sepss"} ="[:.\xd3]"; + + $$d{"am"} = ["\xc4\xd0","${a}\xf0","${a}.\xf0.","\xce\xcf\xde\xc9", + "\xd5\xd4\xd2\xc1", + "\xc4\xcf \xd0\xcf\xcc\xd5\xc4\xce\xd1"]; + $$d{"pm"} = ["\xd0\xd0","\xf0\xf0","\xf0.\xf0.","\xc4\xce\xd1", + "\xd7\xc5\xde\xc5\xd2\xc1", + "\xd0\xcf\xd3\xcc\xc5 \xd0\xcf\xcc\xd5\xc4\xce\xd1", + "\xd0\xcf \xd0\xcf\xcc\xd5\xc4\xce\xc0"]; +} + +sub _Date_Init_Turkish { + print "DEBUG: _Date_Init_Turkish\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + + $$d{"month_name"}= + [ + ["ocak","subat","mart","nisan","mayis","haziran", + "temmuz","agustos","eylul","ekim","kasim","aralik"], + ["ocak","\xfeubat","mart","nisan","may\xfds","haziran", + "temmuz","a\xf0ustos","eyl\xfcl","ekim","kas\xfdm","aral\xfdk"] + ]; + + $$d{"month_abb"}= + [ + ["oca","sub","mar","nis","may","haz", + "tem","agu","eyl","eki","kas","ara"], + ["oca","\xfeub","mar","nis","may","haz", + "tem","a\xf0u","eyl","eki","kas","ara"] + ]; + + $$d{"day_name"}= + [ + ["pazartesi","sali","carsamba","persembe","cuma","cumartesi","pazar"], + ["pazartesi","sal\xfd","\xe7ar\xfeamba","per\xfeembe","cuma", + "cumartesi","pazar"], + ]; + + $$d{"day_abb"}= + [ + ["pzt","sal","car","per","cum","cts","paz"], + ["pzt","sal","\xe7ar","per","cum","cts","paz"], + ]; + + $$d{"day_char"}= + [["Pt","S","Cr","Pr","C","Ct","P"], + ["Pt","S","\xc7","Pr","C","Ct","P"]]; + + $$d{"num_suff"}= + [[ "1.", "2.", "3.", "4.", "5.", "6.", "7.", "8.", "9.", "10.", + "11.", "12.", "13.", "14.", "15.", "16.", "17.", "18.", "19.", "20.", + "21.", "22.", "23.", "24.", "25.", "26.", "27.", "28.", "29.", "30.", + "31."]]; + + $$d{"num_word"}= + [ + ["birinci","ikinci","ucuncu","dorduncu", + "besinci","altinci","yedinci","sekizinci", + "dokuzuncu","onuncu","onbirinci","onikinci", + "onucuncu","ondordoncu", + "onbesinci","onaltinci","onyedinci","onsekizinci", + "ondokuzuncu","yirminci","yirmibirinci","yirmikinci", + "yirmiucuncu","yirmidorduncu", + "yirmibesinci","yirmialtinci","yirmiyedinci","yirmisekizinci", + "yirmidokuzuncu","otuzuncu","otuzbirinci"], + ["birinci","ikinci","\xfc\xe7\xfcnc\xfc","d\xf6rd\xfcnc\xfc", + "be\xfeinci","alt\xfdnc\xfd","yedinci","sekizinci", + "dokuzuncu","onuncu","onbirinci","onikinci", + "on\xfc\xe7\xfcnc\xfc","ond\xf6rd\xfcnc\xfc", + "onbe\xfeinci","onalt\xfdnc\xfd","onyedinci","onsekizinci", + "ondokuzuncu","yirminci","yirmibirinci","yirmikinci", + "yirmi\xfc\xe7\xfcnc\xfc","yirmid\xf6rd\xfcnc\xfc", + "yirmibe\xfeinci","yirmialt\xfdnc\xfd","yirmiyedinci","yirmisekizinci", + "yirmidokuzuncu","otuzuncu","otuzbirinci"] + ]; + + $$d{"now"} =["\xfeimdi", "simdi"]; + $$d{"today"} =["bugun", "bug\xfcn"]; + $$d{"last"} =["son", "sonuncu"]; + $$d{"each"} =["her"]; + $$d{"of"} =["of"]; + $$d{"at"} =["saat"]; + $$d{"on"} =["on"]; + $$d{"future"} =["gelecek"]; + $$d{"past"} =["ge\xe7mi\xfe", "gecmis","gecen", "ge\xe7en"]; + $$d{"next"} =["gelecek","sonraki"]; + $$d{"prev"} =["onceki","\xf6nceki"]; + $$d{"later"} =["sonra"]; + + $$d{"exact"} =["tam"]; + $$d{"approx"} =["yakla\xfe\xfdk", "yaklasik"]; + $$d{"business"}=["i\xfe","\xe7al\xfd\xfema","is", "calisma"]; + + $$d{"offset"} =["d\xfcn","-0:0:0:1:0:0:0", + "dun", "-0:0:0:1:0:0:0", + "yar\xfdn","+0:0:0:1:0:0:0", + "yarin","+0:0:0:1:0:0:0"]; + + $$d{"times"} =["\xf6\xf0len","12:00:00", + "oglen","12:00:00", + "yarim","12:300:00", + "yar\xfdm","12:30:00", + "gece yar\xfds\xfd","00:00:00", + "gece yarisi","00:00:00"]; + + $$d{"years"} =["yil","y"]; + $$d{"months"} =["ay","a"]; + $$d{"weeks"} =["hafta", "h"]; + $$d{"days"} =["gun","g"]; + $$d{"hours"} =["saat"]; + $$d{"minutes"} =["dakika","dak","d"]; + $$d{"seconds"} =["saniye","sn",]; + $$d{"replace"} =["s","saat"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:,]'; + + $$d{"am"} = ["\xf6gleden \xf6nce","ogleden once"]; + $$d{"pm"} = ["\xf6\xf0leden sonra","ogleden sonra"]; +} + +sub _Date_Init_Danish { + print "DEBUG: _Date_Init_Danish\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + + $$d{"month_name"}= + [["Januar","Februar","Marts","April","Maj","Juni", + "Juli","August","September","Oktober","November","December"]]; + $$d{"month_abb"}= + [["Jan","Feb","Mar","Apr","Maj","Jun", + "Jul","Aug","Sep","Okt","Nov","Dec"]]; + + $$d{"day_name"}= + [["Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lordag","Sondag"], + ["Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\xf8rdag","S\xf8ndag"]]; + + $$d{"day_abb"}= + [["Man","Tir","Ons","Tor","Fre","Lor","Son"], + ["Man","Tir","Ons","Tor","Fre","L\xf8r","S\xf8n"]]; + $$d{"day_char"}= + [["M","Ti","O","To","F","L","S"]]; + + $$d{"num_suff"}= + [["1:e","2:e","3:e","4:e","5:e","6:e","7:e","8:e","9:e","10:e", + "11:e","12:e","13:e","14:e","15:e","16:e","17:e","18:e","19:e","20:e", + "21:e","22:e","23:e","24:e","25:e","26:e","27:e","28:e","29:e","30:e", + "31:e"]]; + $$d{"num_word"}= + [["forste","anden","tredie","fjerde","femte","sjette","syvende", + "ottende","niende","tiende","elfte","tolvte","trettende","fjortende", + "femtende","sekstende","syttende","attende","nittende","tyvende", + "enogtyvende","toogtyvende","treogtyvende","fireogtyvende","femogtyvende", + "seksogtyvende","syvogtyvende","otteogtyvende","niogtyvende", + "tredivte","enogtredivte"], + ["f\xf8rste","anden","tredie","fjerde","femte","sjette","syvende", + "ottende","niende","tiende","elfte","tolvte","trettende","fjortende", + "femtende","sekstende","syttende","attende","nittende","tyvende", + "enogtyvende","toogtyvende","treogtyvende","fireogtyvende","femogtyvende", + "seksogtyvende","syvogtyvende","otteogtyvende","niogtyvende", + "tredivte","enogtredivte"]]; + + $$d{"now"} =["nu"]; + $$d{"today"} =["idag"]; + $$d{"last"} =["forrige","sidste","nyeste"]; + $$d{"each"} =["hver"]; + $$d{"of"} =["om"]; + $$d{"at"} =["kl","kl.","klokken"]; + $$d{"on"} =["pa","p\xe5"]; + $$d{"future"} =["om"]; + $$d{"past"} =["siden"]; + $$d{"next"} =["nasta","n\xe6ste"]; + $$d{"prev"} =["forrige"]; + $$d{"later"} =["senere"]; + + $$d{"exact"} =["pracist","pr\xe6cist"]; + $$d{"approx"} =["circa"]; + $$d{"business"}=["arbejdsdag","arbejdsdage"]; + + $$d{"offset"} =["ig\xe5r","-0:0:0:1:0:0:0","igar","-0:0:0:1:0:0:0", + "imorgen","+0:0:0:1:0:0:0"]; + $$d{"times"} =["midt pa dagen","12:00:00","midt p\xe5 dagen","12:00:00", + "midnat","00:00:00"]; + + $$d{"years"} =["ar","\xe5r"]; + $$d{"months"} =["man","maned","maneder","m\xe5n","m\xe5ned","m\xe5neder"]; + $$d{"weeks"} =["u","uge","uger"]; + $$d{"days"} =["d","dag","dage"]; + $$d{"hours"} =["t","tim","time","timer"]; + $$d{"minutes"} =["min","minut","minutter"]; + $$d{"seconds"} =["s","sek","sekund","sekunder"]; + $$d{"replace"} =["m","minut"]; + + $$d{"sephm"} ='[.:]'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["FM"]; + $$d{"pm"} = ["EM"]; +} + +sub _Date_Init_Catalan { + print "DEBUG: _Date_Init_Catalan\n" if ($Curr{"Debug"} =~ /trace/); + my($d)=@_; + + $$d{"month_name"}= + [["Gener","Febrer","Marc","Abril","Maig","Juny", + "Juliol","Agost","Setembre","Octubre","Novembre","Desembre"], + ["Gener","Febrer","Mar?","Abril","Maig","Juny", + "Juliol","Agost","Setembre","Octubre","Novembre","Desembre"], + ["Gener","Febrer","Marc,","Abril","Maig","Juny", + "Juliol","Agost","Setembre","Octubre","Novembre","Desembre"]]; + + $$d{"month_abb"}= + [["Gen","Feb","Mar","Abr","Mai","Jun", + "Jul","Ago","Set","Oct","Nov","Des"], + [], + ["","","","","","", + "","","","","","Dec"] #common mistake + ]; + + $$d{"day_name"}= + [["Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte","Diumenge"]]; + $$d{"day_abb"}= + [["Dll","Dmt","Dmc","Dij","Div","Dis","Diu"], + ["","Dim","","","","",""], + ["","","Dic","","","",""] + ]; + $$d{"day_char"}= + [["Dl","Dm","Dc","Dj","Dv","Ds","Du"] , + ["L","M","X","J","V","S","U"]]; + + $$d{"num_suff"}= + [["1er","2n","3r","4t","5e","6e","7e","8e","9e","10e", + "11e","12e","13e","14e","15e","16e","17e","18e","19e","20e", + "21e","22e","23e","24e","25e","26e","27e","28e","29e","30e", + "31e"], + ["1er","2n","3r","4t","5?","6?","7?","8?","9?","10?", + "11?","12?","13?","14?","15?","16?","17?","18?","19?","20?", + "21?","22?","23?","24?","25?","26?","27?","28?","29?","30?", + "31?"]]; + $$d{"num_word"}= + [["primer","segon","tercer","quart","cinque","sise","sete","vuite", + "nove","dese","onze","dotze","tretze","catorze", + "quinze","setze","dissete","divuite","dinove", + "vinte","vint-i-une","vint-i-dose","vint-i-trese", + "vint-i-quatre","vint-i-cinque","vint-i-sise","vint-i-sete", + "vint-i-vuite","vint-i-nove","trente","trenta-une"], + ["primer","segon","tercer","quart","cinqu?","sis?","set?","vuit?", + "nov?","des?","onz?","dotz?","tretz?","catorz?", + "quinz?","setz?","disset?","divuit?","dinov?", + "vint?","vint-i-un?","vint-i-dos?","vint-i-tres?", + "vint-i-quatr?","vint-i-cinqu?","vint-i-sis?","vint-i-set?", + "vint-i-vuit?","vint-i-nov?","trent?","trenta-un?"]]; + + $$d{"now"} =["avui","ara"]; + $$d{"last"} =["darrer","?ltim","darrera","?ltima"]; + $$d{"each"} =["cada","cadascun","cadascuna"]; + $$d{"of"} =["de","d'"]; + $$d{"at"} =["a les","a","al"]; + $$d{"on"} =["el"]; + $$d{"future"} =["d'aqu? a"]; + $$d{"past"} =["fa"]; + $$d{"next"} =["proper"]; + $$d{"prev"} =["passat","proppassat","anterior"]; + $$d{"later"} =["m?s tard"]; + + $$d{"exact"} =["exactament"]; + $$d{"approx"} =["approximadament"]; + $$d{"business"}=["empresa"]; + + $$d{"offset"} =["ahir","-0:0:0:1:0:0:0","dem?","+0:0:0:1:0:0:0","abans d'ahir","-0:0:0:2:0:0:0","dem? passat","+0:0:0:2:0:0:0",]; + $$d{"times"} =["migdia","12:00:00","mitjanit","00:00:00"]; + + $$d{"years"} =["a","an","any","anys"]; + $$d{"months"} =["mes","me","ms"]; + $$d{"weeks"} =["se","set","setm","setmana","setmanes"]; + $$d{"days"} =["d","dia","dies"]; + $$d{"hours"} =["h","ho","hores","hora"]; + $$d{"minutes"} =["mn","min","minut","minuts"]; + $$d{"seconds"} =["s","seg","segon","segons"]; + $$d{"replace"} =["m","mes","s","setmana"]; + + $$d{"sephm"} =':'; + $$d{"sepms"} =':'; + $$d{"sepss"} ='[.:]'; + + $$d{"am"} = ["AM","A.M."]; + $$d{"pm"} = ["PM","P.M."]; +} + +######################################################################## +# FROM MY PERSONAL LIBRARIES +######################################################################## + +no integer; + +# _ModuloAddition($N,$add,\$val,\$rem); +# This calculates $val=$val+$add and forces $val to be in a certain range. +# This is useful for adding numbers for which only a certain range is +# allowed (for example, minutes can be between 0 and 59 or months can be +# between 1 and 12). The absolute value of $N determines the range and +# the sign of $N determines whether the range is 0 to N-1 (if N>0) or +# 1 to N (N<0). The remainder (as modulo N) is added to $rem. +# Example: +# To add 2 hours together (with the excess returned in days) use: +# _ModuloAddition(60,$s1,\$s,\$day); +sub _ModuloAddition { + my($N,$add,$val,$rem)=@_; + return if ($N==0); + $$val+=$add; + if ($N<0) { + # 1 to N + $N = -$N; + if ($$val>$N) { + $$rem+= int(($$val-1)/$N); + $$val = ($$val-1)%$N +1; + } elsif ($$val<1) { + $$rem-= int(-$$val/$N)+1; + $$val = $N-(-$$val % $N); + } + + } else { + # 0 to N-1 + if ($$val>($N-1)) { + $$rem+= int($$val/$N); + $$val = $$val%$N; + } elsif ($$val<0) { + $$rem-= int(-($$val+1)/$N)+1; + $$val = ($N-1)-(-($$val+1)%$N); + } + } +} + +# $Flag=_IsInt($String [,$low, $high]); +# Returns 1 if $String is a valid integer, 0 otherwise. If $low is +# entered, $String must be >= $low. If $high is entered, $String must +# be <= $high. It is valid to check only one of the bounds. +sub _IsInt { + my($N,$low,$high)=@_; + return 0 if (! defined $N or + $N !~ /^\s*[-+]?\d+\s*$/ or + defined $low && $N<$low or + defined $high && $N>$high); + return 1; +} + +# $File=_CleanFile($file); +# This cleans up a path to remove the following things: +# double slash /a//b -> /a/b +# trailing dot /a/. -> /a +# leading dot ./a -> a +# trailing slash a/ -> a +sub _CleanFile { + my($file)=@_; + $file =~ s/\s*$//; + $file =~ s/^\s*//; + $file =~ s|//+|/|g; # multiple slash + $file =~ s|/\.$|/|; # trailing /. (leaves trailing slash) + $file =~ s|^\./|| # leading ./ + if ($file ne "./"); + $file =~ s|/$|| # trailing slash + if ($file ne "/"); + return $file; +} + +# $File=_ExpandTilde($file); +# This checks to see if a "~" appears as the first character in a path. +# If it does, the "~" expansion is interpreted (if possible) and the full +# path is returned. If a "~" expansion is used but cannot be +# interpreted, an empty string is returned. +# +# This is Windows/Mac friendly. +# This is efficient. +sub _ExpandTilde { + my($file)=shift; + my($user,$home)=(); + # ~aaa/bbb= ~ aaa /bbb + if ($file =~ s|^~([^/]*)||) { + $user=$1; + # Single user operating systems (Mac, MSWindows) don't have the getpwnam + # and getpwuid routines defined. Try to catch various different ways + # of knowing we are on one of these systems: + return "" if ($OS eq "Windows" or + $OS eq "Mac" or + $OS eq "Netware" or + $OS eq "MPE"); + $user="" if (! defined $user); + + if ($user) { + $home= (getpwnam($user))[7]; + } else { + $home= (getpwuid($<))[7]; + } + $home = VMS::Filespec::unixpath($home) if ($OS eq "VMS"); + return "" if (! defined $home); + $file="$home/$file"; + } + $file; +} + +# $File=_FullFilePath($file); +# Returns the full or relative path to $file (expanding "~" if necessary). +# Returns an empty string if a "~" expansion cannot be interpreted. The +# path does not need to exist. _CleanFile is called. +sub _FullFilePath { + my($file)=shift; + my($rootpat) = '^/'; #default pattern to match absolute path + $rootpat = '^(\\|/|([A-Za-z]:[\\/]))' if ($OS eq 'Windows'); + $file=_ExpandTilde($file); + return "" if (! defined $file); + return _CleanFile($file); +} + +# $Flag=_CheckFilePath($file [,$mode]); +# Checks to see if $file exists, to see what type it is, and whether +# the script can access it. If it exists and has the correct mode, 1 +# is returned. +# +# $mode is a string which may contain any of the valid file test operator +# characters except t, M, A, C. The appropriate test is run for each +# character. For example, if $mode is "re" the -r and -e tests are both +# run. +# +# An empty string is returned if the file doesn't exist. A 0 is returned +# if the file exists but any test fails. +# +# All characters in $mode which do not correspond to valid tests are +# ignored. +sub _CheckFilePath { + my($file,$mode)=@_; + my($test)=(); + $file=_FullFilePath($file); + $mode = "" if (! defined $mode); + + # Run tests + return 0 if (! defined $file or ! $file); + return 0 if (( ! -e $file) or + ($mode =~ /r/ && ! -r $file) or + ($mode =~ /w/ && ! -w $file) or + ($mode =~ /x/ && ! -x $file) or + ($mode =~ /R/ && ! -R $file) or + ($mode =~ /W/ && ! -W $file) or + ($mode =~ /X/ && ! -X $file) or + ($mode =~ /o/ && ! -o $file) or + ($mode =~ /O/ && ! -O $file) or + ($mode =~ /z/ && ! -z $file) or + ($mode =~ /s/ && ! -s $file) or + ($mode =~ /f/ && ! -f $file) or + ($mode =~ /d/ && ! -d $file) or + ($mode =~ /l/ && ! -l $file) or + ($mode =~ /s/ && ! -s $file) or + ($mode =~ /p/ && ! -p $file) or + ($mode =~ /b/ && ! -b $file) or + ($mode =~ /c/ && ! -c $file) or + ($mode =~ /u/ && ! -u $file) or + ($mode =~ /g/ && ! -g $file) or + ($mode =~ /k/ && ! -k $file) or + ($mode =~ /T/ && ! -T $file) or + ($mode =~ /B/ && ! -B $file)); + return 1; +} +#&& + +# $Path=_FixPath($path [,$full] [,$mode] [,$error]); +# Makes sure that every directory in $path (a colon separated list of +# directories) appears as a full path or relative path. All "~" +# expansions are removed. All trailing slashes are removed also. If +# $full is non-nil, relative paths are expanded to full paths as well. +# +# If $mode is given, it may be either "e", "r", or "w". In this case, +# additional checking is done to each directory. If $mode is "e", it +# need ony exist to pass the check. If $mode is "r", it must have have +# read and execute permission. If $mode is "w", it must have read, +# write, and execute permission. +# +# The value of $error determines what happens if the directory does not +# pass the test. If it is non-nil, if any directory does not pass the +# test, the subroutine returns the empty string. Otherwise, it is simply +# removed from $path. +# +# The corrected path is returned. +sub _FixPath { + my($path,$full,$mode,$err)=@_; + local($_)=""; + my(@dir)=split(/$Cnf{"PathSep"}/,$path); + $full=0 if (! defined $full); + $mode="" if (! defined $mode); + $err=0 if (! defined $err); + $path=""; + if ($mode eq "e") { + $mode="de"; + } elsif ($mode eq "r") { + $mode="derx"; + } elsif ($mode eq "w") { + $mode="derwx"; + } + + foreach (@dir) { + + # Expand path + if ($full) { + $_=_FullFilePath($_); + } else { + $_=_ExpandTilde($_); + } + if (! defined $_) { + return "" if ($err); + next; + } + + # Check mode + if (! defined $mode or _CheckFilePath($_,$mode)) { + $path .= $Cnf{"PathSep"} . $_; + } else { + return "" if ($err); + } + } + $path =~ s/^$Cnf{"PathSep"}//; + return $path; +} +#&& + +# $File=_SearchPath($file,$path [,$mode] [,@suffixes]); +# Searches through directories in $path for a file named $file. The +# full path is returned if one is found, or an empty string otherwise. +# The file may exist with one of the @suffixes. The mode is checked +# similar to _CheckFilePath. +# +# The first full path that matches the name and mode is returned. If none +# is found, an empty string is returned. +sub _SearchPath { + my($file,$path,$mode,@suff)=@_; + my($f,$s,$d,@dir,$fs)=(); + $path=_FixPath($path,1,"r"); + @dir=split(/$Cnf{"PathSep"}/,$path); + foreach $d (@dir) { + $f="$d/$file"; + $f=~ s|//|/|g; + return $f if (_CheckFilePath($f,$mode)); + foreach $s (@suff) { + $fs="$f.$s"; + return $fs if (_CheckFilePath($fs,$mode)); + } + } + return ""; +} + +# @list=_ReturnList($str); +# This takes a string which should be a comma separated list of integers +# or ranges (5-7). It returns a sorted list of all integers referred to +# by the string, or () if there is an invalid element. +# +# Negative integers are also handled. "-2--1" is equivalent to "-2,-1". +sub _ReturnList { + my($str)=@_; + my(@ret,@str,$from,$to,$tmp)=(); + @str=split(/,/,$str); + foreach $str (@str) { + if ($str =~ /^[-+]?\d+$/) { + push(@ret,$str); + } elsif ($str =~ /^([-+]?\d+)-([-+]?\d+)$/) { + ($from,$to)=($1,$2); + if ($from>$to) { + $tmp=$from; + $from=$to; + $to=$tmp; + } + push(@ret,$from..$to); + } else { + return (); + } + } + @ret; +} + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip/DM5.pod b/lib/Date/Manip/DM5.pod new file mode 100644 index 0000000..52663f9 --- /dev/null +++ b/lib/Date/Manip/DM5.pod @@ -0,0 +1,2264 @@ +=pod + +=head1 NAME + +Date::Manip::DM5 - Date manipulation routines + +=head1 SYNOPSIS + + use Date::Manip; + + $version = DateManipVersion; + + Date_Init(); + Date_Init("VAR=VAL","VAR=VAL",...); + @list = Date_Init(); + @list = Date_Init("VAR=VAL","VAR=VAL",...); + + $date = ParseDate(\@args); + $date = ParseDate($string); + $date = ParseDate(\$string); + + @date = UnixDate($date,@format); + $date = UnixDate($date,@format); + + $delta = ParseDateDelta(\@args); + $delta = ParseDateDelta($string); + $delta = ParseDateDelta(\$string); + + @str = Delta_Format($delta,$dec,@format); + $str = Delta_Format($delta,$dec,@format); + + $recur = ParseRecur($string,$base,$date0,$date1,$flags); + @dates = ParseRecur($string,$base,$date0,$date1,$flags); + + $flag = Date_Cmp($date1,$date2); + + $d = DateCalc($d1,$d2 [,$errref] [,$del]); + + $date = Date_SetTime($date,$hr,$min,$sec); + $date = Date_SetTime($date,$time); + + $date = Date_SetDateField($date,$field,$val [,$nocheck]); + + $date = Date_GetPrev($date,$dow,$today,$hr,$min,$sec); + $date = Date_GetPrev($date,$dow,$today,$time); + + $date = Date_GetNext($date,$dow,$today,$hr,$min,$sec); + $date = Date_GetNext($date,$dow,$today,$time); + + $name = Date_IsHoliday($date); + + $listref = Events_List($date); + $listref = Events_List($date0,$date1); + + $date = Date_ConvTZ($date); + $date = Date_ConvTZ($date,$from); + $date = Date_ConvTZ($date,"",$to); + $date = Date_ConvTZ($date,$from,$to); + + $flag = Date_IsWorkDay($date [,$flag]); + + $date = Date_NextWorkDay($date,$off [,$flag]); + + $date = Date_PrevWorkDay($date,$off [,$flag]); + + $date = Date_NearestWorkDay($date [,$tomorrowfirst]); + +The above routines all check to make sure that Date_Init is called. If it +hasn't been, they will call it automatically. As a result, there is usually +no need to call Date_Init explicitly unless you want to change some of the +config variables (described below). They also do error checking on the +input. + +The routines listed below are intended primarily for internal use by other +Date::Manip routines. They do little or no error checking, and do not +explicitly call Date_Init. Those functions are all done in the main +Date::Manip routines above. + +Because they are significantly faster than the full Date::Manip routines, +they are available for use with a few caveats. Since little or no +error checking is done, it is the responsibility of the programmer to +ensure that valid data (AND valid dates) are passed to them. Passing +invalid data (such as a non-numeric month) or invalid dates (Feb 31) +will fail in unpredictable ways (possibly returning erroneous results). +Also, since Date_Init is not called by these, it must be called +explicitly by the programmer before using these routines. + +In the following routines, $y may be entered as either a 2 or 4 digit year +(it will be converted to a 4 digit year based on the variable YYtoYYYY +described below). Month and day should be numeric in all cases. Most (if +not all) of the information below can be gotten from UnixDate which is +really the way I intended it to be gotten, but there are reasons to use +these (these are significantly faster). + + $day = Date_DayOfWeek($m,$d,$y); + $secs = Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + $secs = Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s); + $days = Date_DaysSince1BC($m,$d,$y); + $day = Date_DayOfYear($m,$d,$y); + ($y,$m,$d,$h,$mn,$s) = Date_NthDayOfYear($y,$n); + $days = Date_DaysInYear($y); + $days = Date_DaysInMonth($m,$y); + $wkno = Date_WeekOfYear($m,$d,$y,$first); + $flag = Date_LeapYear($y); + $day = Date_DaySuffix($d); + $tz = Date_TimeZone(); + +=head1 ROUTINES + +=over 4 + +=item B + + Date_Init(); + Date_Init("VAR=VAL","VAR=VAL",...); + @list = Date_Init(); + @list = Date_Init("VAR=VAL","VAR=VAL",...); + +Normally, it is not necessary to explicitly call Date_Init. The first +time any of the other routines are called, Date_Init will be called to set +everything up. If for some reason you want to change the configuration of +Date::Manip, you can pass the appropriate string or strings into Date_Init +to reinitialize things. + +The strings to pass in are of the form "VAR=VAL". Any number may be +included and they can come in any order. VAR may be any configuration +variable. A list of all configuration variables is given in the section +CUSTOMIZING DATE::MANIP below. VAL is any allowed value for that variable. +For example, to switch from English to French and use non-US format (so +that 12/10 is Oct 12), do the following: + + Date_Init("Language=French","DateFormat=non-US"); + +If Date_Init is called in list context, it will return a list of all +config variables and their values suitable for passing in to Date_Init +to return Date::Manip to the current state. The only possible problem is +that by default, holidays will not be erased, so you may need to prepend +the "EraseHolidays=1" element to the list. + +=item B + + $date = ParseDate(\@args); + $date = ParseDate($string); + $date = ParseDate(\$string); + +This takes an array or a string containing a date and parses it. When the +date is included as an array (for example, the arguments to a program) the +array should contain a valid date in the first one or more elements +(elements after a valid date are ignored). Elements containing a valid +date are shifted from the array. The largest possible number of elements +which can be correctly interpreted as a valid date are always used. If a +string is entered rather than an array, that string is tested for a valid +date. The string is unmodified, even if passed in by reference. + +The real work is done in the ParseDateString routine. + +The ParseDate routine is primarily used to handle command line arguments. +If you have a command where you want to enter a date as a command line +argument, you can use Date::Manip to make something like the following +work: + + mycommand -date Dec 10 1997 -arg -arg2 + +No more reading man pages to find out what date format is required in a +man page. + +Historical note: this is originally why the Date::Manip routines were +written (though long before they were released as the Date::Manip module). +I was using a bunch of programs (primarily batch queue managers) where +dates and times were entered as command line options and I was getting +highly annoyed at the many different (but not compatible) ways that they +had to be entered. Date::Manip originally consisted of basically 1 routine +which I could pass "@ARGV" to and have it remove a date from the beginning. + +=item B + + $date = ParseDateString($string); + +This routine is called by ParseDate, but it may also be called directly +to save some time (a negligible amount). + +NOTE: One of the most frequently asked questions that I have gotten +is how to parse seconds since the epoch. ParseDateString cannot simply +parse a number as the seconds since the epoch (it conflicts with some +ISO-8601 date formats). There are two ways to get this information. +First, you can do the following: + + $secs = ... # seconds since Jan 1, 1970 00:00:00 GMT + $date = DateCalc("Jan 1, 1970 00:00:00 GMT","+ $secs"); + +Second, you can call it directly as: + + $date = ParseDateString("epoch $secs"); + +To go backwards, just use the "%s" format of UnixDate: + + $secs = UnixDate($date,"%s"); + +A full date actually includes 2 parts: date and time. A time must include +hours and minutes and can optionally include seconds, fractional seconds, +an am/pm type string, and a time zone. For example: + + [at] HH:MN [Zone] + [at] HH:MN [am] [Zone] + [at] HH:MN:SS [am] [Zone] + [at] HH:MN:SS.SSSS [am] [Zone] + [at] HH am [Zone] + +Hours can be written using 1 or 2 digits, but the single digit form may +only be used when no ambiguity is introduced (i.e. when it is not +immediately preceded by a digit). + +A time is usually entered in 24 hour mode, but 12 hour mode can be used +as well if AM/PM are entered (AM can be entered as AM or A.M. or other +variations depending on the language). + +Fractional seconds are also supported in parsing but the fractional part is +discarded (with NO rounding occurring). + +Time zones always appear immediately after the time. A number of different +forms are supported (see the section TIME ZONES below). + +Incidentally, the time is removed from the date before the date is parsed, +so the time may appear before or after the date, or between any two parts +of the date. + +Valid date formats include the ISO 8601 formats: + + YYYYMMDDHHMNSSF... + YYYYMMDDHHMNSS + YYYYMMDDHHMN + YYYYMMDDHH + YY-MMDDHHMNSSF... + YY-MMDDHHMNSS + YY-MMDDHHMN + YY-MMDDHH + YYYYMMDD + YYYYMM + YYYY + YY-MMDD + YY-MM + YY + YYYYwWWD ex. 1965-W02-2 + YYwWWD + YYYYDOY ex. 1965-045 + YYDOY + +In the above list, YYYY and YY signify 4 or 2 digit years, MM, DD, HH, MN, SS +refer to two digit month, day, hour, minute, and second respectively. F... +refers to fractional seconds (any number of digits) which will be ignored. +In all cases, the date and time parts may be separated by the letter "T" +(but this is optional), so + 2002-12-10-12:00:00 + 2002-12-10T12:00:00 +are identical. + +The last 4 formats can be explained by example: 1965-w02-2 refers to Tuesday +(day 2) of the 2nd week of 1965. 1965-045 refers to the 45th day of 1965. + +In all cases, parts of the date may be separated by dashes "-". If this is +done, 1 or 2 digit forms of MM, DD, etc. may be used. All dashes are +optional except for those given in the table above (which MUST be included +for that format to be correctly parsed). So 19980820, 1998-0820, +1998-08-20, 1998-8-20, and 199808-20 are all equivalent, but that date may +NOT be written as 980820 (it must be written as 98-0820). + +NOTE: Even though not allowed in the standard, the time zone for an ISO-8601 +date is flexible and may be any of the time zones understood by Date::Manip. + +Additional date formats are available which may or may not be common including: + + MM/DD ** + MM/DD/YY ** + MM/DD/YYYY ** + + mmmDD DDmmm mmmYYYY/DD mmmYYYY + mmmDD/YY DDmmmYY DD/YYmmm YYYYmmmDD YYYYmmm + mmmDDYYYY DDmmmYYYY DDYYYYmmm YYYY/DDmmm + +Where mmm refers to the name of a month. All parts of the date can be +separated by valid separators (space, "/", or "."). The separator "-" may +be used as long as it doesn't conflict with an ISO 8601 format, but this +is discouraged since it is easy to overlook conflicts. For example, the +format MM/DD/YY is just fine, but MM-DD-YY does not work since it conflicts +with YY-MM-DD. To be safe, if "-" is used as a separator in a non-ISO +format, they should be turned into "/" before calling the Date::Manip +routines. As with ISO 8601 formats, all separators are optional except for +those given as a "/" in the list above. + +** Note that with these formats, Americans tend to write month first, but +many other countries tend to write day first. The latter behavior can be +obtained by setting the config variable DateFormat to something other than +"US" (see CUSTOMIZING DATE::MANIP below). + +Date separators are treated very flexibly (they are converted to spaces), +so the following dates are all equivalent: + + 12/10/1965 + 12-10 / 1965 + 12 // 10 -. 1965 + +In some cases, this may actually be TOO flexible, but no attempt is made to +trap this. + +Years can be entered as 2 or 4 digits, days and months as 1 or 2 digits. +Both days and months must include 2 digits whenever they are immediately +adjacent to another numeric part of the date or time. Date separators +are required if single digit forms of DD or MM are used. If separators +are not used, the date will either be unparsable or will get parsed +incorrectly. + +Miscellaneous other allowed formats are: + which dofw in mmm in YY "first Sunday in June + 1996 at 14:00" ** + dofw week num YY "Sunday week 22 1995" ** + which dofw YY "22nd Sunday at noon" ** + dofw which week YY "Sunday 22nd week in + 1996" ** + next/last dofw "next Friday at noon" + next/last week/month "next month" + in num days/weeks/months "in 3 weeks at 12:00" + num days/weeks/months later "3 weeks later" + num days/weeks/months ago "3 weeks ago" + dofw in num week "Friday in 2 weeks" + in num weeks dofw "in 2 weeks on Friday" + dofw num week ago "Friday 2 weeks ago" + num week ago dofw "2 weeks ago Friday" + last day in mmm in YY "last day of October" + dofw "Friday" (Friday of + current week) + Nth "12th", "1st" (day of + current month) + epoch SECS seconds since the epoch + (negative values are + supported) + +** Note that the formats "Sunday week 22" and "22nd Sunday" give very +different behaviors. "Sunday week 22" returns the Sunday of the 22nd week +of the year based on how week 1 is defined. ISO 8601 defines week one to +contain Jan 4, so "Sunday week 1" might be the first or second Sunday of +the current year, or the last Sunday of the previous year. "22nd Sunday" +gives the actual 22nd time Sunday occurs in a given year, regardless of the +definition of a week. + +Note that certain words such as "in", "at", "of", etc. which commonly appear +in a date or time are ignored. Also, the year is always optional. + +In addition, the following strings are recognized: + today (exactly now OR today at a given time if a time is specified) + now (synonym for today) + yesterday (exactly 24 hours ago unless a time is specified) + tomorrow (exactly 24 hours from now unless a time is specified) + noon (12:00:00) + midnight (00:00:00) +Other languages have similar (and in some cases additional) strings. + +Some things to note: + +All strings are case insensitive. "December" and "DEceMBer" both work. + +When a part of the date is not given, defaults are used: year defaults +to current year; hours, minutes, seconds to 00. + +The year may be entered as 2 or 4 digits. If entered as 2 digits, it will +be converted to a 4 digit year. There are several ways to do this based on +the value of the YYtoYYYY variable (described below). The default behavior +it to force the 2 digit year to be in the 100 year period CurrYear-89 to +CurrYear+10. So in 1996, the range is [1907 to 2006], and the 2 digit year +05 would refer to 2005 but 07 would refer to 1907. See CUSTOMIZING +DATE::MANIP below for information on YYtoYYYY for other methods. + +Dates are always checked to make sure they are valid. + +In all of the formats, the day of week ("Friday") can be entered anywhere +in the date and it will be checked for accuracy. In other words, + "Tue Jul 16 1996 13:17:00" +will work but + "Jul 16 1996 Wednesday 13:17:00" +will not (because Jul 16, 1996 is Tuesday, not Wednesday). Note that +depending on where the weekday comes, it may give unexpected results when +used in array context (with ParseDate). For example, the date +("Jun","25","Sun","1990") would return June 25 of the current year since +Jun 25, 1990 is not Sunday. + +The times "12:00 am", "12:00 pm", and "midnight" are not well defined. For +good or bad, I use the following convention in Date::Manip: + midnight = 12:00am = 00:00:00 + noon = 12:00pm = 12:00:00 +and the day goes from 00:00:00 to 23:59:59. In other words, midnight is the +beginning of a day rather than the end of one. The time 24:00:00 is also +allowed (though it is automatically transformed to 00:00:00 of the following +day). + +The format of the date returned is YYYYMMDDHH:MM:SS. The advantage of this +time format is that two times can be compared using simple string comparisons +to find out which is later. Also, it is readily understood by a human. +Alternate forms can be used if that is more convenient. See Date_Init below +and the config variable Internal. + +NOTE: The format for the date is going to change at some point in the future +to YYYYMMDDHH:MN:SS+HHMN*FLAGS. In order to maintain compatibility, you +should use UnixDate to extract information from a date, and Date_Cmp to compare +two dates. The simple string comparison will only work for dates in the same +time zone. + +=item B + + @date = UnixDate($date,@format); + $date = UnixDate($date,@format); + +This takes a date and a list of strings containing formats roughly +identical to the format strings used by the UNIX date(1) command. Each +format is parsed and an array of strings corresponding to each format is +returned. + +$date may be any string that can be parsed by ParseDateString. + +The format options are: + + Year + %y year - 00 to 99 + %Y year - 0001 to 9999 + Month, Week + %m month of year - 01 to 12 + %f month of year - " 1" to "12" + %b,%h month abbreviation - Jan to Dec + %B month name - January to December + Day + %j day of the year - 001 to 366 + %d day of month - 01 to 31 + + %e day of month - " 1" to "31" + %v weekday abbreviation - " S"," M"," T"," W","Th"," F","Sa" + %a weekday abbreviation - Sun to Sat + %A weekday name - Sunday to Saturday + %w day of week - 1 (Monday) to 7 (Sunday) + %E day of month with suffix - 1st, 2nd, 3rd... + Hour + %H hour - 00 to 23 + %k hour - " 0" to "23" + %i hour - " 1" to "12" + %I hour - 01 to 12 + %p AM or PM + Minute, Second, Time zone + %M minute - 00 to 59 + %S second - 00 to 59 + %Z time zone - "EDT" + %z time zone as GMT offset - "+0100" + Epoch (see NOTE 3 below) + %s seconds from 1/1/1970 GMT- negative if before 1/1/1970 + %o seconds from Jan 1, 1970 + in the current time zone + Date, Time + %c %a %b %e %H:%M:%S %Y - Fri Apr 28 17:23:15 1995 + %C,%u %a %b %e %H:%M:%S %z %Y - Fri Apr 28 17:25:57 EDT 1995 + %g %a, %d %b %Y %H:%M:%S %z - Fri, 28 Apr 1995 17:23:15 EDT + %D %m/%d/%y - 04/28/95 + %x %m/%d/%y or %d/%m/%y - 04/28/95 or 28/04/28 + (Depends on DateFormat variable) + %l date in ls(1) format (see NOTE 1 below) + %b %e $H:$M - Apr 28 17:23 (if within 6 months) + %b %e %Y - Apr 28 1993 (otherwise) + %r %I:%M:%S %p - 05:39:55 PM + %R %H:%M - 17:40 + %T,%X %H:%M:%S - 17:40:58 + %V %m%d%H%M%y - 0428174095 + %Q %Y%m%d - 19961025 + %q %Y%m%d%H%M%S - 19961025174058 + %P %Y%m%d%H%M%S - 1996102517:40:58 + %O %Y-%m-%dT%H:%M:%S - 1996-10-25T17:40:58 + %F %A, %B %e, %Y - Sunday, January 1, 1996 + %K %Y-%j - 1997-045 + Special Year/Week formats (see NOTE 2 below) + %G year, Monday as first + day of week - 0001 to 9999 + %W week of year, Monday + as first day of week - 01 to 53 + %L year, Sunday as first + day of week - 0001 to 9999 + %U week of year, Sunday + as first day of week - 01 to 53 + %J %G-W%W-%w - 1997-W02-2 + Other formats + %n insert a newline character + %t insert a tab character + %% insert a `%' character + %+ insert a `+' character + The following formats are currently unused but may be used in the future: + N 1234567890 !@#$^&*()_|-=\`[];',./~{}:<>? + They currently insert the character following the %, but may (and probably + will) change in the future as new formats are added. + +If a lone percent is the final character in a format, it is ignored. + +The formats used in this routine were originally based on date.pl (version +3.2) by Terry McGonigal, as well as a couple taken from different versions +of the Solaris date(1) command. Also, several have been added which are +unique to Date::Manip. + +NOTE 1: + +The ls format (%l) applies to date within the past OR future 6 months! + +NOTE 2: + +The %U, %W, %L, %G, and %J formats are used to support the ISO-8601 format: +YYYY-wWW-D. In this format, a date is written as a year, the week of the +year, and the day of the week. Technically, the week may be considered to +start on any day of the week, but Sunday and Monday are the both common +choices, so both are supported. + +The %W and %G formats return the week-of-year and the year treating weeks +as starting on Monday. + +The %U and %L formats return the week-of-year and the year treating weeks +as starting on Sunday. + +Most of the time, the %L and %G formats returns the same value as the %Y +format, but there is a problem with days occurring in the first or last week +of the year. + +The ISO-8601 representation of Jan 1, 1993 written in the YYYY-wWW-D format +is actually 1992-W53-5. In other words, Jan 1 is treated as being in the +last week of the preceding year. Depending on the year, days in the first +week of a year may belong to the previous year, and days in the final week +of a year may belong to the next year. The week is assigned to the year +which has most of the days. For example, if the week starts on Sunday, +then the last week of 2003 is 2003-12-28 to 2004-01-03. This week is +assigned to 2003 since 4 of the days in it are in 2003 and only 3 of them +are in 2004. The first week of 2004 starts on 2004-01-04. + +The %U and %W formats return a week-of-year number from 01 to 53. %L and +%G return the corresponding year, and to get this type of information, +you should always use the (%W,%G) combination or (%U,%L) combination. %Y +should not be used as it will yield incorrect results. + +%J returns the full ISO-8601 format (%G-W%W-%w). + +NOTE 3: + +The %s and %o formats return negative values if the date is before +the start of the epoch. Other Unix utilities would return an error, or +a zero, so if you are going to use Date::Manip in conjunction with these, +be sure to check for a negative value. + +=item B + + $delta = ParseDateDelta(\@args); + $delta = ParseDateDelta($string); + $delta = ParseDateDelta(\$string); + +This takes an array and shifts a valid delta date (an amount of time) +from the array. Recognized deltas are of the form: + +Yy +Mm +Ww +Dd +Hh +MNmn +Ss + examples: + +4 hours +3mn -2second + + 4 hr 3 minutes -2 + 4 hour + 3 min -2 s + +Y:+M:+W:+D:+H:+MN:+S + examples: + 0:0:0:0:4:3:-2 + +4:3:-2 + mixed format + examples: + 4 hour 3:-2 + +A field in the format +Yy is a sign, a number, and a string specifying +the type of field. The sign is "+", "-", or absent (defaults to the +next larger element). The valid strings specifying the field type +are: + y: y, yr, year, years + m: m, mon, month, months + w: w, wk, ws, wks, week, weeks + d: d, day, days + h: h, hr, hour, hours + mn: mn, min, minute, minutes + s: s, sec, second, seconds + +Also, the "s" string may be omitted. The sign, number, and string may +all be separated from each other by any number of whitespace. + +In the date, all fields must be given in the order: Y M W D H MN S. Any +number of them may be omitted provided the rest remain in the correct +order. In the 2nd (colon) format, from 2 to 7 of the fields may be given. +For example +D:+H:+MN:+S may be given to specify only four of the fields. +In any case, both the MN and S field may be present. No spaces may be +present in the colon format. + +Deltas may also be given as a combination of the two formats. For example, +the following is valid: +Yy +D:+H:+MN:+S. Again, all fields must be given +in the correct order. + +The word "in" may be given (prepended in English) to the delta ("in 5 years") +and the word "ago" may be given (appended in English) ("6 months ago"). The +"in" is completely ignored. The "ago" has the affect of reversing all signs +that appear in front of the components of the delta. I.e. "-12 yr 6 mon ago" +is identical to "+12yr +6mon" (don't forget that there is an implied minus +sign in front of the 6 because when no sign is explicitly given, it carries +the previously entered sign). + +One thing is worth noting. The year/month and day/hour/min/sec parts are +returned in a "normalized" form. That is, the signs are adjusted so as to +be all positive or all negative. For example, "+ 2 day - 2hour" does not +return "0:0:0:2:-2:0:0". It returns "+0:0:0:1:22:0:0" (1 day 22 hours +which is equivalent). I find (and I think most others agree) that this is +a more useful form. + +Since the year/month and day/hour/min/sec parts must be normalized +separately there is the possibility that the sign of the two parts will be +different. So, the delta "+ 2years -10 months - 2 days + 2 hours" produces +the delta "+1:2:-0:1:22:0:0". + +It is possible to include a sign for all elements that is output. See the +configuration variable DeltaSigns below. + +NOTE: The internal format of the delta changed in version 5.30 from +Y:M:D:H:MN:S to Y:M:W:D:H:MN:S . Also, it is going to change again at some +point in the future to Y:M:W:D:H:MN:S*FLAGS . Use the routine Delta_Format +to extract information rather than parsing it yourself. + +=item B + + @str = Delta_Format($delta [,$mode], $dec,@format); + $str = Delta_Format($delta [,$mode], $dec,@format); + +This is similar to the UnixDate routine except that it extracts information +from a delta. Unlike the UnixDate routine, most of the formats are 2 +characters instead of 1. + +Formats currently understood are: + + %Xv : the value of the field named X + %Xd : the value of the field X, and all smaller fields, expressed in + units of X + %Xh : the value of field X, and all larger fields, expressed in units + of X + %Xt : the value of all fields expressed in units of X + + X is one of y,M,w,d,h,m,s (case sensitive). + + %% : returns a "%" + +So, the format "%hd" means the values of H, MN, and S expressed in hours. +So for the delta "0:0:0:0:2:30:0", this format returns 2.5. + +Delta_Format can operate in two modes: exact and approximate. The exact +mode is done by default. Approximate mode can be done by passing in +the string "approx" as the 2nd argument. + +In exact mode, Delta_Format only understands "exact" relationships. This +means that there can be no mixing of the Y/M and W/D/H/MN/S segments +because the relationship because, depending on when the delta occurs, there +is no exact relation between the number of years or months and the number +of days. + +The two sections are treated completely separate from each other. So, +the delta "1:6:1:2:12:0:0" would return the following values: + + %yt = 1.5 (1 year, 6 months) + %Mt = 18 + + %dt = 9.5 (1 week, 2 days, 12 hours) + +In approximate mode, the relationship of 1 year = 365.25 days is applied +(with 1 month equal to 1/12 of a year exactly). So the delta +"1:6:1:2:12:0:0" would return the following values: + + %dt = 557.375 (1.5 years of 365.25 days + 9.5 days) + +If $dec is non-zero, the %Xd and %Xt values are formatted to contain $dec +decimal places. + +=item B + + $recur = ParseRecur($string [,$base,$date0,$date1,$flags]); + @dates = ParseRecur($string [,$base,$date0,$date1,$flags]); + +A recurrence refers to a recurring event, and more specifically, an event +which occurs on a regular basis. A fully specified recurring event +may requires up to four pieces of information. + +First, it requires a description of the frequency of the event. Examples +include "the first of every month", "every other day", "the 4th +Thursday of each month at 2:00 PM", and "every 2 hours and 30 minutes". + +Second, it may require a base date to work from. This piece of information +is not required for every type of recurrence. For example, if the +frequency is "the first of every month", no base date is required. All the +information about when the event occurs is included in the frequency +description. If the frequency were "every other day" though, you need to +know at least one day on which the event occurred. + +Third, the recurring event may have a range (a starting and ending date). + +Fourth, there may be some flags included which modify the behavior of the +above information. + +The fully specified recurrence is written as these 5 pieces of information +(both a start and end date) as an asterisk separated list: + + freq*flags*base*date0*date1 + +Here, base, date0, and date1 are any strings (which must not contain any +asterisks) which can be parsed by ParseDate. flags is a comma separated +list of flags (described below), and freq is a string describing the +frequency of the recurring event. + +The syntax of the frequency description is a colon separated list of the +format Y:M:W:D:H:MN:S (which stand for year, month, week, etc.). One (and +only one) of the colons may optionally be replaced by an asterisk, or an +asterisk may be prepended to the string. For example, the following are +all valid frequency descriptions: + + 1:2:3:4:5:6:7 + 1:2*3:4:5:6:7 + *1:2:3:4:5:6:7 + +But the following are NOT valid because they contain 2 or more asterisks: + + 1:2*3:4:5*6:7 + 1*2*3:4:5*6:7 + *1:2:3:4:5:6*7 + +If an asterisk is included, values to the left of it refer to the number of +times that time interval occurs between recurring events. For example, +if the first part of the recurrence is: + + 1:2* + +this says that the recurring event occurs approximately every 1 year and 2 +months. I say approximately, because elements to the right of the asterisk, +as well as any flags included in the recurrence will affect when the actual +events occur. + +If no asterisks are included, then the entire recurrence is of this form. +For example, + + 0:0:0:1:12:0:0 + +refers to an event that occurs every 1 day, 12 hours. + +Values that occur after an asterisk refer to a specific value for that type +of time element (i.e. exactly as it would appear on a calendar or a clock). +For example, if the recurrence ends with: + + *12:0:0 + +then the recurring event occurs at 12:00:00 (noon). + +For example: + + 0:0:2:1:0:0:0 every 2 weeks and 1 day + 0:0:0:0:5:30:0 every 5 hours and 30 minutes + 0:0:0:2*12:30:0 every 2 days at 12:30 (each day) + +Values to the right of the asterisk can be listed a single values, ranges +(2 numbers separated by a dash "-"), or a comma separated list of values +or ranges. In most cases, negative values are appropriate for the week +or day values. -1 stands for the last possible value, -2 for the second +to the last, etc. + +Some examples are: + + 0:0:0:1*2,4,6:0:0 every day at at 2:00, 4:00, and 6:00 + 0:0:0:2*12-13:0,30:0 every other day at 12:00, 12:30, 13:00, + and 13:30 + 0:1:0*-1:0:0:0 the last day of every month + *1990-1995:12:0:1:0:0:0 + Dec 1 in 1990 through 1995 + +There is no way to express the following with a single recurrence: + + every day at 12:30 and 1:00 + +You have to use two recurrences to do this. + +When a non-zero day element occurs to the right of the asterisk, it can take +on multiple meanings, depending on the value of the month and week +elements. It can refer to the day of the week, day of the month, or day of +the year. Similarly, if a non-zero week element occurs to the right of +the asterisk, it actually refers to the nth time a certain day of the week +occurs, either in the month or in the year. + +If the week element is non-zero and the day element is non-zero (and to the +right of the asterisk), the day element refers to the day of the week. It +can be any value from 1 to 7 (negative values -1 to -7 are also +allowed). If you use the ISO 8601 convention, the first day of the week is +Monday (though Date::Manip can use any day as the start of the week by +setting the FirstDay config variable). So, assuming that you are using the +ISO 8601 convention, the following examples illustrate day-of-week +recurrences: + + 0:1*4:2:0:0:0 4th Tuesday (day 2) of every month + 0:1*-1:2:0:0:0 last Tuesday of every month + 0:0:3*2:0:0:0 every 3rd Tuesday (every 3 weeks + on 2nd day of week) + 1:0*12:2:0:0:0 the 12th Tuesday of each year + +If the week element is non-zero, and the day element is zero, the day +defaults to 1 (i.e. the first day of the week). + + 0:1*2:0:0:0:0 the 2nd occurrence of FirstDay + in the year (typically Monday) + 0:1*2:1:0:0:0 the same + +If the week element is zero and the month element is non-zero, the day +value is the day of the month (it can be from 1 to 31 or -1 to -31 counting +from the end of the month). If a value of 0 is given, it defaults to 1. + + 3*1:0:2:12:0:0 every 3 years on Jan 2 at noon + 0:1*0:2:12,14:0:0 2nd of every month at 12:00 and 14:00 + 0:1:0*-2:0:0:0 2nd to last day of every month + +If the day given refers to the 29th, 30th, or 31st, in a month +that does not have that number of days, it is ignored. For example, +if you ask for the 31st of every month, it will return dates in Jan, +Mar, May, Jul, etc. Months with fewer than 31 days will be ignored. + +If both the month and week elements are zero, and the year element +is non-zero, the day value is the day of the year (1 to 365 or 366 -- or +the negative numbers to count backwards from the end of the year). + + 1:0:0*45:0:0:0 45th day of every year + +Specifying a day that doesn't occur in that year silently ignores that +year. The only result of this is that specifying +366 or -366 will ignore +all years except leap years. + +I realize that this looks a bit cryptic, but after a discussion on the +CALENDAR mailing list, it appeared like there was no concise, flexible +notation for handling recurring events. ISO 8601 notations were very bulky +and lacked the flexibility I wanted. As a result, I developed this +notation (based on crontab formats, but with much more flexibility) which +fits in well with this module. Even better, it is able to express every +type of recurring event I could think of that is used in common life in +(what I believe to be) a very concise and elegant way. + +If ParseRecur is called in scalar context, it returns a string containing a +fully specified recurrence (or as much of it as can be determined with +unspecified fields left blank). In list context, it returns a list of all +dates referred to by a recurrence if enough information is given in the +recurrence. All dates returned are in the range: + + date0 <= date < date1 + +The argument $string can contain any of the parts of a full recurrence. +For example: + + freq + freq*flags + freq**base*date0*date1 + +The only part which is required is the frequency description. Any values +contained in $string are overridden or modified by values passed in as +parameters to ParseRecur. + +NOTE: If a recurrence has a date0 and date1 in it AND a date0 and date1 +are passed in to the function, both sets of criteria apply. If flags are +passed in, they override any flags in the recurrence UNLESS the flags +passed in start with a plus (+) character in which case they are appended +to the flags in the recurrence. + +NOTE: Base dates are only used with some types of recurrences. For example, + + 0:0:3*2:0:0:0 every 3rd Tuesday + +requires a base date. If a base date is specified which doesn't match the +criteria (for example, if a base date falling on Monday were passed in with +this recurrence), the base date is moved forward to the first relevant date. + +Other dates do not require a base date. For example: + + 0:0*3:2:0:0:0 third Tuesday of every month + +A recurrence written in the above format does NOT provide default values +for base, date0, or date1. They must be specified in order to get a list +of dates. + +A base date is not used entirely. It is only used to provide the parts +necessary for the left part of a recurrence. For example, the recurrence: + + 1:3*0:4:0:0:0 every 1 year, 3 months on the 4th day of the month + +would only use the year and month of the base date. + +There are a small handful of English strings which can be parsed in place +of a numerical recur description. These include: + + every 2nd day [in 1997] + every 2nd day in June [1997] + 2nd day of every month [in 1997] + 2nd Tuesday of every month [in 1997] + last Tuesday of every month [in 1997] + every Tuesday [in 1997] + every 2nd Tuesday [in 1997] + every 2nd Tuesday in June [1997] + +Each of these set base, date0, and date1 to a default value (the current +year with Jan 1 being the base date is the default if the year and month +are missing). + +The following flags (case insensitive) are understood: + + PDn : n is 1-7. Means the previous day n not counting today + PTn : n is 1-7. Means the previous day n counting today + NDn : n is 1-7. Means the next day n not counting today + NTn : n is 1-7. Means the next day n counting today + + FDn : n is any number. Means step forward n days. + BDn : n is any number. Means step backward n days. + FWn : n is any number. Means step forward n workdays. + BWn : n is any number. Means step backward n workdays. + + CWD : the closest work day (using the TomorrowFirst config variable). + CWN : the closest work day (looking forward first). + CWP : the closest work day (looking backward first). + + NWD : next work day counting today + PWD : previous work day counting today + DWD : next/previous work day (TomorrowFirst config) counting today + + EASTER: select easter for this year (the M, W, D fields are ignored + in the recur). + +CWD, CWN, and CWP will usually return the same value, but if you are +starting at the middle day of a 3-day weekend (for example), it will return +either the first work day of the following week, or the last work day of +the previous week depending on whether it looks forward or backward first. + +All flags are applied AFTER the recurrence dates are calculated, and they +may move a date outside of the date0 to date1 range. No check is made for +this. + +The workday flags do not act exactly the same as a business mode calculation. +For example, a date that is Saturday with a FW1 steps forward to the first +workday (i.e. Monday). + +=item B + + $flag = Date_Cmp($date1,$date2); + +This takes two dates and compares them. Almost all dates can be compared +using the Perl "cmp" command. The only time this will not work is when +comparing dates in different time zones. This routine will take that into +account. + +NOTE: This routine currently does little more than use "cmp", but once +the internal format for storing dates is in place (where time zone information +is kept as part of the date), this routine will become more important. You +should use this routine in preparation for that version. + +=item B + + $d = DateCalc($d1,$d2 [,\$err] [,$mode]); + +This takes two dates, deltas, or one of each and performs the appropriate +calculation with them. Dates must be a string that can be parsed by +ParseDateString. Deltas must be a string that can be parsed by +ParseDateDelta. Two deltas add together to form a third delta. A date +and a delta returns a 2nd date. Two dates return a delta (the difference +between the two dates). + +Since the two items can be interpreted as either dates or deltas, and since +many types of dates can be interpreted as deltas (and vice versa), it is +a good idea to pass the input through ParseDate or ParseDateDelta as +appropriate. For example, the string "09:00:00" can be interpreted either +as a date (today at 9:00:00) or a delta (9 hours). To avoid unexpected +results, avoid calling DateCalc as: + + $d = DateCalc("09:00:00",$someothervalue); + +Instead, call it as: + + $d = DateCalc(ParseDate("09:00:00"),$someothervalue); + +to force it to be a date, or: + + $d = DateCalc(ParseDateDelta("09:00:00"),$someothervalue); + +to force it to be a delta. This will avoid unexpected results. + +Note that in many cases, it is somewhat ambiguous what the delta +actually refers to. Although it is ALWAYS known how many months in a +year, hours in a day, etc., it is NOT known (in the generals case) how +many days are in a month. As a result, the part of the delta +containing month/year and the part with sec/min/hr/day must be treated +separately. For example, "Mar 31, 12:00:00" plus a delta of 1month +2days would yield "May 2 12:00:00". The year/month is first handled +while keeping the same date. Mar 31 plus one month is Apr 31 (but +since Apr only has 30 days, it becomes Apr 30). Apr 30 + 2 days is +May 2. As a result, in the case where two dates are entered, the +resulting delta can take on two different forms. By default +($mode=0), an absolutely correct delta (ignoring daylight saving time) +is returned in weeks, days, hours, minutes, and seconds. + +If $mode is 1, the math is done using an approximate mode where a delta is +returned using years and months as well. The year and month part is +calculated first followed by the rest. For example, the two dates "Mar 12 +1995" and "Apr 13 1995" would have an exact delta of "31 days" but in the +approximate mode, it would be returned as "1 month 1 day". Also, "Mar 31" +and "Apr 30" would have deltas of "30 days" or "1 month" (since Apr 31 +doesn't exist, it drops down to Apr 30). Approximate mode is a more human +way of looking at things (you'd say 1 month and 2 days more often then 33 +days), but it is less meaningful in terms of absolute time. In approximate +mode $d1 and $d2 must be dates. If either or both is a delta, the +calculation is done in exact mode. + +If $mode is 2, a business mode is used. That is, the calculation is done +using business days, ignoring holidays, weekends, etc. In order to +correctly use this mode, a config file must exist which contains the +section defining holidays (see documentation on the config file below). +The config file can also define the work week and the hours of the work +day, so it is possible to have different config files for different +businesses. + +For example, if a config file defines the workday as 08:00 to 18:00, a +work week consisting of Mon-Sat, and the standard (American) holidays, then +from Tuesday at 12:00 to the following Monday at 14:00 is 5 days and 2 +hours. If the "end" of the day is reached in a calculation, it +automatically switches to the next day. So, Tuesday at 12:00 plus 6 hours +is Wednesday at 08:00 (provided Wed is not a holiday). Also, a date that +is not during a workday automatically becomes the start of the next +workday. So, Sunday 12:00 and Monday at 03:00 both automatically becomes +Monday at 08:00 (provided Monday is not a holiday). In business mode, any +combination of date and delta may be entered, but a delta should not +contain a year or month field (weeks are fine though). + +See Date::Manip::Calc for some additional comments about business mode calculations. + +Note that a business week is treated the same as an exact week (i.e. from +Tuesday to Tuesday, regardless of holidays). Because this means that the +relationship between days and weeks is NOT unambiguous, when a delta is +produced from two dates, it will be in terms of d/h/mn/s (i.e. no week +field). + +If $mode is 3 (which only applies when two dates are passed in), an exact +business mode is used. In this case, it returns a delta as an exact number +of business days/hours/etc. between the two. Weeks, months, and years are +ignored. + +Any other non-nil value of $mode is treated as $mode=1 (approximate mode). + +The mode can be automatically set in the dates/deltas passed by including a +key word somewhere in it. For example, in English, if the word +"approximately" is found in either of the date/delta arguments, approximate +mode is forced. Likewise, if the word "business" or "exactly" appears, +business/exact mode is forced (and $mode is ignored). So, the two +following are equivalent: + + $date = DateCalc("today","+ 2 business days",\$err); + $date = DateCalc("today","+ 2 days",\$err,2); + +Note that if the keyword method is used instead of passing in $mode, it is +important that the keyword actually appear in the argument passed in to +DateCalc. The following will NOT work: + + $delta = ParseDateDelta("+ 2 business days"); + $today = ParseDate("today"); + $date = DateCalc($today,$delta,\$err); + +because the mode keyword is removed from a date/delta by the parse routines, +and the mode is reset each time a parse routine is called. Since DateCalc +parses both of its arguments, whatever mode was previously set is ignored. + +If \$err is passed in, it is set to: + 1 is returned if $d1 is not a delta or date + 2 is returned if $d2 is not a delta or date + 3 is returned if the date is outside the years 1000 to 9999 +This argument is optional, but if included, it must come before $mode. + +Nothing is returned if an error occurs. + +When a delta is returned, the signs such that it is strictly positive or +strictly negative ("1 day - 2 hours" would never be returned for example). +The only time when this cannot be enforced is when two deltas with a +year/month component are entered. In this case, only the signs on the +day/hour/min/sec part are standardized. + +=item B + + $date = Date_SetTime($date,$hr,$min,$sec); + $date = Date_SetTime($date,$time); + +This takes a date (any string that may be parsed by ParseDateString) and +sets the time in that date. For example, one way to get the time for 7:30 +tomorrow would be to use the lines: + + $date = ParseDate("tomorrow"); + $date = Date_SetTime($date,"7:30"); + +Note that in this routine (as well as the other routines below which use +a time argument), no real parsing is done on the times. As a result, + + $date = Date_SetTime($date,"13:30"); + +works, but + + $date = Date_SetTime($date,"1:30 PM"); + +doesn't. + +=item B + + $date = Date_SetDateField($date,$field,$val [,$nocheck]); + +This takes a date and sets one of its fields to a new value. $field is +any of the strings "y", "m", "d", "h", "mn", "s" (case insensitive) and +$val is the new value. + +If $nocheck is non-zero, no check is made as to the validity of the date. + +=item B + + $date = Date_GetPrev($date,$dow, $curr [,$hr,$min,$sec]); + $date = Date_GetPrev($date,$dow, $curr [,$time]); + $date = Date_GetPrev($date,undef,$curr,$hr,$min,$sec); + $date = Date_GetPrev($date,undef,$curr,$time); + +This takes a date (any string that may be parsed by ParseDateString) and finds +the previous occurrence of either a day of the week, or a certain time of day. + +If $dow is defined, the previous occurrence of the day of week is returned. +$dow may either be a string (such as "Fri" or "Friday") or a number +(between 1 and 7). The date of the previous $dow is returned. + +If $date falls on the day of week given by $dow, the date returned depends +on $curr. If $curr is 0, the date returned is a week before $date. If +$curr is 1, the date returned is the same as $date. If $curr is 2, the date +returned (including the time information) is required to be before $date. + +If a time is passed in (either as separate hours, minutes, seconds or as a +time in HH:MM:SS or HH:MM format), the time on this date is set to it. The +following examples should illustrate the use of Date_GetPrev: + + date dow curr time returns + Fri Nov 22 18:15:00 Thu any 12:30 Thu Nov 21 12:30:00 + Fri Nov 22 18:15:00 Fri 0 12:30 Fri Nov 15 12:30:00 + Fri Nov 22 18:15:00 Fri 1/2 12:30 Fri Nov 22 12:30:00 + + Fri Nov 22 18:15:00 Fri 1 18:30 Fri Nov 22 18:30:00 + Fri Nov 22 18:15:00 Fri 2 18:30 Fri Nov 15 18:30:00 + +If $dow is undefined, then a time must be entered, and the date returned is +the previous occurrence of this time. If $curr is non-zero, the current +time is returned if it matches the criteria passed in. In other words, the +time returned is the last time that a digital clock (in 24 hour mode) would +have displayed the time you passed in. If you define hours, minutes and +seconds default to 0 and you might jump back as much as an entire day. If +hours are undefined, you are looking for the last time the minutes/seconds +appeared on the digital clock, so at most, the time will jump back one hour. + + date curr hr min sec returns + Nov 22 18:15:00 0/1 18 undef undef Nov 22 18:00:00 + Nov 22 18:15:00 0/1 18 30 0 Nov 21 18:30:00 + Nov 22 18:15:00 0 18 15 undef Nov 21 18:15:00 + Nov 22 18:15:00 1 18 15 undef Nov 22 18:15:00 + Nov 22 18:15:00 0 undef 15 undef Nov 22 17:15:00 + Nov 22 18:15:00 1 undef 15 undef Nov 22 18:15:00 + +=item B + + $date = Date_GetNext($date,$dow, $curr [,$hr,$min,$sec]); + $date = Date_GetNext($date,$dow, $curr [,$time]); + $date = Date_GetNext($date,undef,$curr,$hr,$min,$sec); + $date = Date_GetNext($date,undef,$curr,$time); + +Similar to Date_GetPrev. + +=item B + + $name = Date_IsHoliday($date); + +This returns undef if $date is not a holiday, or a string containing the +name of the holiday otherwise. An empty string is returned for an unnamed +holiday. + +=item B + + $ref = Events_List($date); + $ref = Events_List($date ,0 [,$flag]); + $ref = Events_List($date0,$date1 [,$flag]); + +This returns a list of events. Events are defined in the Events section +of the config file (discussed below). + +In the first form (a single argument), $date is any string containing a +date. A list of events active at that precise time will be returned. +The format is similar to when $flag=0, except only a single time will +be returned. + +In all other cases, a range of times will be used. If the 2nd argument +evaluates to 0, the range of times will be the 24 hour period from +midnight to midnight containing $date. Otherwise, the range is given +by the two dates. + +The value of $flag determines the format of the information that is +returned. + +With $flag=0, the events are returned as a reference to a list of the form: + + [ date, [ list_of_events ], date, [ list_of_events ], ... ] + +For example, if the following events are defined (using the syntax +discussed below in the description of the Event section of the config +file): + + 2000-01-01 ; 2000-03-21 = Winter + 2000-03-22 ; 2000-06-21 = Spring + 2000-02-01 = Event1 + 2000-05-01 = Event2 + 2000-04-01-12:00:00 = Event3 + +might result in the following output: + + Events_List("2000-04-01") + => [ 2000040100:00:00, [ Spring ] ] + + Events_List("2000-04-01 12:30"); + => [ 2000040112:30:00, [ Spring, Event3 ] ] + + Events_List("2000-04-01",0); + => [ 2000040100:00:00, [ Spring ], + 2000040112:00:00, [ Spring, Event3 ], + 2000040113:00:00, [ Spring ] ] + + Events_List("2000-03-15","2000-04-10"); + => [ 2000031500:00:00, [ Winter ], + 2000032200:00:00, [ Spring ] + 2000040112:00:00, [ Spring, Event3 ] + 2000040113:00:00, [ Spring ] ] + +Much more complicated events can be defined using recurrences. + +When $flag is non-zero, the format of the output is changed. If $flag +is 1, then a tally of the amount of time given to each event is returned. +Time for which two or more events apply is counted for both. + + Events_List("2000-03-15","2000-04-10",1); + => { Winter => +0:0:1:0:0:0:0, + Spring => +0:0:2:5:0:0:0, + Event3 => +0:0:0:0:1:0:0 } + +When $flag is 2, a more complex tally with no event counted twice is +returned. + + Events_List("2000-03-15","2000-04-10",2); + => { Winter => +0:0:1:0:0:0:0, + Spring => +0:0:2:4:23:0:0, + Event3+Spring => +0:0:0:0:1:0:0 } + +The hash contains one element for each combination of events. + +=item B + + $day = Date_DayOfWeek($m,$d,$y); + +Returns the day of the week (1 for Monday, 7 for Sunday). + +All arguments must be numeric. + +=item B + + $secs = Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + +Returns the number of seconds since Jan 1, 1970 00:00 (negative if date is +earlier). + +All arguments must be numeric. + +=item B + + $secs = Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s); + +Returns the number of seconds since Jan 1, 1970 00:00 GMT (negative if date +is earlier). If CurrTZ is "IGNORE", the number will be identical to +Date_SecsSince1970 (i.e. the date given will be treated as being in GMT). + +All arguments must be numeric. + +=item B + + $days = Date_DaysSince1BC($m,$d,$y); + +Returns the number of days since Dec 31, 1BC. This includes the year 0000. + +All arguments must be numeric. + +=item B + + $day = Date_DayOfYear($m,$d,$y); + +Returns the day of the year (001 to 366) + +All arguments must be numeric. + +=item B + + ($y,$m,$d,$h,$mn,$s) = Date_NthDayOfYear($y,$n); + +Returns the year, month, day, hour, minutes, and decimal seconds given +a floating point day of the year. + +All arguments must be numeric. $n must be greater than or equal to 1 +and less than 366 on non-leap years and 367 on leap years. + +NOTE: When $n is a decimal number, the results are non-intuitive perhaps. +Day 1 is Jan 01 00:00. Day 2 is Jan 02 00:00. Intuitively, you +might think of day 1.5 as being 1.5 days after Jan 01 00:00, but this +would mean that Day 1.5 was Jan 02 12:00 (which is later than Day 2). +The best way to think of this function is a time line starting at 1 and +ending at 366 (in a non-leap year). In terms of a delta, think of $n +as the number of days after Dec 31 00:00 of the previous year. + +=item B + + $days = Date_DaysInYear($y); + +Returns the number of days in the year (365 or 366) + +=item B + + $days = Date_DaysInMonth($m,$y); + +Returns the number of days in the month. + +=item B + + $wkno = Date_WeekOfYear($m,$d,$y,$first); + +Figure out week number. $first is the first day of the week which is +usually 1 (Monday) or 7 (Sunday), but could be any number between 1 and 7 +in practice. + +All arguments must be numeric. + +NOTE: This routine should only be called in rare cases. Use UnixDate with +the %W, %U, %J, %L formats instead. This routine returns a week between 0 +and 53 which must then be "fixed" to get into the ISO-8601 weeks from 1 to +53. A date which returns a week of 0 actually belongs to the last week of +the previous year. A date which returns a week of 53 may belong to the +first week of the next year. + +=item B + + $flag = Date_LeapYear($y); + +Returns 1 if the argument is a leap year +Written by David Muir Sharnoff + +=item B + + $day = Date_DaySuffix($d); + +Add `st', `nd', `rd', `th' to a date (i.e. 1st, 22nd, 29th). Works for +international dates. + +=item B + + $tz = Date_TimeZone; + +This determines and returns the local time zone. If it is unable to determine +the local time zone, the following error occurs: + + ERROR: Date::Manip unable to determine Time Zone. + +See The TIME ZONES section below for more information. + +=item B + + $date = Date_ConvTZ($date); + $date = Date_ConvTZ($date,$from); + $date = Date_ConvTZ($date,"",$to [,$errlev]); + $date = Date_ConvTZ($date,$from,$to [,$errlev]); + +This converts a date (which MUST be in the format returned by ParseDate) +from one time zone to another. + +If it is called with no arguments, the date is converted from the local +time zone to the time zone specified by the config variable ConvTZ (see +documentation on ConvTZ below). If ConvTZ is set to "IGNORE", no +conversion is done. + +If called with $from but no $to, the time zone is converted from the +time zone in $from to ConvTZ (of TZ if ConvTZ is not set). Again, no +conversion is done if ConvTZ is set to "IGNORE". + +If called with $to but no $from, $from defaults to ConvTZ (if set) or the +local time zone otherwise. Although this does not seem immediately obvious, +it actually makes sense. By default, all dates that are parsed are +converted to ConvTZ, so most of the dates being worked with will be stored +in that time zone. + +If Date_ConvTZ is called with both $from and $to, the date is converted +from the time zone $from to $to. + +NOTE: As in all other cases, the $date returned from Date_ConvTZ has no +time zone information included as part of it, so calling UnixDate with the +"%z" format will return the time zone that Date::Manip is working in +(usually the local time zone). + +Example: To convert 2/2/96 noon PST to CST (regardless of what time zone +you are in, do the following: + + $date = ParseDate("2/2/96 noon"); + $date = Date_ConvTZ($date,"PST","CST"); + +Both time zones MUST be in one of the formats listed below in the section +TIME ZONES. + +If an error occurs, $errlev determines what happens: + + 0 : the program dies + 1 : a warning is produced and nothing is returned + 2 : the function silently returns nothing + +=item B + + $flag = Date_IsWorkDay($date [,$flag]); + +This returns 1 if $date is a work day. If $flag is non-zero, the time is +checked to see if it falls within work hours. It returns an empty string +if $date is not valid. + +=item B + + $date = Date_NextWorkDay($date,$off [,$flag]); + +Finds the day $off work days from now. If $flag is non-zero, we must also +take into account the time of day. + +If $flag is zero, day 0 is today (if today is a workday) or the +next work day if it isn't. In any case, the time of day is unaffected. + +If $flag is non-zero, day 0 is now (if now is part of a workday) or the +start of the very next work day. + +=item B + + $date = Date_PrevWorkDay($date,$off [,$flag]); + +Similar to Date_NextWorkDay. + +=item B + + $date = Date_NearestWorkDay($date [,$tomorrowfirst]); + +This looks for the work day nearest to $date. If $date is a work day, it +is returned. Otherwise, it will look forward or backwards in time 1 day +at a time until a work day is found. If $tomorrowfirst is non-zero (or if +it is omitted and the config variable TomorrowFirst is non-zero), we look +to the future first. Otherwise, we look in the past first. In other words, +in a normal week, if $date is Wednesday, $date is returned. If $date is +Saturday, Friday is returned. If $date is Sunday, Monday is returned. If +Wednesday is a holiday, Thursday is returned if $tomorrowfirst is non-nil +or Tuesday otherwise. + +=item B + + $version = DateManipVersion; + +Returns the version of Date::Manip. + +=back + +=head1 TIME ZONES + +With the release of Date::Manip 6.00, time zones and daylight saving +time are now fully supported in Date::Manip. 6.00 uses information from +several standards (most importantly the Olson zoneinfo database) to get +a list of all known time zones. + +Unfortunately, 6.00 requires a newer version of perl, so I will continue +to support the 5.xx release for a while. However, the way I will support +time zones in 5.xx has changed. Previously, new time zones would be added +on request. That is no longer the case. Time zones for 5.xx are now generated +automatically from those available in 6.00. + +The following time zone names are currently understood (and can be used in +parsing dates). These are zones defined in RFC 822. + + Universal: GMT, UT + US zones : EST, EDT, CST, CDT, MST, MDT, PST, PDT + Military : A to Z (except J) + Other : +HHMM or -HHMM + ISO 8601 : +HH:MM, +HH, -HH:MM, -HH + +In addition, the following time zone abbreviations are also accepted. These +do not come from a standard, but were included in previous releases of +Date::Manip 5.xx and are preserved here for backward compatibility: + + IDLW -1200 International Date Line West + NT -1100 Nome + SAT -0400 Chile + CLDT -0300 Chile Daylight + AT -0200 Azores + MEWT +0100 Middle European Winter + MEZ +0100 Middle European + FWT +0100 French Winter + GB +0100 GMT with daylight savings + SWT +0100 Swedish Winter + MESZ +0200 Middle European Summer + FST +0200 French Summer + METDST +0200 An alias for MEST used by HP-UX + EETDST +0300 An alias for eest used by HP-UX + EETEDT +0300 Eastern Europe, USSR Zone 1 + BT +0300 Baghdad, USSR Zone 2 + IT +0330 Iran + ZP4 +0400 USSR Zone 3 + ZP5 +0500 USSR Zone 4 + IST +0530 Indian Standard + ZP6 +0600 USSR Zone 5 + AWST +0800 Australian Western Standard + ROK +0900 Republic of Korea + AEST +1000 Australian Eastern Standard + ACDT +1030 Australian Central Daylight + CADT +1030 Central Australian Daylight + AEDT +1100 Australian Eastern Daylight + EADT +1100 Eastern Australian Daylight + NZT +1200 New Zealand + IDLE +1200 International Date Line East + +All other time zone abbreviations come from the standards. In many +cases, an abbreviation may be used for multiple time zones. For +example, NST stands for Newfoundland Standard -0330 and North Sumatra ++0630. In these cases, only 1 of the two is available. I have tried +to use the most recent definition, and of those (if multiple time zones +use the abbreviation), the most commonly used. I don't claim that I'm +correct in all cases, but I've done the best I could. + +The list of abbreviations available is documented in the +Date::Manip::DM5abbrevs document. + +Date::Manip must be able to determine the time zone the user is in. It does +this by looking in the following places: + + $Date::Manip::TZ (set with Date_Init or in Manip.pm) + $ENV{TZ} + the Unix `date` command (if available) + $main::TZ + /etc/TIMEZONE + /etc/time zone + +At least one of these should contain a time zone in one of the supported +forms. If none do by default, the TZ variable must be set with Date_Init. + +The time zone may be in the STD#DST format (in which case both abbreviations +must be in the table above) or any of the formats described above. The +STD#DST format is NOT available when parsing a date however. The following +forms are also available and are treated similar to the STD#DST forms: + + US/Pacific + US/Mountain + US/Central + US/Eastern + Canada/Pacific + Canada/Mountain + Canada/Central + Canada/Eastern + +=head1 CUSTOMIZING DATE::MANIP + +There are a number of variables which can be used to customize the way +Date::Manip behaves. There are also several ways to set these variables. + +At the top of the Manip.pm file, there is a section which contains all +customization variables. These provide the default values. + +These can be overridden in a global config file if one is present (this +file is optional). If the GlobalCnf variable is set in the Manip.pm file, +it contains the full path to a config file. If the file exists, its +values will override those set in the Manip.pm file. A sample config file +is included with the Date::Manip distribution. Modify it as appropriate +and copy it to some appropriate directory and set the GlobalCnf variable in +the Manip.pm file. + +Each user can have a personal config file which is of the same form as the +global config file. The variables PersonalCnf and PersonalCnfPath set the +name and search path for the personal config file. This file is also +optional. If present, it overrides any values set in the global file. + +NOTE: if you use business mode calculations, you must have a config file +(either global or personal) since this is the only place where you can +define holidays. + +Finally, any variables passed in through Date_Init override all other +values. + +A config file can be composed of several sections. The first section sets +configuration variables. Lines in this section are of the form: + + VARIABLE = VALUE + +For example, to make the default language French, include the line: + + Language = French + +Only variables described below may be used. Blank lines and lines beginning +with a pound sign (#) are ignored. All spaces are optional and strings are +case insensitive. + +A line which starts with an asterisk (*) designates a new section. For +example, the HOLIDAY section starts with a line: + + *Holiday + +The various sections are defined below. + +=head1 DATE::MANIP VARIABLES + +All Date::Manip variables which can be used are described in the following +section. + +=over 4 + +=item B + +If this variable is used (any value is ignored), the global config file +is not read. It must be present in the initial call to Date_Init or the +global config file will be read. + +=item B + +If this variable is used (any value is ignored), the current list of +defined holidays is erased. A new set will be set the next time a +config file is read in. This can be set in either the global config file +or as a Date_Init argument (in which case holidays can be read in from +both the global and personal config files) or in the personal config file +(in which case, only holidays in the personal config file are counted). + +=item B + +This is a regular expression used to separate multiple paths. For example, +on Unix, it defaults to a colon (:) so that multiple paths can be written +PATH1:PATH2 . For Win32 platforms, it defaults to a semicolon (;) so that +paths such as "c:\;d:\" will work. + +=item B + +This variable can be passed into Date_Init to point to a global +configuration file. The value must be the complete path to a config file. + +By default, no global config file is read. Any time a global config file +is read, the holidays are erased. + +Paths may have a tilde (~) expansion on platforms where this is supported +(currently Unix and VMS). + +=item B + +This variable can be passed into Date_Init or set in a global config file +to set the name of the personal configuration file. + +The default name for the config file is .DateManip.cnf on all Unix +platforms and Manip.cnf on all non-Unix platforms (because some of them +insist on 8.3 character filenames :-). + +=item B + +This is a list of paths separated by the separator specified by the PathSep +variable. These paths are each checked for the PersonalCnf config file. + +Paths may have a tilde (~) expansion on platforms where this is supported +(currently Unix and VMS). + +=item B + +Date::Manip can be used to parse dates in many different languages. +Currently, it is configured to read the following languages (the version +in which they added is included for historical interest): + + English (default) + French (5.02) + Swedish (5.05) + German (5.31) + Dutch (5.32) aka Nederlands + Polish (5.32) + Spanish (5.33) + Portuguese (5.34) + Romanian (5.35) + Italian (5.35) + Russian (5.41) + Turkish (5.41) + Danish (5.41) + +Others can be added easily. Language is set to the language used to parse +dates. If you are interested in providing a translation for a new +language, email me (see the AUTHOR section below) and I'll send you a list +of things that I need. + +=item B + +Different countries look at the date 12/10 as Dec 10 or Oct 12. In the +United States, the first is most common, but this certainly doesn't hold +true for other countries. Setting DateFormat to "US" forces the first +behavior (Dec 10). Setting DateFormat to anything else forces the second +behavior (Oct 12). + +=item B + +If set, this defines the local time zone. See the TIME ZONES section above +for information on its format. + +=item B + +All date comparisons and calculations must be done in a single time zone in +order for them to work correctly. So, when a date is parsed, it should be +converted to a specific time zone. This allows dates to easily be compared +and manipulated as if they are all in a single time zone. + +The ConvTZ variable determines which time zone should be used to store dates +in. If it is left blank, all dates are converted to the local time zone +(see the TZ variable above). If it is set to one of the time zones listed +above, all dates are converted to this time zone. Finally, if it is set to +the string "IGNORE", all time zone information is ignored as the dates are +read in (in this case, the two dates "1/1/96 12:00 GMT" and "1/1/96 12:00 +EST" would be treated as identical). + +=item B + +When a date is parsed using ParseDate, that date is stored in an internal +format which is understood by the Date::Manip routines UnixDate and +DateCalc. Originally, the format used to store the date internally was: + + YYYYMMDDHH:MN:SS + +It has been suggested that I remove the colons (:) to shorten this to: + + YYYYMMDDHHMNSS + +The main advantage of this is that some databases are colon delimited which +makes storing a date from Date::Manip tedious. + +In order to maintain backwards compatibility, the Internal variable was +introduced. Set it to 0 (to use the old format) or 1 (to use the new +format). + +=item B + +It is sometimes necessary to know what day of week is regarded as first. +By default, this is set to Monday, but many countries and people will +prefer Sunday (and in a few cases, a different day may be desired). Set +the FirstDay variable to be the first day of the week (1=Monday, 7=Sunday) +Monday should be chosen to to comply with ISO 8601. + +=item B + +The first and last days of the work week. By default, Monday and Friday. +WorkWeekBeg must come before WorkWeekEnd numerically. The days are +numbered from 1 (Monday) to 7 (Sunday). + +There is no way to handle an odd work week of Thu to Mon for example or 10 +days on, 4 days off. + +=item B + +If this is non-nil, a work day is treated as being 24 hours long. The +WorkDayBeg and WorkDayEnd variables are ignored in this case. + +=item B + +The times when the work day starts and ends. WorkDayBeg must come before +WorkDayEnd (i.e. there is no way to handle the night shift where the work +day starts one day and ends another). Also, the workday MUST be more than +one hour long (of course, if this isn't the case, let me know... I want a +job there!). + +The time in both can be in any valid time format (including international +formats), but seconds will be ignored. + +=item B + +Periodically, if a day is not a business day, we need to find the nearest +business day to it. By default, we'll look to "tomorrow" first, but if this +variable is set to 0, we'll look to "yesterday" first. This is only used in +the Date_NearestWorkDay and is easily overridden (see documentation for that +function). + +=item B + +Prior to Date::Manip version 5.07, a negative delta would put negative +signs in front of every component (i.e. "0:0:-1:-3:0:-4"). By default, +5.07 changes this behavior to print only 1 or two signs in front of the +year and day elements (even if these elements might be zero) and the sign +for year/month and day/hour/minute/second are the same. Setting this +variable to non-zero forces deltas to be stored with a sign in front of +every element (including elements equal to 0). + +=item B + +ISO 8601 states that the first week of the year is the one which contains +Jan 4 (i.e. it is the first week in which most of the days in that week +fall in that year). This means that the first 3 days of the year may +be treated as belonging to the last week of the previous year. If this +is set to non-nil, the ISO 8601 standard will be ignored and the first +week of the year contains Jan 1. + +=item B + +By default, a 2 digit year is treated as falling in the 100 year period of +CURR-89 to CURR+10. YYtoYYYY may be set to any integer N to force a 2 +digit year into the period CURR-N to CURR+(99-N). A value of 0 forces +the year to be the current year or later. A value of 99 forces the year +to be the current year or earlier. Since I do no checking on the value of +YYtoYYYY, you can actually have it any positive or negative value to force +it into any century you want. + +YYtoYYYY can also be set to "C" to force it into the current century, or +to "C##" to force it into a specific century. So, in 1998, "C" forces +2 digit years to be 1900-1999 and "C18" would force it to be 1800-1899. + +It can also be set to the form "C####" to force it into a specific 100 +year period. C1950 refers to 1950-2049. + +=item B + +If a script is running over a long period of time, the time zone may change +during the course of running it (i.e. when daylight saving time starts or +ends). As a result, parsing dates may start putting them in the wrong time +zone. Since a lot of overhead can be saved if we don't have to check the +current time zone every time a date is parsed, by default checking is turned +off. Setting this to non-nil will force time zone checking to be done every +time a date is parsed... but this will result in a considerable performance +penalty. + +A better solution would be to restart the process on the two days per year +where the time zone switch occurs. + +=item B + +If set to 0, use the US character set (7-bit ASCII) to return strings such +as the month name. If set to 1, use the appropriate international character +set. For example, If you want your French representation of December to +have the accent over the first "e", you'll want to set this to 1. + +=item B + +This variable can be set to a date in the format: YYYY-MM-DD-HH:MN:SS +to force the current date to be interpreted as this date. Since the current +date is used in parsing, this string will not be parsed and MUST be in the +format given above. + +=item B + +If set to a true value (e.g. 1), then "today" will mean the same as +"midnight today"; otherwise it will mean the same as "now". + +=back + +=head1 HOLIDAY SECTION + +The holiday section of the config file is used to define holidays. Each +line is of the form: + + DATE = HOLIDAY + +HOLIDAY is the name of the holiday (or it can be blank in which case the +day will still be treated as a holiday... for example the day after +Thanksgiving or Christmas is often a work holiday though neither are +named). + +DATE is a string which can be parsed to give a valid date in any year. It +can be of the form + + Date + Date + Delta + Date - Delta + Recur + +A valid holiday section would be: + + *Holiday + + 1/1 = New Year's Day + third Monday in Feb = Presidents' Day + fourth Thu in Nov = Thanksgiving + + # The Friday after Thanksgiving is an unnamed holiday most places + fourth Thu in Nov + 1 day = + + 1*0:0:0:0:0:0*EASTER = Easter + 1*11:0:11:0:0:0*DWD = Veteran's Day (observed) + 1*0:0:0:0:0:0*EASTER,PD5 = Good Friday + +In a Date + Delta or Date - Delta string, you can use business mode by +including the appropriate string (see documentation on DateCalc) in the +Date or Delta. So (in English), the first workday before Christmas could +be defined as: + + 12/25 - 1 business day = + +The dates may optionally contain the year. For example, the dates + + 1/1 + 1/1/1999 + +refers to Jan 1 in any year or in only 1999 respectively. For dates that +refer to any year, the date must be written such that by simply appending +the year (separated by spaces) it can be correctly interpreted. This +will work for everything except ISO 8601 dates, so ISO 8601 dates may +not be used in this case. + +Note that the dates are specified in whatever format is set using the +Date_Init options, so if the standard parsing is D/M/YYYY, you would +need to specify it as: + + 25/12/2002 = Christmas + +In cases where you are interested in business type calculations, you'll +want to define most holidays using recurrences, since they can define +when a holiday is celebrated in the financial world. For example, +Christmas should be defined as: + + 1*12:0:24:0:0:0*FW1 = Christmas + +NOTE: It was pointed out to me that using a similar type recurrence to +define New Years does not work. The recurrence: + + 1*12:0:31:0:0:0*FW1 + +fails (worse, it goes into an infinite loop). The problem is that each +holiday definition is applied to a specific year and it expects to find +the holiday for that year. When this recurrence is applied to the year +1995, it returns the holiday for 1996 and fails. + +Use the recurrence: + + 1*1:0:1:0:0:0*NWD + +instead. + +If you wanted to define both Christmas and Boxing days (Boxing is the +day after Christmas, and is celebrated in some parts of the world), you +could do it in one of the following ways: + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:25:0:0:0*FW1 = Boxing + + 1*12:0:24:0:0:0*FW1 = Christmas + 01*12:0:24:0:0:0*FW1 = Boxing + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:25:0:0:0*FW1,a = Boxing + +The following examples will NOT work: + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:24:0:0:0*FW2 = Boxing + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:24:0:0:0*FW1 = Boxing + +The reasoning behind all this is as follows: + +Holidays go into affect the minute they are parsed. So, in the case of: + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:24:0:0:0*FW2 = Boxing + +the minute the first line is parsed, Christmas is defined as a holiday. +The second line then steps forward 2 work days (skipping Christmas since +that's no longer a work day) and define the work day two days after +Christmas, NOT the day after Christmas. + +An good alternative would appear to be: + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:24:0:0:0*FW1 = Boxing + +This unfortunately fails because the recurrences are currently stored in a +hash. Since these two recurrences are identical, they fail (the first one +is overwritten by the second and in essence, Christmas is never defined). + +To fix this, make them unique with either a fake flag (which is ignored): + + 1*12:0:24:0:0:0*FW1,a = Boxing + +or adding an innocuous 0 somewhere: + + 01*12:0:24:0:0:0*FW1 = Boxing + +The other good alternative would be to make two completely different +recurrences such as: + + 1*12:0:24:0:0:0*FW1 = Christmas + 1*12:0:25:0:0:0*FW1 = Boxing + +At times, you may want to switch back and forth between two holiday files. +This can be done by calling the following: + + Date_Init("EraseHolidays=1","PersonalCnf=FILE1"); + ... + Date_Init("EraseHolidays=1","PersonalCnf=FILE2"); + ... + +=head1 EVENTS SECTION + +The Events section of the config file is similar to the Holiday section. +It is used to name certain days or times, but there are a few important +differences: + +=over 4 + +=item B + +All holidays are exactly 1 day long. They are assigned to a period +of time from midnight to midnight. + +Events can be based at any time of the day, and may be of any duration. + +=item B + +Unlike holidays, events are completely ignored when doing business +mode calculations. + +=back + +Whereas holidays were added with business mode math in mind, events +were added with calendar and scheduling applications in mind. + +Every line in the events section is of the form: + + EVENT = NAME + +where NAME is the name of the event, and EVENT defines when it occurs +and its duration. An EVENT can be defined in the following ways: + + Date + Date* + + Date ; Date + Date ; Delta + +Here, Date* refers to a string containing a Date with NO TIME fields +(Jan 12, 1/1/2000, 2010-01-01) while Date does contain time fields. +Similarly, Recur* stands for a recurrence with the time fields all +equal to 0) while Recur stands for a recurrence with at least one +non-zero time field. + +Both Date* and Recur* refer to an event very similar to a holiday which +goes from midnight to midnight. + +Date and Recur refer to events which occur at the time given and with +a duration of 1 hour. + +Events given by "Date ; Date", "Date ; Delta", and "Recur ; Delta" +contain both the starting date and either ending date or duration. + +Events given as three elements "Date ; Delta ; Delta" or "Recur ; Delta ; +Delta" take a date and add both deltas to it to give the starting and +ending time of the event. The order and sign of the deltas is +unimportant (and both can be the same sign to give a range of times +which does not contain the base date). + +=head1 KNOWN PROBLEMS + +The following are not bugs in Date::Manip, but they may give some people +problems. + +=over 4 + +=item B + +Perhaps the most common problem occurs when you get the error: + + Error: Date::Manip unable to determine Time Zone. + +Date::Manip tries hard to determine the local time zone, but on some +machines, it cannot do this (especially non-Unix systems). To fix this, +just set the TZ variable, either at the top of the Manip.pm file, in the +DateManip.cnf file, or in a call to Date_Init. I suggest using the form +"EST5EDT" so you don't have to change it every 6 months when going to or +from daylight saving time. + +Windows NT does not seem to set the time zone by default. From the +Perl-Win32-Users mailing list: + + > How do I get the TimeZone on my NT? + > + > $time_zone = $ENV{'TZ'}; + > + You have to set the variable before, WinNT doesn't set it by + default. Open the properties of "My Computer" and set a SYSTEM + variable TZ to your time zone. Jenda@Krynicky.cz + +This might help out some NT users. + +A minor (false) assumption that some users might make is that since +Date::Manip passed all of its tests at install time, this should not occur +and are surprised when it does. + +Some of the tests are time zone dependent. Since the tests all include +input and expected output, I needed to know in advance what time zone they +would be run in. So, the tests all explicitly set the time zone using the +TZ configuration variable passed into Date_Init. Since this overrides any +other method of determining the time zone, Date::Manip uses this and doesn't +have to look elsewhere for the time zone. + +When running outside the tests, Date::Manip has to rely on its other +methods for determining the time zone. + +=item B + +Please see the Date::Manip::Problems document for a discussion. + +=item B + +Another problem is when running on Micro$oft OS's. I have added many +tests to catch them, but they still slip through occasionally. If any ever +complain about getpwnam/getpwuid, simply add one of the lines: + + $ENV{OS} = Windows_NT + $ENV{OS} = Windows_95 + +to your script before + + use Date::Manip + +=item B + +The reasons for this are covered in the SHOULD I USE DATE::MANIP section +above. + +Some things that will definitely help: + +Version 5.21 does run noticeably faster than earlier versions due to +rethinking some of the initialization, so at the very least, make sure you +are running this version or later. + +ISO-8601 dates are parsed first and fastest. Use them whenever possible. + +Avoid parsing dates that are referenced against the current time (in 2 +days, today at noon, etc.). These take a lot longer to parse. + + Example: parsing 1065 dates with version 5.11 took 48.6 seconds, 36.2 + seconds with version 5.21, and parsing 1065 ISO-8601 dates with version + 5.21 took 29.1 seconds (these were run on a slow, overloaded computer with + little memory... but the ratios should be reliable on a faster computer). + +Business date calculations are extremely slow. You should consider +alternatives if possible (i.e. doing the calculation in exact mode and +then multiplying by 5/7). Who needs a business date more accurate +than "6 to 8 weeks" anyway, right :-) + +Never call Date_Init more than once. Unless you're doing something very +strange, there should never be a reason to anyway. + +=item B + +If you use Date::Manip to sort a number of dates, you must call Date_Init +either explicitly, or by way of some other Date::Manip routine before it +is used in the sort. For example, the following code fails: + + use Date::Manip; + # Date_Init; + sub sortDate { + my($date1, $date2); + $date1 = ParseDate($a); + $date2 = ParseDate($b); + return (Date_Cmp($date1,$date2)); + } + @dates = ("Fri 16 Aug 96", + "Mon 19 Aug 96", + "Thu 15 Aug 96"); + @i=sort sortDate @dates; + +but if you uncomment the Date_Init line, it works. The reason for this is +that the first time you call Date_Init, it initializes a number of items +used by Date::Manip. Some of these have to be sorted (regular expressions +sorted by length to ensure the longest match). It turns out that Perl +has a bug in it which does not allow a sort within a sort. At some point, +this should be fixed, but for now, the best thing to do is to call Date_Init +explicitly. The bug exists in all versions up to 5.005 (I haven't +tested 5.6.0 yet). + +NOTE: This is an EXTREMELY inefficient way to sort data (but read the 2nd +note below for an easy way to correct this). Instead, you should parse the +dates with ParseDate, sort them using a normal string comparison, and then +convert them back to the format desired using UnixDate. + +NOTE: It has been reported to me that you can still use ParseDate +to sort dates in this way, and be quite efficient through the use of +Memoize. Just add the following lines to your code: + + use Date::Manip; + use Memoize; + memoize('ParseDate'); + ... + @i=sort sortDate @dates; + +Since sortDate would call ParseDate with the same data over and over, +this is a perfect application for the Memoize module. So, sorting with +ParseDate is no longer slow for sorting. + +=item B + +If you try to put Date::Manip under RCS control, you are going to have +problems. Apparently, RCS replaces strings of the form "$Date...$" with +the current date. This form occurs all over in Date::Manip. To prevent the +RCS keyword expansion, checkout files using "co -ko". Since very few people +will ever have a desire to do this (and I don't use RCS), I have not worried +about it. + +=back + +=head1 KNOWN BUGS + +=over 4 + +=item B + +Date::Manip does not handle daylight saving time, though it does handle +time zones to a certain extent. Converting from EST to PST works fine. +Going from EST to PDT is unreliable. + +The following examples are run in the winter of the US East coast (i.e. +in the EST time zone). + + print UnixDate(ParseDate("6/1/97 noon"),"%u"),"\n"; + => Sun Jun 1 12:00:00 EST 1997 + +June 1 EST does not exist. June 1st is during EDT. It should print: + + => Sun Jun 1 00:00:00 EDT 1997 + +Even explicitly adding the time zone doesn't fix things (if anything, it +makes them worse): + + print UnixDate(ParseDate("6/1/97 noon EDT"),"%u"),"\n"; + => Sun Jun 1 11:00:00 EST 1997 + +Date::Manip converts everything to the current time zone (EST in this case). + +Related problems occur when trying to do date calculations over a time zone +change. These calculations may be off by an hour. + +Also, if you are running a script which uses Date::Manip over a period of +time which starts in one time zone and ends in another (i.e. it switches +form Daylight Saving Time to Standard Time or vice versa), many things may +be wrong (especially elapsed time). + +These problems will not be fixed in Date::Manip 5.xx. Date::Manip 6.xx has +full support for time zones and daylight saving time. + +=back + +=head1 BUGS AND QUESTIONS + +Please refer to the Date::Manip::Problems documentation for +information on submitting bug reports or questions to the author. + +=head1 SEE ALSO + +Date::Manip - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/DM5abbrevs.pm b/lib/Date/Manip/DM5abbrevs.pm new file mode 100644 index 0000000..54ab4f9 --- /dev/null +++ b/lib/Date/Manip/DM5abbrevs.pm @@ -0,0 +1,421 @@ +package Date::Manip::DM5abbrevs; +# Copyright (c) 2003-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +######################################################################## +######################################################################## + +=pod + +=head1 NAME + +Date::Manip::DM5abbrevs - A list of all timezone abbreviations + +=head1 SYNPOSIS + +This module is not intended to be used directly. Date::Manip 5.xx +will load it as needed. + +This module contains all of the time zone abbreviations from +Date::Manip 6.xx copied backwards to 5.xx to provide slightly +better support for time zones. + +Note that this is only a bandaid fix, and does not add proper +time zone handling to version 5.xx . + +=cut + +require 5.000; + +use strict; +use warnings; + +our($VERSION); +$VERSION='6.60'; + +END { + my $tmp; + $tmp = \$Date::Manip::DM5::Abbrevs; +} + +$Date::Manip::DM5::Abbrevs = join(' ',qw( + idlw -1200 + nt -1100 + sat -0400 + cldt -0300 + at -0200 + utc +0000 + mewt +0100 + mez +0100 + fwt +0100 + gb +0100 + swt +0100 + mesz +0200 + fst +0200 + metdst +0200 + eetdst +0300 + eetedt +0300 + bt +0300 + it +0330 + zp4 +0400 + zp5 +0500 + ist +0530 + zp6 +0600 + awst +0800 + rok +0900 + aest +1000 + acdt +1030 + cadt +1030 + aedt +1100 + eadt +1100 + nzt +1200 + idle +1200 + + a -0100 + acdt +1030 + acst +0930 + addt -0200 + adt -0300 + aedt +1100 + aest +1000 + ahdt -0900 + ahst -1000 + akdt -0800 + akst -0900 + apt -0900 + ast -0400 + awdt +0900 + awst +0800 + awt -0300 + b -0200 + bdst +0200 + bdt -1000 + bst +0100 + c -0300 + cast +0300 + cat +0200 + cddt -0400 + cdt -0500 + cemt +0300 + cest +0200 + cet +0100 + chst +1000 + cmt +0155 + cpt -0500 + cst -0600 + cwt -0500 + d -0400 + e -0500 + eat +0300 + eddt -0300 + edt -0400 + eest +0300 + eet +0200 + ept -0400 + est -0500 + ewt -0400 + f -0600 + g -0700 + gmt +0000 + gmt+1 +0100 + gmt+10 +1000 + gmt+11 +1100 + gmt+12 +1200 + gmt+2 +0200 + gmt+3 +0300 + gmt+4 +0400 + gmt+5 +0500 + gmt+6 +0600 + gmt+7 +0700 + gmt+8 +0800 + gmt+9 +0900 + gmt-1 -0100 + gmt-10 -1000 + gmt-11 -1100 + gmt-12 -1200 + gmt-13 -1300 + gmt-14 -1400 + gmt-2 -0200 + gmt-3 -0300 + gmt-4 -0400 + gmt-5 -0500 + gmt-6 -0600 + gmt-7 -0700 + gmt-8 -0800 + gmt-9 -0900 + gst +1000 + h -0800 + hdt -0900 + hkst +0900 + hkt +0800 + hst -1000 + i -0900 + iddt +0400 + idt +0300 + ist +0100 + jdt +1000 + jst +0900 + k -1000 + kdt +1000 + kst +0900 + l -1100 + m -1200 + mddt -0500 + mdt -0600 + mest +0200 + met +0100 + mmt +0454 + mpt -0600 + msd +0400 + msk +0300 + mst -0700 + mwt -0600 + n +0100 + nddt -0130 + ndt -0230 + npt -1000 + nst -0330 + nwt -1000 + nzdt +1300 + nzmt +1130 + nzst +1200 + o +0200 + p +0300 + pddt -0600 + pdt -0700 + pkst +0600 + pkt +0500 + ppmt -0449 + ppt -0700 + pst -0800 + pwt -0700 + q +0400 + qmt -0514 + r +0500 + s +0600 + sast +0200 + sdmt -0440 + smt +0216 + sst -1100 + t +0700 + tmt +0139 + u +0800 + ut +0000 + utc +0000 + v +0900 + w +1000 + wast +0200 + wat +0100 + wemt +0200 + west +0100 + wet +0000 + wib +0700 + wit +0900 + wita +0800 + wmt +0124 + x +1100 + y +1200 + yddt -0700 + ydt -0800 + ypt -0800 + yst -0900 + ywt -0800 + z +0000 +)); + +=pod + +=head1 TIMEZONES + +The following timezones are defined: + + A -0100 + ACDT +1030 + ACST +0930 + ADDT -0200 + ADT -0300 + AEDT +1100 + AEST +1000 + AHDT -0900 + AHST -1000 + AKDT -0800 + AKST -0900 + APT -0900 + AST -0400 + AT -0200 + AWDT +0900 + AWST +0800 + AWT -0300 + B -0200 + BDST +0200 + BDT -1000 + BST +0100 + BT +0300 + C -0300 + CADT +1030 + CAST +0300 + CAT +0200 + CDDT -0400 + CDT -0500 + CEMT +0300 + CEST +0200 + CET +0100 + CHST +1000 + CLDT -0300 + CMT +0155 + CPT -0500 + CST -0600 + CWT -0500 + D -0400 + E -0500 + EADT +1100 + EAT +0300 + EDDT -0300 + EDT -0400 + EEST +0300 + EET +0200 + EETDST +0300 + EETEDT +0300 + EPT -0400 + EST -0500 + EWT -0400 + F -0600 + FST +0200 + FWT +0100 + G -0700 + GB +0100 + GMT +0000 + GMT+1 +0100 + GMT+10 +1000 + GMT+11 +1100 + GMT+12 +1200 + GMT+2 +0200 + GMT+3 +0300 + GMT+4 +0400 + GMT+5 +0500 + GMT+6 +0600 + GMT+7 +0700 + GMT+8 +0800 + GMT+9 +0900 + GMT-1 -0100 + GMT-10 -1000 + GMT-11 -1100 + GMT-12 -1200 + GMT-13 -1300 + GMT-14 -1400 + GMT-2 -0200 + GMT-3 -0300 + GMT-4 -0400 + GMT-5 -0500 + GMT-6 -0600 + GMT-7 -0700 + GMT-8 -0800 + GMT-9 -0900 + GST +1000 + H -0800 + HDT -0900 + HKST +0900 + HKT +0800 + HST -1000 + I -0900 + IDDT +0400 + IDLE +1200 + IDLW -1200 + IDT +0300 + IST +0100 + IT +0330 + JDT +1000 + JST +0900 + K -1000 + KDT +1000 + KST +0900 + L -1100 + M -1200 + MDDT -0500 + MDT -0600 + MEST +0200 + MESZ +0200 + MET +0100 + METDST +0200 + MEWT +0100 + MEZ +0100 + MMT +0454 + MPT -0600 + MSD +0400 + MSK +0300 + MST -0700 + MWT -0600 + N +0100 + NDDT -0130 + NDT -0230 + NPT -1000 + NST -0330 + NT -1100 + NWT -1000 + NZDT +1300 + NZMT +1130 + NZST +1200 + NZT +1200 + O +0200 + P +0300 + PDDT -0600 + PDT -0700 + PKST +0600 + PKT +0500 + PPMT -0449 + PPT -0700 + PST -0800 + PWT -0700 + Q +0400 + QMT -0514 + R +0500 + ROK +0900 + S +0600 + SAST +0200 + SAT -0400 + SDMT -0440 + SMT +0216 + SST -1100 + SWT +0100 + T +0700 + TMT +0139 + U +0800 + UT +0000 + UTC +0000 + V +0900 + W +1000 + WAST +0200 + WAT +0100 + WEMT +0200 + WEST +0100 + WET +0000 + WIB +0700 + WIT +0900 + WITA +0800 + WMT +0124 + X +1100 + Y +1200 + YDDT -0700 + YDT -0800 + YPT -0800 + YST -0900 + YWT -0800 + Z +0000 + ZP4 +0400 + ZP5 +0500 + ZP6 +0600 + + +=head1 LICENSE + +This script is free software; you can redistribute it and/or modify it +under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut + +1; diff --git a/lib/Date/Manip/DM6.pm b/lib/Date/Manip/DM6.pm new file mode 100644 index 0000000..906d2ce --- /dev/null +++ b/lib/Date/Manip/DM6.pm @@ -0,0 +1,903 @@ +package Date::Manip::DM6; +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +########################################################################### +########################################################################### + +our (@ISA,@EXPORT); + +require 5.010000; +require Exporter; +@ISA = qw(Exporter); +@EXPORT = qw( + DateManipVersion + Date_Init + ParseDate + ParseDateString + ParseDateDelta + ParseDateFormat + ParseRecur + Date_IsHoliday + Date_IsWorkDay + Date_Cmp + DateCalc + UnixDate + Delta_Format + Date_GetPrev + Date_GetNext + Date_SetTime + Date_SetDateField + Events_List + Date_NextWorkDay + Date_PrevWorkDay + Date_NearestWorkDay + + Date_DayOfWeek + Date_SecsSince1970 + Date_SecsSince1970GMT + Date_DaysSince1BC + Date_DayOfYear + Date_NthDayOfYear + Date_DaysInMonth + Date_DaysInYear + Date_WeekOfYear + Date_LeapYear + Date_DaySuffix + Date_ConvTZ + Date_TimeZone +); + +use strict; +use integer; +use warnings; + +our $VERSION; +$VERSION='6.60'; + +########################################################################### + +our ($dmb,$dmt,$date,$delta,$recur,$date2,$dateUT); +use Date::Manip::Date; + +$dateUT = new Date::Manip::Date; +$dateUT->config('setdate','now,Etc/GMT'); + +$date = new Date::Manip::Date; +$date2 = $date->new_date(); +$delta = $date->new_delta(); +$recur = $date->new_recur(); +$dmb = $date->base(); +$dmt = $date->tz(); + +######################################################################## +######################################################################## +# THESE ARE THE MAIN ROUTINES +######################################################################## +######################################################################## + +sub DateManipVersion { + my($flag) = @_; + return $date->version($flag); +} + +sub Date_Init { + my(@args) = @_; + my(@args2); + + foreach my $arg (@args) { + if ($arg =~ /^(\S+)\s*=\s*(.*)$/) { + push(@args2,$1,$2); + } else { + warn "ERROR: invalid Date_Init argument: $arg\n"; + } + } + $date->config(@args2); + return $date->err(); +} + +sub ParseDateString { + my($string,@opts) = @_; + $string = '' if (! defined($string)); + my $err = $date->parse($string,@opts); + return '' if ($err); + my $ret = $date->value('local'); + return $ret; +} + +sub ParseDateFormat { + my($format,$string) = @_; + $string = '' if (! defined($string)); + my $err = $date->parse_format($format,$string); + return '' if ($err); + my $ret = $date->value('local'); + return $ret; +} + +sub ParseDate { + my($arg,@opts) = @_; + + $arg = '' if (! defined($arg)); + my $ref = ref($arg); + my $list = 0; + + my @args; + if (! $ref) { + @args = ($arg); + } elsif ($ref eq 'ARRAY') { + @args = @$arg; + $list = 1; + } elsif ($ref eq 'SCALAR') { + @args = ($$arg); + } else { + print "ERROR: Invalid arguments to ParseDate.\n"; + return ''; + } + + while (@args) { + my $string = join(' ',@args); + my $err = $date->parse($string,@opts); + if (! $err) { + splice(@$arg,0,$#args+1) if ($list); + my $ret = $date->value('local'); + return $ret; + } + pop(@args); + } + + return ''; +} + +sub ParseDateDelta { + my(@a) = @_; + + if (@a < 1 || @a > 2) { + print "ERROR: Invalid number of arguments to ParseDateDelta.\n"; + return ''; + } + my($args,$mode) = @_; + $args = '' if (! defined($args)); + $mode = '' if (! $mode); + $mode = lc($mode); + if ($mode && ($mode ne 'exact' && $mode ne 'semi' && $mode ne 'approx')) { + print "ERROR: Invalid arguments to ParseDateDelta.\n"; + return ''; + } + + my @args; + my $ref = ref($args); + my $list = 0; + + if (! $ref) { + @args = ($args); + } elsif ($ref eq 'ARRAY') { + @args = @$args; + $list = 1; + } elsif ($ref eq 'SCALAR') { + @args = ($$args); + } else { + print "ERROR: Invalid arguments to ParseDateDelta.\n"; + return ''; + } + + while (@args) { + my $string = join(' ',@args); + my $err = $delta->parse($string); + if (! $err) { + $delta->convert($mode) if ($mode); + splice(@$args,0,$#args+1) if ($list); + my $ret = $delta->value('local'); + return $ret; + } + pop(@args); + } + + return ''; +} + +sub UnixDate { + my($string,@in) = @_; + my(@ret); + + my $err = $date->parse($string); + return () if ($err); + + foreach my $in (@in) { + push(@ret,$date->printf($in)); + } + + if (! wantarray) { + return join(" ",@ret); + } + return @ret; +} + +sub Delta_Format { + my($string,@args) = @_; + + my $err = $delta->parse($string); + return () if ($err); + + my($mode,$dec,@in); + if (! defined($args[0])) { + $mode = 'exact'; + @in = @args; + shift(@in); + + } elsif (lc($args[0]) eq 'exact' || + lc($args[0]) eq 'approx' || + lc($args[0]) eq 'semi') { + ($mode,$dec,@in) = (@args); + $mode = lc($mode); + + } elsif ($args[0] =~ /^\d+$/) { + ($mode,$dec,@in) = ('exact',@args); + + } else { + $mode = 'exact'; + @in = @args; + } + + $dec = 0 if (! $dec); + @in = _Delta_Format_old($mode,$dec,@in); + + my @ret = (); + foreach my $in (@in) { + push(@ret,$delta->printf($in)); + } + + if (! wantarray) { + return join(" ",@ret); + } + + return @ret; +} + +sub _Delta_Format_old { + my($mode,$dec,@in) = @_; + my(@ret); + my $business = $delta->type('business'); + + foreach my $in (@in) { + my $out = ''; + + # This will look for old formats (%Xd, %Xh, %Xt) and turn them + # into the new format: %XYZ + + while ($in) { + if ($in =~ s/^([^%]+)//) { + $out .= $1; + + } elsif ($in =~ /^%[yMwdhms][yMwdhms][yMwdhms]/) { + # It's one of the new formats so don't modify it. + $in =~ s/^%//; + $out .= '%'; + + } elsif ($in =~ s/^%([yMwdhms])([dht])//) { + my($field,$scope) = ($1,$2); + $out .= '%'; + + if ($scope eq 'd') { + if ($mode eq 'approx') { + $out .= ".${dec}${field}${field}s"; + } elsif ($field eq 'y' || $field eq 'M') { + $out .= ".${dec}${field}${field}M"; + } elsif ($mode eq 'semi') { + $out .= ".${dec}${field}${field}s"; + } elsif ($field eq 'w' && $business) { + $out .= ".${dec}www"; + } elsif (($field eq 'w' || $field eq 'd') && ! $business) { + $out .= ".${dec}${field}${field}d"; + } else { + $out .= ".${dec}${field}${field}s"; + } + + } elsif ($scope eq 'h') { + if ($mode eq 'approx') { + $out .= ".${dec}${field}y${field}"; + } elsif ($field eq 'y' || $field eq 'M') { + $out .= ".${dec}${field}y${field}"; + } elsif ($mode eq 'semi') { + $out .= ".${dec}${field}w${field}"; + } elsif ($field eq 'w') { + $out .= ".${dec}www"; + } elsif ($field eq 'd' && ! $business) { + $out .= ".${dec}dwd"; + } elsif ($business) { + $out .= ".${dec}${field}d${field}"; + } else { + $out .= ".${dec}${field}h${field}"; + } + + } elsif ($scope eq 't') { + if ($mode eq 'approx') { + $out .= ".${dec}${field}ys"; + } elsif ($field eq 'y' || $field eq 'M') { + $out .= ".${dec}${field}yM"; + } elsif ($mode eq 'semi') { + $out .= ".${dec}${field}ws"; + } elsif ($field eq 'w' && $business) { + $out .= ".${dec}www"; + } elsif (($field eq 'w' || $field eq 'd') && ! $business) { + $out .= ".${dec}${field}wd"; + } elsif ($business) { + $out .= ".${dec}${field}ds"; + } else { + $out .= ".${dec}${field}hs"; + } + } + + } else { + # It's one of the new formats so don't modify it. + $in =~ s/^%//; + $out .= '%'; + } + } + + push(@ret,$out); + } + + return @ret; +} + +sub DateCalc { + my($d1,$d2,@args) = @_; + + # Handle \$err arg + + my($ref,$errref); + + if (@args && ref($args[0])) { + $errref = shift(@args); + $ref = 1; + } else { + $ref = 0; + } + + # Parse $d1 and $d2 + + my ($obj1,$obj2,$err,$usemode); + $usemode = 1; + + $obj1 = $date->new_date(); + $err = $obj1->parse($d1,'nodelta'); + if ($err) { + $obj1 = $date->new_delta(); + $err = $obj1->parse($d1); + if ($err) { + $$errref = 1 if ($ref); + return ''; + } + $usemode = 0; + } + + $obj2 = $date->new_date(); + $err = $obj2->parse($d2,'nodelta'); + if ($err) { + $obj2 = $date->new_delta(); + $err = $obj2->parse($d2); + if ($err) { + $$errref = 2 if ($ref); + return ''; + } + $usemode = 0; + } + + # Handle $mode + + my($mode); + if (@args) { + $mode = shift(@args); + } + if (@args) { + $$errref = 3 if ($ref); + return ''; + } + + # Apply the $mode to any deltas + + if (defined($mode)) { + if (ref($obj1) eq 'Date::Manip::Delta') { + if ($$obj1{'data'}{'gotmode'}) { + if ($mode == 2 || $mode == 3) { + if (! $obj1->type('business')) { + $$errref = 3 if ($ref); + return ''; + } + } else { + if ($obj1->type('business')) { + $$errref = 3 if ($ref); + return ''; + } + } + } else { + if ($mode == 2 || $mode == 3) { + $obj1->set('mode','business'); + } else { + $obj1->set('mode','normal'); + } + } + } + + if (ref($obj2) eq 'Date::Manip::Delta') { + if ($$obj2{'data'}{'gotmode'}) { + if ($mode == 2 || $mode == 3) { + if (! $obj2->type('business')) { + $$errref = 3 if ($ref); + return ''; + } + } else { + if ($obj2->type('business')) { + $$errref = 3 if ($ref); + return ''; + } + } + } else { + if ($mode ==2 || $mode == 3) { + $obj2->set('mode','business'); + } else { + $obj2->set('mode','normal'); + } + } + } + } + + # Do the calculation + + my $obj3; + if ($usemode) { + $mode = 'exact' if (! $mode); + my %tmp = ('0' => 'exact', + '1' => 'approx', + '2' => 'bapprox', + '3' => 'business', + 'exact' => 'exact', + 'semi' => 'semi', + 'approx' => 'approx', + 'business'=> 'business', + 'bsemi' => 'bsemi', + 'bapprox' => 'bapprox', + ); + + if (exists $tmp{$mode}) { + $mode = $tmp{$mode}; + } else { + $$errref = 3 if ($ref); + return ''; + } + + $obj3 = $obj1->calc($obj2,$mode); + } else { + $obj3 = $obj1->calc($obj2); + } + + my $ret = $obj3->value(); + return $ret; +} + +sub Date_GetPrev { + my($string,$dow,$curr,@time) = @_; + my $err = $date->parse($string); + return '' if ($err); + + if (defined($dow)) { + $dow = lc($dow); + if (exists $$dmb{'data'}{'wordmatch'}{'day_char'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_char'}{$dow}; + } elsif (exists $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow}; + } elsif (exists $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow}; + } + } + + if ($#time == 0) { + @time = @{ $dmb->split('hms',$time[0]) }; + } + + if (@time) { + while ($#time < 2) { + push(@time,0); + } + $date->prev($dow,$curr,\@time); + } else { + $date->prev($dow,$curr); + } + my $ret = $date->value(); + return $ret; +} + +sub Date_GetNext { + my($string,$dow,$curr,@time) = @_; + my $err = $date->parse($string); + return '' if ($err); + + if (defined($dow)) { + $dow = lc($dow); + if (exists $$dmb{'data'}{'wordmatch'}{'day_char'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_char'}{$dow}; + } elsif (exists $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow}; + } elsif (exists $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow}) { + $dow = $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow}; + } + } + + if ($#time == 0) { + @time = @{ $dmb->split('hms',$time[0]) }; + } + + if (@time) { + while ($#time < 2) { + push(@time,0); + } + $date->next($dow,$curr,\@time); + } else { + $date->next($dow,$curr); + } + my $ret = $date->value(); + return $ret; +} + +sub Date_SetTime { + my($string,@time) = @_; + + my $err = $date->parse($string); + return '' if ($err); + + if ($#time == 0) { + @time = @{ $dmb->split('hms',$time[0]) }; + } + + while ($#time < 2) { + push(@time,0); + } + + $date->set('time',\@time); + my $val = $date->value(); + return $val; +} + +sub Date_SetDateField { + my($string,$field,$val) = @_; + + my $err = $date->parse($string); + return '' if ($err); + + $date->set($field,$val); + my $ret = $date->value(); + return $ret; +} + +sub Date_NextWorkDay { + my($string,$n,$checktime) = @_; + my $err = $date->parse($string); + return '' if ($err); + $date->next_business_day($n,$checktime); + my $val = $date->value(); + return $val; +} + +sub Date_PrevWorkDay { + my($string,$n,$checktime) = @_; + my $err = $date->parse($string); + return '' if ($err); + $date->prev_business_day($n,$checktime); + my $val = $date->value(); + return $val; +} + +sub Date_NearestWorkDay { + my($string,$tomorrowfirst) = @_; + my $err = $date->parse($string); + return '' if ($err); + $date->nearest_business_day($tomorrowfirst); + my $val = $date->value(); + return $val; +} + +sub ParseRecur { + my($string,@args) = @_; + + if ($#args == 3) { + my($base,$d0,$d1,$flags) = @args; + @args = (); + push(@args,$flags) if ($flags); + push(@args,$base,$d0,$d1); + } + + my $err = $recur->parse($string,@args); + return '' if ($err); + + if (wantarray) { + my @dates = $recur->dates(); + my @ret; + foreach my $d (@dates) { + my $val = $d->value(); + push(@ret,$val); + } + return @ret; + } + + my @int = @{ $$recur{'data'}{'interval'} }; + my @rtime = @{ $$recur{'data'}{'rtime'} }; + my @flags = @{ $$recur{'data'}{'flags'} }; + my $start = $$recur{'data'}{'start'}; + my $end = $$recur{'data'}{'end'}; + my $base = $$recur{'data'}{'base'}; + + my $r; + if (@int) { + $r = join(':',@int); + } + if (@rtime) { + my @rt; + foreach my $rt (@rtime) { + push(@rt,join(",",@$rt)); + } + $r .= '*' . join(':',@rt); + } + + $r .= '*' . join(",",@flags); + + my $val = (defined($base) ? $base->value() : ''); + $r .= "*$val"; + + $val = (defined($start) ? $start->value() : ''); + $r .= "*$val"; + + $val = (defined($end) ? $end->value() : ''); + $r .= "*$val"; + + return $r; +} + +sub Events_List { + my($datestr,@args) = @_; + + # First argument is always a date + + my $err = $date->parse($datestr); + return [] if ($err); + + # Second argument is absent, a date, or 0. + + my @list; + my $flag = 0; + my ($date0,$date1); + + if (! @args) { + # absent + @list = $date->list_events('dates'); + + } else { + # a date or 0 + my $arg = shift(@args); + $flag = shift(@args) if (@args); + if (@args) { + warn "ERROR: unknown argument list\n"; + return []; + } + + if (! $arg) { + my($y,$m,$d) = $date->value(); + $date2->set('date',[$y,$m,$d,23,59,59]); + @list = $date->list_events(0, 'dates'); + + } else { + $err = $date2->parse($arg); + if ($err) { + warn "ERROR: invalid argument: $arg\n"; + return []; + } + @list = $date->list_events($date2, 'dates'); + } + } + + # Handle the flag + + if (! $flag) { + my @ret = (); + foreach my $e (@list) { + my($d,@n) = @$e; + my $v = $d->value(); + push(@ret,$v,[@n]); + } + return \@ret; + } + + push(@list,[$date2]); + my %ret; + + if ($flag==1) { + while ($#list > 0) { + my($d0,@n) = @{ shift(@list) }; + my $d1 = $list[0]->[0]; + my $delta = $d0->calc($d1); + + foreach $flag (@n) { + $flag = '' if (! defined($flag)); + if (exists $ret{$flag}) { + $ret{$flag} = $ret{$flag}->calc($delta); + } else { + $ret{$flag} = $delta; + } + } + } + + } elsif ($flag==2) { + while ($#list > 0) { + my($d0,@n) = @{ shift(@list) }; + my $d1 = $list[0]->[0]; + my $delta = $d0->calc($d1); + $flag = join("+",sort(@n)); + + if (exists $ret{$flag}) { + $ret{$flag} = $ret{$flag}->calc($delta); + } else { + $ret{$flag} = $delta; + } + } + + } else { + warn "ERROR: Invalid flag $flag\n"; + return []; + } + + foreach my $flag (keys %ret) { + $ret{$flag} = $ret{$flag}->value(); + } + + return \%ret; +} + +######################################################################## +# ADDITIONAL ROUTINES +######################################################################## + +sub Date_DayOfWeek { + my($m,$d,$y) = @_; + return $dmb->day_of_week([$y,$m,$d]); +} + +sub Date_SecsSince1970 { + my($m,$d,$y,$h,$mn,$s) = @_; + return $dmb->secs_since_1970([$y,$m,$d,$h,$mn,$s]); +} + +sub Date_SecsSince1970GMT { + my($m,$d,$y,$h,$mn,$s) = @_; + $date->set('date',[$y,$m,$d,$h,$mn,$s]); + return $date->secs_since_1970_GMT(); +} + +sub Date_DaysSince1BC { + my($m,$d,$y) = @_; + return $dmb->days_since_1BC([$y,$m,$d]); +} + +sub Date_DayOfYear { + my($m,$d,$y) = @_; + return $dmb->day_of_year([$y,$m,$d]); +} + +sub Date_NthDayOfYear { + my($y,$n) = @_; + my @ret = @{ $dmb->day_of_year($y,$n) }; + push(@ret,0,0,0) if ($#ret == 2); + return @ret; +} + +sub Date_DaysInMonth { + my($m,$y) = @_; + return $dmb->days_in_month($y,$m); +} + +sub Date_DaysInYear { + my($y) = @_; + return $dmb->days_in_year($y); +} + +sub Date_WeekOfYear { + my($m,$d,$y,$first) = @_; + my($yy,$ww) = $dmb->_week_of_year($first,[$y,$m,$d]); + return 0 if ($yy<$y); + return 53 if ($yy>$y); + return $ww; +} + +sub Date_LeapYear { + my($y) = @_; + return $dmb->leapyear($y); +} + +sub Date_DaySuffix { + my($d) = @_; + return $$dmb{'data'}{'wordlist'}{'nth_dom'}[$d-1]; +} + +sub Date_TimeZone { + my($ret) = $dmb->_now('tz'); + return $ret; +} + +sub Date_ConvTZ { + my($str,$from,$to) = @_; + $from = $dmb->_now('tz') if (! $from); + $to = $dmb->_now('tz') if (! $to); + + # Parse the date (ignoring timezone information): + + my $err = $dateUT->parse($str); + return '' if ($err); + my $d = [ $dateUT->value() ]; + return '' if (! $d); + + # Get the timezone for $from. First, we'll assume that + # the date matches exactly (so if the timezone is passed + # in as an abbreviation, we'll try to get the timezone + # that fits the date/abbrev combination). If we can't, + # we'll just assume that the timezone is more generic + # and try it without the date. + + my $tmp; + $tmp = $dmt->zone($from,$d); + if (! $tmp) { + $tmp = $dmt->zone($from); + return '' if (! $tmp); + } + $from = $tmp; + + $tmp = $dmt->zone($to,$d); + if (! $tmp) { + $tmp = $dmt->zone($to); + return '' if (! $tmp); + } + $to = $tmp; + + ($err,$d) = $dmt->convert($d,$from,$to); + return '' if ($err); + return $dmb->join('date',$d); +} + +sub Date_IsWorkDay { + my($str,$checktime) = @_; + my $err = $date->parse($str); + return '' if ($err); + return $date->is_business_day($checktime); +} + +sub Date_IsHoliday { + my($str) = @_; + my $err = $date->parse($str); + return undef if ($err); + if (wantarray) { + my @ret = $date->holiday(); + return @ret; + } else { + my $ret = $date->holiday(); + return $ret; + } +} + +sub Date_Cmp { + my($str1,$str2) = @_; + my $err = $date->parse($str1); + return undef if ($err); + $err = $date2->parse($str2); + return undef if ($err); + return $date->cmp($date2); +} + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip/DM6.pod b/lib/Date/Manip/DM6.pod new file mode 100644 index 0000000..825b11d --- /dev/null +++ b/lib/Date/Manip/DM6.pod @@ -0,0 +1,695 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::DM6 - Date manipulation routines + +=head1 SYNOPSIS + + use Date::Manip; + + $version = DateManipVersion($flag); + + Date_Init("VAR=VAL","VAR=VAL",...); + + $date = ParseDate(\@args [,@opts]); + $date = ParseDate($string [,@opts]); + $date = ParseDate(\$string [,@opts]); + + $date = ParseDateString($string [,@opts]); + + $date = ParseDateFormat($format,$string); + + @date = UnixDate($date,@format); + $date = UnixDate($date,@format); + + $delta = ParseDateDelta(\@args [,$mode]); + $delta = ParseDateDelta($string [,$mode]); + $delta = ParseDateDelta(\$string [,$mode]); + + @str = Delta_Format($delta, [$mode,] $dec,@format); + $str = Delta_Format($delta, [$mode,] $dec,@format); + + $recur = ParseRecur($string,$base,$date0,$date1,$flags); + @dates = ParseRecur($string,$base,$date0,$date1,$flags); + + $flag = Date_Cmp($date1,$date2); + + $d = DateCalc($d1,$d2 [,$errref] [,$mode]); + + $date = Date_SetTime($date,$hr,$min,$sec); + $date = Date_SetTime($date,$time); + + $date = Date_SetDateField($date,$field,$val [,$nocheck]); + + $date = Date_GetPrev($date,$dow,$today,$hr,$min,$sec); + $date = Date_GetPrev($date,$dow,$today,$time); + + $date = Date_GetNext($date,$dow,$today,$hr,$min,$sec); + $date = Date_GetNext($date,$dow,$today,$time); + + $name = Date_IsHoliday($date); + @name = Date_IsHoliday($date); + + $listref = Events_List($date); + $listref = Events_List($date0,$date1); + + $date = Date_ConvTZ($date,$from,$to); + + $flag = Date_IsWorkDay($date [,$flag]); + + $date = Date_NextWorkDay($date,$off [,$time]); + + $date = Date_PrevWorkDay($date,$off [,$time]); + + $date = Date_NearestWorkDay($date [,$tomorrowfirst]); + +In the following routines, $y may be entered as either a 2 or 4 digit +year (it will be converted to a 4 digit year based on the variable +YYtoYYYY described below). Month and day should be numeric in all +cases. + + $day = Date_DayOfWeek($m,$d,$y); + $secs = Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + $secs = Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s); + $days = Date_DaysSince1BC($m,$d,$y); + $day = Date_DayOfYear($m,$d,$y); + ($y,$m,$d,$h,$mn,$s) = Date_NthDayOfYear($y,$n); + $days = Date_DaysInYear($y); + $days = Date_DaysInMonth($m,$y); + $wkno = Date_WeekOfYear($m,$d,$y,$first); + $flag = Date_LeapYear($y); + $day = Date_DaySuffix($d); + $tz = Date_TimeZone(); + +=head1 ROUTINES + +=over 4 + +=item B + + $version = DateManipVersion($flag); + +Returns the version of Date::Manip. If $flag is non-zero, timezone information +is also returned. + +=item B + + Date_Init("VAR=VAL","VAR=VAL",...); + +The Date_Init function is used to set any of the Date::Manip configuration +variables described in the Date::Manip::Config document. + +The strings to pass in are of the form "VAR=VAL". Any number may be +included and they can come in any order. VAR may be any configuration +variable. VAL is any allowed value for that variable. For example, +to switch from English to French and use non-US format (so that 12/10 +is Oct 12), do the following: + + Date_Init("Language=French","DateFormat=non-US"); + +Note that variables are parsed in the order they are given, so +"DateFormat=non-US", "ConfigFile=./manip.cnf" may not give the +expected result. To be safe, ConfigFile should always appear first in +the list. + +=item B + + $date = ParseDate(\@args [,@opts]); + $date = ParseDate($string [,@opts]); + $date = ParseDate(\$string [,@opts]); + +This takes an array or a string containing a date and parses it. When the +date is included as an array (for example, the arguments to a program) the +array should contain a valid date in the first one or more elements +(elements after a valid date are ignored). Elements containing a valid +date are shifted from the array. The largest possible number of elements +which can be correctly interpreted as a valid date are always used. If a +string is entered rather than an array, that string is tested for a valid +date. The string is unmodified, even if passed in by reference. + +The ParseDate routine is primarily used to handle command line arguments. +If you have a command where you want to enter a date as a command line +argument, you can use Date::Manip to make something like the following +work: + + mycommand -date Dec 10 1997 -arg -arg2 + +No more reading man pages to find out what date format is required in a +man page. + +The C<@opts> argument may contain values that can be passed to the +C method. + +Historical note: this is originally why the Date::Manip routines were +written (though long before they were released as the Date::Manip module). +I was using a bunch of programs (primarily batch queue managers) where +dates and times were entered as command line options and I was getting +highly annoyed at the many different (but not compatible) ways that they +had to be entered. Date::Manip originally consisted of basically 1 routine +which I could pass "@ARGV" to and have it remove a date from the beginning. + +=item B + + $date = ParseDateString($string [,@opts]); + +This parses a string containing a date and returns it. Refer to the +Date::Manip::Date documentation for valid date formats. The date +returned is in the local time zone. + +The C<@opts> argument may contain values that can be passed to the +C method. + +=item B + + $date = ParseDateFormat($format,$string); + +This parses a string containing a date based on a format string and +returns the date. Refer to the Date::Manip::Date documentation for the +parse_format method for more information. The date returned is in the +local time zone. + +=item B + + $out = UnixDate($date,$in); + @out = UnixDate($date,@in); + +This takes a date and a list of strings containing formats roughly +identical to the format strings used by the UNIX date(1) command. +Each format is parsed and an array of strings corresponding to each +format is returned. + +The formats are described in the Date::Manip::Date document. + +=item B + + $delta = ParseDateDelta(\@args [,$mode]); + $delta = ParseDateDelta($string [,$mode]); + $delta = ParseDateDelta(\$string [,$mode]); + +In the first form, it takes an array and shifts a valid delta from it. +In the other two forms, it parses a string to see if it contains a +valid delta. + +A valid delta is returned if found. Otherwise, an empty string is +returned. + +The delta can be converted to 'exact', 'semi', or 'approx' using the +Date::Manip::Delta::convert method if $mode is passed in. + +=item B + + $out = Delta_Format($delta [,$mode], $dec,$in); + @out = Delta_Format($delta [,$mode], $dec,@in); + +This is similar to the UnixDate routine except that it extracts information +from a delta. + +When formatting fields in a delta, the Date::Manip 6.00 formats have changed +and are much more powerful. The old 5.xx formats are still available for +the Delta_Format command for backward compatibility. These formats include: + + %Xv : print the value of the field X + + %Xd : print the value of the field X and all + smaller units in terms of X + + %Xh : print the value of field X and all + larger units in terms of X + + %Xt : print the value of all fields in + terms of X + +These make use of the $mode and $dec arguments to determine how to +format the information. + +$dec is an integer, and is required, It tells the number of decimal +places to use. + +$mode is either "exact", "semi", or "approx" and defaults to "exact" +if it is not included. + +In "exact" mode, only exact relationships are used. This means that +there can be no mixing of the Y/M, W/D, and H/MN/S segments (for +non-business deltas, or Y/M, W, and D/H/MN/S segments for business +deltas) because there is no exact relation between the fields of each +set. + +In "semi" mode, the semi-approximate relationships are used so +there is no mixing between Y/M and W/D/H/MN/S. + +In "approx" mode, approximate relationships are used so all fields +can mix. + +The semi-approximate and approximate relationships are described in +the Date::Manip::Delta manual. + +So, in "exact" mode, with a non-business delta, and $dec = 2, the +following are equivalent: + + old style new style + --------- --------- + %Xv %Xv + %hd %.2hhs + %hh %.2hdh + %ht %.2hds + %yd %.2yyM + +In "approximate" mode, the following are equivalent: + + old style new style + --------- --------- + %Xv %Xv + %hd %.2hhs + %hh %.2hdh + %ht %.2hys + %yd %.2yys + +If you want to use the new style formats in Delta_Format, use one of +the calls: + + Delta_Format($delta, @in); + Delta_Format($delta, undef, @in); + +If the first element of @in is an integer, you have to use the 2nd +form. + +The old formats will remain available for the time being, though at +some point they may be deprecated. + +=item B + + $d = DateCalc($d1,$d2 [,\$err] [,$mode]); + +This takes two dates, deltas, or one of each and performs the appropriate +calculation with them. Dates must be a string that can be parsed by +ParseDateString. Deltas must be a string that can be parsed by +ParseDateDelta. Two deltas add together to form a third delta. A date +and a delta returns a 2nd date. Two dates return a delta (the difference +between the two dates). + +Since the two items can be interpreted as either dates or deltas, and +since many strings can be interpreted as both a date or a delta, it +is a good idea to pass the input through ParseDateDelta, +if appropriate if there is any ambiguity. For example, the string +"09:00:00" can be interpreted either as a date (today at 9:00:00) or a +delta (9 hours). To avoid unexpected results, avoid calling DateCalc +as: + + $d = DateCalc("09:00:00",$someothervalue); + +Instead, call it as: + + $d = DateCalc(ParseDate("09:00:00"),$someothervalue); + +to force it to be a date, or: + + $d = DateCalc(ParseDateDelta("09:00:00"),$someothervalue); + +to force it to be a delta. This will avoid unexpected results. +Passing something through ParseDate is optional since they will be +treated as dates by default (and for performance reasons, you're +better off not calling ParseDate). + +If there is no ambiguity, you are better off NOT doing this for +performance reasons. If the delta is a business delta, you definitely +should NOT do this. + +One other thing to note is that when parsing dates, a delta can +be interpreted as a date relative to now. DateCalc will ALWAYS +treat a delta as a delta, NOT a date. + +For details on how calculations are done, refer to the Date::Manip::Calc +documentation. + +By default, math is done using an exact mode. + +If two deltas, or a date and a delta are passed in, $mode may be used +to force the delta to be either business or non-business mode deltas. +If $mode is 0 or 1, the delta(s) will be non-business. Otherwise, +they will be business deltas. If $mode is passed in, it will be used +only if the business or non-business state was not explicitly set in +the delta. $mode can also be any of the modes discussed in +the Date::Manip::Calc documentation. + +If two dates are passed in, $mode is used to determine the type of +calculation. By default, an exact delta is produced. If $mode is 1, +an approximate delta is produced. If $mode is 2, a business +approximate (bapprox) mode calculation is done. If $mode is 3, a +exact business mode delta is produced. + +If \$err is passed in, it is set to: + + 1 is returned if $d1 is not a delta or date + 2 is returned if $d2 is not a delta or date + 3 if any other error occurs. + +This argument is optional, but if included, it must come before $mode. + +Nothing is returned if an error occurs. + +=item B + + $recur = ParseRecur($string [,$base,$date0,$date1,$flags]); + @dates = ParseRecur($string [,$base,$date0,$date1,$flags]); + +This parses a string containing a recurrence and returns a fully specified +recurrence, or a list of dates referred to. + +$string can be any of the forms: + + FREQ + FREQ*FLAGS + FREQ*FLAGS*BASE + FREQ*FLAGS*BASE*DATE0 + FREQ*FLAGS*BASE*DATE0*DATE1 + +where FREQ is a frequence (see the Date::Manip::Delta documentation), +FLAGS is a comma separated list of flags, and BASE, DATE0, and DATE1 are +date strings. The dates and flags can also be passed in as $base, $date0, +$date1, and $flags, and these will override any values in $string. + +In scalar context, the fully specified recurrence (or as much information +as is available) will be returned. In list context, a list of dates will +be returned. + +=item B + + $flag = Date_Cmp($date1,$date2); + +This takes two dates and compares them. Any dates that can be parsed will be +compared. + +=item B + + $date = Date_GetPrev($date,$dow, $curr [,$hr,$min,$sec]); + $date = Date_GetPrev($date,$dow, $curr [,$time]); + $date = Date_GetPrev($date,undef,$curr,$hr,$min,$sec); + $date = Date_GetPrev($date,undef,$curr,$time); + +This takes a date (any string that may be parsed by ParseDateString) and finds +the previous occurrence of either a day of the week, or a certain time of day. + +This is documented in the "prev" method in Date::Manip::Date, except that +here, $time is a string (HH, HH:MN:, or HH:MN:SS), and $dow may be a string +of the form "Fri" or "Friday". + +=item B + + $date = Date_GetNext($date,$dow, $curr [,$hr,$min,$sec]); + $date = Date_GetNext($date,$dow, $curr [,$time]); + $date = Date_GetNext($date,undef,$curr,$hr,$min,$sec); + $date = Date_GetNext($date,undef,$curr,$time); + +Similar to Date_GetPrev. + +=item B + + $date = Date_SetTime($date,$hr,$min,$sec); + $date = Date_SetTime($date,$time); + +This takes a date (any string that may be parsed by ParseDateString) and +sets the time in that date. For example, one way to get the time for 7:30 +tomorrow would be to use the lines: + + $date = ParseDate("tomorrow"); + $date = Date_SetTime($date,"7:30"); + +$time is a string (HH, HH:MN, or HH:MN:SS). + +=item B + + $date = Date_SetDateField($date,$field,$val); + +This takes a date and sets one of its fields to a new value. $field is +any of the strings "y", "m", "d", "h", "mn", "s" (case insensitive) and +$val is the new value. + +=item B + + $name = Date_IsHoliday($date); + @name = Date_IsHoliday($date); + +This returns undef if $date is not a holiday, or a string containing +the name of the holiday otherwise (or a list of names in list +context). An empty string is returned for an unnamed holiday. + +=item B + + $flag = Date_IsWorkDay($date [,$flag]); + +This returns 1 if $date is a work day. If $flag is non-zero, the time is +checked to see if it falls within work hours. It returns an empty string +if $date is not valid. + +=item B + + $ref = Events_List($date); + $ref = Events_List($date,0 [,$flag]); + $ref = Events_List($date,$date1 [,$flag]); + +This returns a list of events. If $flag is not given, or is equal to 0, +the list (returned as a reference) is similar to the the list returned +by the Date::Manip::Date::list_events method with $format = "dates". +The only difference is that it is formatted slightly different to be +backward compatible with Date::Manip 5.xx. + +The data from the list_events method is: + + ( [DATE1, NAME1a, NAME1b, ...], + [DATE2, NAME2a, NAME2b, ...], + ... + ) + +The reference returned from Events_List (if $flag = 0) is: + + [ DATE1, [NAME1a, NAME1b, ...], + DATE2, [DATE2a, DATE2b, ...], + ... + ] + +For example, if the following events are defined: + + 2000-01-01 ; 2000-03-21 = Winter + 2000-03-22 ; 2000-06-21 = Spring + 2000-02-01 = Event1 + 2000-05-01 = Event2 + 2000-04-01-12:00:00 = Event3 + +the following examples illustrate the function: + + Events_List("2000-04-01") + => [ 2000040100:00:00, [ Spring ] ] + + Events_List("2000-04-01 12:30"); + => [ 2000040112:30:00, [ Spring, Event3 ] ] + + Events_List("2000-04-01",0); + => [ 2000040100:00:00, [ Spring ], + 2000040112:00:00, [ Spring, Event3 ], + 2000040113:00:00, [ Spring ] ] + + Events_List("2000-03-15","2000-04-10"); + => [ 2000031500:00:00, [ Winter ], + 2000032200:00:00, [ Spring ] + 2000040112:00:00, [ Spring, Event3 ] + 2000040113:00:00, [ Spring ] ] + +If $flag is 1, then a tally of the amount of time given to each event +is returned. Time for which two or more events apply is counted for +both. + + Events_List("2000-03-15","2000-04-10",1); + => { Event3 => +0:0:+0:0:1:0:0, + Spring => +0:0:+2:4:23:0:0, + Winter => +0:0:+1:0:0:0:0 + } + +When $flag is 2, a more complex tally with no event counted twice is +returned. + + Events_List("2000-03-15","2000-04-10",2); + => { Event3+Spring => +0:0:+0:0:1:0:0, + Spring => +0:0:+2:4:22:0:0, + Winter => +0:0:+1:0:0:0:0 + } + +The hash contains one element for each combination of events. + +In both of these cases, there may be a hash element with an empty +string as the key which contains the amount of time with no events +active. + +=item B + + $day = Date_DayOfWeek($m,$d,$y); + +Returns the day of the week (1 for Monday, 7 for Sunday). + +=item B + + $secs = Date_SecsSince1970($m,$d,$y,$h,$mn,$s); + +Returns the number of seconds since Jan 1, 1970 00:00 (negative if date is +earlier) in the current timezone. + +=item B + + $secs = Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s); + +Returns the number of seconds since Jan 1, 1970 00:00 GMT (negative if date +is earlier). Note that the date is still given in the current timezone, NOT +GMT. + +=item B + + $days = Date_DaysSince1BC($m,$d,$y); + +Returns the number of days since Dec 31, 1BC. This includes the year 0001. + +=item B + + $day = Date_DayOfYear($m,$d,$y); + +Returns the day of the year (1 to 366) + +=item B + + ($y,$m,$d,$h,$mn,$s) = Date_NthDayOfYear($y,$n); + +Returns the year, month, day, hour, minutes, and decimal seconds given +a floating point day of the year. + +All arguments must be numeric. $n must be greater than or equal to 1 +and less than 366 on non-leap years and 367 on leap years. + +NOTE: When $n is a decimal number, the results are non-intuitive perhaps. +Day 1 is Jan 01 00:00. Day 2 is Jan 02 00:00. Intuitively, you +might think of day 1.5 as being 1.5 days after Jan 01 00:00, but this +would mean that Day 1.5 was Jan 02 12:00 (which is later than Day 2). +The best way to think of this function is a time line starting at 1 and +ending at 366 (in a non-leap year). In terms of a delta, think of $n +as the number of days after Dec 31 00:00 of the previous year. + +=item B + + $days = Date_DaysInYear($y); + +Returns the number of days in the year (365 or 366) + +=item B + + $days = Date_DaysInMonth($m,$y); + +Returns the number of days in the month. + +=item B + + $wkno = Date_WeekOfYear($m,$d,$y,$first); + +Figure out week number. $first is the first day of the week which is +usually 1 (Monday) or 7 (Sunday), but could be any number between 1 and 7 +in practice. + +NOTE: This routine should only be called in rare cases. Use UnixDate with +the %W, %U, %J, %L formats instead. This routine returns a week between 0 +and 53 which must then be "fixed" to get into the ISO-8601 weeks from 1 to +53. A date which returns a week of 0 actually belongs to the last week of +the previous year. A date which returns a week of 53 may belong to the +first week of the next year. + +=item B + + $flag = Date_LeapYear($y); + +Returns 1 if the argument is a leap year +Written by David Muir Sharnoff + +=item B + + $day = Date_DaySuffix($d); + +Add `st', `nd', `rd', `th' to a date (i.e. 1st, 22nd, 29th). Works for +international dates. + +=item B + + $tz = Date_TimeZone; + +This determines and returns the local time zone. If it is unable to determine +the local time zone, the following error occurs: + + ERROR: Date::Manip unable to determine Time Zone. + +See the Date::Manip::TZ documentation (DETERMINING THE LOCAL TIME ZONE) for +more information. + +=item B + + $date = Date_ConvTZ($date,$from,$to); + +This converts a date (which MUST be in the format returned by ParseDate) +from one time zone to another. + +$from and $to each default to the local time zone. If they are given, +they must be any time zone or alias understood by Date::Manip. + +If an error occurs, an empty string is returned. + +=item B + + $date = Date_NextWorkDay($date,$off [,$time]); + +Finds the day $off work days from now. If $time is passed in, we must also +take into account the time of day. + +If $time is not passed in, day 0 is today (if today is a workday) or the +next work day if it isn't. In any case, the time of day is unaffected. + +If $time is passed in, day 0 is now (if now is part of a workday) or the +start of the very next work day. + +=item B + + $date = Date_PrevWorkDay($date,$off [,$time]); + +Similar to Date_NextWorkDay. + +=item B + + $date = Date_NearestWorkDay($date [,$tomorrowfirst]); + +This looks for the work day nearest to $date. If $date is a work day, it +is returned. Otherwise, it will look forward or backwards in time 1 day +at a time until a work day is found. If $tomorrowfirst is non-zero (or if +it is omitted and the config variable TomorrowFirst is non-zero), we look +to the future first. Otherwise, we look in the past first. In other words, +in a normal week, if $date is Wednesday, $date is returned. If $date is +Saturday, Friday is returned. If $date is Sunday, Monday is returned. If +Wednesday is a holiday, Thursday is returned if $tomorrowfirst is non-nil +or Tuesday otherwise. + +=back + +For all of the functions which return a date, the format of the returned +date is governed by the Printable config variable. If a date is returned, +it is in the local time zone, NOT the time zone the date was parsed in. + +=head1 SEE ALSO + +Date::Manip - main module documentation + +=head1 LICENSE + +This script is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AUTHOR + +Sullivan Beck (sbeck@cpan.org) + +=cut diff --git a/lib/Date/Manip/Date.pm b/lib/Date/Manip/Date.pm new file mode 100644 index 0000000..b954917 --- /dev/null +++ b/lib/Date/Manip/Date.pm @@ -0,0 +1,5260 @@ +package Date::Manip::Date; +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +######################################################################## +# Any routine that starts with an underscore (_) is NOT intended for +# public use. They are for internal use in the the Date::Manip +# modules and are subject to change without warning or notice. +# +# ABSOLUTELY NO USER SUPPORT IS OFFERED FOR THESE ROUTINES! +######################################################################## + +use Date::Manip::Obj; +@ISA = ('Date::Manip::Obj'); + +require 5.010000; +use warnings; +use strict; +use integer; +use utf8; +use IO::File; +use Storable qw(dclone); +#use re 'debug'; + +use Date::Manip::Base; +use Date::Manip::TZ; + +our $VERSION; +$VERSION='6.60'; +END { undef $VERSION; } + +######################################################################## +# BASE METHODS +######################################################################## + +sub is_date { + return 1; +} + +# Call this every time a new date is put in to make sure everything is +# correctly initialized. +# +sub _init { + my($self) = @_; + + $$self{'err'} = ''; + + $$self{'data'} = + { + 'set' => 0, # 1 if the date has been set + # 2 if the date is in the process of being set + + # The date as input + 'in' => '', # the string that was parsed (if any) + 'zin' => '', # the timezone that was parsed (if any) + + # The date in the parsed timezone + 'date' => [], # the parsed date split + 'def' => [0,0,0,0,0,0], + # 1 for each field that came from + # defaults rather than parsed + # '' for an implied field + 'tz' => '', # the timezone of the date + 'isdst' => '', # 1 if the date is in DST. + 'offset' => [], # The offset from GMT + 'abb' => '', # The timezone abbreviation. + 'f' => {}, # fields used in printing a date + + # The date in GMT + 'gmt' => [], # the date converted to GMT + + # The date in local timezone + 'loc' => [], # the date converted to local timezone + }; + return; +} + +sub _init_args { + my($self) = @_; + + my @args = @{ $$self{'args'} }; + $self->parse(@args); + return; +} + +sub input { + my($self) = @_; + return $$self{'data'}{'in'}; +} + +######################################################################## +# DATE PARSING +######################################################################## + +sub parse { + my($self,$instring,@opts) = @_; + $self->_init(); + my $noupdate = 0; + + if (! $instring) { + $$self{'err'} = '[parse] Empty date string'; + return 1; + } + + my %opts = map { $_,1 } @opts; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + delete $$self{'data'}{'default_time'}; + + my($done,$y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off,$dow,$got_time, + $default_time,$firsterr); + + ENCODING: + foreach my $string ($dmb->_encoding($instring)) { + $got_time = 0; + $default_time = 0; + + # Put parse in a simple loop for an easy exit. + PARSE: + { + my(@tmp,$tmp); + $$self{'err'} = ''; + + # Check the standard date format + + $tmp = $dmb->split('date',$string); + if (defined($tmp)) { + ($y,$m,$d,$h,$mn,$s) = @$tmp; + $got_time = 1; + last PARSE; + } + + # Parse ISO 8601 dates now (which may have a timezone). + + if (! exists $opts{'noiso8601'}) { + ($done,@tmp) = $self->_parse_datetime_iso8601($string,\$noupdate); + if ($done) { + ($y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off) = @tmp; + $got_time = 1; + last PARSE; + } + } + + # There's lots of ways that commas may be included. Remove + # them (unless it's preceded and followed by a digit in + # which case it's probably a fractional separator). + + $string =~ s/(?_parse_datetime_other($string,\$noupdate); + if ($done) { + ($y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off) = @tmp; + $got_time = 1; + last PARSE; + } + } + + # Parse (and remove) the time (and an immediately following timezone). + + ($got_time,@tmp) = $self->_parse_time('parse',$string,\$noupdate,%opts); + if ($got_time) { + ($string,$h,$mn,$s,$tzstring,$zone,$abb,$off) = @tmp; + } + + if (! $string) { + ($y,$m,$d) = $self->_def_date($y,$m,$d,\$noupdate); + last; + } + + # Parse (and remove) the day of week. Also, handle the simple DoW + # formats. + + if (! exists $opts{'nodow'}) { + ($done,@tmp) = $self->_parse_dow($string,\$noupdate); + if (@tmp) { + if ($done) { + ($y,$m,$d) = @tmp; + $default_time = 1; + last PARSE; + } else { + ($string,$dow) = @tmp; + } + } + } + $dow = 0 if (! $dow); + + # At this point, the string might contain the following dates: + # + # OTHER + # OTHER ZONE / ZONE OTHER + # DELTA + # DELTA ZONE / ZONE DELTA + # HOLIDAY + # HOLIDAY ZONE / ZONE HOLIDAY + # + # ZONE is only allowed if it wasn't parsed with the time + + # Unfortunately, there are some conflicts between zones and + # some other formats, so try parsing the entire string as a date. + + (@tmp) = $self->_parse_date($string,$dow,\$noupdate,%opts); + if (@tmp) { + ($y,$m,$d,$dow) = @tmp; + $default_time = 1; + last PARSE; + } + + # Parse any timezone + + if (! $tzstring) { + ($string,@tmp) = $self->_parse_tz($string,\$noupdate); + ($tzstring,$zone,$abb,$off) = @tmp if (@tmp); + last PARSE if (! $string); + } + + # Try the remainder of the string as a date. + + if ($tzstring) { + (@tmp) = $self->_parse_date($string,$dow,\$noupdate,%opts); + if (@tmp) { + ($y,$m,$d,$dow) = @tmp; + $default_time = 1; + last PARSE; + } + } + + # Parse deltas + # + # Occasionally, a delta is entered for a date (which is + # interpreted as the date relative to now). There can be some + # confusion between a date and a delta, but the most + # important conflicts are the ISO 8601 dates (many of which + # could be interpreted as a delta), but those have already + # been taken care of. + # + # We may have already gotten the time: + # 3 days ago at midnight UTC + # (we already stripped off the 'at midnight UTC' above). + # + # We also need to handle the sitution of a delta and a timezone. + # in 2 hours EST + # in 2 days EST + # but only if no time was entered. + + if (! exists $opts{'nodelta'}) { + + ($done,@tmp) = + $self->_parse_delta($string,$dow,$got_time,$h,$mn,$s,\$noupdate); + if (@tmp) { + ($y,$m,$d,$h,$mn,$s) = @tmp; + $got_time = 1; + $dow = ''; + } + last PARSE if ($done); + + # We'll also check the original string to see if it's a valid + # delta since some deltas may have interpreted part of it as + # a time or timezone. + + ($done,@tmp) = + $self->_parse_delta($instring,$dow,$got_time,$h,$mn,$s,\$noupdate); + if (@tmp) { + ($y,$m,$d,$h,$mn,$s) = @tmp; + $got_time = 1; + $dow = ''; + ($tzstring,$zone,$abb,$off) = (); + } + last PARSE if ($done); + } + + # Parse holidays + + unless (exists $opts{'noholidays'}) { + ($done,@tmp) = + $self->_parse_holidays($string,\$noupdate); + if (@tmp) { + ($y,$m,$d) = @tmp; + } + last PARSE if ($done); + } + + $$self{'err'} = '[parse] Invalid date string'; + last PARSE; + } + + # We got an error parsing this encoding of the string. It could + # be that it is a genuine error, or it may be that we simply + # need to try a different encoding. If ALL encodings fail, we'll + # return the error from the first one. + + if ($$self{'err'}) { + if (! $firsterr) { + $firsterr = $$self{'err'}; + } + next ENCODING; + } + + # If we didn't get an error, this is the string to use. + + last ENCODING; + } + + if ($$self{'err'}) { + $$self{'err'} = $firsterr; + return 1; + } + + # Make sure that a time is set + + if (! $got_time) { + if ($default_time) { + if (exists $$self{'data'}{'default_time'}) { + ($h,$mn,$s) = @{ $$self{'data'}{'default_time'} }; + delete $$self{'data'}{'default_time'}; + } elsif ($dmb->_config('defaulttime') eq 'midnight') { + ($h,$mn,$s) = (0,0,0); + } else { + ($h,$mn,$s) = $dmt->_now('time',$noupdate); + $noupdate = 1; + } + $got_time = 1; + } else { + ($h,$mn,$s) = $self->_def_time(undef,undef,undef,\$noupdate); + } + } + + $$self{'data'}{'set'} = 2; + return $self->_parse_check('parse',$instring, + $y,$m,$d,$h,$mn,$s,$dow,$tzstring,$zone,$abb,$off); +} + +sub parse_time { + my($self,$string,@opts) = @_; + my %opts = map { $_,1 } @opts; + my $noupdate = 0; + + if (! $string) { + $$self{'err'} = '[parse_time] Empty time string'; + return 1; + } + + my($y,$m,$d,$h,$mn,$s); + + if ($$self{'err'}) { + $self->_init(); + } + if ($$self{'data'}{'set'}) { + ($y,$m,$d,$h,$mn,$s) = @{ $$self{'data'}{'date'} }; + } else { + my $dmt = $$self{'tz'}; + ($y,$m,$d,$h,$mn,$s) = $dmt->_now('now',$noupdate); + $noupdate = 1; + } + my($tzstring,$zone,$abb,$off); + + ($h,$mn,$s,$tzstring,$zone,$abb,$off) = + $self->_parse_time('parse_time',$string,\$noupdate,%opts); + + return 1 if ($$self{'err'}); + + $$self{'data'}{'set'} = 2; + return $self->_parse_check('parse_time','', + $y,$m,$d,$h,$mn,$s,'',$tzstring,$zone,$abb,$off); +} + +sub parse_date { + my($self,$string,@opts) = @_; + my %opts = map { $_,1 } @opts; + my $noupdate = 0; + + if (! $string) { + $$self{'err'} = '[parse_date] Empty date string'; + return 1; + } + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d,$h,$mn,$s); + + if ($$self{'err'}) { + $self->_init(); + } + if ($$self{'data'}{'set'}) { + ($y,$m,$d,$h,$mn,$s) = @{ $$self{'data'}{'date'} }; + } else { + ($h,$mn,$s) = (0,0,0); + } + + # Put parse in a simple loop for an easy exit. + my($done,@tmp,$dow); + PARSE: + { + + # Parse ISO 8601 dates now + + unless (exists $opts{'noiso8601'}) { + ($done,@tmp) = $self->_parse_date_iso8601($string,\$noupdate); + if ($done) { + ($y,$m,$d) = @tmp; + last PARSE; + } + } + + (@tmp) = $self->_parse_date($string,undef,\$noupdate,%opts); + if (@tmp) { + ($y,$m,$d,$dow) = @tmp; + last PARSE; + } + + $$self{'err'} = '[parse_date] Invalid date string'; + return 1; + } + + return 1 if ($$self{'err'}); + + $y = $dmt->_fix_year($y); + + $$self{'data'}{'set'} = 2; + return $self->_parse_check('parse_date','',$y,$m,$d,$h,$mn,$s,$dow); +} + +sub _parse_date { + my($self,$string,$dow,$noupdate,%opts) = @_; + + # There's lots of ways that commas may be included. Remove + # them. + # + # Also remove some words we should ignore. + + $string =~ s/,/ /g; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $ign = (exists $$dmb{'data'}{'rx'}{'other'}{'ignore'} ? + $$dmb{'data'}{'rx'}{'other'}{'ignore'} : + $self->_other_rx('ignore')); + $string =~ s/$ign/ /g; + my $of = $+{'of'}; + + $string =~ s/\s*$//; + return () if (! $string); + + my($done,$y,$m,$d,@tmp); + + # Put parse in a simple loop for an easy exit. + PARSE: + { + + # Parse (and remove) the day of week. Also, handle the simple DoW + # formats. + + unless (exists $opts{'nodow'}) { + if (! defined($dow)) { + ($done,@tmp) = $self->_parse_dow($string,$noupdate); + if (@tmp) { + if ($done) { + ($y,$m,$d) = @tmp; + last PARSE; + } else { + ($string,$dow) = @tmp; + } + } + $dow = 0 if (! $dow); + } + } + + # Parse common dates + + unless (exists $opts{'nocommon'}) { + (@tmp) = $self->_parse_date_common($string,$noupdate); + if (@tmp) { + ($y,$m,$d) = @tmp; + last PARSE; + } + } + + # Parse less common dates + + unless (exists $opts{'noother'}) { + (@tmp) = $self->_parse_date_other($string,$dow,$of,$noupdate); + if (@tmp) { + ($y,$m,$d,$dow) = @tmp; + last PARSE; + } + } + + # Parse truncated dates + + if (! $dow && ! $of) { + (@tmp) = $self->_parse_date_truncated($string,$noupdate); + if (@tmp) { + ($y,$m,$d,$dow) = @tmp; + last PARSE; + } + } + + return (); + } + + return($y,$m,$d,$dow); +} + +sub parse_format { + my($self,$format,$string) = @_; + $self->_init(); + my $noupdate = 0; + + if (! $string) { + $$self{'err'} = '[parse_format] Empty date string'; + return 1; + } + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my($err,$re) = $self->_format_regexp($format); + return $err if ($err); + return 1 if ($string !~ $re); + + my($y,$m,$d,$h,$mn,$s, + $mon_name,$mon_abb,$dow_name,$dow_abb,$dow_char,$dow_num, + $doy,$nth,$ampm,$epochs,$epocho, + $tzstring,$off,$abb,$zone, + $g,$w,$l,$u) = + @+{qw(y m d h mn s + mon_name mon_abb dow_name dow_abb dow_char dow_num doy + nth ampm epochs epocho tzstring off abb zone g w l u)}; + + while (1) { + # Get y/m/d/h/mn/s from: + # $epochs,$epocho + + if (defined($epochs)) { + ($y,$m,$d,$h,$mn,$s) = @{ $dmb->secs_since_1970($epochs) }; + my $z; + if ($zone) { + $z = $dmt->_zone($zone); + return 'Invalid zone' if (! $z); + } elsif ($abb || $off) { + my $offset = $dmb->_delta_convert('offset',$off); + $z = $dmt->__zone([],$offset,'',$abb,''); + if (! $z) { + $z = $dmt->__zone([],$offset,$abb,'',''); + } + return 'Invalid zone' if (! $z); + } else { + $z = $dmt->_now('tz',$noupdate); + $noupdate = 1; + } + my($err,$date) = $dmt->convert_from_gmt([$y,$m,$d,$h,$mn,$s],$z); + ($y,$m,$d,$h,$mn,$s) = @$date; + last; + } + + if (defined($epocho)) { + ($y,$m,$d,$h,$mn,$s) = @{ $dmb->secs_since_1970($epocho) }; + last; + } + + # Get y/m/d from: + # $y,$m,$d, + # $mon_name,$mon_abb + # $doy,$nth + # $g/$w,$l/$u + + if ($mon_name) { + $m = $$dmb{'data'}{'wordmatch'}{'month_name'}{lc($mon_name)}; + } elsif ($mon_abb) { + $m = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mon_abb)}; + } + + if ($nth) { + $d = $$dmb{'data'}{'wordmatch'}{'nth'}{lc($nth)}; + } + + if ($doy) { + $y = $dmt->_now('y',$noupdate) if (! $y); + $noupdate = 1; + ($y,$m,$d) = @{ $dmb->day_of_year($y,$doy) }; + + } elsif ($g) { + $y = $dmt->_now('y',$noupdate) if (! $y); + $noupdate = 1; + ($y,$m,$d) = @{ $dmb->_week_of_year($g,$w,1) }; + + } elsif ($l) { + $y = $dmt->_now('y',$noupdate) if (! $y); + $noupdate = 1; + ($y,$m,$d) = @{ $dmb->_week_of_year($l,$u,7) }; + + } elsif ($m) { + ($y,$m,$d) = $self->_def_date($y,$m,$d,\$noupdate); + } + + # Get h/mn/s from: + # $h,$mn,$s,$ampm + + if (defined($h)) { + ($h,$mn,$s) = $self->_def_time($h,$mn,$s,\$noupdate); + } + + if ($ampm) { + if ($$dmb{'data'}{'wordmatch'}{'ampm'}{lc($ampm)} == 2) { + # pm times + $h+=12 unless ($h==12); + } else { + # am times + $h=0 if ($h==12); + } + } + + # Get dow from: + # $dow_name,$dow_abb,$dow_char,$dow_num + + if ($dow_name) { + $dow_num = $$dmb{'data'}{'wordmatch'}{'day_name'}{lc($dow_name)}; + } elsif ($dow_abb) { + $dow_num = $$dmb{'data'}{'wordmatch'}{'day_abb'}{lc($dow_abb)}; + } elsif ($dow_char) { + $dow_num = $$dmb{'data'}{'wordmatch'}{'day_char'}{lc($dow_char)}; + } + + last; + } + + if (! $m) { + ($y,$m,$d) = $dmt->_now('now',$noupdate); + $noupdate = 1; + } + if (! defined($h)) { + ($h,$mn,$s) = (0,0,0); + } + + $$self{'data'}{'set'} = 2; + $err = $self->_parse_check('parse_format',$string, + $y,$m,$d,$h,$mn,$s,$dow_num, + $tzstring,$zone,$abb,$off); + + if (wantarray) { + my %tmp = %{ dclone(\%+) }; + return ($err,%tmp); + } + return $err; +} + +BEGIN { + my %y_form = map { $_,1 } qw( Y y s o G L ); + my %m_form = map { $_,1 } qw( m f b h B j s o W U ); + my %d_form = map { $_,1 } qw( j d e E s o W U ); + my %h_form = map { $_,1 } qw( H I k i s o ); + my %mn_form = map { $_,1 } qw( M s o ); + my %s_form = map { $_,1 } qw( S s o ); + + my %dow_form = map { $_,1 } qw( v a A w ); + my %am_form = map { $_,1 } qw( p s o ); + my %z_form = map { $_,1 } qw( Z z N ); + my %mon_form = map { $_,1 } qw( b h B ); + my %day_form = map { $_,1 } qw( v a A ); + + sub _format_regexp { + my($self,$format) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + if (exists $$dmb{'data'}{'format'}{$format}) { + return @{ $$dmb{'data'}{'format'}{$format} }; + } + + my $re; + my $err; + my($y,$m,$d,$h,$mn,$s) = (0,0,0,0,0,0); + my($dow,$ampm,$zone,$G,$W,$L,$U) = (0,0,0,0,0,0,0); + + while ($format) { + last if ($format eq '%'); + + if ($format =~ s/^([^%]+)//) { + $re .= $1; + next; + } + + $format =~ s/^%(.)//; + my $f = $1; + + if (exists $y_form{$f}) { + if ($y) { + $err = 'Year specified multiple times'; + last; + } + $y = 1; + } + + if (exists $m_form{$f}) { + if ($m) { + $err = 'Month specified multiple times'; + last; + } + $m = 1; + } + + if (exists $d_form{$f}) { + if ($d) { + $err = 'Day specified multiple times'; + last; + } + $d = 1; + } + + if (exists $h_form{$f}) { + if ($h) { + $err = 'Hour specified multiple times'; + last; + } + $h = 1; + } + + if (exists $mn_form{$f}) { + if ($mn) { + $err = 'Minutes specified multiple times'; + last; + } + $mn = 1; + } + + if (exists $s_form{$f}) { + if ($s) { + $err = 'Seconds specified multiple times'; + last; + } + $s = 1; + } + + if (exists $dow_form{$f}) { + if ($dow) { + $err = 'Day-of-week specified multiple times'; + last; + } + $dow = 1; + } + + if (exists $am_form{$f}) { + if ($ampm) { + $err = 'AM/PM specified multiple times'; + last; + } + $ampm = 1; + } + + if (exists $z_form{$f}) { + if ($zone) { + $err = 'Zone specified multiple times'; + last; + } + $zone = 1; + } + + if ($f eq 'G') { + if ($G) { + $err = 'G specified multiple times'; + last; + } + $G = 1; + + } elsif ($f eq 'W') { + if ($W) { + $err = 'W specified multiple times'; + last; + } + $W = 1; + + } elsif ($f eq 'L') { + if ($L) { + $err = 'L specified multiple times'; + last; + } + $L = 1; + + } elsif ($f eq 'U') { + if ($U) { + $err = 'U specified multiple times'; + last; + } + $U = 1; + } + + ### + + if ($f eq 'Y') { + $re .= '(?\d\d\d\d)'; + + } elsif ($f eq 'y') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'm') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'f') { + $re .= '(?:(?\d\d)| ?(?\d))'; + + } elsif (exists $mon_form{$f}) { + my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0]; + my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0]; + $re .= "(?:(?$nam)|(?$abb))"; + + } elsif ($f eq 'j') { + $re .= '(?\d\d\d)'; + + } elsif ($f eq 'd') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'e') { + $re .= '(?:(?\d\d)| ?(?\d))'; + + } elsif (exists $day_form{$f}) { + my $abb = $$dmb{'data'}{'rx'}{'day_abb'}[0]; + my $name = $$dmb{'data'}{'rx'}{'day_name'}[0]; + my $char = $$dmb{'data'}{'rx'}{'day_char'}[0]; + $re .= "(?:(?$name)|(?$abb)|(?$char))"; + + } elsif ($f eq 'w') { + $re .= '(?[1-7])'; + + } elsif ($f eq 'E') { + my $nth = $$dmb{'data'}{'rx'}{'nth'}[0]; + $re .= "(?$nth)" + + } elsif ($f eq 'H' || $f eq 'I') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'k' || $f eq 'i') { + $re .= '(?:(?\d\d)| ?(?\d))'; + + } elsif ($f eq 'p') { + my $ampm = $$dmb{data}{rx}{ampm}[0]; + $re .= "(?$ampm)"; + + } elsif ($f eq 'M') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'S') { + $re .= '(?\d\d)'; + + } elsif (exists $z_form{$f}) { + $re .= $dmt->_zrx('zrx'); + + } elsif ($f eq 's') { + $re .= '(?\d+)'; + + } elsif ($f eq 'o') { + $re .= '(?\d+)'; + + } elsif ($f eq 'G') { + $re .= '(?\d\d\d\d)'; + + } elsif ($f eq 'W') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'L') { + $re .= '(?\d\d\d\d)'; + + } elsif ($f eq 'U') { + $re .= '(?\d\d)'; + + } elsif ($f eq 'c') { + $format = '%a %b %e %H:%M:%S %Y' . $format; + + } elsif ($f eq 'C' || $f eq 'u') { + $format = '%a %b %e %H:%M:%S %Z %Y' . $format; + + } elsif ($f eq 'g') { + $format = '%a, %d %b %Y %H:%M:%S %Z' . $format; + + } elsif ($f eq 'D') { + $format = '%m/%d/%y' . $format; + + } elsif ($f eq 'r') { + $format = '%I:%M:%S %p' . $format; + + } elsif ($f eq 'R') { + $format = '%H:%M' . $format; + + } elsif ($f eq 'T' || $f eq 'X') { + $format = '%H:%M:%S' . $format; + + } elsif ($f eq 'V') { + $format = '%m%d%H%M%y' . $format; + + } elsif ($f eq 'Q') { + $format = '%Y%m%d' . $format; + + } elsif ($f eq 'q') { + $format = '%Y%m%d%H%M%S' . $format; + + } elsif ($f eq 'P') { + $format = '%Y%m%d%H:%M:%S' . $format; + + } elsif ($f eq 'O') { + $format = '%Y\\-%m\\-%dT%H:%M:%S' . $format; + + } elsif ($f eq 'F') { + $format = '%A, %B %e, %Y' . $format; + + } elsif ($f eq 'K') { + $format = '%Y-%j' . $format; + + } elsif ($f eq 'J') { + $format = '%G-W%W-%w' . $format; + + } elsif ($f eq 'x') { + if ($dmb->_config('dateformat') eq 'US') { + $format = '%m/%d/%y' . $format; + } else { + $format = '%d/%m/%y' . $format; + } + + } elsif ($f eq 't') { + $re .= "\t"; + + } elsif ($f eq '%') { + $re .= '%'; + + } elsif ($f eq '+') { + $re .= '\\+'; + } + } + + if ($m != $d) { + $err = 'Date not fully specified'; + } elsif ( ($h || $mn || $s) && (! $h || ! $mn) ) { + $err = 'Time not fully specified'; + } elsif ($ampm && ! $h) { + $err = 'Time not fully specified'; + } elsif ($G != $W) { + $err = 'G/W must both be specified'; + } elsif ($L != $U) { + $err = 'L/U must both be specified'; + } + + if ($err) { + $$dmb{'data'}{'format'}{$format} = [$err]; + return ($err); + } + + $$dmb{'data'}{'format'}{$format} = [0, qr/$re/i]; + return @{ $$dmb{'data'}{'format'}{$format} }; + } +} + +######################################################################## +# DATE FORMATS +######################################################################## + +sub _parse_check { + my($self,$caller,$instring, + $y,$m,$d,$h,$mn,$s,$dow,$tzstring,$zone,$abb,$off) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Check day_of_week for validity BEFORE converting 24:00:00 to the + # next day + + if ($dow) { + my $tmp = $dmb->day_of_week([$y,$m,$d]); + if ($tmp != $dow) { + $$self{'err'} = "[$caller] Day of week invalid"; + return 1; + } + } + + # Handle 24:00:00 times. + + if ($h == 24) { + ($h,$mn,$s) = (0,0,0); + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],1) }; + } + + if (! $dmb->check([$y,$m,$d,$h,$mn,$s])) { + $$self{'err'} = "[$caller] Invalid date"; + return 1; + } + my $date = [$y+0,$m+0,$d+0,$h+0,$mn+0,$s+0]; + + # + # We need to check that the date is valid in a timezone. The + # timezone may be referred to with $zone, $abb, or $off, and + # unfortunately, $abb MAY be the name of an abbrevation OR a + # zone in a few cases. + # + + my $zonename; + my $abbrev = (defined $abb ? lc($abb) : ''); + my $offset = (defined $off ? $dmb->_delta_convert('offset',$off) : ''); + my @tmp; + + if (defined($zone)) { + $zonename = $dmt->_zone($zone); + if ($zonename) { + @tmp = $self->__parse_check($date,$zonename,$off,$abb); + } + + } elsif (defined($abb) || defined($off)) { + + $zonename = $dmt->__zone($date,$offset,'',$abbrev,''); + if ($zonename) { + @tmp = $self->__parse_check($date,$zonename,$off,$abb); + } + + if (! @tmp && defined($abb)) { + my $tmp = $dmt->_zone($abb); + if ($tmp) { + $zonename = $tmp; + @tmp = $self->__parse_check($date,$zonename,$off,undef); + } + } + + } else { + $zonename = $dmt->_now('tz'); + if ($zonename) { + @tmp = $self->__parse_check($date,$zonename,$off,$abb); + } + } + + if (! $zonename) { + if (defined($zone)) { + $$self{'err'} = "[$caller] Unable to determine timezone: $zone"; + } else { + $$self{'err'} = "[$caller] Unable to determine timezone"; + } + return 1; + } + + if (! @tmp) { + $$self{'err'} = "[$caller] Invalid date in timezone"; + return 1; + } + + # Store the date + + my($a,$o,$isdst) = @tmp; + + $self->set('zdate',$zonename,$date,$isdst); + return 1 if ($$self{'err'}); + + $$self{'data'}{'in'} = $instring; + $$self{'data'}{'zin'} = $zone if (defined($zone)); + + return 0; +} + +sub __parse_check { + my($self,$date,$zonename,$off,$abb) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + if (defined ($off)) { + $off = $dmb->split('offset',$off); + } + + foreach my $isdst (0,1) { + my $per = $dmt->date_period($date,$zonename,1,$isdst); + next if (! $per); + my $a = $$per[4]; + my $o = $$per[3]; + + # If $abb is defined, it must match. + next if (defined $abb && lc($a) ne lc($abb)); + + # If $off is defined, it must match. + if (defined ($off)) { + next if ($$off[0] != $$o[0] || + $$off[1] != $$o[1] || + $$off[2] != $$o[2]); + } + + return ($a,$o,$isdst); + } + return (); +} + +# Set up the regular expressions for ISO 8601 parsing. Returns the +# requested regexp. $rx can be: +# cdate : regular expression for a complete date +# tdate : regular expression for a truncated date +# ctime : regular expression for a complete time +# ttime : regular expression for a truncated time +# date : regular expression for a date only +# time : regular expression for a time only +# UNDEF : regular expression for a valid date and/or time +# +# Date matches are: +# y m d doy w dow yod c +# Time matches are: +# h h24 mn s fh fm +# +sub _iso8601_rx { + my($self,$rx) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + return $$dmb{'data'}{'rx'}{'iso'}{$rx} + if (exists $$dmb{'data'}{'rx'}{'iso'}{$rx}); + + if ($rx eq 'cdate' || $rx eq 'tdate') { + + my $y4 = '(?\d\d\d\d)'; + my $y2 = '(?\d\d)'; + my $m = '(?0[1-9]|1[0-2])'; + my $d = '(?0[1-9]|[12][0-9]|3[01])'; + my $doy = '(?00[1-9]|0[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6])'; + my $w = '(?0[1-9]|[1-4][0-9]|5[0-3])'; + my $dow = '(?[1-7])'; + my $yod = '(?\d)'; + my $cc = '(?\d\d)'; + + my @cdaterx = + ( + "${y4}${m}${d}", # CCYYMMDD + "${y4}\\-${m}\\-${d}", # CCYY-MM-DD + "\\-${y2}${m}${d}", # -YYMMDD + "\\-${y2}\\-${m}\\-${d}", # -YY-MM-DD + "\\-?${y2}${m}${d}", # YYMMDD + "\\-?${y2}\\-${m}\\-${d}", # YY-MM-DD + "\\-\\-${m}\\-?${d}", # --MM-DD --MMDD + "\\-\\-\\-${d}", # ---DD + + "${y4}\\-?${doy}", # CCYY-DoY CCYYDoY + "\\-?${y2}\\-?${doy}", # YY-DoY -YY-DoY + # YYDoY -YYDoY + "\\-${doy}", # -DoY + + "${y4}W${w}${dow}", # CCYYWwwD + "${y4}\\-W${w}\\-${dow}", # CCYY-Www-D + "\\-?${y2}W${w}${dow}", # YYWwwD -YYWwwD + "\\-?${y2}\\-W${w}\\-${dow}", # YY-Www-D -YY-Www-D + + "\\-?${yod}W${w}${dow}", # YWwwD -YWwwD + "\\-?${yod}\\-W${w}\\-${dow}", # Y-Www-D -Y-Www-D + "\\-W${w}\\-?${dow}", # -Www-D -WwwD + "\\-W\\-${dow}", # -W-D + "\\-\\-\\-${dow}", # ---D + ); + my $cdaterx = join('|',@cdaterx); + $cdaterx = qr/(?:$cdaterx)/i; + + my @tdaterx = + ( + "${y4}\\-${m}", # CCYY-MM + "${y4}", # CCYY + "\\-${y2}\\-?${m}", # -YY-MM -YYMM + "\\-${y2}", # -YY + "\\-\\-${m}", # --MM + + "${y4}\\-?W${w}", # CCYYWww CCYY-Www + "\\-?${y2}\\-?W${w}", # YY-Www YYWww + # -YY-Www -YYWww + "\\-?W${w}", # -Www Www + + "${cc}", # CC + ); + my $tdaterx = join('|',@tdaterx); + $tdaterx = qr/(?:$tdaterx)/i; + + $$dmb{'data'}{'rx'}{'iso'}{'cdate'} = $cdaterx; + $$dmb{'data'}{'rx'}{'iso'}{'tdate'} = $tdaterx; + + } elsif ($rx eq 'ctime' || $rx eq 'ttime') { + + my $hh = '(?[0-1][0-9]|2[0-3])'; + my $mn = '(?[0-5][0-9])'; + my $ss = '(?[0-5][0-9])'; + my $h24a = '(?24(?::00){0,2})'; + my $h24b = '(?24(?:00){0,2})'; + my $h = '(?[0-9])'; + + my $fh = '(?:[\.,](?\d*))'; # fractional hours (keep) + my $fm = '(?:[\.,](?\d*))'; # fractional seconds (keep) + my $fs = '(?:[\.,]\d*)'; # fractional hours (discard) + + my $zrx = $dmt->_zrx('zrx'); + + my @ctimerx = + ( + "${hh}${mn}${ss}${fs}?", # HHMNSS[,S+] + "${hh}:${mn}:${ss}${fs}?", # HH:MN:SS[,S+] + "${hh}:?${mn}${fm}", # HH:MN,M+ HHMN,M+ + "${hh}${fh}", # HH,H+ + "\\-${mn}:?${ss}${fs}?", # -MN:SS[,S+] -MNSS[,S+] + "\\-${mn}${fm}", # -MN,M+ + "\\-\\-${ss}${fs}?", # --SS[,S+] + "${hh}:?${mn}", # HH:MN HHMN + "${h24a}", # 24:00:00 24:00 24 + "${h24b}", # 240000 2400 + "${h}:${mn}:${ss}${fs}?", # H:MN:SS[,S+] + "${h}:${mn}${fm}", # H:MN,M+ + ); + my $ctimerx = join('|',@ctimerx); + $ctimerx = qr/(?:$ctimerx)(?:\s*$zrx)?/; + + my @ttimerx = + ( + "${hh}", # HH + "\\-${mn}", # -MN + ); + my $ttimerx = join('|',@ttimerx); + $ttimerx = qr/(?:$ttimerx)/; + + $$dmb{'data'}{'rx'}{'iso'}{'ctime'} = $ctimerx; + $$dmb{'data'}{'rx'}{'iso'}{'ttime'} = $ttimerx; + + } elsif ($rx eq 'date') { + + my $cdaterx = $self->_iso8601_rx('cdate'); + my $tdaterx = $self->_iso8601_rx('tdate'); + $$dmb{'data'}{'rx'}{'iso'}{'date'} = qr/(?:$cdaterx|$tdaterx)/; + + } elsif ($rx eq 'time') { + + my $ctimerx = $self->_iso8601_rx('ctime'); + my $ttimerx = $self->_iso8601_rx('ttime'); + $$dmb{'data'}{'rx'}{'iso'}{'time'} = qr/(?:$ctimerx|$ttimerx)/; + + } elsif ($rx eq 'fulldate') { + + # A parseable string contains: + # a complete date and complete time + # a complete date and truncated time + # a truncated date + # a complete time + # a truncated time + + # If the string contains both a time and date, they may be adjacent + # or separated by: + # whitespace + # T (which must be followed by a number) + # a dash + + my $cdaterx = $self->_iso8601_rx('cdate'); + my $tdaterx = $self->_iso8601_rx('tdate'); + my $ctimerx = $self->_iso8601_rx('ctime'); + my $ttimerx = $self->_iso8601_rx('ttime'); + + my $sep = qr/(?:T|\-|\s*)/i; + + my $daterx = qr/^\s*(?: $cdaterx(?:$sep(?:$ctimerx|$ttimerx))? | + $tdaterx | + $ctimerx | + $ttimerx + )\s*$/x; + + $$dmb{'data'}{'rx'}{'iso'}{'fulldate'} = $daterx; + } + + return $$dmb{'data'}{'rx'}{'iso'}{$rx}; +} + +sub _parse_datetime_iso8601 { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $daterx = $self->_iso8601_rx('fulldate'); + + my($y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off); + my($doy,$dow,$yod,$c,$w,$fh,$fm,$h24); + + if ($string =~ $daterx) { + ($y,$m,$d,$h,$mn,$s,$doy,$dow,$yod,$c,$w,$fh,$fm,$h24, + $tzstring,$zone,$abb,$off) = + @+{qw(y m d h mn s doy dow yod c w fh fm h24 tzstring zone abb off)}; + + if (defined $w || defined $dow) { + ($y,$m,$d) = $self->_def_date_dow($y,$w,$dow,$noupdate); + } elsif (defined $doy) { + ($y,$m,$d) = $self->_def_date_doy($y,$doy,$noupdate); + } else { + $y = $c . '00' if (defined $c); + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + } + + ($h,$mn,$s) = $self->_time($h,$mn,$s,$fh,$fm,$h24,undef,$noupdate); + } else { + return (0); + } + + return (1,$y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off); +} + +sub _parse_date_iso8601 { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $daterx = $self->_iso8601_rx('date'); + + my($y,$m,$d); + my($doy,$dow,$yod,$c,$w); + + if ($string =~ /^$daterx$/) { + ($y,$m,$d,$doy,$dow,$yod,$c,$w) = + @+{qw(y m d doy dow yod c w)}; + + if (defined $w || defined $dow) { + ($y,$m,$d) = $self->_def_date_dow($y,$w,$dow,$noupdate); + } elsif (defined $doy) { + ($y,$m,$d) = $self->_def_date_doy($y,$doy,$noupdate); + } else { + $y = $c . '00' if (defined $c); + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + } + } else { + return (0); + } + + return (1,$y,$m,$d); +} + +# Handle all of the time fields. +# +no integer; +sub _time { + my($self,$h,$mn,$s,$fh,$fm,$h24,$ampm,$noupdate) = @_; + + if (defined($ampm) && $ampm) { + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + if ($$dmb{'data'}{'wordmatch'}{'ampm'}{lc($ampm)} == 2) { + # pm times + $h+=12 unless ($h==12); + } else { + # am times + $h=0 if ($h==12); + } + } + + if (defined $h24) { + return(24,0,0); + } elsif (defined $fh && $fh ne "") { + $fh = "0.$fh"; + $s = int($fh * 3600); + $mn = int($s/60); + $s -= $mn*60; + } elsif (defined $fm && $fm ne "") { + $fm = "0.$fm"; + $s = int($fm*60); + } + ($h,$mn,$s) = $self->_def_time($h,$mn,$s,$noupdate); + return($h,$mn,$s); +} +use integer; + +# Set up the regular expressions for other date and time formats. Returns the +# requested regexp. +# +sub _other_rx { + my($self,$rx) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + $rx = '_' if (! defined $rx); + + if ($rx eq 'time') { + + my $h24 = '(?2[0-3]|1[0-9]|0?[0-9])'; # 0-23 00-23 + my $h12 = '(?1[0-2]|0?[1-9])'; # 1-12 01-12 + my $mn = '(?[0-5][0-9])'; # 00-59 + my $ss = '(?[0-5][0-9])'; # 00-59 + + # how to express fractions + + my($f1,$f2,$sepfr); + if (exists $$dmb{'data'}{'rx'}{'sepfr'} && + $$dmb{'data'}{'rx'}{'sepfr'}) { + $sepfr = $$dmb{'data'}{'rx'}{'sepfr'}; + } else { + $sepfr = ''; + } + + if ($sepfr) { + $f1 = "(?:[.,]|$sepfr)"; + $f2 = "(?:[.,:]|$sepfr)"; + } else { + $f1 = "[.,]"; + $f2 = "[.,:]"; + } + my $fh = "(?:$f1(?\\d*))"; # fractional hours (keep) + my $fm = "(?:$f1(?\\d*))"; # fractional minutes (keep) + my $fs = "(?:$f2\\d*)"; # fractional seconds + + # AM/PM + + my($ampm); + if (exists $$dmb{'data'}{'rx'}{'ampm'}) { + $ampm = "(?:\\s*(?$$dmb{data}{rx}{ampm}[0]))"; + } + + # H:MN and MN:S separators + + my @hm = ("\Q:\E"); + my @ms = ("\Q:\E"); + if ($dmb->_config('periodtimesep')) { + push(@hm,"\Q.\E"); + push(@ms,"\Q.\E"); + } + if (exists $$dmb{'data'}{'rx'}{'sephm'} && + defined $$dmb{'data'}{'rx'}{'sephm'} && + exists $$dmb{'data'}{'rx'}{'sepms'} && + defined $$dmb{'data'}{'rx'}{'sepms'}) { + push(@hm,@{ $$dmb{'data'}{'rx'}{'sephm'} }); + push(@ms,@{ $$dmb{'data'}{'rx'}{'sepms'} }); + } + + # How to express the time + # matches = (H, FH, MN, FMN, S, AM, TZSTRING, ZONE, ABB, OFF, ABB) + + my @timerx; + + for (my $i=0; $i<=$#hm; $i++) { + my $hm = $hm[$i]; + my $ms = $ms[$i]; + push(@timerx, + "${h12}$hm${mn}$ms${ss}${fs}?${ampm}?", # H12:MN:SS[,S+] [AM] + ) if ($ampm); + + push(@timerx, + "${h24}$hm${mn}$ms${ss}${fs}?", # H24:MN:SS[,S+] + "(?24)$hm(?00)$ms(?00)", # 24:00:00 + ); + } + for (my $i=0; $i<=$#hm; $i++) { + my $hm = $hm[$i]; + my $ms = $ms[$i]; + push(@timerx, + "${h12}$hm${mn}${fm}${ampm}?", # H12:MN,M+ [AM] + ) if ($ampm); + push(@timerx, + "${h24}$hm${mn}${fm}", # H24:MN,M+ + ); + } + for (my $i=0; $i<=$#hm; $i++) { + my $hm = $hm[$i]; + my $ms = $ms[$i]; + push(@timerx, + "${h12}$hm${mn}${ampm}?", # H12:MN [AM] + ) if ($ampm); + push(@timerx, + "${h24}$hm${mn}", # H24:MN + "(?24)$hm(?00)", # 24:00 + ); + } + + push(@timerx, + "${h12}${fh}${ampm}", # H12,H+ AM + "${h12}${ampm}", # H12 AM + ) if ($ampm); + push(@timerx, + "${h24}${fh}", # H24,H+ + ); + + my $timerx = join('|',@timerx); + my $zrx = $dmt->_zrx('zrx'); + my $at = $$dmb{'data'}{'rx'}{'at'}; + my $atrx = qr/(?:^|\s+)(?:$at)\s+/; + $timerx = qr/(?:$atrx|^|\s+)(?:$timerx)(?:\s*$zrx)?(?:\s+|$)/i; + + $$dmb{'data'}{'rx'}{'other'}{$rx} = $timerx; + + } elsif ($rx eq 'common_1') { + + # These are of the format M/D/Y + + # Do NOT replace and with a regular expression to + # match 1-12 since the DateFormat config may reverse the two. + my $y4 = '(?\d\d\d\d)'; + my $y2 = '(?\d\d)'; + my $m = '(?\d\d?)'; + my $d = '(?\d\d?)'; + my $sep = '(?[\s\.\/\-])'; + + my @daterx = + ( + "${m}${sep}${d}\\k$y4", # M/D/YYYY + "${m}${sep}${d}\\k$y2", # M/D/YY + "${m}${sep}${d}", # M/D + ); + my $daterx = join('|',@daterx); + + $daterx = qr/^\s*(?:$daterx)\s*$/; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $daterx; + + } elsif ($rx eq 'common_2') { + + my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0]; + my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0]; + + my $y4 = '(?\d\d\d\d)'; + my $y2 = '(?\d\d)'; + my $m = '(?\d\d?)'; + my $d = '(?\d\d?)'; + my $dd = '(?\d\d)'; + my $mmm = "(?:(?$abb)|(?$nam))"; + my $sep = '(?[\s\.\/\-])'; + + my $format_mmmyyyy = $dmb->_config('format_mmmyyyy'); + + my @daterx = (); + push(@daterx, + "${y4}${sep}${m}\\k$d", # YYYY/M/D + "${mmm}\\s*${dd}\\s*${y4}", # mmmDDYYYY + ); + push(@daterx, + "${mmm}\\s*${dd}\\s*${y2}", # mmmDDYY + ) if (! $format_mmmyyyy); + push(@daterx, + "${mmm}\\s*${d}", # mmmD + "${d}\\s*${mmm}\\s*${y4}", # DmmmYYYY + "${d}\\s*${mmm}\\s*${y2}", # DmmmYY + "${d}\\s*${mmm}", # Dmmm + "${y4}\\s*${mmm}\\s*${d}", # YYYYmmmD + + "${mmm}${sep}${d}\\k${y4}", # mmm/D/YYYY + "${mmm}${sep}${d}\\k${y2}", # mmm/D/YY + "${mmm}${sep}${d}", # mmm/D + "${d}${sep}${mmm}\\k${y4}", # D/mmm/YYYY + "${d}${sep}${mmm}\\k${y2}", # D/mmm/YY + "${d}${sep}${mmm}", # D/mmm + "${y4}${sep}${mmm}\\k${d}", # YYYY/mmm/D + + "${mmm}${sep}?${d}\\s+${y2}", # mmmD YY mmm/D YY + "${mmm}${sep}?${d}\\s+${y4}", # mmmD YYYY mmm/D YYYY + "${d}${sep}?${mmm}\\s+${y2}", # Dmmm YY D/mmm YY + "${d}${sep}?${mmm}\\s+${y4}", # Dmmm YYYY D/mmm YYYY + + "${y2}\\s+${mmm}${sep}?${d}", # YY mmmD YY mmm/D + "${y4}\\s+${mmm}${sep}?${d}", # YYYY mmmD YYYY mmm/D + "${y2}\\s+${d}${sep}?${mmm}", # YY Dmmm YY D/mmm + "${y4}\\s+${d}${sep}?${mmm}", # YYYY Dmmm YYYY D/mmm + + "${y4}:${m}:${d}", # YYYY:MM:DD + ); + my $daterx = join('|',@daterx); + + $daterx = qr/^\s*(?:$daterx)\s*$/i; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $daterx; + + } elsif ($rx eq 'truncated') { + + my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0]; + my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0]; + + my $y4 = '(?\d\d\d\d)'; + my $mmm = "(?:(?$abb)|(?$nam))"; + my $sep = '(?[\s\.\/\-])'; + + my $format_mmmyyyy = $dmb->_config('format_mmmyyyy'); + + my @daterx = (); + push(@daterx, + "${mmm}\\s*${y4}", # mmmYYYY + "${y4}\\s*${mmm}", # YYYYmmm + + "${y4}${sep}${mmm}", # YYYY/mmm + "${mmm}${sep}${y4}", # mmm/YYYY + ) if ($format_mmmyyyy); + + if (@daterx) { + my $daterx = join('|',@daterx); + $daterx = qr/^\s*(?:$daterx)\s*$/i; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $daterx; + } else { + $$dmb{'data'}{'rx'}{'other'}{$rx} = ''; + } + + } elsif ($rx eq 'dow') { + + my $day_abb = $$dmb{'data'}{'rx'}{'day_abb'}[0]; + my $day_name = $$dmb{'data'}{'rx'}{'day_name'}[0]; + + my $on = $$dmb{'data'}{'rx'}{'on'}; + my $onrx = qr/(?:^|\s+)(?:$on)\s+/; + my $dowrx = qr/(?:$onrx|^|\s+)(?$day_name|$day_abb)($|\s+)/i; + + $$dmb{'data'}{'rx'}{'other'}{$rx} = $dowrx; + + } elsif ($rx eq 'ignore') { + + my $of = $$dmb{'data'}{'rx'}{'of'}; + + my $ignrx = qr/(?:^|\s+)(?$of)(\s+|$)/; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $ignrx; + + } elsif ($rx eq 'miscdatetime') { + + my $special = $$dmb{'data'}{'rx'}{'offset_time'}[0]; + + $special = "(?$special)"; + my $secs = "(?[-+]?\\d+)"; + my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0]; + my $mmm = "(?$abb)"; + my $y4 = '(?\d\d\d\d)'; + my $dd = '(?\d\d)'; + my $h24 = '(?2[0-3]|[01][0-9])'; # 00-23 + my $mn = '(?[0-5][0-9])'; # 00-59 + my $ss = '(?[0-5][0-9])'; # 00-59 + my $offrx = $dmt->_zrx('offrx'); + my $zrx = $dmt->_zrx('zrx'); + + my @daterx = + ( + "${special}", # now + "${special}\\s+${zrx}", # now EDT + + "epoch\\s+$secs", # epoch SECS + "epoch\\s+$secs\\s+${zrx}", # epoch SECS EDT + + "${dd}\\/${mmm}\\/${y4}:${h24}:${mn}:${ss}\\s*${offrx}", + # Common log format: 10/Oct/2000:13:55:36 -0700 + ); + my $daterx = join('|',@daterx); + + $daterx = qr/^\s*(?:$daterx)\s*$/i; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $daterx; + + } elsif ($rx eq 'misc') { + + my $abb = $$dmb{'data'}{'rx'}{'month_abb'}[0]; + my $nam = $$dmb{'data'}{'rx'}{'month_name'}[0]; + my $next = $$dmb{'data'}{'rx'}{'nextprev'}[0]; + my $last = $$dmb{'data'}{'rx'}{'last'}; + my $yf = $$dmb{data}{rx}{fields}[1]; + my $mf = $$dmb{data}{rx}{fields}[2]; + my $wf = $$dmb{data}{rx}{fields}[3]; + my $df = $$dmb{data}{rx}{fields}[4]; + my $nth = $$dmb{'data'}{'rx'}{'nth'}[0]; + my $nth_wom = $$dmb{'data'}{'rx'}{'nth_wom'}[0]; + my $special = $$dmb{'data'}{'rx'}{'offset_date'}[0]; + + my $y = '(?:(?\d\d\d\d)|(?\d\d))'; + my $mmm = "(?:(?$abb)|(?$nam))"; + $next = "(?$next)"; + $last = "(?$last)"; + $yf = "(?$yf)"; + $mf = "(?$mf)"; + $wf = "(?$wf)"; + $df = "(?$df)"; + my $fld = "(?:$yf|$mf|$wf)"; + $nth = "(?$nth)"; + $nth_wom = "(?$nth_wom)"; + $special = "(?$special)"; + + my @daterx = + ( + "${mmm}\\s+${nth}\\s*$y?", # Dec 1st [1970] + "${nth}\\s+${mmm}\\s*$y?", # 1st Dec [1970] + "$y\\s+${mmm}\\s+${nth}", # 1970 Dec 1st + "$y\\s+${nth}\\s+${mmm}", # 1970 1st Dec + + "${next}\\s+${fld}", # next year, next month, next week + "${next}", # next friday + + "${last}\\s+${mmm}\\s*$y?", # last friday in october 95 + "${last}\\s+${df}\\s+${mmm}\\s*$y?", + # last day in october 95 + "${last}\\s*$y?", # last friday in 95 + + "${nth_wom}\\s+${mmm}\\s*$y?", # nth DoW in MMM [YYYY] + "${nth}\\s*$y?", # nth DoW in [YYYY] + + "${nth}\\s+$df\\s+${mmm}\\s*$y?", + # nth day in MMM [YYYY] + + "${nth}\\s+${wf}\\s*$y?", # DoW Nth week [YYYY] + "${wf}\\s+(?\\d+)\\s*$y?", # DoW week N [YYYY] + + "${special}", # today, tomorrow + "${special}\\s+${wf}", # today week + # British: same as 1 week from today + + "${nth}", # nth + + "${wf}", # monday week + # British: same as 'in 1 week on monday' + ); + my $daterx = join('|',@daterx); + + $daterx = qr/^\s*(?:$daterx)\s*$/i; + $$dmb{'data'}{'rx'}{'other'}{$rx} = $daterx; + + } + + return $$dmb{'data'}{'rx'}{'other'}{$rx}; +} + +sub _parse_time { + my($self,$caller,$string,$noupdate,%opts) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my($timerx,$h,$mn,$s,$fh,$fm,$h24,$ampm,$tzstring,$zone,$abb,$off); + my $got_time = 0; + + # Check for ISO 8601 time + # + # This is only called via. parse_time (parse_date uses a regexp + # that matches a full ISO 8601 date/time instead of parsing them + # separately. Since some ISO 8601 times are a substring of non-ISO + # 8601 times (i.e. 12:30 is a substring of '12:30 PM'), we need to + # match entire strings here. + + if ($caller eq 'parse_time') { + $timerx = (exists $$dmb{'data'}{'rx'}{'iso'}{'time'} ? + $$dmb{'data'}{'rx'}{'iso'}{'time'} : + $self->_iso8601_rx('time')); + + if (! exists $opts{'noiso8601'}) { + if ($string =~ s/^\s*$timerx\s*$//) { + ($h,$fh,$mn,$fm,$s,$ampm,$tzstring,$zone,$abb,$off) = + @+{qw(h fh mn fm s ampm tzstring zone abb off)}; + + ($h,$mn,$s) = $self->_def_time($h,$mn,$s,$noupdate); + $h24 = 1 if ($h == 24 && $mn == 0 && $s == 0); + $string =~ s/\s*$//; + $got_time = 1; + } + } + } + + # Make time substitutions (i.e. noon => 12:00:00) + + if (! $got_time && + ! exists $opts{'noother'}) { + my @rx = @{ $$dmb{'data'}{'rx'}{'times'} }; + shift(@rx); + foreach my $rx (@rx) { + if ($string =~ $rx) { + my $repl = $$dmb{'data'}{'wordmatch'}{'times'}{lc($1)}; + $string =~ s/$rx/$repl/g; + } + } + } + + # Check to see if there is a time in the string + + if (! $got_time) { + $timerx = (exists $$dmb{'data'}{'rx'}{'other'}{'time'} ? + $$dmb{'data'}{'rx'}{'other'}{'time'} : + $self->_other_rx('time')); + + if ($string =~ s/$timerx/ /) { + ($h,$fh,$mn,$fm,$s,$ampm,$tzstring,$zone,$abb,$off) = + @+{qw(h fh mn fm s ampm tzstring zone abb off)}; + + ($h,$mn,$s) = $self->_def_time($h,$mn,$s,$noupdate); + $h24 = 1 if ($h == 24 && $mn == 0 && $s == 0); + $string =~ s/\s*$//; + $got_time = 1; + } + } + + # If we called this from $date->parse() + # returns the string and a list of time components + + if ($caller eq 'parse') { + if ($got_time) { + ($h,$mn,$s) = $self->_time($h,$mn,$s,$fh,$fm,$h24,$ampm,$noupdate); + return ($got_time,$string,$h,$mn,$s,$tzstring,$zone,$abb,$off); + } else { + return (0); + } + } + + # If we called this from $date->parse_time() + + if (! $got_time || $string) { + $$self{'err'} = "[$caller] Invalid time string"; + return (); + } + + ($h,$mn,$s) = $self->_time($h,$mn,$s,$fh,$fm,$h24,$ampm,$noupdate); + return ($h,$mn,$s,$tzstring,$zone,$abb,$off); +} + +# Parse common dates +sub _parse_date_common { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Since we want whitespace to be used as a separator, turn all + # whitespace into single spaces. This is necessary since the + # regexps do backreferences to make sure that separators are + # not mixed. + $string =~ s/\s+/ /g; + + my $daterx = (exists $$dmb{'data'}{'rx'}{'other'}{'common_1'} ? + $$dmb{'data'}{'rx'}{'other'}{'common_1'} : + $self->_other_rx('common_1')); + + if ($string =~ $daterx) { + my($y,$m,$d) = @+{qw(y m d)}; + + if ($dmb->_config('dateformat') ne 'US') { + ($m,$d) = ($d,$m); + } + + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + return($y,$m,$d); + } + + $daterx = (exists $$dmb{'data'}{'rx'}{'other'}{'common_2'} ? + $$dmb{'data'}{'rx'}{'other'}{'common_2'} : + $self->_other_rx('common_2')); + + if ($string =~ $daterx) { + my($y,$m,$d,$mmm,$month) = @+{qw(y m d mmm month)}; + + if ($mmm) { + $m = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mmm)}; + } elsif ($month) { + $m = $$dmb{'data'}{'wordmatch'}{'month_name'}{lc($month)}; + } + + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + return($y,$m,$d); + } + + return (); +} + +# Parse truncated dates +sub _parse_date_truncated { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my $daterx = (exists $$dmb{'data'}{'rx'}{'other'}{'truncated'} ? + $$dmb{'data'}{'rx'}{'other'}{'truncated'} : + $self->_other_rx('truncated')); + + return () if (! $daterx); + + # Since we want whitespace to be used as a separator, turn all + # whitespace into single spaces. This is necessary since the + # regexps do backreferences to make sure that separators are + # not mixed. + $string =~ s/\s+/ /g; + + if ($string =~ $daterx) { + my($y,$mmm,$month) = @+{qw(y mmm month)}; + + my ($m,$d); + if ($mmm) { + $m = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mmm)}; + } elsif ($month) { + $m = $$dmb{'data'}{'wordmatch'}{'month_name'}{lc($month)}; + } + + # Handle all of the mmmYYYY formats + + if ($y && $m) { + + my $format_mmmyyyy = $dmb->_config('format_mmmyyyy'); + if ($format_mmmyyyy eq 'first') { + $d=1; + $$self{'data'}{'default_time'} = [0,0,0]; + } else { + $d=$dmb->days_in_month($y,$m); + $$self{'data'}{'default_time'} = [23,59,59]; + } + + $$self{'data'}{'def'}[0] = ''; + $$self{'data'}{'def'}[1] = ''; + $$self{'data'}{'def'}[2] = 1; + return($y,$m,$d); + } + } + + return (); +} + +sub _parse_tz { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my($tzstring,$zone,$abb,$off); + + my $rx = $dmt->_zrx('zrx'); + if ($string =~ s/(?:^|\s)$rx(?:$|\s)/ /) { + ($tzstring,$zone,$abb,$off) = @+{qw(tzstring zone abb off)}; + return($string,$tzstring,$zone,$abb,$off); + } + return($string); +} + +sub _parse_dow { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d,$dow); + + # Remove the day of week + + my $rx = (exists $$dmb{'data'}{'rx'}{'other'}{'dow'} ? + $$dmb{'data'}{'rx'}{'other'}{'dow'} : + $self->_other_rx('dow')); + if ($string =~ s/$rx/ /) { + $dow = $+{'dow'}; + $dow = lc($dow); + + $dow = $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow} + if (exists $$dmb{'data'}{'wordmatch'}{'day_abb'}{$dow}); + $dow = $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow} + if (exists $$dmb{'data'}{'wordmatch'}{'day_name'}{$dow}); + } else { + return (0); + } + + $string =~ s/\s*$//; + $string =~ s/^\s*//; + + return (0,$string,$dow) if ($string); + + # Handle the simple DoW format + + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + + my($w,$dow1); + + ($y,$w) = $dmb->week_of_year([$y,$m,$d]); # week of year + ($y,$m,$d) = @{ $dmb->week_of_year($y,$w) }; # first day + $dow1 = $dmb->day_of_week([$y,$m,$d]); # DoW of first day + $dow1 -= 7 if ($dow1 > $dow); + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],$dow-$dow1) }; + + return(1,$y,$m,$d); +} + +sub _parse_holidays { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d); + + if (! exists $$dmb{'data'}{'rx'}{'holidays'}) { + return (0); + } + + $string =~ s/\s*$//; + $string =~ s/^\s*//; + + my $rx = $$dmb{'data'}{'rx'}{'holidays'}; + if ($string =~ $rx) { + my $hol; + ($y,$hol) = @+{qw(y holiday)}; + $y = $dmt->_now('y',$noupdate) if (! $y); + $y += 0; + + $self->_holidays($y-1); + $self->_holidays($y); + $self->_holidays($y+1); + return (0) if (! exists $$dmb{'data'}{'holidays'}{'yhols'}{$y+0}{$hol}); + my ($y,$m,$d) = @{ $$dmb{'data'}{'holidays'}{'yhols'}{$y+0}{$hol} }; + return(1,$y,$m,$d); + } + + return (0); +} + +no integer; +sub _parse_delta { + my($self,$string,$dow,$got_time,$h,$mn,$s,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d); + + my $delta = $self->new_delta(); + my $err = $delta->parse($string); + my $tz = $dmt->_now('tz'); + my $isdst = $dmt->_now('isdst'); + + if (! $err) { + my($dy,$dm,$dw,$dd,$dh,$dmn,$ds) = @{ $$delta{'data'}{'delta'} }; + + # We can't handle a delta longer than 10000 years + if (abs($dy) > 10000 || + abs($dm) > 12000 || # 10000*12 + abs($dw) > 53000 || # 10000*53 + abs($dh) > 87840000 || # 10000*366*24 + abs($dmn) > 5270400000 || # 10000*366*24*60 + abs($ds) > 316224000000) { # 10000*366*24*60*60 + $$self{'err'} = '[parse] Delta too large'; + return (1); + } + + if ($got_time && + ($dh != 0 || $dmn != 0 || $ds != 0)) { + $$self{'err'} = '[parse] Two times entered or implied'; + return (1); + } + + if ($got_time) { + ($y,$m,$d) = $self->_def_date($y,$m,$d,$noupdate); + } else { + ($y,$m,$d,$h,$mn,$s) = $dmt->_now('now',$$noupdate); + $$noupdate = 1; + } + + my $business = $$delta{'data'}{'business'}; + + my($date2,$offset,$abbrev); + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta([$y,$m,$d,$h,$mn,$s], + [$dy,$dm,$dw,$dd,$dh,$dmn,$ds], + 0,$business,$tz,$isdst); + ($y,$m,$d,$h,$mn,$s) = @$date2; + + if ($dow) { + if ($dd != 0 || $dh != 0 || $dmn != 0 || $ds != 0) { + $$self{'err'} = '[parse] Day of week not allowed'; + return (1); + } + + my($w,$dow1); + + ($y,$w) = $dmb->week_of_year([$y,$m,$d]); # week of year + ($y,$m,$d) = @{ $dmb->week_of_year($y,$w) }; # first day + $dow1 = $dmb->day_of_week([$y,$m,$d]); # DoW of first day + $dow1 -= 7 if ($dow1 > $dow); + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],$dow-$dow1) }; + } + + return (1,$y,$m,$d,$h,$mn,$s); + } + + return (0); +} +use integer; + +sub _parse_datetime_other { + my($self,$string,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my $rx = (exists $$dmb{'data'}{'rx'}{'other'}{'miscdatetime'} ? + $$dmb{'data'}{'rx'}{'other'}{'miscdatetime'} : + $self->_other_rx('miscdatetime')); + + if ($string =~ $rx) { + my ($special,$epoch,$y,$mmm,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off) = + @+{qw(special epoch y mmm d h mn s tzstring zone abb off)}; + + if (defined($special)) { + my $delta = $$dmb{'data'}{'wordmatch'}{'offset_time'}{lc($special)}; + my @delta = @{ $dmb->split('delta',$delta) }; + my @date = $dmt->_now('now',$$noupdate); + my $tz = $dmt->_now('tz'); + my $isdst = $dmt->_now('isdst'); + $$noupdate = 1; + + my($err,$date2,$offset,$abbrev); + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta([@date],[@delta],0,0,$tz,$isdst); + + if ($tzstring) { + + $date2 = [] if (! defined $date2); + my $offset = (defined $off ? $dmb->_delta_convert('offset',$off) : ''); + $zone = (defined $zone ? lc($zone) : ''); + my $abbrev = (defined $abb ? lc($abb) : ''); + + # In some cases, a valid abbreviation is also a valid timezone + my $tmp = $dmt->__zone($date2,$offset,$zone,$abbrev,''); + if (! $tmp && $abbrev && ! $zone) { + $abbrev = $dmt->_zone($abbrev); + $tmp = $dmt->__zone($date2,$offset,$abbrev,'','') if ($abbrev); + } + $zone = $tmp; + + return (0) if (! $zone); + + my(@tmp) = $dmt->_convert('_parse_datetime_other',$date2,$tz,$zone); + $date2 = $tmp[1]; + } + + @date = @$date2; + + return (1,@date,$tzstring,$zone,$abb,$off); + + } elsif (defined($epoch)) { + my $date = [1970,1,1,0,0,0]; + my @delta = (0,0,$epoch); + $date = $dmb->calc_date_time($date,\@delta); + my($err); + if ($tzstring) { + + my $offset = (defined $off ? $dmb->_delta_convert('offset',$off) : ''); + $zone = (defined $zone ? lc($zone) : ''); + my $abbrev = (defined $abb ? lc($abb) : ''); + + # In some cases, a valid abbreviation is also a valid timezone + my $tmp = $dmt->__zone($date,$offset,$zone,$abbrev,''); + if (! $tmp && $abbrev && ! $zone) { + $abbrev = $dmt->_zone($abbrev); + $tmp = $dmt->__zone($date,$offset,$abbrev,'','') if ($abbrev); + } + $zone = $tmp; + + return (0) if (! $zone); + + ($err,$date) = $dmt->convert_from_gmt($date,$zone); + } else { + ($err,$date) = $dmt->convert_from_gmt($date); + } + return (1,@$date,$tzstring,$zone,$abb,$off); + + } elsif (defined($y)) { + my $m = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mmm)}; + return (1,$y,$m,$d,$h,$mn,$s,$tzstring,$zone,$abb,$off); + } + } + + return (0); +} + +sub _parse_date_other { + my($self,$string,$dow,$of,$noupdate) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d,$h,$mn,$s); + + my $rx = (exists $$dmb{'data'}{'rx'}{'other'}{'misc'} ? + $$dmb{'data'}{'rx'}{'other'}{'misc'} : + $self->_other_rx('misc')); + + my($mmm,$month,$nextprev,$last,$field_y,$field_m,$field_w,$field_d,$nth); + my($special,$got_m,$n,$got_y); + + if ($string =~ $rx) { + ($y,$mmm,$month,$nextprev,$last,$field_y,$field_m,$field_w,$field_d,$nth, + $special,$n) = + @+{qw(y mmm month next last field_y field_m field_w field_d + nth special n)}; + + if (defined($y)) { + $y = $dmt->_fix_year($y); + $got_y = 1; + return () if (! $y); + } else { + $y = $dmt->_now('y',$$noupdate); + $$noupdate = 1; + $got_y = 0; + $$self{'data'}{'def'}[0] = ''; + } + + if (defined($mmm)) { + $m = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mmm)}; + $got_m = 1; + } elsif ($month) { + $m = $$dmb{'data'}{'wordmatch'}{'month_name'}{lc($month)}; + $got_m = 1; + } + + if ($nth) { + $nth = $$dmb{'data'}{'wordmatch'}{'nth'}{lc($nth)}; + } + + if ($got_m && $nth && ! $dow) { + # Dec 1st 1970 + # 1st Dec 1970 + # 1970 Dec 1st + # 1970 1st Dec + + $d = $nth; + + } elsif ($nextprev) { + + my $next = 0; + my $sign = -1; + if ($$dmb{'data'}{'wordmatch'}{'nextprev'}{lc($nextprev)} == 1) { + $next = 1; + $sign = 1; + } + + if ($field_y || $field_m || $field_w) { + # next/prev year/month/week + + my(@delta); + if ($field_y) { + @delta = ($sign*1,0,0,0,0,0,0); + } elsif ($field_m) { + @delta = (0,$sign*1,0,0,0,0,0); + } else { + @delta = (0,0,$sign*1,0,0,0,0); + } + + my @now = $dmt->_now('now',$$noupdate); + my $tz = $dmt->_now('tz'); + my $isdst = $dmt->_now('isdst'); + $$noupdate = 1; + + my($err,$offset,$abbrev,$date2); + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta([@now],[@delta],0,0,$tz,$isdst); + ($y,$m,$d,$h,$mn,$s) = @$date2; + + } elsif ($dow) { + # next/prev friday + + my @now = $dmt->_now('now',$$noupdate); + $$noupdate = 1; + ($y,$m,$d,$h,$mn,$s) = @{ $self->__next_prev(\@now,$next,$dow,0) }; + $dow = 0; + + } else { + return (); + } + + } elsif ($last) { + + if ($field_d && $got_m) { + # last day in october 95 + + $d = $dmb->days_in_month($y,$m); + + } elsif ($dow && $got_m) { + # last friday in october 95 + + $d = $dmb->days_in_month($y,$m); + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__next_prev([$y,$m,$d,0,0,0],0,$dow,1) }; + $dow = 0; + + } elsif ($dow) { + # last friday in 95 + + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__next_prev([$y,12,31,0,0,0],0,$dow,0) }; + + } else { + return (); + } + + } elsif ($nth && $dow && ! $field_w) { + + if ($got_m) { + if ($of) { + # nth DoW of MMM [YYYY] + return () if ($nth > 5); + + $d = 1; + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__next_prev([$y,$m,1,0,0,0],1,$dow,1) }; + my $m2 = $m; + ($y,$m2,$d) = @{ $dmb->calc_date_days([$y,$m,$d],7*($nth-1)) } + if ($nth > 1); + return () if (! $m2 || $m2 != $m); + + } else { + # DoW, nth MMM [YYYY] (i.e. Sunday, 9th Dec 2008) + $d = $nth; + } + + } else { + # nth DoW [in YYYY] + + ($y,$m,$d,$h,$mn,$s) = @{ $self->__next_prev([$y,1,1,0,0,0],1,$dow,1) }; + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],7*($nth-1)) } + if ($nth > 1); + } + + } elsif ($field_w && $dow) { + + if (defined($n) || $nth) { + # sunday week 22 in 1996 + # sunday 22nd week in 1996 + + $n = $nth if ($nth); + return () if (! $n); + ($y,$m,$d) = @{ $dmb->week_of_year($y,$n) }; + ($y,$m,$d) = @{ $self->__next_prev([$y,$m,$d,0,0,0],1,$dow,1) }; + + } else { + # DoW week + + ($y,$m,$d) = $dmt->_now('now',$$noupdate); + $$noupdate = 1; + my $tmp = $dmb->_config('firstday'); + ($y,$m,$d) = @{ $self->__next_prev([$y,$m,$d,0,0,0],1,$tmp,0) }; + ($y,$m,$d) = @{ $self->__next_prev([$y,$m,$d,0,0,0],1,$dow,1) }; + } + + } elsif ($nth && ! $got_y) { + # 'in one week' makes it here too so return nothing in that case so it + # drops through to the deltas. + return () if ($field_d || $field_w || $field_m || $field_y); + ($y,$m,$d) = $dmt->_now('now',$$noupdate); + $$noupdate = 1; + $d = $nth; + + } elsif ($special) { + + my $delta = $$dmb{'data'}{'wordmatch'}{'offset_date'}{lc($special)}; + my @delta = @{ $dmb->split('delta',$delta) }; + ($y,$m,$d) = $dmt->_now('now',$$noupdate); + my $tz = $dmt->_now('tz'); + my $isdst = $dmt->_now('isdst'); + $$noupdate = 1; + my($err,$offset,$abbrev,$date2); + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta([$y,$m,$d,0,0,0],[@delta],0,0,$tz,$isdst); + ($y,$m,$d) = @$date2; + + if ($field_w) { + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],7) }; + } + } + + } else { + return (); + } + + return($y,$m,$d,$dow); +} + +# Supply defaults for missing values (Y/M/D) +sub _def_date { + my($self,$y,$m,$d,$noupdate) = @_; + $y = '' if (! defined $y); + $m = '' if (! defined $m); + $d = '' if (! defined $d); + my $defined = 0; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # If year was not specified, defaults to current year. + # + # We'll also fix the year (turn 2-digit into 4-digit). + + if ($y eq '') { + $y = $dmt->_now('y',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[0] = ''; + } else { + $y = $dmt->_fix_year($y); + $defined = 1; + } + + # If the month was not specifed, but the year was, a default of + # 01 is supplied (this is a truncated date). + # + # If neither was specified, month defaults to the current month. + + if ($m ne '') { + $defined = 1; + } elsif ($defined) { + $m = 1; + $$self{'data'}{'def'}[1] = 1; + } else { + $m = $dmt->_now('m',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[1] = ''; + } + + # If the day was not specified, but the year or month was, a default + # of 01 is supplied (this is a truncated date). + # + # If none were specified, it default to the current day. + + if ($d ne '') { + $defined = 1; + } elsif ($defined) { + $d = 1; + $$self{'data'}{'def'}[2] = 1; + } else { + $d = $dmt->_now('d',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[2] = ''; + } + + return($y,$m,$d); +} + +# Supply defaults for missing values (Y/DoY) +sub _def_date_doy { + my($self,$y,$doy,$noupdate) = @_; + $y = '' if (! defined $y); + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # If year was not specified, defaults to current year. + # + # We'll also fix the year (turn 2-digit into 4-digit). + + if ($y eq '') { + $y = $dmt->_now('y',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[0] = ''; + } else { + $y = $dmt->_fix_year($y); + } + + # DoY must be specified. + + my($m,$d); + my $ymd = $dmb->day_of_year($y,$doy); + + return @$ymd; +} + +# Supply defaults for missing values (YY/Www/D) and (Y/Www/D) +sub _def_date_dow { + my($self,$y,$w,$dow,$noupdate) = @_; + $y = '' if (! defined $y); + $w = '' if (! defined $w); + $dow = '' if (! defined $dow); + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # If year was not specified, defaults to current year. + # + # If it was specified and is a single digit, it is the + # year in the current decade. + # + # We'll also fix the year (turn 2-digit into 4-digit). + + if ($y ne '') { + if (length($y) == 1) { + my $tmp = $dmt->_now('y',$$noupdate); + $tmp =~ s/.$/$y/; + $y = $tmp; + $$noupdate = 1; + + } else { + $y = $dmt->_fix_year($y); + + } + + } else { + $y = $dmt->_now('y',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[0] = ''; + } + + # If week was not specified, it defaults to the current + # week. Get the first day of the week. + + my($m,$d); + if ($w ne '') { + ($y,$m,$d) = @{ $dmb->week_of_year($y,$w) }; + } else { + my($nowy,$nowm,$nowd) = $dmt->_now('now',$$noupdate); + $$noupdate = 1; + my $noww; + ($nowy,$noww) = $dmb->week_of_year([$nowy,$nowm,$nowd]); + ($y,$m,$d) = @{ $dmb->week_of_year($nowy,$noww) }; + } + + # Handle the DoW + + if ($dow eq '') { + $dow = 1; + } + my $n = $dmb->days_in_month($y,$m); + $d += ($dow-1); + if ($d > $n) { + $m++; + if ($m==13) { + $y++; + $m = 1; + } + $d = $d-$n; + } + + return($y,$m,$d); +} + +# Supply defaults for missing values (HH:MN:SS) +sub _def_time { + my($self,$h,$m,$s,$noupdate) = @_; + $h = '' if (! defined $h); + $m = '' if (! defined $m); + $s = '' if (! defined $s); + my $defined = 0; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # If no time was specified, defaults to 00:00:00. + + if ($h eq '' && + $m eq '' && + $s eq '') { + $$self{'data'}{'def'}[3] = 1; + $$self{'data'}{'def'}[4] = 1; + $$self{'data'}{'def'}[5] = 1; + return(0,0,0); + } + + # If hour was not specified, defaults to current hour. + + if ($h ne '') { + $defined = 1; + } else { + $h = $dmt->_now('h',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[3] = ''; + } + + # If the minute was not specifed, but the hour was, a default of + # 00 is supplied (this is a truncated time). + # + # If neither was specified, minute defaults to the current minute. + + if ($m ne '') { + $defined = 1; + } elsif ($defined) { + $m = 0; + $$self{'data'}{'def'}[4] = 1; + } else { + $m = $dmt->_now('mn',$$noupdate); + $$noupdate = 1; + $$self{'data'}{'def'}[4] = ''; + } + + # If the second was not specified (either the hour or the minute were), + # a default of 00 is supplied (this is a truncated time). + + if ($s eq '') { + $s = 0; + $$self{'data'}{'def'}[5] = 1; + } + + return($h,$m,$s); +} + +######################################################################## +# OTHER DATE METHODS +######################################################################## + +# Gets the date in the parsed timezone (if $type = ''), local timezone +# (if $type = 'local') or GMT timezone (if $type = 'gmt'). +# +# Gets the string value in scalar context, the split value in list +# context. +# +sub value { + my($self,$type) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $date; + + while (1) { + if (! $$self{'data'}{'set'}) { + $$self{'err'} = '[value] Object does not contain a date'; + last; + } + + $type = '' if (! $type); + + if ($type eq 'gmt') { + + if (! @{ $$self{'data'}{'gmt'} }) { + my $zone = $$self{'data'}{'tz'}; + my $date = $$self{'data'}{'date'}; + + if ($zone eq 'Etc/GMT') { + $$self{'data'}{'gmt'} = $date; + + } else { + my $isdst = $$self{'data'}{'isdst'}; + my($err,$d) = $dmt->convert_to_gmt($date,$zone,$isdst); + if ($err) { + $$self{'err'} = '[value] Unable to convert date to GMT'; + last; + } + $$self{'data'}{'gmt'} = $d; + } + } + $date = $$self{'data'}{'gmt'}; + + } elsif ($type eq 'local') { + + if (! @{ $$self{'data'}{'loc'} }) { + my $zone = $$self{'data'}{'tz'}; + $date = $$self{'data'}{'date'}; + my $local = $dmt->_now('tz',1); + + if ($zone eq $local) { + $$self{'data'}{'loc'} = $date; + + } else { + my $isdst = $$self{'data'}{'isdst'}; + my($err,$d) = $dmt->convert_to_local($date,$zone,$isdst); + if ($err) { + $$self{'err'} = '[value] Unable to convert date to localtime'; + last; + } + $$self{'data'}{'loc'} = $d; + } + } + $date = $$self{'data'}{'loc'}; + + } else { + + $date = $$self{'data'}{'date'}; + + } + + last; + } + + if ($$self{'err'}) { + if (wantarray) { + return (); + } else { + return ''; + } + } + + if (wantarray) { + return @$date; + } else { + return $dmb->join('date',$date); + } +} + +sub cmp { + my($self,$date) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [cmp] Arguments must be valid dates: date1\n"; + return undef; + } + + if (! ref($date) eq 'Date::Manip::Date') { + warn "WARNING: [cmp] Argument must be a Date::Manip::Date object\n"; + return undef; + } + if ($$date{'err'} || ! $$date{'data'}{'set'}) { + warn "WARNING: [cmp] Arguments must be valid dates: date2\n"; + return undef; + } + + my($d1,$d2); + if ($$self{'data'}{'tz'} eq $$date{'data'}{'tz'}) { + $d1 = $self->value(); + $d2 = $date->value(); + } else { + $d1 = $self->value('gmt'); + $d2 = $date->value('gmt'); + } + + return ($d1 cmp $d2); +} + +BEGIN { + my %field = qw(y 0 m 1 d 2 h 3 mn 4 s 5); + + sub set { + my($self,$field,@val) = @_; + $field = lc($field); + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Make sure $self includes a valid date (unless the entire date is + # being set, in which case it doesn't matter). + + my $date = []; + my(@def,$tz,$isdst); + + if ($field eq 'zdate') { + # If {data}{set} = 2, we want to preserve the defaults. Also, we've + # already initialized. + # + # It is only set in the parse routines which means that this was + # called via _parse_check. + + $self->_init() if ($$self{'data'}{'set'} != 2); + @def = @{ $$self{'data'}{'def'} }; + + } elsif ($field eq 'date') { + if ($$self{'data'}{'set'} && ! $$self{'err'}) { + $tz = $$self{'data'}{'tz'}; + } else { + $tz = $dmt->_now('tz',1); + } + $self->_init(); + @def = @{ $$self{'data'}{'def'} }; + + } else { + return 1 if ($$self{'err'} || ! $$self{'data'}{'set'}); + $date = $$self{'data'}{'date'}; + $tz = $$self{'data'}{'tz'}; + $isdst = $$self{'data'}{'isdst'}; + @def = @{ $$self{'data'}{'def'} }; + $self->_init(); + } + + # Check the arguments + + my($err,$new_tz,$new_date,$new_time); + + if ($field eq 'date') { + + if ($#val == 0) { + # date,DATE + $new_date = $val[0]; + } elsif ($#val == 1) { + # date,DATE,ISDST + ($new_date,$isdst) = @val; + } else { + $err = 1; + } + for (my $i=0; $i<=5; $i++) { + $def[$i] = 0 if ($def[$i]); + } + + } elsif ($field eq 'time') { + + if ($#val == 0) { + # time,TIME + $new_time = $val[0]; + } elsif ($#val == 1) { + # time,TIME,ISDST + ($new_time,$isdst) = @val; + } else { + $err = 1; + } + $def[3] = 0 if ($def[3]); + $def[4] = 0 if ($def[4]); + $def[5] = 0 if ($def[5]); + + } elsif ($field eq 'zdate') { + + if ($#val == 0) { + # zdate,DATE + $new_date = $val[0]; + } elsif ($#val == 1 && ($val[1] eq '0' || $val[1] eq '1')) { + # zdate,DATE,ISDST + ($new_date,$isdst) = @val; + } elsif ($#val == 1) { + # zdate,ZONE,DATE + ($new_tz,$new_date) = @val; + } elsif ($#val == 2) { + # zdate,ZONE,DATE,ISDST + ($new_tz,$new_date,$isdst) = @val; + } else { + $err = 1; + } + if ($$self{'data'}{'set'} != 2) { + for (my $i=0; $i<=5; $i++) { + $def[$i] = 0 if ($def[$i]); + } + } + $tz = $dmt->_now('tz',1) if (! $new_tz); + + } elsif ($field eq 'zone') { + + if ($#val == -1) { + # zone + } elsif ($#val == 0 && ($val[0] eq '0' || $val[0] eq '1')) { + # zone,ISDST + $isdst = $val[0]; + } elsif ($#val == 0) { + # zone,ZONE + $new_tz = $val[0]; + } elsif ($#val == 1) { + # zone,ZONE,ISDST + ($new_tz,$isdst) = @val; + } else { + $err = 1; + } + $tz = $dmt->_now('tz',1) if (! $new_tz); + + } elsif (exists $field{$field}) { + + my $i = $field{$field}; + my $val; + if ($#val == 0) { + $val = $val[0]; + } elsif ($#val == 1) { + ($val,$isdst) = @val; + } else { + $err = 1; + } + + $$date[$i] = $val; + $def[$i] = 0 if ($def[$i]); + + } else { + + $err = 2; + + } + + if ($err) { + if ($err == 1) { + $$self{'err'} = '[set] Invalid arguments'; + } else { + $$self{'err'} = '[set] Invalid field'; + } + return 1; + } + + # Handle the arguments (it can be a zone or an offset) + + if ($new_tz) { + my $tmp = $dmt->_zone($new_tz); + if ($tmp) { + # A zone/alias + $tz = $tmp; + + } else { + # An offset + + my $dstflag = ''; + $dstflag = ($isdst ? 'dstonly' : 'stdonly') if (defined $isdst); + + $tz = $dmb->__zone($date,lc($new_tz),'',$dstflag); + + if (! $tz) { + $$self{'err'} = "[set] Invalid timezone argument: $new_tz"; + return 1; + } + } + } + + if ($new_date) { + if ($dmb->check($new_date)) { + $date = $new_date; + } else { + $$self{'err'} = '[set] Invalid date argument'; + return 1; + } + } + + if ($new_time) { + if ($dmb->check_time($new_time)) { + $$date[3] = $$new_time[0]; + $$date[4] = $$new_time[1]; + $$date[5] = $$new_time[2]; + } else { + $$self{'err'} = '[set] Invalid time argument'; + return 1; + } + } + + # Check the date/timezone combination + + my($abb,$off); + if ($tz eq 'etc/gmt') { + $abb = 'GMT'; + $off = [0,0,0]; + $isdst = 0; + } else { + my $per = $dmt->date_period($date,$tz,1,$isdst); + if (! $per) { + $$self{'err'} = '[set] Invalid date/timezone'; + return 1; + } + $isdst = $$per[5]; + $abb = $$per[4]; + $off = $$per[3]; + } + + # Set the information + + $$self{'data'}{'set'} = 1; + $$self{'data'}{'date'} = $date; + $$self{'data'}{'tz'} = $tz; + $$self{'data'}{'isdst'} = $isdst; + $$self{'data'}{'offset'}= $off; + $$self{'data'}{'abb'} = $abb; + $$self{'data'}{'def'} = [ @def ]; + + return 0; + } +} + +######################################################################## +# NEXT/PREV METHODS + +sub prev { + my($self,@args) = @_; + return 1 if ($$self{'err'} || ! $$self{'data'}{'set'}); + my $date = $$self{'data'}{'date'}; + + $date = $self->__next_prev($date,0,@args); + + return 1 if (! defined($date)); + $self->set('date',$date); + return 0; +} + +sub next { + my($self,@args) = @_; + return 1 if ($$self{'err'} || ! $$self{'data'}{'set'}); + my $date = $$self{'data'}{'date'}; + + $date = $self->__next_prev($date,1,@args); + + return 1 if (! defined($date)); + $self->set('date',$date); + return 0; +} + +sub __next_prev { + my($self,$date,$next,$dow,$curr,$time) = @_; + + my ($caller,$sign,$prev); + if ($next) { + $caller = 'next'; + $sign = 1; + $prev = 0; + } else { + $caller = 'prev'; + $sign = -1; + $prev = 1; + } + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $orig = [ @$date ]; + + # Check the time (if any) + + if (defined($time)) { + if ($dow) { + # $time will refer to a full [H,MN,S] + my($err,$h,$mn,$s) = $dmb->_hms_fields({ 'out' => 'list' },$time); + if ($err) { + $$self{'err'} = "[$caller] invalid time argument"; + return undef; + } + $time = [$h,$mn,$s]; + } else { + # $time may have leading undefs + my @tmp = @$time; + if ($#tmp != 2) { + $$self{'err'} = "[$caller] invalid time argument"; + return undef; + } + my($h,$mn,$s) = @$time; + if (defined($h)) { + $mn = 0 if (! defined($mn)); + $s = 0 if (! defined($s)); + } elsif (defined($mn)) { + $s = 0 if (! defined($s)); + } else { + $s = 0 if (! defined($s)); + } + $time = [$h,$mn,$s]; + } + } + + # Find the next DoW + + if ($dow) { + + if (! $dmb->_is_int($dow,1,7)) { + $$self{'err'} = "[$caller] Invalid DOW: $dow"; + return undef; + } + + # Find the next/previous occurrence of DoW + + my $curr_dow = $dmb->day_of_week($date); + my $adjust = 0; + + if ($dow == $curr_dow) { + $adjust = 1 if ($curr == 0); + + } else { + my $num; + if ($next) { + # force $dow to be more than $curr_dow + $dow += 7 if ($dow<$curr_dow); + $num = $dow - $curr_dow; + } else { + # force $dow to be less than $curr_dow + $dow -= 7 if ($dow>$curr_dow); + $num = $curr_dow - $dow; + $num *= -1; + } + + # Add/subtract $num days + $date = $dmb->calc_date_days($date,$num); + } + + if (defined($time)) { + my ($y,$m,$d,$h,$mn,$s) = @$date; + ($h,$mn,$s) = @$time; + $date = [$y,$m,$d,$h,$mn,$s]; + } + + my $cmp = $dmb->cmp($orig,$date); + $adjust = 1 if ($curr == 2 && $cmp != -1*$sign); + + if ($adjust) { + # Add/subtract 1 week + $date = $dmb->calc_date_days($date,$sign*7); + } + + return $date; + } + + # Find the next Time + + if (defined($time)) { + + my ($h,$mn,$s) = @$time; + my $orig = [ @$date ]; + + my $cmp; + if (defined $h) { + # Find next/prev HH:MN:SS + + @$date[3..5] = @$time; + $cmp = $dmb->cmp($orig,$date); + if ($cmp == -1) { + if ($prev) { + $date = $dmb->calc_date_days($date,-1); + } + } elsif ($cmp == 1) { + if ($next) { + $date = $dmb->calc_date_days($date,1); + } + } else { + if (! $curr) { + $date = $dmb->calc_date_days($date,$sign); + } + } + + } elsif (defined $mn) { + # Find next/prev MN:SS + + @$date[4..5] = @$time[1..2]; + + $cmp = $dmb->cmp($orig,$date); + if ($cmp == -1) { + if ($prev) { + $date = $dmb->calc_date_time($date,[-1,0,0]); + } + } elsif ($cmp == 1) { + if ($next) { + $date = $dmb->calc_date_time($date,[1,0,0]); + } + } else { + if (! $curr) { + $date = $dmb->calc_date_time($date,[$sign,0,0]); + } + } + + } else { + # Find next/prev SS + + $$date[5] = $$time[2]; + + $cmp = $dmb->cmp($orig,$date); + if ($cmp == -1) { + if ($prev) { + $date = $dmb->calc_date_time($date,[0,-1,0]); + } + } elsif ($cmp == 1) { + if ($next) { + $date = $dmb->calc_date_time($date,[0,1,0]); + } + } else { + if (! $curr) { + $date = $dmb->calc_date_time($date,[0,$sign,0]); + } + } + } + + return $date; + } + + $$self{'err'} = "[$caller] Either DoW or time (or both) required"; + return undef; +} + +######################################################################## +# CALC METHOD + +sub calc { + my($self,$obj,@args) = @_; + + if (ref($obj) eq 'Date::Manip::Date') { + return $self->_calc_date_date($obj,@args); + + } elsif (ref($obj) eq 'Date::Manip::Delta') { + return $self->_calc_date_delta($obj,@args); + + } else { + return undef; + } +} + +sub _calc_date_date { + my($self,$date,@args) = @_; + my $ret = $self->new_delta(); + + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + $$ret{'err'} = '[calc] First object invalid (date)'; + return $ret; + } + + if ($$date{'err'} || ! $$date{'data'}{'set'}) { + $$ret{'err'} = '[calc] Second object invalid (date)'; + return $ret; + } + + # Handle subtract/mode arguments + + my($subtract,$mode); + + if ($#args == -1) { + ($subtract,$mode) = (0,''); + } elsif ($#args == 0) { + if ($args[0] eq '0' || $args[0] eq '1') { + ($subtract,$mode) = ($args[0],''); + } else { + ($subtract,$mode) = (0,$args[0]); + } + + } elsif ($#args == 1) { + ($subtract,$mode) = @args; + } else { + $$ret{'err'} = '[calc] Invalid arguments'; + return $ret; + } + $mode = 'exact' if (! $mode); + + if ($mode !~ /^(business|bsemi|bapprox|approx|semi|exact)$/i) { + $$ret{'err'} = '[calc] Invalid mode argument'; + return $ret; + } + + # if business mode + # dates must be in the same timezone + # use dates in that zone + # + # otherwise if both dates are in the same timezone && approx/semi mode + # use the dates in that zone + # + # otherwise + # convert to gmt + # use those dates + + my($date1,$date2,$tz1,$isdst1,$tz2,$isdst2); + if ($mode eq 'business' || $mode eq 'bapprox' || $mode eq 'bsemi') { + if ($$self{'data'}{'tz'} eq $$date{'data'}{'tz'}) { + $date1 = [ $self->value() ]; + $date2 = [ $date->value() ]; + $tz1 = $$self{'data'}{'tz'}; + $tz2 = $tz1; + $isdst1 = $$self{'data'}{'isdst'}; + $isdst2 = $$date{'data'}{'isdst'}; + } else { + $$ret{'err'} = '[calc] Dates must be in the same timezone for ' . + 'business mode calculations'; + return $ret; + } + + } elsif (($mode eq 'approx' || $mode eq 'semi') && + $$self{'data'}{'tz'} eq $$date{'data'}{'tz'}) { + $date1 = [ $self->value() ]; + $date2 = [ $date->value() ]; + $tz1 = $$self{'data'}{'tz'}; + $tz2 = $tz1; + $isdst1 = $$self{'data'}{'isdst'}; + $isdst2 = $$date{'data'}{'isdst'}; + + } else { + $date1 = [ $self->value('gmt') ]; + $date2 = [ $date->value('gmt') ]; + $tz1 = 'GMT'; + $tz2 = $tz1; + $isdst1 = 0; + $isdst2 = 0; + } + + # Do the calculation + + my(@delta); + if ($subtract) { + if ($mode eq 'business' || $mode eq 'exact' || $subtract == 2) { + @delta = @{ $self->__calc_date_date($mode,$date2,$tz2,$isdst2, + $date1,$tz1,$isdst1) }; + } else { + @delta = @{ $self->__calc_date_date($mode,$date1,$tz1,$isdst1, + $date2,$tz2,$isdst2) }; + @delta = map { -1*$_ } @delta; + } + } else { + @delta = @{ $self->__calc_date_date($mode,$date1,$tz1,$isdst1, + $date2,$tz2,$isdst2) }; + } + + # Save the delta + + if ($mode eq 'business' || $mode eq 'bapprox' || $mode eq 'bsemi') { + $ret->set('business',\@delta); + } else { + $ret->set('delta',\@delta); + } + return $ret; +} + +sub __calc_date_date { + my($self,$mode,$date1,$tz1,$isdst1,$date2,$tz2,$isdst2) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my($dy,$dm,$dw,$dd,$dh,$dmn,$ds) = (0,0,0,0,0,0,0); + + if ($mode eq 'approx' || $mode eq 'bapprox') { + my($y1,$m1,$d1,$h1,$mn1,$s1) = @$date1; + my($y2,$m2,$d2,$h2,$mn2,$s2) = @$date2; + $dy = $y2-$y1; + $dm = $m2-$m1; + + if ($dy || $dm) { + # If $d1 is greater than the number of days allowed in the + # month $y2/$m2, set it equal to the number of days. In other + # words: + # Jan 31 2006 to Feb 28 2008 = 2 years 1 month + # + my $dim = $dmb->days_in_month($y2,$m2); + $d1 = $dim if ($d1 > $dim); + + $date1 = [$y2,$m2,$d1,$h1,$mn1,$s1]; + } + } + + if ($mode eq 'semi' || $mode eq 'approx') { + + # Calculate the number of weeks/days apart (temporarily ignoring + # DST effects). + + $dd = $dmb->days_since_1BC($date2) - + $dmb->days_since_1BC($date1); + $dw = int($dd/7); + $dd -= $dw*7; + + # Adding $dd to $date1 gives: ($y2,$m2,$d2, $h1,$mn1,$s1) + # Make sure this is valid (taking into account DST effects). + # If it isn't, make it valid. + + if ($dw || $dd) { + my($y1,$m1,$d1,$h1,$mn1,$s1) = @$date1; + my($y2,$m2,$d2,$h2,$mn2,$s2) = @$date2; + $date1 = [$y2,$m2,$d2,$h1,$mn1,$s1]; + } + if ($dy || $dm || $dw || $dd) { + my $force = ( ($dw > 0 || $dd > 0) ? 1 : -1 ); + my($off,$isdst,$abb); + ($date1,$off,$isdst,$abb) = + $self->_calc_date_check_dst($date1,$tz2,$isdst2,$force); + } + } + + if ($mode eq 'bsemi' || $mode eq 'bapprox') { + # Calculate the number of weeks. Ignore the days + # part. Also, since there are no DST effects, we don't + # have to check for validity. + + $dd = $dmb->days_since_1BC($date2) - + $dmb->days_since_1BC($date1); + $dw = int($dd/7); + $dd = 0; + $date1 = $dmb->calc_date_days($date1,$dw*7); + } + + if ($mode eq 'exact' || $mode eq 'semi' || $mode eq 'approx') { + my $sec1 = $dmb->secs_since_1970($date1); + my $sec2 = $dmb->secs_since_1970($date2); + $ds = $sec2 - $sec1; + + { + no integer; + $dh = int($ds/3600); + $ds -= $dh*3600; + } + $dmn = int($ds/60); + $ds -= $dmn*60; + } + + if ($mode eq 'business' || $mode eq 'bsemi' || $mode eq 'bapprox') { + + # Make sure both are work days + + $date1 = $self->__nextprev_business_day(0,0,1,$date1); + $date2 = $self->__nextprev_business_day(0,0,1,$date2); + + my($y1,$m1,$d1,$h1,$mn1,$s1) = @$date1; + my($y2,$m2,$d2,$h2,$mn2,$s2) = @$date2; + + # Find out which direction we need to move $date1 to get to $date2 + + my $dir = 0; + if ($y1 < $y2) { + $dir = 1; + } elsif ($y1 > $y2) { + $dir = -1; + } elsif ($m1 < $m2) { + $dir = 1; + } elsif ($m1 > $m2) { + $dir = -1; + } elsif ($d1 < $d2) { + $dir = 1; + } elsif ($d1 > $d2) { + $dir = -1; + } + + # Now do the day part (to get to the same day) + + $dd = 0; + while ($dir) { + ($y1,$m1,$d1) = @{ $dmb->calc_date_days([$y1,$m1,$d1],$dir) }; + $dd += $dir if ($self->__is_business_day([$y1,$m1,$d1,0,0,0],0)); + $dir = 0 if ($y1 == $y2 && $m1 == $m2 && $d1 == $d2); + } + + # Both dates are now on a business day, and during business + # hours, so do the hr/min/sec part trivially + + $dh = $h2-$h1; + $dmn = $mn2-$mn1; + $ds = $s2-$s1; + } + + return [ $dy,$dm,$dw,$dd,$dh,$dmn,$ds ]; +} + +no integer; +sub _calc_date_delta { + my($self,$delta,$subtract) = @_; + my $ret = $self->new_date(); + + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + $$ret{'err'} = '[calc] Date object invalid'; + return $ret; + } + + if ($$delta{'err'}) { + $$ret{'err'} = '[calc] Delta object invalid'; + return $ret; + } + + # Get the date/delta fields + + $subtract = 0 if (! $subtract); + my @delta = @{ $$delta{'data'}{'delta'} }; + my @date = @{ $$self{'data'}{'date'} }; + my $business = $$delta{'data'}{'business'}; + my $tz = $$self{'data'}{'tz'}; + my $isdst = $$self{'data'}{'isdst'}; + + # We can't handle a delta longer than 10000 years + my($dy,$dm,$dw,$dd,$dh,$dmn,$ds) = @delta; + if (abs($dy) > 10000 || + abs($dm) > 12000 || # 10000*12 + abs($dw) > 53000 || # 10000*53 + abs($dh) > 87840000 || # 10000*366*24 + abs($dmn) > 5270400000 || # 10000*366*24*60 + abs($ds) > 316224000000) { # 10000*366*24*60*60 + $$ret{'err'} = '[calc] Delta too large'; + return $ret; + } + + my($err,$date2,$offset,$abbrev); + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta([@date],[@delta],$subtract,$business,$tz,$isdst); + + if ($err) { + $$ret{'err'} = '[calc] Unable to perform calculation'; + } elsif ($$date2[0]<0 || $$date2[0]>9999) { + $$ret{'err'} = '[calc] Delta produces date outside valid range'; + } else { + $$ret{'data'}{'set'} = 1; + $$ret{'data'}{'date'} = $date2; + $$ret{'data'}{'tz'} = $tz; + $$ret{'data'}{'isdst'} = $isdst; + $$ret{'data'}{'offset'}= $offset; + $$ret{'data'}{'abb'} = $abbrev; + } + return $ret; +} +use integer; + +sub __calc_date_delta { + my($self,$date,$delta,$subtract,$business,$tz,$isdst) = @_; + + my ($dy,$dm,$dw,$dd,$dh,$dmn,$ds) = @$delta; + my @date = @$date; + + my ($err,$date2,$offset,$abbrev); + + # In business mode, daylight saving time is ignored, so days are + # of a constant, known length, so they'll be done in the exact + # function. Otherwise, they'll be done in the approximate function. + # + # Also in business mode, if $subtract = 2, then the starting date + # must be a business date or an error occurs. + + my($dd_exact,$dd_approx); + if ($business) { + $dd_exact = $dd; + $dd_approx = 0; + + if ($subtract == 2 && ! $self->__is_business_day($date,1)) { + return (1); + } + + } else { + $dd_exact = 0; + $dd_approx = $dd; + } + + if ($subtract == 2 && ($dy || $dm || $dw || $dd_approx)) { + # For subtract=2: + # DATE = RET + DELTA + # + # The delta consisists of an approximate part (which is added first) + # and an exact part (added second): + # DATE = RET + DELTA(approx) + DELTA(exact) + # DATE = RET' + DELTA(exact) + # where RET' = RET + DELTA(approx) + # + # For an exact delta, subtract==2 and subtract==1 are equivalent, + # so this can be written: + # DATE - DELTA(exact) = RET' + # + # So the inverse subtract only needs to include the approximate + # portion of the delta. + + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta_exact([@date],[-1*$dd_exact,-1*$dh,-1*$dmn,-1*$ds], + $business,$tz,$isdst); + + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta_inverse($date2,[$dy,$dm,$dw,$dd_approx], + $business,$tz,$isdst) + if (! $err); + + } else { + # We'll add the approximate part, followed by the exact part. + # After the approximate part, we need to make sure we're on + # a valid business day in business mode. + + ($dy,$dm,$dw,$dd_exact,$dd_approx,$dh,$dmn,$ds) = + map { -1*$_ } ($dy,$dm,$dw,$dd_exact,$dd_approx,$dh,$dmn,$ds) + if ($subtract); + @$date2 = @date; + + if ($dy || $dm || $dw || $dd) { + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta_approx($date2,[$dy,$dm,$dw,$dd_approx], + $business,$tz,$isdst); + } elsif ($business) { + $date2 = $self->__nextprev_business_day(0,0,1,$date2); + } + + ($err,$date2,$offset,$isdst,$abbrev) = + $self->__calc_date_delta_exact($date2,[$dd_exact,$dh,$dmn,$ds], + $business,$tz,$isdst) + if (! $err && ($dd_exact || $dh || $dmn || $ds)); + } + + return($err,$date2,$offset,$isdst,$abbrev); +} + +# Do the inverse part of a calculation. +# +# $delta = [$dy,$dm,$dw,$dd] +# +sub __calc_date_delta_inverse { + my($self,$date,$delta,$business,$tz,$isdst) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my @date2; + + # Given: DATE1, DELTA + # Find: DATE2 + # where DATE2 + DELTA = DATE1 + # + # Start with: + # DATE2 = DATE1 - DELTA + # + # if (DATE2+DELTA < DATE1) + # while (1) + # DATE2 = DATE2 + 1 day + # if DATE2+DELTA < DATE1 + # next + # elsif DATE2+DELTA > DATE1 + # return ERROR + # else + # return DATE2 + # done + # + # elsif (DATE2+DELTA > DATE1) + # while (1) + # DATE2 = DATE2 - 1 day + # if DATE2+DELTA > DATE1 + # next + # elsif DATE2+DELTA < DATE1 + # return ERROR + # else + # return DATE2 + # done + # + # else + # return DATE2 + + if ($business) { + + my $date1 = $date; + my ($err,$date2,$off,$isd,$abb,@del,$tmp,$cmp); + @del = map { $_*-1 } @$delta; + + ($err,$date2,$off,$isd,$abb) = + $self->__calc_date_delta_approx($date,[@del],$business,$tz,$isdst); + + ($err,$tmp,$off,$isd,$abb) = + $self->__calc_date_delta_approx($date2,$delta,$business,$tz,$isdst); + + $cmp = $self->_cmp_date($tmp,$date1); + + if ($cmp < 0) { + while (1) { + $date2 = $self->__nextprev_business_day(0,1,0,$date2); + ($err,$tmp,$off,$isd,$abb) = + $self->__calc_date_delta_approx($date2,$delta,$business,$tz,$isdst); + $cmp = $self->_cmp_date($tmp,$date1); + if ($cmp < 0) { + next; + } elsif ($cmp > 0) { + return (1); + } else { + last; + } + } + + } elsif ($cmp > 0) { + while (1) { + $date2 = $self->__nextprev_business_day(1,1,0,$date2); + ($err,$tmp,$off,$isd,$abb) = + $self->__calc_date_delta_approx($date2,$delta,$business,$tz,$isdst); + $cmp = $self->_cmp_date($tmp,$date1); + if ($cmp > 0) { + next; + } elsif ($cmp < 0) { + return (1); + } else { + last; + } + } + } + + @date2 = @$date2; + + } else { + + my @tmp = @$date[0..2]; # [y,m,d] + my @hms = @$date[3..5]; # [h,m,s] + my $date1 = [@tmp]; + + my $date2 = $dmb->_calc_date_ymwd($date1,$delta,1); + my $tmp = $dmb->_calc_date_ymwd($date2,$delta); + my $cmp = $self->_cmp_date($tmp,$date1); + + if ($cmp < 0) { + while (1) { + $date2 = $dmb->calc_date_days($date2,1); + $tmp = $dmb->_calc_date_ymwd($date2,$delta); + $cmp = $self->_cmp_date($tmp,$date1); + if ($cmp < 0) { + next; + } elsif ($cmp > 0) { + return (1); + } else { + last; + } + } + + } elsif ($cmp > 0) { + while (1) { + $date2 = $dmb->calc_date_days($date2,-1); + $tmp = $dmb->_calc_date_ymwd($date2,$delta); + $cmp = $self->_cmp_date($tmp,$date1); + if ($cmp > 0) { + next; + } elsif ($cmp < 0) { + return (1); + } else { + last; + } + } + } + + @date2 = (@$date2,@hms); + } + + # Make sure DATE2 is valid (within DST constraints) and + # return it. + + my($date2,$abb,$off,$err); + ($date2,$off,$isdst,$abb) = $self->_calc_date_check_dst([@date2],$tz,$isdst,0); + + return (1) if (! defined($date2)); + return (0,$date2,$off,$isdst,$abb); +} + +sub _cmp_date { + my($self,$date0,$date1) = @_; + return ($$date0[0] <=> $$date1[0] || + $$date0[1] <=> $$date1[1] || + $$date0[2] <=> $$date1[2]); +} + +# Do the approximate part of a calculation. +# +sub __calc_date_delta_approx { + my($self,$date,$delta,$business,$tz,$isdst) = @_; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($y,$m,$d,$h,$mn,$s) = @$date; + my($dy,$dm,$dw,$dd) = @$delta; + + # + # Do the year/month part. + # + # If we are past the last day of a month, move the date back to + # the last day of the month. i.e. Jan 31 + 1 month = Feb 28. + # + + $y += $dy if ($dy); + $dmb->_mod_add(-12,$dm,\$m,\$y) # -12 means 1-12 instead of 0-11 + if ($dm); + + my $dim = $dmb->days_in_month($y,$m); + $d = $dim if ($d > $dim); + + # + # Do the week part. + # + # The week is treated as 7 days for both business and non-business + # calculations. + # + # In a business calculation, make sure we're on a business date. + # + + if ($business) { + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],$dw*7) } if ($dw); + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__nextprev_business_day(0,0,1,[$y,$m,$d,$h,$mn,$s]) }; + } else { + $dd += $dw*7; + } + + # + # Now do the day part. $dd is always 0 in business calculations. + # + + if ($dd) { + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],$dd) }; + } + + # + # At this point, we need to make sure that we're a valid date + # (within the constraints of DST). + # + # If it is not valid in this offset, try the other one. If neither + # works, then we want the the date to be 24 hours later than the + # previous day at this time (if $dd > 0) or 24 hours earlier than + # the next day at this time (if $dd < 0). We'll use the 24 hour + # definition even for business days, but then we'll double check + # that the resulting date is a business date. + # + + my $force = ( ($dd > 0 || $dw > 0 || $dm > 0 || $dy > 0) ? 1 : -1 ); + my($off,$abb); + ($date,$off,$isdst,$abb) = + $self->_calc_date_check_dst([$y,$m,$d,$h,$mn,$s],$tz,$isdst,$force); + return (0,$date,$off,$isdst,$abb); +} + +# Do the exact part of a calculation. +# +sub __calc_date_delta_exact { + my($self,$date,$delta,$business,$tz,$isdst) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + if ($business) { + + # Simplify hours/minutes/seconds where the day length is defined + # by the start/end of the business day. + + my ($dd,$dh,$dmn,$ds) = @$delta; + my ($y,$m,$d,$h,$mn,$s)= @$date; + my ($hbeg,$mbeg,$sbeg) = @{ $$dmb{'data'}{'calc'}{'workdaybeg'} }; + my ($hend,$mend,$send) = @{ $$dmb{'data'}{'calc'}{'workdayend'} }; + my $bdlen = $$dmb{'data'}{'len'}{'bdlength'}; + + no integer; + my $tmp; + $ds += $dh*3600 + $dmn*60; + $tmp = int($ds/$bdlen); + $dd += $tmp; + $ds -= $tmp*$bdlen; + $dh = int($ds/3600); + $ds -= $dh*3600; + $dmn = int($ds/60); + $ds -= $dmn*60; + use integer; + + if ($dd) { + my $prev = 0; + if ($dd < 1) { + $prev = 1; + $dd *= -1; + } + + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__nextprev_business_day($prev,$dd,0,[$y,$m,$d,$h,$mn,$s]) }; + } + + # At this point, we're adding less than a day for the + # hours/minutes/seconds part AND we know that the current + # day is during business hours. + # + # We'll add them (without affecting days... we'll need to + # test things by hand to make sure we should or shouldn't + # do that. + + $dmb->_mod_add(60,$ds,\$s,\$mn); + $dmb->_mod_add(60,$dmn,\$mn,\$h); + $h += $dh; + # Note: it's possible that $h > 23 at this point or $h < 0 + + if ($h > $hend || + ($h == $hend && $mn > $mend) || + ($h == $hend && $mn == $mend && $s > $send) || + ($h == $hend && $mn == $mend && $s == $send)) { + + # We've gone past the end of the business day. + + my $t2 = $dmb->calc_time_time([$h,$mn,$s],[$hend,$mend,$send],1); + + while (1) { + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],1) }; + last if ($self->__is_business_day([$y,$m,$d,$h,$mn,$s])); + } + + ($h,$mn,$s) = @{ $dmb->calc_time_time([$hbeg,$mbeg,$sbeg],$t2) }; + + } elsif ($h < $hbeg || + ($h == $hbeg && $mn < $mbeg) || + ($h == $hbeg && $mn == $mbeg && $s < $sbeg)) { + + # We've gone back past the start of the business day. + + my $t2 = $dmb->calc_time_time([$hbeg,$mbeg,$sbeg],[$h,$mn,$s],1); + + while (1) { + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],-1) }; + last if ($self->__is_business_day([$y,$m,$d,$h,$mn,$s])); + } + + ($h,$mn,$s) = @{ $dmb->calc_time_time([$hend,$mend,$send],$t2,1) }; + } + + # Now make sure that the date is valid within DST constraints. + + my $force = ( ($dd > 0 || $dh > 0 || $dmn > 0 || $ds > 0) ? 1 : -1 ); + my($off,$abb); + ($date,$off,$isdst,$abb) = + $self->_calc_date_check_dst([$y,$m,$d,$h,$mn,$s],$tz,$isdst,$force); + return (0,$date,$off,$isdst,$abb); + + } else { + + # Convert to GTM + # Do the calculation + # Convert back + + my ($dd,$dh,$dm,$ds) = @$delta; # $dd is always 0 + my $del = [$dh,$dm,$ds]; + my ($err,$offset,$abbrev); + + ($err,$date,$offset,$isdst,$abbrev) = + $dmt->_convert('__calc_date_delta_exact',$date,$tz,'GMT',$isdst); + + $date = $dmb->calc_date_time($date,$del,0); + + ($err,$date,$offset,$isdst,$abbrev) = + $dmt->_convert('__calc_date_delta_exact',$date,'GMT',$tz,$isdst); + + return($err,$date,$offset,$isdst,$abbrev); + } +} + +# This checks to see which time (STD or DST) a date is in. It checks +# $isdst first, and the other value (1-$isdst) second. +# +# If the date is found in either time, it is returned. +# +# If the date is NOT found, then we got here by adding/subtracting 1 day +# from a different value, and we've obtained an invalid value. In this +# case, if $force = 0, then return nothing. +# +# If $force = 1, then go to the previous day and add 24 hours. If force +# is -1, then go to the next day and subtract 24 hours. +# +# Returns: +# ($date,$off,$isdst,$abb) +# or +# (undef) +# +sub _calc_date_check_dst { + my($self,$date,$tz,$isdst,$force) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my($abb,$off,$err); + + # Try the date as is in both ISDST and 1-ISDST times + + my $per = $dmt->date_period($date,$tz,1,$isdst); + if ($per) { + $abb = $$per[4]; + $off = $$per[3]; + return($date,$off,$isdst,$abb); + } + + $per = $dmt->date_period($date,$tz,1,1-$isdst); + if ($per) { + $isdst = 1-$isdst; + $abb = $$per[4]; + $off = $$per[3]; + return($date,$off,$isdst,$abb); + } + + # If we made it here, the date is invalid in this timezone. + # Either return undef, or add/subtract a day from the date + # and find out what time period we're in (all we care about + # is the ISDST value). + + if (! $force) { + return(undef); + } + + my($dd); + if ($force > 0) { + $date = $dmb->calc_date_days($date,-1); + $dd = 1; + } else { + $date = $dmb->calc_date_days($date,+1); + $dd = -1; + } + + $per = $dmt->date_period($date,$tz,1,$isdst); + $isdst = (1-$isdst) if (! $per); + + # Now, convert it to GMT, add/subtract 24 hours, and convert + # it back. + + ($err,$date,$off,$isdst,$abb) = $dmt->convert_to_gmt($date,$tz,$isdst); + $date = $dmb->calc_date_days($date,$dd); + ($err,$date,$off,$isdst,$abb) = $dmt->convert_from_gmt($date,$tz); + + return($date,$off,$isdst,$abb); +} + +######################################################################## +# MISC METHODS + +sub secs_since_1970_GMT { + my($self,$secs) = @_; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + if (defined $secs) { + my $date = $dmb->secs_since_1970($secs); + my $err; + ($err,$date) = $dmt->convert_from_gmt($date); + return 1 if ($err); + $self->set('date',$date); + return 0; + } + + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [secs_since_1970_GMT] Object must contain a valid date\n"; + return undef; + } + + my @date = $self->value('gmt'); + $secs = $dmb->secs_since_1970(\@date); + return $secs; +} + +sub week_of_year { + my($self,$first) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [week_of_year] Object must contain a valid date\n"; + return undef; + } + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $date = $$self{'data'}{'date'}; + my $y = $$date[0]; + + my($day,$dow,$doy,$f); + $doy = $dmb->day_of_year($date); + + # The date in January which must belong to the first week, and + # it's DayOfWeek. + if ($dmb->_config('jan1week1')) { + $day=1; + } else { + $day=4; + } + $dow = $dmb->day_of_week([$y,1,$day]); + + # The start DayOfWeek. If $first is passed in, use it. Otherwise, + # use FirstDay. + + if (! $first) { + $first = $dmb->_config('firstday'); + } + + # Find the pseudo-date of the first day of the first week (it may + # be negative meaning it occurs last year). + + $first -= 7 if ($first > $dow); + $day -= ($dow-$first); + + return 0 if ($day>$doy); # Day is in last week of previous year + return (($doy-$day)/7 + 1); +} + +sub complete { + my($self,$field) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [complete] Object must contain a valid date\n"; + return undef; + } + + if (! $field) { + return 1 if (! $$self{'data'}{'def'}[1] && + ! $$self{'data'}{'def'}[2] && + ! $$self{'data'}{'def'}[3] && + ! $$self{'data'}{'def'}[4] && + ! $$self{'data'}{'def'}[5]); + return 0; + } + + if ($field eq 'm') { + return 1 if (! $$self{'data'}{'def'}[1]); + } + + if ($field eq 'd') { + return 1 if (! $$self{'data'}{'def'}[2]); + } + + if ($field eq 'h') { + return 1 if (! $$self{'data'}{'def'}[3]); + } + + if ($field eq 'mn') { + return 1 if (! $$self{'data'}{'def'}[4]); + } + + if ($field eq 's') { + return 1 if (! $$self{'data'}{'def'}[5]); + } + return 0; +} + +sub convert { + my($self,$zone) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [convert] Object must contain a valid date\n"; + return 1; + } + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my $zonename = $dmt->_zone($zone); + + if (! $zonename) { + $$self{'err'} = "[convert] Unable to determine timezone: $zone"; + return 1; + } + + my $date0 = $$self{'data'}{'date'}; + my $zone0 = $$self{'data'}{'tz'}; + my $isdst0 = $$self{'data'}{'isdst'}; + + my($err,$date,$off,$isdst,$abb) = $dmt->convert($date0,$zone0,$zonename,$isdst0); + + if ($err) { + $$self{'err'} = '[convert] Unable to convert date to new timezone'; + return 1; + } + + $self->_init(); + $$self{'data'}{'date'} = $date; + $$self{'data'}{'tz'} = $zonename; + $$self{'data'}{'isdst'} = $isdst; + $$self{'data'}{'offset'} = $off; + $$self{'data'}{'abb'} = $abb; + $$self{'data'}{'set'} = 1; + + return 0; +} + +######################################################################## +# BUSINESS DAY METHODS + +sub is_business_day { + my($self,$checktime) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [is_business_day] Object must contain a valid date\n"; + return undef; + } + my $date = $$self{'data'}{'date'}; + return $self->__is_business_day($date,$checktime); +} + +sub __is_business_day { + my($self,$date,$checktime) = @_; + my($y,$m,$d,$h,$mn,$s) = @$date; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Return 0 if it's a weekend. + + my $dow = $dmb->day_of_week([$y,$m,$d]); + return 0 if ($dow < $dmb->_config('workweekbeg') || + $dow > $dmb->_config('workweekend')); + + # Return 0 if it's not during work hours (and we're checking + # for that). + + if ($checktime && + ! $dmb->_config('workday24hr')) { + my $t = $dmb->join('hms',[$h,$mn,$s]); + my $t0 = $dmb->join('hms',$$dmb{'data'}{'calc'}{'workdaybeg'}); + my $t1 = $dmb->join('hms',$$dmb{'data'}{'calc'}{'workdayend'}); + return 0 if ($t lt $t0 || $t gt $t1); + } + + # Check for holidays + + if (! $$dmb{'data'}{'init_holidays'}) { + $self->_holidays($y-1); + $self->_holidays($y); + $self->_holidays($y+1); + } + + return 0 if (exists $$dmb{'data'}{'holidays'}{'dates'} && + exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0} && + exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0} && + exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0}); + + return 1; +} + +sub list_holidays { + my($self,$y) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + $y = $dmt->_now('y',1) if (! $y); + $self->_holidays($y-1); + $self->_holidays($y); + $self->_holidays($y+1); + + my @ret; + my @m = sort { $a <=> $b } keys %{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0} }; + foreach my $m (@m) { + my @d = sort { $a <=> $b } keys %{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m} }; + foreach my $d (@d) { + my $hol = $self->new_date(); + $hol->set('date',[$y,$m,$d,0,0,0]); + push(@ret,$hol); + } + } + + return @ret; +} + +sub holiday { + my($self) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [holiday] Object must contain a valid date\n"; + return undef; + } + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my($y,$m,$d) = @{ $$self{'data'}{'date'} }; + $self->_holidays($y-1); + $self->_holidays($y); + $self->_holidays($y+1); + + if (exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0} && + exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0} && + exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0}) { + my @tmp = @{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} }; + + foreach my $tmp (@tmp) { + $tmp = '' if ($tmp =~ /DMunnamed/); + } + + if (wantarray) { + return () if (! @tmp); + return @tmp; + } else { + return '' if (! @tmp); + return $tmp[0]; + } + } + return undef; +} + +sub next_business_day { + my($self,$off,$checktime) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [next_business_day] Object must contain a valid date\n"; + return undef; + } + my $date = $$self{'data'}{'date'}; + + $date = $self->__nextprev_business_day(0,$off,$checktime,$date); + $self->set('date',$date); + return; +} + +sub prev_business_day { + my($self,$off,$checktime) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [prev_business_day] Object must contain a valid date\n"; + return undef; + } + my $date = $$self{'data'}{'date'}; + + $date = $self->__nextprev_business_day(1,$off,$checktime,$date); + $self->set('date',$date); + return; +} + +sub __nextprev_business_day { + my($self,$prev,$off,$checktime,$date) = @_; + my($y,$m,$d,$h,$mn,$s) = @$date; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Get day 0 + + while (! $self->__is_business_day([$y,$m,$d,$h,$mn,$s],$checktime)) { + if ($checktime) { + ($y,$m,$d,$h,$mn,$s) = + @{ $self->__next_prev([$y,$m,$d,$h,$mn,$s],1,undef,0, + $$dmb{'data'}{'calc'}{'workdaybeg'}) }; + } else { + # Move forward 1 day + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],1) }; + } + } + + # Move $off days into the future/past + + while ($off > 0) { + while (1) { + if ($prev) { + # Move backward 1 day + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],-1) }; + } else { + # Move forward 1 day + ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],1) }; + } + last if ($self->__is_business_day([$y,$m,$d,$h,$mn,$s])); + } + $off--; + } + + return [$y,$m,$d,$h,$mn,$s]; +} + +sub nearest_business_day { + my($self,$tomorrow) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [nearest_business_day] Object must contain a valid date\n"; + return undef; + } + + my $date = $$self{'data'}{'date'}; + $date = $self->__nearest_business_day($tomorrow,$date); + + # If @date is empty, the date is a business day and doesn't need + # to be changed. + + return if (! defined($date)); + + $self->set('date',$date); + return; +} + +sub __nearest_business_day { + my($self,$tomorrow,$date) = @_; + + # We're done if this is a business day + return undef if ($self->__is_business_day($date,0)); + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + $tomorrow = $dmb->_config('tomorrowfirst') if (! defined $tomorrow); + + my($a1,$a2); + if ($tomorrow) { + ($a1,$a2) = (1,-1); + } else { + ($a1,$a2) = (-1,1); + } + + my ($y,$m,$d,$h,$mn,$s) = @$date; + my ($y1,$m1,$d1) = ($y,$m,$d); + my ($y2,$m2,$d2) = ($y,$m,$d); + + while (1) { + ($y1,$m1,$d1) = @{ $dmb->calc_date_days([$y1,$m1,$d1],$a1) }; + if ($self->__is_business_day([$y1,$m1,$d1,$h,$mn,$s],0)) { + ($y,$m,$d) = ($y1,$m1,$d1); + last; + } + ($y2,$m2,$d2) = @{ $dmb->calc_date_days([$y2,$m2,$d2],$a2) }; + if ($self->__is_business_day([$y2,$m2,$d2,$h,$mn,$s],0)) { + ($y,$m,$d) = ($y2,$m2,$d2); + last; + } + } + + return [$y,$m,$d,$h,$mn,$s]; +} + +# We need to create all the objects which will be used to determine holidays. +# By doing this once only, a lot of time is saved. +# +sub _holiday_objs { + my($self) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + $$dmb{'data'}{'holidays'}{'init'} = 1; + + # Go through all of the strings from the config file. + # + my (@str) = @{ $$dmb{'data'}{'sections'}{'holidays'} }; + $$dmb{'data'}{'holidays'}{'defs'} = []; + + # Keep track of the holiday names + my $unnamed = 0; + + LINE: + while (@str) { + my($string) = shift(@str); + my($name) = shift(@str); + if (! $name) { + $unnamed++; + $name = "DMunnamed $unnamed"; + } + + # If $string is a parse_date string AND it contains a year, we'll + # store the date as a holiday, but not store the holiday description + # so it never needs to be re-parsed. + + my $date = $self->new_date(); + my $err = $date->parse_date($string); + + if (! $err) { + my($y,$m,$d) = @{ $$date{'data'}{'date'} }; + + if ($$date{'data'}{'def'}[0] eq '') { + # Lines of the form: Jun 12 + # + # We will NOT cache this holiday because we want to only + # cache holidays from lines like 'Jun 12 1972' during this + # phase so we find conflicts. + + push(@{ $$dmb{'data'}{'holidays'}{'defs'} },$name,$string); + + } else { + # Lines of the form: Jun 12 1972 + # + # We'll cache these to make sure we don't have two lines: + # Jun 12 1972 = Some Holiday + # Jun 13 1972 = Some Holiday + + if (exists $$dmb{'data'}{'holidays'}{'hols'}{$name}{$y+0}) { + warn "WARNING: Holiday defined twice for one year: $name [$y]\n"; + next LINE; + } + + $$dmb{'data'}{'holidays'}{'yhols'}{$y+0}{$name} = [$y,$m,$d]; + $$dmb{'data'}{'holidays'}{'hols'}{$name}{$y+0} = [$y,$m,$d]; + + if (exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0}) { + push @{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} },$name; + } else { + $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} = [ $name ]; + } + } + next LINE; + } + $date->err(1); + + # If $string is a recurrence, we'll create a Recur object (which we + # only have to do once) and store it. + + my $recur = $self->new_recur(); + $err = $recur->parse($string); + if (! $err) { + push(@{ $$dmb{'data'}{'holidays'}{'defs'} },$name,$recur); + next LINE; + } + $recur->err(1); + + warn "WARNING: invalid holiday description: $string\n"; + } + return; +} + +# Make sure that holidays are done for a given year. +# +sub _holidays { + my($self,$year) = @_; + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + return if ($$dmb{'data'}{'holidays'}{'ydone'}{$year+0}); + $self->_holiday_objs() if (! $$dmb{'data'}{'holidays'}{'init'}); + + # Parse the year + + # Get the objects and set them to use the new year. Also, get the + # range for recurrences. + + my @hol = @{ $$dmb{'data'}{'holidays'}{'defs'} }; + + my $beg = "$year-01-01-00:00:00"; + my $end = "$year-12-31-23:59:59"; + + # Get the date for each holiday. + + $$dmb{'data'}{'init_holidays'} = 1; + $$dmb{'data'}{'tmpnow'} = [$year,1,1,0,0,0]; + + HOLIDAY: + while (@hol) { + + my $name = shift(@hol); + my $obj = shift(@hol); + + # Each holiday only gets defined once per year + next if (exists $$dmb{'data'}{'holidays'}{'hols'}{$name}{$year+0}); + + if (ref($obj)) { + # It's a recurrence + + # We have to initialize the recurrence as it may contain idates + # and dates outside of this range that are not correct. + + $obj->_init_dates(); + + # If the recurrence has a date range built in, we won't override it. + # Otherwise, we'll only look for dates in this year. + + my @dates; + if ($obj->start() && $obj->end()) { + @dates = $obj->dates(); + } else { + @dates = $obj->dates($beg,$end,1); + } + + foreach my $date (@dates) { + my($y,$m,$d) = @{ $$date{'data'}{'date'} }; + + $$dmb{'data'}{'holidays'}{'yhols'}{$year+0}{$name} = [$y,$m,$d]; + $$dmb{'data'}{'holidays'}{'hols'}{$name}{$year+0} = [$y,$m,$d]; + + if (exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0}) { + push @{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} },$name; + } else { + $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} = [$name]; + } + } + + } else { + my $date = $self->new_date(); + $date->parse_date($obj); + my($y,$m,$d) = @{ $$date{'data'}{'date'} }; + + $$dmb{'data'}{'holidays'}{'yhols'}{$year+0}{$name} = [$y,$m,$d]; + $$dmb{'data'}{'holidays'}{'hols'}{$name}{$year+0} = [$y,$m,$d]; + + if (exists $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0}) { + push @{ $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} },$name; + } else { + $$dmb{'data'}{'holidays'}{'dates'}{$y+0}{$m+0}{$d+0} = [$name]; + } + } + } + + $$dmb{'data'}{'init_holidays'} = 0; + $$dmb{'data'}{'tmpnow'} = []; + $$dmb{'data'}{'holidays'}{'ydone'}{$year+0} = 1; + return; +} + +######################################################################## +# PRINTF METHOD + +BEGIN { + my %pad_0 = map { $_,1 } qw ( Y m d H M S I j G W L U ); + my %pad_sp = map { $_,1 } qw ( y f e k i ); + my %hr = map { $_,1 } qw ( H k I i ); + my %dow = map { $_,1 } qw ( v a A w ); + my %num = map { $_,1 } qw ( Y m d H M S y f e k I i j G W L U ); + + sub printf { + my($self,@in) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [printf] Object must contain a valid date\n"; + return undef; + } + + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + my($y,$m,$d,$h,$mn,$s) = @{ $$self{'data'}{'date'} }; + + my(@out); + foreach my $in (@in) { + my $out = ''; + while ($in) { + last if ($in eq '%'); + + # Everything up to the first '%' + + if ($in =~ s/^([^%]+)//) { + $out .= $1; + next; + } + + # Extended formats: %<...> + + if ($in =~ s/^%<([^>]+)>//) { + my $f = $1; + my $val; + + if ($f =~ /^a=([1-7])$/) { + $val = $$dmb{'data'}{'wordlist'}{'day_abb'}[$1-1]; + + } elsif ($f =~ /^v=([1-7])$/) { + $val = $$dmb{'data'}{'wordlist'}{'day_char'}[$1-1]; + + } elsif ($f =~ /^A=([1-7])$/) { + $val = $$dmb{'data'}{'wordlist'}{'day_name'}[$1-1]; + + } elsif ($f =~ /^p=([1-2])$/) { + $val = $$dmb{'data'}{'wordlist'}{'ampm'}[$1-1]; + + } elsif ($f =~ /^b=(0?[1-9]|1[0-2])$/) { + $val = $$dmb{'data'}{'wordlist'}{'month_abb'}[$1-1]; + + } elsif ($f =~ /^B=(0?[1-9]|1[0-2])$/) { + $val = $$dmb{'data'}{'wordlist'}{'month_name'}[$1-1]; + + } elsif ($f =~ /^E=(0?[1-9]|[1-4][0-9]|5[0-3])$/) { + $val = $$dmb{'data'}{'wordlist'}{'nth'}[$1-1]; + + } else { + $val = '%<' . $1 . '>'; + } + $out .= $val; + next; + } + + # Normals one-character formats + + $in =~ s/^%(.)//s; + my $f = $1; + + if (exists $$self{'data'}{'f'}{$f}) { + $out .= $$self{'data'}{'f'}{$f}; + next; + } + + my ($val,$pad,$len,$dow); + + if (exists $pad_0{$f}) { + $pad = '0'; + } + + if (exists $pad_sp{$f}) { + $pad = ' '; + } + + if ($f eq 'G' || $f eq 'W') { + my($yy,$ww) = $dmb->_week_of_year(1,[$y,$m,$d]); + if ($f eq 'G') { + $val = $yy; + $len = 4; + } else { + $val = $ww; + $len = 2; + } + } + + if ($f eq 'L' || $f eq 'U') { + my($yy,$ww) = $dmb->_week_of_year(7,[$y,$m,$d]); + if ($f eq 'L') { + $val = $yy; + $len = 4; + } else { + $val = $ww; + $len = 2; + } + } + + if ($f eq 'Y' || $f eq 'y') { + $val = $y; + $len = 4; + } + + if ($f eq 'm' || $f eq 'f') { + $val = $m; + $len = 2; + } + + if ($f eq 'd' || $f eq 'e') { + $val = $d; + $len = 2; + } + + if ($f eq 'j') { + $val = $dmb->day_of_year([$y,$m,$d]); + $len = 3; + } + + + if (exists $hr{$f}) { + $val = $h; + if ($f eq 'I' || $f eq 'i') { + $val -= 12 if ($val > 12); + $val = 12 if ($val == 0); + } + $len = 2; + } + + if ($f eq 'M') { + $val = $mn; + $len = 2; + } + + if ($f eq 'S') { + $val = $s; + $len = 2; + } + + if (exists $dow{$f}) { + $dow = $dmb->day_of_week([$y,$m,$d]); + } + + ### + + if (exists $num{$f}) { + while (length($val) < $len) { + $val = "$pad$val"; + } + + $val = substr($val,2,2) if ($f eq 'y'); + + } elsif ($f eq 'b' || $f eq 'h') { + $val = $$dmb{'data'}{'wordlist'}{'month_abb'}[$m-1]; + + } elsif ($f eq 'B') { + $val = $$dmb{'data'}{'wordlist'}{'month_name'}[$m-1]; + + } elsif ($f eq 'v') { + $val = $$dmb{'data'}{'wordlist'}{'day_char'}[$dow-1]; + + } elsif ($f eq 'a') { + $val = $$dmb{'data'}{'wordlist'}{'day_abb'}[$dow-1]; + + } elsif ($f eq 'A') { + $val = $$dmb{'data'}{'wordlist'}{'day_name'}[$dow-1]; + + } elsif ($f eq 'w') { + $val = $dow; + + } elsif ($f eq 'p') { + my $i = ($h >= 12 ? 1 : 0); + $val = $$dmb{'data'}{'wordlist'}{'ampm'}[$i]; + + } elsif ($f eq 'Z') { + $val = $$self{'data'}{'abb'}; + + } elsif ($f eq 'N') { + my $off = $$self{'data'}{'offset'}; + $val = $dmb->join('offset',$off); + + } elsif ($f eq 'z') { + my $off = $$self{'data'}{'offset'}; + $val = $dmb->join('offset',$off); + $val =~ s/://g; + $val =~ s/00$//; + + } elsif ($f eq 'E') { + $val = $$dmb{'data'}{'wordlist'}{'nth_dom'}[$d-1]; + + } elsif ($f eq 's') { + $val = $self->secs_since_1970_GMT(); + + } elsif ($f eq 'o') { + my $date2 = $self->new_date(); + $date2->parse('1970-01-01 00:00:00'); + my $delta = $date2->calc($self); + $val = $delta->printf('%sys'); + + } elsif ($f eq 'l') { + my $d0 = $self->new_date(); + my $d1 = $self->new_date(); + $d0->parse('-0:6:0:0:0:0:0'); # 6 months ago + $d1->parse('+0:6:0:0:0:0:0'); # in 6 months + $d0 = $d0->value(); + $d1 = $d1->value(); + my $date = $self->value(); + if ($date lt $d0 || $date ge $d1) { + $in = '%b %e %Y' . $in; + } else { + $in = '%b %e %H:%M' . $in; + } + $val = ''; + + } elsif ($f eq 'c') { + $in = '%a %b %e %H:%M:%S %Y' . $in; + $val = ''; + + } elsif ($f eq 'C' || $f eq 'u') { + $in = '%a %b %e %H:%M:%S %Z %Y' . $in; + $val = ''; + + } elsif ($f eq 'g') { + $in = '%a, %d %b %Y %H:%M:%S %Z' . $in; + $val = ''; + + } elsif ($f eq 'D') { + $in = '%m/%d/%y' . $in; + $val = ''; + + } elsif ($f eq 'r') { + $in = '%I:%M:%S %p' . $in; + $val = ''; + + } elsif ($f eq 'R') { + $in = '%H:%M' . $in; + $val = ''; + + } elsif ($f eq 'T' || $f eq 'X') { + $in = '%H:%M:%S' . $in; + $val = ''; + + } elsif ($f eq 'V') { + $in = '%m%d%H%M%y' . $in; + $val = ''; + + } elsif ($f eq 'Q') { + $in = '%Y%m%d' . $in; + $val = ''; + + } elsif ($f eq 'q') { + $in = '%Y%m%d%H%M%S' . $in; + $val = ''; + + } elsif ($f eq 'P') { + $in = '%Y%m%d%H:%M:%S' . $in; + $val = ''; + + } elsif ($f eq 'O') { + $in = '%Y-%m-%dT%H:%M:%S' . $in; + $val = ''; + + } elsif ($f eq 'F') { + $in = '%A, %B %e, %Y' . $in; + $val = ''; + + } elsif ($f eq 'K') { + $in = '%Y-%j' . $in; + $val = ''; + + } elsif ($f eq 'x') { + if ($dmb->_config('dateformat') eq 'US') { + $in = '%m/%d/%y' . $in; + } else { + $in = '%d/%m/%y' . $in; + } + $val = ''; + + } elsif ($f eq 'J') { + $in = '%G-W%W-%w' . $in; + $val = ''; + + } elsif ($f eq 'n') { + $val = "\n"; + + } elsif ($f eq 't') { + $val = "\t"; + + } else { + $val = $f; + } + + if ($val ne '') { + $$self{'data'}{'f'}{$f} = $val; + $out .= $val; + } + } + push(@out,$out); + } + + if (wantarray) { + return @out; + } elsif (@out == 1) { + return $out[0]; + } + + return '' + } +} + +######################################################################## +# EVENT METHODS + +sub list_events { + my($self,@args) = @_; + if ($$self{'err'} || ! $$self{'data'}{'set'}) { + warn "WARNING: [list_events] Object must contain a valid date\n"; + return undef; + } + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + + # Arguments + + my($date,$day,$format); + if (@args && $args[$#args] eq 'dates') { + pop(@args); + $format = 'dates'; + } else { + $format = 'std'; + } + + if (@args && $#args==0 && ref($args[0]) eq 'Date::Manip::Date') { + $date = $args[0]; + } elsif (@args && $#args==0 && $args[0]==0) { + $day = 1; + } elsif (@args) { + warn "ERROR: [list_events] unknown argument list\n"; + return []; + } + + # Get the beginning/end dates we're looking for events in + + my($beg,$end); + if ($date) { + $beg = $self; + $end = $date; + } elsif ($day) { + $beg = $self->new_date(); + $end = $self->new_date(); + my($y,$m,$d) = $self->value(); + $beg->set('date',[$y,$m,$d,0,0,0]); + $end->set('date',[$y,$m,$d,23,59,59]); + } else { + $beg = $self; + $end = $self; + } + + if ($beg->cmp($end) == 1) { + my $tmp = $beg; + $beg = $end; + $end = $tmp; + } + + # We need to get a list of all events which may apply. + + my($y0) = $beg->value(); + my($y1) = $end->value(); + foreach my $y ($y0..$y1) { + $self->_events_year($y); + } + + my @events = (); + foreach my $i (keys %{ $$dmb{'data'}{'events'} }) { + my $event = $$dmb{'data'}{'events'}{$i}; + my $type = $$event{'type'}; + my $name = $$event{'name'}; + + if ($type eq 'specified') { + my $d0 = $$dmb{'data'}{'events'}{$i}{'beg'}; + my $d1 = $$dmb{'data'}{'events'}{$i}{'end'}; + push @events,[$d0,$d1,$name]; + + } elsif ($type eq 'ym' || $type eq 'date') { + foreach my $y ($y0..$y1) { + if (exists $$dmb{'data'}{'events'}{$i}{$y}) { + my($d0,$d1) = @{ $$dmb{'data'}{'events'}{$i}{$y} }; + push @events,[$d0,$d1,$name]; + } + } + + } elsif ($type eq 'recur') { + my $rec = $$dmb{'data'}{'events'}{$i}{'recur'}; + my $del = $$dmb{'data'}{'events'}{$i}{'delta'}; + my @d = $rec->dates($beg,$end); + foreach my $d0 (@d) { + my $d1 = $d0->calc($del); + push @events,[$d0,$d1,$name]; + } + } + } + + # Next we need to see which ones apply. + + my @tmp; + foreach my $e (@events) { + my($d0,$d1,$name) = @$e; + + push(@tmp,$e) if ($beg->cmp($d1) != 1 && + $end->cmp($d0) != -1); + } + + # Now format them... + + if ($format eq 'std') { + @events = sort { $$a[0]->cmp($$b[0]) || + $$a[1]->cmp($$b[1]) || + $$a[2] cmp $$b[2] } @tmp; + + } elsif ($format eq 'dates') { + my $p1s = $self->new_delta(); + $p1s->parse('+0:0:0:0:0:0:1'); + + @events = (); + my (@tmp2); + foreach my $e (@tmp) { + my $name = $$e[2]; + if ($$e[0]->cmp($beg) == -1) { + # Event begins before the start + push(@tmp2,[$beg,'+',$name]); + } else { + push(@tmp2,[$$e[0],'+',$name]); + } + + my $d1 = $$e[1]->calc($p1s); + + if ($d1->cmp($end) == -1) { + # Event ends before the end + push(@tmp2,[$d1,'-',$name]); + } + } + + return () if (! @tmp2); + @tmp2 = sort { $$a[0]->cmp($$b[0]) || + $$a[1] cmp $$b[1] || + $$a[2] cmp $$b[2] } @tmp2; + + # @tmp2 is now: + # ( [ DATE1, OP1, NAME1 ], [ DATE2, OP2, NAME2 ], ... ) + # which is sorted by date. + + my $d = $tmp2[0]->[0]; + + if ($beg->cmp($d) != 0) { + push(@events,[$beg]); + } + + my %e; + while (1) { + + # If the first element is the same date as we're + # currently working with, just perform the operation + # and remove it from the list. If the list is not empty, + # we'll proceed to the next element. + + my $d0 = $tmp2[0]->[0]; + if ($d->cmp($d0) == 0) { + my $e = shift(@tmp2); + my $op = $$e[1]; + my $n = $$e[2]; + if ($op eq '+') { + $e{$n} = 1; + } else { + delete $e{$n}; + } + + next if (@tmp2); + } + + # We need to store the existing %e. + + my @n = sort keys %e; + push(@events,[$d,@n]); + + # If the list is empty, we're done. Otherwise, we need to + # reset the date and continue. + + last if (! @tmp2); + $d = $tmp2[0]->[0]; + } + } + + return @events; +} + +# The events of type date and ym are determined on a year-by-year basis +# +sub _events_year { + my($self,$y) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + my $tz = $dmt->_now('tz',1); + return if (exists $$dmb{'data'}{'eventyears'}{$y}); + $self->_event_objs() if (! $$dmb{'data'}{'eventobjs'}); + + my $d = $self->new_date(); + $d->config('forcedate',"${y}-01-01-00:00:00,$tz"); + + my $hrM1 = $d->new_delta(); + $hrM1->set('delta',[0,0,0,0,0,59,59]); + + my $dayM1 = $d->new_delta(); + $dayM1->set('delta',[0,0,0,0,23,59,59]); + + foreach my $i (keys %{ $$dmb{'data'}{'events'} }) { + my $event = $$dmb{'data'}{'events'}{$i}; + my $type = $$event{'type'}; + + if ($type eq 'ym') { + my $beg = $$event{'beg'}; + my $end = $$event{'end'}; + my $d0 = $d->new_date(); + $d0->parse_date($beg); + $d0->set('time',[0,0,0]); + + my $d1; + if ($end) { + $d1 = $d0->new_date(); + $d1->parse_date($end); + $d1->set('time',[23,59,59]); + } else { + $d1 = $d0->calc($dayM1); + } + $$dmb{'data'}{'events'}{$i}{$y} = [ $d0,$d1 ]; + + } elsif ($type eq 'date') { + my $beg = $$event{'beg'}; + my $end = $$event{'end'}; + my $del = $$event{'delta'}; + my $d0 = $d->new_date(); + $d0->parse($beg); + + my $d1; + if ($end) { + $d1 = $d0->new_date(); + $d1->parse($end); + } elsif ($del) { + $d1 = $d0->calc($del); + } else { + $d1 = $d0->calc($hrM1); + } + $$dmb{'data'}{'events'}{$i}{$y} = [ $d0,$d1 ]; + } + } + + return; +} + +# This parses the raw event list. It only has to be done once. +# +sub _event_objs { + my($self) = @_; + my $dmt = $$self{'tz'}; + my $dmb = $$dmt{'base'}; + # Only parse once. + $$dmb{'data'}{'eventobjs'} = 1; + + my $hrM1 = $self->new_delta(); + $hrM1->set('delta',[0,0,0,0,0,59,59]); + + my $M1 = $self->new_delta(); + $M1->set('delta',[0,0,0,0,0,0,-1]); + + my @tmp = @{ $$dmb{'data'}{'sections'}{'events'} }; + my $i = 0; + while (@tmp) { + my $string = shift(@tmp); + my $name = shift(@tmp); + my @event = split(/\s*;\s*/,$string); + + if ($#event == 0) { + + # YMD/YM + + my $d1 = $self->new_date(); + my $err = $d1->parse_date($event[0]); + if (! $err) { + if ($$d1{'data'}{'def'}[0] eq '') { + # YM + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'ym', + 'name' => $name, + 'beg' => $event[0] }; + } else { + # YMD + my $d2 = $d1->new_date(); + my ($y,$m,$d) = $d1->value(); + $d1->set('time',[0,0,0]); + $d2->set('date',[$y,$m,$d,23,59,59]); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 }; + } + next; + } + + # Date + + $err = $d1->parse($event[0]); + if (! $err) { + if ($$d1{'data'}{'def'}[0] eq '') { + # Date (no year) + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'date', + 'name' => $name, + 'beg' => $event[0], + 'delta' => $hrM1 + }; + } else { + # Date (year) + my $d2 = $d1->calc($hrM1); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 + }; + } + next; + } + + # Recur + + my $r = $self->new_recur(); + $err = $r->parse($event[0]); + if ($err) { + warn "ERROR: invalid event definition (must be Date, YMD, YM, or Recur)\n" + . " $string\n"; + next; + } + + my @d = $r->dates(); + if (@d) { + foreach my $d (@d) { + my $d2 = $d->calc($hrM1); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 + }; + } + } else { + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'recur', + 'name' => $name, + 'recur' => $r, + 'delta' => $hrM1 + }; + } + + } elsif ($#event == 1) { + my($o1,$o2) = @event; + + # YMD;YMD + # YM;YM + + my $d1 = $self->new_date(); + my $err = $d1->parse_date($o1); + if (! $err) { + my $d2 = $self->new_date(); + $err = $d2->parse_date($o2); + if ($err) { + warn "ERROR: invalid event definition (must be YMD;YMD or YM;YM)\n" + . " $string\n"; + next; + } elsif ($$d1{'data'}{'def'}[0] ne $$d2{'data'}{'def'}[0]) { + warn "ERROR: invalid event definition (YMD;YM or YM;YMD not allowed)\n" + . " $string\n"; + next; + } + + if ($$d1{'data'}{'def'}[0] eq '') { + # YM;YM + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'ym', + 'name' => $name, + 'beg' => $o1, + 'end' => $o2 + }; + } else { + # YMD;YMD + $d1->set('time',[0,0,0]); + $d2->set('time',[23,59,59]); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 }; + } + next; + } + + # Date;Date + # Date;Delta + + $err = $d1->parse($o1); + if (! $err) { + + my $d2 = $self->new_date(); + $err = $d2->parse($o2,'nodelta'); + + if (! $err) { + # Date;Date + if ($$d1{'data'}{'def'}[0] ne $$d2{'data'}{'def'}[0]) { + warn "ERROR: invalid event definition (year must be absent or\n" + . " included in both dats in Date;Date)\n" + . " $string\n"; + next; + } + + if ($$d1{'data'}{'def'}[0] eq '') { + # Date (no year) + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'date', + 'name' => $name, + 'beg' => $o1, + 'end' => $o2 + }; + } else { + # Date (year) + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 + }; + } + next; + } + + # Date;Delta + my $del = $self->new_delta(); + $err = $del->parse($o2); + + if ($err) { + warn "ERROR: invalid event definition (must be Date;Date or\n" + . " Date;Delta) $string\n"; + next; + } + + $del = $del->calc($M1); + if ($$d1{'data'}{'def'}[0] eq '') { + # Date (no year) + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'date', + 'name' => $name, + 'beg' => $o1, + 'delta' => $del + }; + } else { + # Date (year) + $d2 = $d1->calc($del); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 + }; + } + next; + } + + # Recur;Delta + + my $r = $self->new_recur(); + $err = $r->parse($o1); + + my $del = $self->new_delta(); + if (! $err) { + $err = $del->parse($o2); + } + + if ($err) { + warn "ERROR: invalid event definition (must be Date;Date, YMD;YMD, " + . " YM;YM, Date;Delta, or Recur;Delta)\n" + . " $string\n"; + next; + } + + $del = $del->calc($M1); + my @d = $r->dates(); + if (@d) { + foreach my $d1 (@d) { + my $d2 = $d1->calc($del); + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'specified', + 'name' => $name, + 'beg' => $d1, + 'end' => $d2 + }; + } + } else { + $$dmb{'data'}{'events'}{$i++} = { 'type' => 'recur', + 'name' => $name, + 'recur' => $r, + 'delta' => $del + }; + } + + } else { + warn "ERROR: invalid event definition\n" + . " $string\n"; + next; + } + } + + return; +} + +1; +# Local Variables: +# mode: cperl +# indent-tabs-mode: nil +# cperl-indent-level: 3 +# cperl-continued-statement-offset: 2 +# cperl-continued-brace-offset: 0 +# cperl-brace-offset: 0 +# cperl-brace-imaginary-offset: 0 +# cperl-label-offset: 0 +# End: diff --git a/lib/Date/Manip/Date.pod b/lib/Date/Manip/Date.pod new file mode 100644 index 0000000..1e36201 --- /dev/null +++ b/lib/Date/Manip/Date.pod @@ -0,0 +1,1842 @@ +# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved. +# This program is free software; you can redistribute it and/or modify it +# under the same terms as Perl itself. + +=pod + +=head1 NAME + +Date::Manip::Date - Methods for working with dates + +=head1 SYNOPSIS + + use Date::Manip::Date; + $date = new Date::Manip::Date; + +=head1 DESCRIPTION + +This module works specifically with date objects. + +Although the word date is used extensively here, it is actually +somewhat misleading. Date::Manip works with the full calendar date +(year, month, day, and week when appropriate), time of day (hour, +minute, second), and time zone. It doesn't work with fractional +seconds. + +=head1 METHODS + +=over 4 + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +Please refer to the Date::Manip::Obj documentation for these methods. + +=item B + + $date2 = $date->calc($delta [,$subtract]); + $delta = $date->calc($date2 [,$subtract] [,$mode]); + +Please refer to the Date::Manip::Calc documentation for details. + +=item B + + $val = $date1->cmp($date2); + +This compares two different dates (both of which must be valid date +objects). It returns -1, 0, or 1 similar to the cmp or <=> operators +in perl. The comparison will automatically handle time zone differences +between the two dates (i.e. they will be sorted in order as they +appear in the GMT zone). + +A warning is printed if either of the date objects does not include +a valid date. + +=item B + + $flag = $date->complete([$field]); + +This tests the date stored in the object to see if it is complete or +truncated (see below for a discussion of this). + +If no $field is passed in, it returns 1 if the date is complete, or +0 if it was truncated and default values have been supplied. + +If $field is passed in, it may be one of: m, d, h, mn, s . It will +return 1 if the value for that field was specified, or 0 if a +default was used. + +=item B + + $err = $date->convert([$zone]); + +This converts the date stored in the object to a different time zone. +$zone can be the name of a time zone. If it is not passed in, the +date is converted to the local time zone. + +=item B + + $name = $date->holiday(); + @name = $date->holiday(); + $name = $date->event(); + +This returns the name of the holiday if $date is a holiday. If $date +is not a holiday, undef is returned. If $date is an unnamed holiday, +an empty string is returned. + +In scalar context, holiday returns the name of one holiday that occurs +on that date (the one first defined in the config file). In list +context, it returns all holidays on that date. + +=item B + + $str = $date->input(); + +This returns the string that was parsed to form the date. + +=item B + + $flag = $date->is_business_day($checktime); + +This returns 1 if $date is a business day. + +$checktime may be passed in. If it is non-zero, the time is checked to +see if the date is a business day and falls within work hours. + +=item B + + @date = $date->list_holidays([$y]); + +This returns a list of Date::Manip::Date objects containing all dates +during a year which are holidays. The times will all be 00:00:00. + +If $y is not passed in, it will list the holidays in the same year as +the date stored in $date. + +=item B + + @list = $date->list_events( [$format] ); + @list = $date->list_events(0 [,$format]); + @list = $date->list_events($date1 [,$format]); + +This returns a list of events. Events are defined in the Events section +of the config file (discussed in the Date::Manip::Holidays manual). + +In the first form, a list of all events active at the precise time +stored in $date will be returned. + +If the first argument evaluates to 0, a list of all events active at +any time during that day (Y,M,D) are returned. + +If the first argument is another date object, all events that are active +at any time between the two dates (inclusive) are returned. + +By default, the list returned is of the form: + + ( [START, END, NAME], + [START, END, NAME], + ... + ) + +where START is a date object when an event starts, END is a date +object when it ends, and NAME is the name of the event. Note that +START and END are the actual start and end date of the event and may +be outside the range of dates being examined (though the event will +obviously overlap the range or it wouldn't be included in the list). + +If $format is included, it can specify an alternate format for the +output. Currently, the only supported format is named "dates" and +it returns a list in the form: + + ( [DATE1, NAME1a, NAME1b, ...], + [DATE2, NAME2a, NAME2b, ...], + ... + ) + +This includes a list of all dates during the range when there is a +change in what events are active. DATE1 will always be the start of +the range being considered, and (NAME1a, NAME1b, ...) are the +list of all events that will be active at that time. At DATE2, +the list of active events changes with (NAME2a, NAME2b, ...) being +active. + +It is quite possible that a date be included which has no active +events, and in that case, the list of names will be empty. + +=item B + + $date->nearest_business_day([$tomorrowfirst]); + +This looks for the work day nearest to $date. If $date is a work day, +it is left unmodified. Otherwise, it will look forward or backwards +in time 1 day at a time until a work day is found. If $tomorrowfirst +is non-zero (or if it is omitted and the config variable TomorrowFirst +is non-zero), we look to the future first. Otherwise, we look in the +past first. In other words, in a normal week, if $date is Wednesday, +$date is returned. If $date is Saturday, Friday is returned. If +$date is Sunday, Monday is returned. If Wednesday is a holiday, +Thursday is returned if $tomorrowfirst is non-nil or Tuesday +otherwise. + +=item B + +=item B + + $date->next_business_day($off [,$checktime]); + $date->prev_business_day($off [,$checktime]); + +The next_business_day method sets the given date to $off (which can be +a positive integer or zero) business days in the future. The prev_business_day +method sets the date to $off business days in the past. + +First, $date is tested. If $checktime is nonzero, the date must fall +on a business date, and during business hours. If $checktime is zero, +the time check is not done, and the date must simply fall on a +business date. + +If the check fails, the date is moved to the start of the next +business day (if $checktime is nonzero) or the next business day at +the current time (if $checktime is zero). Otherwise, it is left +unmodified. + +Next, if $off is greater than 0, the day $off work days from now is +determined. + +One thing to note for the prev_business_day method is that if $date +check fails, the date is set to the next business date, exactly like +next_business_day. In other words, if $date is not a business day, the +call: + + $date->prev_business_day(0 [,$checktime]); + +moves $date forward in time instead of backward which is nonintuitive, +but you just have to think of day 0 as being the next business day if +$date is not a business day. + +As a result, the following two calls ALWAYS give the same result: + + $date->next_business_day(0 [,$checktime]); + $date->prev_business_day(0 [,$checktime]); + +no matter what date is stored in $date. + +=item B + + $err = $date->parse($string [,@opts]); + +This parses a string which should include a valid date and stores +it in the object. If the string does not include a valid date, an +error is returned. Use the err method to see the full error +message. + +A full date may include a calendar date (year, month, day), a time of +day (hour, minute, second), and time zone information. All of this can +be entered in many different formats. + +For information on valid date formats, refer to the section VALID +DATE FORMATS. For information on valid time zone information, refer +to the section VALID TIME ZONE FORMATS. + +If no time zone information is included in the date, it is treated +as being in the local time zone. + +If time zone information is included, the date will be kept in that +time zone, and all operations will be done in that time zone. The +convert method can be used to change the time zone to the local time +zone, or to another time zone. + +Some things to note: + +All strings are case insensitive. "December" and "DEceMBer" are +equivalent. + +When a part of the date is not given, defaults are used. This is +described below in the section "Complete vs. truncated dates and times". + +The year may be entered as 2 or 4 digits. If entered as 2 digits, it will +be converted to a 4 digit year. There are several ways to do this based on +the value of the YYtoYYYY config variable. Refer to the Date::Manip::Config +documentation for more details. + +Dates are always checked to make sure they are valid. + +If any other arguments are passed in, they act as options which may +improve the speed of parsing. These include: + + noiso8601 Do not try to parse the + date as an ISO 8601 date + or time. + nodow Do not try to parse a + day-of-week (Monday) in + the string. + nocommon Do not try to parse the + date using the formats + in the "Common date + formats" section. + noother Do not try to parse the + date using the "Less common + date formats" or a time + using the "Other time + formats". + nospecial Do not try to parse the + date using the "Special + date strings" formats + or a time using the + "Special time strings" + formats, or as a + combined date/time using + the "Additional combined + date and time" formats. + nodelta Do not treat deltas as + a date relative to now. + noholidays Do not parse holiday + names as dates. + +=item B + + $err = $date->parse_date($string [,@opts]); + +This parses a string which contains a valid date and sets the date +part of the object. + +If the object contained a valid date, the time is kept unchanged. If the +object did NOT contain a valid date, a time of 00:00:00 is used. + +@opts can be any of the strings described in the parse method above. + +=item B + + $err = $date->parse_time($string [,@opts]); + +This parses a string and sets the time portion of $date to contain it. + +If the object contained a valid date, the Y/M/D portion is left unchanged. +Otherwise, the current date is used. + +@opts can be 'noiso8601' or 'noother'. + +=item B + + $err = $date->parse_format($format,$string); + ($err,%match) = $date->parse_format($format,$string); + +This will parse a date contained in $string based on explicit format +information contained in $format. + +If the format is invalid, $err will contain an error message. +If the format is valid, but string doesn't match, an error code +of 1 is returned. + +If called in array context, a hash will be returned containing %+. +This is primarily useful if the $format string contains some +named capture groups that you define. This is discussed below. + +$format is a string containing a regular expression with some special +directives (based on the printf directives). These directives are turned +into regular expression components, and then the entire string is turned +into a regular expression which, if $string matches it, will return the +date. + +The directives available are identical to the printf directives. So, +if your $format string contains the directive '%Y', it will match a +4-digit year. + +All of the printf directives are available here with a few caveats: + + %l This directive is NOT available. + + %b,%h,%B These will all match a month name or abbreviation. + + %v,%a,%A These will all match a day name or abbreviation. + + %z,%Z,%N These will match any time zone string. + + %n Multi-line matching is not currently supported, + so this directive is not allowed. + + %x All format directives are converted to a regular + expression and then cached (so that a format + can be reused without the penalty of doing the + conversion to a regular expression with each use). + As a result, if you need to set the DateFormat config + variable (which determines the meaning of the %x + directive), it must be done before a format string + containing %x is used. If the DateFormat config variable + is set afterwards, the format string will reflect the + old, NOT THE NEW, value of DateFormat. + +The format string may not over-specify the date. In other words, you +may not include both a %y and %Y directive or both a %j and %m directive. + +A valid format string will specify any of the following sets of data: + + Required Optional + + M D H Mn S Y Zone Day-of-week + M D H Mn Y Zone Day-of-week + M D Y Zone Day-of-week + H Mn S Zone + H Mn Zone + +For example, if you had a date stored as: + + YYYY.MM-DD + +you could match it using the following: + + $date->parse_format('%Y\\.%m\\-%d',$string); + +If you wanted to extract the date from an apache log line: + + 10.11.12.13 - - [17/Aug/2009:12:33:30 -0400] "GET /favicon.ico ... + +you could use: + + $date->parse_format('.*?\\[%d/%b/%Y:%T %z\\].*',$line); + +When matching months, days, and hours, there are two directives +that could be used (for numerical versions). For the month, you +may use %m or %f. If your date is known to have a two-digit month, +you should use %m. If it contains a one- or two-digit month, you must +use %f (and it is safe to use %f for two-digit months). Similarly, +for days, you can use %d or %e and for hours you can use %H or %k. In +both cases, the first can only be used if you are guaranteed a 2-digit +value. + +In your format string, you may use capture groups (or back references +to them) in the regular expression using all of the rules of normal +regular expressions. Since Date::Manip uses named capture groups +internally, it is suggested that you also use named groups. Mixing +numbered and named groups will work... but it'll be entirely up to you +to keep track of what numbers refer to which capture groups. + +Every printf directive adds one or more named capture groups to the +regular expression. If you use named groups in the format string, +they must not conflict with the ones used internally, or else the +date will probably not be parsed correctly. + +The following named capture groups are used internally: + + y + m + d + h + mn + s + mon_name + mon_abb + dow_name + dow_abb + dow_char + dow_num + doy + nth + ampm + epochs + epocho + tzstring + off + abb + zone + g + w + l + u + +To be safe, it is suggested that any additional named capture groups +introduced by the programmer start with a capital letter. This is +guaranteed to never conflict with any existing, or future named capture +groups. + +In order to get access to the values stored in the additional named +capture groups, the parse_format function must be called in list +context, and the %+ array will be returned as the second value. + +As an example: + + $string = "before 2014-01-25 after"; + ($err,%m) = $date->parse_format('(?
.*?)%Y-%m-%d(?.*)',$string);
+
+would return a hash (%m) with the following key/value pairs:
+
+   'PRE'  => 'before '
+   'POST' => ' after'
+
+=item B
+
+=item B
+
+The prev method changes the date to the previous (or current)
+occurrence of either a day of the week, a certain time of day, or
+both. The next method changes the date to the next (or current)
+occurrence. The examples below illustrate the prev method, but
+the next one is identical in operation.
+
+There are two different ways to use this method. The first is to pass
+in a day of week and possibly a time:
+
+   $err = $date->prev($dow, $curr [,$time]);
+
+If $curr = 0, this means to look for the previous occurrence of the day
+of week, and set the time to the value passed in (or current time if
+no time was passed in). The day is ALWAY less than the current day. If
+the current day is the same day of week as $dow, then the date
+returned will be one week earlier.
+
+If $curr = 1, it means to look for the current or previous occurrence
+of the day of week, and set the time to the value passed in (or 00:00:00 if
+none was passed in). If the current day of week is the same as $dow, the
+date will remain unchanged. Since the time is then set, the new date may
+actually occur after the original date depending on the value of $time.
+
+If $curr = 2, it means to look for the last time (not counting now)
+that the day of week at the given time occurred. The date may be the
+same as the original date.
+
+$time may be a list reference of [H,MN,S], [H,MN], or [H].
+
+The following examples should illustrate the use of this function.
+
+    Original Date = Fri Nov 22 18:15:00
+
+    dow      curr   time       new date
+
+    4 (Thu)  0/1/2  undef      Thu Nov 21 00:00:00
+    4        0/1/2  [12,30,0]  Thu Nov 21 12:30:00
+
+    5 (Fri)  0/2    undef      Fri Nov 15 18:15:00
+    5        1      undef      Fri Nov 22 18:15:00
+
+    5        0      [12,30,0]  Fri Nov 15 12:30:00
+    5        1/2    [12,30,0]  Fri Nov 22 12:30:00
+
+    5        0/2    [19,30,0]  Fri Nov 15 19:30:00
+    5        1      [19,30,0]  Fri Nov 22 19:30:00
+
+The second way to use this method is by passing in undef for the day of
+week.
+
+   $err = $date->prev(undef,$curr,$time);
+
+In this case, a time is required and it must be a list reference
+of 3 elements: [H, MN, S]. Any or all of the elements may be undef.
+
+The new date is the previous occurrence of the time.
+
+If you define hours, then minutes and seconds may be defined, or
+default to 0 and you are looking for a previous time that the
+specified time (HH:00:00) occurred (which might be as much as 24 hours
+in the past).
+
+If hours are undefined and minutes are defined, then seconds may be
+defined, or default to 0, and you are looking for the last time the
+minutes/seconds (MN:SS) appeared on the digital clock, which will be
+sometime in the past hour.
+
+Finally, if hours and minutes are undefined, seconds must be defined
+(or default to zero) and the last time that that second occurred will
+be returned (which will be sometime in the past minute).
+
+If $curr is non-zero, the current time is returned if it matches the
+criteria passed in, so the returned value will be now or in the past.
+If $curr is zero, the time returned will definitely be in the past.
+
+    DATE = Fri Nov 22 18:15:00
+
+    curr  hr     min    sec      returns
+    0/1   18     undef  undef    Nov 22 18:00:00
+    0/1   18     30     0        Nov 21 18:30:00
+    0     18     15     undef    Nov 21 18:15:00
+    1     18     15     undef    Nov 22 18:15:00
+    0     undef  15     undef    Nov 22 17:15:00
+    1     undef  15     undef    Nov 22 18:15:00
+
+=item B
+
+   $out = $date->printf($in);
+   @out = $date->printf(@in);
+
+This takes a string or list of strings which may contain any number of
+special formatting directives. These directives are replaced with
+information contained in the date. Everything else in the string is
+returned unmodified.
+
+A directive always begins with '%'. They are described in the section
+below in the section PRINTF DIRECTIVES.
+
+=item B
+
+   $secs = $date->secs_since_1970_GMT();
+
+This returns the number of seconds that have elapsed since Jan 1, 1970
+00:00:00 GMT (negative if the date is earlier).
+
+The reverse is also allowed:
+
+   $err = $date->secs_since_1970_GMT($secs);
+
+which sets the date to $secs seconds from Jan 1, 1970 00:00:00 GMT in
+the local time zone.
+
+=item B
+
+   $err = $date->set($field,@vals [,$isdst]);
+
+This explicitly sets one or more fields in a date.
+
+$field can be any of the following:
+
+   $field   @vals
+
+   zone     [ZONE]         ZONE can be any zone or alias
+
+   zdate    [ZONE,]DATE    sets the zone and entire date
+
+   date     DATE           sets the entire date
+
+   time     TIME           sets the entire time
+
+   y        YEAR           sets one field
+   m        MONTH
+   d        DAY
+   h        HOUR
+   mn       MINUTE
+   s        SECOND
+
+Here, DATE is a list reference containing [Y,M,D,H,MN,S] and TIME is
+a list reference containing [H,MN,S].
+
+ZONE is optional (it defaults to the local zone as defined either by
+the system clock, or the SetDate or ForceDate config variables). If it
+is passed in, it can be any zone name, abbreviation, or offset. An
+offset can be expressed either as a valid offset string, or as a list
+reference.  Refer to the join/split functions of Date::Manip::Base for
+information on valid offset strings.
+
+An optional last argument is $isdst (which must be 0 or 1) is included
+when setting a date which could be in either standard time or daylight
+saving time. It is ignored in all other situations. If it is
+not included, and the resulting date could be in either, it will
+default to standard time.
+
+The $date object must contain a valid date (unless the entire date
+is being set with $field set to either "zdate" or "date").
+
+If $field is "zone", the time zone of the date will be set. If ZONE is
+not passed in, it will be set to the local time zone.  When setting the
+time zone, no conversion is done! Whatever date and time is stored in
+the $date object prior to this remains unchanged... except it will
+be that date and time in the new time zone.
+
+If $field is "zdate", the entire date and time zone is set. If ZONE is
+not passed in, it is set to the local time zone.
+
+If $field is "date", the entire date will be set, but the time zone
+of the date will not be changed.
+
+If $field is "time", or one of the individual fields, only those
+fields will be modified.
+
+An error is returned if an invalid argument list is passed in, or if
+the resulting date is checked and found to be invalid.
+
+=item B
+
+   $val = $date->value([$type]);
+   @val = $date->value([$type]);
+
+These return the value of the date stored in the object.
+
+In scalar context, a printable string in the form YYYYMMDDHH:MN:SS
+is returned. In list context, a list is returned of (Y,M,D,H,MN,S).
+
+If $type is omitted, the date is returned in the time zone it was
+parsed in.
+
+If $type is "local", it is returned in the local time zone (which
+is either the system time zone, or the zone specified with the
+SetDate or ForceDate config variables).
+
+If $type is "gmt", the date is returned in the GMT time zone.
+
+An empty string or list is returned in the case of an error (and
+an error code is set).
+
+=item B
+
+   $wkno = $date->week_of_year([$first]);
+
+This figures out the week number. If $first is passed in, it must be
+between 1 and 7 and refers to the first day of the week. If $first is
+not passed in, the FirstDay config variable is used.
+
+NOTE: This routine should only be called in rare cases.  Use printf with
+the %W, %U, %J, %L formats instead.  This routine returns a week between 0
+and 53 which must then be "fixed" to get into the ISO 8601 weeks from 1 to
+53.  A date which returns a week of 0 actually belongs to the last week of
+the previous year.  A date which returns a week of 53 may belong to the
+first week of the next year.
+
+=back
+
+=head1 ISSUES WITH PARSING DATES
+
+The following issues may occur when parsing dates that should be
+understood to make full use of this module.
+
+=over 4
+
+=item B
+
+Date formats are either complete or truncated. A complete date fully
+specifies the year, month, and day and a complete time fully specifies
+the hour, minute, and second.
+
+It should be understood that in many instances, the information may be
+implied rather than explicitly stated, but it is still treated as
+complete.
+
+For example, the date "January 3" is complete because it implies the
+current year.
+
+A truncated calendar date or time does not include information about
+some of the fields. Date::Manip will never work with a partial date or
+time, so defaults will be supplied.
+
+For example, the date "2009-01" is missing a day field, so a default
+will be used. In this case, the day will be the 1st, so this is
+equivalent to "Jan 1st 2009". If only the year is given, it will
+default to Jan 1.
+
+If the time, or any of it's components is missing, they default to
+00. So the time "12:30" and "12:30:00" are equivalent.
+
+The "complete" method can be used to check what type of date was
+parsed, and which values were specified (either explicitly or implied)
+and which were provided as a default. It should be noted that there
+is no way to differentiate between an explicit and implied value.
+
+A string with a date and/or time may consist of any of the following:
+
+   a complete date and a time (complete or truncated)
+   a truncated date with no time
+   a time (complete or truncated) with no date
+
+In other words, the date "Jan 2009 12:30" is not valid since it consists
+of a time with a truncated date.
+
+=back
+
+=head1 VALID TIME ZONE FORMATS
+
+When specifying a time zone, it can be done in three different ways.
+One way is to specify the actual time zone. The second is to supply
+a valid time zone abbreviation. The third is to specify an offset (with
+an optional abbreviation). The following dates illustrate the these
+formats.
+
+The timezone information always follows the time immediately, and may
+only be included if a time is included. The following examples use
+an ISO 8601 format for the date/time, but any of the other date and
+time formats may be used.
+
+The first way to specify the time zone is to specify it by complete name
+(or using one of the standard aliases):
+
+   2001-07-01-00:00:00 America/New_York
+
+Although this is unambiguous when it comes to determining the time zone,
+the time is ambiguous in most zones for one hour of the year. When
+a time change occurs during which the clock is moved back, the same
+wall clock time occurs twice.
+
+For example, in America/New_York, on Sunday, Nov 2, 2008, at 02:00 in
+the morning, the clock was set back to 01:00. As a result, the date
+Nov 2, 2008 at 01:30 is ambiguous. It is impossible to determine if
+this refers to the 01:30 that occurred half an hour before the time
+change, or the one 30 minute after the change.
+
+In practice, if this form is used, the date will be assigned to
+standard time, meaning that there will be some times (typically 1 hour
+per year) which cannot be expressed this way. As such, this method is
+discouraged.
+
+The second way to specify the time zone, which is the most common, is
+to use a time zone abbreviation:
+
+   2001-07-01-00:00:00 EDT
+
+Unfortunately, the abbreviation does not uniquely determine the
+time zone except in a few cases. In order to assign a time zone,
+Date::Manip will refer to a list of all time zones which use the
+abbreviation.  They will be tested, in the order given in the
+Date::Manip::Zones documentation, and the first match (i.e. the one in
+which the given date/time and abbreviation are valid) determines the
+time zone which will be used. A great deal of effort has been made to
+ensure that the most likely time zone will be obtained (i.e. the most
+common time zones are tested before less common ones), so in most
+cases, the desired results will be obtained.
+
+If the default order does not yield the desired time zone, the order of
+testing can be modified using the abbrev method described in the
+Date::Manip::TZ documentation.
+
+Although the time zone is ambiguous, the date is not, since only
+time zones for which the date are valid will be used.
+
+The third way to specify the time zone is by specifying an offset and
+an optional abbreviation:
+
+   2001-07-01-00:00:00 -04
+   2001-07-01-00:00:00 -0400
+   2001-07-01-00:00:00 -040000
+   2001-07-01-00:00:00 -04:00
+   2001-07-01-00:00:00 -04:00:00
+
+   2001-07-01-00:00:00 -04 (EDT)
+   2001-07-01-00:00:00 -0400 (EDT)
+   2001-07-01-00:00:00 -040000 (EDT)
+   2001-07-01-00:00:00 -04:00 (EDT)
+   2001-07-01-00:00:00 -04:00:00 (EDT)
+
+   2001-07-01-00:00:00 -04 EDT
+   2001-07-01-00:00:00 -0400 EDT
+   2001-07-01-00:00:00 -040000 EDT
+   2001-07-01-00:00:00 -04:00 EDT
+   2001-07-01-00:00:00 -04:00:00 EDT
+
+The offset almost never sufficient to uniquely determine the time zone
+(and it is not even guaranteed that both the offset and abbreviation
+will, though in practice, it is probably sufficient). In this
+instance, the time zone will be determined by testing all time zones
+which have the given offset (and abbreviation if it is included) until
+one is found which matches both pieces of information. For more
+information about how this testing is done, refer to the def_zone
+method of the Date::Manip::TZ documentation.
+
+=head1 VALID DATE FORMATS
+
+There are several categories of date formats supported by Date::Manip.
+These are strings which specify only the year/month/day fields.
+
+These formats explicitly set the date, but not the time. These formats
+may be combined with a time string (as specified below) to set both
+the date and time. If this is not done, the default time is determined
+by the DefaultTime config variable.
+
+=over 4
+
+=item B
+
+The preferred date formats are those specified by ISO 8601. The
+specification includes valid calendar date and valid time formats.
+Date::Manip will handle all of these formats, but does not require
+that the dates rigidly adhere to the specification since the ultimate
+goal of Date::Manip is to handle dates as they are represented in
+real life and some common variations exist which are similar to, but
+not identical to, those from the specification.
+
+A calendar date includes the following fields:
+
+   CC    2-digit representation of the century
+   YY    2-digit representation of the year in
+         a century
+   MM    2-digit representation of a month
+   DD    2-digit representation of a day of month
+   DoY   3-digit representation of a day of year
+         (001-366)
+   Www   the character "W" followed by a 2-digit
+         week of the year (01-53)
+   D     the day of the week (1-7)
+
+The following date formats are considered complete by Date::Manip. In
+the following, the date Thu Mar 5 2009 is used as an example.  This is
+the 64th day of the year. Thu is the 4th day of the week.  The week
+starting Mon, Mar 2 is the 10th week of the year (according the the
+ISO 8601 definition). Obviously, some of the formats are only valid
+when used at some times. For example, the format --MMDD refers to a
+month and day in the current year, so the date Mar 5, 2009 can only be
+specified using this format during 2009.
+
+   Format      Notes   Examples
+
+   CCYYMMDD            20090305
+   CCYY-MM-DD          2009-03-05
+
+   YYMMDD      1,2,4   090305
+   YY-MM-DD            09-03-05
+
+   -YYMMDD     3,4     -090305
+   -YY-MM-DD           -09-03-05
+
+   --MMDD      1       --0305
+   --MM-DD             --03-05
+
+   ---DD       1       ---05
+
+
+   CCYYDoY             2009064
+   CCYY-DoY            2009-064
+
+   YYDoY       1,4     09064
+   YY-DoY              09-064
+
+   -YYDoY      3,4     -09064
+   -YY-DoY             -09-064
+
+   -DoY        1       -064
+
+
+   CCYYWwwD            2009W104
+   CCYY-Www-D          2009-W10-4
+
+   YYWwwD      1,4     09W104
+   YY-Www-D            09-W10-4
+
+   -YYWwwD     3,4     -09W104
+   -YY-Www-D           -09-W10-4
+
+   -YWwwD      1       -9W104
+   -Y-Www-D            -9-W10-4
+                       Y is the year (0-9) in
+                       current decade
+
+   -WwwD       1       -W104
+   -Www-D              -W10-4
+
+   -W-D        1       -W-4
+                       D is day (1-7) in
+                       current week
+
+   ---D        1       ---4
+                       same as -W-D
+
+The following date formats are truncated:
+
+   CCYY-MM     2       2009-03   (2009-03-01)
+
+   CCYY                2009      (2009-01-01)
+
+   CC          2       20        (2000-01-01)
+
+   -YYMM       4       -0903
+   -YY-MM              -09-03
+
+   -YY         4       -09
+
+   --MM                --03
+
+   CCYYWww             2009W10
+   CCYY-Www            2009-W10
+
+   YYWww       4       09W10
+   YY-Www              09-W10
+
+   -YYWww      3,4     -09W10
+   -YY-Www             -09-W10
+
+   -Www                -W10
+
+Notes:
+
+1  These formats are considered truncated in the standard, but since
+   they do include (or imply, using the current date for defaults)
+   all of the fields, and since they do not introduce any parsing
+   complexities, the standard is relaxed, and they are treated as
+   complete.
+
+2  These formats are treated differently than in Date::Manip 5.xx as
+   described below.
+
+3  These formats are not defined in the ISO 8601 spec, but
+   are added for the sake of completeness since they do not
+   add any parsing incompatibilities.
+
+4  Formats where the century is not given are described as a year in
+   the current century in the specification. Date::Manip treats this
+   more generically using the YYtoYYYY config variable. This will be
+   used to determine how to determine the full year.
+
+Date::Manip 5.xx handled ISO 8601 dates in a less rigid fashion, and
+deviated from the specification in several formats. As of 6.00, the
+specification is followed much more closely so that all of the date
+formats included in it should produce valid dates.  This changes, in a
+backwards incompatible way, the way a few strings will be interpreted
+as dates.
+
+As of 6.00, a two-digit date will be treated as CC. Previously, it
+was treated as YY.
+
+A six-digit date will be treated as YYMMDD. Previously, it was treated
+as YYYYMM.
+
+Previously, dashes were treated as optional in many cases. According
+to the specification, dates may be written in expanded form (with all
+dashes present) or abbreviate form (with no dashes). As of 6.00, this
+is the behavior, so the formats: YYMMDD and YY-MM-DD are allowed, as
+per the specification, but the format YY-MMDD is NOT allowed (though
+it was previously).
+
+The Www-D formats require a bit of explanation.  According to the
+specification, the date:
+
+   1996-w02-3
+
+refers to the day with an ordinal number of 3 within the calendar week
+in the 2nd week of 1996.
+
+In the specification, the days of the week are numbered from 1 to 7
+(Monday to Sunday), and the week always begins on Monday, so day 1
+(Monday) is always the first day of the week, day 2 (Tuesday) is
+always the second day of the week, etc.
+
+In Date::Manip, the constraint that the week must start with Monday is
+relaxed, allowing the week to begin with Sunday (a far more common
+start of the week in calendars, at least in some parts of the world).
+
+This presents a problem though in that the above date could be
+interpreted as Wednesday (day 3) of the 2nd week of 1996, or as the
+3rd day of the 2nd week of 1996 (which would normally be Wednesday,
+but would be Tuesday if the week begins on Sunday).
+
+As of Date::Manip 6.00, the above date will be interpreted as the 3rd
+day of the 2nd week. This is a reversal from Date::Manip 5.xx, but I
+believe is what the specification would require. For more information,
+refer to the Date::Manip::Changes document.
+
+=item B
+
+Date::Manip supports a number of common date formats. The following fields
+may be included in a date:
+
+  YY    2-digit representation of the year
+  YYYY  4-digit representation of the year
+  M     1- or 2- digit representation of the month
+  MM    2-digit representation of the month
+  D     1- or 2- digit representation of the day
+  DD    2-digit representation of the day
+  mmm   The abbreviated or full month name (i.e. Jan)
+
+The following date formats are supported:
+
+   Format      Notes   Examples
+
+   M/D         1,2,3   3/5
+   M/D/YY      1       3/5/09
+   M/D/YYYY    1       3/5/2009
+
+   YYYY/M/D            2009/3/5
+
+   mmm/D               Mar/5
+   mmm/D/YY            Mar/5/09
+   mmm/D/YYYY          Mar/5/2009
+   D/mmm               5/Mar
+   D/mmm/YY            5/Mar/09
+   D/mmm/YYYY          5/Mar/2009
+   YYYY/mmm/D          2009/Mar/5
+
+   mmmD                Mar5
+   mmmDDYY     4       Mar0509
+   mmmDDYYYY           Mar052009
+   Dmmm                5Mar
+   DmmmYY              5Mar09
+   DmmmYYYY            5Mar2009
+   YYYYmmmD            2009Mar5
+
+   mmmD YY             Mar5 09
+   mmmD YYYY           Mar5 2009
+   Dmmm YY             5Mar 09
+   Dmmm YYYY           5Mar 2009
+
+   mmm/D YY            Mar/5 09
+   mmm/D YYYY          Mar/5 2009
+   D/mmm YY            5/Mar 09
+   D/mmm YYYY          5/Mar 2009
+
+   YY   mmmD           09   Mar5
+   YYYY mmmD           2009 Mar5
+   YY   Dmmm           09   5Mar
+   YYYY Dmmm           2009 5Mar
+
+   YY   mmm/D          09   Mar/5
+   YYYY mmm/D          2009 Mar/5
+   YY   D/mmm          09   5/Mar
+   YYYY D/mmm          2009 5/Mar
+
+   YYYY:MM:DD          2010:01:15 (EXIF format)
+
+   mmmYYYY     4       Jun 2010
+   YYYYmmm     4       2010 June
+   mmm/YYYY    4       Jun/2010
+   YYYY/mmm    4       2010/Jun
+
+In the formats above, the slash (/) can be replace by any of the valid
+separators: whitespace, slash (/), period (.), or dash (-). The dash,
+though allowed, is discouraged since it may conflict with an ISO 8601
+format.  For example, the format MM/DD/YY is just fine, but MM-DD-YY
+does not work since it conflicts with YY-MM-DD.  To be safe, if "-" is
+used as a separator in a non-ISO format, they should be turned into
+"/" before calling the Date::Manip routines or you should use the 'noiso8601'
+option with the B or B methods.
+
+No matter what separator is used, the same separator must be used
+throughout the date. For example, MM/DD/YY is valid and MM.DD.YY is
+also valid, but MM/DD.YY is NOT valid.
+
+Notes:
+
+1  With these formats, Americans tend to write month first, but many
+   other countries tend to write day first.  The latter behavior can be
+   obtained by setting the config variable DateFormat to something other
+   than "US".
+
+2  The dot (.) separator may not be used in the M/D format since it
+   will be interpreted as the H12,H+ format described below.
+
+3  The M/D format should not use the period (.) separator as that will
+   incorrectly match the HH,H+ time format.
+
+4  Historically, I have not supported partial dates (i.e. dates that
+   were not fully specified), but it has been argued that something like
+   'Jun 1910' would be interpreted by almost everyone as a day in June
+   of 1910 instead of June 19, 2010.  And it has been shown that in
+   some applications, dates are specified in that way.  I have added the
+   new config variable Format_MMMYYYY which will change this.  If this
+   variable is not set, the formats allowed are:
+
+      mmmDDYY
+
+   If it is set, the formats allowed are:
+
+      mmmYYYY
+      YYYYmmm
+
+   The day of week may not be included with these formats.  When
+   parsing a full date/time, if Format_MMMYYYY is set to 'first',
+   it returns the 1st of the month at midnight.  If it is set to
+   'last', it returns the last day at 23:59:59.  If parsing only
+   only a date, it will be set to the first or last day of the
+   month at midnight.
+
+These formats explicitly set the date, but not the time. The default
+time is determined by the DefaultTime config variable.
+
+=item B
+
+The following formats are also supported by Date::Manip:
+
+   DoW
+        The day of week of the current week
+           Friday
+           Friday at 12:40
+
+   MMM Nth [YYYY]
+   Nth MMM [YYYY]
+   YYYY MMM Nth
+   YYYY Nth MMM
+        Dec 1st 1970
+        1st Dec 1970
+        1970 Dec 1st
+        1970 1st Dec
+
+   next/prev DoW
+        The next or last occurrence of DoW
+           next Friday
+           last Friday at 12:40
+
+   next/last week/month/year
+        The day one week/month/year from now
+        or in the past
+           next week
+           last month at 15:00
+
+   last day in MMM [YYYY]
+        The last day of the month
+           last day in October
+           last day in October 1996
+
+   last DoW in MMM [YYYY]
+        The last DoW in the month
+           last Tuesday in October
+           last Tuesday in October 1996
+
+   last DoW in YYYY
+        The last DoW in the year
+           last Tuesday in 1997
+
+           NOTE: "last DoW" doesn't work in
+           English since the word "last"
+           is used for both this expression
+           and for "prev DoW", which gets
+           parsed first. "last DoW" MAY
+           work in other languages.
+
+   Nth DoW in MMM [YYYY]
+        The Nth DoW in the month
+           3rd Tuesday in October
+           3rd Tuesday in October 1996
+
+   Nth DoW [YYYY]
+        The Nth DoW in the year
+           22nd Sunday
+           22nd Sunday in 1996
+
+   Nth day in MMM [YYYY]
+        The Nth day of the month
+           1st day of February
+           1st day of February 2012
+
+   DoW week
+        British: same as "in 1 week on DoW"
+           Monday week
+
+   DoW week N [YYYY]
+   Dow Nth week [YYYY]
+        Sunday week 22
+        Sunday 22nd week
+           These refer to the day of week
+           of the Nth week of the year.
+
+   Nth
+        12th
+           This refers to the Nth day of the
+           current month.
+
+Note that the formats "Sunday week 22" and "22nd Sunday" give
+different behaviors.  "Sunday week 22" returns the Sunday of the 22nd
+week of the year based on how week 1 is defined.  ISO 8601 defines
+week one to contain Jan 4, so "Sunday week 1" might be the first or
+second Sunday of the current year, or the last Sunday of the previous
+year.  "22nd Sunday" gives the actual 22nd time Sunday occurs in a
+given year, regardless of the definition of a week.
+
+=item B
+
+Most languages have strings which can be used to specify the date (relative
+to today). In English, these include the strings:
+
+   today
+   tomorrow
+   yesterday
+
+There is also support for the British formats:
+
+   today week
+   tomorrow week
+   yesterday week
+
+which refer to one week after today/tomorrow/yesterday respectively.
+
+Other languages have similar strings.
+
+=item B
+
+You can parse holiday names as dates (including timezones).  For example:
+
+   Christmas
+   Christmas 2010
+   Christmas 2010 at noon
+   Christmas 2010 at noon PST
+   Saturday Christmas 2010 at noon
+
+=back
+
+In all of the formats (except for ISO 8601 formats), the day of week
+("Friday") can be entered anywhere in the date and it will be checked
+for accuracy.  In other words,
+
+  "Tue Jul 16 1996 13:17:00"
+
+will work but
+
+  "Jul 16 1996 Wednesday 13:17:00"
+
+will not (because Jul 16, 1996 is Tuesday, not Wednesday).
+
+=head1 A NOTE ABOUT FOREIGN LANGUAGE DATES
+
+Although Date::Manip has some support for parsing dates in foreign
+languages, it must be noted that the formats supported are largely
+based on English equivalents.
+
+There are probably many different dates that are perfectly valid, and
+in common usage, in other languages which do not have an equivalent in
+the English language, and unfortunately, Date::Manip will probably not
+parse these.
+
+You are free to send these to me, and I'll see if there is a way to
+add them in, but I do not guarantee anything.  Without having a
+full-blown language parser (or at least the portion of the language
+that is devoted to calendar and time), most of these formats will
+simply not be supportable.
+
+=head1 VALID TIME FORMATS
+
+There are several categories of time formats supported by Date::Manip.
+These are strings which specify only the hour/minute/second fields.
+
+=over 4
+
+=item B
+
+A time may be also be complete or truncated.  Again, Date::Manip
+treats some formats as complete even though the specification calls
+them truncated.
+
+A time may include the following fields:
+
+   HH    2-digit representation of the hour
+   MN    2-digit representation of the minutes
+   SS    2-digit representation of the seconds
+   H+    1+ digit representation of fractional hours
+   M+    1+ digit representation of fractional minutes
+   S+    1+ digit representation of fractional seconds
+
+The following time formats are considered complete by Date::Manip. The time
+12:30:15 will be expressed in the examples.
+
+   Format      Notes   Examples
+
+   HHMNSS      2       123015
+
+   HH:MN:SS            12:30:15
+
+   HHMNSS,S+           123015,5
+   HH:MN:SS,S+         12:30:15,5
+                       Fractional seconds are ignored
+
+   HHMN,M+             1230,25
+   HH:MN,M+            12:30,25
+                       This is 12:30:00 + 0.25 minutes
+
+   HH,H+               12,5
+                       This is 12:00:00 + 0.5 hours, so
+                       this is equivalent to 12:30:00
+
+   -MNSS       1       -3015
+   -MN:SS              -30:15
+
+   --SS        1       --15
+
+   -MNSS,S+    1       -3015,5
+   -MN:SS,S+           -30:15,5
+
+   -MN,M+      1       -30,25
+
+   --SS,S+     1       --15,5
+
+   HHMN        3       1230
+   HH:MN               12:30
+
+The following time formats are truncated:
+
+   HH                  12
+
+   -MN                 -30
+
+Notes:
+
+1  These formats are considered truncated in the standard, but since
+   they do include (or imply, using the current time for defaults) all of
+   the fields, and since they do not introduce any parsing complexities,
+   the standard is relaxed, and they are treated as complete.
+
+2  The HHMNSS format will not be correctly parsed since it is impossible
+   to distinguish between it and YYMMDD. In order to parse an all-digit
+   time, add the string ",0" to the end to force it to be interpreted
+   as a time or include time zone information (either a zone name or
+   abbreviation... an offset will not work in this case).
+
+3  The HH:MN format will be treated as complete, even though it is
+   incomplete due to missing the seconds. In real life, expressing
+   a time in the HH:MN format is very common, and is regarded as complete,
+   and might include time zone information.
+
+ISO 8601 times may be followed by a time zone unless they are truncated.
+Truncated times may not include a timezone.  Date::Manip relaxes the
+constraints placed on the time zone format and allows any of the
+methods used to specify the time zone including time zone name, abbreviation,
+or offset. The time zone may be separated from the time by a space, but
+it is not required.
+
+Another constraint that is relaxed is that the fractional part may be
+specified using a period. In other words, the following are equivalent:
+
+   12:30,25
+   12:30.25
+
+It should be noted (as it is in the specification) that using a
+negative time zone offset may cause confusion. In addition to visually
+confusing, it may not be parsed correctly. For example, the time:
+
+   123005-0300
+
+may not be parsed correctly. When using an offset time zone, you
+should always use the colon separators in the time:
+
+   12:30:05-0300
+
+=item B
+
+A time may include any of the following fields:
+
+   H24   1- or 2-digit representation of the hour (0-23)
+   H12   1- or 2-digit representation of the hour (1-12)
+   MN    2-digit representation of the minutes
+   SS    2-digit representation of the seconds
+   H+    1+ digit representation of fractional hours
+   M+    1+ digit representation of fractional minutes
+   S+    1+ digit representation of fractional seconds
+   AM    A language specific AM/PM string
+
+The following time formats are accepted:
+
+   Format      	       Examples
+
+   H24:MN:SS           17:30:15
+   H12:MN:SS AM        5:30:15 PM
+   H12:MN:SS
+
+   H24:MN:SS,S+        17:30:15,5
+   H12:MN:SS,S+ AM     5:30:15,5 PM
+   H12:MN:SS,S+        Fractional seconds are ignored
+
+   H24:MN,M+           17:30,25
+   H12:MN,M+ AM        5:30,25 PM
+   H12:MN,M+           This is 17:30:00 + 0.25 minutes
+
+   H24,H+              17,5
+   H12,H+ AM           5,5 PM
+   H12,H+              This is 17:00:00 + 0.5 hours, so
+                       this is equivalent to 17:30:00
+
+   H24:MN              17:30
+   H12:MN AM           5:30 PM
+   H12:MN
+
+   H12 AM              5 PM
+
+The fractional part may be specified using a comma or a period.
+Fractional seconds may also be separated using a colon.  A
+language specific fractional separator may also be available for
+some languages.
+
+In other words, the following are equivalent:
+
+   12:30:20,25
+   12:30:20.25
+   12:30:20:25
+
+Some languages have alternate H:MN and MN:S separators. For example,
+one H:MN separator in French is 'h' (the MN:S separator is still a
+colon), so the following are equivalent:
+
+   12:30:00
+   12h30:00
+
+Time zone information can be included immediately following the time.
+It can be separated by whitespace from the time, or it can be
+immediately adjacent.
+
+=item B
+
+Different languages may have some words which can be used to specify a
+certain time of day. In English, for example, the following words are
+equivalent to the time listed:
+
+   noon        12:00:00
+   midnight    00:00:00
+
+So, the following are equivalent:
+
+   Jan 2 2009 at noon
+   Jan 2 2009 12:00:00
+
+There were two possible ways to interpret midnight. One was at the
+start of the day (00:00:00) and the other was at the end of the day
+(24:00:00 which would actually mean at 00:00:00 of the following day).
+The first has been used to maintain backwards compatibility with
+Date::Manip 5.xx .
+
+Other languages have similar strings.
+
+=back
+
+In most languages, a word similar to "at" may precede the time (this
+does NOT apply to ISO 8601 time formats). This word (which must be
+separate from all other parts of the date with whitespace) is
+optional, and the following are equivalent:
+
+   12:30
+   at 12:30
+
+The times "12:00 am", "12:00 pm", and "midnight" are not well defined.
+Date::Manip uses the following convention:
+
+  midnight = 12:00am = 00:00:00
+  noon     = 12:00pm = 12:00:00
+
+and the day goes from 00:00:00 to 23:59:59.  In other words, midnight is the
+beginning of a day rather than the end of one.  The time 24:00:00 is also
+allowed (though it is automatically transformed to 00:00:00 of the following
+day). This gives the unusual result of parsing:
+
+  Wed Feb 8 2006 24:00:00
+
+which gives the date of:
+
+  Thu Feb 9 2006 00:00:00
+
+=head1 VALID COMBINED DATE AND TIME FORMATS
+
+There are several categories of strings which specify both the date and
+time. These include the following:
+
+=over 4
+
+=item B
+
+A combined ISO 8601 date and time is a string containing a complete
+ISO 8601 date and a complete or truncated ISO 8601 time.  It may
+also include a timezone, provided a complete time is included.
+
+Date::Manip relaxes the restrictions on how the two are combined.  The
+time may be separated from the date by space, dash, or the letter T,
+or the two may be joined with nothing separating them.
+
+When the time immediately follows the date, or when the two are
+separated by a dash, the resulting string MUST be
+unambiguous. Provided the date includes all of the dashes in it
+(i.e. YY-MM-DD instead of YYMMDD), it is rare that there is any
+ambiguity. If the date does not include dashes, the strings may be
+ambiguous, and in this case, separating the date and time with a space
+or the letter T is useful (and perhaps necessary) to correctly
+interpret the string.
+
+The DoY formats should always be separated from the time by
+something. They are visually confusing if they are not separated from
+the time.
+
+Time zone information can be included immediately following a complete
+time.  It may not be included if no time is given, or if a truncated
+time is included. The time zone may be separated from the time with
+whitespace, or it can be immediately adjacent to it (since the ISO
+8601 specification allows it in some cases).
+
+=item B
+
+A date from any of the non-ISO 8601 formats above may be combined with
+any of the non-ISO 8601 time formats above in any combination to form
+a valid combined date and time.
+
+=item B
+
+Dates are often specified in terms of a delta from "now". For example,
+"in 2 days".
+
+Most valid deltas can be used to specify a date, and the date is defined
+as that delta added to "now". Refer to the Date::Manip::Delta documentation
+for a list of valid delta formats.
+
+If the delta itself does not include a time part, the time may be specified
+explicitly. For example:
+
+   in 3 days at 12:00:00
+   in 3 days at 12:00:00 PST
+
+will take the delta part "in 3 days" and add it to the current time, then
+set the time to 12:00:00.
+
+It is NOT allowed to include an explicit time if any time segment was
+included in the delta. For example, the following is invalid:
+
+   in 3 days 2 hours at 12:00:00
+
+One additional format that is supported is to include only week (or higher)
+components in the delta and to set the day of week. For example:
+
+  Friday in 2 weeks
+  in 2 weeks on Friday
+  Friday 2 weeks ago
+  2 weeks ago on Friday at 13:45
+
+These first apply the delta (of weeks, months, and years) to the current
+time, and then set the day to the given day-of-week in that week.
+
+=item B
+
+Most language have strings which can be used to specify the full date and
+time (relative to the current date and time). In English, these include
+the string:
+
+   now
+
+They may also have a timezone attached:
+
+   now PST
+
+=item B
+
+The following formats are also supported:
+
+   epoch SECS
+      The number of seconds since the epoch
+      (Jan 1, 1970 00:00:00 GMT). SECS may
+      be negative to give time before the
+      epoch.
+
+or
+
+   epoch SECS TIMEZONE
+
+=back
+
+A couple of notes:
+
+Commas may be included in all date formats arbitrarily (except for ISO
+8601 formats where they may only be included when allowed by the
+specification).
+
+The time/time zone is removed from the date before the date is parsed,
+so the time may appear before or after the date, or between any two
+parts of the date.
+
+The time and the zone do not need to be adjacent, so the string:
+
+   Jan 21 17:13:27 2010 -0400
+
+will work.  If the timezone is separate from the date, it MUST be
+separated from any other portion of the date by whitespace.
+
+Certain words such as "on", "in", "at", "of", etc. which commonly
+appear in a date or time are ignored (except in ISO 8601 formats).
+
+=head1 PRINTF DIRECTIVES
+
+The following printf directives are replaced with information
+from the date.
+
+   Year
+       %y     year                     - 00 to 99
+       %Y     year                     - 0001 to 9999
+
+   Month, Week
+       %m     month of year            - 01 to 12
+       %f     month of year            - " 1" to "12"
+       %b,%h  month abbreviation       - Jan to Dec
+       %B     month name               - January to December
+
+   Day
+       %j     day of the year          - 001 to 366
+       %d     day of month             - 01 to 31
+       %e     day of month             - " 1" to "31"
+       %v     weekday abbreviation     - " S"," M"," T", ...
+       %a     weekday abbreviation     - Sun to Sat
+       %A     weekday name             - Sunday to Saturday
+       %w     day of week              - 1 to 7 (1=Monday)
+       %E     day of month with
+              suffix                   - 1st, 2nd, 3rd...
+
+   Hour
+       %H     hour                     - 00 to 23
+       %k     hour                     - " 0" to "23"
+       %i     hour                     - " 1" to "12"
+       %I     hour                     - 01 to 12
+       %p     AM or PM
+
+   Minute, Second, Time zone
+       %M     minute                   - 00 to 59
+       %S     second                   - 00 to 59
+       %Z     time zone abbreviation   - EDT
+       %z     time zone as GMT offset  - +0100 (see Note 4)
+       %N     time zone as GMT offset  - +01:00:00
+
+   Epoch (see NOTE 3 below)
+       %s     seconds from
+              1/1/1970 GMT             - negative if before
+       %o     seconds from 1/1/1970
+              in the current time
+              zone
+
+   Date, Time
+       %c     %a %b %e %H:%M:%S %Y     - Fri Apr 28 17:23:15 1995
+       %C,%u  %a %b %e %H:%M:%S %Z %Y  - Fri Apr 28 17:25:57 EDT 1995
+       %g     %a, %d %b %Y %H:%M:%S %Z - Fri, 28 Apr 1995 17:23:15 EDT
+       %D     %m/%d/%y                 - 04/28/95
+       %x     %m/%d/%y or %d/%m/%y     - 04/28/95 or 28/04/95
+                                         (Depends on DateFormat variable)
+       %l     date in ls(1) format (see NOTE 1 below)
+                %b %e %H:%M            - Apr 28 17:23 (*)
+                %b %e  %Y              - Apr 28  1993 (*)
+       %r     %I:%M:%S %p              - 05:39:55 PM
+       %R     %H:%M                    - 17:40
+       %T,%X  %H:%M:%S                 - 17:40:58
+       %V     %m%d%H%M%y               - 0428174095
+       %Q     %Y%m%d                   - 19961025
+       %q     %Y%m%d%H%M%S             - 19961025174058
+       %P     %Y%m%d%H:%M:%S           - 1996102517:40:58
+       %O     %Y-%m-%dT%H:%M:%S        - 1996-10-25T17:40:58
+       %F     %A, %B %e, %Y            - Sunday, January  1, 1996
+       %K     %Y-%j                    - 1997-045
+
+   Special Year/Week formats (see NOTE 2 below)
+       %G     year, Monday as first
+              day of week              - 0001 to 9999
+       %W     week of year, Monday
+              as first day of week     - 01 to 53
+       %L     year, Sunday as first
+              day of week              - 0001 to 9999
+       %U     week of year, Sunday
+              as first day of week     - 01 to 53
+       %J     %G-W%W-%w                - 1997-W02-2
+
+   Other formats
+       %n     insert a newline character
+       %t     insert a tab character
+       %%     insert a `%' character
+       %+     insert a `+' character
+
+   All other characters are currently unused, but may be used in the
+   future.  They currently insert the character following the %.
+
+   The following multi-character formats also exist:
+
+   Extended formats
+       %   These returns the NUMth value of the %A, %a, and %v formats
+       %   respectively.  In English, that would yield:
+       %      %   => Tuesday
+                     %   => Tue
+                     %   => T
+                  NUM must be in the range 1-7.
+
+       %   These return the NUMth value of the %B and %b formats
+       %   respectively.  In English, that would yield:
+                     %   => February
+                     %   => Feb
+                  NUM must be in the range 1-12 (or 01-12).
+
+       %   These return the NUMth value of the %p format.  In
+                  English, that would yield:
+                     %   => AM
+                     %   => PM
+                  NUM must be in the range 1-2.
+
+       %   These return the NUMth value of the %E format.  In
+                  English, that would yield:
+                     %   => 1st
+                     %  => 53rd
+                  NUM must be in the range 1-53.
+
+If a lone percent is the final character in a format, it is ignored.
+
+The formats used in this routine were originally based on date.pl (version
+3.2) by Terry McGonigal, as well as a couple taken from different versions
+of the Solaris date(1) command.  Also, several have been added which are
+unique to Date::Manip.
+
+NOTE 1:
+
+The ls format (%l) applies to date within the past OR future 6 months!
+Any date that is before the date NOW - 6 months, or that is on or
+after the date NOW + 6 months will have the year printed out.
+
+The later time must be on or after so that there is no ambiguity. If it
+is now 2000-06-06-12:00:00, then the date 1999-12-06-12:00:00 will be
+written as "Dec 6 12:00" but the date 2000-12-06-12:00:00 will be written
+as "Dec 6 2000".
+
+NOTE 2:
+
+The %U, %W, %L, %G, and %J formats are used to support the ISO-8601 format:
+YYYY-wWW-D.  In this format, a date is written as a year, the week of the
+year, and the day of the week.  Technically, the week may be considered to
+start on any day of the week, but Sunday and Monday are the both common
+choices, so both are supported.
+
+The %W and %G formats return the week-of-year and the year treating weeks
+as starting on Monday.
+
+The %U and %L formats return the week-of-year and the year treating weeks
+as starting on Sunday.
+
+Most of the time, the %L and %G formats returns the same value as the %Y
+format, but there is a problem with days occurring in the first or last week
+of the year.
+
+The ISO-8601 representation of Jan 1, 1993 written in the YYYY-wWW-D format
+is actually 1992-W53-5.  In other words, Jan 1 is treated as being in the
+last week of the preceding year.  Depending on the year, days in the first
+week of a year may belong to the previous year, and days in the final week
+of a year may belong to the next year.  The week is assigned to the year
+which has most of the days.  For example, if the week starts on Sunday,
+then the last week of 2003 is 2003-12-28 to 2004-01-03.  This week is
+assigned to 2003 since 4 of the days in it are in 2003 and only 3 of them
+are in 2004.  The first week of 2004 starts on 2004-01-04.
+
+The %U and %W formats return a week-of-year number from 01 to 53. %L and
+%G return the corresponding year, and to get this type of information,
+you should always use the (%W,%G) combination or (%U,%L) combination. %Y
+should not be used as it will yield incorrect results.
+
+%J returns the full ISO-8601 format (%G-W%W-%w).
+
+NOTE 3:
+
+The %s and %o formats return negative values if the date is before
+the start of the epoch.  Other Unix utilities would return an error, or
+a zero, so if you are going to use Date::Manip in conjunction with these,
+be sure to check for a negative value.
+
+NOTE 4:
+
+The %z format returns the offset in the RFC 822 specified format
++0500 .  Most offsets are full hour amounts, so this is not a problem,
+but some offsets are irregular (+05:17:30). In this case, the string
+returned is +051730 which isn't RFC 822 compliant, but since RFC 822
+ignores this situation, I had to decide between returning an incorrect
+value, or breaking strict compliance, and I chose the second option.
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the Date::Manip::Problems documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+Date::Manip        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Delta.pm b/lib/Date/Manip/Delta.pm
new file mode 100644
index 0000000..a588f69
--- /dev/null
+++ b/lib/Date/Manip/Delta.pm
@@ -0,0 +1,995 @@
+package Date::Manip::Delta;
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+# Any routine that starts with an underscore (_) is NOT intended for
+# public use.  They are for internal use in the the Date::Manip
+# modules and are subject to change without warning or notice.
+#
+# ABSOLUTELY NO USER SUPPORT IS OFFERED FOR THESE ROUTINES!
+########################################################################
+
+use Date::Manip::Obj;
+@ISA = ('Date::Manip::Obj');
+
+require 5.010000;
+use warnings;
+use strict;
+use utf8;
+use IO::File;
+#use re 'debug';
+
+use Date::Manip::Base;
+use Date::Manip::TZ;
+
+our $VERSION;
+$VERSION='6.60';
+END { undef $VERSION; }
+
+########################################################################
+# BASE METHODS
+########################################################################
+
+sub is_delta {
+   return 1;
+}
+
+sub config {
+   my($self,@args) = @_;
+   $self->SUPER::config(@args);
+
+   # A new config can change the value of the format fields, so clear them.
+   $$self{'data'}{'f'}    = {};
+   $$self{'data'}{'flen'} = {};
+}
+
+# Call this every time a new delta is put in to make sure everything is
+# correctly initialized.
+#
+sub _init {
+   my($self) = @_;
+
+   my $def = [0,0,0,0,0,0,0];
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+
+   $$self{'err'}  = '';
+   $$self{'data'} = {
+                     'delta'      => $def,  # the delta (all negative fields signed)
+                     'in'         => '',    # the string that was parsed (if any)
+                     'length'     => 0,     # length of delta (in seconds)
+
+                     'gotmode'    => 0,     # 1 if mode set explicitly
+                     'business'   => 0,     # 1 for a business delta
+
+                     'f'          => {},    # format fields
+                     'flen'       => {},    # field lengths
+                    }
+}
+
+sub _init_args {
+   my($self) = @_;
+
+   my @args = @{ $$self{'args'} };
+   $self->parse(@args);
+}
+
+sub value {
+   my($self) = @_;
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+
+   return ''  if ($$self{'err'});
+   if (wantarray) {
+      return @{ $$self{'data'}{'delta'} };
+   } else {
+      my @delta = @{ $$self{'data'}{'delta'} };
+      my $err;
+      ($err,@delta) = $dmb->_delta_fields( { 'nonorm'  => 1,
+                                             'source'  => 'delta',
+                                             'sign'    => 0 },
+                                           [@delta]);
+      return ''  if ($err);
+      return join(':',@delta);
+   }
+}
+
+sub input {
+   my($self) = @_;
+   return  $$self{'data'}{'in'};
+}
+
+########################################################################
+# DELTA METHODS
+########################################################################
+
+BEGIN {
+   my %ops = map { $_,1 } qw( delta business normal standard );
+   my %f   = qw( y 0  M 1  w 2  d 3  h 4  m 5  s 6 );
+
+   sub set {
+      my($self,$field,$val,$no_normalize) = @_;
+
+      my $dmt        = $$self{'tz'};
+      my $dmb        = $$dmt{'base'};
+      my $zone       = $$self{'data'}{'tz'};
+      my $gotmode    = $$self{'data'}{'gotmode'};
+      my $business   = 0;
+
+      my (@delta,$err);
+
+      if (exists $ops{lc($field)}) {
+         $field       = lc($field);
+
+         if ($field eq 'business') {
+            $business = 1;
+            $gotmode  = 1;
+         } elsif ($field eq 'normal'  ||  $field eq 'standard') {
+            $business = 0;
+            $gotmode  = 1;
+         } elsif ($field eq 'delta') {
+            $business = $$self{'data'}{'business'};
+            $gotmode  = $$self{'data'}{'gotmode'};
+         }
+
+         ($err,@delta) = $dmb->_delta_fields( { 'nonorm'   => $no_normalize,
+                                                'business' => $business,
+                                                'source'   => 'delta',
+                                                'sign'     => -1 },
+                                              $val);
+
+      } elsif (exists $f{$field}) {
+
+         if ($$self{'err'}) {
+            $$self{'err'} = "[set] Invalid delta";
+            return 1;
+         }
+
+         @delta             = @{ $$self{'data'}{'delta'} };
+         $business          = $$self{'data'}{'business'};
+         $delta[$f{$field}] = $val;
+
+         ($err,@delta) = $dmb->_delta_fields( { 'nonorm'   => $no_normalize,
+                                                'business' => $business,
+                                                'source'   => 'delta',
+                                                'sign'     => -1 },
+                                              [@delta]);
+
+      } elsif (lc($field) eq 'mode') {
+
+         @delta             = @{ $$self{'data'}{'delta'} };
+         $val               = lc($val);
+         if ($val eq 'business'  ||  $val eq 'normal'  ||  $val eq 'standard') {
+            $gotmode        = 1;
+            $business       = ($val eq 'business' ? 1 : 0);
+
+         } else {
+            $$self{'err'} = "[set] Invalid mode: $val";
+            return 1;
+         }
+
+      } else {
+
+         $$self{'err'} = "[set] Invalid field: $field";
+         return 1;
+
+      }
+
+      if ($err) {
+         $$self{'err'} = "[set] Invalid field value: $field";
+         return 1;
+      }
+
+      $self->_init();
+      $$self{'data'}{'delta'}      = [ @delta ];
+      $$self{'data'}{'business'}   = $business;
+      $$self{'data'}{'gotmode'}    = $gotmode;
+      $$self{'data'}{'length'}     = 'unknown';
+
+      return 0;
+   }
+}
+
+sub _rx {
+   my($self,$rx) = @_;
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+
+   return $$dmb{'data'}{'rx'}{'delta'}{$rx}
+     if (exists $$dmb{'data'}{'rx'}{'delta'}{$rx});
+
+   if ($rx eq 'expanded') {
+      my $sign    = '[-+]?\s*';
+      my $sep     = '(?:,\s*|\s+|$)';
+
+      my $nth     = $$dmb{'data'}{'rx'}{'nth'}[0];
+      my $yf      = $$dmb{data}{rx}{fields}[1];
+      my $mf      = $$dmb{data}{rx}{fields}[2];
+      my $wf      = $$dmb{data}{rx}{fields}[3];
+      my $df      = $$dmb{data}{rx}{fields}[4];
+      my $hf      = $$dmb{data}{rx}{fields}[5];
+      my $mnf     = $$dmb{data}{rx}{fields}[6];
+      my $sf      = $$dmb{data}{rx}{fields}[7];
+      my $num     = '(?:\d+(?:\.\d*)?|\.\d+)';
+
+      my $y       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$yf)$sep)";
+      my $m       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$mf)$sep)";
+      my $w       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$wf)$sep)";
+      my $d       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$df)$sep)";
+      my $h       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$hf)$sep)";
+      my $mn      = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$mnf)$sep)";
+      my $s       = "(?:(?:(?$sign$num)|(?$nth))\\s*(?:$sf)?)";
+
+      my $exprx   = qr/^\s*$y?$m?$w?$d?$h?$mn?$s?\s*$/i;
+      $$dmb{'data'}{'rx'}{'delta'}{$rx} = $exprx;
+
+   } elsif ($rx eq 'mode') {
+
+      my $mode = qr/\b($$dmb{'data'}{'rx'}{'mode'}[0])\b/i;
+      $$dmb{'data'}{'rx'}{'delta'}{$rx} = $mode;
+
+   } elsif ($rx eq 'when') {
+
+      my $when = qr/\b($$dmb{'data'}{'rx'}{'when'}[0])\b/i;
+      $$dmb{'data'}{'rx'}{'delta'}{$rx} = $when;
+
+   }
+
+   return $$dmb{'data'}{'rx'}{'delta'}{$rx};
+}
+
+sub parse {
+   my($self,$instring,@args) = @_;
+   my($business,$no_normalize,$gotmode,$err,@delta);
+
+   if (@args == 2) {
+      ($business,$no_normalize) = (lc($args[0]),lc($args[1]));
+      if      ($business eq 'standard') {
+         $business = 0;
+      } elsif ($business eq 'business') {
+         $business = 1;
+      } elsif ($business) {
+         $business = 1;
+      } else {
+         $business = 0;
+      }
+      if ($no_normalize) {
+         $no_normalize = 1;
+      } else {
+         $no_normalize = 0;
+      }
+      $gotmode = 1;
+
+   } elsif (@args == 1) {
+      my $arg = lc($args[0]);
+      if      ($arg eq 'standard') {
+         $business     = 0;
+         $no_normalize = 0;
+         $gotmode      = 1;
+      } elsif ($arg eq 'business') {
+         $business     = 1;
+         $no_normalize = 0;
+         $gotmode      = 1;
+      } elsif ($arg eq 'nonormalize') {
+         $business     = 0;
+         $no_normalize = 1;
+         $gotmode      = 0;
+      } elsif ($arg) {
+         $business     = 1;
+         $no_normalize = 0;
+         $gotmode      = 1;
+      } else {
+         $business     = 0;
+         $no_normalize = 0;
+         $gotmode      = 0;
+      }
+   } elsif (@args == 0) {
+      $business     = 0;
+      $no_normalize = 0;
+      $gotmode      = 0;
+   } else {
+      $$self{'err'} = "[parse] Unknown arguments";
+      return 1;
+   }
+
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+   $self->_init();
+
+   if (! $instring) {
+      $$self{'err'} = '[parse] Empty delta string';
+      return 1;
+   }
+
+   #
+   # Parse the string
+   #
+
+   $$self{'err'} = '';
+   $instring     =~ s/^\s*//;
+   $instring     =~ s/\s*$//;
+
+ PARSE: {
+
+      # First, we'll try the standard format (without a mode string)
+
+      ($err,@delta) = $dmb->_split_delta($instring);
+      last PARSE  if (! $err);
+
+      # Next, we'll need to get a list of all the encodings and look
+      # for (and remove) the mode string from each.  We'll also recheck
+      # the standard format for each.
+
+      my @strings = $dmb->_encoding($instring);
+      my $moderx  = $self->_rx('mode');
+      my %mode    = ();
+
+      foreach my $string (@strings) {
+         if ($string =~ s/\s*$moderx\s*//i) {
+            my $b = $1;
+            if ($$dmb{'data'}{'wordmatch'}{'mode'}{lc($b)} == 1) {
+               $b = 0;
+            } else {
+               $b = 1;
+            }
+
+            ($err,@delta) = $dmb->_split_delta($string);
+            if (! $err) {
+               $business = $b;
+               $gotmode  = 1;
+               last PARSE;
+            }
+
+            $mode{$string} = $b;
+         }
+      }
+
+      # Now we'll check each string for an expanded form delta.
+
+      foreach my $string (@strings) {
+         my($b,$g);
+         if (exists $mode{$string}) {
+            $b = $mode{$string};
+            $g = 1;
+         } else {
+            $b = $business;
+            $g = 0;
+         }
+
+         my $past    = 0;
+
+         my $whenrx  = $self->_rx('when');
+         if ($string  &&
+             $string =~ s/$whenrx//i) {
+            my $when = $1;
+            if ($$dmb{'data'}{'wordmatch'}{'when'}{lc($when)} == 1) {
+               $past   = 1;
+            }
+         }
+
+         my $rx        = $self->_rx('expanded');
+         if ($string  &&
+             $string   =~ $rx) {
+            $business  = $b;
+            $gotmode   = $g;
+            @delta     = @+{qw(y m w d h mn s)};
+            foreach my $f (@delta) {
+               if (! defined $f) {
+                  $f = 0;
+               } elsif (exists $$dmb{'data'}{'wordmatch'}{'nth'}{lc($f)}) {
+                  $f = $$dmb{'data'}{'wordmatch'}{'nth'}{lc($f)};
+               } else {
+                  $f =~ s/\s//g;
+               }
+            }
+
+            # if $past, reverse the signs
+            if ($past) {
+               foreach my $v (@delta) {
+                  $v *= -1;
+               }
+            }
+
+            last PARSE;
+         }
+      }
+   }
+
+   if (! @delta) {
+      $$self{'err'} = "[parse] Invalid delta string";
+      return 1;
+   }
+
+   ($err,@delta) = $dmb->_delta_fields( { 'nonorm'   => $no_normalize,
+                                          'business' => $business,
+                                          'source'   => 'string',
+                                          'sign'     => -1 },
+                                        [@delta]);
+
+   if ($err) {
+      $$self{'err'} = "[parse] Invalid delta string";
+      return 1;
+   }
+
+   $$self{'data'}{'in'}         = $instring;
+   $$self{'data'}{'delta'}      = [@delta];
+   $$self{'data'}{'business'}   = $business;
+   $$self{'data'}{'gotmode'}    = $gotmode;
+   $$self{'data'}{'length'}     = 'unknown';
+   return 0;
+}
+
+sub printf {
+   my($self,@in) = @_;
+   if ($$self{'err'}) {
+      warn "WARNING: [printf] Object must contain a valid delta\n";
+      return undef;
+   }
+
+   my($y,$M,$w,$d,$h,$m,$s) = @{ $$self{'data'}{'delta'} };
+
+   my @out;
+   foreach my $in (@in) {
+      my $out = '';
+      while ($in) {
+         if ($in =~ s/^([^%]+)//) {
+            $out .= $1;
+
+         } elsif ($in =~ s/^%%//) {
+            $out .= "%";
+
+         } elsif ($in =~ s/^%
+                           (\+)?                   # sign
+                           ([<>0])?                # pad
+                           (\d+)?                  # width
+                           ([yMwdhms])             # field
+                           v                       # type
+                          //ox) {
+            my($sign,$pad,$width,$field) = ($1,$2,$3,$4);
+            $out .= $self->_printf_field($sign,$pad,$width,0,$field);
+
+         } elsif ($in =~ s/^(%
+                              (\+)?                   # sign
+                              ([<>0])?                # pad
+                              (\d+)?                  # width
+                              (?:\.(\d+))?            # precision
+                              ([yMwdhms])             # field
+                              ([yMwdhms])             # field0
+                              ([yMwdhms])             # field1
+                           )//ox) {
+            my($match,$sign,$pad,$width,$precision,$field,$field0,$field1) =
+              ($1,$2,$3,$4,$5,$6,$7,$8);
+
+            # Get the list of fields we're expressing
+
+            my @field = qw(y M w d h m s);
+            while (@field  &&  $field[0] ne $field0) {
+               shift(@field);
+            }
+            while (@field  &&  $field[$#field] ne $field1) {
+               pop(@field);
+            }
+
+            if (! @field) {
+               $out .= $match;
+            } else {
+               $out .=
+                 $self->_printf_field($sign,$pad,$width,$precision,$field,@field);
+            }
+
+         } elsif ($in =~ s/^%
+                           (\+)?                   # sign
+                           ([<>])?                 # pad
+                           (\d+)?                  # width
+                           Dt
+                          //ox) {
+            my($sign,$pad,$width) = ($1,$2,$3);
+            $out .= $self->_printf_delta($sign,$pad,$width,'y','s');
+
+         } elsif ($in =~ s/^(%
+                              (\+)?                   # sign
+                              ([<>])?                 # pad
+                              (\d+)?                  # width
+                              D
+                              ([yMwdhms])             # field0
+                              ([yMwdhms])             # field1
+                           )//ox) {
+            my($match,$sign,$pad,$width,$field0,$field1) = ($1,$2,$3,$4,$5,$6);
+
+            # Get the list of fields we're expressing
+
+            my @field = qw(y M w d h m s);
+            while (@field  &&  $field[0] ne $field0) {
+               shift(@field);
+            }
+            while (@field  &&  $field[$#field] ne $field1) {
+               pop(@field);
+            }
+
+            if (! @field) {
+               $out .= $match;
+            } else {
+               $out .= $self->_printf_delta($sign,$pad,$width,$field[0],
+                                            $field[$#field]);
+            }
+
+         } else {
+            $in =~ s/^(%[^%]*)//;
+            $out .= $1;
+         }
+      }
+      push(@out,$out);
+   }
+
+   if (wantarray) {
+      return @out;
+   } elsif (@out == 1) {
+      return $out[0];
+   }
+
+   return ''
+}
+
+sub _printf_delta {
+   my($self,$sign,$pad,$width,$field0,$field1) = @_;
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+   my @delta = @{ $$self{'data'}{'delta'} };
+   my $delta;
+   my %tmp   = qw(y 0 M 1 w 2 d 3 h 4 m 5 s 6);
+
+   # Add a sign to each field
+
+   my $s = "+";
+   foreach my $f (@delta) {
+      if ($f < 0) {
+         $s = "-";
+      } elsif ($f > 0) {
+         $s = "+";
+         $f *= 1;
+         $f = "+$f";
+      } else {
+         $f = "$s$f";
+      }
+   }
+
+   # Split the delta into field sets containing only those fields to
+   # print.
+   #
+   # @set = ( [SETa] [SETb] ....)
+   #   where [SETx] is a listref of fields from one set of fields
+
+   my @set;
+   my $business = $$self{'data'}{'business'};
+
+   my $f0 = $tmp{$field0};
+   my $f1 = $tmp{$field1};
+
+   if ($field0 eq $field1) {
+      @set = ( [ $delta[$f0] ] );
+
+   } elsif ($business) {
+
+      if ($f0 <= 1) {
+         # if (field0 = y or M)
+         #    add [y,M]
+         #    field0 = w   OR   done if field1 = M
+         push(@set, [ @delta[0..1] ]);
+         $f0 = ($f1 == 1 ? 7 : 2);
+      }
+
+      if ($f0 == 2) {
+         # if (field0 = w)
+         #    add [w]
+         #    field0 = d  OR  done if field1 = w
+         push(@set, [ $delta[2] ]);
+         $f0 = ($f1 == 2 ? 7 : 3);
+      }
+
+      if ($f0 <= 6) {
+         push(@set, [ @delta[$f0..$f1] ]);
+      }
+
+   } else {
+
+      if ($f0 <= 1) {
+         # if (field0 = y or M)
+         #    add [y,M]
+         #    field0 = w   OR   done if field1 = M
+         push(@set, [ @delta[0..1] ]);
+         $f0 = ($f1 == 1 ? 7 : 2);
+      }
+
+      if ($f0 <= 6) {
+         push(@set, [ @delta[$f0..$f1] ]);
+      }
+   }
+
+   # If we're not forcing signs, remove signs from all fields
+   # except the first in each set.
+
+   my @ret;
+
+   foreach my $set (@set) {
+      my @f = @$set;
+
+      if (defined($sign)  &&  $sign eq "+") {
+         push(@ret,@f);
+      } else {
+         push(@ret,shift(@f));
+         foreach my $f (@f) {
+            $f =~ s/[-+]//;
+            push(@ret,$f);
+         }
+      }
+   }
+
+   # Width/pad
+
+   my $ret = join(':',@ret);
+   if ($width  &&  length($ret) < $width) {
+      if (defined $pad  &&  $pad eq ">") {
+         $ret .= ' 'x($width-length($ret));
+      } else {
+         $ret = ' 'x($width-length($ret)) . $ret;
+      }
+   }
+
+   return $ret;
+}
+
+sub _printf_field {
+   my($self,$sign,$pad,$width,$precision,$field,@field) = @_;
+
+   my $val = $self->_printf_field_val($field,@field);
+   $pad    = "<"  if (! defined($pad));
+
+   # Strip off the sign.
+
+   my $s = '';
+
+   if ($val < 0) {
+      $s   = "-";
+      $val *= -1;
+   } elsif ($sign) {
+      $s   = "+";
+   }
+
+   # Handle the precision.
+
+   if (defined($precision)) {
+      $val = sprintf("%.${precision}f",$val);
+
+   } elsif (defined($width)) {
+      my $i = $s . int($val) . '.';
+      if (length($i) < $width) {
+         $precision = $width-length($i);
+         $val = sprintf("%.${precision}f",$val);
+      }
+   }
+
+   # Handle padding.
+
+   if ($width) {
+      if      ($pad eq ">") {
+         $val = "$s$val";
+         my $pad = ($width > length($val) ? $width - length($val) : 0);
+         $val .= ' 'x$pad;
+
+      } elsif ($pad eq "<") {
+         $val = "$s$val";
+         my $pad = ($width > length($val) ? $width - length($val) : 0);
+         $val = ' 'x$pad . $val;
+
+      } else {
+         my $pad = ($width > length($val)-length($s) ?
+                    $width - length($val) - length($s): 0);
+         $val = $s . '0'x$pad . $val;
+      }
+   } else {
+      $val = "$s$val";
+   }
+
+   return $val;
+}
+
+# $$self{'data'}{'f'}{X}{Y} is the value of field X expressed in terms of Y.
+#
+sub _printf_field_val {
+   my($self,$field,@field) = @_;
+
+   if (! exists $$self{'data'}{'f'}{'y'}  &&
+       ! exists $$self{'data'}{'f'}{'y'}{'y'}) {
+
+      my($yv,$Mv,$wv,$dv,$hv,$mv,$sv) = map { $_*1 } @{ $$self{'data'}{'delta'} };
+      $$self{'data'}{'f'}{'y'}{'y'} = $yv;
+      $$self{'data'}{'f'}{'M'}{'M'} = $Mv;
+      $$self{'data'}{'f'}{'w'}{'w'} = $wv;
+      $$self{'data'}{'f'}{'d'}{'d'} = $dv;
+      $$self{'data'}{'f'}{'h'}{'h'} = $hv;
+      $$self{'data'}{'f'}{'m'}{'m'} = $mv;
+      $$self{'data'}{'f'}{'s'}{'s'} = $sv;
+   }
+
+   # A single field
+
+   if (! @field) {
+      return $$self{'data'}{'f'}{$field}{$field};
+   }
+
+   # Find the length of 1 unit of each field in terms of seconds.
+
+   if (! exists $$self{'data'}{'flen'}{'s'}) {
+      my $business = $$self{'data'}{'business'};
+      my $dmb      = $self->base();
+      $$self{'data'}{'flen'} = { 's'  => 1,
+                                 'm'  => 60,
+                                 'h'  => 3600,
+                                 'd'  => $$dmb{'data'}{'len'}{$business}{'dl'},
+                                 'w'  => $$dmb{'data'}{'len'}{$business}{'wl'},
+                                 'M'  => $$dmb{'data'}{'len'}{$business}{'ml'},
+                                 'y'  => $$dmb{'data'}{'len'}{$business}{'yl'},
+                               };
+   }
+
+   # Calculate the value for each field.
+
+   my $val = 0;
+   foreach my $f (@field) {
+
+      # We want the value of $f expressed in terms of $field
+
+      if (! exists $$self{'data'}{'f'}{$f}{$field}) {
+
+         # Get the value of $f expressed in seconds
+
+         if (! exists $$self{'data'}{'f'}{$f}{'s'}) {
+            $$self{'data'}{'f'}{$f}{'s'} =
+              $$self{'data'}{'f'}{$f}{$f} * $$self{'data'}{'flen'}{$f};
+         }
+
+         # Get the value of $f expressed in terms of $field
+
+         $$self{'data'}{'f'}{$f}{$field} =
+           $$self{'data'}{'f'}{$f}{'s'} / $$self{'data'}{'flen'}{$field};
+      }
+
+      $val += $$self{'data'}{'f'}{$f}{$field};
+   }
+
+   return $val;
+}
+
+sub type {
+   my($self,$op) = @_;
+   $op = lc($op);
+
+   if      ($op eq 'business') {
+      return $$self{'data'}{'business'};
+   } elsif ($op eq 'standard') {
+      return 1-$$self{'data'}{'business'};
+   }
+
+   my($exact,$semi,$approx) = (0,0,0);
+   my($y,$m,$w,$d,$h,$mn,$s) = @{ $$self{'data'}{'delta'} };
+   if ($y  ||  $m) {
+      $approx = 1;
+   } elsif ($w  ||  (! $$self{'data'}{'business'}  &&  $d)) {
+      $semi = 1;
+   } else {
+      $exact = 1;
+   }
+
+   if      ($op eq 'exact') {
+      return $exact;
+   } elsif ($op eq 'semi') {
+      return $semi;
+   } elsif ($op eq 'approx') {
+      return $approx;
+   }
+
+   return undef;
+}
+
+sub calc {
+   my($self,$obj,$subtract,$no_normalize) = @_;
+   if ($$self{'err'}) {
+      $$self{'err'} = "[calc] First object invalid (delta)";
+      return undef;
+   }
+
+   if      (ref($obj) eq 'Date::Manip::Date') {
+      if ($$obj{'err'}) {
+         $$self{'err'} = "[calc] Second object invalid (date)";
+         return undef;
+      }
+      return $obj->calc($self,$subtract);
+
+   } elsif (ref($obj) eq 'Date::Manip::Delta') {
+      if ($$obj{'err'}) {
+         $$self{'err'} = "[calc] Second object invalid (delta)";
+         return undef;
+      }
+      return $self->_calc_delta_delta($obj,$subtract,$no_normalize);
+
+   } else {
+      $$self{'err'} = "[calc] Second object must be a Date/Delta object";
+      return undef;
+   }
+}
+
+sub _calc_delta_delta {
+   my($self,$delta,@args) = @_;
+   my $dmt = $$self{'tz'};
+   my $dmb = $$dmt{'base'};
+   my $ret = $self->new_delta;
+
+   if ($self->err()) {
+      $$ret{'err'} = "[calc] First delta object invalid";
+      return $ret;
+   } elsif ($delta->err()) {
+      $$ret{'err'} = "[calc] Second delta object invalid";
+      return $ret;
+   }
+
+   my($subtract,$no_normalize);
+   if (@args == 2) {
+      ($subtract,$no_normalize) = @args;
+   } elsif ($args[0] eq 'nonormalize') {
+      $subtract     = 0;
+      $no_normalize = 1;
+   } else {
+      $subtract     = 0;
+      $no_normalize = 0;
+   }
+
+   my $business = 0;
+   if ($$self{'data'}{'business'} != $$delta{'data'}{'business'}) {
+      $$ret{'err'} = "[calc] Delta/delta calculation objects must be of " .
+        'the same type';
+      return $ret;
+   } else {
+      $business = $$self{'data'}{'business'};
+   }
+
+   my ($err,@delta);
+   for (my $i=0; $i<7; $i++) {
+      if ($subtract) {
+         $delta[$i] = $$self{'data'}{'delta'}[$i] - $$delta{'data'}{'delta'}[$i];
+      } else {
+         $delta[$i] = $$self{'data'}{'delta'}[$i] + $$delta{'data'}{'delta'}[$i];
+      }
+   }
+
+   ($err,@delta) = $dmb->_delta_fields( { 'nonorm'  => 0,
+                                          'source'  => 'delta',
+                                          'sign'    => -1 },
+                                        [@delta])  if (! $no_normalize);
+
+   $$ret{'data'}{'delta'}       = [@delta];
+   $$ret{'data'}{'business'}    = $business;
+   $$self{'data'}{'length'}     = 'unknown';
+
+   return $ret;
+}
+
+sub convert {
+   my($self,$to) = @_;
+
+   # What mode are we currently in
+
+   my $from;
+   my($y,$m,$w,$d,$h,$mn,$s) = @{ $$self{'data'}{'delta'} };
+   if ($y  ||  $m) {
+      $from = 'approx';
+   } elsif ($w  ||  (! $$self{'data'}{'business'}  &&  $d)) {
+      $from = 'semi';
+   } else {
+      $from = 'exact';
+   }
+
+   my $business = $$self{'data'}{'business'};
+
+   #
+   # Do the conversion
+   #
+
+   {
+      no integer;
+
+      my $dmb = $self->base();
+      my $yl  = $$dmb{'data'}{'len'}{$business}{'yl'};
+      my $ml  = $$dmb{'data'}{'len'}{$business}{'ml'};
+      my $wl  = $$dmb{'data'}{'len'}{$business}{'wl'};
+      my $dl  = $$dmb{'data'}{'len'}{$business}{'dl'};
+
+      # Convert it to seconds
+
+      $s += $y*$yl + $m*$ml + $w*$wl + $d*$dl + $h*3600 + $mn*60;
+      ($y,$m,$w,$d,$h,$mn) = (0,0,0,0,0,0);
+
+      # Convert it to $to
+
+      if ($to eq 'approx') {
+         # Figure out how many months there are
+         $m          = int($s/$ml);
+         $s         -= $m*$ml;
+      }
+
+      if ($to eq 'approx'  ||  $to eq 'semi') {
+         if ($business) {
+            $w       = int($s/$wl);
+            $s      -= $w*$wl;
+         } else {
+            $d       = int($s/$dl);
+            $s      -= $d*$dl;
+         }
+      }
+
+      $s = int($s);
+   }
+
+   $self->set('delta',[$y,$m,$w,$d,$h,$mn,$s]);
+}
+
+sub cmp {
+   my($self,$delta) = @_;
+
+   if ($$self{'err'}) {
+      warn "WARNING: [cmp] Arguments must be valid deltas: delta1\n";
+      return undef;
+   }
+
+   if (! ref($delta) eq 'Date::Manip::Delta') {
+      warn "WARNING: [cmp] Argument must be a Date::Manip::Delta object\n";
+      return undef;
+   }
+   if ($$delta{'err'}) {
+      warn "WARNING: [cmp] Arguments must be valid deltas: delta2\n";
+      return undef;
+   }
+
+   if ($$self{'data'}{'business'} != $$delta{'data'}{'business'}) {
+      warn "WARNING: [cmp] Deltas must both be business or standard\n";
+      return undef;
+   }
+
+   my $business = $$self{'data'}{'business'};
+   my $dmb      = $self->base();
+   my $yl       = $$dmb{'data'}{'len'}{$business}{'yl'};
+   my $ml       = $$dmb{'data'}{'len'}{$business}{'ml'};
+   my $wl       = $$dmb{'data'}{'len'}{$business}{'wl'};
+   my $dl       = $$dmb{'data'}{'len'}{$business}{'dl'};
+
+   if ($$self{'data'}{'length'} eq 'unknown') {
+      my($y,$m,$w,$d,$h,$mn,$s) = @{ $$self{'data'}{'delta'} };
+
+      no integer;
+      $$self{'data'}{'length'}  = int($y*$yl + $m*$ml + $w*$wl +
+                                      $d*$dl + $h*3600 + $mn*60 + $s);
+   }
+
+   if ($$delta{'data'}{'length'} eq 'unknown') {
+      my($y,$m,$w,$d,$h,$mn,$s) = @{ $$delta{'data'}{'delta'} };
+
+      no integer;
+      $$delta{'data'}{'length'}  = int($y*$yl + $m*$ml + $w*$wl +
+                                       $d*$dl + $h*3600 + $mn*60 + $s);
+   }
+
+   return ($$self{'data'}{'length'} <=> $$delta{'data'}{'length'});
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/Delta.pod b/lib/Date/Manip/Delta.pod
new file mode 100644
index 0000000..4c699d2
--- /dev/null
+++ b/lib/Date/Manip/Delta.pod
@@ -0,0 +1,741 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Delta - Methods for working with deltas
+
+=head1 SYNOPSIS
+
+   use Date::Manip::Delta;
+   $date = new Date::Manip::Delta;
+
+=head1 DESCRIPTION
+
+This module contains functions useful in parsing and manipulating
+deltas.  As used in this module, a delta refers only to the amount of
+time elapsed.  It includes no information about a starting or ending
+time.
+
+There are several concepts involved in understanding the properties
+of a delta.
+
+=over 4
+
+=item B
+
+Deltas can refer to changes in either the full calendar (standard
+deltas), or they can refer to a business calendar.
+
+With a business delta, non-business days are ignored.  Typically, this
+includes holidays and weekends.  In addition, the part of the day
+outside of business hours is also ignored, so a day may only run from
+08:00 to 17:00 and everything outside of this is ignored.
+
+The length of a work day is usually not 24 hours.  It is defined by
+the start and end of the work day and is set using the config
+variables: WorkDayBeg and WorkDayEnd (WorkDay24Hr may be used to
+specify a 24-hour work day).  The work week is defined using the
+config variables: WorkWeekBeg and WorkWeekEnd.
+
+Daylight saving time will have no impact on business calculations
+because time changes occur at night (usually on the weekends) outside
+of business hours.  As such, they are ignored in business
+calculations.
+
+=item B
+
+A delta consists of 7 fields: years, months, weeks, days, hours,
+minutes, and seconds, usually expressed as a colon-separated string.
+For example:
+
+   1:2:3:4:5:6:7
+
+refers to an elapsed amount of time 1 year, 2 months, 3 weeks, 4 days,
+5 hours, 6 minutes, and 7 seconds long.
+
+=item B
+
+A delta can be normalized or not. A normalized delta has values which
+have been made consistent with the type of data they represent. For
+example, a delta of:
+
+   0:0:0:0:0:10:70
+
+is not normalized since 70 seconds is better expressed as 1 minute
+10 seconds. The normalized form of this delta would be:
+
+   0:0:0:0:0:11:10
+
+By default, deltas are converted to a normalized form in most
+functions that create/modify a delta, but this can be overridden.
+
+=item B
+
+When normalizing a delta, fields are grouped together in sets where
+the exact relationship is known between all fields in the set.
+
+For example, there is an exactly known relationship between seconds
+and minutes (Date::Manip ignores leap seconds, so there are always
+60 seconds in a minute), so they will be in one set.
+
+Likewise, the relationship between years and months is known, so
+they will be in one set.  There is no known relationship between
+months and weeks though, so they will be in separate sets.
+
+A standard (i.e. non-business) delta contains 3 sets of
+fields:
+
+   approximate:  year, month
+   semi-exact:   week, day
+   exact:        hour, minute, second
+
+The following known relationships exist:
+
+   1 year   = 12 months
+   1 week   = 7 days
+   1 hour   = 60 minutes
+   1 minute = 60 seconds
+
+The following semi-approximate relationships are used to link
+the semi-exact and exact fields when required:
+
+   1 day    = 24 hours
+
+The following approximate relationship is used to link the
+approximate fields to the semi-exact fields when required:
+
+   1 year = 365.2425
+
+Business deltas differ slightly,  Since daylight saving times
+effects are ignored, the length of the work day is constant, but
+due to there being holidays, the length of a week is not known,
+so a business delta has the following sets of fields:
+
+   approximate:  year, month
+   semi-exact:   week
+   exact:        day, hour, minute, second
+
+and the relationships used are:
+
+   1 year   = 12 months
+   1 day    = length of business day
+   1 hour   = 60 minutes
+   1 minute = 60 seconds
+
+The semi-approximate relationship may be used to link the
+semi-approximate and exact fields together:
+
+   1 week   = X  (length of business week in days)
+
+and the following approximate relationship may be used:
+
+   1 year   = X/7 * 365.2425
+
+When normalizing a delta, no data from one set will ever be mixed
+with data from another set.
+
+As a result, the following delta is normalized:
+
+   0:3:8:0:0:0:0
+
+Although 8 weeks is clearly more than 1 month, we don't know the
+relationship between the two, so they don't mix.
+
+=item B
+
+An exact delta is one which every value is of an exactly known length
+(i.e. it only includes the exact fields listed above).
+
+A semi-exact delta is a delta which includes the exact fields as well
+as semi-exact ones.
+
+An approximate delta can include any of the fields.
+
+So, the delta:
+
+   0:3:8:0:0:0:0
+
+is approximate.  The delta:
+
+   0:0:0:0:30:0:0
+
+is exact.  The delta:
+
+   0:0:0:1:30:0:0
+
+is semi-exact (if it is non-business) or exact (if it is business).
+
+The term "semi-exact" needs a little explanation.  Date::Manip tries to
+do things in a way which humans think of them.  It is immediately
+recognized that the approximate fields are of completely unknown
+length, and the exact fields are of known length. The "semi-exact"
+fields are termed such since humans have a way of looking at them
+which is consistent, even if it is not exact.
+
+For example, a day is thought of as the same wall clock time on two
+successive days, so from noon on one day to noon the next day is one
+day.  Usually that is 24 hours (for standard deltas), but if you cross
+a daylight saving time change, it might be 23 or 25 hours (or
+something different if a very irregular time change occurs).  So where
+possible, in a standard delta, a day field will change the date, but
+leave the time alone.
+
+Likewise, a business week is thought of as 7 days (i.e. Wednesday to
+Wednesday) regardless of whether there was a holiday in there.
+
+=item B
+
+Each field has a sign associated with it. For example, the
+delta "1 year ago" is written as:
+
+   -1:0:0:0:0:0:0
+
+The sign of any field is optional, and if omitted, it is the
+same as the next higher field.  So, the following are identical:
+
+   +1:2:3:4:5:6:7
+   +1:+2:+3:+4:+5:+6:+7
+
+Since there is no mixing of data between sets of fields, you can end
+up with a delta with as many as four signs. So, the following is a
+fully normalized business delta:
+
+   +1:0:-3:+3:1:0:0
+
+=item B
+
+Fractional fields are allowed such as:
+
+   1.25 days
+   1.1 years
+
+When parsing a delta with fractional fields, the delta will ALWAY be
+normalized using the exact, semi-exact, and approximate relationships
+described above.
+
+For example, for a non-business delta, a delta of 1.1 years will use
+the following relationships:
+
+   1 year = 365.2425 days
+   1 year = 12 months
+   1 day  = 24 hours
+
+Since the delta includes approximate fields, as much of the 1.1 year
+portion of the delta will be stored in the approximate fields as
+possible.
+
+Using the above approximate relationships, we can see that:
+
+   1 month = 365.2425/12 days = 30.436875 days
+
+so
+
+   1.1 years
+   = 1 year, 1.2 months
+   = 1 year, 1 month, 6.087375 days
+   = 1 year, 1 month, 6 days, 2 hours, 5 minutes, 49 seconds
+
+Fractional seconds will be discarded (no rounding).
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+Please refer to the Date::Manip::Obj documentation for these methods.
+
+=item B
+
+   $err = $delta->parse($string [,$business] [,$no_normalize]);
+
+This takes a string and parses it to see if it is a valid delta. If it is,
+an error code of 0 is returned and $delta now contains the value of the
+delta. Otherwise, an error code of 1 is returned and an error condition
+is set in the delta.
+
+A valid delta is in one of two forms: compact or expanded.
+
+The compact format is a colon separated list of numbers (with optional
+signs):
+
+   Examples:
+      0:0:0:0:4:3:-2
+      +4:3:-2
+      +4::3
+
+In the compact format, from 1 to 7 of the fields may be given.  For
+example D:H:MN:S may be given to specify only four of the fields.  No
+spaces may be present in the compact format. It is allowed to omit
+some of the fields. For example 5::3:30 is valid. In this case,
+missing fields default to the value 0.
+
+The expanded format has the fields spelled out in some language specific
+form:
+
+   Examples:
+      +4 hours +3mn -2second
+      + 4 hr 3 minutes -2
+      4 hour + 3 min -2 s
+      4 hr 2 s
+
+A field in the expanded format has an optional sign, a number, and a string
+specifying the type of field.  If the sign is absent, it defaults to the
+sign of the next larger element.  So the following are equivalent:
+
+   -4 hr 3 min 2 sec
+   -4 hr -3 min -2 sec
+
+The valid strings describing each of the fields is contained in "Delta field
+names" section of the appropriate Date::Manip::Lang:: document.
+Refer to the Date::Manip::Lang document for a list of languages.
+
+For example, for English, the document is Date::Manip::Lang::English and
+the field names include strings like:
+
+   y:  y, yr, year, years
+   m:  m, mon, month, months
+   w:  w, wk, ws, wks, week, weeks
+   d:  d, day, days
+   h:  h, hr, hour, hours
+   mn: mn, min, minute, minutes
+   s:  s, sec, second, seconds
+
+This list may not be complete.  You should refer to the language document
+for the full list.
+
+The "seconds" string may be omitted.  The sign, number, and string may
+all be separated from each other by any amount of whitespace. The
+string specifying the unit must be separated from a following number
+by whitespace or a comma, so the following example will NOT work:
+
+   4hours3minutes
+
+At minimum, it must be expressed as:
+
+   4hours 3minutes
+   4 hours, 3 minutes
+
+In the the expanded format, all fields must be given in the order: Y M
+W D H MN S.  Any number of them may be omitted provided the rest
+remain in the correct order. Numbers may be spelled out, so
+
+   in two weeks
+   in 2 weeks
+
+both work.
+
+Most languages also allow a word to specify whether the delta is an
+amount of time after or before a fixed point. In English, the word "in"
+refers to a time after a fixed point, and "ago" refers to a point before
+a fixed point. So, the following deltas are equivalent:
+
+  1:0:0:0:0:0:0
+  in 1 year
+
+and the following are equivalent
+
+  -1:0:0:0:0:0:0
+  1 year ago
+
+The word "in" is completely ignored. The word "ago" has the affect of
+reversing all signs that appear in front of the components of the
+delta.  In other words, the following two strings are identical:
+
+   -12 yr  6 mon ago
+   +12 yr +6 mon
+
+(don't forget that there is an implied minus sign in front of the 6 in
+the first string because when no sign is explicitly given, it carries
+the previously entered sign).
+
+The in/ago words only apply to the expanded format, so the following
+is invalid:
+
+   1:0:0 ago
+
+A delta may be standard (non-business) or business. By default, a delta
+is treated as a non-business delta, but this can be changed in two
+different ways.
+
+The first way to make a delta be business is to pass in the 2nd
+argument to the function.  The $business argument may be a string
+'standard' or 'business' to explicitly set the type of delta.  Alternately,
+any non-zero value for $business will force the delta to be a business
+delta.
+
+So the following are identical:
+
+   $delta->parse($string,'business');
+   $delta->parse($string,1);
+
+and the following are identical:
+
+   $delta->parse($string);
+   $delta->parse($string,'standard');
+   $delta->parse($string,0);
+
+The second way to specify whether a delta is business or non-business
+is to include a key word in the string that is parsed. When this is
+done, these strings override any value of the $business argument.
+
+Most languages include a word like "business" which can be used to
+specify that the resulting delta is a business delta or a
+non-business delta. Other languages have equivalent words. The
+placement of the word is not important. Also, the "business" word can
+be included with both types of deltas, so the following are valid and
+equivalent:
+
+   in 4 hours business
+   4:0:0 business
+   business 0:0:0:0:4:0:0
+
+There are also words "exact" or "approximate" which may be included in
+the delta for backward compatibility.  However, they will be ignored.
+The accuracy of delta (exact, semi-exact, approximate) will be
+determined only by what fields are present in the delta.
+
+When a delta is parsed, it is automatically normalized, unless the
+$no_normalize argument is passed in.  It can be the string 'nonormalize'
+or any non-zero value.  If passing it as a non-zero value, the $business
+argument MUST be included (though it can be zero) in order to avoid
+ambiguity.
+
+So the following are equivalent:
+
+   $delta->parse($string,'nonormalize');
+   $delta->parse($string,$business,1);
+
+=item B
+
+   $str = $delta->input();
+
+This returns the string that was parsed to form the delta.
+
+=item B
+
+   $err = $delta->set($field,$val [,$no_normalize]);
+
+This explicitly sets one or more fields in a delta.
+
+$field can be any of the following:
+
+   $field   $val
+
+   delta    [Y,M,W,D,H,MN,S]  sets the entire delta
+   business [Y,M,W,D,H,MN,S]  sets the entire delta
+   standard [Y,M,W,D,H,MN,S]  sets the entire delta
+   y        YEAR              sets one field
+   M        MONTH
+   w        WEEK
+   d        DAY
+   h        HOUR
+   m        MINUTE
+   s        SECOND
+
+   mode     business, standard
+
+An error is returned if an invalid value is passed in.
+
+When setting the entire delta with "business" or "normal", it flags
+the delta as a business or non-business delta respectively. When
+setting the entire delta with "delta", the flag is left unchanged.
+Also, when setting the entire delta, signs are not carried from one
+field to another.
+
+By default, a delta is normalized, but passing $no_normalize as any
+true value, this will not be done.
+
+If $no_normalize is not passed in, the current value for the delta
+(which defaults to 0) will be used.
+
+For backwards compatibility, 'normal' can be used in place of 'standard',
+both as $field or as $val.
+
+=item B
+
+   $out = $delta->printf($in);
+   @out = $delta->printf(@in);
+
+This takes a string or list of strings which may contain any number of
+special formatting directives. These directives are replaced with
+information contained in the delta. Everything else in the string is
+returned unmodified.
+
+A directive always begins with '%'. They are described in the section
+below in the section PRINTF DIRECTIVES.
+
+=item B
+
+   $date2  = $delta->calc($date1 [,$subtract]);
+   $delta3 = $delta1->calc($delta2 [,$subtract]);
+
+Please refer to the Date::Manip::Calc documentation for details.
+
+=item B
+
+   $flag = $delta->type($op);
+
+This tests to see if a delta is of a certain type. $op can be;
+
+   business  : returns 1 if it is a business delta
+   standard  : returns 1 if it is a standard (non-business delta)
+
+   exact     : returns 1 if it is exact
+   semi      : returns 1 if it is semi-exact
+   approx    : returns 1 if it is approximate
+
+=item B
+
+   $val = $delta->value();
+   @val = $delta->value();
+
+This returns the value of the delta. In scalar context, it returns
+the printable string (equivalent to the printf directive '%Dt'). In
+list context, it returns a list of fields.
+
+An empty string is returned if there is no valid delta stored in $delta.
+
+=item B
+
+   $delta->convert($to);
+
+This converts a delta from one type to another.  $to can be 'exact',
+'semi', or 'approx'.  The conversion uses the approximate relationships
+listed above to convert the delta.
+
+For example, if the exact non-business delta $delta contains:
+
+   0:0:0:0:44:0:0
+
+then the following call:
+
+   $delta->convert('semi')
+
+would produce the semi-exact delta:
+
+   0:0:0:1:20:0:0
+
+The result will always be normalized, and will be strictly positive or
+negative (i.e. all fields will have the same sign).
+
+This function can be used to take an exact delta and turn it into a
+semi-exact delta (with a day being treated as 24 hours in non-business
+mode).
+
+There is currently no support for converting business to non-business
+(or vice-versa).
+
+=item B
+
+   $flag = $delta1->cmp($delta2);
+
+This compares two deltas (using the approximate relationships listed
+above) and returns -1, 0, or 1 which could be used to sort them by length
+of time.
+
+Both deltas must be valid, and both must be either business or
+non-business deltas.  They do not need to be the same out of exact,
+semi-exact, and approximate.
+
+undef will be returned if either delta is invalid, or you try to compare
+a business and non-business delta.
+
+=back
+
+=head1 PRINTF DIRECTIVES
+
+The following printf directives are replaced with information
+from the delta. Directives may be replaced by the values of a
+single field in the delta (i.e. the hours or weeks field),
+the value of several fields expressed in terms of one of them
+(i.e. the number of years and months expressed in terms of
+months), or the directive may format either the entire delta,
+or portions of it.
+
+=over 4
+
+=item B
+
+These are directives which print simple characters. Currently, the only one is:
+
+   %%    Replaced by a single '%'
+
+As an example:
+
+  $delta->printf('|%%|');
+     => |%|
+
+=item B
+
+The following directive is used to print out the value of a single
+field. Spaces are included here for clarity, but are not in the
+actual directive.
+
+   % [+] [pad] [width] Xv
+
+Here, X is one of (y,M,w,d,h,m,s). The directive will print out the
+value for that field (in the normalized delta).
+
+If a '+' is included immediately after the '%', a sign will always be
+included. By default, only negative values will include a sign.
+
+'width' is any positive integer (without a sign). If 'width' is
+included, it sets the length of the output string (unless the string
+is already longer than that, in which case the 'width' is ignored).
+
+If 'pad' is included, it may be the character '<', '>', or '0'. It
+will be ignored unless 'width' is included.  If the formatted delta
+field is shorter than 'width', it will be padded with spaces on the
+left (if 'pad' is '<'), or right (if 'pad' is '>'), or it will be
+padded on the left (after any sign) with zeroes (if 'pad' is '0').
+
+In the following examples, $delta contains the delta: 1:2:3:4:5:6:7
+
+   $delta->printf('|Month: %Mv|');
+      => |Month: 2|
+
+   $delta->printf('|Day: %+05dv|');
+      => |Day: +0004|
+
+   $delta->printf('|Day: %+<5dv|');
+      => |Day:    +4|
+
+   $delta->printf('|Day: %>5sv|');
+      => |Day: 7    |
+
+=item B
+
+The following directive is used to print out the value of several
+different fields, expressed in terms of a single field.
+
+   % [+] [pad] [width] [.precision] XYZ
+
+Here, X, Y, and Z are each one of (y,M,w,d,h,m,s). The directive will
+print out the value for fields Y through Z expressed in terms of field X.
+
+Y must come before Z in the sequence (y,M,w,d,h,m,s) or it can be the
+same as Z.
+
+So, to print the day and hour fields in terms of seconds, use the directive:
+
+   %sdh
+
+Any time all of X, Y, and Z are from a single set of fields, exact
+relationships are used.
+
+If the X, Y, and Z fields do not all belong to the same set of fields,
+approximate relationships are used.
+
+For non-business deltas, an approximate relationship is needed to link
+the Y/M part of the delta to the W/D part and a semi-approximate
+relationship is needed to link the W/D part with the H/MN/S part.
+These relationships are:
+
+   1 day    = 24 hours
+   1 year   = 365.2425
+
+For business deltas, the approximate and semi-approximate relationships
+used to link the fields together are:
+
+   1 week   = X    (length of business week in days)
+   1 year   = X/7 * 365.2425
+
+For business deltas, the length of the day is defined using
+WorkDayStart and WorkDayEnd.  For non-business deltas, a day is 24
+hours long (i.e. daylight saving time is ignored).
+
+If 'precision' is included, it is the number of decimal places to
+print. If it is not included, but 'width' is included, precision will
+be set automatically to display the maximum number of decimal places
+given 'width'.
+
+If 'pad' is included, it may be the character '<', '>', or '0', and is
+used in the same way as printing out a single field.
+
+In the following examples, $delta contains the delta: 1:2:3:4:5:6:7
+
+   $delta->printf('|%.4Myw|');
+      => |14.6900|
+      1 year, 2 months, 3 weeks is approximately
+      14.6900 months
+
+=item B
+
+The following directives may be used to print out some or all of a delta.
+
+   % [+] [pad] [width] Dt
+   % [+] [pad] [width] DXY
+
+The first directive will print out the entire delta.
+
+The second will print out the delta from the X to Y fields inclusive
+(where X and Y are each one of (y,M,w,d,h,m,s) and X must come before
+Y in the sequence).
+
+'pad' is optional and can be either '<' or '>' meaning to pad on the
+left or right with spaces. It defaults to '<'.
+
+If a '+' is included immediately following the '%', every field will
+have a sign attached. Otherwise, only the leftmost field in each set
+of fields will include a sign.
+
+    $delta->printf('|%Dt|');
+       => |+1:2:+3:+4:5:6:7|
+
+    $delta->printf('|%+Dyd|');
+       => |+1:+2:+3:+4|
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the Date::Manip::Problems documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+Date::Manip        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Examples.pod b/lib/Date/Manip/Examples.pod
new file mode 100644
index 0000000..00fb6ff
--- /dev/null
+++ b/lib/Date/Manip/Examples.pod
@@ -0,0 +1,381 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Examples - examples of how to use Date::Manip
+
+=head1 DESCRIPTION
+
+This document includes a number of examples on how to do common
+Date::Manip operations.  I will be happy to add new examples over
+time, and welcome suggestions and examples to include.
+
+In most cases, an example will include two different ways of getting
+the answer.  The first way will be using the new (as of 6.00) OO
+modules. The second will be using the old-style functional interface.
+
+It should be noted that any time you want to work with alternate
+time zones, the OO interface is STRONGLY recommended since the functional
+interface does not preserve time zone information with the date, and
+may therefore give incorrect results in some cases. However, working
+in the time zone of the system should give correct results.
+
+It should be noted that, in the examples below, it appears that the OO
+method often requires more lines of code than the functional
+interface.  There are a number of ways to shorten the OO method, but
+for the examples, I wanted to include all the steps explicitly.
+
+=head1 PARSING A DATE
+
+Dates can be parsed in practically any form in common usage:
+
+=over 4
+
+=item B
+
+   $date = new Date::Manip::Date;
+   $err = $date->parse("today");
+   $err = $date->parse("1st Thursday in June 1992");
+   $err = $date->parse("05/10/93");
+   $err = $date->parse("12:30 Dec 12th 1880");
+   $err = $date->parse("8:00pm December tenth");
+
+=item B
+
+   $date = ParseDate("today");
+   $date = ParseDate("1st Thursday in June 1992");
+   $date = ParseDate("05/10/93");
+   $date = ParseDate("12:30 Dec 12th 1880");
+   $date = ParseDate("8:00pm December tenth");
+
+=back
+
+The L manual has a list of all valid formats.
+
+=head1 PARSING AN AMOUNT OF TIME
+
+Amounts of time (referred to as deltas) can also be parsed:
+
+=over 4
+
+=item B
+
+   $delta = new Date::Manip::Delta;
+   $err = $delta->parse("in 12 hours");
+   $err = $delta->parse("-1:30:0");
+   $err = $delta->parse("4 business days later");
+
+=item B
+
+   $delta = ParseDateDelta("in 12 hours");
+   $delta = ParseDateDelta("-1:30:0");
+   $delta = ParseDateDelta("4 business days later");
+
+=back
+
+=head1 TO CALCULATE THE AMOUNT OF TIME BETWEEN TWO DATES
+
+   $datestr1 = "Jan 30 1999 13:00 EST";
+   $datestr2 = "2/Mar/1999 15:30:00 +0500";
+
+=over 4
+
+=item B
+
+   $date1 = new Date::Manip::Date;
+   $date2 = $date1->new_date();
+   $err = $date1->parse($datestr1);
+   $err = $date2->parse($datestr2);
+
+To get an exact amount of time between the two dates (expressed only in terms of
+weeks, days, hours, minutes, seconds), use:
+
+   $delta = $date1->calc($date2);
+
+To get an approximate amount of time (expressed in terms of years, months, weeks,
+etc. in terms that a human would typically think of), use:
+
+   $delta = $date1->calc($date2,"approx");
+
+=item B
+
+   $date1 = ParseDate($string1);
+   $date2 = ParseDate($string2);
+
+To get an exact amount:
+
+   $delta = DateCalc($date1,$date2);
+
+and the approximate amount:
+
+   $delta = DateCalc($date1,$date2,1);
+
+=back
+
+The L manual has information about these, and other types of
+calculations.
+
+=head1 TO ADD AN AMOUNT OF TIME TO A DATE
+
+To find a second date a given amount of time before or after a first date,
+use the following:
+
+   $datestr  = "Jan 30 1999 13:00 EST";
+   $deltastr = "12 hours ago";
+   $deltastr = "in 3 business days";
+
+=over 4
+
+=item B
+
+   $date = new Date::Manip::Date;
+   $delta = $date->new_delta();
+   $date->parse($datestr);
+   $delta->parse($deltastr);
+
+   $d = $date->calc($delta);
+
+=item B
+
+   $date = DateCalc($datestr,$deltastr);
+
+=back
+
+If the delta is a business delta, it will do a business mode calculation.
+
+The L manual has information about these, and other types of
+calculations.
+
+=head1 COMPARE TWO DATES
+
+To take two different dates and see which is earlier, do the
+following:
+
+   $datestr1 = "Jan 30 1999 13:00 EST";
+   $datestr2 = "2/Mar/1999 15:30:00 +0500";
+
+=over 4
+
+=item B
+
+   $date1 = new Date::Manip::Date;
+   $date2 = $date1->new_date;
+   $date1->parse($datestr1);
+   $date2->parse($datestr2);
+
+   $date1->cmp($date2);
+      => -1, 0, 1
+
+=item B
+
+   $date1 = ParseDate($datestr1);
+   $date2 = ParseDate($datestr2);
+
+   Date_Cmp($date1,$date2);
+      => -1, 0, 1
+
+=back
+
+=head1 TO EXTRACT INFORMATION ABOUT A DATE OR DELTA
+
+If you have a date or a delta, you can extract information
+about them as follows:
+
+   $datestr  = "1:24:08 PM EST Feb 3, 1996";
+   $deltastr = "12 hours ago";
+
+=over 4
+
+=item B
+
+   $date = new Date::Manip::Date;
+   $delta = $date->new_delta();
+   $date->parse($datestr);
+   $delta->parse($deltastr);
+
+   $str = $date->printf("It is now %T on %b %e, %Y.");
+     =>  "It is now 13:24:08 on Feb  3, 1996."
+
+   $str = $delta->printf("In %hv hours, %mv minutes, %sv seconds");
+     => "In -12 hours, 0 minutes, 0 seconds";
+
+=item B
+
+   $str = UnixDate($datestr,"It is now %T on %b %e, %Y.");
+     =>  "It is now 13:24:08 on Feb  3, 1996."
+
+   $str = Delta_Format($deltastr,"In %hv hours, %mv minutes, %sv seconds");
+     => "In -12 hours, 0 minutes, 0 seconds";
+
+=back
+
+The L manual contains all of the format codes that can
+be used to extract information from a date. The L manual
+contains the codes for a delta.
+
+=head1 WORKING WITH EPOCH
+
+Date::Manip can easily be used to work with the number of seconds
+since the epoch (Jan 1, 1970 00:00:00 UTC).
+
+If you have a date, and you want to find out how many seconds it is
+after the epoch, you can do it in the following ways:
+
+   $datestr  = "1999-04-30-15:30:00 EDT";
+   $secs  = 1234567;
+
+=over 4
+
+=item B
+
+To find out how many seconds have elapsed on a certain date, you
+can do the following:
+
+   $date     = new Date::Manip::Date;
+   $err      = $date->parse($datestr);
+
+   $str      = $date->printf('%s');
+      => number of seconds
+
+To find out the date that is a certain number of seconds since the
+epoch, you can use the following:
+
+   $date  = new Date::Manip::Date;
+   $err   = $date->parse("epoch $secs");
+
+C<$date> now contains the date wanted (in the local time zone)
+
+=item B
+
+To find out how many seconds have elapsed:
+
+   $str = UnixDate($datestr,'%s');
+     => number of seconds
+
+To find the date that is a number of seconds since the epoch:
+
+   $date = ParseDateString("epoch $secs");
+
+=back
+
+Note that Date::Manip will work with both positive seconds (for dates
+that have come since the epoch) and negative seconds (for dates that
+occurred before the epoch).
+
+=head1 RECURRING EVENTS
+
+To find a list of dates where a recurring event happens (even very complex
+recurrences), do the following:
+
+=over 4
+
+=item B
+
+  # To find the 2nd Tuesday of every month from Jan 1 1999 to Apr 30 1999
+
+  $recur = new Date::Manip::Recur;
+  $start = $recur->new_date();
+  $end   = $recur->new_date();
+  $start->parse("Jan 1 1999");
+  $end->parse("Apr 30 1999");
+
+  $recur->parse("0:1*2:2:0:0:0",$start,$end);
+  @date = $recur->dates();
+
+  # To find the Monday after Easter in 1997-1999
+
+  $recur = new Date::Manip::Recur;
+  $recur->parse("*1997-1999:0:0:0:0:0:0*EASTER,ND1");
+  @date = $recur->dates();
+
+=item B
+
+  # To find the 2nd Tuesday of every month from Jan 1 1999 to Apr 30 1999
+  @date = ParseRecur("0:1*2:2:0:0:0","","Jan 1 1999","Apr 30 1999");
+
+  # To find the Monday after Easter in 1997-1999.
+  @date = ParseRecur("*1997-1999:0:0:0:0:0:0*EASTER,ND1");
+
+=back
+
+The L manual contains information about recurring events.
+
+=head1 WORKING WITH DATES IN ANOTHER LANGUAGE
+
+If you want to work with dates in a language other than English (but you
+are only working with a single language), do the following:
+
+=over 4
+
+=item B
+
+   $date = new Date::Manip::Date;
+   $date->config("Language","French","DateFormat","non-US");
+   $date->parse("1er decembre 1990");
+
+=item B
+
+   Date_Init("Language=French","DateFormat=non-US");
+   $date = ParseDate("1er decembre 1990");
+
+=back
+
+The L manual has a list of all supported languages (in the
+section on the Language config variable). The meaning of the DateFormat
+config variable is also included.
+
+=head1 WORKING WITH TWO DIFFERENT LANGUAGES
+
+If you want to work with dates in two (or more) languages, it is STRONGLY
+recommended that you use the OO interface. The functional interface will
+be much slower since it has to re-initialize a lot of language-specific
+stuff every time you switch back and forth between languages.
+
+=over 4
+
+=item B
+
+   $date_eng = new Date::Manip::Date;
+   $date_eng->config("Language","English","DateFormat","US");
+
+   $date_fre = new Date::Manip::Date;
+   $date_fre->config("Language","French","DateFormat","non-US");
+
+Use the C<$date_eng> object to do English operations, the C<$date_fre> object to
+do French operations.
+
+=item B
+
+If you are working with both French and English dates, you can call
+the following to switch between them:
+
+   Date_Init("Language=French","DateFormat=non-US");
+   Date_Init("Language=English","DateFormat=US");
+
+This is NOT recommended. Use the OO method instead.
+
+=back
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/History.pod b/lib/Date/Manip/History.pod
new file mode 100644
index 0000000..1b99ce1
--- /dev/null
+++ b/lib/Date/Manip/History.pod
@@ -0,0 +1,211 @@
+# Copyright (c) 2015-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::History - Twenty years and still going strong
+
+=head1 TWENTY YEARS
+
+I just realized (Dec 2015) that Date::Manip turned twenty years old
+earlier this year, so I wanted to write some thoughts I have about
+Date::Manip.
+
+The history of Date::Manip can be broken into several periods.
+
+=over 4
+
+=item Birth of Date::Manip (1995-1996)
+
+1995 was the year I really started using perl to automate some of
+my common tasks.  At the time, I was running programs using a number
+of different batch systems that needed dates entered in a variety
+of different formats.  It was frustrating to remember what format for
+what batch system, so I wrote some wrappers which would take a few
+common formats that I wanted to use and would turn those dates into
+whatever format the batch system needed.
+
+After a few different wrapper scripts (where I copied the date handling
+code between the scripts), I gathered all of the date routines into
+one package.
+
+This was the birth of Date::Manip.
+
+I kept it that way for about half a year.  By that time, I was thoroughly
+in love with perl and wanted to contribute.
+
+At the time, CPAN was just a fledgling site, but in October, I released
+my first package.  It wasn't really a module at that time... it was
+crudely put together and extremely limited use.  Even so, it got some
+very positive initial feedback which spurred the early growth.
+
+There were several private versions followed by 4 public releases (4.0
+through 4.3) during this period.
+
+Soon, I had adopted many of the best practices of the day and converted
+it to a full-blown module.
+
+=item Active development (1996-2001)
+
+The next 5 years were extremely active.  Based on suggestions and requests,
+functionality increased dramatically, and before long, Date::Manip was
+considered the goto module for Date operations.
+
+During this period, a number of other modules came along that did a small
+subset of the functions of Date::Manip (most of them significantly faster),
+but none had the scope of Date::Manip.
+
+During this period, I recognized that the single biggest weakness was
+the inability to correctly handle timezones and daylight saving time.
+Towards the end of this period (2000 I believe), I began a project to
+rewrite Date::Manip, but I didn't not have the time needed to really
+carry it out at that time.
+
+Another weakness was that Date::Manip grew in a random way.  As ideas
+and suggestions came, I added them.  There was little planning or
+forethought involved, and that led to it not having a consistent
+API.
+
+1998 did see the addition of Recurrences.  Although not an extremely
+widely used piece of functionality, I regard this as the single most
+important contribution I have ever made.  I developed the notation for
+specifying recurring events, and no other notation has ever come close
+to matching it's power and flexibility.
+
+This period, starting with the first release in a full module form,
+included 26 releases (from 5.00 to 5.40).
+
+=item Minimal maintenance (2001-2008)
+
+During these years, I was able to devote time needed to maintain the
+existing module, but not to do major development.
+
+As a result, the rewrite project remained incomplete (and in fact, it
+was barely started).
+
+During this time, due to the fact that no other module could handle
+timezones correctly, DateTime arrived in 2003.  It featured a nice
+object-oriented interface, and handled timezones.
+
+Over the next few years, it became the de facto standard for date
+handling in perl.
+
+This period included only 8 releases (5.42 to 5.54).
+
+=item Rewrite (2009-2010)
+
+In 2009, I decided it was time to fix the timezone problems in Date::Manip .
+Some people might see this as a waste of time due to the fact that DateTime
+existed, but I had several thoughts.
+
+First, many people continued to use Date::Manip.  This was evident by
+the number of emails I continued to receive.
+
+Second, there were still things that Date::Manip did better than DateTime
+including recurrences and parsing.
+
+Third, I love my module, and didn't want to see it die.  I'll continue to
+use it, even if nobody else does.
+
+So, I set out to fix it.  It turned out to be a complete rewrite, but in
+the end, version 6 was released with full timezone handling, even better
+parsing, and quite a few other features.
+
+Date::Manip was once again very much alive.
+
+This period featured 13 releases (6.00 to 6.14) with an additional
+2 maintenance releases of version 5.
+
+=item Active maintenance (2010-present)
+
+Although primarily in maintenance mode (due to the fact
+that Date::Manip does pretty much everything that it was designed to do),
+active maintenance continues.  There is also some development and
+a large number of significant improvements have been made in this
+period.
+
+I make regular releases to update the timezone information, fix bugs,
+and add the occasional new features.
+
+For the foreseeable future, Date::Manip will remain active, and fully
+capable of handling any common date operation.
+
+Since 6.14, there have been 36 releases to date (6.20 to 6.59) which is
+averaging about 5 releases per year.
+
+=back
+
+=head1 ONE OF THE OLDEST
+
+I was curious to see how many other modules are out there that have
+survived as long as Date::Manip.
+
+The first public release of Date::Manip (though it was not a module
+yet of course) was version 4.0 on 13-Aug-1995.  The first public
+release to CPAN was version 4.2 released on 23-Oct-1995.
+
+I got a list of all CPAN modules from the wayback machine for 2000
+(the earliest version of the list that I could find).  Then I checked
+each of these authors on backpan to see which of these authors had
+packages (.tar.gz or .tgz files) released prior to 23-Oct-1995.
+
+I found that at the time Date-Manip 4.2 was released there were
+
+   32 authors
+   70 packages
+
+There are currently (Aug 2017) over 190,000 modules by over 13,000 authors.
+So Date::Manip got involved in CPAN very early.
+
+Next, I tried to determine which of those authors and packages are
+still active.  I'm not completely sure about some of the packages because
+frequently, those old packages have changed maintainers, been renamed,
+or been incorporated into other packages.  So the number of active
+packages is actually a lower limit.
+
+I found that:
+
+   13 authors are active today
+   21 of the packages are active today
+   7 of those packages are still maintained by the original author
+
+An active author is one who has released something in the past 3 years.
+An active module is one that has been updated in the past 3 years.
+
+I apologize if I have missed anyone.
+
+The 7 packages which are older than Date::Manip and are still actively
+maintained by their original author (though they may have been renamed)
+are:
+
+   ILYAZ  MathPari     23-Jan-1995
+   ANDK   Symdump      16-Aug-1995
+   PMQS   Filter       28-Aug-1995
+   GAAS   libwww-perl  16-Sep-1995
+   LDS    GD           17-Sep-1995
+   MEWP   sybperl      02-Oct-1995
+   TOMZO  Quota        10-Oct-1995
+
+Congratulations to those authors who have been with perl since the
+beginning.  I'm proud to be in their company!  And congratulations to
+ILYAZ for having the oldest module in CPAN!
+
+Again, if I have missed anyone, please let me know.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Holidays.pod b/lib/Date/Manip/Holidays.pod
new file mode 100644
index 0000000..350f307
--- /dev/null
+++ b/lib/Date/Manip/Holidays.pod
@@ -0,0 +1,312 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Holidays - describes holidays and events
+
+=head1 SYNOPSIS
+
+This describes the Holidays and Events sections of the config file,
+and how they are used.
+
+Holidays and events are specific days that are named. Holidays are
+used in business mode calculations, events are not. Events may be used
+for other calendaring operations.
+
+=head1 HOLIDAYS
+
+The holiday section of the config file is used to define holidays.  Each
+line is of the form:
+
+   STRING = HOLIDAY
+
+HOLIDAY is the name of the holiday or it can be blank.
+
+If HOLIDAY is blank, the holiday is unnamed, but still treated as a
+holiday.  For example, in the US, the day after Thanksgiving is often
+a work holiday though it is not named.
+
+HOLIDAY should be unique in most cases.  The only exception is if the
+holiday definition is complex enough that it is impossible to describe
+it with one STRING.  In this case, multiple lines may be given with
+different values of STRING but the same value for HOLIDAY, and in these
+cases, the first STRING that matches a given year will be used.  This
+situation is described in more detail below.
+
+NOTE: It is not allowed to have unnamed holidays that require multiple
+definitions, so a name will have to be assigned in that case.
+
+STRING is a string which can be parsed to give a valid date. It can be any
+of the following forms:
+
+=over 4
+
+=item B
+
+Specific holidays can be set which occur only a single time.
+
+   May 5, 2000                     = A one-time-only holiday
+
+Any format parseable by C can be used.
+
+There is one caveat to using a full date.  Date::Manip assumes that
+most holidays will appear once per year, so if you were to explicitly
+defined New Years (observed) as:
+
+   2004-12-31                      = New Year's Day
+
+then it would assume that it had found the occurrence of New Year's for
+2004 when in fact, this is the 2005 occurrence.
+
+Full date specifications should only be used as a last resort, and
+probably only if you will explicitly specify all occurrence of the
+holiday.
+
+=item B
+
+Some holidays occur every year on the same day. These can be defined
+using the simple lines:
+
+   Jan 1                           = New Year's Day
+   Jul 4th                         = Independence Day
+   fourth Thu in Nov               = Thanksgiving
+
+These dates must be written in a form which can be parsed as a full
+date by simply adding the year to the end of the string. Please refer
+to the L documentation to see what forms will
+work. ISO 8601 dates will not work since the year comes first.
+
+Any format parseable by C which allows the
+year to be at the end can be used.
+
+=item B
+
+The dates can be specified using recurrences:
+
+   1*0:0:0:0:0:0*EASTER            = Easter
+   1*11:0:11:0:0:0*DWD             = Veteran's Day
+   1*11:4:5:0:0:0                  = Thanksgiving
+   1*11:4:5:0:0:0*FD1              = Day after Thanksgiving
+
+In cases where you are interested in business type calculations, you'll
+want to define most holidays using recurrences, since they can define
+when a holiday is celebrated in the financial world.  For example,
+Christmas might be defined as:
+
+   Dec 25               = Christmas
+
+but if it falls on a weekend, there won't be a business holiday
+associated with it. It could be defined using a recurrence:
+
+   1*12:0:24:0:0:0*DWD  = Christmas
+
+so that if Christmas falls on a weekend, a holiday will be taken
+on the Friday before or the Monday after the weekend.
+
+You can use the fully specified format of a recurrence:
+
+  1*2:0:1:0:0:0***Jan 1 1999*Dec 31 2002 = Feb 2 from 1999-2002
+
+=back
+
+=head1 OTHER HOLIDAY CONSIDERATIONS
+
+=over 4
+
+=item B
+
+It is now valid to have a recurrence defined for New Year's day which
+pushes the holiday to the previous year.
+
+For example, the most useful definition of New Year's day is:
+
+   1*1:0:1:0:0:0*DWD               = New Year's Day
+
+which means to choose the closest working day to observe the
+holiday, even though this might mean that the holiday is observed
+on the previous year.
+
+=item B
+
+The order of the definitions is preserved. In other words, when looking
+at the holidays for a year, previously defined holidays (in the order
+given in the config file) are correctly handled.
+
+As an example, if you wanted to define both Christmas and Boxing days
+(Boxing is the day after Christmas, and is celebrated in some parts of
+the world), and you wanted to celebrate Christmas on a business day on
+or after Dec 25, and Boxing day as the following work day, you could do
+it in one of the following ways:
+
+   1*12:0:25:0:0:0*NWD  = Christmas
+   1*12:0:26:0:0:0*NWD  = Boxing
+
+or
+
+   1*12:0:25:0:0:0*NWD  = Christmas
+   1*12:0:25:0:0:0*NWD  = Boxing
+
+Holidays go into affect the minute they are parsed which is why the
+second example works (though for clarity, the first one is
+preferable).  The first recurrence defined the first business day on
+or after Dec 25 as Christmas.  The second one then defines the
+business day after that as Boxing day.  Since the definitions are
+stored as a list (NOT a hash as they were in Date::Manip 5.xx), using
+the same recurrence twice does not cause a problem.
+
+=item B
+
+Having multiple holidays on a single day is allowed. As an example,
+you may want to look at New Years day as both the observed and actual
+holidays, so you might have:
+
+   1*1:0:1:0:0:0*DWD               = New Year's Day (observed)
+   Jan 1                           = New Year's Day
+
+Most of the time, both will fall on the same day, but sometimes
+they may differ.  In this example, it is important that the
+observed holiday be listed first.  Otherwise, Jan 1 will be
+marked as a holiday and then the observed date will check Jan 1,
+but where it is not a business day, it will move to another day
+(due to the DWD modifier).
+
+Likewise, the two holidays:
+
+   3rd Sunday in June              = Father's Day
+   Jun 17                          = Bunker Hill Day
+
+sometimes fall on the same day.  Using the
+C method (or the C
+function), you can get a list of all names that the date contains.
+
+=item B
+
+Occasionally, you cannot describe a holiday using a single line.  For
+example, the US Federal Reserve banks use a complex holiday description
+where:
+
+   For holidays falling on Saturday, Federal Reserve Banks
+   and Branches will be open the preceding Friday. For holidays
+   falling on Sunday, all Federal Reserve Banks and Branches
+   will be closed the following Monday.
+
+Since Saturday is not a business day, the DWD modifier will not work.
+For these, you need a more complicated definition.
+
+The following definitions both work:
+
+   # Saturday
+   1*1:0:1:0:0:0*NBD,BD1,IBD,FD1   = New Year's Day
+   # Sunday (observed Monday)
+   1*1:0:1:0:0:0*NBD,BD1,NBD,FD2   = New Year's Day
+   # M-F
+   1*1:0:1:0:0:0*IBD               = New Year's Day
+
+and
+
+   # Saturday
+   1*1:0:1:0:0:0*IW6               = New Year's Day
+   # Sunday (observed Monday)
+   1*1:0:1:0:0:0*IW7,FD1           = New Year's Day
+   # M-F
+   1*1:0:1:0:0:0*IBD               = New Year's Day
+
+=back
+
+=head1 EVENTS
+
+The Events section of the config file is similar to the Holiday section.
+It is used to name certain days or times, but there are a few important
+differences:
+
+=over 4
+
+=item B
+
+All holidays are exactly 1 day long.  They are assigned to a period
+of time from midnight to midnight.
+
+Events can be based at any time of the day, and may be of any duration.
+
+=item B
+
+Unlike holidays, events are completely ignored when doing business
+mode calculations.
+
+=back
+
+Whereas holidays were added with business mode math in mind, events
+were added with calendar and scheduling applications in mind.
+
+Every line in the events section is of the form:
+
+   EVENT = NAME
+
+where NAME is the name of the event, and EVENT defines when it occurs
+and its duration.  An EVENT can be defined in the following ways:
+
+   Date
+   YMD
+   YM
+   Recur
+
+   Date  ; Date
+   YMD   ; YMD
+   YM    ; YM
+   Date  ; Delta
+   Recur ; Delta
+
+Date refers to a full date/time (and is any string that can be parsed
+by C). YMD is any string which can be parsed by
+C. YM is any string which can be parsed by
+the parse_date method to give a date in the current year. Recur is a
+partial or fully specified recurrence. Delta is any string that can be
+parsed to form a delta.
+
+With the "Date" form, or the "Recur" form, the event starts at the
+time (or times) specified by the date or recurrence, and last 1 hour
+long.  With the "YMD" and "YM" forms, the event occurs on the given
+day, and lasts all day.
+
+With all of the two part forms ("Date;Date", "YM;YM", etc.), the event
+starts at the first date and goes to the second date, or goes an
+amount of time specified by the delta.
+
+The "YMD;YMD" and "YM;YM" forms means that the event lasts from the
+start of the first date to the end of the second. In the Date;Date
+form, the event goes from the first date to the second date
+inclusive. In other words, both dates are in the event. In the
+"Date;Delta" and "Recur;Delta" forms, the Delta tells the length of
+the event. Also, in the Date;Date form, the second date may NOT be
+expressed as a delta.
+
+Currently, having an event longer than 1 year is NOT supported, but no
+checking is done for this.
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Interfaces.pod b/lib/Date/Manip/Interfaces.pod
new file mode 100644
index 0000000..5504d66
--- /dev/null
+++ b/lib/Date/Manip/Interfaces.pod
@@ -0,0 +1,233 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Interfaces - A description of functional and OO interfaces
+
+=head1 DESCRIPTION
+
+There are three different ways to use Date::Manip .  A complete description
+of each is included below.  They are:
+
+=over 4
+
+=item Functional interface (version 5)
+
+Date::Manip version 5 runs on very old versions of perl.  If you need
+to use Date::Manip with a version of perl older than 5.10, this is the
+only interface available.
+
+=item Functional interface (version 6)
+
+When Date::Manip was rewritten (version 6), it made use of some features
+of perl 5.10 .  This is the recommended interface if you are supporting
+a script that uses the functional interface, but where a newer version
+of perl is available.
+
+=item Object-oriented interface
+
+The OO interface is the recommended interface wherever possible.  It
+is the only one with access to the full functionality of the module.
+
+=back
+
+=head1 VERSION 5 AND VERSION 6
+
+Date::Manip version 5.xx was available for many years, but suffered
+from several weaknesses.  It was slow, and did not handle timezones
+or daylight saving time correctly.  It was written as a functional
+interface, even though an object-oriented interface would have been
+better.  It did have the advantage of running on very old versions of
+perl (it is known to work on perl 5.6 and may work on even older
+versions of perl).
+
+Date::Manip version 6.00 was a complete rewrite of the module.  For
+detailed information about the differences, please refer to the
+L document.  The rewrite was needed in order
+to handle timezone operations, in addition to many other improvements
+including much better performance and more robust parsing.
+
+The rewrite made use of features introduced in perl 5.10 which made
+the date parsing routines significantly cleaner.  In addition, the
+6.xx release was written as an object oriented set of modules which
+are much more powerful than the older functional interface.  For
+backward compatibility, a new functional interface was rewritten
+(which is simply a set of wrapper functions which call the OO methods)
+which is almost entirely backward compatible with the version 5.xx
+interface.
+
+The Date::Manip distribution includes all three of these interfaces:
+the older version 5 interface, and both the new OO interface and
+the backward compatible functional interface.  Also, all three are
+installed, so you can use whichever interface is appropriate.
+
+Since there are three different interfaces available, choosing the
+interface is the necessary.
+
+If you are running on a system with a very old version of perl (older than
+5.10), the version 5 interface is your only option.
+
+If you are on a system running a newer version of perl, but need to
+support a script that was written using the functional interface, then
+you can use the version 6 functional interface.
+
+For everyone else, it is strongly recommended that you use the object-oriented
+interface.
+
+A more detailed description of each interface is included below.  If
+you already know which interface you want to use, just go to the
+L section for documentation for each
+interface.
+
+=head1 FUNCTIONAL INTERFACE (VERSION 5)
+
+When using a version of perl older than 5.10, this is the only
+interface available.  This interface is documented in the
+L.  This interface has several weaknesses that
+need to be understood when using it:
+
+=over 4
+
+=item B
+
+The version 5 functional interface is no longer being developed, and
+only limited support is available for it.
+
+As of December 2012, no development will be done, and I will not
+correct any remaining bugs in version 5.  If a patch is supplied by
+someone else to fix bugs, I will apply it, provided it applies
+cleanly, and the resulting code continues to pass all tests.  I will
+not apply patches to add features.
+
+I will continue to distribute version 5 for several years.  I do not
+have a date in mind where version 5 will be removed.
+
+=item B
+
+Time zone support is extremely limited, and is often incorrect. The lack
+of time zone support was the primary reason for rewriting Date::Manip.
+
+The version 5 interface does not handle daylight saving time changes
+correctly.
+
+=item B
+
+Considerable time has been spent speeding up Date::Manip, and fairly
+simple benchmarks show that version 6 is around twice as fast as
+version 5.
+
+=back
+
+Feel free to email me concerns and comments.
+
+=head1 FUNCTIONAL INTERFACE (VERSION 6)
+
+The version 6 functional interface is almost completely identical to
+the version 5 functional interface, except that it uses the
+object-oriented modules to do all the real work.
+
+Time zone support is greatly improved, but is still somewhat limited.
+Since the version 6 interface is backward compatible, dates do not
+store time zone information in them, so the programmer is responsible
+for keeping track of what time zone each date is in. If you want full
+access to the time zone support offered in Date::Manip, you have to
+use the object-oriented interface.
+
+For the most part, scripts written for older versions of Date::Manip
+will continue to work (and scripts written for the version 6
+functional interface will run with the version 5 interface), however
+in a few cases, you may need to modify your scripts.  Please refer to
+the L document for a list of changes which
+may be necessary.
+
+=head1 OBJECT-ORIENTED INTERFACE
+
+As of 6.00, Date::Manip consists of a set of OO modules. Each have
+their own document (see the L section).
+
+The OO interface consists of the following modules: L,
+L, L, L, and
+L.
+
+The object-oriented interface is the only way to get the full
+functionality of Date::Manip. It fully support time zones (and
+daylight saving time).
+
+=head1 SELECTING AN INTERFACE
+
+If you are running an older version of perl, the version 5 functional
+interface is the only one available to you, and it will automatically
+be used.
+
+If you are running a newer version of perl (5.10 or higher), you can
+use the object-oriented modules by loading them directly, or you can
+use a functional interface.
+
+If you use a functional interface, it will default to the version 6
+interface, but you can choose to run the version 5 interface in one
+of three ways:
+
+=over 4
+
+=item Using the OO interface
+
+By including any of the following:
+
+   use Date::Manip::Date;
+   use Date::Manip::Delta;
+   use Date::Manip::Recur;
+   use Date::Manip::TZ;
+   use Date::Manip::Base;
+
+you have access to the OO interface for the appropriate types of objects.
+
+=item Use the default functional interface
+
+By including:
+
+   use Date::Manip;
+
+in your script, one of the functional interfaces will be loaded.  If you
+are running a version of perl older than 5.10, it will automatically be
+the version 5 interface.  If you are running a newer version of perl,
+it will automatically load the version 6 interface.
+
+=item DATE_MANIP environment variable
+
+By setting the DATE_MANIP environment variable to 'DM5' before running
+the perl script, the version 5 interface will be used.
+
+=item Date::Manip::Backend variable
+
+Alternately, you can set the Date::Manip::Backend variable to be 'DM5'
+before loading the module. Typically, this will be done in the following
+way:
+
+   BEGIN {
+        $Date::Manip::Backend = 'DM5';
+   }
+   use Date::Manip;
+
+=back
+
+Once a functional interface is loaded, you cannot switch between the
+version 5 and version 6 interfaces.
+
+=head1 SEE ALSO
+
+Date::Manip        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang.pod b/lib/Date/Manip/Lang.pod
new file mode 100644
index 0000000..90eca86
--- /dev/null
+++ b/lib/Date/Manip/Lang.pod
@@ -0,0 +1,149 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Lang - language support for Date::Manip
+
+=head1 DESCRIPTION
+
+Date::Manip supports a number of different languages when
+parsing dates, and more can be added.
+
+=head1 CURRENT LANGUAGES
+
+Currently, the following languages are supported by Date::Manip.
+The version of Date::Manip where they were added is included (so
+you can see the minimum version of Date::Manip needed to parse
+each).
+
+The language can be chosen by setting the Language config
+variable to the name of the language or any of the aliases
+included in the table.
+
+All names and aliases are case insensitive.
+
+   Language     Version  Aliases
+
+   English      default  en, en_us
+
+   Catalan      5.43     ca
+   Danish       5.41     da
+   Dutch        5.32     Nederlands, nl
+   Finnish      6.31     fi, fi_fi
+   French       5.02     fr, fr_fr
+   German       5.31     de, de_de
+   Italian      5.35     it, it_it
+   Norwegian    6.21     nb, nb_no
+   Polish       5.32     pl, pl_pl
+   Portuguese   5.34     pt, pt_pt
+   Romanian     5.35     ro, ro_ro
+   Russian      5.41     ru, ru_ru
+   Spanish      5.33     es, es_es
+   Swedish      5.05     sv
+   Turkish      5.41     tr, tr_tr
+
+=head1 ADDING A LANGUAGE
+
+Adding a language is easily done (if you're fluent in both English
+and the other language).  If you want to add a new language, do the
+following:
+
+=over 4
+
+=item Language name
+
+When you submit the new language, I'll need the name of the
+language (of course) and any common locale names that might
+be useful for people to select the language.
+
+For example, if you were creating a Spanish translation (which is not
+necessary since it already exists), I would need the following list:
+
+   spanish es es_es
+
+=item Copy the english module
+
+Copy the english.pm file (which is in lib/Date/Manip/Lang in the
+Date::Manip distribution) to the new language (i.e. spanish.pm in
+this example).
+
+=item Set some variables in the new module
+
+The new module (spanish.pm) will need a few simple modifications.
+Change the package name from 'english' to 'spanish'.
+
+Fix the C<@Encodings> lines.  Most languages can be written in more
+than one encoding.  The first encoding in the list should be utf-8
+and the last should be perl.  Include any other encodings that
+should be supported as well.
+
+Set the C<$YearAdded> and C<$LangName> appropriately.
+
+=item Translate the language terms
+
+The data section of the module is fairly straightforward to translate.
+
+Every term is defined in the L document
+(or in any of the other language module documents), so please
+refer to it to find out what each element means.  Then replace the
+English version with the new translation.
+
+There are some requirements:
+
+1) Every element should be defined (except for the sephm and sepms
+elements which are optional).
+
+2) The module must be written using UTF-8 characters if the language
+includes any non-ASCII characters.
+
+3) Each element includes a list of values (different variations of the
+element).  In most cases, the order of the values for each element is
+not important since they are just used to create a regular expression
+for parsing dates, but a few of them are also used to determine printable
+values using the C method (or the C
+function).  These elements are:
+
+   Element       printf directive
+
+   ampm          %p
+   day_abb       %a
+   day_char      %v
+   day_name      %A
+   month_abb     %b
+   month_name    %B
+   nth           %E
+
+For each of these, the value that should be printed out must be the
+first value in the list.
+
+4) When possible, if a language includes characters that are
+essentially ASCII characters with a punctuation mark, please include a
+variation of the value which is just ASCII with the punctuation
+removed.  For example, the spanish name for Saturday in ASCII would be
+written sabado, but in reality, the first 'a' has an accent over
+it. This word should appear twice... first in full UTF-8 encoding, and
+second as all ASCII. If the language (Russian for example) has no
+ASCII equivalent, just include the UTF-8 representation.
+
+=back
+
+Feel free to contact me if you have any questions.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/catalan.pm b/lib/Date/Manip/Lang/catalan.pm
new file mode 100644
index 0000000..1e71db9
--- /dev/null
+++ b/lib/Date/Manip/Lang/catalan.pm
@@ -0,0 +1,165 @@
+package Date::Manip::Lang::catalan;
+# Copyright (c) 2003-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Catalan";
+$YearAdded = 2003;
+
+$Language = {
+  ampm => [['AM', 'A.M.', 'de la matinada'], ['PM', 'P.M.', 'de la tarda']],
+  at => ['a les', 'a', 'al'],
+  day_abb => [
+    ['Dll', 'dl.', 'dl'],
+    ['Dmt', 'Dim', 'dt.', 'dt'],
+    ['Dmc', 'Dic', 'dc.', 'dc'],
+    ['Dij', 'dj.', 'dj'],
+    ['Div', 'dv.', 'dv'],
+    ['Dis', 'ds.', 'ds'],
+    ['Diu', 'dg.', 'dg'],
+  ],
+  day_char => [
+    ['Dl', 'L'],
+    ['Dm', 'M', 't'],
+    ['Dc', 'X', 'c'],
+    ['Dj', 'J'],
+    ['Dv', 'V'],
+    ['Ds', 'S'],
+    ['Du', 'U', 'g'],
+  ],
+  day_name => [
+    ['Dilluns'],
+    ['Dimarts'],
+    ['Dimecres'],
+    ['Dijous'],
+    ['Divendres'],
+    ['Dissabte'],
+    ['Diumenge'],
+  ],
+  each => ['cadascuna', 'cada', 'cadascun'],
+  fields => [
+    ['anys', 'a', 'an', 'any'],
+    ['mes', 'm', 'me', 'ms'],
+    ['setmanes', 's', 'se', 'set', 'setm', 'setmana'],
+    ['dies', 'd', 'dia'],
+    ['hores', 'h', 'ho', 'hora'],
+    ['minuts', 'mn', 'min', 'minut'],
+    ['segons', 's', 'seg', 'segon'],
+  ],
+  last => ['darrer', 'darrera', 'ultim', 'últim', 'ultima', 'última', 'passat'],
+  mode => [['exactament', 'approximadament'], ['empresa']],
+  month_abb => [
+    ['Gen', 'gen.'],
+    ['Feb', 'febr', 'feb.', 'febr.'],
+    ['Mar', 'mar.'],
+    ['Abr', 'abr.'],
+    ['Mai', 'mai.'],
+    ['Jun', 'jun.'],
+    ['Jul', 'jul.'],
+    ['Ago', 'ag', 'ago.', 'ag.'],
+    ['Set', 'set.'],
+    ['Oct', 'oct.'],
+    ['Nov', 'nov.'],
+    ['Des', 'Dec', 'des.', 'dec.'],
+  ],
+  month_name => [
+    ['Gener'],
+    ['Febrer'],
+    ['Març', 'Marc'],
+    ['Abril'],
+    ['Maig'],
+    ['Juny'],
+    ['Juliol'],
+    ['Agost'],
+    ['Setembre'],
+    ['Octubre'],
+    ['Novembre'],
+    ['Desembre'],
+  ],
+  nextprev => [['proper', 'seguent', 'següent'], ['passat', 'proppassat', 'anterior']],
+  nth => [
+    ['1er', 'primer', 'un'],
+    ['2n', 'segon', 'dos'],
+    ['3r', 'tercer', 'tres'],
+    ['4t', 'quart', 'quatre'],
+    ['5è', '5e', 'cinque', 'Cinquè', 'cinc'],
+    ['6è', '6e', 'sise', 'sisè', 'sis'],
+    ['7è', '7e', 'sete', 'setè', 'set'],
+    ['8è', '8e', 'vuite', 'vuitè', 'vuit'],
+    ['9è', '9e', 'nove', 'novè', 'nou'],
+    ['10è', '10e', 'dese', 'desè', 'deu'],
+    ['11è', '11e', 'onze', 'onzè'],
+    ['12è', '12e', 'dotze', 'dotzè'],
+    ['13è', '13e', 'tretze', 'tretzè'],
+    ['14è', '14e', 'catorze', 'catorzè'],
+    ['15è', '15e', 'quinze', 'quinzè'],
+    ['16è', '16e', 'setze', 'setzè'],
+    ['17è', '17e', 'dissete', 'dissetè', 'disset'],
+    ['18è', '18e', 'divuite', 'divuitè', 'divuit'],
+    ['19è', '19e', 'dinove', 'dinovèe', 'dinou'],
+    ['20è', '20e', 'vinte', 'vintè', 'vint'],
+    ['21è', '21e', 'vint-i-une', 'vint-i-unè', 'vint-i-u'],
+    ['22è', '22e', 'vint-i-dose', 'vint-i-dosè', 'vint-i-dos'],
+    ['23è', '23e', 'vint-i-trese', 'vint-i-tresè', 'vint-i-tres'],
+    ['24è', '24e', 'vint-i-quatre', 'vint-i-quatrè'],
+    ['25è', '25e', 'vint-i-cinque', 'vint-i-cinquè'],
+    ['26è', '26e', 'vint-i-sise', 'vint-i-sisè'],
+    ['27è', '27e', 'vint-i-sete', 'vint-i-setè'],
+    ['28è', '28e', 'vint-i-vuite', 'vint-i-vuitè'],
+    ['29è', '29e', 'vint-i-nove', 'vint-i-novè'],
+    ['30è', '30e', 'trente', 'trentè', 'trenta'],
+    ['31è', '31e', 'trenta-une', 'trenta-unè', 'trenta-u'],
+    ['32è', '32e', 'trenta-dos'],
+    ['33è', '33e', 'trenta-tres'],
+    ['34è', '34e', 'trenta-quatre'],
+    ['35è', '35e', 'trenta-cinc'],
+    ['36è', '36e', 'trenta-sis'],
+    ['37è', '37e', 'trenta-set', 'trenta-setè', 'trenta-sete'],
+    ['38è', '38e', 'trenta-vuit'],
+    ['39è', '39e', 'trenta-nou'],
+    ['40è', '40e', 'quaranta'],
+    ['41è', '41e', 'quaranta-un'],
+    ['42è', '42e', 'quaranta-dos'],
+    ['43è', '43e', 'quaranta-tres'],
+    ['44è', '44e', 'quaranta-quatre'],
+    ['45è', '45e', 'quaranta-cinc'],
+    ['46è', '46e', 'quaranta-sis'],
+    ['47è', '47e', 'quaranta-set'],
+    ['48è', '48e', 'quaranta-vuit', 'quaranta-vuitena'],
+    ['49è', '49e', 'quaranta-nou'],
+    ['50è', '50e', 'cinquantè', 'cinquante'],
+    ['51è', '51e', 'cinquanta-un'],
+    ['52è', '52e', 'cinquanta-dos'],
+    ['53è', '53e', 'cinquanta-tres'],
+  ],
+  of => ['de', 'd\''],
+  offset_date => {
+    'abans d\'ahir' => '-0:0:0:2:0:0:0',
+    'ahir' => '-0:0:0:1:0:0:0',
+    'dema' => '+0:0:0:1:0:0:0',
+    'dema passat' => '+0:0:0:2:0:0:0',
+    'demà' => '+0:0:0:1:0:0:0',
+    'demà passat' => '+0:0:0:2:0:0:0',
+    'idag' => '0:0:0:0:0:0:0',
+  },
+  offset_time => { ara => '0:0:0:0:0:0:0', avui => '0:0:0:0:0:0:0' },
+  on => ['el'],
+  times => { migdia => '12:00:00', mitjanit => '00:00:00' },
+  when => [['fa'], ['d\'aqui a', 'd\'aquí a', 'mes tard', 'més tard']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/catalan.pod b/lib/Date/Manip/Lang/catalan.pod
new file mode 100644
index 0000000..b5e2de4
--- /dev/null
+++ b/lib/Date/Manip/Lang/catalan.pod
@@ -0,0 +1,759 @@
+# Copyright (c) 2003-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::catalan - Catalan language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Gener
+
+   Febrer
+
+   Març
+   Marc
+
+   Abril
+
+   Maig
+
+   Juny
+
+   Juliol
+
+   Agost
+
+   Setembre
+
+   Octubre
+
+   Novembre
+
+   Desembre
+
+
+The following abbreviations may be used:
+
+   Gen
+   gen.
+
+   Feb
+   febr
+   feb.
+   febr.
+
+   Mar
+   mar.
+
+   Abr
+   abr.
+
+   Mai
+   mai.
+
+   Jun
+   jun.
+
+   Jul
+   jul.
+
+   Ago
+   ag
+   ago.
+   ag.
+
+   Set
+   set.
+
+   Oct
+   oct.
+
+   Nov
+   nov.
+
+   Des
+   Dec
+   des.
+   dec.
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Dilluns
+
+   Dimarts
+
+   Dimecres
+
+   Dijous
+
+   Divendres
+
+   Dissabte
+
+   Diumenge
+
+
+The following abbreviations may be used:
+
+   Dll
+   dl.
+   dl
+
+   Dmt
+   Dim
+   dt.
+   dt
+
+   Dmc
+   Dic
+   dc.
+   dc
+
+   Dij
+   dj.
+   dj
+
+   Div
+   dv.
+   dv
+
+   Dis
+   ds.
+   ds
+
+   Diu
+   dg.
+   dg
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   Dl
+   L
+
+   Dm
+   M
+   t
+
+   Dc
+   X
+   c
+
+   Dj
+   J
+
+   Dv
+   V
+
+   Ds
+   S
+
+   Du
+   U
+   g
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   anys
+   a
+   an
+   any
+
+   mes
+   m
+   me
+   ms
+
+   setmanes
+   s
+   se
+   set
+   setm
+   setmana
+
+   dies
+   d
+   dia
+
+   hores
+   h
+   ho
+   hora
+
+   minuts
+   mn
+   min
+   minut
+
+   segons
+   s
+   seg
+   segon
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+   de la matinada
+
+   PM
+   P.M.
+   de la tarda
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   cadascuna
+   cada
+   cadascun
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   proper
+   seguent
+   següent
+
+
+Previous occurrence:
+
+   passat
+   proppassat
+   anterior
+
+
+Last occurrence:
+
+   darrer
+   darrera
+   ultim
+   últim
+   ultima
+   última
+   passat
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   fa
+
+   d'aqui a
+   d'aquí a
+   mes tard
+   més tard
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exactament
+   approximadament
+
+
+The following words may be used to specify a business delta:
+
+   empresa
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1er
+   primer
+   un
+
+   2n
+   segon
+   dos
+
+   3r
+   tercer
+   tres
+
+   4t
+   quart
+   quatre
+
+   5è
+   5e
+   cinque
+   Cinquè
+   cinc
+
+   6è
+   6e
+   sise
+   sisè
+   sis
+
+   7è
+   7e
+   sete
+   setè
+   set
+
+   8è
+   8e
+   vuite
+   vuitè
+   vuit
+
+   9è
+   9e
+   nove
+   novè
+   nou
+
+   10è
+   10e
+   dese
+   desè
+   deu
+
+
+   11è
+   11e
+   onze
+   onzè
+
+   12è
+   12e
+   dotze
+   dotzè
+
+   13è
+   13e
+   tretze
+   tretzè
+
+   14è
+   14e
+   catorze
+   catorzè
+
+   15è
+   15e
+   quinze
+   quinzè
+
+   16è
+   16e
+   setze
+   setzè
+
+   17è
+   17e
+   dissete
+   dissetè
+   disset
+
+   18è
+   18e
+   divuite
+   divuitè
+   divuit
+
+   19è
+   19e
+   dinove
+   dinovèe
+   dinou
+
+   20è
+   20e
+   vinte
+   vintè
+   vint
+
+
+   21è
+   21e
+   vint-i-une
+   vint-i-unè
+   vint-i-u
+
+   22è
+   22e
+   vint-i-dose
+   vint-i-dosè
+   vint-i-dos
+
+   23è
+   23e
+   vint-i-trese
+   vint-i-tresè
+   vint-i-tres
+
+   24è
+   24e
+   vint-i-quatre
+   vint-i-quatrè
+
+   25è
+   25e
+   vint-i-cinque
+   vint-i-cinquè
+
+   26è
+   26e
+   vint-i-sise
+   vint-i-sisè
+
+   27è
+   27e
+   vint-i-sete
+   vint-i-setè
+
+   28è
+   28e
+   vint-i-vuite
+   vint-i-vuitè
+
+   29è
+   29e
+   vint-i-nove
+   vint-i-novè
+
+   30è
+   30e
+   trente
+   trentè
+   trenta
+
+
+   31è
+   31e
+   trenta-une
+   trenta-unè
+   trenta-u
+
+   32è
+   32e
+   trenta-dos
+
+   33è
+   33e
+   trenta-tres
+
+   34è
+   34e
+   trenta-quatre
+
+   35è
+   35e
+   trenta-cinc
+
+   36è
+   36e
+   trenta-sis
+
+   37è
+   37e
+   trenta-set
+   trenta-setè
+   trenta-sete
+
+   38è
+   38e
+   trenta-vuit
+
+   39è
+   39e
+   trenta-nou
+
+   40è
+   40e
+   quaranta
+
+
+   41è
+   41e
+   quaranta-un
+
+   42è
+   42e
+   quaranta-dos
+
+   43è
+   43e
+   quaranta-tres
+
+   44è
+   44e
+   quaranta-quatre
+
+   45è
+   45e
+   quaranta-cinc
+
+   46è
+   46e
+   quaranta-sis
+
+   47è
+   47e
+   quaranta-set
+
+   48è
+   48e
+   quaranta-vuit
+   quaranta-vuitena
+
+   49è
+   49e
+   quaranta-nou
+
+   50è
+   50e
+   cinquantè
+   cinquante
+
+
+   51è
+   51e
+   cinquanta-un
+
+   52è
+   52e
+   cinquanta-dos
+
+   53è
+   53e
+   cinquanta-tres
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   a les
+   a
+   al
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   de
+   d'
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   el
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   abans d'ahir         -0:0:0:2:0:0:0
+   ahir                 -0:0:0:1:0:0:0
+   dema                 +0:0:0:1:0:0:0
+   dema passat          +0:0:0:2:0:0:0
+   demà                 +0:0:0:1:0:0:0
+   demà passat          +0:0:0:2:0:0:0
+   idag                 0:0:0:0:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   migdia               12:00:00
+   mitjanit             00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   ara                  0:0:0:0:0:0:0
+   avui                 0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/danish.pm b/lib/Date/Manip/Lang/danish.pm
new file mode 100644
index 0000000..154d5cd
--- /dev/null
+++ b/lib/Date/Manip/Lang/danish.pm
@@ -0,0 +1,152 @@
+package Date::Manip::Lang::danish;
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Danish";
+$YearAdded = 2001;
+
+$Language = {
+  ampm => [['FM', 'f.m.'], ['EM', 'e.m.']],
+  at => ['klokken', 'kl', 'kl.'],
+  day_abb => [['Man'], ['Tir'], ['Ons'], ['Tor'], ['Fre'], ['Lør', 'Lor'], ['Søn', 'Son']],
+  day_char => [['M'], ['Ti'], ['O'], ['To'], ['F'], ['L'], ['S']],
+  day_name => [
+    ['Mandag'],
+    ['Tirsdag'],
+    ['Onsdag'],
+    ['Torsdag'],
+    ['Fredag'],
+    ['Lørdag', 'Lordag'],
+    ['Søndag', 'Sondag'],
+  ],
+  each => ['hver'],
+  fields => [
+    ['ar', 'år'],
+    ['maneder', 'måneder', 'man', 'maned', 'mån', 'måned'],
+    ['uger', 'u', 'uge'],
+    ['dage', 'd', 'dag'],
+    ['timer', 't', 'tim', 'time'],
+    ['minutter', 'm', 'min', 'minut'],
+    ['sekunder', 's', 'sek', 'sekund'],
+  ],
+  last => ['forrige', 'sidste', 'nyeste'],
+  mode => [['pracist', 'præcist', 'circa'], ['arbejdsdag', 'arbejdsdage']],
+  month_abb => [
+    ['Jan'],
+    ['Feb'],
+    ['Mar'],
+    ['Apr'],
+    ['Maj'],
+    ['Jun'],
+    ['Jul'],
+    ['Aug'],
+    ['Sep'],
+    ['Okt'],
+    ['Nov'],
+    ['Dec'],
+  ],
+  month_name => [
+    ['Januar'],
+    ['Februar'],
+    ['Marts'],
+    ['April'],
+    ['Maj'],
+    ['Juni'],
+    ['Juli'],
+    ['August'],
+    ['September'],
+    ['Oktober'],
+    ['November'],
+    ['December'],
+  ],
+  nextprev => [['naste', 'næste'], ['forrige']],
+  nth => [
+    ['1.', 'forste', 'første', 'en'],
+    ['2.', 'anden', 'to'],
+    ['3.', 'tredie', 'tre'],
+    ['4.', 'fjerde', 'fire'],
+    ['5.', 'femte', 'fem'],
+    ['6.', 'sjette', 'seks'],
+    ['7.', 'syvende', 'syv'],
+    ['8.', 'ottende', 'otte'],
+    ['9.', 'niende', 'ni'],
+    ['10.', 'tiende', 'ti'],
+    ['11.', 'elfte', 'elleve'],
+    ['12.', 'tolvte', 'tolv'],
+    ['13.', 'trettende', 'tretten'],
+    ['14.', 'fjortende', 'fjorten'],
+    ['15.', 'femtende', 'femten'],
+    ['16.', 'sekstende', 'seksten'],
+    ['17.', 'syttende', 'sytten'],
+    ['18.', 'attende', 'atten'],
+    ['19.', 'nittende', 'nitten'],
+    ['20.', 'tyvende', 'tyve'],
+    ['21.', 'enogtyvende', 'enogtyve'],
+    ['22.', 'toogtyvende', 'toogtyve'],
+    ['23.', 'treogtyvende', 'treogtyve'],
+    ['24.', 'fireogtyvende', 'fireogtyve'],
+    ['25.', 'femogtyvende', 'femogtyve'],
+    ['26.', 'seksogtyvende', 'seksogtyve'],
+    ['27.', 'syvogtyvende', 'syvogtyve'],
+    ['28.', 'otteogtyvende', 'otteogtyve'],
+    ['29.', 'niogtyvende', 'niogtyve'],
+    ['30.', 'tredivte', 'tredive'],
+    ['31.', 'enogtredivte', 'enogtredive'],
+    ['32.', 'toogtredivte', 'toogtredive'],
+    ['33.', 'treogtredivte', 'treogtredive'],
+    ['34.', 'fireogtredivte', 'fireogtredive'],
+    ['35.', 'femogtredivte', 'femogtredive'],
+    ['36.', 'seksogtredivte', 'seksogtredive'],
+    ['37.', 'syvogtredivte', 'syvogtredive'],
+    ['38.', 'otteogtredivte', 'otteogtredive'],
+    ['39.', 'niogtredivte', 'niogtredive'],
+    ['40.', 'fyrretyvende', 'fyrre'],
+    ['41.', 'enogtyvende', 'enogtyve'],
+    ['42.', 'toogtyvende', 'toogtyve'],
+    ['43.', 'treogtyvende', 'treogtyve'],
+    ['44.', 'fireogtyvende', 'fireogtyve'],
+    ['45.', 'femogtyvende', 'femogtyve'],
+    ['46.', 'seksogtyvende', 'seksogtyve'],
+    ['47.', 'syvogtyvende', 'syvogtyve'],
+    ['48.', 'otteogtyvende', 'otteogtyve'],
+    ['49.', 'niogtyvende', 'niogtyve'],
+    ['50.', 'halvtredsindstyvende', 'halvtreds'],
+    ['51.', 'enogindstyvende', 'enogindstyve'],
+    ['52.', 'toogindstyvende', 'toogindstyve'],
+    ['53.', 'treogindstyvende', 'treogindstyve'],
+  ],
+  of => ['om'],
+  offset_date => {
+    'idag'    => '0:0:0:0:0:0:0',
+    'igar'    => '-0:0:0:1:0:0:0',
+    'igår'    => '-0:0:0:1:0:0:0',
+    'imorgen' => '+0:0:0:1:0:0:0',
+  },
+  offset_time => { nu => '0:0:0:0:0:0:0' },
+  on => ['pa', 'på'],
+  sephm => ['\.'],
+  sepms => [':'],
+  times => {
+    'midnat' => '00:00:00',
+    'midt pa dagen' => '12:00:00',
+    'midt på dagen' => '12:00:00',
+  },
+  when => [['siden'], ['om', 'senere']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/danish.pod b/lib/Date/Manip/Lang/danish.pod
new file mode 100644
index 0000000..92da949
--- /dev/null
+++ b/lib/Date/Manip/Lang/danish.pod
@@ -0,0 +1,656 @@
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::danish - Danish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Januar
+
+   Februar
+
+   Marts
+
+   April
+
+   Maj
+
+   Juni
+
+   Juli
+
+   August
+
+   September
+
+   Oktober
+
+   November
+
+   December
+
+
+The following abbreviations may be used:
+
+   Jan
+
+   Feb
+
+   Mar
+
+   Apr
+
+   Maj
+
+   Jun
+
+   Jul
+
+   Aug
+
+   Sep
+
+   Okt
+
+   Nov
+
+   Dec
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Mandag
+
+   Tirsdag
+
+   Onsdag
+
+   Torsdag
+
+   Fredag
+
+   Lørdag
+   Lordag
+
+   Søndag
+   Sondag
+
+
+The following abbreviations may be used:
+
+   Man
+
+   Tir
+
+   Ons
+
+   Tor
+
+   Fre
+
+   Lør
+   Lor
+
+   Søn
+   Son
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   M
+
+   Ti
+
+   O
+
+   To
+
+   F
+
+   L
+
+   S
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   ar
+   år
+
+   maneder
+   måneder
+   man
+   maned
+   mån
+   måned
+
+   uger
+   u
+   uge
+
+   dage
+   d
+   dag
+
+   timer
+   t
+   tim
+   time
+
+   minutter
+   m
+   min
+   minut
+
+   sekunder
+   s
+   sek
+   sekund
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   FM
+   f.m.
+
+   EM
+   e.m.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   hver
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   naste
+   næste
+
+
+Previous occurrence:
+
+   forrige
+
+
+Last occurrence:
+
+   forrige
+   sidste
+   nyeste
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   siden
+
+   om
+   senere
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   pracist
+   præcist
+   circa
+
+
+The following words may be used to specify a business delta:
+
+   arbejdsdag
+   arbejdsdage
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   forste
+   første
+   en
+
+   2.
+   anden
+   to
+
+   3.
+   tredie
+   tre
+
+   4.
+   fjerde
+   fire
+
+   5.
+   femte
+   fem
+
+   6.
+   sjette
+   seks
+
+   7.
+   syvende
+   syv
+
+   8.
+   ottende
+   otte
+
+   9.
+   niende
+   ni
+
+   10.
+   tiende
+   ti
+
+
+   11.
+   elfte
+   elleve
+
+   12.
+   tolvte
+   tolv
+
+   13.
+   trettende
+   tretten
+
+   14.
+   fjortende
+   fjorten
+
+   15.
+   femtende
+   femten
+
+   16.
+   sekstende
+   seksten
+
+   17.
+   syttende
+   sytten
+
+   18.
+   attende
+   atten
+
+   19.
+   nittende
+   nitten
+
+   20.
+   tyvende
+   tyve
+
+
+   21.
+   enogtyvende
+   enogtyve
+
+   22.
+   toogtyvende
+   toogtyve
+
+   23.
+   treogtyvende
+   treogtyve
+
+   24.
+   fireogtyvende
+   fireogtyve
+
+   25.
+   femogtyvende
+   femogtyve
+
+   26.
+   seksogtyvende
+   seksogtyve
+
+   27.
+   syvogtyvende
+   syvogtyve
+
+   28.
+   otteogtyvende
+   otteogtyve
+
+   29.
+   niogtyvende
+   niogtyve
+
+   30.
+   tredivte
+   tredive
+
+
+   31.
+   enogtredivte
+   enogtredive
+
+   32.
+   toogtredivte
+   toogtredive
+
+   33.
+   treogtredivte
+   treogtredive
+
+   34.
+   fireogtredivte
+   fireogtredive
+
+   35.
+   femogtredivte
+   femogtredive
+
+   36.
+   seksogtredivte
+   seksogtredive
+
+   37.
+   syvogtredivte
+   syvogtredive
+
+   38.
+   otteogtredivte
+   otteogtredive
+
+   39.
+   niogtredivte
+   niogtredive
+
+   40.
+   fyrretyvende
+   fyrre
+
+
+   41.
+   enogtyvende
+   enogtyve
+
+   42.
+   toogtyvende
+   toogtyve
+
+   43.
+   treogtyvende
+   treogtyve
+
+   44.
+   fireogtyvende
+   fireogtyve
+
+   45.
+   femogtyvende
+   femogtyve
+
+   46.
+   seksogtyvende
+   seksogtyve
+
+   47.
+   syvogtyvende
+   syvogtyve
+
+   48.
+   otteogtyvende
+   otteogtyve
+
+   49.
+   niogtyvende
+   niogtyve
+
+   50.
+   halvtredsindstyvende
+   halvtreds
+
+
+   51.
+   enogindstyvende
+   enogindstyve
+
+   52.
+   toogindstyvende
+   toogindstyve
+
+   53.
+   treogindstyvende
+   treogindstyve
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   klokken
+   kl
+   kl.
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   om
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   pa
+   på
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   idag                 0:0:0:0:0:0:0
+   igar                 -0:0:0:1:0:0:0
+   igår                 -0:0:0:1:0:0:0
+   imorgen              +0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   midnat               00:00:00
+   midt pa dagen        12:00:00
+   midt på dagen        12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   nu                   0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   \.  :
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/dutch.pm b/lib/Date/Manip/Lang/dutch.pm
new file mode 100644
index 0000000..cfe7226
--- /dev/null
+++ b/lib/Date/Manip/Lang/dutch.pm
@@ -0,0 +1,312 @@
+package Date::Manip::Lang::dutch;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw();
+$LangName  = "Dutch";
+$YearAdded = 1998;
+
+$Language = {
+  ampm => [
+    [
+      'am',
+      'a.m.',
+      'vm',
+      'v.m.',
+      'voormiddag',
+      '\'s ochtends',
+      'ochtend',
+      '\'s nachts',
+      'nacht',
+    ],
+    [
+      'pm',
+      'p.m.',
+      'nm',
+      'n.m.',
+      'namiddag',
+      '\'s middags',
+      'middag',
+      '\'s avonds',
+      'avond',
+    ],
+  ],
+  at => ['om'],
+  day_abb => [['ma'], ['di'], ['wo'], ['do'], ['vr'], ['zat', 'za'], ['zon', 'zo']],
+  day_char => [['M'], ['D'], ['W'], ['D'], ['V'], ['Za'], ['Zo']],
+  day_name => [
+    ['maandag'],
+    ['dinsdag'],
+    ['woensdag'],
+    ['donderdag'],
+    ['vrijdag'],
+    ['zaterdag'],
+    ['zondag'],
+  ],
+  each => ['elke', 'elk'],
+  fields => [
+    ['jaren', 'jaar', 'ja', 'j'],
+    ['maanden', 'maand', 'mnd'],
+    ['weken', 'week', 'w'],
+    ['dagen', 'dag', 'd'],
+    ['uren', 'uur', 'u', 'h'],
+    ['minuten', 'm', 'minuut', 'min'],
+    ['seconden', 'seconde', 'sec', 's'],
+  ],
+  last => ['laatste', 'afgelopen'],
+  mode => [
+    [
+      'exact',
+      'precies',
+      'nauwkeurig',
+      'ongeveer',
+      'ong',
+      'ong.',
+      'circa',
+      'ca',
+      'ca.',
+    ],
+    ['werk', 'werkdagen', 'zakelijke', 'zakelijk'],
+  ],
+  month_abb => [
+    ['jan'],
+    ['feb'],
+    ['maa', 'mrt'],
+    ['apr'],
+    ['mei'],
+    ['jun'],
+    ['jul'],
+    ['aug'],
+    ['sep'],
+    ['oct', 'okt'],
+    ['nov'],
+    ['dec'],
+  ],
+  month_name => [
+    ['januari'],
+    ['februari'],
+    ['maart'],
+    ['april'],
+    ['mei'],
+    ['juni'],
+    ['juli'],
+    ['augustus'],
+    ['september'],
+    ['oktober'],
+    ['november'],
+    ['december'],
+  ],
+  nextprev => [['volgende', 'volgend'], ['voorgaande', 'voorgaand', 'vorige']],
+  nth => [
+    ['1ste', 'eerste', 'een'],
+    ['2de', 'tweede', 'twee'],
+    ['3de', 'derde', 'drie'],
+    ['4de', 'vierde', 'vier'],
+    ['5de', 'vijfde', 'vijf'],
+    ['6de', 'zesde', 'zes'],
+    ['7de', 'zevende', 'zeven'],
+    ['8ste', 'achtste', 'acht'],
+    ['9de', 'negende', 'negen'],
+    ['10de', 'tiende', 'tien'],
+    ['11de', 'elfde', 'elf'],
+    ['12de', 'twaalfde', 'twaalf'],
+    ['13de', 'dertiende', 'dertien'],
+    ['14de', 'veertiende', 'veertien'],
+    ['15de', 'vijftiende', 'vijftien'],
+    ['16de', 'zestiende', 'zestien'],
+    ['17de', 'zeventiende', 'zeventien'],
+    ['18de', 'achttiende', 'achttien'],
+    ['19de', 'negentiende', 'negentien'],
+    ['20ste', 'twintigstetiende', 'twintigtien', 'twintig'],
+    [
+      '21ste',
+      'eenentwintigstetiende',
+      'een-en-twintigste',
+      'eenentwintigtien',
+      'een-en-twintig',
+      'Eenentwintig',
+    ],
+    [
+      '22ste',
+      'tweeentwintigstetiende',
+      'twee-en-twintigste',
+      'tweeentwintigtien',
+      'twee-en-twintig',
+      'tweeentwintig',
+      'tweeentwintigste',
+      'tweeëntwintig',
+      'tweeëntwintigste',
+    ],
+    [
+      '23ste',
+      'drieentwintigstetiende',
+      'drie-en-twintigste',
+      'drieentwintigtien',
+      'drie-en-twintig',
+      'drieentwintig',
+      'drieentwintigste',
+      'drieëntwintig',
+      'drieëntwintigste',
+    ],
+    [
+      '24ste',
+      'vierentwintigstetiende',
+      'vier-en-twintigste',
+      'vierentwintigtien',
+      'vier-en-twintig',
+      'vierentwintig',
+      'vierentwintigste',
+    ],
+    [
+      '25ste',
+      'vijfentwintigstetiende',
+      'vijf-en-twintigste',
+      'vijfentwintigtien',
+      'vijf-en-twintig',
+      'vijfentwintig',
+      'vijfentwintigste',
+    ],
+    [
+      '26ste',
+      'zesentwintigstetiende',
+      'zes-en-twintigste',
+      'zesentwintigtien',
+      'zes-en-twintig',
+      'zesentwintig',
+      'zesentwintigste',
+    ],
+    [
+      '27ste',
+      'zevenentwintigstetiende',
+      'zeven-en-twintigste',
+      'zevenentwintigtien',
+      'zeven-en-twintig',
+      'zevenentwintig',
+      'zevenentwintigste',
+    ],
+    [
+      '28ste',
+      'achtentwintigstetiende',
+      'acht-en-twintigste',
+      'achtentwintigtien',
+      'acht-en-twintig',
+      'achtentwintig',
+      'achtentwintigste',
+    ],
+    [
+      '29ste',
+      'negenentwintigstetiende',
+      'negen-en-twintigste',
+      'negenentwintigtien',
+      'negen-en-twintig',
+      'negenentwintig',
+      'negenentwintigste',
+    ],
+    [
+      '30ste',
+      'dertigsteentwintigstetiende',
+      'dertigste-en-twintigste',
+      'dertigentwintigtien',
+      'dertig-en-twintig',
+      'dertig',
+      'dertigste',
+    ],
+    [
+      '31ste',
+      'eenendertigsteentwintigstetiende',
+      'een-en-dertigste-en-twintigste',
+      'eenendertigentwintigtien',
+      'een-en-dertig-en-twintig',
+      'eenendertig',
+      'eenendertigste',
+    ],
+    [
+      '32ste',
+      'tweeendertig',
+      'tweeendertigste',
+      'tweeëndertig',
+      'tweeëndertigste',
+    ],
+    [
+      '33ste',
+      'drieendertig',
+      'drieendertigste',
+      'drieëndertig',
+      'drieëndertigste',
+    ],
+    ['34ste', 'vierendertig', 'vierendertigste'],
+    ['35ste', 'vijfendertig', 'vijfendertigste'],
+    ['36ste', 'zesendertig', 'zesendertigste'],
+    ['37ste', 'zevenendertig', 'zevenendertigste'],
+    ['38ste', 'achtendertig', 'achtendertigste'],
+    ['39ste', 'negenendertig', 'negenendertigste'],
+    ['40ste', 'veertig', 'veertigste'],
+    ['41ste', 'eenenveertig', 'eenenveertigste'],
+    [
+      '42ste',
+      'tweeënveertig',
+      'tweeënveertigste',
+      'tweeenveertig',
+      'tweeenveertigste',
+    ],
+    [
+      '43ste',
+      'drieënveertig',
+      'drieënveertigste',
+      'drieenveertig',
+      'drieenveertigste',
+    ],
+    ['44ste', 'vierenveertig', 'vierenveertigste'],
+    ['45ste', 'vijfenveertig', 'vijfenveertigste'],
+    ['46ste', 'zesenveertig', 'zesenveertigste'],
+    ['47ste', 'zevenenveertig', 'zevenenveertigste'],
+    ['48ste', 'achtenveertig', 'achtenveertigste'],
+    ['49ste', 'negenenveertig', 'negenenveertigste'],
+    ['50ste', 'vijftig', 'vijftigste'],
+    ['51ste', 'eenenvijftig', 'eenenvijftigste'],
+    [
+      '52ste',
+      'tweeënvijftig',
+      'tweeënvijftigste',
+      'tweeenvijftig',
+      'tweeenvijftigste',
+    ],
+    [
+      '53ste',
+      'drieënvijftig',
+      'drieënvijftigste',
+      'drieenvijftig',
+      'drieenvijftigste',
+    ],
+  ],
+  of => ['in', 'van'],
+  offset_date => {
+    eergisteren => '-0:0:0:2:0:0:0',
+    gisteren    => '-0:0:0:1:0:0:0',
+    morgen      => '+0:0:0:1:0:0:0',
+    overmorgen  => '+0:0:0:2:0:0:0',
+    vandaag     => '0:0:0:0:0:0:0',
+  },
+  offset_time => { nou => '0:0:0:0:0:0:0', nu => '0:0:0:0:0:0:0' },
+  on => ['op'],
+  sephm => ['[.]', '[uh]'],
+  sepms => ['[.]', '[m]'],
+  times => { middernacht => '00:00:00', noen => '12:00:00' },
+  when => [['geleden', 'vroeger', 'eerder'], ['over', 'later']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/dutch.pod b/lib/Date/Manip/Lang/dutch.pod
new file mode 100644
index 0000000..75d4771
--- /dev/null
+++ b/lib/Date/Manip/Lang/dutch.pod
@@ -0,0 +1,740 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::dutch - Dutch language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   januari
+
+   februari
+
+   maart
+
+   april
+
+   mei
+
+   juni
+
+   juli
+
+   augustus
+
+   september
+
+   oktober
+
+   november
+
+   december
+
+
+The following abbreviations may be used:
+
+   jan
+
+   feb
+
+   maa
+   mrt
+
+   apr
+
+   mei
+
+   jun
+
+   jul
+
+   aug
+
+   sep
+
+   oct
+   okt
+
+   nov
+
+   dec
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   maandag
+
+   dinsdag
+
+   woensdag
+
+   donderdag
+
+   vrijdag
+
+   zaterdag
+
+   zondag
+
+
+The following abbreviations may be used:
+
+   ma
+
+   di
+
+   wo
+
+   do
+
+   vr
+
+   zat
+   za
+
+   zon
+   zo
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   M
+
+   D
+
+   W
+
+   D
+
+   V
+
+   Za
+
+   Zo
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   jaren
+   jaar
+   ja
+   j
+
+   maanden
+   maand
+   mnd
+
+   weken
+   week
+   w
+
+   dagen
+   dag
+   d
+
+   uren
+   uur
+   u
+   h
+
+   minuten
+   m
+   minuut
+   min
+
+   seconden
+   seconde
+   sec
+   s
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   am
+   a.m.
+   vm
+   v.m.
+   voormiddag
+   's ochtends
+   ochtend
+   's nachts
+   nacht
+
+   pm
+   p.m.
+   nm
+   n.m.
+   namiddag
+   's middags
+   middag
+   's avonds
+   avond
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   elke
+   elk
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   volgende
+   volgend
+
+
+Previous occurrence:
+
+   voorgaande
+   voorgaand
+   vorige
+
+
+Last occurrence:
+
+   laatste
+   afgelopen
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   geleden
+   vroeger
+   eerder
+
+   over
+   later
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exact
+   precies
+   nauwkeurig
+   ongeveer
+   ong
+   ong.
+   circa
+   ca
+   ca.
+
+
+The following words may be used to specify a business delta:
+
+   werk
+   werkdagen
+   zakelijke
+   zakelijk
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1ste
+   eerste
+   een
+
+   2de
+   tweede
+   twee
+
+   3de
+   derde
+   drie
+
+   4de
+   vierde
+   vier
+
+   5de
+   vijfde
+   vijf
+
+   6de
+   zesde
+   zes
+
+   7de
+   zevende
+   zeven
+
+   8ste
+   achtste
+   acht
+
+   9de
+   negende
+   negen
+
+   10de
+   tiende
+   tien
+
+
+   11de
+   elfde
+   elf
+
+   12de
+   twaalfde
+   twaalf
+
+   13de
+   dertiende
+   dertien
+
+   14de
+   veertiende
+   veertien
+
+   15de
+   vijftiende
+   vijftien
+
+   16de
+   zestiende
+   zestien
+
+   17de
+   zeventiende
+   zeventien
+
+   18de
+   achttiende
+   achttien
+
+   19de
+   negentiende
+   negentien
+
+   20ste
+   twintigstetiende
+   twintigtien
+   twintig
+
+
+   21ste
+   eenentwintigstetiende
+   een-en-twintigste
+   eenentwintigtien
+   een-en-twintig
+   Eenentwintig
+
+   22ste
+   tweeentwintigstetiende
+   twee-en-twintigste
+   tweeentwintigtien
+   twee-en-twintig
+   tweeentwintig
+   tweeentwintigste
+   tweeëntwintig
+   tweeëntwintigste
+
+   23ste
+   drieentwintigstetiende
+   drie-en-twintigste
+   drieentwintigtien
+   drie-en-twintig
+   drieentwintig
+   drieentwintigste
+   drieëntwintig
+   drieëntwintigste
+
+   24ste
+   vierentwintigstetiende
+   vier-en-twintigste
+   vierentwintigtien
+   vier-en-twintig
+   vierentwintig
+   vierentwintigste
+
+   25ste
+   vijfentwintigstetiende
+   vijf-en-twintigste
+   vijfentwintigtien
+   vijf-en-twintig
+   vijfentwintig
+   vijfentwintigste
+
+   26ste
+   zesentwintigstetiende
+   zes-en-twintigste
+   zesentwintigtien
+   zes-en-twintig
+   zesentwintig
+   zesentwintigste
+
+   27ste
+   zevenentwintigstetiende
+   zeven-en-twintigste
+   zevenentwintigtien
+   zeven-en-twintig
+   zevenentwintig
+   zevenentwintigste
+
+   28ste
+   achtentwintigstetiende
+   acht-en-twintigste
+   achtentwintigtien
+   acht-en-twintig
+   achtentwintig
+   achtentwintigste
+
+   29ste
+   negenentwintigstetiende
+   negen-en-twintigste
+   negenentwintigtien
+   negen-en-twintig
+   negenentwintig
+   negenentwintigste
+
+   30ste
+   dertigsteentwintigstetiende
+   dertigste-en-twintigste
+   dertigentwintigtien
+   dertig-en-twintig
+   dertig
+   dertigste
+
+
+   31ste
+   eenendertigsteentwintigstetiende
+   een-en-dertigste-en-twintigste
+   eenendertigentwintigtien
+   een-en-dertig-en-twintig
+   eenendertig
+   eenendertigste
+
+   32ste
+   tweeendertig
+   tweeendertigste
+   tweeëndertig
+   tweeëndertigste
+
+   33ste
+   drieendertig
+   drieendertigste
+   drieëndertig
+   drieëndertigste
+
+   34ste
+   vierendertig
+   vierendertigste
+
+   35ste
+   vijfendertig
+   vijfendertigste
+
+   36ste
+   zesendertig
+   zesendertigste
+
+   37ste
+   zevenendertig
+   zevenendertigste
+
+   38ste
+   achtendertig
+   achtendertigste
+
+   39ste
+   negenendertig
+   negenendertigste
+
+   40ste
+   veertig
+   veertigste
+
+
+   41ste
+   eenenveertig
+   eenenveertigste
+
+   42ste
+   tweeënveertig
+   tweeënveertigste
+   tweeenveertig
+   tweeenveertigste
+
+   43ste
+   drieënveertig
+   drieënveertigste
+   drieenveertig
+   drieenveertigste
+
+   44ste
+   vierenveertig
+   vierenveertigste
+
+   45ste
+   vijfenveertig
+   vijfenveertigste
+
+   46ste
+   zesenveertig
+   zesenveertigste
+
+   47ste
+   zevenenveertig
+   zevenenveertigste
+
+   48ste
+   achtenveertig
+   achtenveertigste
+
+   49ste
+   negenenveertig
+   negenenveertigste
+
+   50ste
+   vijftig
+   vijftigste
+
+
+   51ste
+   eenenvijftig
+   eenenvijftigste
+
+   52ste
+   tweeënvijftig
+   tweeënvijftigste
+   tweeenvijftig
+   tweeenvijftigste
+
+   53ste
+   drieënvijftig
+   drieënvijftigste
+   drieenvijftig
+   drieenvijftigste
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   om
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   in
+   van
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   op
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   eergisteren          -0:0:0:2:0:0:0
+   gisteren             -0:0:0:1:0:0:0
+   morgen               +0:0:0:1:0:0:0
+   overmorgen           +0:0:0:2:0:0:0
+   vandaag              0:0:0:0:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   middernacht          00:00:00
+   noen                 12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   nou                  0:0:0:0:0:0:0
+   nu                   0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   [.]  [.]
+   [uh]  [m]
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/english.pm b/lib/Date/Manip/Lang/english.pm
new file mode 100644
index 0000000..a08d8e7
--- /dev/null
+++ b/lib/Date/Manip/Lang/english.pm
@@ -0,0 +1,159 @@
+package Date::Manip::Lang::english;
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw();
+$LangName  = "English";
+$YearAdded = 1995;
+
+$Language = {
+  ampm => [['AM', 'A.M.'], ['PM', 'P.M.']],
+  at => ['at'],
+  day_abb => [
+    ['Mon', 'Mon.'],
+    ['Tue', 'Tues', 'Tue.', 'Tues.'],
+    ['Wed', 'Wed.'],
+    ['Thu', 'Thur', 'Thu.', 'Thur.'],
+    ['Fri', 'Fri.'],
+    ['Sat', 'Sat.'],
+    ['Sun', 'Sun.'],
+  ],
+  day_char => [['M'], ['T'], ['W'], ['Th'], ['F'], ['Sa'], ['S']],
+  day_name => [
+    ['Monday'],
+    ['Tuesday'],
+    ['Wednesday'],
+    ['Thursday'],
+    ['Friday'],
+    ['Saturday'],
+    ['Sunday'],
+  ],
+  each => ['each', 'every'],
+  fields => [
+    ['years', 'y', 'yr', 'year', 'yrs'],
+    ['months', 'm', 'mon', 'month', 'mons'],
+    ['weeks', 'w', 'wk', 'wks', 'week'],
+    ['days', 'd', 'day'],
+    ['hours', 'h', 'hr', 'hrs', 'hour'],
+    ['minutes', 'mn', 'min', 'minute', 'mins'],
+    ['seconds', 's', 'sec', 'second', 'secs'],
+  ],
+  last => ['last', 'final'],
+  mode => [['exactly', 'approximately'], ['business']],
+  month_abb => [
+    ['Jan', 'Jan.'],
+    ['Feb', 'Feb.'],
+    ['Mar', 'Mar.'],
+    ['Apr', 'Apr.'],
+    ['May', 'May.'],
+    ['Jun', 'Jun.'],
+    ['Jul', 'Jul.'],
+    ['Aug', 'Aug.'],
+    ['Sep', 'Sept', 'Sep.', 'Sept.'],
+    ['Oct', 'Oct.'],
+    ['Nov', 'Nov.'],
+    ['Dec', 'Dec.'],
+  ],
+  month_name => [
+    ['January'],
+    ['February'],
+    ['March'],
+    ['April'],
+    ['May'],
+    ['June'],
+    ['July'],
+    ['August'],
+    ['September'],
+    ['October'],
+    ['November'],
+    ['December'],
+  ],
+  nextprev => [['next', 'following'], ['previous', 'last']],
+  nth => [
+    ['1st', 'first', 'one'],
+    ['2nd', 'second', 'two'],
+    ['3rd', 'third', 'three'],
+    ['4th', 'fourth', 'four'],
+    ['5th', 'fifth', 'five'],
+    ['6th', 'sixth', 'six'],
+    ['7th', 'seventh', 'seven'],
+    ['8th', 'eighth', 'eight'],
+    ['9th', 'ninth', 'nine'],
+    ['10th', 'tenth', 'ten'],
+    ['11th', 'eleventh', 'eleven'],
+    ['12th', 'twelfth', 'twelve'],
+    ['13th', 'thirteenth', 'thirteen'],
+    ['14th', 'fourteenth', 'fourteen'],
+    ['15th', 'fifteenth', 'fifteen'],
+    ['16th', 'sixteenth', 'sixteen'],
+    ['17th', 'seventeenth', 'seventeen'],
+    ['18th', 'eighteenth', 'eighteen'],
+    ['19th', 'nineteenth', 'nineteen'],
+    ['20th', 'twentieth', 'twenty'],
+    ['21st', 'twenty-first', 'twenty-one'],
+    ['22nd', 'twenty-second', 'twenty-two'],
+    ['23rd', 'twenty-third', 'twenty-three'],
+    ['24th', 'twenty-fourth', 'twenty-four'],
+    ['25th', 'twenty-fifth', 'twenty-five'],
+    ['26th', 'twenty-sixth', 'twenty-six'],
+    ['27th', 'twenty-seventh', 'twenty-seven'],
+    ['28th', 'twenty-eighth', 'twenty-eight'],
+    ['29th', 'twenty-ninth', 'twenty-nine'],
+    ['30th', 'thirtieth', 'thirty'],
+    ['31st', 'thirty-first', 'thirty-one'],
+    ['32nd', 'thirty-two', 'thirty-second'],
+    ['33rd', 'thirty-three', 'thirty-third'],
+    ['34th', 'thirty-four', 'thirty-fourth'],
+    ['35th', 'thirty-five', 'thirty-fifth'],
+    ['36th', 'thirty-six', 'thirty-sixth'],
+    ['37th', 'thirty-seven', 'thirty-seventh'],
+    ['38th', 'thirty-eight', 'thirty-eighth'],
+    ['39th', 'thirty-nine', 'thirty-ninth'],
+    ['40th', 'forty', 'fortieth'],
+    ['41st', 'forty-one', 'forty-first'],
+    ['42nd', 'forty-two', 'forty-second'],
+    ['43rd', 'forty-three', 'forty-third'],
+    ['44th', 'forty-four', 'forty-fourth'],
+    ['45th', 'forty-five', 'forty-fifth'],
+    ['46th', 'forty-six', 'forty-sixth'],
+    ['47th', 'forty-seven', 'forty-seventh'],
+    ['48th', 'forty-eight', 'forty-eighth'],
+    ['49th', 'forty-nine', 'forty-ninth'],
+    ['50th', 'fifty', 'fiftieth'],
+    ['51st', 'fifty-one', 'fifty-first'],
+    ['52nd', 'fifty-two', 'fifty-second'],
+    ['53rd', 'fifty-three', 'fifty-third'],
+  ],
+  of => ['of', 'in'],
+  offset_date => {
+    ereyesterday => '-0:0:0:2:0:0:0',
+    overmorrow   => '+0:0:0:2:0:0:0',
+    today        => '0:0:0:0:0:0:0',
+    tomorrow     => '+0:0:0:1:0:0:0',
+    yesterday    => '-0:0:0:1:0:0:0',
+  },
+  offset_time => { now => '0:0:0:0:0:0:0' },
+  on => ['on'],
+  times => { midnight => '00:00:00', noon => '12:00:00' },
+  when => [
+    ['ago', 'past', 'in the past', 'earlier', 'before now'],
+    ['in', 'later', 'future', 'in the future', 'from now'],
+  ],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/english.pod b/lib/Date/Manip/Lang/english.pod
new file mode 100644
index 0000000..267b9ff
--- /dev/null
+++ b/lib/Date/Manip/Lang/english.pod
@@ -0,0 +1,687 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::english - English language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   January
+
+   February
+
+   March
+
+   April
+
+   May
+
+   June
+
+   July
+
+   August
+
+   September
+
+   October
+
+   November
+
+   December
+
+
+The following abbreviations may be used:
+
+   Jan
+   Jan.
+
+   Feb
+   Feb.
+
+   Mar
+   Mar.
+
+   Apr
+   Apr.
+
+   May
+   May.
+
+   Jun
+   Jun.
+
+   Jul
+   Jul.
+
+   Aug
+   Aug.
+
+   Sep
+   Sept
+   Sep.
+   Sept.
+
+   Oct
+   Oct.
+
+   Nov
+   Nov.
+
+   Dec
+   Dec.
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Monday
+
+   Tuesday
+
+   Wednesday
+
+   Thursday
+
+   Friday
+
+   Saturday
+
+   Sunday
+
+
+The following abbreviations may be used:
+
+   Mon
+   Mon.
+
+   Tue
+   Tues
+   Tue.
+   Tues.
+
+   Wed
+   Wed.
+
+   Thu
+   Thur
+   Thu.
+   Thur.
+
+   Fri
+   Fri.
+
+   Sat
+   Sat.
+
+   Sun
+   Sun.
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   M
+
+   T
+
+   W
+
+   Th
+
+   F
+
+   Sa
+
+   S
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   years
+   y
+   yr
+   year
+   yrs
+
+   months
+   m
+   mon
+   month
+   mons
+
+   weeks
+   w
+   wk
+   wks
+   week
+
+   days
+   d
+   day
+
+   hours
+   h
+   hr
+   hrs
+   hour
+
+   minutes
+   mn
+   min
+   minute
+   mins
+
+   seconds
+   s
+   sec
+   second
+   secs
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+
+   PM
+   P.M.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   each
+   every
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   next
+   following
+
+
+Previous occurrence:
+
+   previous
+   last
+
+
+Last occurrence:
+
+   last
+   final
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   ago
+   past
+   in the past
+   earlier
+   before now
+
+   in
+   later
+   future
+   in the future
+   from now
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exactly
+   approximately
+
+
+The following words may be used to specify a business delta:
+
+   business
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1st
+   first
+   one
+
+   2nd
+   second
+   two
+
+   3rd
+   third
+   three
+
+   4th
+   fourth
+   four
+
+   5th
+   fifth
+   five
+
+   6th
+   sixth
+   six
+
+   7th
+   seventh
+   seven
+
+   8th
+   eighth
+   eight
+
+   9th
+   ninth
+   nine
+
+   10th
+   tenth
+   ten
+
+
+   11th
+   eleventh
+   eleven
+
+   12th
+   twelfth
+   twelve
+
+   13th
+   thirteenth
+   thirteen
+
+   14th
+   fourteenth
+   fourteen
+
+   15th
+   fifteenth
+   fifteen
+
+   16th
+   sixteenth
+   sixteen
+
+   17th
+   seventeenth
+   seventeen
+
+   18th
+   eighteenth
+   eighteen
+
+   19th
+   nineteenth
+   nineteen
+
+   20th
+   twentieth
+   twenty
+
+
+   21st
+   twenty-first
+   twenty-one
+
+   22nd
+   twenty-second
+   twenty-two
+
+   23rd
+   twenty-third
+   twenty-three
+
+   24th
+   twenty-fourth
+   twenty-four
+
+   25th
+   twenty-fifth
+   twenty-five
+
+   26th
+   twenty-sixth
+   twenty-six
+
+   27th
+   twenty-seventh
+   twenty-seven
+
+   28th
+   twenty-eighth
+   twenty-eight
+
+   29th
+   twenty-ninth
+   twenty-nine
+
+   30th
+   thirtieth
+   thirty
+
+
+   31st
+   thirty-first
+   thirty-one
+
+   32nd
+   thirty-two
+   thirty-second
+
+   33rd
+   thirty-three
+   thirty-third
+
+   34th
+   thirty-four
+   thirty-fourth
+
+   35th
+   thirty-five
+   thirty-fifth
+
+   36th
+   thirty-six
+   thirty-sixth
+
+   37th
+   thirty-seven
+   thirty-seventh
+
+   38th
+   thirty-eight
+   thirty-eighth
+
+   39th
+   thirty-nine
+   thirty-ninth
+
+   40th
+   forty
+   fortieth
+
+
+   41st
+   forty-one
+   forty-first
+
+   42nd
+   forty-two
+   forty-second
+
+   43rd
+   forty-three
+   forty-third
+
+   44th
+   forty-four
+   forty-fourth
+
+   45th
+   forty-five
+   forty-fifth
+
+   46th
+   forty-six
+   forty-sixth
+
+   47th
+   forty-seven
+   forty-seventh
+
+   48th
+   forty-eight
+   forty-eighth
+
+   49th
+   forty-nine
+   forty-ninth
+
+   50th
+   fifty
+   fiftieth
+
+
+   51st
+   fifty-one
+   fifty-first
+
+   52nd
+   fifty-two
+   fifty-second
+
+   53rd
+   fifty-three
+   fifty-third
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   at
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   of
+   in
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   on
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   ereyesterday         -0:0:0:2:0:0:0
+   overmorrow           +0:0:0:2:0:0:0
+   today                0:0:0:0:0:0:0
+   tomorrow             +0:0:0:1:0:0:0
+   yesterday            -0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   midnight             00:00:00
+   noon                 12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   now                  0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/finnish.pm b/lib/Date/Manip/Lang/finnish.pm
new file mode 100644
index 0000000..6ee5585
--- /dev/null
+++ b/lib/Date/Manip/Lang/finnish.pm
@@ -0,0 +1,297 @@
+package Date::Manip::Lang::finnish;
+# Copyright (c) 2012-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Finnish";
+$YearAdded = 2012;
+
+$Language = {
+  ampm => [
+    ['AM', 'A.M.', 'aamulla', 'aamupäivällä', 'aamupaivalla'],
+    ['PM', 'P.M.', 'illalla', 'iltapäivällä', 'iltapaivalla'],
+  ],
+  at => ['kello'],
+  day_abb => [['ma'], ['ti'], ['ke'], ['to'], ['pe'], ['la'], ['su']],
+  day_char => [['ma'], ['ti'], ['ke'], ['to'], ['pe'], ['la'], ['su']],
+  day_name => [
+    ['maanantai', 'maanantaina'],
+    ['tiistai', 'tiistaina'],
+    ['keskiviikko', 'keskiviikkona'],
+    ['torstai', 'torstaina'],
+    ['perjantai', 'perjantaina'],
+    ['lauantai', 'lauantaina'],
+    ['sunnuntai', 'sunnuntaina'],
+  ],
+  each => ['joka', 'jokainen'],
+  fields => [
+    ['vuotta', 'vuosi', 'v'],
+    ['kuukautta', 'kuukausi', 'kk'],
+    ['viikkoa', 'vk', 'viikko'],
+    ['paivaa', 'päivää', 'päivä', 'paiva', 'pv'],
+    ['tuntia', 'h', 'tunti'],
+    ['minuuttia', 'minuutti', 'min'],
+    ['sekuntia', 's', 'sekunti'],
+  ],
+  last => ['viimeinen'],
+  mode => [
+    ['täsmälleen', 'tasmalleen', 'tasan', 'noin', 'suunnilleen', 'osapuilleen'],
+    ['arkipaiva', 'arkipäivä'],
+  ],
+  month_abb => [
+    ['tammi'],
+    ['helmi'],
+    ['maalis'],
+    ['huhti'],
+    ['touko'],
+    ['kesa', 'kesä'],
+    ['heina', 'heinä'],
+    ['elo'],
+    ['syys'],
+    ['loka'],
+    ['marras'],
+    ['joulu'],
+  ],
+  month_name => [
+    ['tammikuu', 'tammikuun', 'tammikuuta'],
+    ['helmikuu', 'helmikuun', 'helmikuuta'],
+    ['maaliskuu', 'maaliskuun', 'maaliskuuta'],
+    ['huhtikuu', 'huhtikuun', 'huhtikuuta'],
+    ['toukokuu', 'toukokuun', 'toukokuuta'],
+    ['kesäkuu', 'kesakuu', 'kesakuun', 'kesakuuta'],
+    ['heinäkuu', 'heinakuu', 'heinakuun', 'heinakuuta'],
+    ['elokuu', 'elokuun', 'elokuuta'],
+    ['syyskuu', 'syyskuun', 'syyskuuta'],
+    ['lokakuu', 'lokakuun', 'lokakuuta'],
+    ['marraskuu', 'marraskuun', 'marraskuuta'],
+    ['joulukuu', 'joulukuun', 'joulukuuta'],
+  ],
+  nextprev => [['ensi'], ['viime']],
+  nth => [
+    ['1.', 'ensimmäinen', 'ensimmainen', 'yksi'],
+    ['2.', 'toinen', 'kaksi'],
+    ['3.', 'kolmas', 'kolme'],
+    ['4.', 'neljäs', 'neljas', 'neljä', 'nelja'],
+    ['5.', 'viides', 'viisi'],
+    ['6.', 'kuudes', 'kuusi'],
+    ['7.', 'seitsemäs', 'seitsemas', 'seitsemän', 'seitseman'],
+    ['8.', 'kahdeksas', 'kahdeksan'],
+    ['9.', 'yhdeksäs', 'yhdeksas', 'yhdeksän', 'yhdeksan'],
+    ['10.', 'kymmenes', 'kymmenen'],
+    ['11.', 'yksitoista', 'yhdestoista'],
+    ['12.', 'kaksitoista', 'kahdestoista'],
+    ['13.', 'kolmetoista', 'kolmastoista'],
+    ['14.', 'neljätoista', 'neljatoista', 'neljästoista', 'neljastoista'],
+    ['15.', 'viisitoista', 'viidestoista'],
+    ['16.', 'kuusitoista', 'kuudestoista'],
+    [
+      '17.',
+      'seitsemäntoista',
+      'seitsemantoista',
+      'seitsemästoista',
+      'seitsemastoista',
+    ],
+    ['18.', 'kahdeksantoista', 'kahdeksastoista'],
+    [
+      '19.',
+      'yhdeksäntoista',
+      'yhdeksantoista',
+      'yhdeksästoista',
+      'yhdeksastoista',
+    ],
+    ['20.', 'kahdeskymmenes', 'kaksikymmentä', 'kaksikymmenta'],
+    [
+      '21.',
+      'kahdeskymmenesensimmäinen',
+      'kahdeskymmenesensimmainen',
+      'kaksikymmentäyksi',
+      'kaksikymmentayksi',
+    ],
+    ['22.', 'kahdeskymmenestoinen', 'kaksikymmentäkaksi', 'kaksikymmentakaksi'],
+    ['23.', 'kahdeskymmeneskolmas', 'kaksikymmentäkolme', 'kaksikymmentakolme'],
+    [
+      '24.',
+      'kahdeskymmenesneljäs',
+      'kahdeskymmenesneljas',
+      'kaksikymmentäneljä',
+      'kaksikymmentanelja',
+    ],
+    ['25.', 'kahdeskymmenesviides', 'kaksikymmentäviisi', 'kaksikymmentaviisi'],
+    ['26.', 'kahdeskymmeneskuudes', 'kaksikymmentäkuusi', 'kaksikymmentakuusi'],
+    [
+      '27.',
+      'kahdeskymmenesseitsemäs',
+      'kahdeskymmenesseitsemas',
+      'kaksikymmentäseitsemän',
+      'kaksikymmentaseitseman',
+    ],
+    [
+      '28.',
+      'kahdeskymmeneskahdeksas',
+      'kaksikymmentäkahdeksan',
+      'kaksikymmentakahdeksan',
+    ],
+    [
+      '29.',
+      'kahdeskymmenesyhdeksäs',
+      'kahdeskymmenesyhdeksas',
+      'kaksikymmentäyhdeksän',
+      'kaksikymmentayhdeksan',
+    ],
+    ['30.', 'kolmaskymmene', 'kolmekymmentä', 'kolmekymmenta'],
+    [
+      '31.',
+      'kolmaskymmenesensimmäinen',
+      'kolmaskymmenesensimmainen',
+      'kolmekymmentäyksi',
+      'kolmekymmentayksi',
+    ],
+    ['32.', 'kolmaskymmenestoinen', 'kolmekymmentäkaksi', 'kolmekymmentakaksi'],
+    ['33.', 'kolmaskymmeneskolmas', 'kolmekymmentäkolme', 'kolmekymmentakolme'],
+    [
+      '34.',
+      'kolmaskymmenesneljäs',
+      'kolmaskymmenesneljas',
+      'kolmekymmentäneljä',
+      'kolmekymmentanelja',
+    ],
+    ['35.', 'kolmaskymmenesviides', 'kolmekymmentäviisi', 'kolmekymmentaviisi'],
+    ['36.', 'kolmaskymmeneskuudes', 'kolmekymmentäkuusi', 'kolmekymmentakuusi'],
+    [
+      '37.',
+      'kolmaskymmenesseitsemäs',
+      'kolmaskymmenesseitsemas',
+      'kolmekymmentäseitsemän',
+      'kolmekymmentaseitseman',
+    ],
+    [
+      '38.',
+      'kolmaskymmeneskahdeksas',
+      'kolmekymmentäkahdeksan',
+      'kolmekymmentakahdeksan',
+    ],
+    [
+      '39.',
+      'kolmaskymmenesyhdeksäs',
+      'kolmaskymmenesyhdeksas',
+      'kolmekymmentäyhdeksän',
+      'kolmekymmentayhdeksan',
+    ],
+    ['40.', 'neljäskymmenes', 'neljaskymmenes', 'neljäkymmentä', 'neljakymmenta'],
+    [
+      '41.',
+      'neljäskymmenesensimmäinen',
+      'neljaskymmenesensimmainen',
+      'neljäkymmentäyksi',
+      'neljakymmentayksi',
+    ],
+    [
+      '42.',
+      'neljäskymmenestoinen',
+      'neljaskymmenestoinen',
+      'neljäkymmentäkaksi',
+      'neljakymmentakaksi',
+    ],
+    [
+      '43.',
+      'neljäskymmeneskolmas',
+      'neljaskymmeneskolmas',
+      'neljäkymmentäkolme',
+      'neljakymmentakolme',
+    ],
+    [
+      '44.',
+      'neljäskymmenesneljäs',
+      'neljaskymmenesneljas',
+      'neljäkymmentäneljä',
+      'neljakymmentänelja',
+    ],
+    [
+      '45.',
+      'neljäskymmenesviides',
+      'neljaskymmenesviides',
+      'neljäkymmentäviisi',
+      'neljakymmentaviisi',
+    ],
+    [
+      '46.',
+      'neljäskymmeneskuudes',
+      'neljaskymmeneskuudes',
+      'neljäkymmentäkuusi',
+      'neljakymmentakuusi',
+    ],
+    [
+      '47.',
+      'neljäskymmenesseitsemäs',
+      'neljaskymmenesseitsemas',
+      'neljäkymmentäseitsemän',
+      'neljakymmentaseitseman',
+    ],
+    [
+      '48.',
+      'neljäskymmeneskahdeksas',
+      'neljaskymmeneskahdeksas',
+      'neljäkymmentäkahdeksan',
+      'neljakymmentakahdeksan',
+    ],
+    [
+      '49.',
+      'neljäskymmenesyhdeksäs',
+      'neljaskymmenesyhdeksas',
+      'neljäkymmentäyhdeksän',
+      'neljakymmentayhdeksan',
+    ],
+    ['50.', 'viideskymmenes', 'viisikymmentä', 'viisikymmenta'],
+    [
+      '51.',
+      'viideskymmenesensimmäinen',
+      'viideskymmenesensimmainen',
+      'viisikymmentäyksi',
+      'viisikymmentayksi',
+    ],
+    ['52.', 'viideskymmenestoinen', 'viisikymmentäkaksi', 'viisikymmentakaksi'],
+    ['53.', 'viideskymmeneskolmas', 'viisikymmentäkolme', 'viisikymmentakolme'],
+  ],
+  of => [''],
+  offset_date => {
+    'huomenna'       => '+0:0:0:1:0:0:0',
+    'tanaan'         => '0:0:0:0:0:0:0',
+    'toissapaivana'  => '-0:0:0:2:0:0:0',
+    'toissapäivänä'  => '-0:0:0:2:0:0:0',
+    'tänään'         => '0:0:0:0:0:0:0',
+    'yesterdayeilen' => '-0:0:0:1:0:0:0',
+    'ylihuomenna'    => '+0:0:0:2:0:0:0',
+  },
+  offset_time => { nyt => '0:0:0:0:0:0:0' },
+  on => [''],
+  sephm => ['\.'],
+  sepms => ['\.'],
+  times => {
+    'keskipaiva'    => '12:00:00',
+    'keskipaivalla' => '12:00:00',
+    'keskipäivä'    => '12:00:00',
+    'keskipäivällä' => '12:00:00',
+    'keskiyo'       => '00:00:00',
+    'keskiyolla'    => '00:00:00',
+    'keskiyö'       => '00:00:00',
+    'keskiyöllä'    => '00:00:00',
+  },
+  when => [['sitten'], ['ssa', 'myöhemmin', 'myohemmin']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/finnish.pod b/lib/Date/Manip/Lang/finnish.pod
new file mode 100644
index 0000000..809244f
--- /dev/null
+++ b/lib/Date/Manip/Lang/finnish.pod
@@ -0,0 +1,762 @@
+# Copyright (c) 2012-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::finnish - Finnish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   tammikuu
+   tammikuun
+   tammikuuta
+
+   helmikuu
+   helmikuun
+   helmikuuta
+
+   maaliskuu
+   maaliskuun
+   maaliskuuta
+
+   huhtikuu
+   huhtikuun
+   huhtikuuta
+
+   toukokuu
+   toukokuun
+   toukokuuta
+
+   kesäkuu
+   kesakuu
+   kesakuun
+   kesakuuta
+
+   heinäkuu
+   heinakuu
+   heinakuun
+   heinakuuta
+
+   elokuu
+   elokuun
+   elokuuta
+
+   syyskuu
+   syyskuun
+   syyskuuta
+
+   lokakuu
+   lokakuun
+   lokakuuta
+
+   marraskuu
+   marraskuun
+   marraskuuta
+
+   joulukuu
+   joulukuun
+   joulukuuta
+
+
+The following abbreviations may be used:
+
+   tammi
+
+   helmi
+
+   maalis
+
+   huhti
+
+   touko
+
+   kesa
+   kesä
+
+   heina
+   heinä
+
+   elo
+
+   syys
+
+   loka
+
+   marras
+
+   joulu
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   maanantai
+   maanantaina
+
+   tiistai
+   tiistaina
+
+   keskiviikko
+   keskiviikkona
+
+   torstai
+   torstaina
+
+   perjantai
+   perjantaina
+
+   lauantai
+   lauantaina
+
+   sunnuntai
+   sunnuntaina
+
+
+The following abbreviations may be used:
+
+   ma
+
+   ti
+
+   ke
+
+   to
+
+   pe
+
+   la
+
+   su
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   ma
+
+   ti
+
+   ke
+
+   to
+
+   pe
+
+   la
+
+   su
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   vuotta
+   vuosi
+   v
+
+   kuukautta
+   kuukausi
+   kk
+
+   viikkoa
+   vk
+   viikko
+
+   paivaa
+   päivää
+   päivä
+   paiva
+   pv
+
+   tuntia
+   h
+   tunti
+
+   minuuttia
+   minuutti
+   min
+
+   sekuntia
+   s
+   sekunti
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+   aamulla
+   aamupäivällä
+   aamupaivalla
+
+   PM
+   P.M.
+   illalla
+   iltapäivällä
+   iltapaivalla
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   joka
+   jokainen
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   ensi
+
+
+Previous occurrence:
+
+   viime
+
+
+Last occurrence:
+
+   viimeinen
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   sitten
+
+   ssa
+   myöhemmin
+   myohemmin
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   täsmälleen
+   tasmalleen
+   tasan
+   noin
+   suunnilleen
+   osapuilleen
+
+
+The following words may be used to specify a business delta:
+
+   arkipaiva
+   arkipäivä
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   ensimmäinen
+   ensimmainen
+   yksi
+
+   2.
+   toinen
+   kaksi
+
+   3.
+   kolmas
+   kolme
+
+   4.
+   neljäs
+   neljas
+   neljä
+   nelja
+
+   5.
+   viides
+   viisi
+
+   6.
+   kuudes
+   kuusi
+
+   7.
+   seitsemäs
+   seitsemas
+   seitsemän
+   seitseman
+
+   8.
+   kahdeksas
+   kahdeksan
+
+   9.
+   yhdeksäs
+   yhdeksas
+   yhdeksän
+   yhdeksan
+
+   10.
+   kymmenes
+   kymmenen
+
+
+   11.
+   yksitoista
+   yhdestoista
+
+   12.
+   kaksitoista
+   kahdestoista
+
+   13.
+   kolmetoista
+   kolmastoista
+
+   14.
+   neljätoista
+   neljatoista
+   neljästoista
+   neljastoista
+
+   15.
+   viisitoista
+   viidestoista
+
+   16.
+   kuusitoista
+   kuudestoista
+
+   17.
+   seitsemäntoista
+   seitsemantoista
+   seitsemästoista
+   seitsemastoista
+
+   18.
+   kahdeksantoista
+   kahdeksastoista
+
+   19.
+   yhdeksäntoista
+   yhdeksantoista
+   yhdeksästoista
+   yhdeksastoista
+
+   20.
+   kahdeskymmenes
+   kaksikymmentä
+   kaksikymmenta
+
+
+   21.
+   kahdeskymmenesensimmäinen
+   kahdeskymmenesensimmainen
+   kaksikymmentäyksi
+   kaksikymmentayksi
+
+   22.
+   kahdeskymmenestoinen
+   kaksikymmentäkaksi
+   kaksikymmentakaksi
+
+   23.
+   kahdeskymmeneskolmas
+   kaksikymmentäkolme
+   kaksikymmentakolme
+
+   24.
+   kahdeskymmenesneljäs
+   kahdeskymmenesneljas
+   kaksikymmentäneljä
+   kaksikymmentanelja
+
+   25.
+   kahdeskymmenesviides
+   kaksikymmentäviisi
+   kaksikymmentaviisi
+
+   26.
+   kahdeskymmeneskuudes
+   kaksikymmentäkuusi
+   kaksikymmentakuusi
+
+   27.
+   kahdeskymmenesseitsemäs
+   kahdeskymmenesseitsemas
+   kaksikymmentäseitsemän
+   kaksikymmentaseitseman
+
+   28.
+   kahdeskymmeneskahdeksas
+   kaksikymmentäkahdeksan
+   kaksikymmentakahdeksan
+
+   29.
+   kahdeskymmenesyhdeksäs
+   kahdeskymmenesyhdeksas
+   kaksikymmentäyhdeksän
+   kaksikymmentayhdeksan
+
+   30.
+   kolmaskymmene
+   kolmekymmentä
+   kolmekymmenta
+
+
+   31.
+   kolmaskymmenesensimmäinen
+   kolmaskymmenesensimmainen
+   kolmekymmentäyksi
+   kolmekymmentayksi
+
+   32.
+   kolmaskymmenestoinen
+   kolmekymmentäkaksi
+   kolmekymmentakaksi
+
+   33.
+   kolmaskymmeneskolmas
+   kolmekymmentäkolme
+   kolmekymmentakolme
+
+   34.
+   kolmaskymmenesneljäs
+   kolmaskymmenesneljas
+   kolmekymmentäneljä
+   kolmekymmentanelja
+
+   35.
+   kolmaskymmenesviides
+   kolmekymmentäviisi
+   kolmekymmentaviisi
+
+   36.
+   kolmaskymmeneskuudes
+   kolmekymmentäkuusi
+   kolmekymmentakuusi
+
+   37.
+   kolmaskymmenesseitsemäs
+   kolmaskymmenesseitsemas
+   kolmekymmentäseitsemän
+   kolmekymmentaseitseman
+
+   38.
+   kolmaskymmeneskahdeksas
+   kolmekymmentäkahdeksan
+   kolmekymmentakahdeksan
+
+   39.
+   kolmaskymmenesyhdeksäs
+   kolmaskymmenesyhdeksas
+   kolmekymmentäyhdeksän
+   kolmekymmentayhdeksan
+
+   40.
+   neljäskymmenes
+   neljaskymmenes
+   neljäkymmentä
+   neljakymmenta
+
+
+   41.
+   neljäskymmenesensimmäinen
+   neljaskymmenesensimmainen
+   neljäkymmentäyksi
+   neljakymmentayksi
+
+   42.
+   neljäskymmenestoinen
+   neljaskymmenestoinen
+   neljäkymmentäkaksi
+   neljakymmentakaksi
+
+   43.
+   neljäskymmeneskolmas
+   neljaskymmeneskolmas
+   neljäkymmentäkolme
+   neljakymmentakolme
+
+   44.
+   neljäskymmenesneljäs
+   neljaskymmenesneljas
+   neljäkymmentäneljä
+   neljakymmentänelja
+
+   45.
+   neljäskymmenesviides
+   neljaskymmenesviides
+   neljäkymmentäviisi
+   neljakymmentaviisi
+
+   46.
+   neljäskymmeneskuudes
+   neljaskymmeneskuudes
+   neljäkymmentäkuusi
+   neljakymmentakuusi
+
+   47.
+   neljäskymmenesseitsemäs
+   neljaskymmenesseitsemas
+   neljäkymmentäseitsemän
+   neljakymmentaseitseman
+
+   48.
+   neljäskymmeneskahdeksas
+   neljaskymmeneskahdeksas
+   neljäkymmentäkahdeksan
+   neljakymmentakahdeksan
+
+   49.
+   neljäskymmenesyhdeksäs
+   neljaskymmenesyhdeksas
+   neljäkymmentäyhdeksän
+   neljakymmentayhdeksan
+
+   50.
+   viideskymmenes
+   viisikymmentä
+   viisikymmenta
+
+
+   51.
+   viideskymmenesensimmäinen
+   viideskymmenesensimmainen
+   viisikymmentäyksi
+   viisikymmentayksi
+
+   52.
+   viideskymmenestoinen
+   viisikymmentäkaksi
+   viisikymmentakaksi
+
+   53.
+   viideskymmeneskolmas
+   viisikymmentäkolme
+   viisikymmentakolme
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   kello
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   Not defined in this language
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   Not defined in this language
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   huomenna             +0:0:0:1:0:0:0
+   tanaan               0:0:0:0:0:0:0
+   toissapaivana        -0:0:0:2:0:0:0
+   toissapäivänä        -0:0:0:2:0:0:0
+   tänään               0:0:0:0:0:0:0
+   yesterdayeilen       -0:0:0:1:0:0:0
+   ylihuomenna          +0:0:0:2:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   keskipaiva           12:00:00
+   keskipaivalla        12:00:00
+   keskipäivä           12:00:00
+   keskipäivällä        12:00:00
+   keskiyo              00:00:00
+   keskiyolla           00:00:00
+   keskiyö              00:00:00
+   keskiyöllä           00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   nyt                  0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   \.  \.
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/french.pm b/lib/Date/Manip/Lang/french.pm
new file mode 100644
index 0000000..0449cda
--- /dev/null
+++ b/lib/Date/Manip/Lang/french.pm
@@ -0,0 +1,165 @@
+package Date::Manip::Lang::french;
+# Copyright (c) 1996-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "French";
+$YearAdded = 1996;
+
+$Language = {
+  ampm => [['du matin'], ['du soir']],
+  at => ['a', 'à'],
+  day_abb => [
+    ['lun', 'lun.'],
+    ['mar', 'mar.'],
+    ['mer', 'mer.'],
+    ['jeu', 'jeu.'],
+    ['ven', 'ven.'],
+    ['sam', 'sam.'],
+    ['dim', 'dim.'],
+  ],
+  day_char => [['l'], ['ma'], ['me'], ['j'], ['v'], ['s'], ['d']],
+  day_name => [
+    ['lundi'],
+    ['mardi'],
+    ['mercredi'],
+    ['jeudi'],
+    ['vendredi'],
+    ['samedi'],
+    ['dimanche'],
+  ],
+  each => ['chaque', 'tous les', 'toutes les'],
+  fields => [
+    ['annees', 'années', 'an', 'annee', 'ans', 'année'],
+    ['mois', 'm'],
+    ['semaine', 'semaines', 'sem'],
+    ['jours', 'j', 'jour', 'journee', 'journée'],
+    ['heures', 'h', 'heure'],
+    ['minutes', 'mn', 'min', 'minute'],
+    ['secondes', 's', 'sec', 'seconde'],
+  ],
+  last => ['dernier'],
+  mode => [
+    ['exactement', 'approximativement', 'environ'],
+    ['professionel', 'ouvrable', 'ouvrables'],
+  ],
+  month_abb => [
+    ['jan', 'jan.'],
+    ['fév', 'fev', 'fev.', 'fév.'],
+    ['mar', 'mar.'],
+    ['avr', 'avr.'],
+    ['mai', 'mai.'],
+    ['juin', 'juin.'],
+    ['juil', 'juil.'],
+    ['août', 'aout', 'aout.', 'août.'],
+    ['sept', 'sept.'],
+    ['oct', 'oct.'],
+    ['nov', 'nov.'],
+    ['déc', 'dec', 'dec.', 'déc.'],
+  ],
+  month_name => [
+    ['janvier'],
+    ['février', 'fevrier'],
+    ['mars'],
+    ['avril'],
+    ['mai'],
+    ['juin'],
+    ['juillet'],
+    ['août', 'aout'],
+    ['septembre'],
+    ['octobre'],
+    ['novembre'],
+    ['décembre', 'decembre'],
+  ],
+  nextprev => [
+    ['suivant', 'suivante', 'prochain', 'prochaine'],
+    ['precedent', 'précédent', 'precedente', 'précédente', 'derniere', 'dernière'],
+  ],
+  nth => [
+    ['1er', '1re', 'premier', 'un'],
+    ['2e', 'deux', 'deuxieme', 'deuxième'],
+    ['3e', 'trois', 'troisieme', 'troisième'],
+    ['4e', 'quatre', 'quatrieme', 'quatrième'],
+    ['5e', 'cinq', 'cinquieme', 'cinquième'],
+    ['6e', 'six', 'sixieme', 'sixième'],
+    ['7e', 'sept', 'septieme', 'septième'],
+    ['8e', 'huit', 'huitieme', 'huitième'],
+    ['9e', 'neuf', 'neuvieme', 'neuvième'],
+    ['10e', 'dix', 'dixieme', 'dixième'],
+    ['11e', 'onze', 'onzieme', 'onzième'],
+    ['12e', 'douze', 'douzieme', 'douzième'],
+    ['13e', 'treize', 'treizieme', 'treizième'],
+    ['14e', 'quatorze', 'quatorzieme', 'quatorzième'],
+    ['15e', 'quinze', 'quinzieme', 'quinzième'],
+    ['16e', 'seize', 'seizieme', 'seizième'],
+    ['17e', 'dix-sept', 'dix-septieme', 'dix-septième'],
+    ['18e', 'dix-huit', 'dix-huitieme', 'dix-huitième'],
+    ['19e', 'dix-neuf', 'dix-neuvieme', 'dix-neuvième'],
+    ['20e', 'vingt', 'vingtieme', 'vingtième'],
+    ['21e', 'vingt et un', 'vingt et unieme', 'vingt et unième'],
+    ['22e', 'vingt-deux', 'vingt-deuxieme', 'vingt-deuxième'],
+    ['23e', 'vingt-trois', 'vingt-troisieme', 'vingt-troisième'],
+    ['24e', 'vingt-quatre', 'vingt-quatrieme', 'vingt-quatrième'],
+    ['25e', 'vingt-cinq', 'vingt-cinquieme', 'vingt-cinquième'],
+    ['26e', 'vingt-six', 'vingt-sixieme', 'vingt-sixième'],
+    ['27e', 'vingt-sept', 'vingt-septieme', 'vingt-septième'],
+    ['28e', 'vingt-huit', 'vingt-huitieme', 'vingt-huitième'],
+    ['29e', 'vingt-neuf', 'vingt-neuvieme', 'vingt-neuvième'],
+    ['30e', 'trente', 'trentieme', 'trentième'],
+    ['31e', 'trente et un', 'trente et unieme', 'trente et unième'],
+    ['32e', 'trente-deux', 'trente-deuxieme', 'trente-deuxième'],
+    ['33e', 'trente-trois', 'trente-troisieme', 'trente-troisième'],
+    ['34e', 'trente-quatre', 'trente-quatrieme', 'trente-quatrième'],
+    ['35e', 'trente-cinq', 'trente-cinquieme', 'trente-cinquième'],
+    ['36e', 'trente-six', 'trente-sixieme', 'trente-sixième'],
+    ['37e', 'trente-sept', 'trente-septieme', 'trente-septième'],
+    ['38e', 'trente-huit', 'trente-huitieme', 'trente-huitième'],
+    ['39e', 'trente-neuf', 'trente-neuvieme', 'trente-neuvième'],
+    ['40e', 'quarante', 'quarantieme', 'quarantième'],
+    ['41e', 'quarante et un', 'quarante et unieme', 'quarante et unième'],
+    ['42e', 'quarante-deux', 'quarante-deuxieme', 'quarante-deuxième'],
+    ['43e', 'quarante-trois', 'quarante-troisieme', 'quarante-troisième'],
+    ['44e', 'quarante-quatre', 'quarante-quatrieme', 'quarante-quatrième'],
+    ['45e', 'quarante-cinq', 'quarante-cinquieme', 'quarante-cinquième'],
+    ['46e', 'quarante-six', 'quarante-sixieme', 'quarante-sixième'],
+    ['47e', 'quarante-sept', 'quarante-septieme', 'quarante-septième'],
+    ['48e', 'quarante-huit', 'quarante-huitieme', 'quarante-huitième'],
+    ['49e', 'quarante-neuf', 'quarante-neuvieme', 'quarante-neuvième'],
+    ['50e', 'cinquante', 'cinquantieme', 'cinquantième'],
+    ['51e', 'cinquante et un', 'cinquante et unieme', 'cinquante et unième'],
+    ['52e', 'cinquante-deux', 'cinquante-deuxieme', 'cinquante-deuxième'],
+    ['53e', 'cinquante-trois', 'cinquante-troisieme', 'cinquante-troisième'],
+  ],
+  of => ['de', 'en', 'du'],
+  offset_date => {
+    'aujourd\'hui' => '0:0:0:0:0:0:0',
+    'aujourd’hui' => '0:0:0:0:0:0:0',
+    'demain' => '+0:0:0:1:0:0:0',
+    'hier' => '-0:0:0:1:0:0:0',
+  },
+  offset_time => { maintenant => '0:0:0:0:0:0:0' },
+  on => ['sur'],
+  sephm => ['h'],
+  sepms => [':'],
+  times => { midi => '12:00:00', minuit => '00:00:00' },
+  when => [
+    ['il y a', 'auparavant', 'dans le passé', 'plus tot', 'plus tôt'],
+    ['en', 'plus tard', 'dans l\'avenir', 'a venir', 'à venir', 'dans'],
+  ],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/french.pod b/lib/Date/Manip/Lang/french.pod
new file mode 100644
index 0000000..ccf200c
--- /dev/null
+++ b/lib/Date/Manip/Lang/french.pod
@@ -0,0 +1,746 @@
+# Copyright (c) 1996-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::french - French language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   janvier
+
+   février
+   fevrier
+
+   mars
+
+   avril
+
+   mai
+
+   juin
+
+   juillet
+
+   août
+   aout
+
+   septembre
+
+   octobre
+
+   novembre
+
+   décembre
+   decembre
+
+
+The following abbreviations may be used:
+
+   jan
+   jan.
+
+   fév
+   fev
+   fev.
+   fév.
+
+   mar
+   mar.
+
+   avr
+   avr.
+
+   mai
+   mai.
+
+   juin
+   juin.
+
+   juil
+   juil.
+
+   août
+   aout
+   aout.
+   août.
+
+   sept
+   sept.
+
+   oct
+   oct.
+
+   nov
+   nov.
+
+   déc
+   dec
+   dec.
+   déc.
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   lundi
+
+   mardi
+
+   mercredi
+
+   jeudi
+
+   vendredi
+
+   samedi
+
+   dimanche
+
+
+The following abbreviations may be used:
+
+   lun
+   lun.
+
+   mar
+   mar.
+
+   mer
+   mer.
+
+   jeu
+   jeu.
+
+   ven
+   ven.
+
+   sam
+   sam.
+
+   dim
+   dim.
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   l
+
+   ma
+
+   me
+
+   j
+
+   v
+
+   s
+
+   d
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   annees
+   années
+   an
+   annee
+   ans
+   année
+
+   mois
+   m
+
+   semaine
+   semaines
+   sem
+
+   jours
+   j
+   jour
+   journee
+   journée
+
+   heures
+   h
+   heure
+
+   minutes
+   mn
+   min
+   minute
+
+   secondes
+   s
+   sec
+   seconde
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   du matin
+
+   du soir
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   chaque
+   tous les
+   toutes les
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   suivant
+   suivante
+   prochain
+   prochaine
+
+
+Previous occurrence:
+
+   precedent
+   précédent
+   precedente
+   précédente
+   derniere
+   dernière
+
+
+Last occurrence:
+
+   dernier
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   il y a
+   auparavant
+   dans le passé
+   plus tot
+   plus tôt
+
+   en
+   plus tard
+   dans l'avenir
+   a venir
+   à venir
+   dans
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exactement
+   approximativement
+   environ
+
+
+The following words may be used to specify a business delta:
+
+   professionel
+   ouvrable
+   ouvrables
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1er
+   1re
+   premier
+   un
+
+   2e
+   deux
+   deuxieme
+   deuxième
+
+   3e
+   trois
+   troisieme
+   troisième
+
+   4e
+   quatre
+   quatrieme
+   quatrième
+
+   5e
+   cinq
+   cinquieme
+   cinquième
+
+   6e
+   six
+   sixieme
+   sixième
+
+   7e
+   sept
+   septieme
+   septième
+
+   8e
+   huit
+   huitieme
+   huitième
+
+   9e
+   neuf
+   neuvieme
+   neuvième
+
+   10e
+   dix
+   dixieme
+   dixième
+
+
+   11e
+   onze
+   onzieme
+   onzième
+
+   12e
+   douze
+   douzieme
+   douzième
+
+   13e
+   treize
+   treizieme
+   treizième
+
+   14e
+   quatorze
+   quatorzieme
+   quatorzième
+
+   15e
+   quinze
+   quinzieme
+   quinzième
+
+   16e
+   seize
+   seizieme
+   seizième
+
+   17e
+   dix-sept
+   dix-septieme
+   dix-septième
+
+   18e
+   dix-huit
+   dix-huitieme
+   dix-huitième
+
+   19e
+   dix-neuf
+   dix-neuvieme
+   dix-neuvième
+
+   20e
+   vingt
+   vingtieme
+   vingtième
+
+
+   21e
+   vingt et un
+   vingt et unieme
+   vingt et unième
+
+   22e
+   vingt-deux
+   vingt-deuxieme
+   vingt-deuxième
+
+   23e
+   vingt-trois
+   vingt-troisieme
+   vingt-troisième
+
+   24e
+   vingt-quatre
+   vingt-quatrieme
+   vingt-quatrième
+
+   25e
+   vingt-cinq
+   vingt-cinquieme
+   vingt-cinquième
+
+   26e
+   vingt-six
+   vingt-sixieme
+   vingt-sixième
+
+   27e
+   vingt-sept
+   vingt-septieme
+   vingt-septième
+
+   28e
+   vingt-huit
+   vingt-huitieme
+   vingt-huitième
+
+   29e
+   vingt-neuf
+   vingt-neuvieme
+   vingt-neuvième
+
+   30e
+   trente
+   trentieme
+   trentième
+
+
+   31e
+   trente et un
+   trente et unieme
+   trente et unième
+
+   32e
+   trente-deux
+   trente-deuxieme
+   trente-deuxième
+
+   33e
+   trente-trois
+   trente-troisieme
+   trente-troisième
+
+   34e
+   trente-quatre
+   trente-quatrieme
+   trente-quatrième
+
+   35e
+   trente-cinq
+   trente-cinquieme
+   trente-cinquième
+
+   36e
+   trente-six
+   trente-sixieme
+   trente-sixième
+
+   37e
+   trente-sept
+   trente-septieme
+   trente-septième
+
+   38e
+   trente-huit
+   trente-huitieme
+   trente-huitième
+
+   39e
+   trente-neuf
+   trente-neuvieme
+   trente-neuvième
+
+   40e
+   quarante
+   quarantieme
+   quarantième
+
+
+   41e
+   quarante et un
+   quarante et unieme
+   quarante et unième
+
+   42e
+   quarante-deux
+   quarante-deuxieme
+   quarante-deuxième
+
+   43e
+   quarante-trois
+   quarante-troisieme
+   quarante-troisième
+
+   44e
+   quarante-quatre
+   quarante-quatrieme
+   quarante-quatrième
+
+   45e
+   quarante-cinq
+   quarante-cinquieme
+   quarante-cinquième
+
+   46e
+   quarante-six
+   quarante-sixieme
+   quarante-sixième
+
+   47e
+   quarante-sept
+   quarante-septieme
+   quarante-septième
+
+   48e
+   quarante-huit
+   quarante-huitieme
+   quarante-huitième
+
+   49e
+   quarante-neuf
+   quarante-neuvieme
+   quarante-neuvième
+
+   50e
+   cinquante
+   cinquantieme
+   cinquantième
+
+
+   51e
+   cinquante et un
+   cinquante et unieme
+   cinquante et unième
+
+   52e
+   cinquante-deux
+   cinquante-deuxieme
+   cinquante-deuxième
+
+   53e
+   cinquante-trois
+   cinquante-troisieme
+   cinquante-troisième
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   a
+   à
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   de
+   en
+   du
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   sur
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   aujourd'hui          0:0:0:0:0:0:0
+   aujourd’hui          0:0:0:0:0:0:0
+   demain               +0:0:0:1:0:0:0
+   hier                 -0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   midi                 12:00:00
+   minuit               00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   maintenant           0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   h  :
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/german.pm b/lib/Date/Manip/Lang/german.pm
new file mode 100644
index 0000000..997ea80
--- /dev/null
+++ b/lib/Date/Manip/Lang/german.pm
@@ -0,0 +1,259 @@
+package Date::Manip::Lang::german;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "German";
+$YearAdded = 1998;
+
+$Language = {
+  ampm => [['FM', 'vorm.'], ['EM', 'nachm.']],
+  at => ['um'],
+  day_abb => [
+    ['Mo', 'Mo.'],
+    ['Di', 'Di.'],
+    ['Mi', 'Mi.'],
+    ['Do', 'Do.'],
+    ['Fr', 'Fr.'],
+    ['Sa', 'Sa.'],
+    ['So', 'So.'],
+  ],
+  day_char => [['M'], ['Di'], ['Mi'], ['Do'], ['F'], ['Sa'], ['So']],
+  day_name => [
+    ['Montag'],
+    ['Dienstag'],
+    ['Mittwoch'],
+    ['Donnerstag'],
+    ['Freitag'],
+    ['Samstag', 'Sonnabend'],
+    ['Sonntag'],
+  ],
+  each => ['jeden'],
+  fields => [
+    ['Jahren', 'j', 'Jahr', 'Jahre'],
+    ['Monaten', 'm', 'Monat', 'Monate'],
+    ['Wochen', 'w', 'Woche'],
+    ['Tagen', 't', 'Tag', 'Tage'],
+    ['Stunden', 'h', 'std', 'Stunde'],
+    ['Minuten', 'min', 'Minute'],
+    ['Sekunden', 's', 'sek', 'Sekunde'],
+  ],
+  last => ['letzten', 'letzte'],
+  mode => [['genau', 'ungefahr', 'ungefähr'], ['Arbeitstag', 'Arbeits']],
+  month_abb => [
+    ['Jän', 'Jan'],
+    ['Feb'],
+    ['Mär', 'Mar'],
+    ['Apr'],
+    ['Mai'],
+    ['Jun'],
+    ['Jul'],
+    ['Aug'],
+    ['Sep'],
+    ['Okt'],
+    ['Nov'],
+    ['Dez'],
+  ],
+  month_name => [
+    ['Januar','Jänner'],
+    ['Februar'],
+    ['März', 'Marz', 'Maerz'],
+    ['April'],
+    ['Mai'],
+    ['Juni'],
+    ['Juli'],
+    ['August'],
+    ['September'],
+    ['Oktober'],
+    ['November'],
+    ['Dezember'],
+  ],
+  nextprev => [
+    ['nachsten', 'nächsten', 'nachste', 'nächste'],
+    ['vorherigen', 'vorherige', 'letzte', 'letzten'],
+  ],
+  nth => [
+    ['1.', 'erste', 'erster', 'eins'],
+    ['2.', 'zweite', 'zwei', 'zweiter'],
+    ['3.', 'dritte', 'drei', 'dritter'],
+    ['4.', 'vierte', 'vier'],
+    ['5.', 'funfte', 'fünfte', 'fünf', 'fünfter', 'funf', 'funfter'],
+    ['6.', 'sechste', 'sechs', 'sechster'],
+    ['7.', 'siebente', 'siebte', 'sieben', 'siebter'],
+    ['8.', 'achte', 'achten'],
+    ['9.', 'neunte', 'neun', 'neunten'],
+    ['10.', 'zehnte', 'zehn', 'zehnten'],
+    ['11.', 'elfte', 'elf'],
+    ['12.', 'zwolfte', 'zwölfte', 'zwölf', 'zwölften', 'zwolf', 'zwolften'],
+    ['13.', 'dreizehnte', 'dreizehn'],
+    ['14.', 'vierzehnte', 'vierzehn'],
+    [
+      '15.',
+      'funfzehnte',
+      'fünfzehnte',
+      'fünfzehn',
+      'fünfzehnten',
+      'funfzehn',
+      'funfzehnten',
+    ],
+    ['16.', 'sechzehnte', 'sechzehn'],
+    ['17.', 'siebzehnte', 'siebzehn'],
+    ['18.', 'achtzehnte', 'achtzehn'],
+    ['19.', 'neunzehnte', 'neunzehn'],
+    ['20.', 'zwanzigste', 'zwanzig', 'zwanzigsten'],
+    ['21.', 'einundzwanzigste', 'einundzwanzigsten'],
+    ['22.', 'zweiundzwanzigste', 'zweiundzwanzigsten'],
+    ['23.', 'dreiundzwanzigste', 'dreiundzwanzigsten'],
+    ['24.', 'vierundzwanzigste', 'vierundzwanzigsten'],
+    [
+      '25.',
+      'funfundzwanzigste',
+      'fünfundzwanzigste',
+      'fünfundzwanzigsten',
+      'funfundzwanzigsten',
+    ],
+    ['26.', 'sechsundzwanzigste', 'sechsundzwanzigsten'],
+    ['27.', 'siebenundzwanzigste', 'siebenundzwanzigsten'],
+    ['28.', 'achtundzwanzigste', 'achtundzwanzigsten'],
+    ['29.', 'neunundzwanzigste', 'neunundzwanzigsten'],
+    [
+      '30.',
+      'dreibigste',
+      'dreißigste',
+      'dreißig',
+      'dreißigsten',
+      'dreibig',
+      'dreibigsten',
+    ],
+    [
+      '31.',
+      'einunddreibigste',
+      'einunddreißigste',
+      'einunddreißig',
+      'einunddreißigsten',
+      'einunddreibig',
+      'einunddreibigsten',
+    ],
+    [
+      '32.',
+      'zweiunddreißig',
+      'zweiunddreißigste',
+      'zweiunddreibig',
+      'zweiunddreibigste',
+    ],
+    [
+      '33.',
+      'dreiunddreißig',
+      'dreiunddreißigsten',
+      'dreiunddreibig',
+      'dreiunddreibigsten',
+    ],
+    [
+      '34.',
+      'vierunddreißig',
+      'vierunddreißigste',
+      'vierunddreibig',
+      'vierunddreibigste',
+    ],
+    [
+      '35.',
+      'fünfunddreißig',
+      'fünfunddreißigste',
+      'funfunddreibig',
+      'funfunddreibigste',
+    ],
+    [
+      '36.',
+      'sechsunddreißig',
+      'sechsunddreißigste',
+      'sechsunddreibig',
+      'sechsunddreibigste',
+    ],
+    [
+      '37.',
+      'siebenunddreißig',
+      'siebenunddreißigsten',
+      'siebenunddreibig',
+      'siebenunddreibigsten',
+    ],
+    [
+      '38.',
+      'achtunddreißig',
+      'achtunddreißigsten',
+      'achtunddreibig',
+      'achtunddreibigsten',
+    ],
+    [
+      '39.',
+      'neununddreißig',
+      'neununddreißigsten',
+      'neununddreibig',
+      'neununddreibigsten',
+    ],
+    ['40.', 'vierzig', 'vierzigsten'],
+    ['41.', 'einundvierzig', 'einundvierzigsten'],
+    ['42.', 'zweiundvierzig', 'zweiundvierzigsten'],
+    ['43.', 'dreiundvierzig', 'dreiundvierzigsten'],
+    ['44.', 'vierundvierzig', 'vierundvierzigsten'],
+    [
+      '45.',
+      'fünfundvierzig',
+      'fünfundvierzigsten',
+      'funfundvierzig',
+      'funfundvierzigsten',
+    ],
+    ['46.', 'sechsundvierzig', 'sechsundvierzigsten'],
+    ['47.', 'siebenundvierzig', 'siebenundvierzigste'],
+    ['47.', 'siebenundvierzig', 'siebenundvierzigste'],
+    ['49.', 'neunundvierzig', 'neunundvierzigsten'],
+    ['50.', 'fünfzig', 'fünfzigsten', 'funfzig', 'funfzigsten'],
+    [
+      '51.',
+      'einundfünfzig',
+      'einundfünfzigsten',
+      'einundfunfzig',
+      'einundfunfzigsten',
+    ],
+    [
+      '52.',
+      'zweiundfünfzig',
+      'zweiundfünfzigsten',
+      'zweiundfunfzig',
+      'zweiundfunfzigsten',
+    ],
+    [
+      '53.',
+      'dreiundfünfzig',
+      'dreiundfünfzigsten',
+      'dreiundfunfzig',
+      'dreiundfunfzigsten',
+    ],
+  ],
+  of => ['der', 'im', 'des'],
+  offset_date => {
+    'gestern'    => '-0:0:0:1:0:0:0',
+    'heute'      => '0:0:0:0:0:0:0',
+    'morgen'     => '+0:0:0:1:0:0:0',
+    'übermorgen' => '+0:0:0:2:0:0:0',
+  },
+  offset_time => { jetzt => '0:0:0:0:0:0:0' },
+  on => ['am'],
+  times => { mittag => '12:00:00', mitternacht => '00:00:00' },
+  when => [['vor', 'vorigen', 'vorherigen', 'vorherige'], ['in', 'spater', 'später']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/german.pod b/lib/Date/Manip/Lang/german.pod
new file mode 100644
index 0000000..e4dcd08
--- /dev/null
+++ b/lib/Date/Manip/Lang/german.pod
@@ -0,0 +1,727 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::german - German language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Januar
+   Jänner
+
+   Februar
+
+   März
+   Marz
+   Maerz
+
+   April
+
+   Mai
+
+   Juni
+
+   Juli
+
+   August
+
+   September
+
+   Oktober
+
+   November
+
+   Dezember
+
+
+The following abbreviations may be used:
+
+   Jän
+   Jan
+
+   Feb
+
+   Mär
+   Mar
+
+   Apr
+
+   Mai
+
+   Jun
+
+   Jul
+
+   Aug
+
+   Sep
+
+   Okt
+
+   Nov
+
+   Dez
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Montag
+
+   Dienstag
+
+   Mittwoch
+
+   Donnerstag
+
+   Freitag
+
+   Samstag
+   Sonnabend
+
+   Sonntag
+
+
+The following abbreviations may be used:
+
+   Mo
+   Mo.
+
+   Di
+   Di.
+
+   Mi
+   Mi.
+
+   Do
+   Do.
+
+   Fr
+   Fr.
+
+   Sa
+   Sa.
+
+   So
+   So.
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   M
+
+   Di
+
+   Mi
+
+   Do
+
+   F
+
+   Sa
+
+   So
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   Jahren
+   j
+   Jahr
+   Jahre
+
+   Monaten
+   m
+   Monat
+   Monate
+
+   Wochen
+   w
+   Woche
+
+   Tagen
+   t
+   Tag
+   Tage
+
+   Stunden
+   h
+   std
+   Stunde
+
+   Minuten
+   min
+   Minute
+
+   Sekunden
+   s
+   sek
+   Sekunde
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   FM
+   vorm.
+
+   EM
+   nachm.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   jeden
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   nachsten
+   nächsten
+   nachste
+   nächste
+
+
+Previous occurrence:
+
+   vorherigen
+   vorherige
+   letzte
+   letzten
+
+
+Last occurrence:
+
+   letzten
+   letzte
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   vor
+   vorigen
+   vorherigen
+   vorherige
+
+   in
+   spater
+   später
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   genau
+   ungefahr
+   ungefähr
+
+
+The following words may be used to specify a business delta:
+
+   Arbeitstag
+   Arbeits
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   erste
+   erster
+   eins
+
+   2.
+   zweite
+   zwei
+   zweiter
+
+   3.
+   dritte
+   drei
+   dritter
+
+   4.
+   vierte
+   vier
+
+   5.
+   funfte
+   fünfte
+   fünf
+   fünfter
+   funf
+   funfter
+
+   6.
+   sechste
+   sechs
+   sechster
+
+   7.
+   siebente
+   siebte
+   sieben
+   siebter
+
+   8.
+   achte
+   achten
+
+   9.
+   neunte
+   neun
+   neunten
+
+   10.
+   zehnte
+   zehn
+   zehnten
+
+
+   11.
+   elfte
+   elf
+
+   12.
+   zwolfte
+   zwölfte
+   zwölf
+   zwölften
+   zwolf
+   zwolften
+
+   13.
+   dreizehnte
+   dreizehn
+
+   14.
+   vierzehnte
+   vierzehn
+
+   15.
+   funfzehnte
+   fünfzehnte
+   fünfzehn
+   fünfzehnten
+   funfzehn
+   funfzehnten
+
+   16.
+   sechzehnte
+   sechzehn
+
+   17.
+   siebzehnte
+   siebzehn
+
+   18.
+   achtzehnte
+   achtzehn
+
+   19.
+   neunzehnte
+   neunzehn
+
+   20.
+   zwanzigste
+   zwanzig
+   zwanzigsten
+
+
+   21.
+   einundzwanzigste
+   einundzwanzigsten
+
+   22.
+   zweiundzwanzigste
+   zweiundzwanzigsten
+
+   23.
+   dreiundzwanzigste
+   dreiundzwanzigsten
+
+   24.
+   vierundzwanzigste
+   vierundzwanzigsten
+
+   25.
+   funfundzwanzigste
+   fünfundzwanzigste
+   fünfundzwanzigsten
+   funfundzwanzigsten
+
+   26.
+   sechsundzwanzigste
+   sechsundzwanzigsten
+
+   27.
+   siebenundzwanzigste
+   siebenundzwanzigsten
+
+   28.
+   achtundzwanzigste
+   achtundzwanzigsten
+
+   29.
+   neunundzwanzigste
+   neunundzwanzigsten
+
+   30.
+   dreibigste
+   dreißigste
+   dreißig
+   dreißigsten
+   dreibig
+   dreibigsten
+
+
+   31.
+   einunddreibigste
+   einunddreißigste
+   einunddreißig
+   einunddreißigsten
+   einunddreibig
+   einunddreibigsten
+
+   32.
+   zweiunddreißig
+   zweiunddreißigste
+   zweiunddreibig
+   zweiunddreibigste
+
+   33.
+   dreiunddreißig
+   dreiunddreißigsten
+   dreiunddreibig
+   dreiunddreibigsten
+
+   34.
+   vierunddreißig
+   vierunddreißigste
+   vierunddreibig
+   vierunddreibigste
+
+   35.
+   fünfunddreißig
+   fünfunddreißigste
+   funfunddreibig
+   funfunddreibigste
+
+   36.
+   sechsunddreißig
+   sechsunddreißigste
+   sechsunddreibig
+   sechsunddreibigste
+
+   37.
+   siebenunddreißig
+   siebenunddreißigsten
+   siebenunddreibig
+   siebenunddreibigsten
+
+   38.
+   achtunddreißig
+   achtunddreißigsten
+   achtunddreibig
+   achtunddreibigsten
+
+   39.
+   neununddreißig
+   neununddreißigsten
+   neununddreibig
+   neununddreibigsten
+
+   40.
+   vierzig
+   vierzigsten
+
+
+   41.
+   einundvierzig
+   einundvierzigsten
+
+   42.
+   zweiundvierzig
+   zweiundvierzigsten
+
+   43.
+   dreiundvierzig
+   dreiundvierzigsten
+
+   44.
+   vierundvierzig
+   vierundvierzigsten
+
+   45.
+   fünfundvierzig
+   fünfundvierzigsten
+   funfundvierzig
+   funfundvierzigsten
+
+   46.
+   sechsundvierzig
+   sechsundvierzigsten
+
+   47.
+   siebenundvierzig
+   siebenundvierzigste
+
+   47.
+   siebenundvierzig
+   siebenundvierzigste
+
+   49.
+   neunundvierzig
+   neunundvierzigsten
+
+   50.
+   fünfzig
+   fünfzigsten
+   funfzig
+   funfzigsten
+
+
+   51.
+   einundfünfzig
+   einundfünfzigsten
+   einundfunfzig
+   einundfunfzigsten
+
+   52.
+   zweiundfünfzig
+   zweiundfünfzigsten
+   zweiundfunfzig
+   zweiundfunfzigsten
+
+   53.
+   dreiundfünfzig
+   dreiundfünfzigsten
+   dreiundfunfzig
+   dreiundfunfzigsten
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   um
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   der
+   im
+   des
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   am
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   gestern              -0:0:0:1:0:0:0
+   heute                0:0:0:0:0:0:0
+   morgen               +0:0:0:1:0:0:0
+   übermorgen           +0:0:0:2:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   mittag               12:00:00
+   mitternacht          00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   jetzt                0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/index.pm b/lib/Date/Manip/Lang/index.pm
new file mode 100644
index 0000000..5ba477e
--- /dev/null
+++ b/lib/Date/Manip/Lang/index.pm
@@ -0,0 +1,97 @@
+package Date::Manip::Lang::index;
+# Copyright (c) 2003-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Lang::index - An index of languages supported by Date::Manip
+
+=head1 SYNPOSIS
+
+This module is not intended to be used directly. Other Date::Manip
+modules will load it as needed.
+
+=cut
+
+require 5.010000;
+
+use strict;
+use warnings;
+
+our($VERSION);
+$VERSION='6.60';
+
+our(%Lang);
+
+# A list of languages, and their module name
+
+%Lang = qw(
+            catalan     catalan
+            ca          catalan
+
+            danish      danish
+            da          danish
+
+            dutch       dutch
+            nederlands  dutch
+            nl          dutch
+
+            english     english
+            en          english
+            en_us       english
+
+            finnish     finnish
+            fi          finnish
+            fi_fi       finnish
+
+            french      french
+            fr          french
+            fr_fr       french
+
+            german      german
+            de          german
+            de_de       german
+
+            italian     italian
+            it          italian
+            it_it       italian
+
+            norwegian   norwegian
+            nb          norwegian
+            nb_no       norwegian
+
+            polish      polish
+            pl          polish
+            pl_pl       polish
+
+            portuguese  portugue
+            pt          portugue
+            pt_pt       portugue
+
+            romanian    romanian
+            ro          romanian
+            ro_ro       romanian
+
+            russian     russian
+            ru          russian
+            ru_ru       russian
+
+            spanish     spanish
+            es          spanish
+            es_es       spanish
+
+            swedish     swedish
+            sv          swedish
+
+            turkish     turkish
+            tr          turkish
+            tr_tr       turkish
+         );
+
+1;
diff --git a/lib/Date/Manip/Lang/italian.pm b/lib/Date/Manip/Lang/italian.pm
new file mode 100644
index 0000000..b97a04d
--- /dev/null
+++ b/lib/Date/Manip/Lang/italian.pm
@@ -0,0 +1,145 @@
+package Date::Manip::Lang::italian;
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Italian";
+$YearAdded = 1999;
+
+$Language = {
+  ampm => [['AM', 'm.'], ['PM', 'p.']],
+  at => ['alle'],
+  day_abb => [['Lun'], ['Mar'], ['Mer'], ['Gio'], ['Ven'], ['Sab'], ['Dom']],
+  day_char => [['L'], ['Ma'], ['Me'], ['G'], ['V'], ['S'], ['D']],
+  day_name => [
+    ['Lunedì', 'Lunedi'],
+    ['Martedì', 'Martedi'],
+    ['Mercoledì', 'Mercoledi'],
+    ['Giovedì', 'Giovedi'],
+    ['Venerdì', 'Venerdi'],
+    ['Sabato'],
+    ['Domenica'],
+  ],
+  each => ['ogni'],
+  fields => [
+    ['anni', 'anno', 'a'],
+    ['mesi', 'mese', 'mes', 'm'],
+    ['settimane', 'settimana', 'sett'],
+    ['giorni', 'giorno', 'g'],
+    ['ore', 'ora', 'h'],
+    ['minuti', 'minuto', 'min'],
+    ['secondi', 's', 'secondo', 'sec'],
+  ],
+  last => ['ultimo'],
+  mode => [['esattamente', 'circa'], ['lavorativi', 'lavorativo']],
+  month_abb => [
+    ['Gen'],
+    ['Feb'],
+    ['Mar'],
+    ['Apr'],
+    ['Mag'],
+    ['Giu'],
+    ['Lug'],
+    ['Ago'],
+    ['Set'],
+    ['Ott'],
+    ['Nov'],
+    ['Dic'],
+  ],
+  month_name => [
+    ['Gennaio'],
+    ['Febbraio'],
+    ['Marzo'],
+    ['Aprile'],
+    ['Maggio'],
+    ['Giugno'],
+    ['Luglio'],
+    ['Agosto'],
+    ['Settembre'],
+    ['Ottobre'],
+    ['Novembre'],
+    ['Dicembre'],
+  ],
+  nextprev => [['prossimo'], ['ultimo']],
+  nth => [
+    ['1mo', 'uno', 'primo'],
+    ['2do', 'due', 'secondo'],
+    ['3zo', 'tre', 'terzo'],
+    ['4to', 'quattro', 'quarto'],
+    ['5to', 'cinque', 'quinto'],
+    ['6to', 'sei', 'sesto'],
+    ['7mo', 'sette', 'settimo'],
+    ['8vo', 'otto', 'ottavo'],
+    ['9no', 'nove', 'nono'],
+    ['10mo', 'dieci', 'decimo'],
+    ['11mo', 'undici', 'undicesimo'],
+    ['12mo', 'dodici', 'dodicesimo'],
+    ['13mo', 'tredici', 'tredicesimo'],
+    ['14mo', 'quattordici', 'quattordicesimo'],
+    ['15mo', 'quindici', 'quindicesimo'],
+    ['16mo', 'sedici', 'sedicesimo'],
+    ['17mo', 'diciassette', 'diciassettesimo'],
+    ['18mo', 'diciotto', 'diciottesimo'],
+    ['19mo', 'diciannove', 'diciannovesimo'],
+    ['20mo', 'venti', 'ventesimo'],
+    ['21mo', 'ventuno', 'ventunesimo'],
+    ['22mo', 'ventidue', 'ventiduesimo'],
+    ['23mo', 'ventitre', 'ventitreesimo'],
+    ['24mo', 'ventiquattro', 'ventiquattresimo'],
+    ['25mo', 'venticinque', 'venticinquesimo'],
+    ['26mo', 'ventisei', 'ventiseiesimo'],
+    ['27mo', 'ventisette', 'ventisettesimo'],
+    ['28mo', 'ventotto', 'ventottesimo'],
+    ['29mo', 'ventinove', 'ventinovesimo'],
+    ['3mo', 'trenta', 'trentesima', 'trentesimo'],
+    ['31mo', 'trentuno', 'trentunesimo'],
+    ['32mo', 'trentadue', 'trentiduesima'],
+    ['33mo', 'trentatré', 'trentatre', 'trentitreesime'],
+    ['34mo', 'trentaquattro', 'trentiquattresimo'],
+    ['35mo', 'trentacinque', 'trenticinquesima'],
+    ['36mo', 'trentasei', 'trentiseisima'],
+    ['37mo', 'trentasette', 'trentisettesima'],
+    ['38mo', 'trentotto', 'trentiottesime'],
+    ['39mo', 'trentanove', 'trentinovesime'],
+    ['40mo', 'quaranta', 'quarantesimo'],
+    ['41mo', 'quarantuno', 'quarantunesimo'],
+    ['42mo', 'quarantadue', 'quarantiduesime'],
+    ['43mo', 'quaranta', 'quarantitreesima'],
+    ['44mo', 'quarantaquattro', 'quarantiquattresime'],
+    ['45mo', 'quarantacinque', 'quaranticinquesima'],
+    ['46mo', 'quarantasei', 'quarantiseisime'],
+    ['47mo', 'quarantasette', 'quarantisettesimo'],
+    ['48mo', 'quarantotto', 'quarantiottesima'],
+    ['49mo', 'quarantanove', 'quarantinovesime'],
+    ['50mo', 'cinquanta', 'cinquantesimo'],
+    ['51mo', 'cinquantuno', 'cinquantunesimo'],
+    ['52mo', 'cinquantadue', 'cinquantiduesime'],
+    ['53mo', 'cinquantatré', 'cinquantatre', 'cinquantitreesimo'],
+  ],
+  of => ['della', 'del'],
+  offset_date => {
+    domani => '+0:0:0:1:0:0:0',
+    ieri   => '-0:0:0:1:0:0:0',
+    oggi   => '0:0:0:0:0:0:0',
+  },
+  offset_time => { adesso => '0:0:0:0:0:0:0' },
+  on => ['di'],
+  times => { mezzanotte => '00:00:00', mezzogiorno => '12:00:00' },
+  when => [['fa'], ['fra', 'dopo']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/italian.pod b/lib/Date/Manip/Lang/italian.pod
new file mode 100644
index 0000000..50982ab
--- /dev/null
+++ b/lib/Date/Manip/Lang/italian.pod
@@ -0,0 +1,648 @@
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::italian - Italian language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Gennaio
+
+   Febbraio
+
+   Marzo
+
+   Aprile
+
+   Maggio
+
+   Giugno
+
+   Luglio
+
+   Agosto
+
+   Settembre
+
+   Ottobre
+
+   Novembre
+
+   Dicembre
+
+
+The following abbreviations may be used:
+
+   Gen
+
+   Feb
+
+   Mar
+
+   Apr
+
+   Mag
+
+   Giu
+
+   Lug
+
+   Ago
+
+   Set
+
+   Ott
+
+   Nov
+
+   Dic
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Lunedì
+   Lunedi
+
+   Martedì
+   Martedi
+
+   Mercoledì
+   Mercoledi
+
+   Giovedì
+   Giovedi
+
+   Venerdì
+   Venerdi
+
+   Sabato
+
+   Domenica
+
+
+The following abbreviations may be used:
+
+   Lun
+
+   Mar
+
+   Mer
+
+   Gio
+
+   Ven
+
+   Sab
+
+   Dom
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   L
+
+   Ma
+
+   Me
+
+   G
+
+   V
+
+   S
+
+   D
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   anni
+   anno
+   a
+
+   mesi
+   mese
+   mes
+   m
+
+   settimane
+   settimana
+   sett
+
+   giorni
+   giorno
+   g
+
+   ore
+   ora
+   h
+
+   minuti
+   minuto
+   min
+
+   secondi
+   s
+   secondo
+   sec
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   m.
+
+   PM
+   p.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   ogni
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   prossimo
+
+
+Previous occurrence:
+
+   ultimo
+
+
+Last occurrence:
+
+   ultimo
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   fa
+
+   fra
+   dopo
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   esattamente
+   circa
+
+
+The following words may be used to specify a business delta:
+
+   lavorativi
+   lavorativo
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1mo
+   uno
+   primo
+
+   2do
+   due
+   secondo
+
+   3zo
+   tre
+   terzo
+
+   4to
+   quattro
+   quarto
+
+   5to
+   cinque
+   quinto
+
+   6to
+   sei
+   sesto
+
+   7mo
+   sette
+   settimo
+
+   8vo
+   otto
+   ottavo
+
+   9no
+   nove
+   nono
+
+   10mo
+   dieci
+   decimo
+
+
+   11mo
+   undici
+   undicesimo
+
+   12mo
+   dodici
+   dodicesimo
+
+   13mo
+   tredici
+   tredicesimo
+
+   14mo
+   quattordici
+   quattordicesimo
+
+   15mo
+   quindici
+   quindicesimo
+
+   16mo
+   sedici
+   sedicesimo
+
+   17mo
+   diciassette
+   diciassettesimo
+
+   18mo
+   diciotto
+   diciottesimo
+
+   19mo
+   diciannove
+   diciannovesimo
+
+   20mo
+   venti
+   ventesimo
+
+
+   21mo
+   ventuno
+   ventunesimo
+
+   22mo
+   ventidue
+   ventiduesimo
+
+   23mo
+   ventitre
+   ventitreesimo
+
+   24mo
+   ventiquattro
+   ventiquattresimo
+
+   25mo
+   venticinque
+   venticinquesimo
+
+   26mo
+   ventisei
+   ventiseiesimo
+
+   27mo
+   ventisette
+   ventisettesimo
+
+   28mo
+   ventotto
+   ventottesimo
+
+   29mo
+   ventinove
+   ventinovesimo
+
+   3mo
+   trenta
+   trentesima
+   trentesimo
+
+
+   31mo
+   trentuno
+   trentunesimo
+
+   32mo
+   trentadue
+   trentiduesima
+
+   33mo
+   trentatré
+   trentatre
+   trentitreesime
+
+   34mo
+   trentaquattro
+   trentiquattresimo
+
+   35mo
+   trentacinque
+   trenticinquesima
+
+   36mo
+   trentasei
+   trentiseisima
+
+   37mo
+   trentasette
+   trentisettesima
+
+   38mo
+   trentotto
+   trentiottesime
+
+   39mo
+   trentanove
+   trentinovesime
+
+   40mo
+   quaranta
+   quarantesimo
+
+
+   41mo
+   quarantuno
+   quarantunesimo
+
+   42mo
+   quarantadue
+   quarantiduesime
+
+   43mo
+   quaranta
+   quarantitreesima
+
+   44mo
+   quarantaquattro
+   quarantiquattresime
+
+   45mo
+   quarantacinque
+   quaranticinquesima
+
+   46mo
+   quarantasei
+   quarantiseisime
+
+   47mo
+   quarantasette
+   quarantisettesimo
+
+   48mo
+   quarantotto
+   quarantiottesima
+
+   49mo
+   quarantanove
+   quarantinovesime
+
+   50mo
+   cinquanta
+   cinquantesimo
+
+
+   51mo
+   cinquantuno
+   cinquantunesimo
+
+   52mo
+   cinquantadue
+   cinquantiduesime
+
+   53mo
+   cinquantatré
+   cinquantatre
+   cinquantitreesimo
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   alle
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   della
+   del
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   di
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   domani               +0:0:0:1:0:0:0
+   ieri                 -0:0:0:1:0:0:0
+   oggi                 0:0:0:0:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   mezzanotte           00:00:00
+   mezzogiorno          12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   adesso               0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/norwegian.pm b/lib/Date/Manip/Lang/norwegian.pm
new file mode 100644
index 0000000..62378b3
--- /dev/null
+++ b/lib/Date/Manip/Lang/norwegian.pm
@@ -0,0 +1,158 @@
+package Date::Manip::Lang::norwegian;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Norwegian";
+$YearAdded = 1998;
+
+$Language = {
+  ampm => [['FM'], ['EM']],
+  at => ['kl', 'kl.', 'klokken'],
+  day_abb => [
+    ['man'],
+    ['tir'],
+    ['ons'],
+    ['tor'],
+    ['fre'],
+    ['lør', 'loer'],
+    ['søn', 'soen'],
+  ],
+  day_char => [['m'], ['ti'], ['o'], ['to'], ['f'], ['l'], ['s']],
+  day_name => [
+    ['mandag'],
+    ['tirsdag'],
+    ['onsdag'],
+    ['torsdag'],
+    ['fredag'],
+    ['lørdag', 'loerdag'],
+    ['søndag', 'soendag'],
+  ],
+  each => ['hver'],
+  fields => [
+    ['aar', 'år', 'å', 'aa'],
+    ['maaneder', 'måneder', 'måned', 'mnd', 'maaned', 'mnd'],
+    ['uker', 'uke', 'uk', 'ukr', 'u'],
+    ['dager', 'dag', 'd'],
+    ['timer', 'time', 't'],
+    ['minutter', 'minutt', 'min', 'm'],
+    ['sekunder', 'sekund', 'sek', 's'],
+  ],
+  last => ['siste'],
+  mode => [['eksakt', 'cirka', 'omtrent'], ['arbeidsdag', 'arbeidsdager']],
+  month_abb => [
+    ['jan'],
+    ['feb'],
+    ['mar'],
+    ['apr'],
+    ['mai'],
+    ['jun'],
+    ['jul'],
+    ['aug'],
+    ['sep'],
+    ['okt'],
+    ['nov'],
+    ['des'],
+  ],
+  month_name => [
+    ['januar'],
+    ['februar'],
+    ['mars'],
+    ['april'],
+    ['mai'],
+    ['juni'],
+    ['juli'],
+    ['august'],
+    ['september'],
+    ['oktober'],
+    ['november'],
+    ['desember'],
+  ],
+  nextprev => [['neste'], ['forrige']],
+  nth => [
+    ['1.', 'første', 'foerste', 'en'],
+    ['2.', 'andre', 'to'],
+    ['3.', 'tredje', 'tre'],
+    ['4.', 'fjerde', 'fire'],
+    ['5.', 'femte', 'fem'],
+    ['6.', 'sjette', 'seks'],
+    ['7.', 'syvende', 'syv'],
+    ['8.', 'åttende', 'aattende', 'åtte', 'aatte'],
+    ['9.', 'niende', 'ni'],
+    ['10.', 'tiende', 'ti'],
+    ['11.', 'ellevte', 'elleve'],
+    ['12.', 'tolvte', 'tolv'],
+    ['13.', 'trettende', 'tretten'],
+    ['14.', 'fjortende', 'fjorten'],
+    ['15.', 'femtende', 'femten'],
+    ['16.', 'sekstende', 'seksten'],
+    ['17.', 'syttende', 'sytten'],
+    ['18.', 'attende', 'atten'],
+    ['19.', 'nittende', 'nitten'],
+    ['20.', 'tjuende', 'tjue'],
+    ['21.', 'tjueførste', 'tjuefoerste', 'tjueen'],
+    ['22.', 'tjueandre', 'tjueto'],
+    ['23.', 'tjuetredje', 'tjuetre'],
+    ['24.', 'tjuefjerde', 'tjuefire'],
+    ['25.', 'tjuefemte', 'tjuefem'],
+    ['26.', 'tjuesjette', 'tjueseks'],
+    ['27.', 'tjuesyvende', 'tjuesyv'],
+    ['28.', 'tjueåttende', 'tjueaattende', 'tjueåtte', 'tjueaatte'],
+    ['29.', 'tjueniende', 'tjueni'],
+    ['30.', 'trettiende', 'tretti'],
+    ['31.', 'trettiførste', 'trettifoerste', 'trettien'],
+    ['32.', 'trettiandre', 'trettito'],
+    ['33.', 'trettitredje', 'trettitre'],
+    ['34.', 'trettifjerde', 'trettifire'],
+    ['35.', 'trettifemte', 'trettifem'],
+    ['36.', 'trettisjette', 'trettiseks'],
+    ['37.', 'trettisyvende', 'trettisyv'],
+    ['38.', 'trettiåttende', 'trettiaattende', 'trettiåtte', 'trettiaatte'],
+    ['39.', 'trettiniende', 'trettini'],
+    ['40.', 'førtiende', 'foertiende', 'førti', 'foerti'],
+    ['41.', 'førtiførste', 'foertifoerste', 'førtien', 'foertien'],
+    ['42.', 'førtiandre', 'foertiandre', 'førtito', 'foertito'],
+    ['43.', 'førtitredje', 'foertitredje', 'førtitre', 'foertitre'],
+    ['44.', 'førtifjerde', 'foertifjerde', 'førtifire', 'foertifire'],
+    ['45.', 'førtifemte', 'foertifemte', 'førtifem', 'foertifem'],
+    ['46.', 'førtisjette', 'foertisjette', 'førtiseks', 'foertiseks'],
+    ['47.', 'førtisyvende', 'foertisyvende', 'førtisyv', 'foertisyv'],
+    ['48.', 'førtiåttende', 'foertiaattende', 'førtiåtte', 'foertiaatte'],
+    ['49.', 'førtiniende', 'foertiniende', 'førtini', 'foertini'],
+    ['50.', 'femtiende', 'femti'],
+    ['51.', 'femtiførste', 'femtifoerste', 'femtien'],
+    ['52.', 'femtiandre', 'femtito'],
+    ['53.', 'femtitredje', 'femtitre'],
+  ],
+  of => ['første', 'foerste'],
+  offset_date => {
+    'i dag'    => '0:0:0:0:0:0:0',
+    'i gaar'   => '-0:0:0:1:0:0:0',
+    'i går'    => '-0:0:0:1:0:0:0',
+    'i morgen' => '+0:0:0:1:0:0:0',
+  },
+  offset_time => { 'naa' => '0:0:0:0:0:0:0', 'nå' => '0:0:0:0:0:0:0' },
+  on => ['på', 'paa'],
+  times => {
+    'midnatt'        => '00:00:00',
+    'midt paa dagen' => '12:00:00',
+    'midt på dagen'  => '12:00:00',
+  },
+  when => [['siden'], ['om', 'senere']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/norwegian.pod b/lib/Date/Manip/Lang/norwegian.pod
new file mode 100644
index 0000000..1c150e7
--- /dev/null
+++ b/lib/Date/Manip/Lang/norwegian.pod
@@ -0,0 +1,685 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::norwegian - Norwegian language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   januar
+
+   februar
+
+   mars
+
+   april
+
+   mai
+
+   juni
+
+   juli
+
+   august
+
+   september
+
+   oktober
+
+   november
+
+   desember
+
+
+The following abbreviations may be used:
+
+   jan
+
+   feb
+
+   mar
+
+   apr
+
+   mai
+
+   jun
+
+   jul
+
+   aug
+
+   sep
+
+   okt
+
+   nov
+
+   des
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   mandag
+
+   tirsdag
+
+   onsdag
+
+   torsdag
+
+   fredag
+
+   lørdag
+   loerdag
+
+   søndag
+   soendag
+
+
+The following abbreviations may be used:
+
+   man
+
+   tir
+
+   ons
+
+   tor
+
+   fre
+
+   lør
+   loer
+
+   søn
+   soen
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   m
+
+   ti
+
+   o
+
+   to
+
+   f
+
+   l
+
+   s
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   aar
+   år
+   å
+   aa
+
+   maaneder
+   måneder
+   måned
+   mnd
+   maaned
+   mnd
+
+   uker
+   uke
+   uk
+   ukr
+   u
+
+   dager
+   dag
+   d
+
+   timer
+   time
+   t
+
+   minutter
+   minutt
+   min
+   m
+
+   sekunder
+   sekund
+   sek
+   s
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   FM
+
+   EM
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   hver
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   neste
+
+
+Previous occurrence:
+
+   forrige
+
+
+Last occurrence:
+
+   siste
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   siden
+
+   om
+   senere
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   eksakt
+   cirka
+   omtrent
+
+
+The following words may be used to specify a business delta:
+
+   arbeidsdag
+   arbeidsdager
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   første
+   foerste
+   en
+
+   2.
+   andre
+   to
+
+   3.
+   tredje
+   tre
+
+   4.
+   fjerde
+   fire
+
+   5.
+   femte
+   fem
+
+   6.
+   sjette
+   seks
+
+   7.
+   syvende
+   syv
+
+   8.
+   åttende
+   aattende
+   åtte
+   aatte
+
+   9.
+   niende
+   ni
+
+   10.
+   tiende
+   ti
+
+
+   11.
+   ellevte
+   elleve
+
+   12.
+   tolvte
+   tolv
+
+   13.
+   trettende
+   tretten
+
+   14.
+   fjortende
+   fjorten
+
+   15.
+   femtende
+   femten
+
+   16.
+   sekstende
+   seksten
+
+   17.
+   syttende
+   sytten
+
+   18.
+   attende
+   atten
+
+   19.
+   nittende
+   nitten
+
+   20.
+   tjuende
+   tjue
+
+
+   21.
+   tjueførste
+   tjuefoerste
+   tjueen
+
+   22.
+   tjueandre
+   tjueto
+
+   23.
+   tjuetredje
+   tjuetre
+
+   24.
+   tjuefjerde
+   tjuefire
+
+   25.
+   tjuefemte
+   tjuefem
+
+   26.
+   tjuesjette
+   tjueseks
+
+   27.
+   tjuesyvende
+   tjuesyv
+
+   28.
+   tjueåttende
+   tjueaattende
+   tjueåtte
+   tjueaatte
+
+   29.
+   tjueniende
+   tjueni
+
+   30.
+   trettiende
+   tretti
+
+
+   31.
+   trettiførste
+   trettifoerste
+   trettien
+
+   32.
+   trettiandre
+   trettito
+
+   33.
+   trettitredje
+   trettitre
+
+   34.
+   trettifjerde
+   trettifire
+
+   35.
+   trettifemte
+   trettifem
+
+   36.
+   trettisjette
+   trettiseks
+
+   37.
+   trettisyvende
+   trettisyv
+
+   38.
+   trettiåttende
+   trettiaattende
+   trettiåtte
+   trettiaatte
+
+   39.
+   trettiniende
+   trettini
+
+   40.
+   førtiende
+   foertiende
+   førti
+   foerti
+
+
+   41.
+   førtiførste
+   foertifoerste
+   førtien
+   foertien
+
+   42.
+   førtiandre
+   foertiandre
+   førtito
+   foertito
+
+   43.
+   førtitredje
+   foertitredje
+   førtitre
+   foertitre
+
+   44.
+   førtifjerde
+   foertifjerde
+   førtifire
+   foertifire
+
+   45.
+   førtifemte
+   foertifemte
+   førtifem
+   foertifem
+
+   46.
+   førtisjette
+   foertisjette
+   førtiseks
+   foertiseks
+
+   47.
+   førtisyvende
+   foertisyvende
+   førtisyv
+   foertisyv
+
+   48.
+   førtiåttende
+   foertiaattende
+   førtiåtte
+   foertiaatte
+
+   49.
+   førtiniende
+   foertiniende
+   førtini
+   foertini
+
+   50.
+   femtiende
+   femti
+
+
+   51.
+   femtiførste
+   femtifoerste
+   femtien
+
+   52.
+   femtiandre
+   femtito
+
+   53.
+   femtitredje
+   femtitre
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   kl
+   kl.
+   klokken
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   første
+   foerste
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   på
+   paa
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   i dag                0:0:0:0:0:0:0
+   i gaar               -0:0:0:1:0:0:0
+   i går                -0:0:0:1:0:0:0
+   i morgen             +0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   midnatt              00:00:00
+   midt paa dagen       12:00:00
+   midt på dagen        12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   naa                  0:0:0:0:0:0:0
+   nå                   0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/polish.pm b/lib/Date/Manip/Lang/polish.pm
new file mode 100644
index 0000000..0519ac9
--- /dev/null
+++ b/lib/Date/Manip/Lang/polish.pm
@@ -0,0 +1,309 @@
+package Date::Manip::Lang::polish;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-2 perl);
+$LangName  = "Polish";
+$YearAdded = 1998;
+
+$Language = {
+  ampm => [['AM', 'A.M.'], ['PM', 'P.M.']],
+  at => ['o', 'u'],
+  day_abb => [
+    ['po', 'po.', 'pon.', 'pon'],
+    ['wt', 'wt.'],
+    ['śr', 'śr.', 'sr.', 'sr'],
+    ['cz', 'cz.', 'czw.', 'czw'],
+    ['pi', 'pi.'],
+    ['so', 'so.'],
+    ['ni', 'ni.'],
+  ],
+  day_char => [['p'], ['w'], ['ś.', 'e'], ['c'], ['p'], ['s'], ['n']],
+  day_name => [
+    ['poniedziałek', 'poniedzialek'],
+    ['wtorek'],
+    ['środa', 'sroda'],
+    ['czwartek'],
+    ['piątek', 'piatek'],
+    ['sobota'],
+    ['niedziela'],
+  ],
+  each => ['kazdy', 'każdy', 'kazdym', 'każdym'],
+  fields => [
+    ['rok', 'lat', 'lata', 'latach'],
+    [
+      'miesiac',
+      'miesiąc',
+      'm.',
+      'm',
+      'miesiecy',
+      'miesięcy',
+      'miesiacu',
+      'miesiącu',
+    ],
+    ['tydzien', 'tydzień', 'ty.', 'tygodniu'],
+    ['dzien', 'dzień', 'd.', 'dni'],
+    ['godzinie', 'g.', 'godzina', 'godziny'],
+    ['minuty', 'mn.', 'min.', 'minut'],
+    ['sekundy', 's.', 'sekund'],
+  ],
+  last => ['ostatni', 'ostatna'],
+  mode => [
+    [
+      'doklandnie',
+      'dokłandnie',
+      'w przyblizeniu',
+      'w przybliżeniu',
+      'mniej wiecej',
+      'mniej więcej',
+      'okolo',
+      'około',
+    ],
+    ['sluzbowy', 'służbowy', 'sluzbowym', 'służbowym'],
+  ],
+  month_abb => [
+    ['sty', 'sty.'],
+    ['lut', 'lut.'],
+    ['mar', 'mar.'],
+    ['kwi', 'kwi.'],
+    ['maj'],
+    ['cze', 'cze.'],
+    ['lip', 'lip.'],
+    ['sie', 'sie.'],
+    ['wrz', 'wrz.'],
+    ['paź', 'paz.', 'paź.', 'paz'],
+    ['lis', 'lis.'],
+    ['gru', 'gru.'],
+  ],
+  month_name => [
+    ['stycznia'],
+    ['luty'],
+    ['marca'],
+    ['kwietnia'],
+    ['maja'],
+    ['czerwca'],
+    ['lipca'],
+    ['sierpnia'],
+    ['września', 'wrzesnia'],
+    ['października', 'pazdziernika'],
+    ['listopada'],
+    ['grudnia'],
+  ],
+  nextprev => [
+    [
+      'nastepny',
+      'następny',
+      'nastepnym',
+      'następnym',
+      'przyszly',
+      'przyszły',
+      'przyszlym',
+      'przyszłym',
+    ],
+    ['zeszly', 'zeszły', 'zeszlym', 'zeszłym'],
+  ],
+  nth => [
+    ['1.', 'jeden', 'pierwszego'],
+    ['2.', 'dwa', 'drugiego'],
+    ['3.', 'trzy', 'trzeczego'],
+    ['4.', 'cztery', 'czwartego'],
+    ['5.', 'pięć', 'piec', 'piatego', 'piątego'],
+    ['6.', 'sześć', 'szesc', 'szostego', 'szóstego'],
+    ['7.', 'siedem', 'siodmego', 'siódmego'],
+    ['8.', 'osiem', 'osmego', 'ósmego'],
+    ['9.', 'dziewiąta', 'dziewiata', 'dziewiatego', 'dziewiątego'],
+    ['10.', 'dziesięć', 'dziesiec', 'dziesiatego', 'dziesiątego'],
+    ['11.', 'jedenaście', 'jedenascie', 'jedenastego'],
+    ['12.', 'dwanaście', 'dwanascie', 'dwunastego'],
+    ['13.', 'trzynaście', 'trzynascie', 'trzynastego'],
+    ['14.', 'czternaście', 'czternascie', 'czternastego'],
+    ['15.', 'piętnaście', 'pietnascie', 'pietnastego', 'piętnastego'],
+    ['16.', 'szesnaście', 'szesnascie', 'szestnastego'],
+    ['17.', 'siedemnaście', 'siedemnascie', 'siedemnastego'],
+    ['18.', 'osiemnaście', 'osiemnascie', 'osiemnastego'],
+    ['19.', 'dziewiętnaście', 'dziewietnascie', 'dziewietnastego'],
+    ['20.', 'dwadzieścia', 'dwadziescia', 'dwudziestego'],
+    ['21.', 'dwadzieścia jeden', 'dwadziescia jeden', 'dwudziestego pierwszego'],
+    ['22.', 'dwadzieścia dwa', 'dwadziescia dwa', 'dwudziestego drugiego'],
+    ['23.', 'dwadzieścia trzy', 'dwadziescia trzy', 'dwudziestego trzeczego'],
+    ['24.', 'dwadzieścia cztery', 'dwadziescia cztery', 'dwudziestego czwartego'],
+    [
+      '25.',
+      'dwadzieścia pięć',
+      'dwadziescia piec',
+      'dwudziestego piatego',
+      'dwudziestego piątego',
+    ],
+    [
+      '26.',
+      'dwadzieścia sześć',
+      'dwadziescia szesc',
+      'dwudziestego szostego',
+      'dwudziestego szóstego',
+    ],
+    [
+      '27.',
+      'dwadzieścia siedem',
+      'dwadziescia siedem',
+      'dwudziestego siodmego',
+      'dwudziestego siódmego',
+    ],
+    [
+      '28.',
+      'dwadzieścia osiem',
+      'dwadziescia osiem',
+      'dwudziestego osmego',
+      'dwudziestego ósmego',
+    ],
+    [
+      '29.',
+      'dwadzieścia dziewięć',
+      'dwadziescia dziewiec',
+      'dwudziestego dziewiatego',
+      'dwudziestego dziewiątego',
+    ],
+    ['30.', 'trzydzieści', 'trzydziesci', 'trzydziestego'],
+    ['31.', 'trzydzieści jeden', 'trzydziesci jeden', 'trzydziestego pierwszego'],
+    ['32.', 'trzydzieści dwa', 'trzydziesci dwa', 'trzydziestego drugiego'],
+    ['33.', 'trzydzieści trzy', 'trzydziesci trzy', 'trzydziestego trzeczego'],
+    ['34.', 'trzydzieści cztery', 'trzydziesci cztery', 'trzydziestego czwartego'],
+    [
+      '35.',
+      'trzydzieści pięć',
+      'trzydziesci piec',
+      'trzydziestego piątego',
+      'trzydziestego piatego',
+    ],
+    [
+      '36.',
+      'trzydzieści sześć',
+      'trzydziesci szesc',
+      'trzydziestego szóstego',
+      'trzydziestego szostego',
+    ],
+    [
+      '37.',
+      'trzydzieści siedem',
+      'trzydziesci siedem',
+      'trzydziestego siódmego',
+      'trzydziestego siodmego',
+    ],
+    [
+      '38.',
+      'trzydzieści osiem',
+      'trzydziesci osiem',
+      'trzydziestego ósmego',
+      'trzydziestego osmego',
+    ],
+    [
+      '39.',
+      'trzydzieści dziewięć',
+      'trzydziesci dziewiec',
+      'trzydziestego dziewiątego',
+      'trzydziestego dziewiatego',
+    ],
+    ['40.', 'czterdzieści', 'czterdziesci', 'czterdziestego'],
+    [
+      '41.',
+      'czterdzieści jeden',
+      'czterdziesci jeden',
+      'czterdziestego pierwszego',
+    ],
+    ['42.', 'czterdzieści dwa', 'czterdziesci dwa', 'czterdziestego drugiego'],
+    ['43.', 'czterdzieści trzy', 'czterdziesci trzy', 'czterdziestego trzeczego'],
+    [
+      '44.',
+      'czterdzieści cztery',
+      'czterdziesci cztery',
+      'czterdziestego czwartego',
+    ],
+    [
+      '45.',
+      'czterdzieści pięć',
+      'czterdziesci piec',
+      'czterdziestego piątego',
+      'czterdziestego piatego',
+    ],
+    [
+      '46.',
+      'czterdzieści sześć',
+      'czterdziesci szesc',
+      'czterdziestego szóstego',
+      'czterdziestego szostego',
+    ],
+    [
+      '47.',
+      'czterdzieści siedem',
+      'czterdziesci siedem',
+      'czterdziestego siódmego',
+      'czterdziestego siodmego',
+    ],
+    [
+      '48.',
+      'czterdzieści osiem',
+      'czterdziesci osiem',
+      'czterdziestego ósmego',
+      'czterdziestego osmego',
+    ],
+    [
+      '49.',
+      'czterdzieści dziewięć',
+      'czterdziesci dziewiec',
+      'czterdziestego dziewiątego',
+      'czterdziestego dziewiatego',
+    ],
+    ['50.', 'pięćdziesiąt', 'piecdziesiat', 'pięćdziesiątego', 'piecdziesiatego'],
+    [
+      '51.',
+      'pięćdziesiąt jeden',
+      'piecdziesiat jeden',
+      'pięćdziesiątego pierwszego',
+      'piecdziesiatego pierwszego',
+    ],
+    [
+      '52.',
+      'pięćdziesiąt dwa',
+      'piecdziesiat dwa',
+      'pięćdziesiątego drugiego',
+      'piecdziesiatego drugiego',
+    ],
+    [
+      '53.',
+      'pięćdziesiąt trzy',
+      'piecdziesiat trzy',
+      'pięćdziesiątego trzeczego',
+      'piecdziesiatego trzeczego',
+    ],
+  ],
+  of => ['w', 'z'],
+  offset_date => {
+    dzisaj  => '0:0:0:0:0:0:0',
+    jutro   => '+0:0:0:1:0:0:0',
+    wczoraj => '-0:0:0:1:0:0:0',
+  },
+  offset_time => { teraz => '0:0:0:0:0:0:0' },
+  on => ['na'],
+  times => {
+    'polnoc'   => '00:00:00',
+    'poludnie' => '12:00:00',
+    'południe' => '12:00:00',
+    'północ'   => '00:00:00',
+  },
+  when => [['temu'], ['za', 'later']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/polish.pod b/lib/Date/Manip/Lang/polish.pod
new file mode 100644
index 0000000..34bcb89
--- /dev/null
+++ b/lib/Date/Manip/Lang/polish.pod
@@ -0,0 +1,778 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::polish - Polish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   stycznia
+
+   luty
+
+   marca
+
+   kwietnia
+
+   maja
+
+   czerwca
+
+   lipca
+
+   sierpnia
+
+   września
+   wrzesnia
+
+   października
+   pazdziernika
+
+   listopada
+
+   grudnia
+
+
+The following abbreviations may be used:
+
+   sty
+   sty.
+
+   lut
+   lut.
+
+   mar
+   mar.
+
+   kwi
+   kwi.
+
+   maj
+
+   cze
+   cze.
+
+   lip
+   lip.
+
+   sie
+   sie.
+
+   wrz
+   wrz.
+
+   paź
+   paz.
+   paź.
+   paz
+
+   lis
+   lis.
+
+   gru
+   gru.
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   poniedziałek
+   poniedzialek
+
+   wtorek
+
+   środa
+   sroda
+
+   czwartek
+
+   piątek
+   piatek
+
+   sobota
+
+   niedziela
+
+
+The following abbreviations may be used:
+
+   po
+   po.
+   pon.
+   pon
+
+   wt
+   wt.
+
+   śr
+   śr.
+   sr.
+   sr
+
+   cz
+   cz.
+   czw.
+   czw
+
+   pi
+   pi.
+
+   so
+   so.
+
+   ni
+   ni.
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   p
+
+   w
+
+   ś.
+   e
+
+   c
+
+   p
+
+   s
+
+   n
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   rok
+   lat
+   lata
+   latach
+
+   miesiac
+   miesiąc
+   m.
+   m
+   miesiecy
+   miesięcy
+   miesiacu
+   miesiącu
+
+   tydzien
+   tydzień
+   ty.
+   tygodniu
+
+   dzien
+   dzień
+   d.
+   dni
+
+   godzinie
+   g.
+   godzina
+   godziny
+
+   minuty
+   mn.
+   min.
+   minut
+
+   sekundy
+   s.
+   sekund
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+
+   PM
+   P.M.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   kazdy
+   każdy
+   kazdym
+   każdym
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   nastepny
+   następny
+   nastepnym
+   następnym
+   przyszly
+   przyszły
+   przyszlym
+   przyszłym
+
+
+Previous occurrence:
+
+   zeszly
+   zeszły
+   zeszlym
+   zeszłym
+
+
+Last occurrence:
+
+   ostatni
+   ostatna
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   temu
+
+   za
+   later
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   doklandnie
+   dokłandnie
+   w przyblizeniu
+   w przybliżeniu
+   mniej wiecej
+   mniej więcej
+   okolo
+   około
+
+
+The following words may be used to specify a business delta:
+
+   sluzbowy
+   służbowy
+   sluzbowym
+   służbowym
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   jeden
+   pierwszego
+
+   2.
+   dwa
+   drugiego
+
+   3.
+   trzy
+   trzeczego
+
+   4.
+   cztery
+   czwartego
+
+   5.
+   pięć
+   piec
+   piatego
+   piątego
+
+   6.
+   sześć
+   szesc
+   szostego
+   szóstego
+
+   7.
+   siedem
+   siodmego
+   siódmego
+
+   8.
+   osiem
+   osmego
+   ósmego
+
+   9.
+   dziewiąta
+   dziewiata
+   dziewiatego
+   dziewiątego
+
+   10.
+   dziesięć
+   dziesiec
+   dziesiatego
+   dziesiątego
+
+
+   11.
+   jedenaście
+   jedenascie
+   jedenastego
+
+   12.
+   dwanaście
+   dwanascie
+   dwunastego
+
+   13.
+   trzynaście
+   trzynascie
+   trzynastego
+
+   14.
+   czternaście
+   czternascie
+   czternastego
+
+   15.
+   piętnaście
+   pietnascie
+   pietnastego
+   piętnastego
+
+   16.
+   szesnaście
+   szesnascie
+   szestnastego
+
+   17.
+   siedemnaście
+   siedemnascie
+   siedemnastego
+
+   18.
+   osiemnaście
+   osiemnascie
+   osiemnastego
+
+   19.
+   dziewiętnaście
+   dziewietnascie
+   dziewietnastego
+
+   20.
+   dwadzieścia
+   dwadziescia
+   dwudziestego
+
+
+   21.
+   dwadzieścia jeden
+   dwadziescia jeden
+   dwudziestego pierwszego
+
+   22.
+   dwadzieścia dwa
+   dwadziescia dwa
+   dwudziestego drugiego
+
+   23.
+   dwadzieścia trzy
+   dwadziescia trzy
+   dwudziestego trzeczego
+
+   24.
+   dwadzieścia cztery
+   dwadziescia cztery
+   dwudziestego czwartego
+
+   25.
+   dwadzieścia pięć
+   dwadziescia piec
+   dwudziestego piatego
+   dwudziestego piątego
+
+   26.
+   dwadzieścia sześć
+   dwadziescia szesc
+   dwudziestego szostego
+   dwudziestego szóstego
+
+   27.
+   dwadzieścia siedem
+   dwadziescia siedem
+   dwudziestego siodmego
+   dwudziestego siódmego
+
+   28.
+   dwadzieścia osiem
+   dwadziescia osiem
+   dwudziestego osmego
+   dwudziestego ósmego
+
+   29.
+   dwadzieścia dziewięć
+   dwadziescia dziewiec
+   dwudziestego dziewiatego
+   dwudziestego dziewiątego
+
+   30.
+   trzydzieści
+   trzydziesci
+   trzydziestego
+
+
+   31.
+   trzydzieści jeden
+   trzydziesci jeden
+   trzydziestego pierwszego
+
+   32.
+   trzydzieści dwa
+   trzydziesci dwa
+   trzydziestego drugiego
+
+   33.
+   trzydzieści trzy
+   trzydziesci trzy
+   trzydziestego trzeczego
+
+   34.
+   trzydzieści cztery
+   trzydziesci cztery
+   trzydziestego czwartego
+
+   35.
+   trzydzieści pięć
+   trzydziesci piec
+   trzydziestego piątego
+   trzydziestego piatego
+
+   36.
+   trzydzieści sześć
+   trzydziesci szesc
+   trzydziestego szóstego
+   trzydziestego szostego
+
+   37.
+   trzydzieści siedem
+   trzydziesci siedem
+   trzydziestego siódmego
+   trzydziestego siodmego
+
+   38.
+   trzydzieści osiem
+   trzydziesci osiem
+   trzydziestego ósmego
+   trzydziestego osmego
+
+   39.
+   trzydzieści dziewięć
+   trzydziesci dziewiec
+   trzydziestego dziewiątego
+   trzydziestego dziewiatego
+
+   40.
+   czterdzieści
+   czterdziesci
+   czterdziestego
+
+
+   41.
+   czterdzieści jeden
+   czterdziesci jeden
+   czterdziestego pierwszego
+
+   42.
+   czterdzieści dwa
+   czterdziesci dwa
+   czterdziestego drugiego
+
+   43.
+   czterdzieści trzy
+   czterdziesci trzy
+   czterdziestego trzeczego
+
+   44.
+   czterdzieści cztery
+   czterdziesci cztery
+   czterdziestego czwartego
+
+   45.
+   czterdzieści pięć
+   czterdziesci piec
+   czterdziestego piątego
+   czterdziestego piatego
+
+   46.
+   czterdzieści sześć
+   czterdziesci szesc
+   czterdziestego szóstego
+   czterdziestego szostego
+
+   47.
+   czterdzieści siedem
+   czterdziesci siedem
+   czterdziestego siódmego
+   czterdziestego siodmego
+
+   48.
+   czterdzieści osiem
+   czterdziesci osiem
+   czterdziestego ósmego
+   czterdziestego osmego
+
+   49.
+   czterdzieści dziewięć
+   czterdziesci dziewiec
+   czterdziestego dziewiątego
+   czterdziestego dziewiatego
+
+   50.
+   pięćdziesiąt
+   piecdziesiat
+   pięćdziesiątego
+   piecdziesiatego
+
+
+   51.
+   pięćdziesiąt jeden
+   piecdziesiat jeden
+   pięćdziesiątego pierwszego
+   piecdziesiatego pierwszego
+
+   52.
+   pięćdziesiąt dwa
+   piecdziesiat dwa
+   pięćdziesiątego drugiego
+   piecdziesiatego drugiego
+
+   53.
+   pięćdziesiąt trzy
+   piecdziesiat trzy
+   pięćdziesiątego trzeczego
+   piecdziesiatego trzeczego
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   o
+   u
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   w
+   z
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   na
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   dzisaj               0:0:0:0:0:0:0
+   jutro                +0:0:0:1:0:0:0
+   wczoraj              -0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   polnoc               00:00:00
+   poludnie             12:00:00
+   południe             12:00:00
+   północ               00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   teraz                0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/portugue.pm b/lib/Date/Manip/Lang/portugue.pm
new file mode 100644
index 0000000..bedbe4e
--- /dev/null
+++ b/lib/Date/Manip/Lang/portugue.pm
@@ -0,0 +1,173 @@
+package Date::Manip::Lang::portugue;
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Portuguese";
+$YearAdded = 1999;
+
+$Language = {
+  ampm => [['AM', 'A.M.'], ['PM', 'P.M.']],
+  at => ['as', 'às'],
+  day_abb => [['seg'], ['ter'], ['qua'], ['qui'], ['sex'], ['sáb', 'sab'], ['dom']],
+  day_char => [['Sg'], ['T'], ['Qa'], ['Qi'], ['Sx'], ['Sb'], ['D']],
+  day_name => [
+    ['segunda', 'segunda-feira'],
+    ['terça', 'terca', 'terça-feira', 'terca-feira'],
+    ['quarta', 'quarta-feira'],
+    ['quinta', 'quinta-feira'],
+    ['sexta', 'sexta-feira'],
+    ['sábado', 'sabado'],
+    ['domingo'],
+  ],
+  each => ['cada'],
+  fields => [
+    ['anos', 'ano', 'ans', 'an', 'a'],
+    ['meses', 'mês', 'mes', 'm'],
+    ['semanas', 'semana', 'sem', 'sems', 's'],
+    ['dias', 'dia', 'd'],
+    ['horas', 'hora', 'hr', 'hrs'],
+    ['minutos', 'minuto', 'min', 'mn'],
+    ['segundos', 'segundo', 'seg', 'sg'],
+  ],
+  last => ['ultimo', 'último'],
+  mode => [['exactamente', 'aproximadamente'], ['util', 'uteis']],
+  month_abb => [
+    ['Jan'],
+    ['Fev'],
+    ['Mar'],
+    ['Abr'],
+    ['Mai'],
+    ['Jun'],
+    ['Jul'],
+    ['Ago'],
+    ['Set'],
+    ['Out'],
+    ['Nov'],
+    ['Dez'],
+  ],
+  month_name => [
+    ['Janeiro'],
+    ['Fevereiro'],
+    ['Março', 'Marco'],
+    ['Abril'],
+    ['Maio'],
+    ['Junho'],
+    ['Julho'],
+    ['Agosto'],
+    ['Setembro'],
+    ['Outubro'],
+    ['Novembro'],
+    ['Dezembro'],
+  ],
+  nextprev => [
+    ['proxima', 'próxima', 'proximo', 'próximo'],
+    ['ultima', 'última', 'ultimo', 'último'],
+  ],
+  nth => [
+    ['1º', 'um', 'primeiro'],
+    ['2º', 'dois', 'segundo'],
+    ['3º', 'três', 'tres', 'terceiro'],
+    ['4º', 'quatro', 'quarto'],
+    ['5º', 'cinco', 'quinto'],
+    ['6º', 'seis', 'sexto'],
+    ['7º', 'sete', 'setimo', 'sétimo'],
+    ['8º', 'oito', 'oitavo'],
+    ['9º', 'nove', 'nono'],
+    ['10º', 'dez', 'decimo', 'décimo'],
+    ['11º', 'onze', 'decimo primeiro', 'décimo primeiro'],
+    ['12º', 'doze', 'decimo segundo', 'décimo segundo'],
+    ['13º', 'treze', 'decimo terceiro', 'décimo terceiro'],
+    ['14º', 'quatorze', 'decimo quarto', 'décimo quarto'],
+    ['15º', 'quinze', 'decimo quinto', 'décimo quinto'],
+    ['16º', 'dezasseis', 'decimo sexto', 'décimo sexto'],
+    ['17º', 'dezessete', 'decimo setimo', 'décimo sétimo'],
+    ['18º', 'dezoito', 'decimo oitavo', 'décimo oitavo'],
+    ['19º', 'dezanove', 'decimo nono', 'décimo nono'],
+    ['20º', 'vinte', 'vigesimo', 'vigésimo'],
+    ['21º', 'vinte e um', 'vigesimo primeiro', 'vigésimo primeiro'],
+    ['22º', 'vinte e dois', 'vigesimo segundo', 'vigésimo segundo'],
+    [
+      '23º',
+      'vinte e três',
+      'vinte e tres',
+      'vigesimo terceiro',
+      'vigésimo terceiro',
+    ],
+    ['24º', 'vinte e quatro', 'vigesimo quarto', 'vigésimo quarto'],
+    ['25º', 'vinte cinco', 'vigesimo quinto', 'vigésimo quinto'],
+    ['26º', 'vinte seis', 'vigesimo sexto', 'vigésimo sexto'],
+    ['27º', 'vinte sete', 'vigesimo setimo', 'vigésimo sétimo'],
+    ['28º', 'vinte e oito', 'vigesimo oitavo', 'vigésimo oitavo'],
+    ['29º', 'vinte e nove', 'vigesimo nono', 'vigésimo nono'],
+    ['30º', 'trinta', 'trigesimo', 'trigésimo'],
+    ['31º', 'trinta e um', 'trigesimo primeiro', 'trigésimo primeiro'],
+    ['32º', 'trinta e dois', 'trigésimo segundo', 'trigesimo segundo'],
+    [
+      '33º',
+      'trinta e três',
+      'trinta e tres',
+      'trigésimo terceiro',
+      'trigesimo terceiro',
+    ],
+    ['34º', 'trinta e quatro', 'trigésimo quarto', 'trigesimo quarto'],
+    ['35º', 'trinta e cinco', 'trigésimo quinto', 'trigesimo quinto'],
+    ['36º', 'trinta e seis', 'trigésimo sexto', 'trigesimo sexto'],
+    ['37º', 'trinta e sete', 'trigésimo sétimo', 'trigesimo setimo'],
+    ['38º', 'trinta e oito', 'trigésimo oitavo', 'trigesimo oitavo'],
+    ['39º', 'trinta e nove', 'trigésimo nono', 'trigesimo nono'],
+    ['40º', 'quarenta', 'quadragésimo', 'quadragesimo', undef],
+    ['41º', 'quarenta e um', 'quadragésimo primeiro', 'quadragesimo primeiro'],
+    ['42º', 'quarenta e dois', 'quadragésimo segundo', 'quadragesimo segundo'],
+    [
+      '43º',
+      'quarenta e três',
+      'quarenta e tres',
+      'quadragésimo terceiro',
+      'quadragesimo terceiro',
+    ],
+    ['44º', 'quarenta e quatro', 'quadragésimo quarto', 'quadragesimo quarto'],
+    ['45º', 'quarenta e cinco', 'quadragésimo quinto', 'quadragesimo quinto'],
+    ['46º', 'quarenta e seis', 'quadragésimo sexto', 'quadragesimo sexto'],
+    ['47º', 'quarenta e sete', 'quadragésimo sétimo', 'quadragesimo setimo'],
+    ['48º', 'quarenta e oito', 'quadragésimo oitavo', 'quadragesimo oitavo'],
+    ['49º', 'quarenta e nove', 'quadragésimo nono', 'quadragesimo nono'],
+    ['50º', 'cinquenta', 'quinquagésimo', 'quinquagesimo'],
+    ['51º', 'cinquenta e um', 'quinquagésimo primeiro', 'quinquagesimo primeiro'],
+    ['52º', 'cinquenta e dois', 'quinquagésimo segundo', 'quinquagesimo segundo'],
+    [
+      '53º',
+      'cinqüenta e três anos',
+      'cinquenta e tres anos',
+      'quinquagésimo terceiro',
+      'quinquagesimo terceiro',
+    ],
+  ],
+  of => ['da', 'do'],
+  offset_date => {
+    'amanha' => '+0:0:0:1:0:0:0',
+    'amanhã' => '+0:0:0:1:0:0:0',
+    'hoje'   => '0:0:0:0:0:0:0',
+    'ontem'  => '-0:0:0:1:0:0:0',
+  },
+  offset_time => { agora => '0:0:0:0:0:0:0' },
+  on => ['na', 'no'],
+  times => { 'meia-noite' => '00:00:00', 'meio-dia' => '12:00:00' },
+  when => [['a', 'à'], ['em', 'passadas', 'passados']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/portugue.pod b/lib/Date/Manip/Lang/portugue.pod
new file mode 100644
index 0000000..cd22a8d
--- /dev/null
+++ b/lib/Date/Manip/Lang/portugue.pod
@@ -0,0 +1,718 @@
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::portugue - Portuguese language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Janeiro
+
+   Fevereiro
+
+   Março
+   Marco
+
+   Abril
+
+   Maio
+
+   Junho
+
+   Julho
+
+   Agosto
+
+   Setembro
+
+   Outubro
+
+   Novembro
+
+   Dezembro
+
+
+The following abbreviations may be used:
+
+   Jan
+
+   Fev
+
+   Mar
+
+   Abr
+
+   Mai
+
+   Jun
+
+   Jul
+
+   Ago
+
+   Set
+
+   Out
+
+   Nov
+
+   Dez
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   segunda
+   segunda-feira
+
+   terça
+   terca
+   terça-feira
+   terca-feira
+
+   quarta
+   quarta-feira
+
+   quinta
+   quinta-feira
+
+   sexta
+   sexta-feira
+
+   sábado
+   sabado
+
+   domingo
+
+
+The following abbreviations may be used:
+
+   seg
+
+   ter
+
+   qua
+
+   qui
+
+   sex
+
+   sáb
+   sab
+
+   dom
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   Sg
+
+   T
+
+   Qa
+
+   Qi
+
+   Sx
+
+   Sb
+
+   D
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   anos
+   ano
+   ans
+   an
+   a
+
+   meses
+   mês
+   mes
+   m
+
+   semanas
+   semana
+   sem
+   sems
+   s
+
+   dias
+   dia
+   d
+
+   horas
+   hora
+   hr
+   hrs
+
+   minutos
+   minuto
+   min
+   mn
+
+   segundos
+   segundo
+   seg
+   sg
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+
+   PM
+   P.M.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   cada
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   proxima
+   próxima
+   proximo
+   próximo
+
+
+Previous occurrence:
+
+   ultima
+   última
+   ultimo
+   último
+
+
+Last occurrence:
+
+   ultimo
+   último
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   a
+   à
+
+   em
+   passadas
+   passados
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exactamente
+   aproximadamente
+
+
+The following words may be used to specify a business delta:
+
+   util
+   uteis
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1º
+   um
+   primeiro
+
+   2º
+   dois
+   segundo
+
+   3º
+   três
+   tres
+   terceiro
+
+   4º
+   quatro
+   quarto
+
+   5º
+   cinco
+   quinto
+
+   6º
+   seis
+   sexto
+
+   7º
+   sete
+   setimo
+   sétimo
+
+   8º
+   oito
+   oitavo
+
+   9º
+   nove
+   nono
+
+   10º
+   dez
+   decimo
+   décimo
+
+
+   11º
+   onze
+   decimo primeiro
+   décimo primeiro
+
+   12º
+   doze
+   decimo segundo
+   décimo segundo
+
+   13º
+   treze
+   decimo terceiro
+   décimo terceiro
+
+   14º
+   quatorze
+   decimo quarto
+   décimo quarto
+
+   15º
+   quinze
+   decimo quinto
+   décimo quinto
+
+   16º
+   dezasseis
+   decimo sexto
+   décimo sexto
+
+   17º
+   dezessete
+   decimo setimo
+   décimo sétimo
+
+   18º
+   dezoito
+   decimo oitavo
+   décimo oitavo
+
+   19º
+   dezanove
+   decimo nono
+   décimo nono
+
+   20º
+   vinte
+   vigesimo
+   vigésimo
+
+
+   21º
+   vinte e um
+   vigesimo primeiro
+   vigésimo primeiro
+
+   22º
+   vinte e dois
+   vigesimo segundo
+   vigésimo segundo
+
+   23º
+   vinte e três
+   vinte e tres
+   vigesimo terceiro
+   vigésimo terceiro
+
+   24º
+   vinte e quatro
+   vigesimo quarto
+   vigésimo quarto
+
+   25º
+   vinte cinco
+   vigesimo quinto
+   vigésimo quinto
+
+   26º
+   vinte seis
+   vigesimo sexto
+   vigésimo sexto
+
+   27º
+   vinte sete
+   vigesimo setimo
+   vigésimo sétimo
+
+   28º
+   vinte e oito
+   vigesimo oitavo
+   vigésimo oitavo
+
+   29º
+   vinte e nove
+   vigesimo nono
+   vigésimo nono
+
+   30º
+   trinta
+   trigesimo
+   trigésimo
+
+
+   31º
+   trinta e um
+   trigesimo primeiro
+   trigésimo primeiro
+
+   32º
+   trinta e dois
+   trigésimo segundo
+   trigesimo segundo
+
+   33º
+   trinta e três
+   trinta e tres
+   trigésimo terceiro
+   trigesimo terceiro
+
+   34º
+   trinta e quatro
+   trigésimo quarto
+   trigesimo quarto
+
+   35º
+   trinta e cinco
+   trigésimo quinto
+   trigesimo quinto
+
+   36º
+   trinta e seis
+   trigésimo sexto
+   trigesimo sexto
+
+   37º
+   trinta e sete
+   trigésimo sétimo
+   trigesimo setimo
+
+   38º
+   trinta e oito
+   trigésimo oitavo
+   trigesimo oitavo
+
+   39º
+   trinta e nove
+   trigésimo nono
+   trigesimo nono
+
+   40º
+   quarenta
+   quadragésimo
+   quadragesimo
+
+
+   41º
+   quarenta e um
+   quadragésimo primeiro
+   quadragesimo primeiro
+
+   42º
+   quarenta e dois
+   quadragésimo segundo
+   quadragesimo segundo
+
+   43º
+   quarenta e três
+   quarenta e tres
+   quadragésimo terceiro
+   quadragesimo terceiro
+
+   44º
+   quarenta e quatro
+   quadragésimo quarto
+   quadragesimo quarto
+
+   45º
+   quarenta e cinco
+   quadragésimo quinto
+   quadragesimo quinto
+
+   46º
+   quarenta e seis
+   quadragésimo sexto
+   quadragesimo sexto
+
+   47º
+   quarenta e sete
+   quadragésimo sétimo
+   quadragesimo setimo
+
+   48º
+   quarenta e oito
+   quadragésimo oitavo
+   quadragesimo oitavo
+
+   49º
+   quarenta e nove
+   quadragésimo nono
+   quadragesimo nono
+
+   50º
+   cinquenta
+   quinquagésimo
+   quinquagesimo
+
+
+   51º
+   cinquenta e um
+   quinquagésimo primeiro
+   quinquagesimo primeiro
+
+   52º
+   cinquenta e dois
+   quinquagésimo segundo
+   quinquagesimo segundo
+
+   53º
+   cinqüenta e três anos
+   cinquenta e tres anos
+   quinquagésimo terceiro
+   quinquagesimo terceiro
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   as
+   às
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   da
+   do
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   na
+   no
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   amanha               +0:0:0:1:0:0:0
+   amanhã               +0:0:0:1:0:0:0
+   hoje                 0:0:0:0:0:0:0
+   ontem                -0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   meia-noite           00:00:00
+   meio-dia             12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   agora                0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/romanian.pm b/lib/Date/Manip/Lang/romanian.pm
new file mode 100644
index 0000000..12558ef
--- /dev/null
+++ b/lib/Date/Manip/Lang/romanian.pm
@@ -0,0 +1,349 @@
+package Date::Manip::Lang::romanian;
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-16 perl);
+$LangName  = "Romanian";
+$YearAdded = 1999;
+
+$Language = {
+  ampm => [['AM', 'A.M.'], ['PM', 'P.M.']],
+  at => ['la'],
+  day_abb => [['lun'], ['mar'], ['mie'], ['joi'], ['vin'], ['sâm', 'sam'], ['dum']],
+  day_char => [['L'], ['Ma'], ['Mi'], ['J'], ['V'], ['S'], ['D']],
+  day_name => [
+    ['luni'],
+    ['marți', 'marti', 'marþi'],
+    ['miercuri'],
+    ['joi'],
+    ['vineri'],
+    ['sâmbătă', 'sambata'],
+    ['duminică', 'duminica'],
+  ],
+  each => ['fiecare'],
+  fields => [
+    ['ani', 'an', 'a'],
+    ['luna', 'lună', 'luni', 'l'],
+    ['saptamini', 'săptămîni', 'saptamina', 'săptămîna', 'sapt', 'săpt'],
+    ['zile', 'zi', 'z'],
+    ['ora', 'oră', 'ore', 'h'],
+    ['minute', 'min', 'm'],
+    ['secunde', 'sec', 's'],
+  ],
+  last => ['ultima'],
+  mode => [['exact', 'aproximativ'], ['lucratoare', 'lucrătoare', 'de lucru']],
+  month_abb => [
+    ['ian'],
+    ['feb', 'febr'],
+    ['mart'],
+    ['apr'],
+    ['mai'],
+    ['iun'],
+    ['iul'],
+    ['aug'],
+    ['sept'],
+    ['oct'],
+    ['nov'],
+    ['dec'],
+  ],
+  month_name => [
+    ['ianuarie'],
+    ['februarie'],
+    ['martie'],
+    ['aprilie'],
+    ['mai'],
+    ['iunie'],
+    ['iulie'],
+    ['august'],
+    ['septembrie'],
+    ['octombrie'],
+    ['noiembrie'],
+    ['decembrie'],
+  ],
+  nextprev => [['urmatoarea', 'următoarea'], ['precedenta', 'ultima']],
+  nth => [
+    ['a 1-a', 'prima', 'prima', 'intii', 'întîi', 'unu'],
+    ['a 2-a', 'a doua', 'a doua', 'doi'],
+    ['a 3-a', 'a treia', 'trei'],
+    ['a 4-a', 'a patra', 'patru'],
+    ['a 5-a', 'a cincea', 'cinci'],
+    ['a 6-a', 'a sasea', 'a şasea', 'sase', 'şase'],
+    ['a 7-a', 'a saptea', 'a şaptea', 'sapte', 'şapte'],
+    ['a 8-a', 'a opta', 'opt'],
+    ['a 9-a', 'a noua', 'noua', 'nouă'],
+    ['a 10-a', 'a zecea', 'zece'],
+    ['a 11-a', 'a unsprezecea', 'unsprezece'],
+    ['a 12-a', 'a doisprezecea', 'doisprezece'],
+    ['a 13-a', 'a treisprezecea', 'treisprezece'],
+    ['a 14-a', 'a patrusprezecea', 'patrusprezece', 'paisprezece'],
+    ['a 15-a', 'a cincisprezecea', 'cincisprezece'],
+    ['a 16-a', 'a saiprezecea', 'a şaiprezecea', 'saiprezece', 'şaiprezece'],
+    [
+      'a 17-a',
+      'a saptesprezecea',
+      'a şaptesprezecea',
+      'saptesprezece',
+      'şaptesprezece',
+    ],
+    ['a 18-a', 'a optsprezecea', 'optsprezece'],
+    [
+      'a 19-a',
+      'a nouasprezecea',
+      'a nouăsprezecea',
+      'nouasprezece',
+      'nouăsprezece',
+    ],
+    ['a 20-a', 'a douazecea', 'a douăzecea', 'douazeci', 'douăzeci'],
+    [
+      'a 21-a',
+      'a douazecisiuna',
+      'a douăzecişiuna',
+      'douazecisiunu',
+      'douăzecişiunu',
+    ],
+    [
+      'a 22-a',
+      'a douazecisidoua',
+      'a douăzecişidoua',
+      'douazecisidoi',
+      'douăzecişidoi',
+    ],
+    [
+      'a 23-a',
+      'a douazecisitreia',
+      'a douăzecişitreia',
+      'douazecisitrei',
+      'douăzecişitrei',
+    ],
+    [
+      'a 24-a',
+      'a douazecisipatra',
+      'a douăzecişipatra',
+      'douazecisipatru',
+      'douăzecisipatru',
+    ],
+    [
+      'a 25-a',
+      'a douazecisicincea',
+      'a douăzecişicincea',
+      'douazecisicinci',
+      'douăzecişicinci',
+    ],
+    [
+      'a 26-a',
+      'a douazecisisasea',
+      'a douăzecişişasea',
+      'douazecisisase',
+      'douăzecişişase',
+    ],
+    [
+      'a 27-a',
+      'a douazecisisaptea',
+      'a douăzecişişaptea',
+      'douazecisisapte',
+      'douăzecişişapte',
+    ],
+    [
+      'a 28-a',
+      'a douazecisiopta',
+      'a douăzecişiopta',
+      'douazecisiopt',
+      'douăzecişiopt',
+    ],
+    [
+      'a 29-a',
+      'a douazecisinoua',
+      'a douăzecişinoua',
+      'douazecisinoua',
+      'douăzecişinouă',
+    ],
+    ['a 30-a', 'a treizecea', 'treizeci'],
+    [
+      'a 31-a',
+      'a treizecisiuna',
+      'a treizecişiuna',
+      'treizecisiunu',
+      'treizecişiunu',
+    ],
+    [
+      'a 32-a',
+      'a treizecisidoua',
+      'a treizecişdoua',
+      'treizecişidoi',
+      'treizecisidoi',
+    ],
+    [
+      'a 33-a',
+      'a treizecisitreia',
+      'a treizeciştreia',
+      'treizecişitrei',
+      'treizecisitrei',
+    ],
+    [
+      'a 34-a',
+      'a treizecisipatra',
+      'a treizecişpatra',
+      'treizecişipatru',
+      'treizecisipatru',
+    ],
+    [
+      'a 35-a',
+      'a treizecisicincea',
+      'a treizecişcincea',
+      'treizecişicinci',
+      'treizecisicinci',
+    ],
+    [
+      'a 36-a',
+      'a treizecisisasea',
+      'a treizecişşasea',
+      'treizecişişase',
+      'treizecisisase',
+    ],
+    [
+      'a 37-a',
+      'a treizecisisaptea',
+      'a treizecişşaptea',
+      'treizecişişapte',
+      'treizecisisapte',
+    ],
+    [
+      'a 38-a',
+      'a treizecisiopta',
+      'a treizecişopta',
+      'treizecişiopt',
+      'treizecisiopt',
+    ],
+    [
+      'a 39-a',
+      'a treizecisinoua',
+      'a treizecişnoua',
+      'treizecişinouă',
+      'treizecisinoua',
+    ],
+    ['a 40-a', 'a patruzecea', 'patruzeci'],
+    [
+      'a 41-a',
+      'a patruzecisiuna',
+      'a patruzecişiuna',
+      'patruzecisiunu',
+      'patruzecişiunu',
+    ],
+    [
+      'a 42-a',
+      'a patruzecisidoua',
+      'a patruzecişidoua',
+      'patruzecişidoi',
+      'patruzecisidoi',
+    ],
+    [
+      'a 43-a',
+      'a patruzecisitreia',
+      'a patruzecişitreia',
+      'patruzecişitrei',
+      'patruzecisitrei',
+    ],
+    [
+      'a 44-a',
+      'a patruzecisipatra',
+      'a patruzecişipatra',
+      'patruzecişipatru',
+      'patruzecisipatru',
+    ],
+    [
+      'a 45-a',
+      'a patruzecisicincea',
+      'a patruzecişicincea',
+      'patruzecişicinci',
+      'patruzecisicinci',
+    ],
+    [
+      'a 46-a',
+      'a patruzecisisasea',
+      'a patruzecişişasea',
+      'patruzecişişase',
+      'patruzecisisase',
+    ],
+    [
+      'a 47-a',
+      'a patruzecisisaptea',
+      'a patruzecişişaptea',
+      'patruzecişişapte',
+      'patruzecisisapte',
+    ],
+    [
+      'a 48-a',
+      'a patruzecisiopta',
+      'a patruzecişiopta',
+      'patruzecişiopt',
+      'patruzecisiopt',
+    ],
+    [
+      'a 49-a',
+      'a patruzecisinoua',
+      'a patruzecişinoua',
+      'patruzecişinouă',
+      'patruzecisinoua',
+    ],
+    ['a 50-a', 'a cincizecea', 'cincizeci'],
+    [
+      'a 51-a',
+      'a cincizecisiuna',
+      'a cincizecişiuna',
+      'cincizecisiunu',
+      'cincizecişiunu',
+    ],
+    [
+      'a 52-a',
+      'a cincizecisidoua',
+      'a cincizecişidoua',
+      'cincizecişidoi',
+      'cincizecisidoi',
+    ],
+    [
+      'a 53-a',
+      'a cincizecisitreia',
+      'a cincizecişitreia',
+      'cincizecişitrei',
+      'cincizecisitrei',
+    ],
+  ],
+  of => ['din', 'in', 'n'],
+  offset_date => {
+    'alaltaieri' => '-0:0:0:2:0:0:0',
+    'alaltăieri' => '-0:0:0:2:0:0:0',
+    'astazi'     => '0:0:0:0:0:0:0',
+    'astăzi'     => '0:0:0:0:0:0:0',
+    'azi'        => '0:0:0:0:0:0:0',
+    'ieri'       => '-0:0:0:1:0:0:0',
+    'miine'      => '+0:0:0:1:0:0:0',
+    'mîine'      => '+0:0:0:1:0:0:0',
+    'poimiine'   => '+0:0:0:2:0:0:0',
+    'poimîine'   => '+0:0:0:2:0:0:0',
+  },
+  offset_time => { acum => '0:0:0:0:0:0:0' },
+  on => ['on'],
+  times => {
+    'amiaza' => '12:00:00',
+    'amiază' => '12:00:00',
+    'miezul noptii' => '00:00:00',
+    'miezul nopții' => '00:00:00',
+  },
+  when => [['in urma', 'în urmă'], ['in', 'în', 'mai tirziu', 'mai tîrziu']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/romanian.pod b/lib/Date/Manip/Lang/romanian.pod
new file mode 100644
index 0000000..310e8c0
--- /dev/null
+++ b/lib/Date/Manip/Lang/romanian.pod
@@ -0,0 +1,743 @@
+# Copyright (c) 1999-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::romanian - Romanian language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   ianuarie
+
+   februarie
+
+   martie
+
+   aprilie
+
+   mai
+
+   iunie
+
+   iulie
+
+   august
+
+   septembrie
+
+   octombrie
+
+   noiembrie
+
+   decembrie
+
+
+The following abbreviations may be used:
+
+   ian
+
+   feb
+   febr
+
+   mart
+
+   apr
+
+   mai
+
+   iun
+
+   iul
+
+   aug
+
+   sept
+
+   oct
+
+   nov
+
+   dec
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   luni
+
+   marți
+   marti
+   marþi
+
+   miercuri
+
+   joi
+
+   vineri
+
+   sâmbătă
+   sambata
+
+   duminică
+   duminica
+
+
+The following abbreviations may be used:
+
+   lun
+
+   mar
+
+   mie
+
+   joi
+
+   vin
+
+   sâm
+   sam
+
+   dum
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   L
+
+   Ma
+
+   Mi
+
+   J
+
+   V
+
+   S
+
+   D
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   ani
+   an
+   a
+
+   luna
+   lună
+   luni
+   l
+
+   saptamini
+   săptămîni
+   saptamina
+   săptămîna
+   sapt
+   săpt
+
+   zile
+   zi
+   z
+
+   ora
+   oră
+   ore
+   h
+
+   minute
+   min
+   m
+
+   secunde
+   sec
+   s
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+
+   PM
+   P.M.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   fiecare
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   urmatoarea
+   următoarea
+
+
+Previous occurrence:
+
+   precedenta
+   ultima
+
+
+Last occurrence:
+
+   ultima
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   in urma
+   în urmă
+
+   in
+   în
+   mai tirziu
+   mai tîrziu
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exact
+   aproximativ
+
+
+The following words may be used to specify a business delta:
+
+   lucratoare
+   lucrătoare
+   de lucru
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   a 1-a
+   prima
+   prima
+   intii
+   întîi
+   unu
+
+   a 2-a
+   a doua
+   a doua
+   doi
+
+   a 3-a
+   a treia
+   trei
+
+   a 4-a
+   a patra
+   patru
+
+   a 5-a
+   a cincea
+   cinci
+
+   a 6-a
+   a sasea
+   a şasea
+   sase
+   şase
+
+   a 7-a
+   a saptea
+   a şaptea
+   sapte
+   şapte
+
+   a 8-a
+   a opta
+   opt
+
+   a 9-a
+   a noua
+   noua
+   nouă
+
+   a 10-a
+   a zecea
+   zece
+
+
+   a 11-a
+   a unsprezecea
+   unsprezece
+
+   a 12-a
+   a doisprezecea
+   doisprezece
+
+   a 13-a
+   a treisprezecea
+   treisprezece
+
+   a 14-a
+   a patrusprezecea
+   patrusprezece
+   paisprezece
+
+   a 15-a
+   a cincisprezecea
+   cincisprezece
+
+   a 16-a
+   a saiprezecea
+   a şaiprezecea
+   saiprezece
+   şaiprezece
+
+   a 17-a
+   a saptesprezecea
+   a şaptesprezecea
+   saptesprezece
+   şaptesprezece
+
+   a 18-a
+   a optsprezecea
+   optsprezece
+
+   a 19-a
+   a nouasprezecea
+   a nouăsprezecea
+   nouasprezece
+   nouăsprezece
+
+   a 20-a
+   a douazecea
+   a douăzecea
+   douazeci
+   douăzeci
+
+
+   a 21-a
+   a douazecisiuna
+   a douăzecişiuna
+   douazecisiunu
+   douăzecişiunu
+
+   a 22-a
+   a douazecisidoua
+   a douăzecişidoua
+   douazecisidoi
+   douăzecişidoi
+
+   a 23-a
+   a douazecisitreia
+   a douăzecişitreia
+   douazecisitrei
+   douăzecişitrei
+
+   a 24-a
+   a douazecisipatra
+   a douăzecişipatra
+   douazecisipatru
+   douăzecisipatru
+
+   a 25-a
+   a douazecisicincea
+   a douăzecişicincea
+   douazecisicinci
+   douăzecişicinci
+
+   a 26-a
+   a douazecisisasea
+   a douăzecişişasea
+   douazecisisase
+   douăzecişişase
+
+   a 27-a
+   a douazecisisaptea
+   a douăzecişişaptea
+   douazecisisapte
+   douăzecişişapte
+
+   a 28-a
+   a douazecisiopta
+   a douăzecişiopta
+   douazecisiopt
+   douăzecişiopt
+
+   a 29-a
+   a douazecisinoua
+   a douăzecişinoua
+   douazecisinoua
+   douăzecişinouă
+
+   a 30-a
+   a treizecea
+   treizeci
+
+
+   a 31-a
+   a treizecisiuna
+   a treizecişiuna
+   treizecisiunu
+   treizecişiunu
+
+   a 32-a
+   a treizecisidoua
+   a treizecişdoua
+   treizecişidoi
+   treizecisidoi
+
+   a 33-a
+   a treizecisitreia
+   a treizeciştreia
+   treizecişitrei
+   treizecisitrei
+
+   a 34-a
+   a treizecisipatra
+   a treizecişpatra
+   treizecişipatru
+   treizecisipatru
+
+   a 35-a
+   a treizecisicincea
+   a treizecişcincea
+   treizecişicinci
+   treizecisicinci
+
+   a 36-a
+   a treizecisisasea
+   a treizecişşasea
+   treizecişişase
+   treizecisisase
+
+   a 37-a
+   a treizecisisaptea
+   a treizecişşaptea
+   treizecişişapte
+   treizecisisapte
+
+   a 38-a
+   a treizecisiopta
+   a treizecişopta
+   treizecişiopt
+   treizecisiopt
+
+   a 39-a
+   a treizecisinoua
+   a treizecişnoua
+   treizecişinouă
+   treizecisinoua
+
+   a 40-a
+   a patruzecea
+   patruzeci
+
+
+   a 41-a
+   a patruzecisiuna
+   a patruzecişiuna
+   patruzecisiunu
+   patruzecişiunu
+
+   a 42-a
+   a patruzecisidoua
+   a patruzecişidoua
+   patruzecişidoi
+   patruzecisidoi
+
+   a 43-a
+   a patruzecisitreia
+   a patruzecişitreia
+   patruzecişitrei
+   patruzecisitrei
+
+   a 44-a
+   a patruzecisipatra
+   a patruzecişipatra
+   patruzecişipatru
+   patruzecisipatru
+
+   a 45-a
+   a patruzecisicincea
+   a patruzecişicincea
+   patruzecişicinci
+   patruzecisicinci
+
+   a 46-a
+   a patruzecisisasea
+   a patruzecişişasea
+   patruzecişişase
+   patruzecisisase
+
+   a 47-a
+   a patruzecisisaptea
+   a patruzecişişaptea
+   patruzecişişapte
+   patruzecisisapte
+
+   a 48-a
+   a patruzecisiopta
+   a patruzecişiopta
+   patruzecişiopt
+   patruzecisiopt
+
+   a 49-a
+   a patruzecisinoua
+   a patruzecişinoua
+   patruzecişinouă
+   patruzecisinoua
+
+   a 50-a
+   a cincizecea
+   cincizeci
+
+
+   a 51-a
+   a cincizecisiuna
+   a cincizecişiuna
+   cincizecisiunu
+   cincizecişiunu
+
+   a 52-a
+   a cincizecisidoua
+   a cincizecişidoua
+   cincizecişidoi
+   cincizecisidoi
+
+   a 53-a
+   a cincizecisitreia
+   a cincizecişitreia
+   cincizecişitrei
+   cincizecisitrei
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   la
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   din
+   in
+   n
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   on
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   alaltaieri           -0:0:0:2:0:0:0
+   alaltăieri           -0:0:0:2:0:0:0
+   astazi               0:0:0:0:0:0:0
+   astăzi               0:0:0:0:0:0:0
+   azi                  0:0:0:0:0:0:0
+   ieri                 -0:0:0:1:0:0:0
+   miine                +0:0:0:1:0:0:0
+   mîine                +0:0:0:1:0:0:0
+   poimiine             +0:0:0:2:0:0:0
+   poimîine             +0:0:0:2:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   amiaza               12:00:00
+   amiază               12:00:00
+   miezul noptii        00:00:00
+   miezul nopții        00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   acum                 0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/russian.pm b/lib/Date/Manip/Lang/russian.pm
new file mode 100644
index 0000000..44402e5
--- /dev/null
+++ b/lib/Date/Manip/Lang/russian.pm
@@ -0,0 +1,281 @@
+package Date::Manip::Lang::russian;
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 koi8-r cp1251 perl);
+$LangName  = "Russian";
+$YearAdded = 2001;
+
+$Language = {
+  ampm => [
+    ['ДП', 'дп', 'Д.П.', 'ночи', 'утра', 'до полудня'],
+    ['ПП', 'пп', 'П.П.', 'дня', 'вечера', 'после полудня', 'по полудню', 'пополудню'],
+  ],
+  at => ['в'],
+  day_abb => [
+    ['пнд', 'пн', 'пон'],
+    ['втр', 'вт', 'вто'],
+    ['срд', 'ср', 'срe'],
+    ['чтв', 'чт', 'чет'],
+    ['птн', 'пт', 'пят'],
+    ['суб', 'сб', 'суб'],
+    ['вск', 'вс', 'воск'],
+  ],
+  day_char => [['пн'], ['вт'], ['ср'], ['чт'], ['пт'], ['сб'], ['вс']],
+  day_name => [
+    ['понедельник'],
+    ['вторник'],
+    ['среда'],
+    ['четверг'],
+    ['пятница'],
+    ['суббота'],
+    ['воскресенье'],
+  ],
+  each => ['каждый'],
+  fields => [
+    ['г', 'гд', 'год', 'лет', 'лет', 'года'],
+    ['мес', 'месяц', 'месяцев'],
+    ['неделя', 'недель', 'недели', 'неделю'],
+    ['д', 'день', 'дней', 'дня'],
+    ['ч', 'ч.', 'чс', 'чсв', 'час', 'часов', 'часа'],
+    ['мн', 'мин', 'минута', 'минут'],
+    ['с', 'сек', 'секунда', 'секунд'],
+  ],
+  last => ['последний'],
+  mode => [['точно', 'примерно'], ['рабочих']],
+  month_abb => [
+    ['янв', 'янв.'],
+    ['фев', 'фвр', 'февр.'],
+    ['мрт', 'марта', 'март'],
+    ['апр', 'апр.'],
+    ['май', 'мая'],
+    ['июн', 'июня', 'июнь'],
+    ['июл', 'июля', 'июль'],
+    ['авг', 'авг.'],
+    ['снт', 'сен', 'сент.'],
+    ['окт', 'окт.'],
+    ['нояб', 'ноя', 'нояб.'],
+    ['дек', 'дек.'],
+  ],
+  month_name => [
+    ['января', 'январь'],
+    ['февраля', 'февраль'],
+    ['марта', 'март'],
+    ['апреля', 'апрель'],
+    ['мая', 'май'],
+    ['июня', 'июнь'],
+    ['июля', 'июль'],
+    ['августа', 'август'],
+    ['сентября', 'сентябрь'],
+    ['октября', 'октябрь'],
+    ['ноября', 'ноябрь'],
+    ['декабря', 'декабрь'],
+  ],
+  nextprev => [['следующий'], ['предыдущий']],
+  nth => [
+    ['1', 'первый', 'первого', 'первое', 'один'],
+    ['2', 'второй', 'второго', 'второе', 'два'],
+    ['3', 'третий', 'третьего', 'третье', 'три'],
+    ['4', 'четвертый', 'четвертого', 'четвертое', 'четыре'],
+    ['5', 'пятый', 'пятого', 'пятое', 'пять'],
+    ['6', 'шестой', 'шестого', 'шестое', 'шесть'],
+    ['7', 'седьмой', 'седьмого', 'седьмое', 'семь'],
+    ['8', 'восьмой', 'восьмого', 'восьмое', 'восемь'],
+    ['9', 'девятый', 'девятого', 'девятое', 'девять'],
+    ['10', 'десятый', 'десятого', 'десятое', 'десять'],
+    ['11', 'одиннадцатый', 'одиннадцатого', 'одиннадцатое', 'одиннадцать'],
+    ['12', 'двенадчатый', 'двенадцатого', 'двенадцатое', 'дванадцать'],
+    ['13', 'тренадцатый', 'тренадцатого', 'тренадцатое', 'тринадцать'],
+    ['14', 'четырнадцатый', 'четырнадцатого', 'четырнадцатое', 'четырнадцать'],
+    ['15', 'пятнадцатый', 'пятнадцатого', 'пятнадцатое', 'пятнадцать'],
+    ['16', 'шестнадцатый', 'шестнадцатого', 'шестнадцатое', 'шестнадцать'],
+    ['17', 'семьнадцатый', 'семьнадцатого', 'семьнадцатое', 'семнадцать'],
+    ['18', 'восемьнадцатый', 'восемьнадцатого', 'восемьнадцатое', 'восемнадцать'],
+    ['19', 'девятнадцатый', 'девятнадцатого', 'девятнадцатое', 'девятнадцать'],
+    ['20', 'двадцатый', 'двадцатого', 'двадцатое', 'двадцать'],
+    [
+      '21',
+      'двадцать первый',
+      'двадцать первого',
+      'двадцать первое',
+      'двадцать один',
+    ],
+    [
+      '22',
+      'двадцать второй',
+      'двадцать второе',
+      'двадцать второе',
+      'двадцать два',
+    ],
+    [
+      '23',
+      'двадцать третий',
+      'двадцать третьего',
+      'двадцать третье',
+      'двадцать три',
+    ],
+    [
+      '24',
+      'двадцать четвертый',
+      'двадцать четвертого',
+      'двадцать четвертое',
+      'двадцать четыре',
+    ],
+    ['25', 'двадцать пятый', 'двадцать пятого', 'двадцать пятое', 'двадцать пять'],
+    [
+      '26',
+      'двадцать шестой',
+      'двадцать шестого',
+      'двадцать шестое',
+      'двадцать шесть',
+    ],
+    [
+      '27',
+      'двадцать седьмой',
+      'двадцать седьмого',
+      'двадцать седьмое',
+      'двадцать семь',
+    ],
+    [
+      '28',
+      'двадцать восьмой',
+      'двадцать восьмого',
+      'двадцать восьмое',
+      'двадцать восемь',
+    ],
+    [
+      '29',
+      'двадцать девятый',
+      'двадцать девятого',
+      'двадцать девятое',
+      'двадцать девять',
+    ],
+    ['30', 'тридцатый', 'тридцатого', 'тридцатое', 'тридцать'],
+    [
+      '31',
+      'тридцать первый',
+      'тридцать первого',
+      'тридцать первое',
+      'тридцать один',
+    ],
+    [
+      '32',
+      'тридцать второй',
+      'тридцать второе',
+      'тридцать второе',
+      'тридцать два',
+    ],
+    [
+      '33',
+      'тридцать третий',
+      'тридцать третьего',
+      'тридцать третье',
+      'тридцать три',
+    ],
+    [
+      '34',
+      'тридцать четвертый',
+      'тридцать четвертого',
+      'тридцать четвертое',
+      'тридцать четыре',
+    ],
+    ['35', 'тридцать пятый', 'тридцать пятого', 'тридцать пятое', 'тридцать пять'],
+    [
+      '36',
+      'тридцать шестой',
+      'тридцать шестого',
+      'тридцать шестое',
+      'тридцать шесть',
+    ],
+    [
+      '37',
+      'тридцать седьмой',
+      'тридцать седьмого',
+      'тридцать седьмое',
+      'тридцать семь',
+    ],
+    [
+      '38',
+      'тридцать восьмой',
+      'тридцать восьмого',
+      'тридцать восьмое',
+      'тридцать восемь',
+    ],
+    [
+      '39',
+      'тридцать девятый',
+      'тридцать девятого',
+      'тридцать девятое',
+      'тридцать девять',
+    ],
+    ['40', 'сороковой', 'сорок'],
+    ['41', 'сорок первый', 'сорок первого', 'сорок первое', 'сорок один'],
+    ['42', 'сорок второй', 'сорок второе', 'сорок второе', 'сорок два'],
+    ['43', 'сорок третий', 'сорок третьего', 'сорок третье', 'сорок три'],
+    [
+      '44',
+      'сорок четвертый',
+      'сорок четвертого',
+      'сорок четвертое',
+      'сорок четыре',
+    ],
+    ['45', 'сорок пятый', 'сорок пятого', 'сорок пятое', 'сорок пять'],
+    ['46', 'сорок шестой', 'сорок шестого', 'сорок шестое', 'сорок шесть'],
+    ['47', 'сорок седьмой', 'сорок седьмого', 'сорок седьмое', 'сорок семь'],
+    ['48', 'сорок восьмой', 'сорок восьмого', 'сорок восьмое', 'сорок восемь'],
+    ['49', 'сорок девятый', 'сорок девятого', 'сорок девятое', 'сорок девять'],
+    ['50', 'пятидесятый', 'пятидесятого', 'пятидесятое', 'пятьдесят'],
+    [
+      '51',
+      'пятьдесят первый',
+      'пятьдесят первого',
+      'пятьдесят первое',
+      'пятьдесят один',
+    ],
+    [
+      '52',
+      'пятьдесят второй',
+      'пятьдесят второе',
+      'пятьдесят второе',
+      'пятьдесят два',
+    ],
+    [
+      '53',
+      'пятьдесят третий',
+      'пятьдесят третьего',
+      'пятьдесят третье',
+      'пятьдесят три',
+    ],
+  ],
+  of => [''],
+  offset_date => {
+    'вчера'       => '-0:0:0:1:0:0:0',
+    'завтра'      => '+0:0:0:1:0:0:0',
+    'позавчера'   => '-0:0:0:2:0:0:0',
+    'послезавтра' => '+0:0:0:2:0:0:0',
+    'сегодня'     => '0:0:0:0:0:0:0',
+  },
+  offset_time => { 'сейчас' => '0:0:0:0:0:0:0' },
+  on => ['в'],
+  sepfr => 'с',
+  sephm => ['ч'],
+  sepms => ['м'],
+  times => { 'полдень' => '12:00:00', 'полночь' => '00:00:00' },
+  when => [['назад на '], ['вперед на', 'позже']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/russian.pod b/lib/Date/Manip/Lang/russian.pod
new file mode 100644
index 0000000..e5415f3
--- /dev/null
+++ b/lib/Date/Manip/Lang/russian.pod
@@ -0,0 +1,806 @@
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::russian - Russian language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   января
+   январь
+
+   февраля
+   февраль
+
+   марта
+   март
+
+   апреля
+   апрель
+
+   мая
+   май
+
+   июня
+   июнь
+
+   июля
+   июль
+
+   августа
+   август
+
+   сентября
+   сентябрь
+
+   октября
+   октябрь
+
+   ноября
+   ноябрь
+
+   декабря
+   декабрь
+
+
+The following abbreviations may be used:
+
+   янв
+   янв.
+
+   фев
+   фвр
+   февр.
+
+   мрт
+   марта
+   март
+
+   апр
+   апр.
+
+   май
+   мая
+
+   июн
+   июня
+   июнь
+
+   июл
+   июля
+   июль
+
+   авг
+   авг.
+
+   снт
+   сен
+   сент.
+
+   окт
+   окт.
+
+   нояб
+   ноя
+   нояб.
+
+   дек
+   дек.
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   понедельник
+
+   вторник
+
+   среда
+
+   четверг
+
+   пятница
+
+   суббота
+
+   воскресенье
+
+
+The following abbreviations may be used:
+
+   пнд
+   пн
+   пон
+
+   втр
+   вт
+   вто
+
+   срд
+   ср
+   срe
+
+   чтв
+   чт
+   чет
+
+   птн
+   пт
+   пят
+
+   суб
+   сб
+   суб
+
+   вск
+   вс
+   воск
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   пн
+
+   вт
+
+   ср
+
+   чт
+
+   пт
+
+   сб
+
+   вс
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   г
+   гд
+   год
+   лет
+   лет
+   года
+
+   мес
+   месяц
+   месяцев
+
+   неделя
+   недель
+   недели
+   неделю
+
+   д
+   день
+   дней
+   дня
+
+   ч
+   ч.
+   чс
+   чсв
+   час
+   часов
+   часа
+
+   мн
+   мин
+   минута
+   минут
+
+   с
+   сек
+   секунда
+   секунд
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   ДП
+   дп
+   Д.П.
+   ночи
+   утра
+   до полудня
+
+   ПП
+   пп
+   П.П.
+   дня
+   вечера
+   после полудня
+   по полудню
+   пополудню
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   каждый
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   следующий
+
+
+Previous occurrence:
+
+   предыдущий
+
+
+Last occurrence:
+
+   последний
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   назад на 
+
+   вперед на
+   позже
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   точно
+   примерно
+
+
+The following words may be used to specify a business delta:
+
+   рабочих
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1
+   первый
+   первого
+   первое
+   один
+
+   2
+   второй
+   второго
+   второе
+   два
+
+   3
+   третий
+   третьего
+   третье
+   три
+
+   4
+   четвертый
+   четвертого
+   четвертое
+   четыре
+
+   5
+   пятый
+   пятого
+   пятое
+   пять
+
+   6
+   шестой
+   шестого
+   шестое
+   шесть
+
+   7
+   седьмой
+   седьмого
+   седьмое
+   семь
+
+   8
+   восьмой
+   восьмого
+   восьмое
+   восемь
+
+   9
+   девятый
+   девятого
+   девятое
+   девять
+
+   10
+   десятый
+   десятого
+   десятое
+   десять
+
+
+   11
+   одиннадцатый
+   одиннадцатого
+   одиннадцатое
+   одиннадцать
+
+   12
+   двенадчатый
+   двенадцатого
+   двенадцатое
+   дванадцать
+
+   13
+   тренадцатый
+   тренадцатого
+   тренадцатое
+   тринадцать
+
+   14
+   четырнадцатый
+   четырнадцатого
+   четырнадцатое
+   четырнадцать
+
+   15
+   пятнадцатый
+   пятнадцатого
+   пятнадцатое
+   пятнадцать
+
+   16
+   шестнадцатый
+   шестнадцатого
+   шестнадцатое
+   шестнадцать
+
+   17
+   семьнадцатый
+   семьнадцатого
+   семьнадцатое
+   семнадцать
+
+   18
+   восемьнадцатый
+   восемьнадцатого
+   восемьнадцатое
+   восемнадцать
+
+   19
+   девятнадцатый
+   девятнадцатого
+   девятнадцатое
+   девятнадцать
+
+   20
+   двадцатый
+   двадцатого
+   двадцатое
+   двадцать
+
+
+   21
+   двадцать первый
+   двадцать первого
+   двадцать первое
+   двадцать один
+
+   22
+   двадцать второй
+   двадцать второе
+   двадцать второе
+   двадцать два
+
+   23
+   двадцать третий
+   двадцать третьего
+   двадцать третье
+   двадцать три
+
+   24
+   двадцать четвертый
+   двадцать четвертого
+   двадцать четвертое
+   двадцать четыре
+
+   25
+   двадцать пятый
+   двадцать пятого
+   двадцать пятое
+   двадцать пять
+
+   26
+   двадцать шестой
+   двадцать шестого
+   двадцать шестое
+   двадцать шесть
+
+   27
+   двадцать седьмой
+   двадцать седьмого
+   двадцать седьмое
+   двадцать семь
+
+   28
+   двадцать восьмой
+   двадцать восьмого
+   двадцать восьмое
+   двадцать восемь
+
+   29
+   двадцать девятый
+   двадцать девятого
+   двадцать девятое
+   двадцать девять
+
+   30
+   тридцатый
+   тридцатого
+   тридцатое
+   тридцать
+
+
+   31
+   тридцать первый
+   тридцать первого
+   тридцать первое
+   тридцать один
+
+   32
+   тридцать второй
+   тридцать второе
+   тридцать второе
+   тридцать два
+
+   33
+   тридцать третий
+   тридцать третьего
+   тридцать третье
+   тридцать три
+
+   34
+   тридцать четвертый
+   тридцать четвертого
+   тридцать четвертое
+   тридцать четыре
+
+   35
+   тридцать пятый
+   тридцать пятого
+   тридцать пятое
+   тридцать пять
+
+   36
+   тридцать шестой
+   тридцать шестого
+   тридцать шестое
+   тридцать шесть
+
+   37
+   тридцать седьмой
+   тридцать седьмого
+   тридцать седьмое
+   тридцать семь
+
+   38
+   тридцать восьмой
+   тридцать восьмого
+   тридцать восьмое
+   тридцать восемь
+
+   39
+   тридцать девятый
+   тридцать девятого
+   тридцать девятое
+   тридцать девять
+
+   40
+   сороковой
+   сорок
+
+
+   41
+   сорок первый
+   сорок первого
+   сорок первое
+   сорок один
+
+   42
+   сорок второй
+   сорок второе
+   сорок второе
+   сорок два
+
+   43
+   сорок третий
+   сорок третьего
+   сорок третье
+   сорок три
+
+   44
+   сорок четвертый
+   сорок четвертого
+   сорок четвертое
+   сорок четыре
+
+   45
+   сорок пятый
+   сорок пятого
+   сорок пятое
+   сорок пять
+
+   46
+   сорок шестой
+   сорок шестого
+   сорок шестое
+   сорок шесть
+
+   47
+   сорок седьмой
+   сорок седьмого
+   сорок седьмое
+   сорок семь
+
+   48
+   сорок восьмой
+   сорок восьмого
+   сорок восьмое
+   сорок восемь
+
+   49
+   сорок девятый
+   сорок девятого
+   сорок девятое
+   сорок девять
+
+   50
+   пятидесятый
+   пятидесятого
+   пятидесятое
+   пятьдесят
+
+
+   51
+   пятьдесят первый
+   пятьдесят первого
+   пятьдесят первое
+   пятьдесят один
+
+   52
+   пятьдесят второй
+   пятьдесят второе
+   пятьдесят второе
+   пятьдесят два
+
+   53
+   пятьдесят третий
+   пятьдесят третьего
+   пятьдесят третье
+   пятьдесят три
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   в
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   Not defined in this language
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   в
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   вчера                -0:0:0:1:0:0:0
+   завтра               +0:0:0:1:0:0:0
+   позавчера            -0:0:0:2:0:0:0
+   послезавтра          +0:0:0:2:0:0:0
+   сегодня              0:0:0:0:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   полдень              12:00:00
+   полночь              00:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   сейчас               0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   ч  м
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+с
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/spanish.pm b/lib/Date/Manip/Lang/spanish.pm
new file mode 100644
index 0000000..dd0e567
--- /dev/null
+++ b/lib/Date/Manip/Lang/spanish.pm
@@ -0,0 +1,485 @@
+package Date::Manip::Lang::spanish;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Spanish";
+$YearAdded = 1998;
+
+$Language = {
+  ampm => [['AM', 'A.M.'], ['PM', 'P.M.']],
+  at => ['a'],
+  day_abb => [['Lun'], ['Mar'], ['Mié', 'Mie'], ['Jue'], ['Vie'], ['Sáb', 'Sab'], ['Dom']],
+  day_char => [['L'], ['Ma'], ['Mi'], ['J'], ['V'], ['S'], ['D']],
+  day_name => [
+    ['Lunes'],
+    ['Martes'],
+    ['Miércoles', 'Miercoles'],
+    ['Jueves'],
+    ['Viernes'],
+    ['Sábado', 'Sabado'],
+    ['Domingo'],
+  ],
+  each => ['cada'],
+  fields => [
+    ['anos', 'a', 'ano', 'ano', 'anos', 'años', 'año'],
+    ['meses', 'm', 'mes'],
+    ['semanas', 'sem', 'semana'],
+    ['dias', 'd', 'dia', 'días'],
+    ['horas', 'hr', 'hrs', 'hora'],
+    ['minutos', 'min', 'min', 'minuto'],
+    ['segundos', 's', 'seg', 'segundo'],
+  ],
+  last => ['ultimo', 'último'],
+  mode => [['exactamente', 'aproximadamente'], ['laborales']],
+  month_abb => [
+    ['Ene'],
+    ['Feb'],
+    ['Mar'],
+    ['Abr'],
+    ['May'],
+    ['Jun'],
+    ['Jul'],
+    ['Ago'],
+    ['Sep'],
+    ['Oct'],
+    ['Nov'],
+    ['Dic'],
+  ],
+  month_name => [
+    ['Enero'],
+    ['Febrero'],
+    ['Marzo'],
+    ['Abril'],
+    ['Mayo'],
+    ['Junio'],
+    ['Julio'],
+    ['Agosto'],
+    ['Septiembre'],
+    ['Octubre'],
+    ['Noviembre'],
+    ['Diciembre'],
+  ],
+  nextprev => [['siguiente'], ['anterior']],
+  nth => [
+    ['1o', '1a', 'uno', 'una', 'primero', 'primera'],
+    ['2o', '2a', 'dos', 'segundo', 'segunda'],
+    ['3o', '3a', 'tres', 'tercero', 'tercera'],
+    ['4o', '4a', 'cuatro', 'cuarto', 'cuarta'],
+    ['5o', '5a', 'cinco', 'quinto', 'quinta'],
+    ['6o', '6a', 'seis', 'sexto', 'sexta'],
+    ['7o', '7a', 'siete', 'séptimo', 'séptima', 'septimo', 'septima'],
+    ['8o', '8a', 'ocho', 'octavo', 'octava'],
+    ['9o', '9a', 'nueve', 'noveno', 'novena'],
+    ['10o', '10a', 'diez', 'décimo', 'décima', 'decimo', 'decima'],
+    [
+      '11o',
+      '11a',
+      'once',
+      'undécimo',
+      'undecimo',
+      'décimo primero',
+      'décimo primera',
+      'decimo primero',
+      'decimo primera',
+    ],
+    [
+      '12o',
+      '12a',
+      'doce',
+      'décimo segundo',
+      'décimo segunda',
+      'decimo segundo',
+      'decimo segunda',
+    ],
+    [
+      '13o',
+      '13a',
+      'trece',
+      'décimo tercero',
+      'décimo tercera',
+      'decimo tercero',
+      'decimo tercera',
+    ],
+    [
+      '14o',
+      '14a',
+      'catorce',
+      'décimo cuarto',
+      'décimo cuarta',
+      'decimo cuarto',
+      'decimo cuarta',
+    ],
+    [
+      '15o',
+      '15a',
+      'quince',
+      'décimo quinto',
+      'décimo quinta',
+      'decimo quinto',
+      'decimo quinta',
+    ],
+    [
+      '16o',
+      '16a',
+      'dieciséis',
+      'dieciseis',
+      'décimo sexto',
+      'décimo sexta',
+      'decimo sexto',
+      'decimo sexta',
+    ],
+    [
+      '17o',
+      '17a',
+      'diecisiete',
+      'décimo séptimo',
+      'décimo séptima',
+      'decimo septimo',
+      'decimo septima',
+    ],
+    [
+      '18o',
+      '18a',
+      'dieciocho',
+      'décimo octavo',
+      'décimo octava',
+      'decimo octavo',
+      'decimo octava',
+    ],
+    [
+      '19o',
+      '19a',
+      'diecinueve',
+      'décimo noveno',
+      'décimo novena',
+      'decimo noveno',
+      'decimo novena',
+    ],
+    ['20o', '20a', 'veinte', 'vigesimo', 'vigesima', 'vigésimo', 'vigésima'],
+    [
+      '21o',
+      '21a',
+      'veintiuno',
+      'veintiuna',
+      'veintiun',
+      'vigésimo primero',
+      'vigésimo primera',
+      'vigesimo primero',
+      'vigesimo primera',
+    ],
+    [
+      '22o',
+      '22a',
+      'veintidós',
+      'veintidos',
+      'vigésimo segundo',
+      'vigésimo segunda',
+      'vigesimo segundo',
+      'vigesimo segunda',
+    ],
+    [
+      '23o',
+      '23a',
+      'veintitrés',
+      'veintitres',
+      'vigésimo tercero',
+      'vigésimo tercera',
+      'vigesimo tercero',
+      'vigesimo tercera',
+    ],
+    [
+      '24o',
+      '24a',
+      'veinticuatro',
+      'vigésimo cuarto',
+      'vigésimo cuarta',
+      'vigesimo cuarto',
+      'vigesimo cuarta',
+    ],
+    [
+      '25o',
+      '25a',
+      'veinticinco',
+      'vigésimo quinto',
+      'vigésimo quinta',
+      'vigesimo quinto',
+      'vigesimo quinta',
+    ],
+    [
+      '26o',
+      '26a',
+      'veintiséis',
+      'veintiseis',
+      'vigésimo sexto',
+      'vigésimo sexta',
+      'vigesimo sexto',
+      'vigesimo sexta',
+    ],
+    [
+      '27o',
+      '27a',
+      'veintisiete',
+      'vigésimo séptimo',
+      'vigésimo séptima',
+      'vigesimo septimo',
+      'vigesimo septima',
+    ],
+    [
+      '28o',
+      '28a',
+      'veintiocho',
+      'vigésimo octavo',
+      'vigésimo octava',
+      'vigesimo octavo',
+      'vigesimo octava',
+    ],
+    [
+      '29o',
+      '29a',
+      'veintinueve',
+      'vigésimo noveno',
+      'vigésimo novena',
+      'vigesimo noveno',
+      'vigesimo novena',
+    ],
+    ['30o', '30a', 'treinta', 'trigésimo', 'trigésima', 'trigesimo', 'trigesima'],
+    [
+      '31o',
+      '31a',
+      'treinta y uno',
+      'treinta y una',
+      'trigésimo primero',
+      'trigésimo primera',
+      'trigesimo primero',
+      'trigesimo primera',
+    ],
+    [
+      '32o',
+      '32a',
+      'treinta y dos',
+      'trigésimo segundo',
+      'trigesimo segundo',
+      'trigésimo segunda',
+      'trigesimo segunda',
+    ],
+    [
+      '33o',
+      '33a',
+      'treinta y tres',
+      'trigésimo tercero',
+      'trigesimo tercero',
+      'trigésimo tercera',
+      'trigesimo tercera',
+    ],
+    [
+      '34o',
+      '34a',
+      'treinta y cuatro',
+      'trigésimo cuarto',
+      'trigesimo cuarto',
+      'trigésimo cuarta',
+      'trigesimo cuarta',
+    ],
+    [
+      '35o',
+      '35a',
+      'treinta y cinco',
+      'trigésimo quinto',
+      'trigesimo quinto',
+      'trigésimo quinta',
+      'trigesimo quinta',
+    ],
+    [
+      '36o',
+      '36a',
+      'treinta y seis',
+      'trigésimo sexto',
+      'trigesimo sexto',
+      'trigésimo sexta',
+      'trigesimo sexta',
+    ],
+    [
+      '37o',
+      '37a',
+      'treinta y siete',
+      'trigésimo séptimo',
+      'trigesimo septimo',
+      'trigésimo séptima',
+      'trigesimo septima',
+    ],
+    [
+      '38o',
+      '38a',
+      'treinta y ocho',
+      'trigésimo octavo',
+      'trigesimo octavo',
+      'trigésimo octava',
+      'trigesimo octava',
+    ],
+    [
+      '39o',
+      '39a',
+      'treinta y nueve',
+      'trigésimo noveno',
+      'trigesimo noveno',
+      'trigésimo novena',
+      'trigesimo novena',
+    ],
+    [
+      '40o',
+      '40a',
+      'cuarenta',
+      'cuadragésimo',
+      'cuadragesimo',
+      'cuadragésima',
+      'cuadragesima',
+    ],
+    [
+      '41o',
+      '41a',
+      'cuarenta y uno',
+      'cuarenta y una',
+      'cuadragésimo primero',
+      'cuadragésimo primera',
+      'cuadragesimo primero',
+      'cuadragesimo primera',
+    ],
+    [
+      '42o',
+      '42a',
+      'cuarenta y dos',
+      'cuadragésimo segundo',
+      'cuadragesimo segundo',
+      'cuadragésimo segunda',
+      'cuadragesimo segunda',
+    ],
+    [
+      '43o',
+      '43a',
+      'cuarenta y tres',
+      'cuadragésimo tercero',
+      'cuadragesimo tercero',
+      'cuadragésimo tercera',
+      'cuadragesimo tercera',
+    ],
+    [
+      '44o',
+      '44a',
+      'cuarenta y cuatro',
+      'cuadragésimo cuarto',
+      'cuadragesimo cuarto',
+      'cuadragésimo cuarta',
+      'cuadragesimo cuarta',
+    ],
+    [
+      '45o',
+      '45a',
+      'cuarenta y cinco',
+      'cuadragésimo quinto',
+      'cuadragesimo quinto',
+      'cuadragésimo quinta',
+      'cuadragesimo quinta',
+    ],
+    [
+      '46o',
+      '46a',
+      'cuarenta y seis',
+      'cuadragésimo sexto',
+      'cuadragesimo sexto',
+      'cuadragésimo sexta',
+      'cuadragesimo sexta',
+    ],
+    [
+      '47o',
+      '47a',
+      'cuarenta y siete',
+      'cuadragésimo séptimo',
+      'cuadragesimo septimo',
+      'cuadragésimo séptima',
+      'cuadragesimo septima',
+    ],
+    [
+      '48o',
+      '48a',
+      'cuarenta y ocho',
+      'cuadragésimo octavo',
+      'cuadragesimo octavo',
+      'cuadragésimo octava',
+      'cuadragesimo octava',
+    ],
+    [
+      '49o',
+      '49a',
+      'cuarenta y nueve',
+      'cuadragésimo noveno',
+      'cuadragesimo noveno',
+      'cuadragésimo novena',
+      'cuadragesimo novena',
+    ],
+    [
+      '50o',
+      '50a',
+      'cincuenta',
+      'quincuagésimo',
+      'quincuagésima',
+      'quincuagesimo',
+      'quincuagesima',
+    ],
+    [
+      '51o',
+      '51a',
+      'cincuenta y uno',
+      'cincuenta y una',
+      'quincuagésimo primero',
+      'quincuagésimo primera',
+      'quincuagesimo primero',
+      'quincuagesimo primera',
+    ],
+    [
+      '52o',
+      '52a',
+      'cincuenta y dos',
+      'quincuagésimo segundo',
+      'quincuagesimo segundo',
+      'quincuagésimo segunda',
+      'quincuagesimo segunda',
+    ],
+    [
+      '53o',
+      '53a',
+      'cincuenta y tres',
+      'quincuagésimo tercero',
+      'quincuagesimo tercero',
+      'quincuagésimo tercera',
+      'quincuagesimo tercera',
+    ],
+  ],
+  of => ['en', 'de'],
+  offset_date => {
+    ayer => '-0:0:0:1:0:0:0',
+    Hoy => '0:0:0:0:0:0:0',
+    'mañana' => '+0:0:0:1:0:0:0',
+    manana => '+0:0:0:1:0:0:0',
+  },
+  offset_time => { Ahora => '0:0:0:0:0:0:0' },
+  on => ['el'],
+  times => { medianoche => '00:00:00', mediodia => '12:00:00' },
+  when => [['hace'], ['en', 'later']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/spanish.pod b/lib/Date/Manip/Lang/spanish.pod
new file mode 100644
index 0000000..622baf3
--- /dev/null
+++ b/lib/Date/Manip/Lang/spanish.pod
@@ -0,0 +1,859 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::spanish - Spanish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Enero
+
+   Febrero
+
+   Marzo
+
+   Abril
+
+   Mayo
+
+   Junio
+
+   Julio
+
+   Agosto
+
+   Septiembre
+
+   Octubre
+
+   Noviembre
+
+   Diciembre
+
+
+The following abbreviations may be used:
+
+   Ene
+
+   Feb
+
+   Mar
+
+   Abr
+
+   May
+
+   Jun
+
+   Jul
+
+   Ago
+
+   Sep
+
+   Oct
+
+   Nov
+
+   Dic
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Lunes
+
+   Martes
+
+   Miércoles
+   Miercoles
+
+   Jueves
+
+   Viernes
+
+   Sábado
+   Sabado
+
+   Domingo
+
+
+The following abbreviations may be used:
+
+   Lun
+
+   Mar
+
+   Mié
+   Mie
+
+   Jue
+
+   Vie
+
+   Sáb
+   Sab
+
+   Dom
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   L
+
+   Ma
+
+   Mi
+
+   J
+
+   V
+
+   S
+
+   D
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   anos
+   a
+   ano
+   ano
+   anos
+   años
+   año
+
+   meses
+   m
+   mes
+
+   semanas
+   sem
+   semana
+
+   dias
+   d
+   dia
+   días
+
+   horas
+   hr
+   hrs
+   hora
+
+   minutos
+   min
+   min
+   minuto
+
+   segundos
+   s
+   seg
+   segundo
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   AM
+   A.M.
+
+   PM
+   P.M.
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   cada
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   siguiente
+
+
+Previous occurrence:
+
+   anterior
+
+
+Last occurrence:
+
+   ultimo
+   último
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   hace
+
+   en
+   later
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exactamente
+   aproximadamente
+
+
+The following words may be used to specify a business delta:
+
+   laborales
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1o
+   1a
+   uno
+   una
+   primero
+   primera
+
+   2o
+   2a
+   dos
+   segundo
+   segunda
+
+   3o
+   3a
+   tres
+   tercero
+   tercera
+
+   4o
+   4a
+   cuatro
+   cuarto
+   cuarta
+
+   5o
+   5a
+   cinco
+   quinto
+   quinta
+
+   6o
+   6a
+   seis
+   sexto
+   sexta
+
+   7o
+   7a
+   siete
+   séptimo
+   séptima
+   septimo
+   septima
+
+   8o
+   8a
+   ocho
+   octavo
+   octava
+
+   9o
+   9a
+   nueve
+   noveno
+   novena
+
+   10o
+   10a
+   diez
+   décimo
+   décima
+   decimo
+   decima
+
+
+   11o
+   11a
+   once
+   undécimo
+   undecimo
+   décimo primero
+   décimo primera
+   decimo primero
+   decimo primera
+
+   12o
+   12a
+   doce
+   décimo segundo
+   décimo segunda
+   decimo segundo
+   decimo segunda
+
+   13o
+   13a
+   trece
+   décimo tercero
+   décimo tercera
+   decimo tercero
+   decimo tercera
+
+   14o
+   14a
+   catorce
+   décimo cuarto
+   décimo cuarta
+   decimo cuarto
+   decimo cuarta
+
+   15o
+   15a
+   quince
+   décimo quinto
+   décimo quinta
+   decimo quinto
+   decimo quinta
+
+   16o
+   16a
+   dieciséis
+   dieciseis
+   décimo sexto
+   décimo sexta
+   decimo sexto
+   decimo sexta
+
+   17o
+   17a
+   diecisiete
+   décimo séptimo
+   décimo séptima
+   decimo septimo
+   decimo septima
+
+   18o
+   18a
+   dieciocho
+   décimo octavo
+   décimo octava
+   decimo octavo
+   decimo octava
+
+   19o
+   19a
+   diecinueve
+   décimo noveno
+   décimo novena
+   decimo noveno
+   decimo novena
+
+   20o
+   20a
+   veinte
+   vigesimo
+   vigesima
+   vigésimo
+   vigésima
+
+
+   21o
+   21a
+   veintiuno
+   veintiuna
+   veintiun
+   vigésimo primero
+   vigésimo primera
+   vigesimo primero
+   vigesimo primera
+
+   22o
+   22a
+   veintidós
+   veintidos
+   vigésimo segundo
+   vigésimo segunda
+   vigesimo segundo
+   vigesimo segunda
+
+   23o
+   23a
+   veintitrés
+   veintitres
+   vigésimo tercero
+   vigésimo tercera
+   vigesimo tercero
+   vigesimo tercera
+
+   24o
+   24a
+   veinticuatro
+   vigésimo cuarto
+   vigésimo cuarta
+   vigesimo cuarto
+   vigesimo cuarta
+
+   25o
+   25a
+   veinticinco
+   vigésimo quinto
+   vigésimo quinta
+   vigesimo quinto
+   vigesimo quinta
+
+   26o
+   26a
+   veintiséis
+   veintiseis
+   vigésimo sexto
+   vigésimo sexta
+   vigesimo sexto
+   vigesimo sexta
+
+   27o
+   27a
+   veintisiete
+   vigésimo séptimo
+   vigésimo séptima
+   vigesimo septimo
+   vigesimo septima
+
+   28o
+   28a
+   veintiocho
+   vigésimo octavo
+   vigésimo octava
+   vigesimo octavo
+   vigesimo octava
+
+   29o
+   29a
+   veintinueve
+   vigésimo noveno
+   vigésimo novena
+   vigesimo noveno
+   vigesimo novena
+
+   30o
+   30a
+   treinta
+   trigésimo
+   trigésima
+   trigesimo
+   trigesima
+
+
+   31o
+   31a
+   treinta y uno
+   treinta y una
+   trigésimo primero
+   trigésimo primera
+   trigesimo primero
+   trigesimo primera
+
+   32o
+   32a
+   treinta y dos
+   trigésimo segundo
+   trigesimo segundo
+   trigésimo segunda
+   trigesimo segunda
+
+   33o
+   33a
+   treinta y tres
+   trigésimo tercero
+   trigesimo tercero
+   trigésimo tercera
+   trigesimo tercera
+
+   34o
+   34a
+   treinta y cuatro
+   trigésimo cuarto
+   trigesimo cuarto
+   trigésimo cuarta
+   trigesimo cuarta
+
+   35o
+   35a
+   treinta y cinco
+   trigésimo quinto
+   trigesimo quinto
+   trigésimo quinta
+   trigesimo quinta
+
+   36o
+   36a
+   treinta y seis
+   trigésimo sexto
+   trigesimo sexto
+   trigésimo sexta
+   trigesimo sexta
+
+   37o
+   37a
+   treinta y siete
+   trigésimo séptimo
+   trigesimo septimo
+   trigésimo séptima
+   trigesimo septima
+
+   38o
+   38a
+   treinta y ocho
+   trigésimo octavo
+   trigesimo octavo
+   trigésimo octava
+   trigesimo octava
+
+   39o
+   39a
+   treinta y nueve
+   trigésimo noveno
+   trigesimo noveno
+   trigésimo novena
+   trigesimo novena
+
+   40o
+   40a
+   cuarenta
+   cuadragésimo
+   cuadragesimo
+   cuadragésima
+   cuadragesima
+
+
+   41o
+   41a
+   cuarenta y uno
+   cuarenta y una
+   cuadragésimo primero
+   cuadragésimo primera
+   cuadragesimo primero
+   cuadragesimo primera
+
+   42o
+   42a
+   cuarenta y dos
+   cuadragésimo segundo
+   cuadragesimo segundo
+   cuadragésimo segunda
+   cuadragesimo segunda
+
+   43o
+   43a
+   cuarenta y tres
+   cuadragésimo tercero
+   cuadragesimo tercero
+   cuadragésimo tercera
+   cuadragesimo tercera
+
+   44o
+   44a
+   cuarenta y cuatro
+   cuadragésimo cuarto
+   cuadragesimo cuarto
+   cuadragésimo cuarta
+   cuadragesimo cuarta
+
+   45o
+   45a
+   cuarenta y cinco
+   cuadragésimo quinto
+   cuadragesimo quinto
+   cuadragésimo quinta
+   cuadragesimo quinta
+
+   46o
+   46a
+   cuarenta y seis
+   cuadragésimo sexto
+   cuadragesimo sexto
+   cuadragésimo sexta
+   cuadragesimo sexta
+
+   47o
+   47a
+   cuarenta y siete
+   cuadragésimo séptimo
+   cuadragesimo septimo
+   cuadragésimo séptima
+   cuadragesimo septima
+
+   48o
+   48a
+   cuarenta y ocho
+   cuadragésimo octavo
+   cuadragesimo octavo
+   cuadragésimo octava
+   cuadragesimo octava
+
+   49o
+   49a
+   cuarenta y nueve
+   cuadragésimo noveno
+   cuadragesimo noveno
+   cuadragésimo novena
+   cuadragesimo novena
+
+   50o
+   50a
+   cincuenta
+   quincuagésimo
+   quincuagésima
+   quincuagesimo
+   quincuagesima
+
+
+   51o
+   51a
+   cincuenta y uno
+   cincuenta y una
+   quincuagésimo primero
+   quincuagésimo primera
+   quincuagesimo primero
+   quincuagesimo primera
+
+   52o
+   52a
+   cincuenta y dos
+   quincuagésimo segundo
+   quincuagesimo segundo
+   quincuagésimo segunda
+   quincuagesimo segunda
+
+   53o
+   53a
+   cincuenta y tres
+   quincuagésimo tercero
+   quincuagesimo tercero
+   quincuagésimo tercera
+   quincuagesimo tercera
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   a
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   en
+   de
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   el
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   Hoy                  0:0:0:0:0:0:0
+   ayer                 -0:0:0:1:0:0:0
+   manana               +0:0:0:1:0:0:0
+   mañana               +0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   medianoche           00:00:00
+   mediodia             12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   Ahora                0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/swedish.pm b/lib/Date/Manip/Lang/swedish.pm
new file mode 100644
index 0000000..fd04a39
--- /dev/null
+++ b/lib/Date/Manip/Lang/swedish.pm
@@ -0,0 +1,164 @@
+package Date::Manip::Lang::swedish;
+# Copyright (c) 1996-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 ISO-8859-15 perl);
+$LangName  = "Swedish";
+$YearAdded = 1996;
+
+$Language = {
+  ampm => [['FM'], ['EM']],
+  at => ['kl', 'kl.', 'klockan'],
+  day_abb => [
+    ['Mån', 'Man'],
+    ['Tis'],
+    ['Ons'],
+    ['Tor'],
+    ['Fre'],
+    ['Lör', 'Lor'],
+    ['Sön', 'Son'],
+  ],
+  day_char => [['M'], ['Ti'], ['O'], ['To'], ['F'], ['L'], ['S']],
+  day_name => [
+    ['Måndag', 'Mandag'],
+    ['Tisdag'],
+    ['Onsdag'],
+    ['Torsdag'],
+    ['Fredag'],
+    ['Lördag', 'Lordag'],
+    ['Söndag', 'Sondag'],
+  ],
+  each => ['varje'],
+  fields => [
+    ['ar', 'år'],
+    ['manader', 'månader', 'man', 'manad', 'mån', 'månad'],
+    ['veckor', 'v', 'vecka'],
+    ['dagar', 'd', 'dag'],
+    ['timmar', 't', 'tim', 'timme'],
+    ['minuter', 'm', 'min', 'minut'],
+    ['sekunder', 's', 'sek', 'sekund'],
+  ],
+  last => ['forra', 'förra', 'senaste'],
+  mode => [['exakt', 'ungefar', 'ungefär'], ['arbetsdag', 'arbetsdagar']],
+  month_abb => [
+    ['Jan'],
+    ['Feb'],
+    ['Mar'],
+    ['Apr'],
+    ['Maj'],
+    ['Jun'],
+    ['Jul'],
+    ['Aug'],
+    ['Sep'],
+    ['Okt'],
+    ['Nov'],
+    ['Dec'],
+  ],
+  month_name => [
+    ['Januari'],
+    ['Februari'],
+    ['Mars'],
+    ['April'],
+    ['Maj'],
+    ['Juni'],
+    ['Juli'],
+    ['Augusti'],
+    ['September'],
+    ['Oktober'],
+    ['November'],
+    ['December'],
+  ],
+  nextprev => [['nasta', 'nästa'], ['forra', 'förra']],
+  nth => [
+    ['1:a', 'en', 'ett', 'forsta', 'första'],
+    ['2:a', 'två', 'tva', 'andra'],
+    ['3:e', 'tre', 'tredje'],
+    ['4:e', 'fyra', 'fjarde', 'fjärde'],
+    ['5:e', 'fem', 'femte'],
+    ['6:e', 'sex', 'sjatte', 'sjätte'],
+    ['7:e', 'sju', 'sjunde'],
+    ['8:e', 'åtta', 'atta', 'attonde', 'åttonde'],
+    ['9:e', 'nio', 'nionde'],
+    ['10:e', 'tio', 'tionde'],
+    ['11:e', 'elva', 'elfte'],
+    ['12:e', 'tolv', 'tolfte'],
+    ['13:e', 'tretton', 'trettonde'],
+    ['14:e', 'fjorton', 'fjortonde'],
+    ['15:e', 'femton', 'femtonde'],
+    ['16:e', 'sexton', 'sextonde'],
+    ['17:e', 'sjutton', 'sjuttonde'],
+    ['18:e', 'arton', 'artonde'],
+    ['19:e', 'nitton', 'nittonde'],
+    ['20:e', 'tjugo', 'tjugonde'],
+    ['21:a', 'tjugoen', 'tjugoett', 'tjugoforsta', 'tjugoförsta'],
+    ['22:a', 'tjugotvå', 'tjugotva', 'tjugoandra'],
+    ['23:e', 'tjugotre', 'tjugotredje'],
+    ['24:e', 'tjugofyra', 'tjugofjarde', 'tjugofjärde'],
+    ['25:e', 'tjugofem', 'tjugofemte'],
+    ['26:e', 'tjugosex', 'tjugosjatte', 'tjugosjätte'],
+    ['27:e', 'tjugosju', 'tjugosjunde'],
+    ['28:e', 'tjugoåtta', 'tjugoatta', 'tjugoattonde', 'tjugoåttonde'],
+    ['29:e', 'tjugonio', 'tjugonionde'],
+    ['30:e', 'trettio', 'trettionde'],
+    ['31:a', 'trettioen', 'trettioett', 'trettioforsta', 'trettioförsta'],
+    ['32:a', 'trettiotvå', 'trettiotva', 'trettioandra'],
+    ['33:e', 'trettiotre', 'trettiotredje'],
+    ['34:e', 'trettiofyra', 'trettiofjarde', 'trettiofjärde'],
+    ['35:e', 'trettiofem', 'trettiofemte'],
+    ['36:e', 'trettiosex', 'trettiosjatte', 'trettiosjätte'],
+    ['37:e', 'trettiosju', 'trettiosjunde'],
+    ['38:e', 'trettioåtta', 'trettioatta', 'trettioattonde', 'trettioåttonde'],
+    ['39:e', 'trettionio', 'trettionionde'],
+    ['40:e', 'fyrtio', 'fyrtionde'],
+    ['41:a', 'fyrtioen', 'fyrtioett', 'fyrtioforsta', 'fyrtioförsta'],
+    ['42:a', 'fyrtiotvå', 'fyrtiotva', 'fyrtioandra'],
+    ['43:e', 'fyrtiotre', 'fyrtiotredje'],
+    ['44:e', 'fyrtiofyra', 'fyrtiofjarde', 'fyrtiofjärde'],
+    ['45:e', 'fyrtiofem', 'fyrtiofemte'],
+    ['46:e', 'fyrtiosex', 'fyrtiosjatte', 'fyrtiosjätte'],
+    ['47:e', 'fyrtiosju', 'fyrtiosjunde'],
+    ['48:e', 'fyrtioåtta', 'fyrtioatta', 'fyrtioattonde', 'fyrtioåttonde'],
+    ['49:e', 'fyrtionio', 'fyrtionionde'],
+    ['50:e', 'femtio', 'femtionde'],
+    ['51:a', 'femtioen', 'femtioett', 'femtioforsta', 'femtioförsta'],
+    ['52:a', 'femtiotvå', 'femtiotva', 'femtioandra'],
+    ['53:e', 'femtiotre', 'femtiotredje'],
+  ],
+  of => ['om'],
+  offset_date => {
+    'idag'    => '0:0:0:0:0:0:0',
+    'igar'    => '-0:0:0:1:0:0:0',
+    'igår'    => '-0:0:0:1:0:0:0',
+    'imorgon' => '+0:0:0:1:0:0:0',
+    'i dag'    => '0:0:0:0:0:0:0',
+    'i gar'    => '-0:0:0:1:0:0:0',
+    'i går'    => '-0:0:0:1:0:0:0',
+    'i morgon' => '+0:0:0:1:0:0:0',
+  },
+  offset_time => { nu => '0:0:0:0:0:0:0' },
+  on => ['pa', 'på'],
+  sephm => ['\.'],
+  sepms => [':'],
+  times => {
+    'midnatt'       => '00:00:00',
+    'mitt pa dagen' => '12:00:00',
+    'mitt på dagen' => '12:00:00',
+  },
+  when => [['sedan'], ['om', 'senare']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/swedish.pod b/lib/Date/Manip/Lang/swedish.pod
new file mode 100644
index 0000000..4a4e945
--- /dev/null
+++ b/lib/Date/Manip/Lang/swedish.pod
@@ -0,0 +1,691 @@
+# Copyright (c) 1996-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::swedish - Swedish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   Januari
+
+   Februari
+
+   Mars
+
+   April
+
+   Maj
+
+   Juni
+
+   Juli
+
+   Augusti
+
+   September
+
+   Oktober
+
+   November
+
+   December
+
+
+The following abbreviations may be used:
+
+   Jan
+
+   Feb
+
+   Mar
+
+   Apr
+
+   Maj
+
+   Jun
+
+   Jul
+
+   Aug
+
+   Sep
+
+   Okt
+
+   Nov
+
+   Dec
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   Måndag
+   Mandag
+
+   Tisdag
+
+   Onsdag
+
+   Torsdag
+
+   Fredag
+
+   Lördag
+   Lordag
+
+   Söndag
+   Sondag
+
+
+The following abbreviations may be used:
+
+   Mån
+   Man
+
+   Tis
+
+   Ons
+
+   Tor
+
+   Fre
+
+   Lör
+   Lor
+
+   Sön
+   Son
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   M
+
+   Ti
+
+   O
+
+   To
+
+   F
+
+   L
+
+   S
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   ar
+   år
+
+   manader
+   månader
+   man
+   manad
+   mån
+   månad
+
+   veckor
+   v
+   vecka
+
+   dagar
+   d
+   dag
+
+   timmar
+   t
+   tim
+   timme
+
+   minuter
+   m
+   min
+   minut
+
+   sekunder
+   s
+   sek
+   sekund
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   FM
+
+   EM
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   varje
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   nasta
+   nästa
+
+
+Previous occurrence:
+
+   forra
+   förra
+
+
+Last occurrence:
+
+   forra
+   förra
+   senaste
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   sedan
+
+   om
+   senare
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   exakt
+   ungefar
+   ungefär
+
+
+The following words may be used to specify a business delta:
+
+   arbetsdag
+   arbetsdagar
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1:a
+   en
+   ett
+   forsta
+   första
+
+   2:a
+   två
+   tva
+   andra
+
+   3:e
+   tre
+   tredje
+
+   4:e
+   fyra
+   fjarde
+   fjärde
+
+   5:e
+   fem
+   femte
+
+   6:e
+   sex
+   sjatte
+   sjätte
+
+   7:e
+   sju
+   sjunde
+
+   8:e
+   åtta
+   atta
+   attonde
+   åttonde
+
+   9:e
+   nio
+   nionde
+
+   10:e
+   tio
+   tionde
+
+
+   11:e
+   elva
+   elfte
+
+   12:e
+   tolv
+   tolfte
+
+   13:e
+   tretton
+   trettonde
+
+   14:e
+   fjorton
+   fjortonde
+
+   15:e
+   femton
+   femtonde
+
+   16:e
+   sexton
+   sextonde
+
+   17:e
+   sjutton
+   sjuttonde
+
+   18:e
+   arton
+   artonde
+
+   19:e
+   nitton
+   nittonde
+
+   20:e
+   tjugo
+   tjugonde
+
+
+   21:a
+   tjugoen
+   tjugoett
+   tjugoforsta
+   tjugoförsta
+
+   22:a
+   tjugotvå
+   tjugotva
+   tjugoandra
+
+   23:e
+   tjugotre
+   tjugotredje
+
+   24:e
+   tjugofyra
+   tjugofjarde
+   tjugofjärde
+
+   25:e
+   tjugofem
+   tjugofemte
+
+   26:e
+   tjugosex
+   tjugosjatte
+   tjugosjätte
+
+   27:e
+   tjugosju
+   tjugosjunde
+
+   28:e
+   tjugoåtta
+   tjugoatta
+   tjugoattonde
+   tjugoåttonde
+
+   29:e
+   tjugonio
+   tjugonionde
+
+   30:e
+   trettio
+   trettionde
+
+
+   31:a
+   trettioen
+   trettioett
+   trettioforsta
+   trettioförsta
+
+   32:a
+   trettiotvå
+   trettiotva
+   trettioandra
+
+   33:e
+   trettiotre
+   trettiotredje
+
+   34:e
+   trettiofyra
+   trettiofjarde
+   trettiofjärde
+
+   35:e
+   trettiofem
+   trettiofemte
+
+   36:e
+   trettiosex
+   trettiosjatte
+   trettiosjätte
+
+   37:e
+   trettiosju
+   trettiosjunde
+
+   38:e
+   trettioåtta
+   trettioatta
+   trettioattonde
+   trettioåttonde
+
+   39:e
+   trettionio
+   trettionionde
+
+   40:e
+   fyrtio
+   fyrtionde
+
+
+   41:a
+   fyrtioen
+   fyrtioett
+   fyrtioforsta
+   fyrtioförsta
+
+   42:a
+   fyrtiotvå
+   fyrtiotva
+   fyrtioandra
+
+   43:e
+   fyrtiotre
+   fyrtiotredje
+
+   44:e
+   fyrtiofyra
+   fyrtiofjarde
+   fyrtiofjärde
+
+   45:e
+   fyrtiofem
+   fyrtiofemte
+
+   46:e
+   fyrtiosex
+   fyrtiosjatte
+   fyrtiosjätte
+
+   47:e
+   fyrtiosju
+   fyrtiosjunde
+
+   48:e
+   fyrtioåtta
+   fyrtioatta
+   fyrtioattonde
+   fyrtioåttonde
+
+   49:e
+   fyrtionio
+   fyrtionionde
+
+   50:e
+   femtio
+   femtionde
+
+
+   51:a
+   femtioen
+   femtioett
+   femtioforsta
+   femtioförsta
+
+   52:a
+   femtiotvå
+   femtiotva
+   femtioandra
+
+   53:e
+   femtiotre
+   femtiotredje
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   kl
+   kl.
+   klockan
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   om
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   pa
+   på
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   i dag                0:0:0:0:0:0:0
+   i gar                -0:0:0:1:0:0:0
+   i går                -0:0:0:1:0:0:0
+   i morgon             +0:0:0:1:0:0:0
+   idag                 0:0:0:0:0:0:0
+   igar                 -0:0:0:1:0:0:0
+   igår                 -0:0:0:1:0:0:0
+   imorgon              +0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   midnatt              00:00:00
+   mitt pa dagen        12:00:00
+   mitt på dagen        12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   nu                   0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   \.  :
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Lang/turkish.pm b/lib/Date/Manip/Lang/turkish.pm
new file mode 100644
index 0000000..2bac430
--- /dev/null
+++ b/lib/Date/Manip/Lang/turkish.pm
@@ -0,0 +1,155 @@
+package Date::Manip::Lang::turkish;
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+
+use strict;
+use warnings;
+use utf8;
+
+our($VERSION);
+$VERSION='6.60';
+
+our($Language,@Encodings,$LangName,$YearAdded);
+@Encodings = qw(utf-8 iso-8859-1 perl);
+$LangName  = "Turkish";
+$YearAdded = 2001;
+
+$Language = {
+  ampm => [['ögleden önce', 'ogleden once'], ['öğleden sonra', 'ogleden sonra']],
+  at => ['saat'],
+  day_abb => [['pzt'], ['sal'], ['çar', 'car'], ['per'], ['cum'], ['cts', 'cmt'], ['paz']],
+  day_char => [['Pt'], ['S'], ['Ç', 'Cr'], ['Pr'], ['C'], ['Ct'], ['P']],
+  day_name => [
+    ['pazartesi'],
+    ['salı', 'sali'],
+    ['çarşamba', 'carsamba', 'Çarşamba'],
+    ['perşembe', 'persembe'],
+    ['cuma'],
+    ['cumartesi'],
+    ['pazar'],
+  ],
+  each => ['her'],
+  fields => [
+    ['yil', 'y'],
+    ['ay', 'a'],
+    ['hafta', 'h'],
+    ['gun', 'g'],
+    ['saat', 's'],
+    ['dakika', 'dak', 'd'],
+    ['saniye', 'sn'],
+  ],
+  last => ['son', 'sonuncu'],
+  mode => [['tam', 'yaklasik', 'yaklaşık'], ['is', 'iş', 'çalışma', 'calisma']],
+  month_abb => [
+    ['oca'],
+    ['şub', 'sub'],
+    ['mar'],
+    ['nis'],
+    ['may'],
+    ['haz'],
+    ['tem'],
+    ['ağu', 'agu'],
+    ['eyl'],
+    ['eki'],
+    ['kas'],
+    ['ara'],
+  ],
+  month_name => [
+    ['ocak'],
+    ['şubat', 'subat'],
+    ['mart'],
+    ['nisan'],
+    ['mayıs', 'mayis'],
+    ['haziran'],
+    ['temmuz'],
+    ['ağustos', 'agustos'],
+    ['eylül', 'eylul'],
+    ['ekim'],
+    ['kasım', 'kasim'],
+    ['aralık', 'aralik'],
+  ],
+  nextprev => [['gelecek', 'sonraki'], ['onceki', 'önceki']],
+  nth => [
+    ['1.', 'bir', 'ilk', 'birinci'],
+    ['2.', 'iki', 'ikinci'],
+    ['3.', 'üç', 'uc', 'üçüncü', 'ucuncu'],
+    ['4.', 'dört', 'dort', 'dördüncü', 'dorduncu'],
+    ['5.', 'beş', 'bes', 'beşinci', 'besinci'],
+    ['6.', 'altı', 'alti', 'altıncı'],
+    ['7.', 'yedi', 'yedinci'],
+    ['8.', 'sekiz', 'sekizinci'],
+    ['9.', 'dokuz', 'dokuzuncu'],
+    ['10.', 'on', 'onuncu'],
+    ['11.', 'on bir', 'on birinci'],
+    ['12.', 'on iki', 'on ikinci'],
+    ['13.', 'on üç', 'on uc', 'on üçüncü', 'on ucuncu'],
+    ['14.', 'on dört', 'on dort', 'on dördüncü', 'on dorduncu'],
+    ['15.', 'on beş', 'on bes', 'on beşinci', 'on besinci'],
+    ['16.', 'on altı', 'on alti', 'on altıncı'],
+    ['17.', 'on yedi', 'on yedinci'],
+    ['18.', 'on sekiz', 'on sekizinci'],
+    ['19.', 'on dokuz', 'on dokuzuncu'],
+    ['20.', 'yirmi', 'yirminci'],
+    ['21.', 'yirmi bir', 'yirminci birinci'],
+    ['22.', 'yirmi iki', 'yirminci ikinci'],
+    ['23.', 'yirmi üç', 'yirmi uc', 'yirminci üçüncü', 'yirminci ucuncu'],
+    ['24.', 'yirmi dört', 'yirmi dort', 'yirminci dördüncü', 'yirminci dorduncu'],
+    ['25.', 'yirmi beş', 'yirmi bes', 'yirminci beşinci', 'yirminci besinci'],
+    ['26.', 'yirmi altı', 'yirmi alti', 'yirminci altıncı'],
+    ['27.', 'yirmi yedi', 'yirminci yedinci'],
+    ['28.', 'yirmi sekiz', 'yirminci sekizinci'],
+    ['29.', 'yirmi dokuz', 'yirminci dokuzuncu'],
+    ['30.', 'otuz', 'otuzuncu'],
+    ['31.', 'otuz bir', 'otuz birinci'],
+    ['32.', 'otuz iki', 'otuz ikinci'],
+    ['33.', 'otuz üç', 'otuz uc', 'otuz üçüncü', 'otuz ucuncu'],
+    ['34.', 'otuz dört', 'otuz dort', 'otuz dördüncü', 'otuz dorduncu'],
+    ['35.', 'otuz beş', 'otuz bes', 'otuz beşinci', 'otuz besinci'],
+    ['36.', 'otuz altı', 'otuz alti', 'otuz altıncı'],
+    ['37.', 'otuz yedi', 'otuz yedinci'],
+    ['38.', 'otuz sekiz', 'otuz sekizinci'],
+    ['39.', 'otuz dokuz', 'otuz dokuzuncu'],
+    ['40.', 'kırk', 'kirk', 'kırkıncı', 'kirkinci'],
+    ['41.', 'kırk bir', 'kirk bir', 'kırk birinci', 'kirk birinci'],
+    ['42.', 'kırk iki', 'kirk iki', 'kırk ikinci', 'kirk ikinci'],
+    ['43.', 'kırk üç', 'kirk uc', 'kırk üçüncü', 'kirk ucuncu'],
+    ['44.', 'kırk dört', 'kirk dort', 'kırk dördüncü', 'kirk dorduncu'],
+    ['45.', 'kırk beş', 'kirk bes', 'kırk beşinci', 'kirk besinci'],
+    ['46.', 'kırk altı', 'kirk alti', 'kırk altıncı', 'kirk altıncı'],
+    ['47.', 'kırk yedi', 'kirk yedi', 'kırk yedinci', 'kirk yedinci'],
+    ['48.', 'kırk sekiz', 'kirk sekiz', 'kırk sekizinci', 'kirk sekizinci'],
+    ['49.', 'kırk dokuz', 'kirk dokuz', 'kırk dokuzuncu', 'kirk dokuzuncu'],
+    ['50.', 'elli', 'ellinci'],
+    ['51.', 'elli bir', 'elli birinci'],
+    ['52.', 'elli iki', 'elli ikinci'],
+    ['53.', 'elli üç', 'elli uc', 'elli üçüncü', 'elli ucuncu'],
+  ],
+  of => ['of'],
+  offset_date => {
+    'bugun' => '0:0:0:0:0:0:0',
+    'bugün' => '0:0:0:0:0:0:0',
+    'dun'   => '-0:0:0:1:0:0:0',
+    'dün'   => '-0:0:0:1:0:0:0',
+    'yarin' => '+0:0:0:1:0:0:0',
+    'yarın' => '+0:0:0:1:0:0:0',
+  },
+  offset_time => { 'simdi' => '0:0:0:0:0:0:0', 'şimdi' => '0:0:0:0:0:0:0' },
+  on => ['on'],
+  times => {
+    'gece yarisi' => '00:00:00',
+    'gece yarısı' => '00:00:00',
+    'oglen'       => '12:00:00',
+    'yarim'       => '12:30:00',
+    'yarım'       => '12:30:00',
+    'öğlen'       => '12:00:00',
+  },
+  when => [['gecmis', 'geçmiş', 'gecen', 'geçen'], ['gelecek', 'sonra']],
+};
+
+1;
diff --git a/lib/Date/Manip/Lang/turkish.pod b/lib/Date/Manip/Lang/turkish.pod
new file mode 100644
index 0000000..8811c3e
--- /dev/null
+++ b/lib/Date/Manip/Lang/turkish.pod
@@ -0,0 +1,714 @@
+# Copyright (c) 2001-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+=pod
+
+=encoding utf-8
+
+=head1 NAME
+
+Date::Manip::Lang::turkish - Turkish language support.
+
+=head1 SYNOPSIS
+
+This module contains a list of words and expressions supporting
+the language. It is not intended to be used directly (other
+Date::Manip modules will load it as needed).
+
+=head1 LANGUAGE EXPRESSIONS
+
+The following is a list of all language words and expressions used
+to write times and/or dates.
+
+All strings are case insensitive.
+
+=over 4
+
+=item B
+
+When writing out the name of the month, several different variations may
+exist including full names and abbreviations.
+
+The following month names may be used:
+
+   ocak
+
+   şubat
+   subat
+
+   mart
+
+   nisan
+
+   mayıs
+   mayis
+
+   haziran
+
+   temmuz
+
+   ağustos
+   agustos
+
+   eylül
+   eylul
+
+   ekim
+
+   kasım
+   kasim
+
+   aralık
+   aralik
+
+
+The following abbreviations may be used:
+
+   oca
+
+   şub
+   sub
+
+   mar
+
+   nis
+
+   may
+
+   haz
+
+   tem
+
+   ağu
+   agu
+
+   eyl
+
+   eki
+
+   kas
+
+   ara
+
+
+=item B
+
+When writing out the name of the day, several different variations may
+exist including full names and abbreviations.
+
+The following day names may be used:
+
+   pazartesi
+
+   salı
+   sali
+
+   çarşamba
+   carsamba
+   Çarşamba
+
+   perşembe
+   persembe
+
+   cuma
+
+   cumartesi
+
+   pazar
+
+
+The following abbreviations may be used:
+
+   pzt
+
+   sal
+
+   çar
+   car
+
+   per
+
+   cum
+
+   cts
+   cmt
+
+   paz
+
+
+The following short (1-2 characters) abbreviations may be used:
+
+   Pt
+
+   S
+
+   Ç
+   Cr
+
+   Pr
+
+   C
+
+   Ct
+
+   P
+
+
+=item B
+
+These are the names (and abbreviations) for the fields in a delta.  There are
+7 fields: years, months, weeks, days, hours, minutes, seconds.
+
+The names and abbreviations for these fields are:
+
+   yil
+   y
+
+   ay
+   a
+
+   hafta
+   h
+
+   gun
+   g
+
+   saat
+   s
+
+   dakika
+   dak
+   d
+
+   saniye
+   sn
+
+
+=item B
+
+This is a list of expressions use to designate morning or afternoon time
+when a time is entered as a 12-hour time rather than a 24-hour time.
+For example, in English, the time "17:00" could be specified as "5:00 PM".
+
+Morning and afternoon time may be designated by the following sets of
+words:
+
+   ögleden önce
+   ogleden once
+
+   öğleden sonra
+   ogleden sonra
+
+
+=item B
+
+There are a list of words that specify every occurrence of something.  These
+are used in the following phrases:
+
+   EACH Monday
+   EVERY Monday
+   EVERY month
+
+The following words may be used:
+
+   her
+
+
+=item B
+
+There are a list of words that may be used to specify the next,
+previous, or last occurrence of something.  These words could be used
+in the following phrases:
+
+   NEXT week
+
+   LAST Tuesday
+   PREVIOUS Tuesday
+
+   LAST day of the month
+
+The following words may be used:
+
+Next occurrence:
+
+   gelecek
+   sonraki
+
+
+Previous occurrence:
+
+   onceki
+   önceki
+
+
+Last occurrence:
+
+   son
+   sonuncu
+
+
+=item B
+
+When parsing deltas, there are words that may be used to specify
+the the delta will refer to a time in the future or to a time in
+the past (relative to some date).  In English, for example, you
+might say:
+
+   IN 5 days
+   5 days AGO
+
+The following words may be used to specify deltas that refer to
+dates in the past or future respectively:
+
+   gecmis
+   geçmiş
+   gecen
+   geçen
+
+   gelecek
+   sonra
+
+
+=item B
+
+This contains two lists of words which can be used to specify a standard
+(i.e. non-business) delta or a business delta.
+
+Previously, it was used to tell whether the delta was approximate or exact,
+but now this list is not used except to force the delta to be standard.
+
+The following words may be used:
+
+   tam
+   yaklasik
+   yaklaşık
+
+
+The following words may be used to specify a business delta:
+
+   is
+   iş
+   çalışma
+   calisma
+
+
+=item B
+
+Numbers may be spelled out in a variety of ways.  The following sets correspond
+to the numbers from 1 to 53:
+
+   1.
+   bir
+   ilk
+   birinci
+
+   2.
+   iki
+   ikinci
+
+   3.
+   üç
+   uc
+   üçüncü
+   ucuncu
+
+   4.
+   dört
+   dort
+   dördüncü
+   dorduncu
+
+   5.
+   beş
+   bes
+   beşinci
+   besinci
+
+   6.
+   altı
+   alti
+   altıncı
+
+   7.
+   yedi
+   yedinci
+
+   8.
+   sekiz
+   sekizinci
+
+   9.
+   dokuz
+   dokuzuncu
+
+   10.
+   on
+   onuncu
+
+
+   11.
+   on bir
+   on birinci
+
+   12.
+   on iki
+   on ikinci
+
+   13.
+   on üç
+   on uc
+   on üçüncü
+   on ucuncu
+
+   14.
+   on dört
+   on dort
+   on dördüncü
+   on dorduncu
+
+   15.
+   on beş
+   on bes
+   on beşinci
+   on besinci
+
+   16.
+   on altı
+   on alti
+   on altıncı
+
+   17.
+   on yedi
+   on yedinci
+
+   18.
+   on sekiz
+   on sekizinci
+
+   19.
+   on dokuz
+   on dokuzuncu
+
+   20.
+   yirmi
+   yirminci
+
+
+   21.
+   yirmi bir
+   yirminci birinci
+
+   22.
+   yirmi iki
+   yirminci ikinci
+
+   23.
+   yirmi üç
+   yirmi uc
+   yirminci üçüncü
+   yirminci ucuncu
+
+   24.
+   yirmi dört
+   yirmi dort
+   yirminci dördüncü
+   yirminci dorduncu
+
+   25.
+   yirmi beş
+   yirmi bes
+   yirminci beşinci
+   yirminci besinci
+
+   26.
+   yirmi altı
+   yirmi alti
+   yirminci altıncı
+
+   27.
+   yirmi yedi
+   yirminci yedinci
+
+   28.
+   yirmi sekiz
+   yirminci sekizinci
+
+   29.
+   yirmi dokuz
+   yirminci dokuzuncu
+
+   30.
+   otuz
+   otuzuncu
+
+
+   31.
+   otuz bir
+   otuz birinci
+
+   32.
+   otuz iki
+   otuz ikinci
+
+   33.
+   otuz üç
+   otuz uc
+   otuz üçüncü
+   otuz ucuncu
+
+   34.
+   otuz dört
+   otuz dort
+   otuz dördüncü
+   otuz dorduncu
+
+   35.
+   otuz beş
+   otuz bes
+   otuz beşinci
+   otuz besinci
+
+   36.
+   otuz altı
+   otuz alti
+   otuz altıncı
+
+   37.
+   otuz yedi
+   otuz yedinci
+
+   38.
+   otuz sekiz
+   otuz sekizinci
+
+   39.
+   otuz dokuz
+   otuz dokuzuncu
+
+   40.
+   kırk
+   kirk
+   kırkıncı
+   kirkinci
+
+
+   41.
+   kırk bir
+   kirk bir
+   kırk birinci
+   kirk birinci
+
+   42.
+   kırk iki
+   kirk iki
+   kırk ikinci
+   kirk ikinci
+
+   43.
+   kırk üç
+   kirk uc
+   kırk üçüncü
+   kirk ucuncu
+
+   44.
+   kırk dört
+   kirk dort
+   kırk dördüncü
+   kirk dorduncu
+
+   45.
+   kırk beş
+   kirk bes
+   kırk beşinci
+   kirk besinci
+
+   46.
+   kırk altı
+   kirk alti
+   kırk altıncı
+   kirk altıncı
+
+   47.
+   kırk yedi
+   kirk yedi
+   kırk yedinci
+   kirk yedinci
+
+   48.
+   kırk sekiz
+   kirk sekiz
+   kırk sekizinci
+   kirk sekizinci
+
+   49.
+   kırk dokuz
+   kirk dokuz
+   kırk dokuzuncu
+   kirk dokuzuncu
+
+   50.
+   elli
+   ellinci
+
+
+   51.
+   elli bir
+   elli birinci
+
+   52.
+   elli iki
+   elli ikinci
+
+   53.
+   elli üç
+   elli uc
+   elli üçüncü
+   elli ucuncu
+
+
+=item B
+
+In writing out dates in common forms, there are a number of words
+that are typically not important.
+
+There is frequently a word that appears in a phrase to designate
+that a time is going to be specified next.  In English, you would
+use the word AT in the example:
+
+   December 3 at 12:00
+
+The following words may be used:
+
+   saat
+
+
+Another word is used to designate one member of a set.  In English,
+you would use the words IN or OF:
+
+   1st day OF December
+   1st day IN December
+
+The following words may be used:
+
+   of
+
+
+Another word is use to specify that something is on a certain date.  In
+English, you would use ON:
+
+   ON July 5th
+
+The following words may be used:
+
+   on
+
+
+=item B
+
+There are some words that can be used to specify a date, a
+time, or both relative to now.
+
+Words that set the date are similar to the English words 'yesterday'
+or 'tomorrow'.  These are specified as a delta which is added to the
+current time to get a date.  The time is NOT set however, so the delta
+is only partially used (it should only include year, month, week, and
+day fields).
+
+The following words may be used:
+
+   bugun                0:0:0:0:0:0:0
+   bugün                0:0:0:0:0:0:0
+   dun                  -0:0:0:1:0:0:0
+   dün                  -0:0:0:1:0:0:0
+   yarin                +0:0:0:1:0:0:0
+   yarın                +0:0:0:1:0:0:0
+
+
+Words that set only the time of day are similar to the English words
+'noon' or 'midnight'.
+
+The following words may be used:
+
+   gece yarisi          00:00:00
+   gece yarısı          00:00:00
+   oglen                12:00:00
+   yarim                12:30:00
+   yarım                12:30:00
+   öğlen                12:00:00
+
+
+Words that set the entire time and date (relative to the current
+time and date) are also available.
+
+In English, the word 'now' is one of these.
+
+The following words may be used:
+
+   simdi                0:0:0:0:0:0:0
+   şimdi                0:0:0:0:0:0:0
+
+
+=item B
+
+When specifying the time of day, the most common separator is a colon (:)
+which can be used for both separators.
+
+Some languages use different pairs.  For example, French allows you to
+specify the time as 13h30:20, so it would use the following pairs:
+
+   : :
+   h :
+
+The first column is the hour-minute separator and the second column is
+the minute-second separator.  Both are perl regular expressions.  When
+creating a new translation, be aware that regular expressions with utf-8
+characters may be tricky.  For example, don't include the expression '[x]'
+where 'x' is a utf-8 character.
+
+A pair of colons is ALWAY allowed for all languages.  If a language allows
+additional pairs, they are listed here:
+
+   Not defined in this language
+
+
+=item B
+
+When specifying fractional seconds, the most common way is to use a
+decimal point (.).  Some languages may specify a different separator
+that might be used.  If this is done, it is a regular expression.
+
+The decimal point is ALWAYS allowed for all languages.  If a language allows
+another separator, it is listed here:
+
+   Not defined in this language
+
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Migration5to6.pod b/lib/Date/Manip/Migration5to6.pod
new file mode 100644
index 0000000..6567c1f
--- /dev/null
+++ b/lib/Date/Manip/Migration5to6.pod
@@ -0,0 +1,143 @@
+# Copyright (c) 2009-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Migration5to6 - how to upgrade from 5.xx to 6.00
+
+=head1 SYNOPSIS
+
+When upgrading from Date::Manip 5.xx to 6.00, a few changes may be
+necessary to your scripts.
+
+The L document lists in more detail the ways in
+which Date::Manip changed, but very few of these actually entail
+changes to your script.
+
+It should be noted that once the changes are made to your script,
+it will no longer run correctly in 5.xx.
+
+=head1 NECESSARY AND SUGGESTED CHANGES
+
+The following changes are necessary, or strongly suggested:
+
+=over 4
+
+=item B
+
+If you use Date_Init to read any config files (if you do business mode
+calculations, you probably do), you should remove all of the following
+config variables from your call to Date_Init:
+
+   GlobalCnf=FILE
+   PersonalCnf=FILE
+   PathSep=*
+   IgnoreGlobalCnf=*
+   PersonalCnfPath=*
+
+and replace them with:
+
+   ConfigFile=FILE
+
+where FILE is now the full path to a config file. Also, the ConfigFile
+argument should be the first argument in Date_Init.
+
+=item B
+
+The Date_ConvTZ function has changed. It should now take 3 arguments:
+
+   $date = Date_ConvTZ($date,$from,$to);
+
+If C<$from> is not given, it defaults to the local time zone. If C<$to> is
+not given, it defaults to the local time zone.
+
+The date is converted from the C<$from> time zone into the C<$to>
+time zone. Both should be any time zone (or alias) supported by
+Date::Manip.
+
+The old C<$errlevel> argument is no longer handled.
+
+=item B
+
+If you use either the ConvTZ or TZ config variables, you should
+replace them with either SetDate or ForceDate. See the
+L document for information.
+
+The TZ variable will continue to work until Dec 2015 at which point
+it will be removed.
+
+=item B
+
+The following config variables have been deprecated, but will continue
+to function (though they will be removed at a future date):
+
+   TZ           (removed Mar 2016)
+
+The following variables have been removed. If you use any of them,
+you may need to modify your scripts:
+
+   IntCharSet
+   GlobalCnf
+   PersonalCnf
+   PathSep
+   IgnoreGlobalCnf
+   PersonalCnfPath
+   ConvTZ
+   Internal
+   TodayIsMidnight
+   DeltaSigns
+   UpdateCurrTZ
+   ResetWorkdDay
+
+=item B
+
+If you parse the strings "today", "yesterday", or "tomorrow" in order
+to get the time now, or 24 hours in the past/future, this will no
+longer work.  These strings now refer strictly to the date (so "today"
+is the current day at midnight, "yesterday" is the previous day at
+midnight, etc.).
+
+To get the time now, 24 hours ago, or 24 hours in the future, you
+would need to parse the strings "now", "-24:00:00", or "+24:00:00"
+respectively.
+
+=item B
+
+In 5.xx, it was documented that you could use the module Memoize to
+speed up Date::Manip, especially when sorting dates.
+
+This information is no longer accurate. Using Memoize in conjunction
+with Date::Manip should have little impact on performance, and may
+lead to incorrect results, especially if you change config variables.
+
+Please refer to L for
+more information.
+
+=back
+
+If you find other instances where it is necessary to modify your
+script, please email me so that I can add that information to this
+document.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Misc.pod b/lib/Date/Manip/Misc.pod
new file mode 100644
index 0000000..976051b
--- /dev/null
+++ b/lib/Date/Manip/Misc.pod
@@ -0,0 +1,289 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Misc - Miscellaneous information about Date::Manip
+
+=head1 SHOULD I USE DATE::MANIP
+
+If you look in CPAN, you'll find that there are a number of Date and
+Time packages.  Is Date::Manip the one you should be using? That isn't
+a trivial question to answer. It depends to a large extent on what you
+are trying to do.
+
+Date::Manip is certainly one of the most powerful of the Date modules
+(the other main contender being the DateTime suite of modules).  I'm
+trying to build a library which can do _EVERY_ conceivable
+date/time manipulation that you'll run into in everyday life dealing with
+the Gregorian calendar.  To the best of my knowledge, it will do
+everything that any other date module will do which work with the
+Gregorian calendar, and there are a number of features that Date::Manip
+has that other modules do not have.
+
+There is a tradeoff in being able to do "everything"... and that
+tradeoff is primarily in terms of performance.  Date::Manip is written
+entirely in Perl and is the largest of the date modules. Other modules
+tend to be faster than Date::Manip, and modules written in C are
+significantly faster than their Perl counterparts (at least if they're
+done right).  Although I am working on making Date::Manip faster, it
+will never be as fast as other modules.  And before anyone asks,
+Date::Manip will never be translated to C (at least by me).  I write C
+because I have to.  I write Perl because I like to.  Date::Manip is
+something I do because it interests me, not something I'm paid for.
+
+If you are going to be using the module in cases where performance is
+an important factor, and you're doing a fairly small set of simple
+date operations over and over again, you should carefully examine the
+other date modules to see if they will meet your needs.
+
+Date::Manip does NOT provide functionality for working with alternate
+calendars such as the Chinese or Hebrew calendars, so if you need that
+functionality, you definitely need to look elsewhere (the DateTime suite
+probably).
+
+On the other hand, if you want one solution for all your date needs,
+don't need peak speed, or are trying to do more exotic date
+operations, Date::Manip is for you.  Operations on things like
+business dates, foreign language dates, holidays and other recurring
+events, complete timezone handling, etc. are available more-or-less
+exclusively in Date::Manip. At the very least, if you want to be able
+to do these operations, it will require using several other modules,
+each with it's own interface.  Also, when you work with Date::Manip,
+you work with one author and one module.  The DateTime suite
+currently consists of almost 100 modules and 75 authors.
+
+In addition, I am making significant performance improvements in
+Date::Manip.  Although it will never be as fast as some of the other
+perl modules, I believe that it is already competitive enough for most
+purposes, and I continue to look for places where I can improve
+performance, so performance should improve over time.
+
+=head1 YEAR 2000 AND YEAR 2007 DST CHANGE
+
+Did Date::Manip have any problems with Y2K compliance? Did it have any
+problems with the revised daylight saving time changes made in 2007?
+
+Although Date::Manip will parse many date strings (including dates
+with 2-digit years), internally they are stored as a 4 digit year, and
+all operations are performed using this internal representation, so
+Date::Manip had no problems with the Y2K issue. Of course,
+applications written which stored the year as 2 digits (whether or not
+it used Date::Manip) may have had problems, but they were not because
+of this module.
+
+Similarly for the 2007 changes in daylight saving time made in the United
+States, Date::Manip was not affected. Date::Manip makes use of the
+current time zone, but it gets that information from the operating system
+the application is running on. If the operating system knows about the
+new daylight saving time rules... so does Date::Manip.
+
+=head1 WHAT DATES ARE DATE::MANIP USEFUL FOR?
+
+Date::Manip applies to the Gregorian calendar. It does not support
+alternative calendars (Hebrew, Mayan, etc.) so if you want to use
+an alternative calendar, you'll need to look elsewhere.
+
+The Gregorian calendar is a relatively recent innovation. Prior to it,
+the Julian calendar was in use.  The Julian calendar defined leap years as
+every 4th year.  This led to significant calendar drift over time (since
+a year is NOT 365.25 days long). It was replaced by the Gregorian
+calendar which improved the definition of leap years, and at that point,
+the calendar was adjusted appropriately.
+
+Date::Manip extrapolates the Gregorian calendar back to the year 0001
+AD and forward to the year 9999 AD, but that does not necessarily mean
+that the results are useful. As the world adopted the Gregorian
+calendar, the dates using the Julian calendar had to be changed to fit
+to account for the drift that had occurred. As such, the dates
+produced by Date::Manip in an era where the Julian calendar was in use
+do not accurately reflect the dates actually in use. In historical
+context, the Julian calendar was in use until 1582 when the Gregorian
+calendar was adopted by the Catholic church.  Protestant countries did
+not accept it until later; Germany and Netherlands in 1698, British
+Empire in 1752, Russia in 1918, etc. Date::Manip is therefore not
+equipped to truly deal with historical dates prior to about 1600, and
+between 1600 and 1900, the calendar varied from country to country.
+
+A second problem is that the Gregorian calendar is itself imperfect
+and at some point may need to be corrected (though it's not clear that
+this will happen... drift may now be accounted for using leap seconds
+which means that the Gregorian calendar may be useful indefinitely).
+No attempt is made to correct for the problems in the Gregorian
+calendar for a couple reasons. First is that my great great great
+grandchildren will be long dead before this begins to be a problem, so
+it's not an immediate concern.  Secondly, and even more importantly, I
+don't know what the correction will be (if any) or when it will be
+implemented, so I can safely ignore it.
+
+There is some limitation on how dates can be expressed such that
+Date::Manip can handle them correctly. Date::Manip stores the year
+internally as a 4-digit number. This is obviously not a limit due to
+the Gregorian calendar, but I needed a way to store the dates
+internally, and the 4-digit year was chosen. I realize that the
+4-digit limitation does create a time when it will break (quite
+similar to those who chose a 2-digit representation set themselves up
+for the Y2K problem). Frankly, I'm not too concerned about this since
+that date is 8000 years in the future! Date::Manip won't exist then.
+Perl won't exist then. And it's quite possible that the Gregorian
+calendar won't exist then. That's a much different situation than the
+Y2K choice in which programmers chose a representation that would
+break within the lifetime of the programs they were writing.
+
+Given the 4-digit limitation, Date::Manip definitely can't handle BC
+dates, or dates past Dec 31, 9999.  So Date::Manip works (in theory)
+during the period Jan 1, 0001 to Dec 31, 9999. There are a few
+caveats:
+
+=over 4
+
+=item B
+
+In practical terms, Date::Manip deals with the Gregorian calendar, and
+is most useful in the period that that calendar has been, or will be,
+in effect. As explained above, the Gregorian calendar came into universal
+acceptance in the early 1900's, and it should remain in use for the
+foreseeable future.
+
+So...  in practical terms, Date::Manip is probably useful from
+around 1900 through several thousand years from now.
+
+=item B
+
+In one part of the code (calculating week-of-year values), Date::Manip
+references dates one week after and one week before the date actually
+being worked on. As such, dates during the first week in the year 0001
+fail (because a week before is in the year 1 BC), and those in the last
+week in the year 9999 fail (because a week later is in 10,000).
+
+No effort will be made to correct this because the added functionality
+is simply not that important (to me), especially since the Gregorian
+calendar doesn't really apply in either instance. To be absolutely
+safe, I will state that Date::Manip works as described in this manual
+during the period Feb 1, 0001 to Nov 30, 9999, and I will only support
+dates within that range (i.e. if you submit a bug using a date that is
+not in that range, I will will consider myself free to ignore it).
+
+=item B
+
+Date::Manip does NOT make use of the leap seconds in calculating time
+intervals, so the difference between two times may not be strictly
+accurate due to the addition of a leap second.
+
+=item B
+
+Date::Manip will parse both 2- and 4-digit years, but it will NOT
+handle 3 digit years.  So, if you store the year as an offset from
+1900 (which is 3 digits long as of the year 2000), these will NOT be
+parseable by Date::Manip. Since the perl functions localtime and gmtime
+DO return the year as an offset from 1900, the output from these will
+need to be corrected (probably by adding 1900 to the result) before
+they can be passed to any Date::Manip routine.
+
+=back
+
+=head1 FUTURE IDEAS
+
+A number of changes are being considered for future inclusion in
+Date::Manip.  As a rule, the changes listed below are not finalized,
+and are open to discussion.
+
+=over 4
+
+=item B
+
+Currently, all of Date::Manip's parsing is based on English language
+forms of dates, even if the words have been replaced by the equivalent
+in some other language.
+
+I am considering rewriting the parsing routines in order to allow
+date forms that might be used in other languages but do not have a
+common English equivalent, and to account for the fact that some
+English formats may not have an equivalent in another language.
+
+=item B
+
+The granularity of a time basically refers to how accurate you wish to
+treat a date.  For example, if you want to compare two dates to see if
+they are identical at a granularity of days, then they only have to occur
+on the same day.  At a granularity of an hour, they have to occur within
+an hour of each other, etc.
+
+I'm not sure how useful this would be, but it's one of the oldest
+unimplemented ideas, so I'm not discarding it completely.
+
+=back
+
+=head1 ACKNOWLEDGMENTS
+
+There are many people who have contributed to Date::Manip over the
+years that I'd like to thank.  The most important contributions have
+come in the form of suggestions and bug reports by users.  I have
+tried to include the name of every person who first suggested each
+improvement or first reported each bug.  These are included in the
+L and L documents.  The list
+is simply too long to appear here, but I appreciate their help.
+
+A number of people have made suggestions or reported bugs which are
+not mentioned in these documents.  These include suggestions which
+have not been implemented and people who have made a suggestion or bug
+report which has already been suggested/reported by someone else.  For
+those who's suggestions have not yet been implemented, they will be
+added to the appropriate Changes document when (if) their suggestions
+are implemented.  I keep every single suggestion I've ever received
+and periodically review the unimplemented ones to see if it's
+something I'm interested in, so even suggestions made years in the
+past may still appear in future versions of Date::Manip, and the
+original requester will be attributed at that point (some of the
+changes made to Date::Manip 6.00 were based on suggestions 10 years
+old which never fit in with version 5.xx, but which I knew I wanted to
+implement). For those who have sent in requests/reports that had been
+previously made by someone else, thank you too.  I'd much rather have
+a suggestion made twice than not at all.
+
+Thanks to Alan Cezar and Greg Schiedler for paying me to implement the
+Events_List routine.  They gave me the idea, and were then willing to pay
+me for my time to get it implemented quickly.
+
+I'd also like to thank a couple of authors.  Date::Manip has gotten
+some really good press in a couple of books.  Since no one's paying me
+to write Date::Manip, seeing my module get a good review in a book
+written by someone else really makes my day.  My thanks to Nate
+Padwardhan and Clay Irving (Programming with Perl Modules -- part of
+the O'Reilly Perl Resource Kit); and Tom Christiansen and Nathan
+Torkington (The Perl Cookbook).  Also, thanks to any other authors
+who've written about Date::Manip who's books I haven't seen.
+
+I'd also like to thank the people who are maintaining the zoneinfo
+database (and who replied quickly to several inquiries).
+
+I have borrowed from other modules. I originally borrowed the code for
+determining if a year was a leap year from code written by David Muir
+Sharnoff.  I borrowed many of the original date printf formats from
+code written by Terry McGonigal as well as the Solaris date command.
+More recently, I borrowed the code to do time zone registry lookups on
+Windows from the DateTime-TimeZone module, though I rewrote it to work
+better with Date::Manip.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Obj.pm b/lib/Date/Manip/Obj.pm
new file mode 100644
index 0000000..152e56b
--- /dev/null
+++ b/lib/Date/Manip/Obj.pm
@@ -0,0 +1,376 @@
+package Date::Manip::Obj;
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+use warnings;
+use strict;
+use IO::File;
+use Storable qw(dclone);
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+########################################################################
+# METHODS
+########################################################################
+
+my %classes = ( 'Date::Manip::Base'   => 1,
+                'Date::Manip::TZ'     => 1,
+                'Date::Manip::Date'   => 1,
+                'Date::Manip::Delta'  => 1,
+                'Date::Manip::Recur'  => 1,
+              );
+
+sub new {
+   my(@args)    = @_;
+   my(@allargs) = @args;
+
+   # $old    is the object (if any) being used to create a new object
+   # $new    is the new object
+   # $class  is the class of the new object
+   # $tz     is a Date::Manip::TZ object to base the new object on
+   #         (only for Date, Delta, Recur objects)
+   # $base   is the Date::Manip::Base object to base the new object on
+   # @opts   options to pass to config method
+
+   my($old,$new,$class,$tz,$base,@opts);
+
+   # Get the class of the new object
+
+   if (exists $classes{ $args[0] }) {
+
+      # $obj = new CLASS
+      $class = shift(@args);
+
+   } else {
+
+      # $obj->new
+      $class = ref($args[0]);
+   }
+
+   # Find out if there are any config options (which will be the
+   # final argument).
+
+   if (@args  &&  ref($args[$#args]) eq 'ARRAY') {
+      @opts = @{ pop(@args) };
+   }
+
+   # Get an old object
+
+   if (ref($args[0]) =~ /^Date::Manip/) {
+      # $old->new
+      # new CLASS $old
+      $old = shift(@args);
+   }
+
+   # Additional arguments will be passed to parse.
+
+   ########################
+
+   # Get Base/TZ objects from an existing object
+
+   if ($old) {
+      if (ref($old) eq 'Date::Manip::Base') {
+         $base = $old;
+      } elsif (ref($old) eq 'Date::Manip::TZ') {
+         $tz   = $old;
+         $base = $$tz{'base'};
+
+      # *** I think this is useless code, deprecate
+      # } elsif (ref($old) eq 'ARRAY') {
+      #    my %old = @$old;
+      #    $tz   = $old{'tz'};
+      #    $base = $$tz{'base'};
+
+      } else {
+         $tz   = $$old{'tz'};
+         $base = $$tz{'base'};
+      }
+   }
+
+   # Create a new empty object.
+
+   $new = {
+           'data' => {},
+           'err'  => '',
+          };
+
+   # Create Base/TZ objects if necessary
+
+   if ($base  &&  @opts) {
+      $base = _clone($base);
+      $tz   = new Date::Manip::TZ $base  if ($tz);
+   }
+
+   my $init = 1;
+   if ($class eq 'Date::Manip::Base') {
+      if ($base) {
+         # new Date::Manip::Base $base
+         #
+         # We have to clone it (which we already did if @opts was given)
+         #
+         if (@opts) {
+            $new = $base;
+         } else {
+            $new = _clone($base);
+         }
+         $init = 0;
+      }
+
+   } elsif ($class eq 'Date::Manip::TZ') {
+      if ($tz) {
+         # new Date::Manip::TZ $tz
+         if (@opts) {
+            $new = $tz;
+         } else {
+            $new = _clone($tz);
+         }
+         $init = 0;
+      } elsif (! $base) {
+         $base = new Date::Manip::Base;
+      }
+      $$new{'base'} = $base;
+
+   } else {
+      if (! $tz) {
+         if ($base) {
+            $tz = new Date::Manip::TZ $base;
+         } else {
+            $tz = new Date::Manip::TZ;
+         }
+      }
+      $$new{'tz'} = $tz;
+   }
+
+   $$new{'args'} = [ @args ];
+   bless $new,$class;
+
+   $new->_init()        if ($init);
+   $new->config(@opts)  if (@opts);
+   $new->_init_args()   if (@args);
+   $new->_init_final();
+   return $new;
+}
+
+# This clones an object.  Currently, it only clones a Base or TZ
+# object, but dclone can't handle stored regexps so we have to copy
+# them manually.
+#
+sub _clone {
+   my($obj) = @_;
+
+   if (ref($obj) eq 'Date::Manip::Base') {
+
+      my $tmp              = $$obj{'data'}{'rx'};
+      delete $$obj{'data'}{'rx'};
+      my $new              = dclone($obj);
+      $$obj{'data'}{'rx'}  = $tmp;
+      $$new{'data'}{'rx'}  = $tmp;
+      return $new;
+
+   } else {
+
+      my $base = $$obj{'base'};
+      delete $$obj{'base'};
+
+      my @rx = qw(namerx zonerx abbrx offrx zrx offabbrx orrparrx);
+      my @tmp;
+      foreach my $rx (@rx) {
+         push(@tmp,$$obj{'data'}{$rx});
+         delete $$obj{'data'}{$rx};
+      }
+
+      my $new  = dclone($obj);
+
+      foreach my $rx (@rx) {
+         my $r = shift(@tmp);
+         $$obj{'data'}{$rx}  = $r;
+         $$new{'data'}{$rx} = $r;
+      }
+
+      $$obj{'base'} = $base;
+      $$new{'base'} = $base;
+      return $new;
+   }
+}
+
+# Only called if extra @args exist
+sub _init_args {
+   my($self) = @_;
+
+   my @args = @{ $$self{'args'} };
+   warn "WARNING: [new] invalid arguments: @args\n";
+
+   return;
+}
+
+sub _init_final {
+   my($self) = @_;
+   return;
+}
+
+sub new_config {
+   my(@args) = @_;
+
+   # Make sure that @opts is passed in as the final argument.
+
+   if (! @args  ||
+       ! (ref($args[$#args]) eq 'ARRAY')) {
+      push(@args,['ignore','ignore']);
+   }
+
+   return new(@args);
+}
+
+sub new_date {
+   my(@args) = @_;
+   require Date::Manip::Date;
+   return new Date::Manip::Date @args;
+}
+sub new_delta {
+   my(@args) = @_;
+   require Date::Manip::Delta;
+   return new Date::Manip::Delta @args;
+}
+sub new_recur {
+   my(@args) = @_;
+   require Date::Manip::Recur;
+   return new Date::Manip::Recur @args;
+}
+
+sub base {
+   my($self) = @_;
+   my $t = ref($self);
+   if ($t eq 'Date::Manip::Base') {
+      return undef;
+   } elsif ($t eq 'Date::Manip::TZ') {
+      return $$self{'base'};
+   } else {
+      my $dmt = $$self{'tz'};
+      return $$dmt{'base'};
+   }
+}
+
+sub tz {
+   my($self) = @_;
+   my $t = ref($self);
+
+   if ($t eq 'Date::Manip::Base'  ||
+       $t eq 'Date::Manip::TZ') {
+      return undef;
+   }
+
+   return $$self{'tz'};
+}
+
+sub config {
+   my($self,@opts) = @_;
+   my $obj;
+   if (ref($self) eq 'Date::Manip::Base'  ||
+       ref($self) eq 'Date::Manip::TZ') {
+      $obj = $self;
+   } else {
+      $obj = $$self{'tz'};
+   }
+
+   while (@opts) {
+      my $var = shift(@opts);
+      my $val = shift(@opts);
+      $obj->_config_var($var,$val);
+   }
+
+   return;
+}
+
+sub get_config {
+   my($self,@args) = @_;
+
+   my $base;
+   my $t = ref($self);
+   if ($t eq 'Date::Manip::Base') {
+      $base = $self;
+   } elsif ($t eq 'Date::Manip::TZ') {
+      $base = $$self{'base'};
+   } else {
+      my $dmt = $$self{'tz'};
+      $base = $$dmt{'base'};
+   }
+
+   if (@args) {
+      my @ret;
+      foreach my $var (@args) {
+         # uncoverable branch false
+         if (exists $$base{'data'}{'sections'}{'conf'}{lc($var)}) {
+            push @ret,$$base{'data'}{'sections'}{'conf'}{lc($var)};
+         } else {
+            # uncoverable statement
+            warn "ERROR: [config] invalid config variable: $var\n";
+            # uncoverable statement
+            return '';
+         }
+      }
+
+      if (@ret == 1) {
+         return $ret[0];
+      } else {
+         return @ret;
+      }
+   }
+
+   my @ret = sort keys %{ $$base{'data'}{'sections'}{'conf'} };
+   return @ret;
+}
+
+sub err {
+   my($self,$arg) = @_;
+   if ($arg) {
+      $$self{'err'} = '';
+      return;
+   } else {
+      return $$self{'err'};
+   }
+}
+
+sub is_date {
+   return 0;
+}
+sub is_delta {
+   return 0;
+}
+sub is_recur {
+   return 0;
+}
+
+sub version {
+   my($self,$flag) = @_;
+   if ($flag  &&  ref($self) ne 'Date::Manip::Base') {
+      my $dmt;
+      if (ref($self) eq 'Date::Manip::TZ') {
+         $dmt = $self;
+      } else {
+         $dmt  = $$self{'tz'};
+      }
+      my $tz = $dmt->_now('systz');
+      return "$VERSION [$tz]";
+   } else {
+      return $VERSION;
+   }
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/Obj.pod b/lib/Date/Manip/Obj.pod
new file mode 100644
index 0000000..b8ec6f4
--- /dev/null
+++ b/lib/Date/Manip/Obj.pod
@@ -0,0 +1,301 @@
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Obj - Base class for Date::Manip objects
+
+=head1 SYNOPSIS
+
+The Date::Manip::Obj class is the base class used for the following
+Date::Manip classes:
+
+=over 4
+
+=item L
+
+=item L
+
+=item L
+
+=item L
+
+=item L
+
+=back
+
+This module is not intended to be called directly and performs no
+useful function by itself. Instead, use the various derived classes
+which inherit from it.
+
+=head1 DESCRIPTION
+
+This module contains a set of methods used by all Date::Manip classes
+listed above.
+
+You should be familiar with the L and
+L documentation.
+
+In the method descriptions below, L objects will
+usually be used as examples, but (unless otherwise stated), all of the
+classes listed above have the same methods, and work in the same
+fashion.
+
+=head1 METHODS FOR CREATING OBJECTS
+
+In the examples below, any C<$date> (C<$date>, C<$date1>, C<$date2>, ...) variable
+is a L object. Similarly, C<$delta>, C<$recur>, C<$tz>, and
+C<$base> refer to objects in the appropriate class.
+
+Any C<$obj> variable refers to an object in any of the classes.
+
+=over 4
+
+=item B
+
+There are two ways to use the new method. They are:
+
+   $obj2  = new CLASS ($obj1,$string,[@parse_opts,]\@opts);
+   $obj2  = $obj1->new($string,[@parse_opts,]\@opts)
+
+In both cases, all arguments are optional.
+
+Here, CLASS is the class of the new object. For example:
+
+   $date  = new Date::Manip::Date;
+   $delta = new Date::Manip::Delta;
+
+if C<$obj1> is available, the new object will share as much information
+from the old object as possible. The class of the new object may
+be derived from the old object as well.
+
+For example, if you call either of these:
+
+   $date2 = new Date::Manip::Date $date1;
+   $date2 = $date1->new();
+
+the new date object will use the same embedded L object. In
+the second case, the class of the new object (C<$date2>) is L
+because that is the class of the original object.
+
+When specifying CLASS and including an old object, objects do not need to
+be of the same class.  For example, the following are all valid:
+
+   $date = new Date::Manip::Date $delta;
+   $date = new Date::Manip::Date $tz;
+
+You can even do:
+
+   $date = new Date::Manip::Date $base;
+
+but this will have to create a completely new L object,
+which means that optimal performance may not be achieved if a
+L object already exists.
+
+There are two special cases. Either of the following will create
+a new L object for handling multiple configurations:
+
+   $base2 = new Date::Manip::Base $base1;
+   $base2 = $base1->new();
+
+Either of the following will create a new L object with
+the same L object embedded in it:
+
+   $tz2   = new Date::Manip::TZ $tz1;
+   $tz2   = $tz1->new();
+
+The new base object will initially have the same configuration as the
+original base object, but changing it's configuration will not
+affect the original base object.
+
+If the C<\@opts> argument is passed in, it is a list reference containing
+a list suitable for passing to the B method (described below). In
+this case, a new L object (and perhaps L
+object) will be created. The new Base object will start as identical
+to the original one (if a previously defined object was used to create
+the new object) with the additional options in C<@opts> added.
+
+In other words, the following are equivalent:
+
+   $date  = new Date::Manip::Date $obj,\@opts;
+
+   $base  = $obj->base();
+   $base2 = $base->new();
+   $date = new Date::Manip::Date $base2;
+   $date->config(@opts);
+
+It should be noted that the options are applied to the NEW object,
+not the old one. That only matters in one situation:
+
+   $base2 = new Date::Manip::Base $base1,\@opts;
+   $base2 = $base1->new(\@opts);
+
+An optional string (C<$string>) may be passed in only when creating
+a L, L, or L object.
+If it is passed in when creating a L or L
+object, a warning will be issued, but execution will continue.
+
+If the string is included, it will be parsed to give an initial value
+to the object. This will only be done AFTER any options are handled,
+so the following are equivalent:
+
+   $date = new Date::Manip::Date $string,@parse_opts,\@opts;
+
+   $date = new Date::Manip::Date;
+   $date->config(@opts);
+   $date->parse($string,@parse_opts);
+
+Once a L object (or any object in any other
+Date::Manip class) is created, it should always be used to create
+additional objects in order to preserve cached data for optimal
+performance and memory usage.
+
+The one caveat is if you are working with multiple configurations
+as described in the L document. In that case,
+you may need to create completely new objects to allow multiple
+L objects to be used.
+
+=item B
+
+   $obj2 = $obj1->new_config($string,\@opts);
+
+This creates a new instance with a new L object (and possibly
+a new L object).
+
+For example,
+
+   $date2 = $date1->new_config();
+
+creates a new L object with a new L (and
+L) object. Initially, it is the same configuration as
+the original object.
+
+If the object is a L object, the following are equivalent:
+
+   $base2 = $base1->new_config();
+
+   $base2 = $base1->new();
+
+Both C<$string> and C<\@opts> are optional. They are used in the same way they
+are used in the new method.
+
+=item B
+
+=item B
+
+=item B
+
+These are shortcuts for specifying the class. The following sets of
+calls are all equivalent:
+
+   $date  = $obj->new_date();
+   $date  = new Date::Manip::Date($obj);
+
+   $delta = $obj->new_delta();
+   $delta = new Date::Manip::Date($obj);
+
+These methods all allow optional C<($string,\@opts)> arguments.
+
+=back
+
+=head1 OTHER METHODS
+
+=over 4
+
+=item B
+
+=item B
+
+   $base = $obj->base();
+
+This returns the L object associated with the
+given object.
+
+If C<$obj> is a L object, nothing is returned (i.e. it doesn't
+create a new copy of the object).
+
+   $tz = $obj->tz();
+
+This returns the L object associated with the
+given object. If C<$obj> is a L or L object,
+nothing is returned.
+
+=item B
+
+   $obj->config($var1,$val1,$var2,$val2,...);
+
+This will set the value of any configuration variables. Please refer to the
+L manual for a list of all configuration variables and their
+description.
+
+=item B
+
+   @var = $obj->get_config();
+   $val = $obj->get_config($var1);
+   @val = $obj->get_config($var1,$var2,...);
+
+This queries the current config values.  With no argument, it will return
+the list of config variables (all lowercase).
+
+With one or more arguments, it returns the current values for the config
+variables passed in (case insensitive).
+
+=item B
+
+   $err = $obj->err();
+
+This will return the full error message if the previous operation failed
+for any reason.
+
+   $obj->err(1);
+
+will clear the error code.
+
+=item B
+
+=item B
+
+=item B
+
+   $flag = $obj->is_date();
+
+Returns 0 or 1, depending on the object. For example, a L
+object returns 1 with the is_date method, and 0 for the other two.
+
+=item B
+
+   $vers = $obj->version($flag);
+
+This returns the version of Date::Manip.
+
+If C<$flag> is passed in, and C<$obj> is not a L object, the
+version and timezone information will be passed back.
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Objects.pod b/lib/Date/Manip/Objects.pod
new file mode 100644
index 0000000..f88ab5b
--- /dev/null
+++ b/lib/Date/Manip/Objects.pod
@@ -0,0 +1,358 @@
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Objects - A description of the various Date::Manip objects
+
+=head1 SYNOPSIS
+
+The Date::Manip package consist of several modules, each of which
+perform a set of operations on a specific class of objects.  This
+document describes how the various modules work together.
+
+=head1 DESCRIPTION
+
+Date::Manip consists of the following primary modules:
+
+=over 4
+
+=item L
+
+The L module is not intended for direct use. It is used
+as a base class for all other Date::Manip classes described below.
+
+The L module contains some functions which are
+inherited by all these classes, so to understand all of the methods
+available to any of the classes below, you must include those
+documented in the L class.
+
+=item L
+
+The L is used to perform basic operations including
+basic date operations, management of configuration options, handling
+the definitions used in different languages, etc.
+
+A L object does not, of itself, contain any date
+information. Instead, it contains configuration information which
+determines how the Date::Manip package performs date operations.  The
+configuration information is documented in the L
+document.
+
+The L object has one other property that is very
+important. When performing basic date operations, some intermediate
+results are cached in the object which leads to significant
+performance increases in later operations. As such, it is important to
+reuse the object as much as possible, rather than creating new
+L objects all the time.
+
+Much of the information in this document is related to this issue, and
+tells how to create various higher-level objects in order to get the
+most efficient reuse of this cached data.
+
+Because all other objects depend on a L object, a
+L object is embedded in all other objects, and the
+same Base object can be shared by any number of objects to achieve
+maximum performance.
+
+=item L
+
+The L module adds support for time zones. It is used to
+verify date and time zone information, convert dates from one time
+zone to another, and handle all daylight saving time transitions.
+
+Similar to the L object, a great deal of information
+is cached in the L object. This includes lists of all
+time zones, offsets, and abbreviations for all time zones. It also
+includes more a more detailed description of every time zone that has
+actually been worked used.
+
+A L object relies on a L object (and a
+L object is always embedded in a L
+object).  All higher level objects (those listed next) depend on both
+a L and L object, so a L
+object is embedded in them.
+
+In order to achieve maximum performance, and minimize memory usage,
+a L object can be shared by any number of higher
+level objects, and in fact, it is desirable to reuse the same L
+object as often as possible.
+
+=item L
+
+=item L
+
+=item L
+
+These are the primary modules which are used to perform all high level
+date operations.
+
+The L class performs operations on dates (which includes
+a date, time, and time zone). The L class performs
+operations with deltas (amounts of time). The L class
+performs operations on recurring events.
+
+As mentioned above, each of these high level classes rely on both a
+L object and a L object, so a
+L object is embedded in each one (and the
+L object has a L object embedded in
+it).
+
+A L object contains a single date, so in order to
+work with multiple dates, multiple L objects will
+need to be created. In order to make the most effective use of cached
+information in the L object, the same L
+object can be embedded in each of the higher level objects.
+
+The same goes for multiple L and L
+objects.
+
+=back
+
+There are also many secondary modules including:
+
+   Date::Manip::TZ_Base
+   Date::Manip::TZdata
+   Date::Manip::Zones
+   Date::Manip::Lang::*
+   Date::Manip::TZ::*
+   Date::Manip::Offset::*
+
+None of these are intended to be used directly.
+
+=head1 WORKING WITH DATE::MANIP OBJECTS (SINGLE CONFIGURATION)
+
+By far the most common usage of Date::Manip involves setting a single
+local time zone, parsing dates in a single language, and having all
+other configuration parameters set to a single value that doesn't
+change over the course of the program.
+
+Whenever this is the case, you can use the methods listed in this
+section to create any number of Date::Manip objects. It will automatically
+optimize the use of cached data to get the best performance.
+
+If you do need to work with multiple different configurations (such as
+parsing dates from multiple languages), please refer to the next
+section L.
+
+=over 4
+
+=item B
+
+The most common situation is one where you will need to use one or
+more high level objects (Date, Delta, or Recur objects). In addition, you
+may want to use the lower level (Base or TZ) objects.
+
+The first thing you should do is to create your initial object. Create the
+highest level object you will be using. For example if you will be working with
+dates, create the first date object with:
+
+   $date = new Date::Manip::Date;
+
+The next step is to set the configuration values. Use the config method to
+do this:
+
+   $date->config(ARGS);
+
+Although you can call the config method later, it is strongly
+suggested that the configuration be set soon after the initial object
+is created and not altered later. Every time you alter the
+configuration, some of the cached data is cleared, so for optimal
+performance, you don't want to alter the configuration if possible.
+
+Additional high-level objects can be created using the calls:
+
+   $date2 = $date->new_date();
+   $delta = $date->new_delta();
+   $recur = $date->new_recur();
+
+To access the embedded L and L objects,
+use the calls:
+
+   $tz    = $date->tz();
+   $base  = $date->base();
+
+=item B
+
+If you will only be working with low level objects, create them with one
+of the calls:
+
+   $tz    = new Date::Manip::TZ;
+   $base  = new Date::Manip::Base;
+
+To get the base object embedded in a L object, use:
+
+   $base  = $tz->base();
+
+=back
+
+For a more complete description of the methods used here, refer to the
+L document.
+
+=head1 WORKING WITH DATE::MANIP OBJECTS (MULTIPLE CONFIGURATION)
+
+Occasionally, it may be useful to have multiple sets of configurations.
+In order to do this, multiple L objects must be
+created (each with their own set of configuration options), and then
+new Date::Manip objects are created with the appropriate L
+object embedded in them.
+
+Possible reasons include:
+
+=over 4
+
+=item B
+
+A L object includes information about a single
+language. If you need to parse dates from two (or more) languages,
+a L object needs to be created for each one. This
+could be done as:
+
+   $date_eng1 = new Date::Manip::Date;
+   $date_eng1->config("language","English");
+
+   $date_spa1 = new Date::Manip::Date;
+   $date_spa1->config("language","Spanish");
+
+Any additional Date::Manip objects created from the first will work
+with English. Additional objects created from the second will work in
+Spanish.
+
+=item B
+
+If you are doing business mode calculations (see L)
+for two different businesses which have different holiday lists,
+work weeks, or business days, you can create different objects
+which read different config files (see L) with
+the appropriate description of each.
+
+=back
+
+The primary issue when dealing with multiple configurations is
+that it is necessary for the programmer to manually keep track of
+which Date::Manip objects work with each configuration. For
+example, refer to the following lines:
+
+   $date1 = new Date::Manip::Date [$opt1,$val1];
+   $date2 = new Date::Manip::Date $date1, [$opt2,$val2];
+   $date3 = new Date::Manip::Date $date1;
+   $date4 = new Date::Manip::Date $date2;
+
+The first line creates 3 objects: a L object, a
+L object, and a L object). The
+L object has the configuration set to contain the
+value(s) passed in as the final list reference argument.
+
+The second line creates 3 new objects (a second L
+object, a second L object, and a second
+L object). Since a list reference containing config
+variables is passed in, a new L object is created,
+rather than reusing the first one. The second L object
+contains all the config from the first, as well as the config
+variables passed in in the list reference argument.
+
+The third line creates another L object which uses the
+first L and L objects embedded in it.
+
+The fourth line creates another L object which uses
+the second L and L objects embedded in
+it.
+
+Most of the time there will only be one set of configuration options
+used, so this complexity is really for a very special, and not widely
+used, bit of functionality.
+
+=head1 WORKING WITH DATE::MANIP OBJECTS (ADDITIONAL NOTES)
+
+=over 4
+
+=item B
+
+In order to create additional Date::Manip objects, a previously
+created object should be passed in as the first argument. This will
+allow the same Base object to be embedded in both in order to maximize
+data reuse of the cached intermediate results, and will result in much
+better performance. For example:
+
+   $date1 = new Date::Manip::Date;
+   $date2 = new Date::Manip::Date $date1;
+
+This is important for two reasons. First is memory usage. The
+L object is quite large. It stores a large number of
+precompile regular expressions for language parsing, and as date
+operations are done, intermediate results are cached which can be
+reused later to improve performance. The L object is
+even larger and contains information about all known time zones indexed
+several different ways (by offset, by abbreviation, etc.). As
+time zones are actually used, a description of all of the time change
+rules are loaded and added to this object.
+
+Since these objects are so large, it is important to reuse them, rather
+than to create lots of copies of them. It should be noted that because
+these objects are embedded in each of the high level object (L
+for example), it makes these objects appear quite large.
+
+The second reason to reuse L objects is
+performance. Since intermediate results are cached there, many date
+operations only need to be done once and then they can be reused any
+number of times. In essence, this is doing the same function as the
+Memoize module, but in a more efficient manner. Memoize caches results
+for function calls. For Date::Manip, this would often work, but if you
+change a config variable, the return value may change, so Memoize
+could cause things to break. In addition, Memoize caches primarily at
+the function level, but Date::Manip stores caches intermediate results
+wherever performance increase is seen. Every time I consider caching a
+result, I run a test to see if it increases performance. If it
+doesn't, or it doesn't make a significant impact, I don't cache it.
+
+Because the caching is quite finely tuned, it's much more efficient
+than using a generic (though useful) tool such as Memoize.
+
+=item B
+
+As a general rule, you should only pass in configuration options
+when the first object is created. In other words, the following
+behavior is discouraged:
+
+    $date = new Date::Manip::Date;
+    $date->config(@opts);
+
+    ... do some stuff
+
+    $date->config(@opts);
+
+    ... do some other stuff
+
+Because some of the cached results are configuration specific, when a
+configuration change is made, some of the cached data must be discarded
+necessitating those results to be recalculated.
+
+If you really need to change configuration in the middle of execution,
+it is certainly allowed of course, but if you can define the configuration
+once immediately after the object is first created, and then leave the
+configuration alone, performance will be optimized.
+
+=back
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Offset/off000.pm b/lib/Date/Manip/Offset/off000.pm
new file mode 100644
index 0000000..a59beda
--- /dev/null
+++ b/lib/Date/Manip/Offset/off000.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::Offset::off000;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:00:00';
+
+%Offset        = (
+   0 => [
+      'wet',
+      'europe/london',
+      'atlantic/faroe',
+      'europe/lisbon',
+      'africa/abidjan',
+      'africa/casablanca',
+      'europe/dublin',
+      'africa/accra',
+      'atlantic/canary',
+      'atlantic/madeira',
+      'atlantic/reykjavik',
+      'africa/monrovia',
+      'africa/bissau',
+      'africa/el_aaiun',
+      'america/danmarkshavn',
+      'etc/gmt',
+      'ut',
+      'utc',
+      'z',
+      'antarctica/troll',
+      'atlantic/azores',
+      'africa/ceuta',
+      'africa/algiers',
+      'america/rankin_inlet',
+      'europe/gibraltar',
+      'america/inuvik',
+      'indian/kerguelen',
+      'america/resolute',
+      'europe/andorra',
+      'america/iqaluit',
+      'europe/brussels',
+      'europe/madrid',
+      'europe/monaco',
+      'europe/paris',
+      'europe/luxembourg',
+      'america/yellowknife',
+      'america/pangnirtung',
+      'america/cambridge_bay',
+      'antarctica/casey',
+      'antarctica/davis',
+      'antarctica/dumontdurville',
+      'antarctica/macquarie',
+      'antarctica/mawson',
+      'antarctica/palmer',
+      'antarctica/rothera',
+      'antarctica/syowa',
+      'antarctica/vostok',
+      ],
+   1 => [
+      'atlantic/azores',
+      'america/scoresbysund',
+      'atlantic/reykjavik',
+      'atlantic/madeira',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off001.pm b/lib/Date/Manip/Offset/off001.pm
new file mode 100644
index 0000000..0360e23
--- /dev/null
+++ b/lib/Date/Manip/Offset/off001.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off001;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:06:04';
+
+%Offset        = (
+   0 => [
+      'europe/andorra',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off002.pm b/lib/Date/Manip/Offset/off002.pm
new file mode 100644
index 0000000..2f26eee
--- /dev/null
+++ b/lib/Date/Manip/Offset/off002.pm
@@ -0,0 +1,42 @@
+package #
+Date::Manip::Offset::off002;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:09:21';
+
+%Offset        = (
+   0 => [
+      'europe/paris',
+      'africa/tunis',
+      'europe/monaco',
+      'africa/algiers',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off003.pm b/lib/Date/Manip/Offset/off003.pm
new file mode 100644
index 0000000..b44ebc6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off003.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off003;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:12:12';
+
+%Offset        = (
+   0 => [
+      'africa/algiers',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off004.pm b/lib/Date/Manip/Offset/off004.pm
new file mode 100644
index 0000000..96ede36
--- /dev/null
+++ b/lib/Date/Manip/Offset/off004.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off004;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:13:36';
+
+%Offset        = (
+   0 => [
+      'africa/lagos',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off005.pm b/lib/Date/Manip/Offset/off005.pm
new file mode 100644
index 0000000..1cf6954
--- /dev/null
+++ b/lib/Date/Manip/Offset/off005.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off005;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:17:30';
+
+%Offset        = (
+   0 => [
+      'europe/brussels',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off006.pm b/lib/Date/Manip/Offset/off006.pm
new file mode 100644
index 0000000..261d780
--- /dev/null
+++ b/lib/Date/Manip/Offset/off006.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off006;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:19:32';
+
+%Offset        = (
+   0 => [
+      'europe/amsterdam',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off007.pm b/lib/Date/Manip/Offset/off007.pm
new file mode 100644
index 0000000..8941d6b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off007.pm
@@ -0,0 +1,42 @@
+package #
+Date::Manip::Offset::off007;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:20:00';
+
+%Offset        = (
+   0 => [
+      'europe/amsterdam',
+      ],
+   1 => [
+      'africa/accra',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off008.pm b/lib/Date/Manip/Offset/off008.pm
new file mode 100644
index 0000000..f75cdcf
--- /dev/null
+++ b/lib/Date/Manip/Offset/off008.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off008;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:24:36';
+
+%Offset        = (
+   0 => [
+      'europe/luxembourg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off009.pm b/lib/Date/Manip/Offset/off009.pm
new file mode 100644
index 0000000..5a9b90d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off009.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off009;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:29:32';
+
+%Offset        = (
+   0 => [
+      'europe/monaco',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off010.pm b/lib/Date/Manip/Offset/off010.pm
new file mode 100644
index 0000000..077ac88
--- /dev/null
+++ b/lib/Date/Manip/Offset/off010.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off010;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:29:46';
+
+%Offset        = (
+   0 => [
+      'europe/zurich',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off011.pm b/lib/Date/Manip/Offset/off011.pm
new file mode 100644
index 0000000..42a4848
--- /dev/null
+++ b/lib/Date/Manip/Offset/off011.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off011;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:34:08';
+
+%Offset        = (
+   0 => [
+      'europe/zurich',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off012.pm b/lib/Date/Manip/Offset/off012.pm
new file mode 100644
index 0000000..19528ef
--- /dev/null
+++ b/lib/Date/Manip/Offset/off012.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off012;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:34:39';
+
+%Offset        = (
+   1 => [
+      'europe/dublin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off013.pm b/lib/Date/Manip/Offset/off013.pm
new file mode 100644
index 0000000..576bc2f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off013.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off013;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:40:44';
+
+%Offset        = (
+   0 => [
+      'africa/tunis',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off014.pm b/lib/Date/Manip/Offset/off014.pm
new file mode 100644
index 0000000..2eec530
--- /dev/null
+++ b/lib/Date/Manip/Offset/off014.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off014;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:43:00';
+
+%Offset        = (
+   0 => [
+      'europe/oslo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off015.pm b/lib/Date/Manip/Offset/off015.pm
new file mode 100644
index 0000000..6b7b08e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off015.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off015;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:49:56';
+
+%Offset        = (
+   0 => [
+      'europe/rome',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off016.pm b/lib/Date/Manip/Offset/off016.pm
new file mode 100644
index 0000000..8ad8f29
--- /dev/null
+++ b/lib/Date/Manip/Offset/off016.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off016;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:50:20';
+
+%Offset        = (
+   0 => [
+      'europe/copenhagen',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off017.pm b/lib/Date/Manip/Offset/off017.pm
new file mode 100644
index 0000000..9d6f23b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off017.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off017;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:52:44';
+
+%Offset        = (
+   0 => [
+      'africa/tripoli',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off018.pm b/lib/Date/Manip/Offset/off018.pm
new file mode 100644
index 0000000..07cb2a6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off018.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off018;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:53:28';
+
+%Offset        = (
+   0 => [
+      'europe/berlin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off019.pm b/lib/Date/Manip/Offset/off019.pm
new file mode 100644
index 0000000..51b5750
--- /dev/null
+++ b/lib/Date/Manip/Offset/off019.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off019;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:57:44';
+
+%Offset        = (
+   0 => [
+      'europe/prague',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off020.pm b/lib/Date/Manip/Offset/off020.pm
new file mode 100644
index 0000000..5da22a0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off020.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off020;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+00:58:04';
+
+%Offset        = (
+   0 => [
+      'europe/malta',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off021.pm b/lib/Date/Manip/Offset/off021.pm
new file mode 100644
index 0000000..acc112d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off021.pm
@@ -0,0 +1,105 @@
+package #
+Date::Manip::Offset::off021;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:00:00';
+
+%Offset        = (
+   0 => [
+      'cet',
+      'met',
+      'europe/belgrade',
+      'europe/budapest',
+      'europe/prague',
+      'europe/berlin',
+      'europe/copenhagen',
+      'europe/malta',
+      'europe/rome',
+      'europe/vienna',
+      'europe/oslo',
+      'europe/zurich',
+      'europe/stockholm',
+      'europe/luxembourg',
+      'africa/ndjamena',
+      'africa/tunis',
+      'europe/tirane',
+      'europe/brussels',
+      'europe/warsaw',
+      'africa/lagos',
+      'europe/madrid',
+      'africa/algiers',
+      'europe/amsterdam',
+      'europe/paris',
+      'europe/monaco',
+      'europe/andorra',
+      'europe/gibraltar',
+      'africa/ceuta',
+      'africa/windhoek',
+      'etc/gmt+1',
+      'n',
+      'africa/tripoli',
+      'europe/vilnius',
+      'europe/lisbon',
+      'europe/uzhgorod',
+      'africa/casablanca',
+      'europe/dublin',
+      'europe/london',
+      'europe/sofia',
+      'europe/kaliningrad',
+      'europe/tallinn',
+      'europe/athens',
+      'europe/chisinau',
+      'europe/minsk',
+      'europe/riga',
+      'europe/simferopol',
+      'europe/kiev',
+      'europe/zaporozhye',
+      ],
+   1 => [
+      'wet',
+      'europe/lisbon',
+      'europe/london',
+      'europe/dublin',
+      'africa/casablanca',
+      'atlantic/madeira',
+      'africa/el_aaiun',
+      'atlantic/canary',
+      'atlantic/faroe',
+      'africa/algiers',
+      'africa/ceuta',
+      'europe/gibraltar',
+      'europe/monaco',
+      'europe/paris',
+      'europe/brussels',
+      'europe/luxembourg',
+      'europe/madrid',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off022.pm b/lib/Date/Manip/Offset/off022.pm
new file mode 100644
index 0000000..fa1bd18
--- /dev/null
+++ b/lib/Date/Manip/Offset/off022.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off022;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:00:12';
+
+%Offset        = (
+   0 => [
+      'africa/ndjamena',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off023.pm b/lib/Date/Manip/Offset/off023.pm
new file mode 100644
index 0000000..892b07a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off023.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off023;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:00:14';
+
+%Offset        = (
+   0 => [
+      'europe/stockholm',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off024.pm b/lib/Date/Manip/Offset/off024.pm
new file mode 100644
index 0000000..acf8086
--- /dev/null
+++ b/lib/Date/Manip/Offset/off024.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off024;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:05:21';
+
+%Offset        = (
+   0 => [
+      'europe/vienna',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off025.pm b/lib/Date/Manip/Offset/off025.pm
new file mode 100644
index 0000000..b4e7394
--- /dev/null
+++ b/lib/Date/Manip/Offset/off025.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off025;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:08:24';
+
+%Offset        = (
+   0 => [
+      'africa/windhoek',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off026.pm b/lib/Date/Manip/Offset/off026.pm
new file mode 100644
index 0000000..e344b79
--- /dev/null
+++ b/lib/Date/Manip/Offset/off026.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off026;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:12:12';
+
+%Offset        = (
+   0 => [
+      'europe/stockholm',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off027.pm b/lib/Date/Manip/Offset/off027.pm
new file mode 100644
index 0000000..c6abf54
--- /dev/null
+++ b/lib/Date/Manip/Offset/off027.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off027;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:16:20';
+
+%Offset        = (
+   0 => [
+      'europe/budapest',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off028.pm b/lib/Date/Manip/Offset/off028.pm
new file mode 100644
index 0000000..e120068
--- /dev/null
+++ b/lib/Date/Manip/Offset/off028.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off028;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:19:20';
+
+%Offset        = (
+   0 => [
+      'europe/tirane',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off029.pm b/lib/Date/Manip/Offset/off029.pm
new file mode 100644
index 0000000..fd99647
--- /dev/null
+++ b/lib/Date/Manip/Offset/off029.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off029;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:19:32';
+
+%Offset        = (
+   1 => [
+      'europe/amsterdam',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off030.pm b/lib/Date/Manip/Offset/off030.pm
new file mode 100644
index 0000000..294ea17
--- /dev/null
+++ b/lib/Date/Manip/Offset/off030.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off030;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:20:00';
+
+%Offset        = (
+   1 => [
+      'europe/amsterdam',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off031.pm b/lib/Date/Manip/Offset/off031.pm
new file mode 100644
index 0000000..416aae2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off031.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off031;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:22:00';
+
+%Offset        = (
+   0 => [
+      'europe/kaliningrad',
+      'europe/belgrade',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off032.pm b/lib/Date/Manip/Offset/off032.pm
new file mode 100644
index 0000000..071d282
--- /dev/null
+++ b/lib/Date/Manip/Offset/off032.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off032;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:24:00';
+
+%Offset        = (
+   0 => [
+      'europe/vilnius',
+      'europe/warsaw',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off033.pm b/lib/Date/Manip/Offset/off033.pm
new file mode 100644
index 0000000..6e435cc
--- /dev/null
+++ b/lib/Date/Manip/Offset/off033.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off033;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:29:12';
+
+%Offset        = (
+   0 => [
+      'europe/uzhgorod',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off034.pm b/lib/Date/Manip/Offset/off034.pm
new file mode 100644
index 0000000..1b8a515
--- /dev/null
+++ b/lib/Date/Manip/Offset/off034.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off034;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:30:00';
+
+%Offset        = (
+   0 => [
+      'africa/johannesburg',
+      'africa/windhoek',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off035.pm b/lib/Date/Manip/Offset/off035.pm
new file mode 100644
index 0000000..c69d81a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off035.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off035;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:33:16';
+
+%Offset        = (
+   0 => [
+      'europe/sofia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off036.pm b/lib/Date/Manip/Offset/off036.pm
new file mode 100644
index 0000000..d429557
--- /dev/null
+++ b/lib/Date/Manip/Offset/off036.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off036;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:34:52';
+
+%Offset        = (
+   0 => [
+      'europe/athens',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off037.pm b/lib/Date/Manip/Offset/off037.pm
new file mode 100644
index 0000000..787841f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off037.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off037;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:35:36';
+
+%Offset        = (
+   0 => [
+      'europe/vilnius',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off038.pm b/lib/Date/Manip/Offset/off038.pm
new file mode 100644
index 0000000..a136fad
--- /dev/null
+++ b/lib/Date/Manip/Offset/off038.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off038;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:36:34';
+
+%Offset        = (
+   0 => [
+      'europe/riga',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off039.pm b/lib/Date/Manip/Offset/off039.pm
new file mode 100644
index 0000000..e326453
--- /dev/null
+++ b/lib/Date/Manip/Offset/off039.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off039;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:39:00';
+
+%Offset        = (
+   0 => [
+      'europe/tallinn',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off040.pm b/lib/Date/Manip/Offset/off040.pm
new file mode 100644
index 0000000..36c8825
--- /dev/null
+++ b/lib/Date/Manip/Offset/off040.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off040;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:39:49';
+
+%Offset        = (
+   0 => [
+      'europe/helsinki',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off041.pm b/lib/Date/Manip/Offset/off041.pm
new file mode 100644
index 0000000..02501c6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off041.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off041;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:41:16';
+
+%Offset        = (
+   0 => [
+      'europe/vilnius',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off042.pm b/lib/Date/Manip/Offset/off042.pm
new file mode 100644
index 0000000..5d5774a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off042.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off042;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:44:24';
+
+%Offset        = (
+   0 => [
+      'europe/bucharest',
+      'europe/chisinau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off043.pm b/lib/Date/Manip/Offset/off043.pm
new file mode 100644
index 0000000..f9b00ae
--- /dev/null
+++ b/lib/Date/Manip/Offset/off043.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off043;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:50:00';
+
+%Offset        = (
+   0 => [
+      'europe/minsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off044.pm b/lib/Date/Manip/Offset/off044.pm
new file mode 100644
index 0000000..958a112
--- /dev/null
+++ b/lib/Date/Manip/Offset/off044.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off044;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:50:16';
+
+%Offset        = (
+   0 => [
+      'europe/minsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off045.pm b/lib/Date/Manip/Offset/off045.pm
new file mode 100644
index 0000000..2e7565b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off045.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off045;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:52:00';
+
+%Offset        = (
+   0 => [
+      'africa/johannesburg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off046.pm b/lib/Date/Manip/Offset/off046.pm
new file mode 100644
index 0000000..c275b87
--- /dev/null
+++ b/lib/Date/Manip/Offset/off046.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off046;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:55:00';
+
+%Offset        = (
+   0 => [
+      'europe/chisinau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off047.pm b/lib/Date/Manip/Offset/off047.pm
new file mode 100644
index 0000000..8f7807a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off047.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off047;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:55:20';
+
+%Offset        = (
+   0 => [
+      'europe/chisinau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off048.pm b/lib/Date/Manip/Offset/off048.pm
new file mode 100644
index 0000000..3279bfb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off048.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off048;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:55:52';
+
+%Offset        = (
+   0 => [
+      'europe/istanbul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off049.pm b/lib/Date/Manip/Offset/off049.pm
new file mode 100644
index 0000000..d770b26
--- /dev/null
+++ b/lib/Date/Manip/Offset/off049.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off049;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+01:56:56';
+
+%Offset        = (
+   0 => [
+      'europe/istanbul',
+      'europe/sofia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off050.pm b/lib/Date/Manip/Offset/off050.pm
new file mode 100644
index 0000000..6efae94
--- /dev/null
+++ b/lib/Date/Manip/Offset/off050.pm
@@ -0,0 +1,119 @@
+package #
+Date::Manip::Offset::off050;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:00:00';
+
+%Offset        = (
+   0 => [
+      'eet',
+      'asia/beirut',
+      'europe/sofia',
+      'asia/gaza',
+      'asia/hebron',
+      'africa/cairo',
+      'africa/johannesburg',
+      'africa/maputo',
+      'europe/athens',
+      'asia/jerusalem',
+      'asia/damascus',
+      'europe/vilnius',
+      'europe/helsinki',
+      'europe/tallinn',
+      'asia/nicosia',
+      'europe/kiev',
+      'europe/zaporozhye',
+      'europe/riga',
+      'asia/amman',
+      'europe/bucharest',
+      'europe/chisinau',
+      'europe/kaliningrad',
+      'africa/tripoli',
+      'europe/uzhgorod',
+      'etc/gmt+2',
+      'o',
+      'europe/istanbul',
+      'asia/famagusta',
+      'europe/simferopol',
+      'europe/minsk',
+      'africa/khartoum',
+      'africa/windhoek',
+      'europe/moscow',
+      'europe/ulyanovsk',
+      'europe/warsaw',
+      ],
+   1 => [
+      'cet',
+      'europe/berlin',
+      'europe/brussels',
+      'europe/budapest',
+      'europe/copenhagen',
+      'europe/luxembourg',
+      'europe/malta',
+      'europe/oslo',
+      'europe/prague',
+      'europe/rome',
+      'europe/stockholm',
+      'europe/vienna',
+      'europe/warsaw',
+      'met',
+      'europe/madrid',
+      'europe/amsterdam',
+      'europe/paris',
+      'europe/tirane',
+      'europe/belgrade',
+      'europe/gibraltar',
+      'europe/monaco',
+      'europe/zurich',
+      'europe/andorra',
+      'africa/ceuta',
+      'africa/windhoek',
+      'antarctica/troll',
+      'africa/tripoli',
+      'africa/tunis',
+      'europe/vilnius',
+      'europe/lisbon',
+      'africa/ndjamena',
+      'africa/algiers',
+      'europe/london',
+      'europe/kaliningrad',
+      'europe/tallinn',
+      'europe/uzhgorod',
+      'europe/chisinau',
+      'europe/minsk',
+      'europe/riga',
+      'europe/simferopol',
+      'europe/sofia',
+      'europe/athens',
+      'europe/kiev',
+      'europe/zaporozhye',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off051.pm b/lib/Date/Manip/Offset/off051.pm
new file mode 100644
index 0000000..eca0a5f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off051.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off051;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:02:04';
+
+%Offset        = (
+   0 => [
+      'europe/kiev',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off052.pm b/lib/Date/Manip/Offset/off052.pm
new file mode 100644
index 0000000..a5ab418
--- /dev/null
+++ b/lib/Date/Manip/Offset/off052.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off052;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:05:09';
+
+%Offset        = (
+   0 => [
+      'africa/cairo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off053.pm b/lib/Date/Manip/Offset/off053.pm
new file mode 100644
index 0000000..88ef8d2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off053.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off053;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:10:08';
+
+%Offset        = (
+   0 => [
+      'africa/khartoum',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off054.pm b/lib/Date/Manip/Offset/off054.pm
new file mode 100644
index 0000000..1d482a6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off054.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off054;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:10:20';
+
+%Offset        = (
+   0 => [
+      'africa/maputo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off055.pm b/lib/Date/Manip/Offset/off055.pm
new file mode 100644
index 0000000..dd4777d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off055.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off055;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:13:28';
+
+%Offset        = (
+   0 => [
+      'asia/nicosia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off056.pm b/lib/Date/Manip/Offset/off056.pm
new file mode 100644
index 0000000..0fac4e4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off056.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off056;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:15:48';
+
+%Offset        = (
+   0 => [
+      'asia/famagusta',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off057.pm b/lib/Date/Manip/Offset/off057.pm
new file mode 100644
index 0000000..b00b3c7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off057.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off057;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:16:00';
+
+%Offset        = (
+   0 => [
+      'europe/simferopol',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off058.pm b/lib/Date/Manip/Offset/off058.pm
new file mode 100644
index 0000000..fe915bc
--- /dev/null
+++ b/lib/Date/Manip/Offset/off058.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off058;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:16:24';
+
+%Offset        = (
+   0 => [
+      'europe/simferopol',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off059.pm b/lib/Date/Manip/Offset/off059.pm
new file mode 100644
index 0000000..84f5f96
--- /dev/null
+++ b/lib/Date/Manip/Offset/off059.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off059;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:17:52';
+
+%Offset        = (
+   0 => [
+      'asia/gaza',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off060.pm b/lib/Date/Manip/Offset/off060.pm
new file mode 100644
index 0000000..4585b5b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off060.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off060;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:20:00';
+
+%Offset        = (
+   0 => [
+      'europe/zaporozhye',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off061.pm b/lib/Date/Manip/Offset/off061.pm
new file mode 100644
index 0000000..639344f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off061.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off061;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:20:23';
+
+%Offset        = (
+   0 => [
+      'asia/hebron',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off062.pm b/lib/Date/Manip/Offset/off062.pm
new file mode 100644
index 0000000..bcb0e39
--- /dev/null
+++ b/lib/Date/Manip/Offset/off062.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off062;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:20:40';
+
+%Offset        = (
+   0 => [
+      'asia/jerusalem',
+      'europe/zaporozhye',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off063.pm b/lib/Date/Manip/Offset/off063.pm
new file mode 100644
index 0000000..1801822
--- /dev/null
+++ b/lib/Date/Manip/Offset/off063.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off063;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:20:54';
+
+%Offset        = (
+   0 => [
+      'asia/jerusalem',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off064.pm b/lib/Date/Manip/Offset/off064.pm
new file mode 100644
index 0000000..6288566
--- /dev/null
+++ b/lib/Date/Manip/Offset/off064.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off064;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:22:00';
+
+%Offset        = (
+   0 => [
+      'asia/beirut',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off065.pm b/lib/Date/Manip/Offset/off065.pm
new file mode 100644
index 0000000..eec34fb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off065.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off065;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:23:44';
+
+%Offset        = (
+   0 => [
+      'asia/amman',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off066.pm b/lib/Date/Manip/Offset/off066.pm
new file mode 100644
index 0000000..57285c5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off066.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off066;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:25:12';
+
+%Offset        = (
+   0 => [
+      'asia/damascus',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off067.pm b/lib/Date/Manip/Offset/off067.pm
new file mode 100644
index 0000000..9b49493
--- /dev/null
+++ b/lib/Date/Manip/Offset/off067.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off067;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:27:16';
+
+%Offset        = (
+   0 => [
+      'africa/nairobi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off068.pm b/lib/Date/Manip/Offset/off068.pm
new file mode 100644
index 0000000..b3584aa
--- /dev/null
+++ b/lib/Date/Manip/Offset/off068.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off068;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:30:00';
+
+%Offset        = (
+   0 => [
+      'africa/nairobi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off069.pm b/lib/Date/Manip/Offset/off069.pm
new file mode 100644
index 0000000..4a49e8e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off069.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off069;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:30:17';
+
+%Offset        = (
+   0 => [
+      'europe/moscow',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off070.pm b/lib/Date/Manip/Offset/off070.pm
new file mode 100644
index 0000000..3bd60b9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off070.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off070;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:31:19';
+
+%Offset        = (
+   0 => [
+      'europe/moscow',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off071.pm b/lib/Date/Manip/Offset/off071.pm
new file mode 100644
index 0000000..f408928
--- /dev/null
+++ b/lib/Date/Manip/Offset/off071.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off071;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:36:34';
+
+%Offset        = (
+   1 => [
+      'europe/riga',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off072.pm b/lib/Date/Manip/Offset/off072.pm
new file mode 100644
index 0000000..a03f479
--- /dev/null
+++ b/lib/Date/Manip/Offset/off072.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off072;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:45:00';
+
+%Offset        = (
+   0 => [
+      'africa/nairobi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off073.pm b/lib/Date/Manip/Offset/off073.pm
new file mode 100644
index 0000000..ad61403
--- /dev/null
+++ b/lib/Date/Manip/Offset/off073.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off073;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:57:36';
+
+%Offset        = (
+   0 => [
+      'asia/baghdad',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off074.pm b/lib/Date/Manip/Offset/off074.pm
new file mode 100644
index 0000000..010ab0a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off074.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off074;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:57:40';
+
+%Offset        = (
+   0 => [
+      'europe/volgograd',
+      'asia/baghdad',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off075.pm b/lib/Date/Manip/Offset/off075.pm
new file mode 100644
index 0000000..76f59d3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off075.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off075;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:58:00';
+
+%Offset        = (
+   0 => [
+      'asia/yerevan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off076.pm b/lib/Date/Manip/Offset/off076.pm
new file mode 100644
index 0000000..975dd86
--- /dev/null
+++ b/lib/Date/Manip/Offset/off076.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off076;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+02:59:11';
+
+%Offset        = (
+   0 => [
+      'asia/tbilisi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off077.pm b/lib/Date/Manip/Offset/off077.pm
new file mode 100644
index 0000000..b579528
--- /dev/null
+++ b/lib/Date/Manip/Offset/off077.pm
@@ -0,0 +1,105 @@
+package #
+Date::Manip::Offset::off077;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:00:00';
+
+%Offset        = (
+   0 => [
+      'asia/baghdad',
+      'europe/kirov',
+      'europe/moscow',
+      'europe/volgograd',
+      'africa/nairobi',
+      'europe/minsk',
+      'europe/simferopol',
+      'asia/riyadh',
+      'asia/qatar',
+      'europe/istanbul',
+      'africa/khartoum',
+      'asia/famagusta',
+      'etc/gmt+3',
+      'p',
+      'antarctica/syowa',
+      'europe/saratov',
+      'europe/ulyanovsk',
+      'europe/astrakhan',
+      'europe/kaliningrad',
+      'europe/samara',
+      'asia/tbilisi',
+      'asia/yerevan',
+      'asia/baku',
+      'europe/zaporozhye',
+      'europe/kiev',
+      'europe/chisinau',
+      'europe/uzhgorod',
+      'europe/riga',
+      'europe/tallinn',
+      'europe/vilnius',
+      'asia/atyrau',
+      'asia/oral',
+      ],
+   1 => [
+      'eet',
+      'asia/beirut',
+      'asia/damascus',
+      'europe/athens',
+      'europe/bucharest',
+      'europe/chisinau',
+      'asia/gaza',
+      'asia/hebron',
+      'asia/jerusalem',
+      'europe/helsinki',
+      'asia/amman',
+      'asia/nicosia',
+      'europe/sofia',
+      'europe/riga',
+      'europe/tallinn',
+      'europe/vilnius',
+      'europe/kiev',
+      'europe/zaporozhye',
+      'europe/uzhgorod',
+      'europe/istanbul',
+      'asia/famagusta',
+      'africa/cairo',
+      'europe/simferopol',
+      'europe/kaliningrad',
+      'europe/minsk',
+      'europe/moscow',
+      'europe/samara',
+      'europe/ulyanovsk',
+      'africa/khartoum',
+      'europe/berlin',
+      'africa/johannesburg',
+      'africa/windhoek',
+      'europe/warsaw',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off078.pm b/lib/Date/Manip/Offset/off078.pm
new file mode 100644
index 0000000..b71929f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off078.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off078;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:04:18';
+
+%Offset        = (
+   0 => [
+      'europe/saratov',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off079.pm b/lib/Date/Manip/Offset/off079.pm
new file mode 100644
index 0000000..0323c13
--- /dev/null
+++ b/lib/Date/Manip/Offset/off079.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off079;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:06:52';
+
+%Offset        = (
+   0 => [
+      'asia/riyadh',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off080.pm b/lib/Date/Manip/Offset/off080.pm
new file mode 100644
index 0000000..055c632
--- /dev/null
+++ b/lib/Date/Manip/Offset/off080.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off080;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:12:12';
+
+%Offset        = (
+   0 => [
+      'europe/astrakhan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off081.pm b/lib/Date/Manip/Offset/off081.pm
new file mode 100644
index 0000000..9f97699
--- /dev/null
+++ b/lib/Date/Manip/Offset/off081.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off081;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:13:36';
+
+%Offset        = (
+   0 => [
+      'europe/ulyanovsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off082.pm b/lib/Date/Manip/Offset/off082.pm
new file mode 100644
index 0000000..72367da
--- /dev/null
+++ b/lib/Date/Manip/Offset/off082.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off082;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:18:48';
+
+%Offset        = (
+   0 => [
+      'europe/kirov',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off083.pm b/lib/Date/Manip/Offset/off083.pm
new file mode 100644
index 0000000..8b7df38
--- /dev/null
+++ b/lib/Date/Manip/Offset/off083.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off083;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:19:24';
+
+%Offset        = (
+   0 => [
+      'asia/baku',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off084.pm b/lib/Date/Manip/Offset/off084.pm
new file mode 100644
index 0000000..75634c5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off084.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off084;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:20:20';
+
+%Offset        = (
+   0 => [
+      'europe/samara',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off085.pm b/lib/Date/Manip/Offset/off085.pm
new file mode 100644
index 0000000..c22ed6a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off085.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off085;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:21:04';
+
+%Offset        = (
+   0 => [
+      'asia/aqtau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off086.pm b/lib/Date/Manip/Offset/off086.pm
new file mode 100644
index 0000000..43d6245
--- /dev/null
+++ b/lib/Date/Manip/Offset/off086.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off086;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:25:24';
+
+%Offset        = (
+   0 => [
+      'asia/oral',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off087.pm b/lib/Date/Manip/Offset/off087.pm
new file mode 100644
index 0000000..60eba2c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off087.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off087;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:25:44';
+
+%Offset        = (
+   0 => [
+      'asia/tehran',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off088.pm b/lib/Date/Manip/Offset/off088.pm
new file mode 100644
index 0000000..5091dee
--- /dev/null
+++ b/lib/Date/Manip/Offset/off088.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off088;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:26:08';
+
+%Offset        = (
+   0 => [
+      'asia/qatar',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off089.pm b/lib/Date/Manip/Offset/off089.pm
new file mode 100644
index 0000000..9ac8f35
--- /dev/null
+++ b/lib/Date/Manip/Offset/off089.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off089;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:27:44';
+
+%Offset        = (
+   0 => [
+      'asia/atyrau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off090.pm b/lib/Date/Manip/Offset/off090.pm
new file mode 100644
index 0000000..cfc1b45
--- /dev/null
+++ b/lib/Date/Manip/Offset/off090.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off090;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:30:00';
+
+%Offset        = (
+   0 => [
+      'asia/tehran',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off091.pm b/lib/Date/Manip/Offset/off091.pm
new file mode 100644
index 0000000..1114074
--- /dev/null
+++ b/lib/Date/Manip/Offset/off091.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off091;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:31:19';
+
+%Offset        = (
+   1 => [
+      'europe/moscow',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off092.pm b/lib/Date/Manip/Offset/off092.pm
new file mode 100644
index 0000000..4dcc852
--- /dev/null
+++ b/lib/Date/Manip/Offset/off092.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off092;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:41:12';
+
+%Offset        = (
+   0 => [
+      'asia/dubai',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off093.pm b/lib/Date/Manip/Offset/off093.pm
new file mode 100644
index 0000000..37dd630
--- /dev/null
+++ b/lib/Date/Manip/Offset/off093.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off093;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:41:48';
+
+%Offset        = (
+   0 => [
+      'indian/mahe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off094.pm b/lib/Date/Manip/Offset/off094.pm
new file mode 100644
index 0000000..ddeeecd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off094.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off094;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:41:52';
+
+%Offset        = (
+   0 => [
+      'indian/reunion',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off095.pm b/lib/Date/Manip/Offset/off095.pm
new file mode 100644
index 0000000..e631d6b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off095.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off095;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:45:05';
+
+%Offset        = (
+   0 => [
+      'asia/yekaterinburg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off096.pm b/lib/Date/Manip/Offset/off096.pm
new file mode 100644
index 0000000..d1bc061
--- /dev/null
+++ b/lib/Date/Manip/Offset/off096.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off096;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:48:40';
+
+%Offset        = (
+   0 => [
+      'asia/aqtobe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off097.pm b/lib/Date/Manip/Offset/off097.pm
new file mode 100644
index 0000000..43cd5f1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off097.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off097;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:50:00';
+
+%Offset        = (
+   0 => [
+      'indian/mauritius',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off098.pm b/lib/Date/Manip/Offset/off098.pm
new file mode 100644
index 0000000..622bf07
--- /dev/null
+++ b/lib/Date/Manip/Offset/off098.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off098;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+03:53:32';
+
+%Offset        = (
+   0 => [
+      'asia/ashgabat',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off099.pm b/lib/Date/Manip/Offset/off099.pm
new file mode 100644
index 0000000..a45f8a3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off099.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::Offset::off099;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:00:00';
+
+%Offset        = (
+   0 => [
+      'indian/mauritius',
+      'indian/mahe',
+      'indian/reunion',
+      'asia/dubai',
+      'europe/astrakhan',
+      'europe/samara',
+      'europe/saratov',
+      'europe/ulyanovsk',
+      'asia/baku',
+      'asia/tbilisi',
+      'asia/yerevan',
+      'etc/gmt+4',
+      'q',
+      'europe/kirov',
+      'europe/volgograd',
+      'europe/moscow',
+      'europe/simferopol',
+      'asia/aqtau',
+      'asia/oral',
+      'asia/atyrau',
+      'asia/yekaterinburg',
+      'asia/aqtobe',
+      'asia/ashgabat',
+      'asia/tehran',
+      'asia/qatar',
+      'asia/kabul',
+      'asia/qyzylorda',
+      'asia/samarkand',
+      ],
+   1 => [
+      'europe/moscow',
+      'europe/saratov',
+      'europe/volgograd',
+      'europe/astrakhan',
+      'europe/kirov',
+      'europe/samara',
+      'europe/ulyanovsk',
+      'asia/baghdad',
+      'asia/tbilisi',
+      'europe/simferopol',
+      'asia/yerevan',
+      'asia/baku',
+      'europe/chisinau',
+      'europe/kiev',
+      'europe/zaporozhye',
+      'europe/minsk',
+      'europe/uzhgorod',
+      'europe/kaliningrad',
+      'europe/riga',
+      'europe/tallinn',
+      'europe/vilnius',
+      'europe/istanbul',
+      'asia/jerusalem',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off100.pm b/lib/Date/Manip/Offset/off100.pm
new file mode 100644
index 0000000..4f09a27
--- /dev/null
+++ b/lib/Date/Manip/Offset/off100.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off100;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:02:33';
+
+%Offset        = (
+   0 => [
+      'asia/yekaterinburg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off101.pm b/lib/Date/Manip/Offset/off101.pm
new file mode 100644
index 0000000..9879aed
--- /dev/null
+++ b/lib/Date/Manip/Offset/off101.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off101;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:21:52';
+
+%Offset        = (
+   0 => [
+      'asia/qyzylorda',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off102.pm b/lib/Date/Manip/Offset/off102.pm
new file mode 100644
index 0000000..9800f6c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off102.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off102;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:27:53';
+
+%Offset        = (
+   0 => [
+      'asia/samarkand',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off103.pm b/lib/Date/Manip/Offset/off103.pm
new file mode 100644
index 0000000..96a4328
--- /dev/null
+++ b/lib/Date/Manip/Offset/off103.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off103;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:28:12';
+
+%Offset        = (
+   0 => [
+      'asia/karachi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off104.pm b/lib/Date/Manip/Offset/off104.pm
new file mode 100644
index 0000000..3940ed9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off104.pm
@@ -0,0 +1,42 @@
+package #
+Date::Manip::Offset::off104;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:30:00';
+
+%Offset        = (
+   0 => [
+      'asia/kabul',
+      ],
+   1 => [
+      'asia/tehran',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off105.pm b/lib/Date/Manip/Offset/off105.pm
new file mode 100644
index 0000000..8a773fb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off105.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off105;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:31:19';
+
+%Offset        = (
+   1 => [
+      'europe/moscow',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off106.pm b/lib/Date/Manip/Offset/off106.pm
new file mode 100644
index 0000000..3bc8252
--- /dev/null
+++ b/lib/Date/Manip/Offset/off106.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off106;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:35:12';
+
+%Offset        = (
+   0 => [
+      'asia/dushanbe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off107.pm b/lib/Date/Manip/Offset/off107.pm
new file mode 100644
index 0000000..2820e10
--- /dev/null
+++ b/lib/Date/Manip/Offset/off107.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off107;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:36:48';
+
+%Offset        = (
+   0 => [
+      'asia/kabul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off108.pm b/lib/Date/Manip/Offset/off108.pm
new file mode 100644
index 0000000..9f5a503
--- /dev/null
+++ b/lib/Date/Manip/Offset/off108.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off108;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:37:11';
+
+%Offset        = (
+   0 => [
+      'asia/tashkent',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off109.pm b/lib/Date/Manip/Offset/off109.pm
new file mode 100644
index 0000000..094ea8b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off109.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off109;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:49:40';
+
+%Offset        = (
+   0 => [
+      'indian/chagos',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off110.pm b/lib/Date/Manip/Offset/off110.pm
new file mode 100644
index 0000000..3ccab5d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off110.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off110;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:53:30';
+
+%Offset        = (
+   0 => [
+      'asia/omsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off111.pm b/lib/Date/Manip/Offset/off111.pm
new file mode 100644
index 0000000..d81e808
--- /dev/null
+++ b/lib/Date/Manip/Offset/off111.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off111;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:54:00';
+
+%Offset        = (
+   0 => [
+      'indian/maldives',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off112.pm b/lib/Date/Manip/Offset/off112.pm
new file mode 100644
index 0000000..22c85dd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off112.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off112;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+04:58:24';
+
+%Offset        = (
+   0 => [
+      'asia/bishkek',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off113.pm b/lib/Date/Manip/Offset/off113.pm
new file mode 100644
index 0000000..65b2885
--- /dev/null
+++ b/lib/Date/Manip/Offset/off113.pm
@@ -0,0 +1,80 @@
+package #
+Date::Manip::Offset::off113;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:00:00';
+
+%Offset        = (
+   0 => [
+      'asia/dushanbe',
+      'asia/tashkent',
+      'asia/aqtau',
+      'asia/aqtobe',
+      'asia/ashgabat',
+      'asia/atyrau',
+      'asia/oral',
+      'asia/samarkand',
+      'asia/yekaterinburg',
+      'indian/kerguelen',
+      'asia/karachi',
+      'indian/maldives',
+      'etc/gmt+5',
+      'r',
+      'antarctica/mawson',
+      'asia/bishkek',
+      'asia/qyzylorda',
+      'indian/chagos',
+      'asia/omsk',
+      'asia/almaty',
+      'antarctica/davis',
+      ],
+   1 => [
+      'asia/baku',
+      'asia/yerevan',
+      'europe/samara',
+      'indian/mauritius',
+      'asia/tbilisi',
+      'asia/oral',
+      'asia/aqtau',
+      'asia/atyrau',
+      'asia/aqtobe',
+      'asia/ashgabat',
+      'asia/qyzylorda',
+      'asia/yekaterinburg',
+      'europe/astrakhan',
+      'europe/kirov',
+      'europe/ulyanovsk',
+      'europe/saratov',
+      'europe/volgograd',
+      'asia/tehran',
+      'europe/moscow',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off114.pm b/lib/Date/Manip/Offset/off114.pm
new file mode 100644
index 0000000..7493b54
--- /dev/null
+++ b/lib/Date/Manip/Offset/off114.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off114;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:07:48';
+
+%Offset        = (
+   0 => [
+      'asia/almaty',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off115.pm b/lib/Date/Manip/Offset/off115.pm
new file mode 100644
index 0000000..9aa0855
--- /dev/null
+++ b/lib/Date/Manip/Offset/off115.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off115;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:19:24';
+
+%Offset        = (
+   0 => [
+      'asia/colombo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off116.pm b/lib/Date/Manip/Offset/off116.pm
new file mode 100644
index 0000000..4dbb542
--- /dev/null
+++ b/lib/Date/Manip/Offset/off116.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off116;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:19:32';
+
+%Offset        = (
+   0 => [
+      'asia/colombo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off117.pm b/lib/Date/Manip/Offset/off117.pm
new file mode 100644
index 0000000..aac9b2e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off117.pm
@@ -0,0 +1,44 @@
+package #
+Date::Manip::Offset::off117;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:30:00';
+
+%Offset        = (
+   0 => [
+      'asia/colombo',
+      'asia/kolkata',
+      'asia/thimphu',
+      'asia/kathmandu',
+      'asia/karachi',
+      'asia/dhaka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off118.pm b/lib/Date/Manip/Offset/off118.pm
new file mode 100644
index 0000000..8f57f6b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off118.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off118;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:31:40';
+
+%Offset        = (
+   0 => [
+      'asia/novosibirsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off119.pm b/lib/Date/Manip/Offset/off119.pm
new file mode 100644
index 0000000..cbb9d91
--- /dev/null
+++ b/lib/Date/Manip/Offset/off119.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off119;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:35:00';
+
+%Offset        = (
+   0 => [
+      'asia/barnaul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off120.pm b/lib/Date/Manip/Offset/off120.pm
new file mode 100644
index 0000000..d4ce63c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off120.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off120;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:39:51';
+
+%Offset        = (
+   0 => [
+      'asia/tomsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off121.pm b/lib/Date/Manip/Offset/off121.pm
new file mode 100644
index 0000000..dd3221b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off121.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off121;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:41:16';
+
+%Offset        = (
+   0 => [
+      'asia/kathmandu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off122.pm b/lib/Date/Manip/Offset/off122.pm
new file mode 100644
index 0000000..ef266e0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off122.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off122;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:45:00';
+
+%Offset        = (
+   0 => [
+      'asia/kathmandu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off123.pm b/lib/Date/Manip/Offset/off123.pm
new file mode 100644
index 0000000..5e781b2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off123.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off123;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:48:48';
+
+%Offset        = (
+   0 => [
+      'asia/novokuznetsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off124.pm b/lib/Date/Manip/Offset/off124.pm
new file mode 100644
index 0000000..d87443d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off124.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off124;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:50:20';
+
+%Offset        = (
+   0 => [
+      'asia/urumqi',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off125.pm b/lib/Date/Manip/Offset/off125.pm
new file mode 100644
index 0000000..62b7de2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off125.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off125;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:53:20';
+
+%Offset        = (
+   0 => [
+      'asia/kolkata',
+      'asia/dhaka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off126.pm b/lib/Date/Manip/Offset/off126.pm
new file mode 100644
index 0000000..c41efe7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off126.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off126;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:53:28';
+
+%Offset        = (
+   0 => [
+      'asia/kolkata',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off127.pm b/lib/Date/Manip/Offset/off127.pm
new file mode 100644
index 0000000..145b3a9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off127.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off127;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+05:58:36';
+
+%Offset        = (
+   0 => [
+      'asia/thimphu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off128.pm b/lib/Date/Manip/Offset/off128.pm
new file mode 100644
index 0000000..72855c0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off128.pm
@@ -0,0 +1,82 @@
+package #
+Date::Manip::Offset::off128;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:00:00';
+
+%Offset        = (
+   0 => [
+      'asia/urumqi',
+      'asia/almaty',
+      'asia/bishkek',
+      'asia/omsk',
+      'asia/dhaka',
+      'asia/qyzylorda',
+      'asia/thimphu',
+      'indian/chagos',
+      'etc/gmt+6',
+      's',
+      'antarctica/vostok',
+      'asia/barnaul',
+      'asia/novosibirsk',
+      'asia/tomsk',
+      'asia/yekaterinburg',
+      'asia/novokuznetsk',
+      'asia/colombo',
+      'asia/krasnoyarsk',
+      'asia/dushanbe',
+      'asia/tashkent',
+      'asia/aqtau',
+      'asia/aqtobe',
+      'asia/atyrau',
+      'asia/oral',
+      'asia/samarkand',
+      'asia/hovd',
+      'antarctica/mawson',
+      ],
+   1 => [
+      'asia/yekaterinburg',
+      'asia/karachi',
+      'asia/bishkek',
+      'asia/aqtobe',
+      'asia/qyzylorda',
+      'asia/atyrau',
+      'asia/aqtau',
+      'asia/samarkand',
+      'asia/almaty',
+      'asia/dushanbe',
+      'asia/omsk',
+      'asia/tashkent',
+      'asia/ashgabat',
+      'asia/oral',
+      'asia/colombo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off129.pm b/lib/Date/Manip/Offset/off129.pm
new file mode 100644
index 0000000..296a96e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off129.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off129;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:01:40';
+
+%Offset        = (
+   0 => [
+      'asia/dhaka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off130.pm b/lib/Date/Manip/Offset/off130.pm
new file mode 100644
index 0000000..28264c5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off130.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off130;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:06:36';
+
+%Offset        = (
+   0 => [
+      'asia/hovd',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off131.pm b/lib/Date/Manip/Offset/off131.pm
new file mode 100644
index 0000000..5c5176b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off131.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off131;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:11:26';
+
+%Offset        = (
+   0 => [
+      'asia/krasnoyarsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off132.pm b/lib/Date/Manip/Offset/off132.pm
new file mode 100644
index 0000000..3331f99
--- /dev/null
+++ b/lib/Date/Manip/Offset/off132.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off132;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:24:40';
+
+%Offset        = (
+   0 => [
+      'asia/yangon',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off133.pm b/lib/Date/Manip/Offset/off133.pm
new file mode 100644
index 0000000..8370bf4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off133.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off133;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:27:40';
+
+%Offset        = (
+   0 => [
+      'indian/cocos',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off134.pm b/lib/Date/Manip/Offset/off134.pm
new file mode 100644
index 0000000..e84b9ed
--- /dev/null
+++ b/lib/Date/Manip/Offset/off134.pm
@@ -0,0 +1,48 @@
+package #
+Date::Manip::Offset::off134;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:30:00';
+
+%Offset        = (
+   0 => [
+      'indian/cocos',
+      'asia/yangon',
+      'asia/colombo',
+      'asia/dhaka',
+      'asia/kolkata',
+      ],
+   1 => [
+      'asia/colombo',
+      'asia/karachi',
+      'asia/kolkata',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off135.pm b/lib/Date/Manip/Offset/off135.pm
new file mode 100644
index 0000000..420ab97
--- /dev/null
+++ b/lib/Date/Manip/Offset/off135.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off135;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:42:04';
+
+%Offset        = (
+   0 => [
+      'asia/bangkok',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off136.pm b/lib/Date/Manip/Offset/off136.pm
new file mode 100644
index 0000000..085516e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off136.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off136;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:46:46';
+
+%Offset        = (
+   0 => [
+      'asia/kuala_lumpur',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off137.pm b/lib/Date/Manip/Offset/off137.pm
new file mode 100644
index 0000000..ba892d4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off137.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off137;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:55:25';
+
+%Offset        = (
+   0 => [
+      'asia/singapore',
+      'asia/kuala_lumpur',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off138.pm b/lib/Date/Manip/Offset/off138.pm
new file mode 100644
index 0000000..9f9c421
--- /dev/null
+++ b/lib/Date/Manip/Offset/off138.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off138;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+06:57:05';
+
+%Offset        = (
+   0 => [
+      'asia/irkutsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off139.pm b/lib/Date/Manip/Offset/off139.pm
new file mode 100644
index 0000000..dbc79f4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off139.pm
@@ -0,0 +1,71 @@
+package #
+Date::Manip::Offset::off139;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:00:00';
+
+%Offset        = (
+   0 => [
+      'indian/christmas',
+      'asia/ho_chi_minh',
+      'asia/bangkok',
+      'asia/barnaul',
+      'asia/krasnoyarsk',
+      'asia/novokuznetsk',
+      'asia/novosibirsk',
+      'asia/tomsk',
+      'asia/jakarta',
+      'asia/hovd',
+      'asia/pontianak',
+      'etc/gmt+7',
+      't',
+      'antarctica/davis',
+      'asia/omsk',
+      'asia/irkutsk',
+      'asia/choibalsan',
+      'asia/ulaanbaatar',
+      'asia/kuala_lumpur',
+      'asia/singapore',
+      ],
+   1 => [
+      'asia/omsk',
+      'asia/barnaul',
+      'asia/novokuznetsk',
+      'asia/novosibirsk',
+      'asia/tomsk',
+      'asia/dhaka',
+      'asia/almaty',
+      'asia/krasnoyarsk',
+      'asia/bishkek',
+      'asia/dushanbe',
+      'asia/tashkent',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off140.pm b/lib/Date/Manip/Offset/off140.pm
new file mode 100644
index 0000000..b9bdb67
--- /dev/null
+++ b/lib/Date/Manip/Offset/off140.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off140;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:02:52';
+
+%Offset        = (
+   0 => [
+      'indian/christmas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off141.pm b/lib/Date/Manip/Offset/off141.pm
new file mode 100644
index 0000000..487e6b9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off141.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off141;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:06:30';
+
+%Offset        = (
+   0 => [
+      'asia/ho_chi_minh',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off142.pm b/lib/Date/Manip/Offset/off142.pm
new file mode 100644
index 0000000..9fb6b33
--- /dev/null
+++ b/lib/Date/Manip/Offset/off142.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off142;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:06:40';
+
+%Offset        = (
+   0 => [
+      'asia/ho_chi_minh',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off143.pm b/lib/Date/Manip/Offset/off143.pm
new file mode 100644
index 0000000..552d324
--- /dev/null
+++ b/lib/Date/Manip/Offset/off143.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off143;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:07:12';
+
+%Offset        = (
+   0 => [
+      'asia/jakarta',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off144.pm b/lib/Date/Manip/Offset/off144.pm
new file mode 100644
index 0000000..cec6931
--- /dev/null
+++ b/lib/Date/Manip/Offset/off144.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off144;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:07:32';
+
+%Offset        = (
+   0 => [
+      'asia/ulaanbaatar',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off145.pm b/lib/Date/Manip/Offset/off145.pm
new file mode 100644
index 0000000..d4a777d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off145.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off145;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:17:20';
+
+%Offset        = (
+   0 => [
+      'asia/pontianak',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off146.pm b/lib/Date/Manip/Offset/off146.pm
new file mode 100644
index 0000000..6627a24
--- /dev/null
+++ b/lib/Date/Manip/Offset/off146.pm
@@ -0,0 +1,45 @@
+package #
+Date::Manip::Offset::off146;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:20:00';
+
+%Offset        = (
+   0 => [
+      'asia/kuala_lumpur',
+      'asia/singapore',
+      'asia/jakarta',
+      ],
+   1 => [
+      'asia/kuala_lumpur',
+      'asia/singapore',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off147.pm b/lib/Date/Manip/Offset/off147.pm
new file mode 100644
index 0000000..15173f7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off147.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off147;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:21:20';
+
+%Offset        = (
+   0 => [
+      'asia/kuching',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off148.pm b/lib/Date/Manip/Offset/off148.pm
new file mode 100644
index 0000000..433f6e2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off148.pm
@@ -0,0 +1,44 @@
+package #
+Date::Manip::Offset::off148;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:30:00';
+
+%Offset        = (
+   0 => [
+      'asia/kuala_lumpur',
+      'asia/singapore',
+      'asia/jakarta',
+      'asia/pontianak',
+      'asia/brunei',
+      'asia/kuching',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off149.pm b/lib/Date/Manip/Offset/off149.pm
new file mode 100644
index 0000000..2deb8a9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off149.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off149;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:33:52';
+
+%Offset        = (
+   0 => [
+      'asia/chita',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off150.pm b/lib/Date/Manip/Offset/off150.pm
new file mode 100644
index 0000000..626c887
--- /dev/null
+++ b/lib/Date/Manip/Offset/off150.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off150;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:34:20';
+
+%Offset        = (
+   0 => [
+      'asia/macau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off151.pm b/lib/Date/Manip/Offset/off151.pm
new file mode 100644
index 0000000..02f6c16
--- /dev/null
+++ b/lib/Date/Manip/Offset/off151.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off151;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:36:42';
+
+%Offset        = (
+   0 => [
+      'asia/hong_kong',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off152.pm b/lib/Date/Manip/Offset/off152.pm
new file mode 100644
index 0000000..87e08fe
--- /dev/null
+++ b/lib/Date/Manip/Offset/off152.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off152;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:38:00';
+
+%Offset        = (
+   0 => [
+      'asia/choibalsan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off153.pm b/lib/Date/Manip/Offset/off153.pm
new file mode 100644
index 0000000..ad1a305
--- /dev/null
+++ b/lib/Date/Manip/Offset/off153.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off153;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:39:40';
+
+%Offset        = (
+   0 => [
+      'asia/brunei',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off154.pm b/lib/Date/Manip/Offset/off154.pm
new file mode 100644
index 0000000..b0ef509
--- /dev/null
+++ b/lib/Date/Manip/Offset/off154.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off154;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:43:24';
+
+%Offset        = (
+   0 => [
+      'australia/perth',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off155.pm b/lib/Date/Manip/Offset/off155.pm
new file mode 100644
index 0000000..ef9ef51
--- /dev/null
+++ b/lib/Date/Manip/Offset/off155.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off155;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+07:57:36';
+
+%Offset        = (
+   0 => [
+      'asia/makassar',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off156.pm b/lib/Date/Manip/Offset/off156.pm
new file mode 100644
index 0000000..6e65c98
--- /dev/null
+++ b/lib/Date/Manip/Offset/off156.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::Offset::off156;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:00:00';
+
+%Offset        = (
+   0 => [
+      'asia/taipei',
+      'australia/perth',
+      'asia/manila',
+      'asia/shanghai',
+      'asia/hong_kong',
+      'asia/macau',
+      'asia/irkutsk',
+      'asia/brunei',
+      'asia/kuching',
+      'asia/makassar',
+      'asia/choibalsan',
+      'asia/ulaanbaatar',
+      'asia/kuala_lumpur',
+      'asia/singapore',
+      'etc/gmt+8',
+      'u',
+      'asia/chita',
+      'asia/krasnoyarsk',
+      'asia/dili',
+      'asia/khandyga',
+      'asia/yakutsk',
+      'asia/pontianak',
+      'asia/ho_chi_minh',
+      'asia/jakarta',
+      'asia/ust-nera',
+      'antarctica/casey',
+      ],
+   1 => [
+      'asia/hovd',
+      'asia/krasnoyarsk',
+      'asia/novokuznetsk',
+      'asia/tomsk',
+      'asia/barnaul',
+      'asia/novosibirsk',
+      'asia/irkutsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off157.pm b/lib/Date/Manip/Offset/off157.pm
new file mode 100644
index 0000000..49c559e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off157.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off157;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:04:00';
+
+%Offset        = (
+   0 => [
+      'asia/manila',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off158.pm b/lib/Date/Manip/Offset/off158.pm
new file mode 100644
index 0000000..f89bcff
--- /dev/null
+++ b/lib/Date/Manip/Offset/off158.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off158;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:05:43';
+
+%Offset        = (
+   0 => [
+      'asia/shanghai',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off159.pm b/lib/Date/Manip/Offset/off159.pm
new file mode 100644
index 0000000..cb5b359
--- /dev/null
+++ b/lib/Date/Manip/Offset/off159.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off159;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:06:00';
+
+%Offset        = (
+   0 => [
+      'asia/taipei',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off160.pm b/lib/Date/Manip/Offset/off160.pm
new file mode 100644
index 0000000..51f8d01
--- /dev/null
+++ b/lib/Date/Manip/Offset/off160.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off160;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:20:00';
+
+%Offset        = (
+   1 => [
+      'asia/kuching',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off161.pm b/lib/Date/Manip/Offset/off161.pm
new file mode 100644
index 0000000..1da1e39
--- /dev/null
+++ b/lib/Date/Manip/Offset/off161.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off161;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:22:20';
+
+%Offset        = (
+   0 => [
+      'asia/dili',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off162.pm b/lib/Date/Manip/Offset/off162.pm
new file mode 100644
index 0000000..d2281f3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off162.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off162;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:23:00';
+
+%Offset        = (
+   0 => [
+      'asia/pyongyang',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off163.pm b/lib/Date/Manip/Offset/off163.pm
new file mode 100644
index 0000000..d5abdd5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off163.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off163;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:27:52';
+
+%Offset        = (
+   0 => [
+      'asia/seoul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off164.pm b/lib/Date/Manip/Offset/off164.pm
new file mode 100644
index 0000000..02fbab9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off164.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off164;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:30:00';
+
+%Offset        = (
+   0 => [
+      'asia/pyongyang',
+      'asia/seoul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off165.pm b/lib/Date/Manip/Offset/off165.pm
new file mode 100644
index 0000000..8c1280f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off165.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off165;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:35:28';
+
+%Offset        = (
+   0 => [
+      'australia/eucla',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off166.pm b/lib/Date/Manip/Offset/off166.pm
new file mode 100644
index 0000000..ab1f335
--- /dev/null
+++ b/lib/Date/Manip/Offset/off166.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off166;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:38:58';
+
+%Offset        = (
+   0 => [
+      'asia/yakutsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off167.pm b/lib/Date/Manip/Offset/off167.pm
new file mode 100644
index 0000000..c972c9e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off167.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off167;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:43:20';
+
+%Offset        = (
+   0 => [
+      'australia/darwin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off168.pm b/lib/Date/Manip/Offset/off168.pm
new file mode 100644
index 0000000..ff09ee5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off168.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off168;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:45:00';
+
+%Offset        = (
+   0 => [
+      'australia/eucla',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off169.pm b/lib/Date/Manip/Offset/off169.pm
new file mode 100644
index 0000000..fb38221
--- /dev/null
+++ b/lib/Date/Manip/Offset/off169.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off169;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:47:31';
+
+%Offset        = (
+   0 => [
+      'asia/vladivostok',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off170.pm b/lib/Date/Manip/Offset/off170.pm
new file mode 100644
index 0000000..7502981
--- /dev/null
+++ b/lib/Date/Manip/Offset/off170.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off170;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+08:57:56';
+
+%Offset        = (
+   0 => [
+      'pacific/palau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off171.pm b/lib/Date/Manip/Offset/off171.pm
new file mode 100644
index 0000000..62c1b48
--- /dev/null
+++ b/lib/Date/Manip/Offset/off171.pm
@@ -0,0 +1,84 @@
+package #
+Date::Manip::Offset::off171;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:00:00';
+
+%Offset        = (
+   0 => [
+      'asia/tokyo',
+      'pacific/palau',
+      'asia/seoul',
+      'asia/chita',
+      'asia/khandyga',
+      'asia/yakutsk',
+      'asia/jayapura',
+      'asia/dili',
+      'etc/gmt+9',
+      'v',
+      'asia/pyongyang',
+      'asia/irkutsk',
+      'asia/choibalsan',
+      'asia/vladivostok',
+      'asia/ust-nera',
+      'asia/sakhalin',
+      'asia/taipei',
+      'asia/hong_kong',
+      'asia/jakarta',
+      'asia/kuala_lumpur',
+      'asia/kuching',
+      'asia/makassar',
+      'asia/pontianak',
+      'asia/singapore',
+      'asia/yangon',
+      'pacific/bougainville',
+      'asia/ho_chi_minh',
+      'asia/manila',
+      'pacific/nauru',
+      'australia/adelaide',
+      'australia/darwin',
+      'australia/broken_hill',
+      ],
+   1 => [
+      'asia/ulaanbaatar',
+      'asia/choibalsan',
+      'asia/irkutsk',
+      'australia/perth',
+      'asia/shanghai',
+      'asia/chita',
+      'asia/khandyga',
+      'asia/yakutsk',
+      'asia/macau',
+      'asia/hong_kong',
+      'asia/taipei',
+      'asia/manila',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off172.pm b/lib/Date/Manip/Offset/off172.pm
new file mode 100644
index 0000000..f846361
--- /dev/null
+++ b/lib/Date/Manip/Offset/off172.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off172;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:02:13';
+
+%Offset        = (
+   0 => [
+      'asia/khandyga',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off173.pm b/lib/Date/Manip/Offset/off173.pm
new file mode 100644
index 0000000..b7046ca
--- /dev/null
+++ b/lib/Date/Manip/Offset/off173.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off173;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:14:20';
+
+%Offset        = (
+   0 => [
+      'australia/adelaide',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off174.pm b/lib/Date/Manip/Offset/off174.pm
new file mode 100644
index 0000000..a625efb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off174.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off174;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:18:59';
+
+%Offset        = (
+   0 => [
+      'asia/tokyo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off175.pm b/lib/Date/Manip/Offset/off175.pm
new file mode 100644
index 0000000..b204475
--- /dev/null
+++ b/lib/Date/Manip/Offset/off175.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off175;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:22:48';
+
+%Offset        = (
+   0 => [
+      'asia/jayapura',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off176.pm b/lib/Date/Manip/Offset/off176.pm
new file mode 100644
index 0000000..ff16da1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off176.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off176;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:25:48';
+
+%Offset        = (
+   0 => [
+      'australia/broken_hill',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off177.pm b/lib/Date/Manip/Offset/off177.pm
new file mode 100644
index 0000000..c20dc03
--- /dev/null
+++ b/lib/Date/Manip/Offset/off177.pm
@@ -0,0 +1,45 @@
+package #
+Date::Manip::Offset::off177;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:30:00';
+
+%Offset        = (
+   0 => [
+      'australia/adelaide',
+      'australia/broken_hill',
+      'australia/darwin',
+      'asia/jayapura',
+      ],
+   1 => [
+      'asia/seoul',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off178.pm b/lib/Date/Manip/Offset/off178.pm
new file mode 100644
index 0000000..2f2f754
--- /dev/null
+++ b/lib/Date/Manip/Offset/off178.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off178;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:30:48';
+
+%Offset        = (
+   0 => [
+      'asia/sakhalin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off179.pm b/lib/Date/Manip/Offset/off179.pm
new file mode 100644
index 0000000..63881e3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off179.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off179;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:32:54';
+
+%Offset        = (
+   0 => [
+      'asia/ust-nera',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off180.pm b/lib/Date/Manip/Offset/off180.pm
new file mode 100644
index 0000000..5d15b96
--- /dev/null
+++ b/lib/Date/Manip/Offset/off180.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off180;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:35:28';
+
+%Offset        = (
+   0 => [
+      'australia/currie',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off181.pm b/lib/Date/Manip/Offset/off181.pm
new file mode 100644
index 0000000..d01ebaa
--- /dev/null
+++ b/lib/Date/Manip/Offset/off181.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off181;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:39:00';
+
+%Offset        = (
+   0 => [
+      'pacific/guam',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off182.pm b/lib/Date/Manip/Offset/off182.pm
new file mode 100644
index 0000000..15477a1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off182.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off182;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:39:52';
+
+%Offset        = (
+   0 => [
+      'australia/melbourne',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off183.pm b/lib/Date/Manip/Offset/off183.pm
new file mode 100644
index 0000000..b281e1c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off183.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off183;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:45:00';
+
+%Offset        = (
+   1 => [
+      'australia/eucla',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off184.pm b/lib/Date/Manip/Offset/off184.pm
new file mode 100644
index 0000000..66a20a9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off184.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off184;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:48:32';
+
+%Offset        = (
+   0 => [
+      'pacific/port_moresby',
+      'pacific/bougainville',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off185.pm b/lib/Date/Manip/Offset/off185.pm
new file mode 100644
index 0000000..ef17f88
--- /dev/null
+++ b/lib/Date/Manip/Offset/off185.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off185;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:48:40';
+
+%Offset        = (
+   0 => [
+      'pacific/port_moresby',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off186.pm b/lib/Date/Manip/Offset/off186.pm
new file mode 100644
index 0000000..100d197
--- /dev/null
+++ b/lib/Date/Manip/Offset/off186.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off186;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:49:16';
+
+%Offset        = (
+   0 => [
+      'australia/hobart',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off187.pm b/lib/Date/Manip/Offset/off187.pm
new file mode 100644
index 0000000..0b0fe44
--- /dev/null
+++ b/lib/Date/Manip/Offset/off187.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off187;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+09:55:56';
+
+%Offset        = (
+   0 => [
+      'australia/lindeman',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off188.pm b/lib/Date/Manip/Offset/off188.pm
new file mode 100644
index 0000000..de7f1b3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off188.pm
@@ -0,0 +1,71 @@
+package #
+Date::Manip::Offset::off188;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:00:00';
+
+%Offset        = (
+   0 => [
+      'australia/melbourne',
+      'australia/brisbane',
+      'australia/lindeman',
+      'pacific/port_moresby',
+      'australia/currie',
+      'australia/hobart',
+      'australia/sydney',
+      'pacific/chuuk',
+      'pacific/guam',
+      'asia/vladivostok',
+      'asia/ust-nera',
+      'etc/gmt+10',
+      'w',
+      'antarctica/dumontdurville',
+      'asia/magadan',
+      'asia/sakhalin',
+      'pacific/bougainville',
+      'asia/khandyga',
+      'asia/chita',
+      'asia/yakutsk',
+      'asia/srednekolymsk',
+      'australia/lord_howe',
+      'australia/broken_hill',
+      'antarctica/macquarie',
+      ],
+   1 => [
+      'asia/chita',
+      'asia/yakutsk',
+      'asia/choibalsan',
+      'asia/khandyga',
+      'asia/vladivostok',
+      'asia/seoul',
+      'asia/tokyo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off189.pm b/lib/Date/Manip/Offset/off189.pm
new file mode 100644
index 0000000..b2f3af0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off189.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off189;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:03:12';
+
+%Offset        = (
+   0 => [
+      'asia/magadan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off190.pm b/lib/Date/Manip/Offset/off190.pm
new file mode 100644
index 0000000..7a4b60a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off190.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off190;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:04:52';
+
+%Offset        = (
+   0 => [
+      'australia/sydney',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off191.pm b/lib/Date/Manip/Offset/off191.pm
new file mode 100644
index 0000000..f949648
--- /dev/null
+++ b/lib/Date/Manip/Offset/off191.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off191;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:07:08';
+
+%Offset        = (
+   0 => [
+      'pacific/chuuk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off192.pm b/lib/Date/Manip/Offset/off192.pm
new file mode 100644
index 0000000..4da276e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off192.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off192;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:12:08';
+
+%Offset        = (
+   0 => [
+      'australia/brisbane',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off193.pm b/lib/Date/Manip/Offset/off193.pm
new file mode 100644
index 0000000..5c21493
--- /dev/null
+++ b/lib/Date/Manip/Offset/off193.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off193;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:14:52';
+
+%Offset        = (
+   0 => [
+      'asia/srednekolymsk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off194.pm b/lib/Date/Manip/Offset/off194.pm
new file mode 100644
index 0000000..40bc2a6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off194.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off194;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:22:16';
+
+%Offset        = (
+   0 => [
+      'pacific/bougainville',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off195.pm b/lib/Date/Manip/Offset/off195.pm
new file mode 100644
index 0000000..fb2b30b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off195.pm
@@ -0,0 +1,44 @@
+package #
+Date::Manip::Offset::off195;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:30:00';
+
+%Offset        = (
+   0 => [
+      'australia/lord_howe',
+      ],
+   1 => [
+      'australia/adelaide',
+      'australia/broken_hill',
+      'australia/darwin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off196.pm b/lib/Date/Manip/Offset/off196.pm
new file mode 100644
index 0000000..38ba23e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off196.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off196;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:32:52';
+
+%Offset        = (
+   0 => [
+      'pacific/pohnpei',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off197.pm b/lib/Date/Manip/Offset/off197.pm
new file mode 100644
index 0000000..2c7d2cb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off197.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off197;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:34:36';
+
+%Offset        = (
+   0 => [
+      'asia/kamchatka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off198.pm b/lib/Date/Manip/Offset/off198.pm
new file mode 100644
index 0000000..7005403
--- /dev/null
+++ b/lib/Date/Manip/Offset/off198.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off198;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:36:20';
+
+%Offset        = (
+   0 => [
+      'australia/lord_howe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off199.pm b/lib/Date/Manip/Offset/off199.pm
new file mode 100644
index 0000000..e3f9833
--- /dev/null
+++ b/lib/Date/Manip/Offset/off199.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off199;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:39:48';
+
+%Offset        = (
+   0 => [
+      'pacific/guadalcanal',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off200.pm b/lib/Date/Manip/Offset/off200.pm
new file mode 100644
index 0000000..be8e6ca
--- /dev/null
+++ b/lib/Date/Manip/Offset/off200.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off200;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+10:51:56';
+
+%Offset        = (
+   0 => [
+      'pacific/kosrae',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off201.pm b/lib/Date/Manip/Offset/off201.pm
new file mode 100644
index 0000000..8b74766
--- /dev/null
+++ b/lib/Date/Manip/Offset/off201.pm
@@ -0,0 +1,75 @@
+package #
+Date::Manip::Offset::off201;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/pohnpei',
+      'pacific/kosrae',
+      'pacific/efate',
+      'pacific/guadalcanal',
+      'pacific/noumea',
+      'asia/magadan',
+      'asia/srednekolymsk',
+      'asia/sakhalin',
+      'pacific/bougainville',
+      'pacific/norfolk',
+      'etc/gmt+11',
+      'x',
+      'antarctica/casey',
+      'antarctica/macquarie',
+      'asia/ust-nera',
+      'asia/vladivostok',
+      'asia/kamchatka',
+      'asia/anadyr',
+      'asia/khandyga',
+      'pacific/kwajalein',
+      'pacific/majuro',
+      ],
+   1 => [
+      'australia/melbourne',
+      'australia/currie',
+      'australia/hobart',
+      'australia/sydney',
+      'australia/lord_howe',
+      'asia/vladivostok',
+      'asia/sakhalin',
+      'asia/khandyga',
+      'australia/lindeman',
+      'australia/brisbane',
+      'asia/magadan',
+      'asia/srednekolymsk',
+      'asia/ust-nera',
+      'antarctica/macquarie',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off202.pm b/lib/Date/Manip/Offset/off202.pm
new file mode 100644
index 0000000..2496e0b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off202.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off202;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:05:48';
+
+%Offset        = (
+   0 => [
+      'pacific/noumea',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off203.pm b/lib/Date/Manip/Offset/off203.pm
new file mode 100644
index 0000000..3220d48
--- /dev/null
+++ b/lib/Date/Manip/Offset/off203.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off203;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:06:28';
+
+%Offset        = (
+   0 => [
+      'pacific/wake',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off204.pm b/lib/Date/Manip/Offset/off204.pm
new file mode 100644
index 0000000..879e437
--- /dev/null
+++ b/lib/Date/Manip/Offset/off204.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off204;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:07:40';
+
+%Offset        = (
+   0 => [
+      'pacific/nauru',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off205.pm b/lib/Date/Manip/Offset/off205.pm
new file mode 100644
index 0000000..7217cb9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off205.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off205;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:09:20';
+
+%Offset        = (
+   0 => [
+      'pacific/kwajalein',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off206.pm b/lib/Date/Manip/Offset/off206.pm
new file mode 100644
index 0000000..4d0773a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off206.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off206;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:11:52';
+
+%Offset        = (
+   0 => [
+      'pacific/norfolk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off207.pm b/lib/Date/Manip/Offset/off207.pm
new file mode 100644
index 0000000..bc81cda
--- /dev/null
+++ b/lib/Date/Manip/Offset/off207.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off207;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:12:00';
+
+%Offset        = (
+   0 => [
+      'pacific/norfolk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off208.pm b/lib/Date/Manip/Offset/off208.pm
new file mode 100644
index 0000000..2ee4d50
--- /dev/null
+++ b/lib/Date/Manip/Offset/off208.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off208;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:13:16';
+
+%Offset        = (
+   0 => [
+      'pacific/efate',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off209.pm b/lib/Date/Manip/Offset/off209.pm
new file mode 100644
index 0000000..f68753b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off209.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off209;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:24:48';
+
+%Offset        = (
+   0 => [
+      'pacific/majuro',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off210.pm b/lib/Date/Manip/Offset/off210.pm
new file mode 100644
index 0000000..ee7531d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off210.pm
@@ -0,0 +1,44 @@
+package #
+Date::Manip::Offset::off210;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:30:00';
+
+%Offset        = (
+   0 => [
+      'pacific/norfolk',
+      'pacific/nauru',
+      'pacific/auckland',
+      ],
+   1 => [
+      'australia/lord_howe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off211.pm b/lib/Date/Manip/Offset/off211.pm
new file mode 100644
index 0000000..d28dc18
--- /dev/null
+++ b/lib/Date/Manip/Offset/off211.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off211;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:32:04';
+
+%Offset        = (
+   0 => [
+      'pacific/tarawa',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off212.pm b/lib/Date/Manip/Offset/off212.pm
new file mode 100644
index 0000000..4435b76
--- /dev/null
+++ b/lib/Date/Manip/Offset/off212.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off212;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:39:04';
+
+%Offset        = (
+   0 => [
+      'pacific/auckland',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off213.pm b/lib/Date/Manip/Offset/off213.pm
new file mode 100644
index 0000000..da9806a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off213.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off213;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:49:56';
+
+%Offset        = (
+   0 => [
+      'asia/anadyr',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off214.pm b/lib/Date/Manip/Offset/off214.pm
new file mode 100644
index 0000000..05e02f9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off214.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off214;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:55:44';
+
+%Offset        = (
+   0 => [
+      'pacific/fiji',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off215.pm b/lib/Date/Manip/Offset/off215.pm
new file mode 100644
index 0000000..a40b78f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off215.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off215;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+11:56:52';
+
+%Offset        = (
+   0 => [
+      'pacific/funafuti',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off216.pm b/lib/Date/Manip/Offset/off216.pm
new file mode 100644
index 0000000..f93d425
--- /dev/null
+++ b/lib/Date/Manip/Offset/off216.pm
@@ -0,0 +1,66 @@
+package #
+Date::Manip::Offset::off216;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/tarawa',
+      'pacific/funafuti',
+      'pacific/wake',
+      'pacific/wallis',
+      'pacific/fiji',
+      'asia/anadyr',
+      'asia/kamchatka',
+      'pacific/auckland',
+      'pacific/majuro',
+      'pacific/nauru',
+      'pacific/kwajalein',
+      'etc/gmt+12',
+      'y',
+      'asia/magadan',
+      'asia/srednekolymsk',
+      'asia/ust-nera',
+      'pacific/kosrae',
+      ],
+   1 => [
+      'asia/magadan',
+      'asia/srednekolymsk',
+      'asia/ust-nera',
+      'asia/anadyr',
+      'asia/kamchatka',
+      'pacific/noumea',
+      'asia/sakhalin',
+      'pacific/efate',
+      'pacific/auckland',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off217.pm b/lib/Date/Manip/Offset/off217.pm
new file mode 100644
index 0000000..7c18036
--- /dev/null
+++ b/lib/Date/Manip/Offset/off217.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off217;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:13:21';
+
+%Offset        = (
+   0 => [
+      'america/adak',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off218.pm b/lib/Date/Manip/Offset/off218.pm
new file mode 100644
index 0000000..016c347
--- /dev/null
+++ b/lib/Date/Manip/Offset/off218.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off218;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:13:48';
+
+%Offset        = (
+   0 => [
+      'pacific/chatham',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off219.pm b/lib/Date/Manip/Offset/off219.pm
new file mode 100644
index 0000000..77bd7b9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off219.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off219;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:15:00';
+
+%Offset        = (
+   0 => [
+      'pacific/chatham',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off220.pm b/lib/Date/Manip/Offset/off220.pm
new file mode 100644
index 0000000..9296298
--- /dev/null
+++ b/lib/Date/Manip/Offset/off220.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off220;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:15:20';
+
+%Offset        = (
+   0 => [
+      'pacific/wallis',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off221.pm b/lib/Date/Manip/Offset/off221.pm
new file mode 100644
index 0000000..a30768f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off221.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off221;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:19:20';
+
+%Offset        = (
+   0 => [
+      'pacific/tongatapu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off222.pm b/lib/Date/Manip/Offset/off222.pm
new file mode 100644
index 0000000..f771041
--- /dev/null
+++ b/lib/Date/Manip/Offset/off222.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off222;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:20:00';
+
+%Offset        = (
+   0 => [
+      'pacific/tongatapu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off223.pm b/lib/Date/Manip/Offset/off223.pm
new file mode 100644
index 0000000..5fa5dc1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off223.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off223;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:30:00';
+
+%Offset        = (
+   1 => [
+      'pacific/norfolk',
+      'pacific/auckland',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off224.pm b/lib/Date/Manip/Offset/off224.pm
new file mode 100644
index 0000000..24bd43d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off224.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off224;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:33:04';
+
+%Offset        = (
+   0 => [
+      'pacific/apia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off225.pm b/lib/Date/Manip/Offset/off225.pm
new file mode 100644
index 0000000..c39d687
--- /dev/null
+++ b/lib/Date/Manip/Offset/off225.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off225;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:37:12';
+
+%Offset        = (
+   0 => [
+      'pacific/pago_pago',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off226.pm b/lib/Date/Manip/Offset/off226.pm
new file mode 100644
index 0000000..a11cdf9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off226.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off226;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:45:00';
+
+%Offset        = (
+   0 => [
+      'pacific/chatham',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off227.pm b/lib/Date/Manip/Offset/off227.pm
new file mode 100644
index 0000000..313fc2d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off227.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off227;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+12:58:21';
+
+%Offset        = (
+   0 => [
+      'america/nome',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off228.pm b/lib/Date/Manip/Offset/off228.pm
new file mode 100644
index 0000000..cbc0081
--- /dev/null
+++ b/lib/Date/Manip/Offset/off228.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::Offset::off228;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+13:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/tongatapu',
+      'pacific/enderbury',
+      'pacific/fakaofo',
+      'pacific/apia',
+      'asia/anadyr',
+      ],
+   1 => [
+      'pacific/auckland',
+      'pacific/fiji',
+      'asia/kamchatka',
+      'asia/anadyr',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off229.pm b/lib/Date/Manip/Offset/off229.pm
new file mode 100644
index 0000000..1ed000b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off229.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off229;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+13:45:00';
+
+%Offset        = (
+   1 => [
+      'pacific/chatham',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off230.pm b/lib/Date/Manip/Offset/off230.pm
new file mode 100644
index 0000000..ad61003
--- /dev/null
+++ b/lib/Date/Manip/Offset/off230.pm
@@ -0,0 +1,44 @@
+package #
+Date::Manip::Offset::off230;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+14:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/kiritimati',
+      ],
+   1 => [
+      'pacific/tongatapu',
+      'pacific/apia',
+      'asia/anadyr',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off231.pm b/lib/Date/Manip/Offset/off231.pm
new file mode 100644
index 0000000..1cfa3ff
--- /dev/null
+++ b/lib/Date/Manip/Offset/off231.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off231;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+14:00:24';
+
+%Offset        = (
+   0 => [
+      'america/anchorage',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off232.pm b/lib/Date/Manip/Offset/off232.pm
new file mode 100644
index 0000000..847d457
--- /dev/null
+++ b/lib/Date/Manip/Offset/off232.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off232;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+14:41:05';
+
+%Offset        = (
+   0 => [
+      'america/yakutat',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off233.pm b/lib/Date/Manip/Offset/off233.pm
new file mode 100644
index 0000000..fddc9a3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off233.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off233;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+14:58:47';
+
+%Offset        = (
+   0 => [
+      'america/sitka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off234.pm b/lib/Date/Manip/Offset/off234.pm
new file mode 100644
index 0000000..1918de0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off234.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off234;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+15:02:19';
+
+%Offset        = (
+   0 => [
+      'america/juneau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off235.pm b/lib/Date/Manip/Offset/off235.pm
new file mode 100644
index 0000000..b58a1fd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off235.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off235;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '+15:13:42';
+
+%Offset        = (
+   0 => [
+      'america/metlakatla',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off236.pm b/lib/Date/Manip/Offset/off236.pm
new file mode 100644
index 0000000..2d67463
--- /dev/null
+++ b/lib/Date/Manip/Offset/off236.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off236;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:00:52';
+
+%Offset        = (
+   0 => [
+      'africa/accra',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off237.pm b/lib/Date/Manip/Offset/off237.pm
new file mode 100644
index 0000000..36232dd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off237.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off237;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:01:15';
+
+%Offset        = (
+   0 => [
+      'europe/london',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off238.pm b/lib/Date/Manip/Offset/off238.pm
new file mode 100644
index 0000000..54dd376
--- /dev/null
+++ b/lib/Date/Manip/Offset/off238.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off238;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:14:44';
+
+%Offset        = (
+   0 => [
+      'europe/madrid',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off239.pm b/lib/Date/Manip/Offset/off239.pm
new file mode 100644
index 0000000..7913470
--- /dev/null
+++ b/lib/Date/Manip/Offset/off239.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off239;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:16:08';
+
+%Offset        = (
+   0 => [
+      'africa/abidjan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off240.pm b/lib/Date/Manip/Offset/off240.pm
new file mode 100644
index 0000000..e78517e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off240.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off240;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:21:16';
+
+%Offset        = (
+   0 => [
+      'africa/ceuta',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off241.pm b/lib/Date/Manip/Offset/off241.pm
new file mode 100644
index 0000000..cbecfad
--- /dev/null
+++ b/lib/Date/Manip/Offset/off241.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off241;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:21:24';
+
+%Offset        = (
+   0 => [
+      'europe/gibraltar',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off242.pm b/lib/Date/Manip/Offset/off242.pm
new file mode 100644
index 0000000..940e073
--- /dev/null
+++ b/lib/Date/Manip/Offset/off242.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off242;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:25:00';
+
+%Offset        = (
+   0 => [
+      'europe/dublin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off243.pm b/lib/Date/Manip/Offset/off243.pm
new file mode 100644
index 0000000..294d237
--- /dev/null
+++ b/lib/Date/Manip/Offset/off243.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off243;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:25:21';
+
+%Offset        = (
+   0 => [
+      'europe/dublin',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off244.pm b/lib/Date/Manip/Offset/off244.pm
new file mode 100644
index 0000000..b68ecc9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off244.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off244;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:27:04';
+
+%Offset        = (
+   0 => [
+      'atlantic/faroe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off245.pm b/lib/Date/Manip/Offset/off245.pm
new file mode 100644
index 0000000..070dbac
--- /dev/null
+++ b/lib/Date/Manip/Offset/off245.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off245;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:30:20';
+
+%Offset        = (
+   0 => [
+      'africa/casablanca',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off246.pm b/lib/Date/Manip/Offset/off246.pm
new file mode 100644
index 0000000..30a8baf
--- /dev/null
+++ b/lib/Date/Manip/Offset/off246.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off246;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:36:45';
+
+%Offset        = (
+   0 => [
+      'europe/lisbon',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off247.pm b/lib/Date/Manip/Offset/off247.pm
new file mode 100644
index 0000000..7c521b7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off247.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off247;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:43:08';
+
+%Offset        = (
+   0 => [
+      'africa/monrovia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off248.pm b/lib/Date/Manip/Offset/off248.pm
new file mode 100644
index 0000000..d09120c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off248.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off248;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:44:30';
+
+%Offset        = (
+   0 => [
+      'africa/monrovia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off249.pm b/lib/Date/Manip/Offset/off249.pm
new file mode 100644
index 0000000..154032e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off249.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off249;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-00:52:48';
+
+%Offset        = (
+   0 => [
+      'africa/el_aaiun',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off250.pm b/lib/Date/Manip/Offset/off250.pm
new file mode 100644
index 0000000..ea70067
--- /dev/null
+++ b/lib/Date/Manip/Offset/off250.pm
@@ -0,0 +1,54 @@
+package #
+Date::Manip::Offset::off250;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:00:00';
+
+%Offset        = (
+   0 => [
+      'atlantic/azores',
+      'atlantic/cape_verde',
+      'america/scoresbysund',
+      'etc/gmt-1',
+      'a',
+      'africa/el_aaiun',
+      'africa/bissau',
+      'atlantic/reykjavik',
+      'atlantic/madeira',
+      'atlantic/canary',
+      ],
+   1 => [
+      'america/noronha',
+      'america/scoresbysund',
+      'atlantic/azores',
+      'atlantic/cape_verde',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off251.pm b/lib/Date/Manip/Offset/off251.pm
new file mode 100644
index 0000000..3db40fd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off251.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off251;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:01:36';
+
+%Offset        = (
+   0 => [
+      'atlantic/canary',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off252.pm b/lib/Date/Manip/Offset/off252.pm
new file mode 100644
index 0000000..5124a64
--- /dev/null
+++ b/lib/Date/Manip/Offset/off252.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off252;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:02:20';
+
+%Offset        = (
+   0 => [
+      'africa/bissau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off253.pm b/lib/Date/Manip/Offset/off253.pm
new file mode 100644
index 0000000..fec8eff
--- /dev/null
+++ b/lib/Date/Manip/Offset/off253.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off253;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:07:36';
+
+%Offset        = (
+   0 => [
+      'atlantic/madeira',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off254.pm b/lib/Date/Manip/Offset/off254.pm
new file mode 100644
index 0000000..83301fa
--- /dev/null
+++ b/lib/Date/Manip/Offset/off254.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off254;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:14:40';
+
+%Offset        = (
+   0 => [
+      'america/danmarkshavn',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off255.pm b/lib/Date/Manip/Offset/off255.pm
new file mode 100644
index 0000000..4c2006e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off255.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off255;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:27:52';
+
+%Offset        = (
+   0 => [
+      'america/scoresbysund',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off256.pm b/lib/Date/Manip/Offset/off256.pm
new file mode 100644
index 0000000..574cabd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off256.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off256;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:28:00';
+
+%Offset        = (
+   0 => [
+      'atlantic/reykjavik',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off257.pm b/lib/Date/Manip/Offset/off257.pm
new file mode 100644
index 0000000..f6ddf9e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off257.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off257;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:30:00';
+
+%Offset        = (
+   1 => [
+      'america/st_johns',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off258.pm b/lib/Date/Manip/Offset/off258.pm
new file mode 100644
index 0000000..71d19fd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off258.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off258;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:34:04';
+
+%Offset        = (
+   0 => [
+      'atlantic/cape_verde',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off259.pm b/lib/Date/Manip/Offset/off259.pm
new file mode 100644
index 0000000..c75e34f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off259.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off259;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:42:40';
+
+%Offset        = (
+   0 => [
+      'atlantic/azores',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off260.pm b/lib/Date/Manip/Offset/off260.pm
new file mode 100644
index 0000000..945424f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off260.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off260;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-01:54:32';
+
+%Offset        = (
+   0 => [
+      'atlantic/azores',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off261.pm b/lib/Date/Manip/Offset/off261.pm
new file mode 100644
index 0000000..0ff314d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off261.pm
@@ -0,0 +1,74 @@
+package #
+Date::Manip::Offset::off261;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:00:00';
+
+%Offset        = (
+   0 => [
+      'atlantic/south_georgia',
+      'america/noronha',
+      'etc/gmt-2',
+      'b',
+      'america/scoresbysund',
+      'atlantic/cape_verde',
+      'atlantic/azores',
+      ],
+   1 => [
+      'america/sao_paulo',
+      'america/godthab',
+      'america/miquelon',
+      'america/montevideo',
+      'america/araguaina',
+      'america/bahia',
+      'america/argentina/buenos_aires',
+      'america/argentina/cordoba',
+      'america/argentina/tucuman',
+      'america/argentina/catamarca',
+      'america/argentina/jujuy',
+      'america/argentina/la_rioja',
+      'america/argentina/mendoza',
+      'america/argentina/rio_gallegos',
+      'america/argentina/salta',
+      'america/argentina/san_juan',
+      'america/argentina/san_luis',
+      'america/argentina/ushuaia',
+      'america/fortaleza',
+      'america/maceio',
+      'america/recife',
+      'america/danmarkshavn',
+      'america/belem',
+      'america/goose_bay',
+      'atlantic/stanley',
+      'america/pangnirtung',
+      'antarctica/palmer',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off262.pm b/lib/Date/Manip/Offset/off262.pm
new file mode 100644
index 0000000..ddab27f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off262.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off262;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:09:40';
+
+%Offset        = (
+   0 => [
+      'america/noronha',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off263.pm b/lib/Date/Manip/Offset/off263.pm
new file mode 100644
index 0000000..66ea0d1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off263.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off263;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:19:36';
+
+%Offset        = (
+   0 => [
+      'america/recife',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off264.pm b/lib/Date/Manip/Offset/off264.pm
new file mode 100644
index 0000000..44fb626
--- /dev/null
+++ b/lib/Date/Manip/Offset/off264.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off264;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:22:52';
+
+%Offset        = (
+   0 => [
+      'america/maceio',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off265.pm b/lib/Date/Manip/Offset/off265.pm
new file mode 100644
index 0000000..697eb89
--- /dev/null
+++ b/lib/Date/Manip/Offset/off265.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off265;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:26:08';
+
+%Offset        = (
+   0 => [
+      'atlantic/south_georgia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off266.pm b/lib/Date/Manip/Offset/off266.pm
new file mode 100644
index 0000000..a71bf63
--- /dev/null
+++ b/lib/Date/Manip/Offset/off266.pm
@@ -0,0 +1,41 @@
+package #
+Date::Manip::Offset::off266;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:30:00';
+
+%Offset        = (
+   1 => [
+      'america/st_johns',
+      'america/montevideo',
+      'america/goose_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off267.pm b/lib/Date/Manip/Offset/off267.pm
new file mode 100644
index 0000000..bd3f442
--- /dev/null
+++ b/lib/Date/Manip/Offset/off267.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off267;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:30:52';
+
+%Offset        = (
+   1 => [
+      'america/st_johns',
+      'america/goose_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off268.pm b/lib/Date/Manip/Offset/off268.pm
new file mode 100644
index 0000000..cfba89b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off268.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off268;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:34:00';
+
+%Offset        = (
+   0 => [
+      'america/fortaleza',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off269.pm b/lib/Date/Manip/Offset/off269.pm
new file mode 100644
index 0000000..efbbfd4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off269.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off269;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-02:34:04';
+
+%Offset        = (
+   0 => [
+      'america/bahia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off270.pm b/lib/Date/Manip/Offset/off270.pm
new file mode 100644
index 0000000..b7e9bec
--- /dev/null
+++ b/lib/Date/Manip/Offset/off270.pm
@@ -0,0 +1,110 @@
+package #
+Date::Manip::Offset::off270;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:00:00';
+
+%Offset        = (
+   0 => [
+      'america/sao_paulo',
+      'america/araguaina',
+      'america/bahia',
+      'america/belem',
+      'america/fortaleza',
+      'america/maceio',
+      'america/recife',
+      'america/godthab',
+      'america/montevideo',
+      'america/cayenne',
+      'america/argentina/buenos_aires',
+      'america/argentina/catamarca',
+      'america/argentina/cordoba',
+      'america/argentina/jujuy',
+      'america/argentina/la_rioja',
+      'america/argentina/mendoza',
+      'america/argentina/rio_gallegos',
+      'america/argentina/salta',
+      'america/argentina/san_juan',
+      'america/argentina/san_luis',
+      'america/argentina/tucuman',
+      'america/argentina/ushuaia',
+      'america/miquelon',
+      'atlantic/stanley',
+      'america/paramaribo',
+      'america/santarem',
+      'america/punta_arenas',
+      'etc/gmt-3',
+      'c',
+      'antarctica/palmer',
+      'antarctica/rothera',
+      'america/danmarkshavn',
+      'america/guyana',
+      'america/asuncion',
+      ],
+   1 => [
+      'america/halifax',
+      'america/glace_bay',
+      'america/moncton',
+      'america/campo_grande',
+      'america/cuiaba',
+      'america/santiago',
+      'america/goose_bay',
+      'atlantic/bermuda',
+      'america/asuncion',
+      'america/thule',
+      'america/punta_arenas',
+      'atlantic/stanley',
+      'america/argentina/san_luis',
+      'america/argentina/buenos_aires',
+      'america/argentina/catamarca',
+      'america/argentina/cordoba',
+      'america/argentina/jujuy',
+      'america/argentina/la_rioja',
+      'america/argentina/mendoza',
+      'america/argentina/rio_gallegos',
+      'america/argentina/salta',
+      'america/argentina/san_juan',
+      'america/argentina/tucuman',
+      'america/argentina/ushuaia',
+      'america/boa_vista',
+      'america/manaus',
+      'america/pangnirtung',
+      'america/porto_velho',
+      'america/santarem',
+      'america/barbados',
+      'america/martinique',
+      'america/iqaluit',
+      'america/blanc-sablon',
+      'america/puerto_rico',
+      'america/montevideo',
+      'antarctica/palmer',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off271.pm b/lib/Date/Manip/Offset/off271.pm
new file mode 100644
index 0000000..e6a87f9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off271.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off271;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:06:28';
+
+%Offset        = (
+   0 => [
+      'america/sao_paulo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off272.pm b/lib/Date/Manip/Offset/off272.pm
new file mode 100644
index 0000000..69746d3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off272.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off272;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:12:48';
+
+%Offset        = (
+   0 => [
+      'america/araguaina',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off273.pm b/lib/Date/Manip/Offset/off273.pm
new file mode 100644
index 0000000..2cef05d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off273.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off273;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:13:56';
+
+%Offset        = (
+   0 => [
+      'america/belem',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off274.pm b/lib/Date/Manip/Offset/off274.pm
new file mode 100644
index 0000000..e6e7843
--- /dev/null
+++ b/lib/Date/Manip/Offset/off274.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off274;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:26:56';
+
+%Offset        = (
+   0 => [
+      'america/godthab',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off275.pm b/lib/Date/Manip/Offset/off275.pm
new file mode 100644
index 0000000..f2a8ed2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off275.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off275;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:29:20';
+
+%Offset        = (
+   0 => [
+      'america/cayenne',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off276.pm b/lib/Date/Manip/Offset/off276.pm
new file mode 100644
index 0000000..aeb7a17
--- /dev/null
+++ b/lib/Date/Manip/Offset/off276.pm
@@ -0,0 +1,42 @@
+package #
+Date::Manip::Offset::off276;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:30:00';
+
+%Offset        = (
+   0 => [
+      'america/st_johns',
+      'america/paramaribo',
+      'america/goose_bay',
+      'america/montevideo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off277.pm b/lib/Date/Manip/Offset/off277.pm
new file mode 100644
index 0000000..b5d53b6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off277.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off277;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:30:52';
+
+%Offset        = (
+   0 => [
+      'america/st_johns',
+      'america/goose_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off278.pm b/lib/Date/Manip/Offset/off278.pm
new file mode 100644
index 0000000..ef2ec45
--- /dev/null
+++ b/lib/Date/Manip/Offset/off278.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off278;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:32:36';
+
+%Offset        = (
+   1 => [
+      'america/la_paz',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off279.pm b/lib/Date/Manip/Offset/off279.pm
new file mode 100644
index 0000000..da3e6c0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off279.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off279;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:38:28';
+
+%Offset        = (
+   0 => [
+      'america/campo_grande',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off280.pm b/lib/Date/Manip/Offset/off280.pm
new file mode 100644
index 0000000..0d55add
--- /dev/null
+++ b/lib/Date/Manip/Offset/off280.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off280;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:38:48';
+
+%Offset        = (
+   0 => [
+      'america/santarem',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off281.pm b/lib/Date/Manip/Offset/off281.pm
new file mode 100644
index 0000000..1f4d2ae
--- /dev/null
+++ b/lib/Date/Manip/Offset/off281.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off281;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:40:36';
+
+%Offset        = (
+   0 => [
+      'america/paramaribo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off282.pm b/lib/Date/Manip/Offset/off282.pm
new file mode 100644
index 0000000..d90e9b9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off282.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off282;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:40:40';
+
+%Offset        = (
+   0 => [
+      'america/paramaribo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off283.pm b/lib/Date/Manip/Offset/off283.pm
new file mode 100644
index 0000000..8f9b7fe
--- /dev/null
+++ b/lib/Date/Manip/Offset/off283.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off283;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:40:52';
+
+%Offset        = (
+   0 => [
+      'america/paramaribo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off284.pm b/lib/Date/Manip/Offset/off284.pm
new file mode 100644
index 0000000..ca6b323
--- /dev/null
+++ b/lib/Date/Manip/Offset/off284.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off284;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:44:20';
+
+%Offset        = (
+   0 => [
+      'america/cuiaba',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off285.pm b/lib/Date/Manip/Offset/off285.pm
new file mode 100644
index 0000000..160e42c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off285.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off285;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:44:40';
+
+%Offset        = (
+   0 => [
+      'america/miquelon',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off286.pm b/lib/Date/Manip/Offset/off286.pm
new file mode 100644
index 0000000..ddb8b1a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off286.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off286;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:44:44';
+
+%Offset        = (
+   0 => [
+      'america/montevideo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off287.pm b/lib/Date/Manip/Offset/off287.pm
new file mode 100644
index 0000000..8cf29fe
--- /dev/null
+++ b/lib/Date/Manip/Offset/off287.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off287;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:45:00';
+
+%Offset        = (
+   0 => [
+      'america/guyana',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off288.pm b/lib/Date/Manip/Offset/off288.pm
new file mode 100644
index 0000000..89ea9e4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off288.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off288;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:48:28';
+
+%Offset        = (
+   0 => [
+      'america/blanc-sablon',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off289.pm b/lib/Date/Manip/Offset/off289.pm
new file mode 100644
index 0000000..19d8398
--- /dev/null
+++ b/lib/Date/Manip/Offset/off289.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off289;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:50:40';
+
+%Offset        = (
+   0 => [
+      'america/asuncion',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off290.pm b/lib/Date/Manip/Offset/off290.pm
new file mode 100644
index 0000000..2d3036d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off290.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off290;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:51:24';
+
+%Offset        = (
+   0 => [
+      'atlantic/stanley',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off291.pm b/lib/Date/Manip/Offset/off291.pm
new file mode 100644
index 0000000..fa797bd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off291.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off291;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:52:40';
+
+%Offset        = (
+   0 => [
+      'america/guyana',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off292.pm b/lib/Date/Manip/Offset/off292.pm
new file mode 100644
index 0000000..7f91dea
--- /dev/null
+++ b/lib/Date/Manip/Offset/off292.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off292;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:53:48';
+
+%Offset        = (
+   0 => [
+      'america/argentina/buenos_aires',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off293.pm b/lib/Date/Manip/Offset/off293.pm
new file mode 100644
index 0000000..568151b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off293.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off293;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:58:29';
+
+%Offset        = (
+   0 => [
+      'america/barbados',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off294.pm b/lib/Date/Manip/Offset/off294.pm
new file mode 100644
index 0000000..f5f0965
--- /dev/null
+++ b/lib/Date/Manip/Offset/off294.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off294;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-03:59:48';
+
+%Offset        = (
+   0 => [
+      'america/glace_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off295.pm b/lib/Date/Manip/Offset/off295.pm
new file mode 100644
index 0000000..29f642e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off295.pm
@@ -0,0 +1,119 @@
+package #
+Date::Manip::Offset::off295;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:00:00';
+
+%Offset        = (
+   0 => [
+      'america/blanc-sablon',
+      'america/puerto_rico',
+      'america/glace_bay',
+      'america/halifax',
+      'america/moncton',
+      'america/martinique',
+      'america/port_of_spain',
+      'america/boa_vista',
+      'america/campo_grande',
+      'america/cuiaba',
+      'america/manaus',
+      'america/porto_velho',
+      'america/thule',
+      'america/santiago',
+      'atlantic/bermuda',
+      'america/asuncion',
+      'america/barbados',
+      'america/la_paz',
+      'america/caracas',
+      'america/curacao',
+      'america/goose_bay',
+      'america/santo_domingo',
+      'america/guyana',
+      'america/grand_turk',
+      'etc/gmt-4',
+      'd',
+      'america/punta_arenas',
+      'america/eirunepe',
+      'america/rio_branco',
+      'atlantic/stanley',
+      'america/argentina/san_luis',
+      'america/santarem',
+      'america/argentina/catamarca',
+      'america/argentina/la_rioja',
+      'america/argentina/mendoza',
+      'america/argentina/rio_gallegos',
+      'america/argentina/san_juan',
+      'america/argentina/tucuman',
+      'america/argentina/ushuaia',
+      'america/pangnirtung',
+      'america/argentina/cordoba',
+      'america/argentina/jujuy',
+      'america/argentina/salta',
+      'america/miquelon',
+      'america/argentina/buenos_aires',
+      'america/cayenne',
+      'antarctica/palmer',
+      ],
+   1 => [
+      'america/new_york',
+      'america/nipigon',
+      'america/toronto',
+      'america/havana',
+      'america/detroit',
+      'america/iqaluit',
+      'america/thunder_bay',
+      'america/nassau',
+      'america/kentucky/louisville',
+      'america/indiana/indianapolis',
+      'america/indiana/marengo',
+      'america/indiana/vevay',
+      'america/indiana/vincennes',
+      'america/indiana/winamac',
+      'america/port-au-prince',
+      'america/pangnirtung',
+      'america/kentucky/monticello',
+      'america/indiana/petersburg',
+      'america/grand_turk',
+      'america/cancun',
+      'america/eirunepe',
+      'america/lima',
+      'america/bogota',
+      'america/guayaquil',
+      'america/rio_branco',
+      'america/jamaica',
+      'america/indiana/tell_city',
+      'america/santo_domingo',
+      'america/rankin_inlet',
+      'america/resolute',
+      'america/punta_arenas',
+      'america/santiago',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off296.pm b/lib/Date/Manip/Offset/off296.pm
new file mode 100644
index 0000000..a70e8d5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off296.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off296;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:00:04';
+
+%Offset        = (
+   0 => [
+      'america/manaus',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off297.pm b/lib/Date/Manip/Offset/off297.pm
new file mode 100644
index 0000000..2e649d0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off297.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off297;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:01:40';
+
+%Offset        = (
+   0 => [
+      'america/goose_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off298.pm b/lib/Date/Manip/Offset/off298.pm
new file mode 100644
index 0000000..1f69a92
--- /dev/null
+++ b/lib/Date/Manip/Offset/off298.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off298;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:02:40';
+
+%Offset        = (
+   0 => [
+      'america/boa_vista',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off299.pm b/lib/Date/Manip/Offset/off299.pm
new file mode 100644
index 0000000..5914150
--- /dev/null
+++ b/lib/Date/Manip/Offset/off299.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off299;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:04:20';
+
+%Offset        = (
+   0 => [
+      'america/martinique',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off300.pm b/lib/Date/Manip/Offset/off300.pm
new file mode 100644
index 0000000..d11e506
--- /dev/null
+++ b/lib/Date/Manip/Offset/off300.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off300;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:06:04';
+
+%Offset        = (
+   0 => [
+      'america/port_of_spain',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off301.pm b/lib/Date/Manip/Offset/off301.pm
new file mode 100644
index 0000000..c573259
--- /dev/null
+++ b/lib/Date/Manip/Offset/off301.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off301;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:14:24';
+
+%Offset        = (
+   0 => [
+      'america/halifax',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off302.pm b/lib/Date/Manip/Offset/off302.pm
new file mode 100644
index 0000000..9cee845
--- /dev/null
+++ b/lib/Date/Manip/Offset/off302.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off302;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:15:36';
+
+%Offset        = (
+   0 => [
+      'america/porto_velho',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off303.pm b/lib/Date/Manip/Offset/off303.pm
new file mode 100644
index 0000000..7661578
--- /dev/null
+++ b/lib/Date/Manip/Offset/off303.pm
@@ -0,0 +1,50 @@
+package #
+Date::Manip::Offset::off303;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:16:48';
+
+%Offset        = (
+   0 => [
+      'america/argentina/cordoba',
+      'america/argentina/buenos_aires',
+      'america/argentina/catamarca',
+      'america/argentina/jujuy',
+      'america/argentina/la_rioja',
+      'america/argentina/mendoza',
+      'america/argentina/rio_gallegos',
+      'america/argentina/salta',
+      'america/argentina/san_juan',
+      'america/argentina/san_luis',
+      'america/argentina/tucuman',
+      'america/argentina/ushuaia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off304.pm b/lib/Date/Manip/Offset/off304.pm
new file mode 100644
index 0000000..810bfb0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off304.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off304;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:19:08';
+
+%Offset        = (
+   0 => [
+      'america/moncton',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off305.pm b/lib/Date/Manip/Offset/off305.pm
new file mode 100644
index 0000000..16293e5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off305.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off305;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:19:18';
+
+%Offset        = (
+   0 => [
+      'atlantic/bermuda',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off306.pm b/lib/Date/Manip/Offset/off306.pm
new file mode 100644
index 0000000..f3cba70
--- /dev/null
+++ b/lib/Date/Manip/Offset/off306.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off306;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:20:52';
+
+%Offset        = (
+   0 => [
+      'america/argentina/tucuman',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off307.pm b/lib/Date/Manip/Offset/off307.pm
new file mode 100644
index 0000000..249558a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off307.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off307;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:21:12';
+
+%Offset        = (
+   0 => [
+      'america/argentina/jujuy',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off308.pm b/lib/Date/Manip/Offset/off308.pm
new file mode 100644
index 0000000..03039de
--- /dev/null
+++ b/lib/Date/Manip/Offset/off308.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off308;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:21:40';
+
+%Offset        = (
+   0 => [
+      'america/argentina/salta',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off309.pm b/lib/Date/Manip/Offset/off309.pm
new file mode 100644
index 0000000..1dad786
--- /dev/null
+++ b/lib/Date/Manip/Offset/off309.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off309;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:23:08';
+
+%Offset        = (
+   0 => [
+      'america/argentina/catamarca',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off310.pm b/lib/Date/Manip/Offset/off310.pm
new file mode 100644
index 0000000..6c298b4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off310.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off310;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:24:25';
+
+%Offset        = (
+   0 => [
+      'america/puerto_rico',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off311.pm b/lib/Date/Manip/Offset/off311.pm
new file mode 100644
index 0000000..2493b06
--- /dev/null
+++ b/lib/Date/Manip/Offset/off311.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off311;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:25:24';
+
+%Offset        = (
+   0 => [
+      'america/argentina/san_luis',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off312.pm b/lib/Date/Manip/Offset/off312.pm
new file mode 100644
index 0000000..f15234c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off312.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off312;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:27:24';
+
+%Offset        = (
+   0 => [
+      'america/argentina/la_rioja',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off313.pm b/lib/Date/Manip/Offset/off313.pm
new file mode 100644
index 0000000..01c651e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off313.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off313;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:27:40';
+
+%Offset        = (
+   0 => [
+      'america/caracas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off314.pm b/lib/Date/Manip/Offset/off314.pm
new file mode 100644
index 0000000..c6c1e86
--- /dev/null
+++ b/lib/Date/Manip/Offset/off314.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off314;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:27:44';
+
+%Offset        = (
+   0 => [
+      'america/caracas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off315.pm b/lib/Date/Manip/Offset/off315.pm
new file mode 100644
index 0000000..b7f3447
--- /dev/null
+++ b/lib/Date/Manip/Offset/off315.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::Offset::off315;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:30:00';
+
+%Offset        = (
+   0 => [
+      'america/caracas',
+      'america/curacao',
+      ],
+   1 => [
+      'america/santo_domingo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off316.pm b/lib/Date/Manip/Offset/off316.pm
new file mode 100644
index 0000000..87a4927
--- /dev/null
+++ b/lib/Date/Manip/Offset/off316.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off316;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:31:12';
+
+%Offset        = (
+   0 => [
+      'america/rio_branco',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off317.pm b/lib/Date/Manip/Offset/off317.pm
new file mode 100644
index 0000000..4530c6d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off317.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off317;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:32:36';
+
+%Offset        = (
+   0 => [
+      'america/la_paz',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off318.pm b/lib/Date/Manip/Offset/off318.pm
new file mode 100644
index 0000000..971dc9e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off318.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off318;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:33:12';
+
+%Offset        = (
+   0 => [
+      'america/argentina/ushuaia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off319.pm b/lib/Date/Manip/Offset/off319.pm
new file mode 100644
index 0000000..05f4651
--- /dev/null
+++ b/lib/Date/Manip/Offset/off319.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off319;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:34:04';
+
+%Offset        = (
+   0 => [
+      'america/argentina/san_juan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off320.pm b/lib/Date/Manip/Offset/off320.pm
new file mode 100644
index 0000000..f518836
--- /dev/null
+++ b/lib/Date/Manip/Offset/off320.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off320;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:35:08';
+
+%Offset        = (
+   0 => [
+      'america/thule',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off321.pm b/lib/Date/Manip/Offset/off321.pm
new file mode 100644
index 0000000..00ec920
--- /dev/null
+++ b/lib/Date/Manip/Offset/off321.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off321;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:35:16';
+
+%Offset        = (
+   0 => [
+      'america/argentina/mendoza',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off322.pm b/lib/Date/Manip/Offset/off322.pm
new file mode 100644
index 0000000..beb6f47
--- /dev/null
+++ b/lib/Date/Manip/Offset/off322.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off322;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:35:47';
+
+%Offset        = (
+   0 => [
+      'america/curacao',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off323.pm b/lib/Date/Manip/Offset/off323.pm
new file mode 100644
index 0000000..cbfa460
--- /dev/null
+++ b/lib/Date/Manip/Offset/off323.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off323;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:36:52';
+
+%Offset        = (
+   0 => [
+      'america/argentina/rio_gallegos',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off324.pm b/lib/Date/Manip/Offset/off324.pm
new file mode 100644
index 0000000..70b1a6b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off324.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off324;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:39:28';
+
+%Offset        = (
+   0 => [
+      'america/eirunepe',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off325.pm b/lib/Date/Manip/Offset/off325.pm
new file mode 100644
index 0000000..409d5dd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off325.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off325;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:39:36';
+
+%Offset        = (
+   0 => [
+      'america/santo_domingo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off326.pm b/lib/Date/Manip/Offset/off326.pm
new file mode 100644
index 0000000..bccf904
--- /dev/null
+++ b/lib/Date/Manip/Offset/off326.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off326;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:40:00';
+
+%Offset        = (
+   0 => [
+      'america/santo_domingo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off327.pm b/lib/Date/Manip/Offset/off327.pm
new file mode 100644
index 0000000..3e19309
--- /dev/null
+++ b/lib/Date/Manip/Offset/off327.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off327;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:42:46';
+
+%Offset        = (
+   0 => [
+      'america/santiago',
+      'america/punta_arenas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off328.pm b/lib/Date/Manip/Offset/off328.pm
new file mode 100644
index 0000000..cc6cc09
--- /dev/null
+++ b/lib/Date/Manip/Offset/off328.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off328;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:43:40';
+
+%Offset        = (
+   0 => [
+      'america/punta_arenas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off329.pm b/lib/Date/Manip/Offset/off329.pm
new file mode 100644
index 0000000..c4e8148
--- /dev/null
+++ b/lib/Date/Manip/Offset/off329.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off329;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:44:32';
+
+%Offset        = (
+   0 => [
+      'america/grand_turk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off330.pm b/lib/Date/Manip/Offset/off330.pm
new file mode 100644
index 0000000..a943469
--- /dev/null
+++ b/lib/Date/Manip/Offset/off330.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off330;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:49:00';
+
+%Offset        = (
+   0 => [
+      'america/port-au-prince',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off331.pm b/lib/Date/Manip/Offset/off331.pm
new file mode 100644
index 0000000..84d3c1b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off331.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off331;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:49:20';
+
+%Offset        = (
+   0 => [
+      'america/port-au-prince',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off332.pm b/lib/Date/Manip/Offset/off332.pm
new file mode 100644
index 0000000..fefe847
--- /dev/null
+++ b/lib/Date/Manip/Offset/off332.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off332;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:56:02';
+
+%Offset        = (
+   0 => [
+      'america/new_york',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off333.pm b/lib/Date/Manip/Offset/off333.pm
new file mode 100644
index 0000000..473a93d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off333.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off333;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-04:56:16';
+
+%Offset        = (
+   0 => [
+      'america/bogota',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off334.pm b/lib/Date/Manip/Offset/off334.pm
new file mode 100644
index 0000000..205130b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off334.pm
@@ -0,0 +1,124 @@
+package #
+Date::Manip::Offset::off334;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:00:00';
+
+%Offset        = (
+   0 => [
+      'america/new_york',
+      'america/nipigon',
+      'america/toronto',
+      'america/lima',
+      'america/panama',
+      'america/thunder_bay',
+      'america/jamaica',
+      'america/nassau',
+      'america/bogota',
+      'america/eirunepe',
+      'america/rio_branco',
+      'america/detroit',
+      'america/port-au-prince',
+      'america/havana',
+      'america/guayaquil',
+      'america/atikokan',
+      'america/iqaluit',
+      'america/indiana/vevay',
+      'america/indiana/indianapolis',
+      'america/indiana/marengo',
+      'america/indiana/winamac',
+      'america/kentucky/louisville',
+      'america/indiana/vincennes',
+      'america/indiana/petersburg',
+      'america/cancun',
+      'america/pangnirtung',
+      'america/kentucky/monticello',
+      'etc/gmt-5',
+      'e',
+      'america/grand_turk',
+      'america/resolute',
+      'america/indiana/knox',
+      'america/indiana/tell_city',
+      'america/rankin_inlet',
+      'america/santo_domingo',
+      'america/cambridge_bay',
+      'america/managua',
+      'pacific/galapagos',
+      'america/merida',
+      'america/menominee',
+      'america/punta_arenas',
+      'america/santiago',
+      'america/chicago',
+      'america/moncton',
+      ],
+   1 => [
+      'america/chicago',
+      'america/winnipeg',
+      'america/indiana/knox',
+      'america/indiana/tell_city',
+      'america/menominee',
+      'america/rainy_river',
+      'america/mexico_city',
+      'america/rankin_inlet',
+      'america/resolute',
+      'pacific/easter',
+      'america/matamoros',
+      'america/monterrey',
+      'america/north_dakota/center',
+      'america/merida',
+      'america/north_dakota/new_salem',
+      'america/bahia_banderas',
+      'america/north_dakota/beulah',
+      'america/cancun',
+      'america/indiana/petersburg',
+      'america/indiana/vincennes',
+      'america/indiana/winamac',
+      'america/guatemala',
+      'america/managua',
+      'america/tegucigalpa',
+      'america/kentucky/monticello',
+      'america/cambridge_bay',
+      'america/iqaluit',
+      'america/pangnirtung',
+      'america/chihuahua',
+      'america/ojinaga',
+      'pacific/galapagos',
+      'america/costa_rica',
+      'america/el_salvador',
+      'america/belize',
+      'america/indiana/marengo',
+      'america/kentucky/louisville',
+      'america/yellowknife',
+      'america/indiana/indianapolis',
+      'america/atikokan',
+      'america/indiana/vevay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off335.pm b/lib/Date/Manip/Offset/off335.pm
new file mode 100644
index 0000000..bff5349
--- /dev/null
+++ b/lib/Date/Manip/Offset/off335.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off335;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:07:11';
+
+%Offset        = (
+   0 => [
+      'america/jamaica',
+      'america/grand_turk',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off336.pm b/lib/Date/Manip/Offset/off336.pm
new file mode 100644
index 0000000..e5ae671
--- /dev/null
+++ b/lib/Date/Manip/Offset/off336.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off336;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:08:12';
+
+%Offset        = (
+   0 => [
+      'america/lima',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off337.pm b/lib/Date/Manip/Offset/off337.pm
new file mode 100644
index 0000000..d232ffe
--- /dev/null
+++ b/lib/Date/Manip/Offset/off337.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off337;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:08:36';
+
+%Offset        = (
+   0 => [
+      'america/lima',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off338.pm b/lib/Date/Manip/Offset/off338.pm
new file mode 100644
index 0000000..191ad9b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off338.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off338;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:09:30';
+
+%Offset        = (
+   0 => [
+      'america/nassau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off339.pm b/lib/Date/Manip/Offset/off339.pm
new file mode 100644
index 0000000..1065523
--- /dev/null
+++ b/lib/Date/Manip/Offset/off339.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off339;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:14:00';
+
+%Offset        = (
+   0 => [
+      'america/guayaquil',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off340.pm b/lib/Date/Manip/Offset/off340.pm
new file mode 100644
index 0000000..08e2145
--- /dev/null
+++ b/lib/Date/Manip/Offset/off340.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off340;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:17:32';
+
+%Offset        = (
+   0 => [
+      'america/toronto',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off341.pm b/lib/Date/Manip/Offset/off341.pm
new file mode 100644
index 0000000..96579e7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off341.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off341;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:18:08';
+
+%Offset        = (
+   0 => [
+      'america/panama',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off342.pm b/lib/Date/Manip/Offset/off342.pm
new file mode 100644
index 0000000..07379e9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off342.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off342;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:19:20';
+
+%Offset        = (
+   0 => [
+      'america/guayaquil',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off343.pm b/lib/Date/Manip/Offset/off343.pm
new file mode 100644
index 0000000..1266af3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off343.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off343;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:19:36';
+
+%Offset        = (
+   0 => [
+      'america/panama',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off344.pm b/lib/Date/Manip/Offset/off344.pm
new file mode 100644
index 0000000..49c3894
--- /dev/null
+++ b/lib/Date/Manip/Offset/off344.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off344;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:29:28';
+
+%Offset        = (
+   0 => [
+      'america/havana',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off345.pm b/lib/Date/Manip/Offset/off345.pm
new file mode 100644
index 0000000..c4b30c9
--- /dev/null
+++ b/lib/Date/Manip/Offset/off345.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off345;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:29:36';
+
+%Offset        = (
+   0 => [
+      'america/havana',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off346.pm b/lib/Date/Manip/Offset/off346.pm
new file mode 100644
index 0000000..9fa4347
--- /dev/null
+++ b/lib/Date/Manip/Offset/off346.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off346;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:30:00';
+
+%Offset        = (
+   1 => [
+      'america/belize',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off347.pm b/lib/Date/Manip/Offset/off347.pm
new file mode 100644
index 0000000..8c302dd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off347.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off347;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:32:11';
+
+%Offset        = (
+   0 => [
+      'america/detroit',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off348.pm b/lib/Date/Manip/Offset/off348.pm
new file mode 100644
index 0000000..db0a207
--- /dev/null
+++ b/lib/Date/Manip/Offset/off348.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off348;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:36:13';
+
+%Offset        = (
+   0 => [
+      'america/costa_rica',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off349.pm b/lib/Date/Manip/Offset/off349.pm
new file mode 100644
index 0000000..392e806
--- /dev/null
+++ b/lib/Date/Manip/Offset/off349.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off349;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:39:24';
+
+%Offset        = (
+   0 => [
+      'america/kentucky/monticello',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off350.pm b/lib/Date/Manip/Offset/off350.pm
new file mode 100644
index 0000000..a7d107e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off350.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off350;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:40:16';
+
+%Offset        = (
+   0 => [
+      'america/indiana/vevay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off351.pm b/lib/Date/Manip/Offset/off351.pm
new file mode 100644
index 0000000..c86b0e1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off351.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off351;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:43:02';
+
+%Offset        = (
+   0 => [
+      'america/kentucky/louisville',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off352.pm b/lib/Date/Manip/Offset/off352.pm
new file mode 100644
index 0000000..507bab1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off352.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off352;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:44:38';
+
+%Offset        = (
+   0 => [
+      'america/indiana/indianapolis',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off353.pm b/lib/Date/Manip/Offset/off353.pm
new file mode 100644
index 0000000..8f63930
--- /dev/null
+++ b/lib/Date/Manip/Offset/off353.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off353;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:45:08';
+
+%Offset        = (
+   0 => [
+      'america/managua',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off354.pm b/lib/Date/Manip/Offset/off354.pm
new file mode 100644
index 0000000..b382e09
--- /dev/null
+++ b/lib/Date/Manip/Offset/off354.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off354;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:45:12';
+
+%Offset        = (
+   0 => [
+      'america/managua',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off355.pm b/lib/Date/Manip/Offset/off355.pm
new file mode 100644
index 0000000..7229f76
--- /dev/null
+++ b/lib/Date/Manip/Offset/off355.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off355;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:45:23';
+
+%Offset        = (
+   0 => [
+      'america/indiana/marengo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off356.pm b/lib/Date/Manip/Offset/off356.pm
new file mode 100644
index 0000000..3925c99
--- /dev/null
+++ b/lib/Date/Manip/Offset/off356.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off356;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:46:25';
+
+%Offset        = (
+   0 => [
+      'america/indiana/winamac',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off357.pm b/lib/Date/Manip/Offset/off357.pm
new file mode 100644
index 0000000..a56e5b8
--- /dev/null
+++ b/lib/Date/Manip/Offset/off357.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off357;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:46:30';
+
+%Offset        = (
+   0 => [
+      'america/indiana/knox',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off358.pm b/lib/Date/Manip/Offset/off358.pm
new file mode 100644
index 0000000..d1fd727
--- /dev/null
+++ b/lib/Date/Manip/Offset/off358.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off358;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:47:03';
+
+%Offset        = (
+   0 => [
+      'america/indiana/tell_city',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off359.pm b/lib/Date/Manip/Offset/off359.pm
new file mode 100644
index 0000000..0eb98bb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off359.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off359;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:47:04';
+
+%Offset        = (
+   0 => [
+      'america/cancun',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off360.pm b/lib/Date/Manip/Offset/off360.pm
new file mode 100644
index 0000000..d437114
--- /dev/null
+++ b/lib/Date/Manip/Offset/off360.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off360;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:48:52';
+
+%Offset        = (
+   0 => [
+      'america/tegucigalpa',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off361.pm b/lib/Date/Manip/Offset/off361.pm
new file mode 100644
index 0000000..5823734
--- /dev/null
+++ b/lib/Date/Manip/Offset/off361.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off361;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:49:07';
+
+%Offset        = (
+   0 => [
+      'america/indiana/petersburg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off362.pm b/lib/Date/Manip/Offset/off362.pm
new file mode 100644
index 0000000..4de8b85
--- /dev/null
+++ b/lib/Date/Manip/Offset/off362.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off362;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:50:07';
+
+%Offset        = (
+   0 => [
+      'america/indiana/vincennes',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off363.pm b/lib/Date/Manip/Offset/off363.pm
new file mode 100644
index 0000000..297175b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off363.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off363;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:50:27';
+
+%Offset        = (
+   0 => [
+      'america/menominee',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off364.pm b/lib/Date/Manip/Offset/off364.pm
new file mode 100644
index 0000000..badb1ec
--- /dev/null
+++ b/lib/Date/Manip/Offset/off364.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off364;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:50:36';
+
+%Offset        = (
+   0 => [
+      'america/chicago',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off365.pm b/lib/Date/Manip/Offset/off365.pm
new file mode 100644
index 0000000..61dabd8
--- /dev/null
+++ b/lib/Date/Manip/Offset/off365.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off365;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:52:48';
+
+%Offset        = (
+   0 => [
+      'america/belize',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off366.pm b/lib/Date/Manip/Offset/off366.pm
new file mode 100644
index 0000000..a8f89e2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off366.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off366;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:53:04';
+
+%Offset        = (
+   0 => [
+      'america/nipigon',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off367.pm b/lib/Date/Manip/Offset/off367.pm
new file mode 100644
index 0000000..a83f824
--- /dev/null
+++ b/lib/Date/Manip/Offset/off367.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off367;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:56:48';
+
+%Offset        = (
+   0 => [
+      'america/el_salvador',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off368.pm b/lib/Date/Manip/Offset/off368.pm
new file mode 100644
index 0000000..4597cb3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off368.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off368;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:57:00';
+
+%Offset        = (
+   0 => [
+      'america/thunder_bay',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off369.pm b/lib/Date/Manip/Offset/off369.pm
new file mode 100644
index 0000000..f7526eb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off369.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off369;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:58:24';
+
+%Offset        = (
+   0 => [
+      'pacific/galapagos',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off370.pm b/lib/Date/Manip/Offset/off370.pm
new file mode 100644
index 0000000..60e2808
--- /dev/null
+++ b/lib/Date/Manip/Offset/off370.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off370;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-05:58:28';
+
+%Offset        = (
+   0 => [
+      'america/merida',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off371.pm b/lib/Date/Manip/Offset/off371.pm
new file mode 100644
index 0000000..f14b655
--- /dev/null
+++ b/lib/Date/Manip/Offset/off371.pm
@@ -0,0 +1,105 @@
+package #
+Date::Manip::Offset::off371;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:00:00';
+
+%Offset        = (
+   0 => [
+      'america/chicago',
+      'america/indiana/knox',
+      'america/indiana/tell_city',
+      'america/menominee',
+      'america/winnipeg',
+      'america/rainy_river',
+      'america/belize',
+      'america/guatemala',
+      'america/costa_rica',
+      'america/el_salvador',
+      'america/tegucigalpa',
+      'america/matamoros',
+      'america/merida',
+      'america/monterrey',
+      'america/bahia_banderas',
+      'america/mexico_city',
+      'america/managua',
+      'america/resolute',
+      'america/rankin_inlet',
+      'america/regina',
+      'america/swift_current',
+      'pacific/easter',
+      'pacific/galapagos',
+      'america/north_dakota/center',
+      'america/north_dakota/new_salem',
+      'america/north_dakota/beulah',
+      'etc/gmt-6',
+      'f',
+      'america/cancun',
+      'america/indiana/petersburg',
+      'america/indiana/vincennes',
+      'america/indiana/winamac',
+      'america/cambridge_bay',
+      'america/kentucky/monticello',
+      'america/iqaluit',
+      'america/pangnirtung',
+      'america/chihuahua',
+      'america/ojinaga',
+      'america/indiana/marengo',
+      'america/kentucky/louisville',
+      'america/indiana/indianapolis',
+      'america/indiana/vevay',
+      'america/hermosillo',
+      'america/mazatlan',
+      'america/atikokan',
+      'america/detroit',
+      'america/thunder_bay',
+      ],
+   1 => [
+      'america/denver',
+      'america/edmonton',
+      'america/boise',
+      'america/cambridge_bay',
+      'america/yellowknife',
+      'america/inuvik',
+      'america/mazatlan',
+      'america/chihuahua',
+      'america/ojinaga',
+      'america/north_dakota/beulah',
+      'america/bahia_banderas',
+      'america/north_dakota/new_salem',
+      'america/hermosillo',
+      'america/north_dakota/center',
+      'pacific/easter',
+      'america/phoenix',
+      'america/swift_current',
+      'america/regina',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off372.pm b/lib/Date/Manip/Offset/off372.pm
new file mode 100644
index 0000000..ee59ae6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off372.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off372;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:02:04';
+
+%Offset        = (
+   0 => [
+      'america/guatemala',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off373.pm b/lib/Date/Manip/Offset/off373.pm
new file mode 100644
index 0000000..e111759
--- /dev/null
+++ b/lib/Date/Manip/Offset/off373.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off373;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:06:28';
+
+%Offset        = (
+   0 => [
+      'america/atikokan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off374.pm b/lib/Date/Manip/Offset/off374.pm
new file mode 100644
index 0000000..968f334
--- /dev/null
+++ b/lib/Date/Manip/Offset/off374.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off374;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:18:16';
+
+%Offset        = (
+   0 => [
+      'america/rainy_river',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off375.pm b/lib/Date/Manip/Offset/off375.pm
new file mode 100644
index 0000000..a138cc0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off375.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off375;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:28:36';
+
+%Offset        = (
+   0 => [
+      'america/winnipeg',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off376.pm b/lib/Date/Manip/Offset/off376.pm
new file mode 100644
index 0000000..1aa258d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off376.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off376;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:36:36';
+
+%Offset        = (
+   0 => [
+      'america/mexico_city',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off377.pm b/lib/Date/Manip/Offset/off377.pm
new file mode 100644
index 0000000..46480a5
--- /dev/null
+++ b/lib/Date/Manip/Offset/off377.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off377;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:40:00';
+
+%Offset        = (
+   0 => [
+      'america/matamoros',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off378.pm b/lib/Date/Manip/Offset/off378.pm
new file mode 100644
index 0000000..99cdb16
--- /dev/null
+++ b/lib/Date/Manip/Offset/off378.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off378;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:41:16';
+
+%Offset        = (
+   0 => [
+      'america/monterrey',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off379.pm b/lib/Date/Manip/Offset/off379.pm
new file mode 100644
index 0000000..dfec380
--- /dev/null
+++ b/lib/Date/Manip/Offset/off379.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off379;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:45:12';
+
+%Offset        = (
+   0 => [
+      'america/north_dakota/center',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off380.pm b/lib/Date/Manip/Offset/off380.pm
new file mode 100644
index 0000000..34b634d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off380.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off380;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:45:39';
+
+%Offset        = (
+   0 => [
+      'america/north_dakota/new_salem',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off381.pm b/lib/Date/Manip/Offset/off381.pm
new file mode 100644
index 0000000..85bcca7
--- /dev/null
+++ b/lib/Date/Manip/Offset/off381.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off381;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:47:07';
+
+%Offset        = (
+   0 => [
+      'america/north_dakota/beulah',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off382.pm b/lib/Date/Manip/Offset/off382.pm
new file mode 100644
index 0000000..8e9587d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off382.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off382;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:57:40';
+
+%Offset        = (
+   0 => [
+      'america/ojinaga',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off383.pm b/lib/Date/Manip/Offset/off383.pm
new file mode 100644
index 0000000..c449d67
--- /dev/null
+++ b/lib/Date/Manip/Offset/off383.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off383;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:58:36';
+
+%Offset        = (
+   0 => [
+      'america/regina',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off384.pm b/lib/Date/Manip/Offset/off384.pm
new file mode 100644
index 0000000..1cfa365
--- /dev/null
+++ b/lib/Date/Manip/Offset/off384.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off384;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-06:59:56';
+
+%Offset        = (
+   0 => [
+      'america/denver',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off385.pm b/lib/Date/Manip/Offset/off385.pm
new file mode 100644
index 0000000..486aa87
--- /dev/null
+++ b/lib/Date/Manip/Offset/off385.pm
@@ -0,0 +1,76 @@
+package #
+Date::Manip::Offset::off385;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:00:00';
+
+%Offset        = (
+   0 => [
+      'america/denver',
+      'america/phoenix',
+      'america/creston',
+      'america/edmonton',
+      'america/cambridge_bay',
+      'america/chihuahua',
+      'america/hermosillo',
+      'america/mazatlan',
+      'america/ojinaga',
+      'america/boise',
+      'america/yellowknife',
+      'america/dawson_creek',
+      'america/inuvik',
+      'america/fort_nelson',
+      'etc/gmt-7',
+      'g',
+      'america/north_dakota/beulah',
+      'america/bahia_banderas',
+      'america/north_dakota/new_salem',
+      'america/north_dakota/center',
+      'pacific/easter',
+      'america/swift_current',
+      'america/regina',
+      'america/mexico_city',
+      'america/tijuana',
+      ],
+   1 => [
+      'america/los_angeles',
+      'america/vancouver',
+      'america/tijuana',
+      'america/dawson',
+      'america/whitehorse',
+      'america/fort_nelson',
+      'america/juneau',
+      'america/metlakatla',
+      'america/sitka',
+      'america/dawson_creek',
+      'america/boise',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off386.pm b/lib/Date/Manip/Offset/off386.pm
new file mode 100644
index 0000000..63514b1
--- /dev/null
+++ b/lib/Date/Manip/Offset/off386.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off386;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:01:00';
+
+%Offset        = (
+   0 => [
+      'america/bahia_banderas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off387.pm b/lib/Date/Manip/Offset/off387.pm
new file mode 100644
index 0000000..66f9770
--- /dev/null
+++ b/lib/Date/Manip/Offset/off387.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off387;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:04:20';
+
+%Offset        = (
+   0 => [
+      'america/chihuahua',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off388.pm b/lib/Date/Manip/Offset/off388.pm
new file mode 100644
index 0000000..86ce891
--- /dev/null
+++ b/lib/Date/Manip/Offset/off388.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off388;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:05:40';
+
+%Offset        = (
+   0 => [
+      'america/mazatlan',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off389.pm b/lib/Date/Manip/Offset/off389.pm
new file mode 100644
index 0000000..4d2ce68
--- /dev/null
+++ b/lib/Date/Manip/Offset/off389.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off389;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:11:20';
+
+%Offset        = (
+   0 => [
+      'america/swift_current',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off390.pm b/lib/Date/Manip/Offset/off390.pm
new file mode 100644
index 0000000..e7ce15b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off390.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off390;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:17:28';
+
+%Offset        = (
+   0 => [
+      'pacific/easter',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off391.pm b/lib/Date/Manip/Offset/off391.pm
new file mode 100644
index 0000000..8a3da92
--- /dev/null
+++ b/lib/Date/Manip/Offset/off391.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off391;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:23:52';
+
+%Offset        = (
+   0 => [
+      'america/hermosillo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off392.pm b/lib/Date/Manip/Offset/off392.pm
new file mode 100644
index 0000000..2e35a1e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off392.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off392;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:28:18';
+
+%Offset        = (
+   0 => [
+      'america/phoenix',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off393.pm b/lib/Date/Manip/Offset/off393.pm
new file mode 100644
index 0000000..89b37fd
--- /dev/null
+++ b/lib/Date/Manip/Offset/off393.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off393;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:33:52';
+
+%Offset        = (
+   0 => [
+      'america/edmonton',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off394.pm b/lib/Date/Manip/Offset/off394.pm
new file mode 100644
index 0000000..8b26fe2
--- /dev/null
+++ b/lib/Date/Manip/Offset/off394.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off394;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:44:49';
+
+%Offset        = (
+   0 => [
+      'america/boise',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off395.pm b/lib/Date/Manip/Offset/off395.pm
new file mode 100644
index 0000000..4a9f571
--- /dev/null
+++ b/lib/Date/Manip/Offset/off395.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off395;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:46:04';
+
+%Offset        = (
+   0 => [
+      'america/creston',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off396.pm b/lib/Date/Manip/Offset/off396.pm
new file mode 100644
index 0000000..562f67b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off396.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off396;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:48:04';
+
+%Offset        = (
+   0 => [
+      'america/tijuana',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off397.pm b/lib/Date/Manip/Offset/off397.pm
new file mode 100644
index 0000000..aba4860
--- /dev/null
+++ b/lib/Date/Manip/Offset/off397.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off397;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:03 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-07:52:58';
+
+%Offset        = (
+   0 => [
+      'america/los_angeles',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off398.pm b/lib/Date/Manip/Offset/off398.pm
new file mode 100644
index 0000000..6903250
--- /dev/null
+++ b/lib/Date/Manip/Offset/off398.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::Offset::off398;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:00:00';
+
+%Offset        = (
+   0 => [
+      'america/los_angeles',
+      'america/vancouver',
+      'america/tijuana',
+      'america/whitehorse',
+      'america/dawson',
+      'pacific/pitcairn',
+      'etc/gmt-8',
+      'h',
+      'america/fort_nelson',
+      'america/metlakatla',
+      'america/juneau',
+      'america/sitka',
+      'america/inuvik',
+      'america/dawson_creek',
+      'america/bahia_banderas',
+      'america/hermosillo',
+      'america/mazatlan',
+      'america/boise',
+      'america/creston',
+      ],
+   1 => [
+      'america/juneau',
+      'america/yakutat',
+      'america/anchorage',
+      'america/nome',
+      'america/sitka',
+      'america/metlakatla',
+      'america/dawson',
+      'america/whitehorse',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off399.pm b/lib/Date/Manip/Offset/off399.pm
new file mode 100644
index 0000000..68c2da0
--- /dev/null
+++ b/lib/Date/Manip/Offset/off399.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off399;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:00:56';
+
+%Offset        = (
+   0 => [
+      'america/dawson_creek',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off400.pm b/lib/Date/Manip/Offset/off400.pm
new file mode 100644
index 0000000..36ee1c6
--- /dev/null
+++ b/lib/Date/Manip/Offset/off400.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off400;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:10:47';
+
+%Offset        = (
+   0 => [
+      'america/fort_nelson',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off401.pm b/lib/Date/Manip/Offset/off401.pm
new file mode 100644
index 0000000..74fb11c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off401.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off401;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:12:28';
+
+%Offset        = (
+   0 => [
+      'america/vancouver',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off402.pm b/lib/Date/Manip/Offset/off402.pm
new file mode 100644
index 0000000..1232133
--- /dev/null
+++ b/lib/Date/Manip/Offset/off402.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off402;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:30:00';
+
+%Offset        = (
+   0 => [
+      'pacific/pitcairn',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off403.pm b/lib/Date/Manip/Offset/off403.pm
new file mode 100644
index 0000000..28f83af
--- /dev/null
+++ b/lib/Date/Manip/Offset/off403.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off403;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:40:20';
+
+%Offset        = (
+   0 => [
+      'pacific/pitcairn',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off404.pm b/lib/Date/Manip/Offset/off404.pm
new file mode 100644
index 0000000..64a9bd8
--- /dev/null
+++ b/lib/Date/Manip/Offset/off404.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off404;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:46:18';
+
+%Offset        = (
+   0 => [
+      'america/metlakatla',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off405.pm b/lib/Date/Manip/Offset/off405.pm
new file mode 100644
index 0000000..9c9c22d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off405.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off405;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:57:41';
+
+%Offset        = (
+   0 => [
+      'america/juneau',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off406.pm b/lib/Date/Manip/Offset/off406.pm
new file mode 100644
index 0000000..b1b751d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off406.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off406;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-08:59:48';
+
+%Offset        = (
+   0 => [
+      'pacific/gambier',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off407.pm b/lib/Date/Manip/Offset/off407.pm
new file mode 100644
index 0000000..d9ed1cb
--- /dev/null
+++ b/lib/Date/Manip/Offset/off407.pm
@@ -0,0 +1,53 @@
+package #
+Date::Manip::Offset::off407;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:00:00';
+
+%Offset        = (
+   0 => [
+      'america/yakutat',
+      'pacific/gambier',
+      'america/anchorage',
+      'america/juneau',
+      'america/nome',
+      'america/sitka',
+      'america/metlakatla',
+      'etc/gmt-9',
+      'i',
+      'america/dawson',
+      'america/whitehorse',
+      ],
+   1 => [
+      'america/adak',
+      'america/anchorage',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off408.pm b/lib/Date/Manip/Offset/off408.pm
new file mode 100644
index 0000000..b61b277
--- /dev/null
+++ b/lib/Date/Manip/Offset/off408.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off408;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:00:12';
+
+%Offset        = (
+   0 => [
+      'america/whitehorse',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off409.pm b/lib/Date/Manip/Offset/off409.pm
new file mode 100644
index 0000000..c9f0c9b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off409.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off409;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:01:13';
+
+%Offset        = (
+   0 => [
+      'america/sitka',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off410.pm b/lib/Date/Manip/Offset/off410.pm
new file mode 100644
index 0000000..d42fe5a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off410.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off410;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:17:40';
+
+%Offset        = (
+   0 => [
+      'america/dawson',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off411.pm b/lib/Date/Manip/Offset/off411.pm
new file mode 100644
index 0000000..09c664e
--- /dev/null
+++ b/lib/Date/Manip/Offset/off411.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off411;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:18:00';
+
+%Offset        = (
+   0 => [
+      'pacific/marquesas',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off412.pm b/lib/Date/Manip/Offset/off412.pm
new file mode 100644
index 0000000..a1eea04
--- /dev/null
+++ b/lib/Date/Manip/Offset/off412.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off412;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:18:55';
+
+%Offset        = (
+   0 => [
+      'america/yakutat',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off413.pm b/lib/Date/Manip/Offset/off413.pm
new file mode 100644
index 0000000..fb65068
--- /dev/null
+++ b/lib/Date/Manip/Offset/off413.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::Offset::off413;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:30:00';
+
+%Offset        = (
+   0 => [
+      'pacific/marquesas',
+      ],
+   1 => [
+      'pacific/rarotonga',
+      'pacific/honolulu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off414.pm b/lib/Date/Manip/Offset/off414.pm
new file mode 100644
index 0000000..f15f684
--- /dev/null
+++ b/lib/Date/Manip/Offset/off414.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off414;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:58:16';
+
+%Offset        = (
+   0 => [
+      'pacific/tahiti',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off415.pm b/lib/Date/Manip/Offset/off415.pm
new file mode 100644
index 0000000..64d0603
--- /dev/null
+++ b/lib/Date/Manip/Offset/off415.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off415;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-09:59:36';
+
+%Offset        = (
+   0 => [
+      'america/anchorage',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off416.pm b/lib/Date/Manip/Offset/off416.pm
new file mode 100644
index 0000000..ab30686
--- /dev/null
+++ b/lib/Date/Manip/Offset/off416.pm
@@ -0,0 +1,51 @@
+package #
+Date::Manip::Offset::off416;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/honolulu',
+      'pacific/tahiti',
+      'pacific/rarotonga',
+      'america/adak',
+      'etc/gmt-10',
+      'k',
+      'pacific/kiritimati',
+      'america/anchorage',
+      ],
+   1 => [
+      'pacific/apia',
+      'america/adak',
+      'america/nome',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off417.pm b/lib/Date/Manip/Offset/off417.pm
new file mode 100644
index 0000000..75a8f42
--- /dev/null
+++ b/lib/Date/Manip/Offset/off417.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off417;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:29:20';
+
+%Offset        = (
+   0 => [
+      'pacific/kiritimati',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off418.pm b/lib/Date/Manip/Offset/off418.pm
new file mode 100644
index 0000000..1c649d4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off418.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off418;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:30:00';
+
+%Offset        = (
+   0 => [
+      'pacific/rarotonga',
+      'pacific/honolulu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off419.pm b/lib/Date/Manip/Offset/off419.pm
new file mode 100644
index 0000000..e75465d
--- /dev/null
+++ b/lib/Date/Manip/Offset/off419.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off419;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:31:26';
+
+%Offset        = (
+   0 => [
+      'pacific/honolulu',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off420.pm b/lib/Date/Manip/Offset/off420.pm
new file mode 100644
index 0000000..d324400
--- /dev/null
+++ b/lib/Date/Manip/Offset/off420.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off420;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:39:04';
+
+%Offset        = (
+   0 => [
+      'pacific/rarotonga',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off421.pm b/lib/Date/Manip/Offset/off421.pm
new file mode 100644
index 0000000..328e178
--- /dev/null
+++ b/lib/Date/Manip/Offset/off421.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off421;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-10:40:00';
+
+%Offset        = (
+   0 => [
+      'pacific/kiritimati',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off422.pm b/lib/Date/Manip/Offset/off422.pm
new file mode 100644
index 0000000..529c47f
--- /dev/null
+++ b/lib/Date/Manip/Offset/off422.pm
@@ -0,0 +1,47 @@
+package #
+Date::Manip::Offset::off422;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:00:00';
+
+%Offset        = (
+   0 => [
+      'pacific/pago_pago',
+      'pacific/niue',
+      'etc/gmt-11',
+      'l',
+      'pacific/fakaofo',
+      'pacific/apia',
+      'pacific/enderbury',
+      'america/adak',
+      'america/nome',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off423.pm b/lib/Date/Manip/Offset/off423.pm
new file mode 100644
index 0000000..3e64c61
--- /dev/null
+++ b/lib/Date/Manip/Offset/off423.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off423;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:01:38';
+
+%Offset        = (
+   0 => [
+      'america/nome',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off424.pm b/lib/Date/Manip/Offset/off424.pm
new file mode 100644
index 0000000..78c46e4
--- /dev/null
+++ b/lib/Date/Manip/Offset/off424.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off424;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:19:40';
+
+%Offset        = (
+   0 => [
+      'pacific/niue',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off425.pm b/lib/Date/Manip/Offset/off425.pm
new file mode 100644
index 0000000..58fa189
--- /dev/null
+++ b/lib/Date/Manip/Offset/off425.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off425;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:20:00';
+
+%Offset        = (
+   0 => [
+      'pacific/niue',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off426.pm b/lib/Date/Manip/Offset/off426.pm
new file mode 100644
index 0000000..c3528a3
--- /dev/null
+++ b/lib/Date/Manip/Offset/off426.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off426;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:22:48';
+
+%Offset        = (
+   0 => [
+      'pacific/pago_pago',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off427.pm b/lib/Date/Manip/Offset/off427.pm
new file mode 100644
index 0000000..33b2f22
--- /dev/null
+++ b/lib/Date/Manip/Offset/off427.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off427;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:24:20';
+
+%Offset        = (
+   0 => [
+      'pacific/enderbury',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off428.pm b/lib/Date/Manip/Offset/off428.pm
new file mode 100644
index 0000000..e86f28a
--- /dev/null
+++ b/lib/Date/Manip/Offset/off428.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off428;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:24:56';
+
+%Offset        = (
+   0 => [
+      'pacific/fakaofo',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off429.pm b/lib/Date/Manip/Offset/off429.pm
new file mode 100644
index 0000000..a020f03
--- /dev/null
+++ b/lib/Date/Manip/Offset/off429.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off429;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:26:56';
+
+%Offset        = (
+   0 => [
+      'pacific/apia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off430.pm b/lib/Date/Manip/Offset/off430.pm
new file mode 100644
index 0000000..ddbbad8
--- /dev/null
+++ b/lib/Date/Manip/Offset/off430.pm
@@ -0,0 +1,40 @@
+package #
+Date::Manip::Offset::off430;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:30:00';
+
+%Offset        = (
+   0 => [
+      'pacific/niue',
+      'pacific/apia',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off431.pm b/lib/Date/Manip/Offset/off431.pm
new file mode 100644
index 0000000..d637cda
--- /dev/null
+++ b/lib/Date/Manip/Offset/off431.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off431;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-11:46:38';
+
+%Offset        = (
+   0 => [
+      'america/adak',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off432.pm b/lib/Date/Manip/Offset/off432.pm
new file mode 100644
index 0000000..8443e83
--- /dev/null
+++ b/lib/Date/Manip/Offset/off432.pm
@@ -0,0 +1,42 @@
+package #
+Date::Manip::Offset::off432;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-12:00:00';
+
+%Offset        = (
+   0 => [
+      'etc/gmt-12',
+      'm',
+      'pacific/kwajalein',
+      'pacific/enderbury',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off433.pm b/lib/Date/Manip/Offset/off433.pm
new file mode 100644
index 0000000..444296b
--- /dev/null
+++ b/lib/Date/Manip/Offset/off433.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off433;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-13:00:00';
+
+%Offset        = (
+   0 => [
+      'etc/gmt-13',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off434.pm b/lib/Date/Manip/Offset/off434.pm
new file mode 100644
index 0000000..d2b8088
--- /dev/null
+++ b/lib/Date/Manip/Offset/off434.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off434;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-14:00:00';
+
+%Offset        = (
+   0 => [
+      'etc/gmt-14',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off435.pm b/lib/Date/Manip/Offset/off435.pm
new file mode 100644
index 0000000..7dd1f67
--- /dev/null
+++ b/lib/Date/Manip/Offset/off435.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off435;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-14:21:00';
+
+%Offset        = (
+   0 => [
+      'pacific/guam',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Offset/off436.pm b/lib/Date/Manip/Offset/off436.pm
new file mode 100644
index 0000000..3b9d32c
--- /dev/null
+++ b/lib/Date/Manip/Offset/off436.pm
@@ -0,0 +1,39 @@
+package #
+Date::Manip::Offset::off436;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:44:04 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($Offset,%Offset);
+END {
+   undef $Offset;
+   undef %Offset;
+}
+
+$Offset        = '-15:56:00';
+
+%Offset        = (
+   0 => [
+      'asia/manila',
+      ],
+);
+
+1;
diff --git a/lib/Date/Manip/Problems.pod b/lib/Date/Manip/Problems.pod
new file mode 100644
index 0000000..41a6733
--- /dev/null
+++ b/lib/Date/Manip/Problems.pod
@@ -0,0 +1,546 @@
+# Copyright (c) 1995-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Problems - problems and bugs
+
+=head1 KNOWN PROBLEMS
+
+The following are not bugs in Date::Manip, but they may give some people
+problems.
+
+=over 4
+
+=item B
+
+If you ever get the message that Date::Manip was unable to determine the
+timezone, you need to provide that information to your script.
+Please refer to the L documentation for a discussion
+of this problem.
+
+=item B
+
+Due to daylight saving time (especially the spring change where
+the time typically moves forward from 02:00 to 03:00), any date
+calculation which would intuitively report a time in that range
+will also move forward (or backward as the case may be).
+
+*NOTE* This should be less of a problem since 6.30 with the addition
+of semi-exact deltas.
+
+=item B
+
+Due to the large number of date formats that Date::Manip CAN process,
+people often assume that other formats that they want to use should
+work as well, and when they don't, it comes as a surprise.
+
+With the much improved parsing of 6.00, many formats can be added
+easily, though unless they are of general use, I'll probably suggest
+that you use parse_format instead.
+
+There is a class of formats that I do not plan to add however.
+
+I have frequently been asked to add formats such as "the 15th of last
+month", or "Monday of next week". I do not intend to add these date
+formats to Date::Manip, but since I have received the request several
+times, I decided to include my reasoning here.
+
+Date::Manip can parse pretty much any static date format that I could
+think of or find reference to. Dates such as "today", "Jan 12", or
+"2001-01-01" are all understood.
+
+These are fairly limited however. Many very common date formats are
+best thought of as a date plus a modification. For example,
+"yesterday" is actually determined internally as "today" plus a
+modification of "- 1 day".  "2nd Sunday in June" is determined as
+"June 1" modified to the 2nd Sunday.
+
+As these types of formats were added over time, I quickly realized
+that the number of possible date plus modification formats was
+huge. The number of combinations has caused the parsing in Date::Manip
+to be quite complex, and adding new formats occasionally causes
+unexpected conflicts with other formats.
+
+The first time I received a request similar to "the 15th of last
+month", I intended to add it, but as I analyzed it to see what changes
+needed to be made to support it, I realized that this needed to be
+expressed as a date plus TWO modifications. In other words, today
+modified to last month modified to the 15th day of the month.
+
+As bad as date plus modification formats are, a date plus TWO
+modifications would be exponentially worse. On realizing that, I
+decided that Date::Manip will not support this type of format.
+
+Although I apologize for the inconvenience, I do not intend to change
+my position on this.
+
+=item B
+
+Date::Manip is one of the slower Date/Time modules due to the fact that
+it is huge and written entirely in perl.  I have done a lot of work
+optimizing it since 6.xx came out, and additional work is planned,
+but even at it's best, it will probably be slower than other modules.
+
+Some things that will definitely help:
+
+Date::Manip 5.xx was very slow.  A lot of work went into speeding it up
+as I rewrote it for the 6.xx release, and it should be noted that
+initial tests show version 6.xx to be around twice as fast as 5.xx.
+There is one notable exception to this speedup.  If you use Date::Manip
+to parse dates from a wide variety of timezones, 6.xx will be significantly
+slower than 5.xx.  The reason for this is that each time a new timezone is
+accessed, 6.xx does quite a bit of work to initialize it.  5.xx does not
+have this overhead, so it can parse dates from any number of timezones
+without a speed penalty.  However, 5.xx does NOT handle timezones correctly,
+so many of the dates will be incorrect.  If timezones are important to you,
+there is no way to use 5.xx and get accurate results.
+
+If you only parse dates from a single timezone (which is more often what
+you are doing), 6.xx is significantly faster than 5.xx.
+
+ISO-8601 dates are parsed first and fastest.  If you have the flexibility
+to define the date format, use ISO-8601 formats whenever possible.
+
+Avoid parsing dates that are referenced against the current time (in 2
+days, today at noon, etc.).  These take a lot longer to parse.
+
+Business date calculations are extremely slow.  You should consider
+alternatives if possible (i.e. doing the calculation in exact mode and
+then multiplying by 5/7).  Who needs a business date more accurate
+than "6 to 8 weeks" anyway, right :-)
+
+=item B
+
+There is a known memory leak in perl related to named regexp captures
+that directly affects Date::Manip . The leak is in all versions of
+perl up to (and including) the following versions:
+
+   5.10.1
+   5.12.5
+   5.14.3
+   5.15.5
+
+The bug has been fixed in:
+
+   5.15.6
+   5.16.0
+
+If a maintenance release is done for any of the other releases (5.10,
+5.12, 5.14), that includes the patch, I'll update this section to
+include that information.
+
+Date::Manip 5.xx is not susceptible, so using it may be a feasible
+workaround, but if you need accurate timezone handling, this isn't
+possible.
+
+Simple tests estimate the leak to be about 3 MB per 10,000 dates
+parsed, so unless you're parsing hundreds of thousands, or millions of
+dates, the leak probably won't be a problem on systems with moderate
+amounts of memory. And if you're parsing that many dates, the
+relatively slow Date::Manip may not be the correct module for you to
+use anyway.
+
+=item B
+
+Users of Strawberry perl on windows may encounter an error similar
+to the following:
+
+   dmake: makefile: line 3016: Error: -- Input line too long, increase MAXLINELENGTH
+
+This is a known problem with some versions of strawberry perl, and
+I can't fix it in Date::Manip.  If you encounter this problem, you
+can install the package manually using the commands:
+
+   c:> cpan
+   cpan> look Date::Manip::Date
+   > perl Makefile.PL
+   > dmake MAXLINELENGTH=300000 make
+   > dmake MAXLINELENGTH=300000 make test
+   > dmake MAXLINELENGTH=300000 make install
+
+You can find more details here:
+
+   http://www.nntp.perl.org/group/perl.win32.vanilla/2011/02/msg287.html
+
+=item B
+
+There have been a handful of incidents of people using a function from
+Date::Manip which were not documented in the manual.
+
+Date::Manip consists of a large number of user functions which are
+documented in the manual. These are designed to be used by other
+programmers, and I will not make any backwards incompatible changes in
+them unless there is a very compelling reason to do so, and in that
+case, the change will be clearly documented in the
+L documentation for this module.
+
+Date::Manip also includes a large number of functions which are NOT
+documented. These are for internal use only.  Please do not use them!
+I can (and do) change their functionality, and even their name, without notice,
+and without apology!  Some of these internal functions even have test
+scripts, but that is not a guarantee that they will not change, nor is
+any support implied. I simply like to run regression tests on as much
+of Date::Manip as possible.
+
+As of the most recent versions of Date::Manip, all internal functions
+have names that begin with an underscore (_). If you choose to use
+them directly, it is quite possible that new versions of Date::Manip
+will cause your programs to break due to a change in how those
+functions work.
+
+Any changes to internal functions will not be documented, and will not
+be regarded by me as a backwards incompatibility. Nor will I (as was
+requested in one instance) revert to a previous version of the
+internal function.
+
+If you feel that an internal function is of more general use, feel
+free to contact me with an argument of why it should be "promoted".  I
+welcome suggestions and will definitely consider any such request.
+
+=item B
+
+If you try to put Date::Manip under RCS control, you are going to have
+problems.  Apparently, RCS replaces strings of the form "$Date...$" with
+the current date.  This form occurs all over in Date::Manip.  To prevent the
+RCS keyword expansion, checkout files using:
+
+   co -ko
+
+Since very few people will ever have a desire to do this (and I don't
+use RCS), I have not worried about it, and I do not intend to try to
+workaround this problem.
+
+=back
+
+=head1 KNOWN COMPLAINTS
+
+Date::Manip 6.xx has gotten some complaints (far more than 5.xx if the
+truth be told), so I'd like to address a couple of them here.  Perhaps
+an understanding of why some of the changes were made will allay some
+of the complaints.  If not, people are always welcome to stick with
+the 5.xx release. I will continue to support the 5.xx releases for a
+couple years (though I do NOT plan to add functionality to it).
+
+These complaints come both from both the CPAN ratings site:
+
+   http://cpanratings.perl.org/dist/Date-Manip
+
+and from personal email.
+
+=over 4
+
+=item B
+
+The single most controversial change made in 6.00 is that it now
+required perl 5.10.0 or higher. Most of the negative feedback I've
+received is due to this.
+
+In the past, I've avoided using new features of perl in order to allow
+Date::Manip to run on older versions of perl.  Prior to perl 5.10,
+none of the new features would have had a major impact on how
+Date::Manip was written so this practice was justified. That all
+changed with the release of perl 5.10.
+
+One of the aspects of Date::Manip that has received the most positive
+response is the ability to parse almost every conceivable date format.
+Unfortunately, as I've added formats, the parsing routine became more
+and more complicated, and maintaining it was one of the least
+enjoyable aspect in maintaining Date::Manip . In fact, for several
+years I'd been extremely reluctant to add new formats due to the fact
+that too often, adding a new format broke other formats.
+
+As I was rewriting Date::Manip, I was looking for ways to improve the
+parsing and to make maintaining it easier. Perl 5.10 provides the
+feature "named capture buffers". Named capture buffers not only
+improves the ease of maintaining the complex regular expressions used
+by Date::Manip, it makes it dramatically easier to add additional
+formats in a way that is much less likely to interfere with other
+formats. The parsing in 6.00 is so much more robust, extensible, and
+flexible, that it will make parser maintenance possible for many years
+to come at a fraction of the effort and risk.
+
+It was too much to turn down. Hopefully, since 5.10 has been out for
+some time now, this will not prohibit too many people from using the
+new version of Date::Manip. I realize that there are many people out
+there using older versions of perl who do not have the option of
+upgrading perl.  The decision to use 5.10 wasn't made lightly... but I
+don't regret making it. I apologize to users who, as a result, cannot
+use 6.00 . Hopefully in the future you'll be able to benefit from the
+improvements in 6.00.
+
+One complaint I've received is that this in some way makes Date::Manip
+backwards incompatible, but this is not an accurate complaint. Version
+6.xx DOES include some backwards incompatibilities (and these are
+covered in the L document), however in almost
+all cases, these incompatibilities are with infrequently used
+features, or workarounds are in place to allow deprecated features to
+continue functioning for some period of time.
+
+Though I have no data to confirm this, I suspect that 90% or more of
+all scripts which were written with Date::Manip 5.xx will continue to
+work unmodified with 6.xx (of course, you should still refer to the
+migration document to see what features are deprecated or changed to
+make sure that you don't need to modify your script so that it will
+continue to work in the future). Even with scripts that need to be
+changed, the changes should be trivial.
+
+So, Date::Manip 6.xx is almost entirely backward compatible with 5.xx
+(to the extent that you would expect any major version release to be
+compatible with a previous major version).
+
+The change is only in the requirements necessary to get Date::Manip
+6.xx to run.
+
+Obviously, it's not reasonable to say that Date::Manip should never be
+allowed to switch minimum perl versions. At some point, you have to
+let go of an old version if you want to make use of the features of
+the newer version. The question is, did I jump to 5.10 too fast?
+
+The negative ratings I see in the CPAN ratings complain that I no
+longer support perl 5.6 and perl 5.8.
+
+With respect to 5.6, perl 5.6 was released in March of 2000 (that's
+before Windows XP which was released in 2001). Date::Manip 6.00 was
+released at the end of 2009.  To be honest, I don't really feel much
+sympathy for this complaint. Software that is 9 years old is ANCIENT.
+People may choose to use it... but please don't complain when new
+software comes out that doesn't support it.
+
+The argument for perl 5.8 is much more compelling. Although 5.8 was
+released well before Date::Manip 6.00 (July of 2002), there were no
+major perl releases until 5.10 came out in December of 2007, so 5.8
+was state-of-the art as little as 2 years prior to the release of
+Date::Manip 6.xx.
+
+I agree completely with the argument that abandoning 5.8 only 2 years
+after it was the current version is too soon. For that reason, I
+continued to support the Date::Manip 5.xx releases for several years.
+As of December 2012 (5 years after the release of perl 5.10), the 5.xx
+release is no longer supported (in that I will not patch it or provide
+support for it's use).  However, it is still bundled into the Date::Manip
+distribution so it can still be used.  I do not have any plans for
+removing it, though I may do so at some point.
+
+=item B
+
+One minor complaint is that there are too many files. One person
+specifically objects to the fact that there are over 470 modules
+covering non-minute offsets. This complaint is (IMO) silly.
+
+Date::Manip supports ALL historical time zones, including those with
+non-minute offsets, and so there will be information for those time
+zones, even though they are not currently in use.
+
+I could of course store all of the information in one big module, but
+that means that you have to load all of that data every time you use
+Date::Manip, and I find that to be a very poor solution. Instead,
+storing the information in a per-time zone and per-offset manner
+dramatically decreases the amount of data that has to be loaded.
+
+While it is true that Date::Manip includes over 900 modules for all of
+the time zone information, most implementations of time zone handling
+also choose to break up the data into a large number of files.
+
+My linux distribution (openSuSE 11.2 at the time of writing this) uses
+the standard zoneinfo database, and at this point, there are over 1700
+files included in /usr/share/zoneinfo (though it does appear that
+there is some duplication of information). Current versions of RedHat
+also use over 1700 files, so Date::Manip isn't treating the time zone
+data in a new or unreasonable way.
+
+=item B
+
+One complaint that was put on the CPAN ratings site was that the OO
+interface is "a dud" due to the size of it's objects. The complaint is
+that a L object is 115K while it should (according to
+the complaint) only require that you need to save the seconds from the
+epoch, zone, and a couple other pieces of information, all of which
+could probably be stored in 100 bytes or less.
+
+This complaint is not accurate, and comes from a misunderstanding
+of the objects used by Date::Manip.
+
+Date::Manip is very configurable, and contains a great deal of
+information which could theoretically be calculated on the fly, but
+which would greatly reduce it's performance. Instead, in the interest
+of improving performance, the data is cached, and since the data is
+virtually all potentially object specific, it has to be somehow linked
+to the object.
+
+For example, Date::Manip allows you to parse dates in several
+languages.  Each language has a large number of regular expressions
+which are used to do the actual parsing. Instead of recreating these
+regular expressions each time they are needed, they are created once
+and stored in an object (specifically, a L object).
+The size of the L object is almost 15K (due primarily
+to the regular expressions used in parsing dates in the selected
+language).
+
+Similarly, a description of the time zones are stored in a second
+object (a L object).  The size of the L
+object starts at 100K. That may seem excessive, but you have to
+remember that there are almost 500 time zones, and they have to be
+indexed by name, alias, abbreviation, and offset.  In addition, critical
+dates (dates where the offset from GMT change such as during a daylight
+saving time change) along with information such as offsets, abbreviation,
+etc., are all cached in order to improve performance.  By the time you
+do this, it does take a fair bit of space.  It should also be noted
+that the full description of each timezone is only stored in the
+object when the timezone is actually used, so if you use a lot of
+timezones, this object will grow slowly as new timezones are used.
+
+The size of the actual L object is a little over 300
+bytes.  However, each includes a pointer to a L and
+a L object (and due to how the object was being looked
+at in the complaint, they were reporting the size of all three objects,
+NOT just the L object).
+
+Both the L and L objects are reused by
+any number of L objects. They can almost be thought of
+as global data, except that they are accessible in the standard OO
+manner, and you are allowed to modify them on a per-object basis which
+WILL mean that you have to store more data. If you work with multiple
+configurations (see L), you'll need multiple Base
+and TZ objects. However, most of the time you will not need to do
+this.
+
+The actual L object is a bit larger than suggested in
+the complaint, but it should be noted that Date::Manip actually stores
+the dates in a number of different formats (a string of the form
+YYYYMMDDHH:MN:SS and a list [YYYY,MM,DD,HH,MN,SS] in the time zone it
+was parsed in, the local time zone (if different) and GMT. By caching
+this information as it is used, it has a huge impact on the
+performance.
+
+So, Date::Manip in typical usage consists of one 100K L
+object, one 15K L objects, and any number of small 300
+byte L objects.  L objects are even
+smaller. L objects are also small, but they contain
+any number of Date objects in them.
+
+I am certainly open to suggestions as to how I can improve the OO
+interface... but I don't believe it is a dud. While I'm not an expert
+at OO programming, I believe that I followed pretty standard and
+accepted procedures for accessing the data.
+
+Please refer to the L document for more
+information.
+
+=item B
+
+I've gotten a few complaints that the interface to Date::Manip is
+inconsistent... and I agree (at least when referring to the functional
+interfaces).
+
+Date::Manip was originally written in an unplanned way... as a need/want
+came up, it was extended. That's not the way to write a major package
+of course, but it wasn't expected to be a major package at the start.
+
+As it became more and more widely used, I too wished for a more
+consistent interface, but I did not want to break backward compatibility
+for everyone using it.
+
+When 6.xx was written, I spent a good deal of time trying to make a
+very standard OO interface, so I do not believe that this complaint
+can be applied to the OO interface (though I'm interested in
+suggestions for improving it of course).
+
+As far as the functional interface goes, I'll continue to support it
+in a backward compatible (and therefore inconsistent) form. I'd
+encourage the use of the OO interface whenever possible.
+
+=back
+
+=head1 BUGS AND QUESTIONS
+
+If you find a bug in Date::Manip, there are three ways to send it to me.
+Any of them are fine, so use the method that is easiest for you.
+
+=over 4
+
+=item Direct email
+
+You are welcome to send it directly to me by email.  The email address
+to use is:  sbeck@cpan.org.
+
+=item CPAN Bug Tracking
+
+You can submit it using the CPAN tracking too.  This can be done at the
+following URL:
+
+L
+
+=item GitHub
+
+You can submit it as an issue on GitHub.  This can be done at the following
+URL:
+
+L
+
+=back
+
+Please do not use other means to report bugs (such as forums for a specific
+OS or Linux distribution) as it is impossible for me to keep up with all of
+them.
+
+When filing a bug report, please include the following information:
+
+=over 4
+
+=item B
+
+Please include the version of Date::Manip you are using.  You can get
+this by using the script:
+
+   use Date::Manip;
+   print DateManipVersion(1),"\n";
+
+or
+
+   use Date::Manip::Date;
+   $obj = new Date::Manip::Date;
+   print $obj->version(1),"\n";
+
+=item B
+
+Please include the output from "perl -V"
+
+=back
+
+If you have a problem using Date::Manip that perhaps isn't a bug
+(can't figure out the syntax, etc.), you're in the right place.  Start
+by reading the main Date::Manip documentation, and the other documents
+that apply to whatever you are trying to do.  If this still doesn't
+answer your question, mail me directly.
+
+I would ask that you be reasonably familiar with the documentation
+BEFORE you choose to do this. Date::Manip is a hobby, and I simply do
+not have time to respond to hundreds of questions which are already
+answered in this manual.
+
+If you find any problems with the documentation (errors, typos, or items
+that are not clear), please send them to me. I welcome any suggestions
+that will allow me to improve the documentation.
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Recur.pm b/lib/Date/Manip/Recur.pm
new file mode 100644
index 0000000..a303a40
--- /dev/null
+++ b/lib/Date/Manip/Recur.pm
@@ -0,0 +1,2550 @@
+package Date::Manip::Recur;
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify
+# it under the same terms as Perl itself.
+
+########################################################################
+# Any routine that starts with an underscore (_) is NOT intended for
+# public use.  They are for internal use in the the Date::Manip
+# modules and are subject to change without warning or notice.
+#
+# ABSOLUTELY NO USER SUPPORT IS OFFERED FOR THESE ROUTINES!
+########################################################################
+
+use Date::Manip::Obj;
+@ISA = ('Date::Manip::Obj');
+
+require 5.010000;
+use warnings;
+use strict;
+use integer;
+use utf8;
+use IO::File;
+#use re 'debug';
+
+use Date::Manip::Base;
+use Date::Manip::TZ;
+
+our $VERSION;
+$VERSION='6.60';
+END { undef $VERSION; }
+
+########################################################################
+# BASE METHODS
+########################################################################
+
+sub is_recur {
+   return 1;
+}
+
+# Call this every time a new recur is put in to make sure everything is
+# correctly initialized.
+#
+sub _init {
+   my($self) = @_;
+   my $dmt   = $$self{'tz'};
+   my $dmb   = $$dmt{'base'};
+
+   $$self{'err'}                 = '';
+
+   $$self{'data'}{'freq'}        = '';    # The frequency
+   $$self{'data'}{'flags'}       = [];    # Modifiers
+   $$self{'data'}{'base'}        = undef; # The specified base date
+   $$self{'data'}{'BASE'}        = undef; # The actual base date
+   $$self{'data'}{'start'}       = undef; # Start and end date
+   $$self{'data'}{'end'}         = undef;
+   $$self{'data'}{'unmod_range'} = 0;     # If this is 1, the start/end range
+                                          # refer to the unmodified dates, not the
+                                          # final dates.
+
+   $$self{'data'}{'interval'}    = [];    # (Y, M, ...)
+   $$self{'data'}{'rtime'}       = [];    # ( [ VAL_OR_RANGE, VAL_OR_RANGE, ... ],
+                                          #   [ VAL_OR_RANGE, VAL_OR_RANGE, ... ],
+                                          #   ... )
+   $$self{'data'}{'slow'}        = 0;     # 1 if a range of the form 2--2 is
+                                          # included.
+   $$self{'data'}{'ev_per_d'}    = 0;     # The number of events per interval date.
+   $$self{'data'}{'delta'}       = undef; # The offset based on the interval.
+   $$self{'data'}{'noint'}       = 1;     # 0 if an interval is present
+                                          # 1 if no interval is present and dates
+                                          #   not done
+                                          # 2 if no interval is present and dates
+                                          #   done
+
+   $$self{'data'}{'idate'}       = {};    # Non-slow:
+                                          #   { N => Nth interval date }
+                                          # Slow:
+                                          #   { N => [Nth interval date,X,Y] }
+                                          #   [X,Y] are the first/last event indices
+                                          #   generated by this interval date.
+   $$self{'data'}{'dates'}       = {};    # { N => Nth recurring event }
+                                          # N is relative to the base date and is
+                                          # not affected by start/end
+   $$self{'data'}{'curr'}        = undef; # Iterator pointer
+   $$self{'data'}{'first'}       = undef; # N : the first date in a range
+   $$self{'data'}{'last'}        = undef; # N : the last date in a range
+
+   # Get the default start/end dates
+
+   my $range = $dmb->_config('recurrange');
+
+   if ($range eq 'none') {
+      $$self{'data'}{'start'}    = undef;
+      $$self{'data'}{'end'}      = undef;
+
+   } elsif ($range eq 'year') {
+      my $y      = $dmt->_now('y',1);
+      my $start  = $self->new_date();
+      my $end    = $self->new_date();
+      $start->set('date',[$y, 1, 1,00,00,00]);
+      $end->set  ('date',[$y,12,31,23,59,59]);
+      $$self{'data'}{'start'}    = $start;
+      $$self{'data'}{'end'}      = $end;
+
+   } elsif ($range eq 'month') {
+      my ($y,$m) = $dmt->_now('now',1);
+      my $dim    = $dmb->days_in_month($y,$m);
+      my $start  = $self->new_date();
+      my $end    = $self->new_date();
+      $start->set('date',[$y,$m,   1,00,00,00]);
+      $end->set  ('date',[$y,$m,$dim,23,59,59]);
+      $$self{'data'}{'start'}    = $start;
+      $$self{'data'}{'end'}      = $end;
+
+   } elsif ($range eq 'week') {
+      my($y,$m,$d) = $dmt->_now('now',1);
+      my $w;
+      ($y,$w)    = $dmb->week_of_year([$y,$m,$d]);
+      ($y,$m,$d) = @{ $dmb->week_of_year($y,$w) };
+      my($yy,$mm,$dd)
+        = @{ $dmb->_calc_date_ymwd([$y,$m,$d], [0,0,0,6], 0) };
+
+      my $start  = $self->new_date();
+      my $end    = $self->new_date();
+      $start->set('date',[$y, $m, $d, 00,00,00]);
+      $end->set  ('date',[$yy,$mm,$dd,23,59,59]);
+      $$self{'data'}{'start'}    = $start;
+      $$self{'data'}{'end'}      = $end;
+
+   } elsif ($range eq 'day') {
+      my($y,$m,$d) = $dmt->_now('now',1);
+      my $start  = $self->new_date();
+      my $end    = $self->new_date();
+      $start->set('date',[$y,$m,$d,00,00,00]);
+      $end->set  ('date',[$y,$m,$d,23,59,59]);
+      $$self{'data'}{'start'}    = $start;
+      $$self{'data'}{'end'}      = $end;
+
+   } elsif ($range eq 'all') {
+      my $start  = $self->new_date();
+      my $end    = $self->new_date();
+      $start->set('date',[0001,02,01,00,00,00]);
+      $end->set  ('date',[9999,11,30,23,59,59]);
+      $$self{'data'}{'start'}    = $start;
+      $$self{'data'}{'end'}      = $end;
+   }
+}
+
+# If $keep is 1, it will keep any existing base date and cached
+# dates, but it will reset other things.
+#
+sub _init_dates {
+   my($self,$keep) = @_;
+
+   if (! $keep) {
+      $$self{'data'}{'base'}  = undef;
+      $$self{'data'}{'BASE'}  = undef;
+      $$self{'data'}{'idate'} = {};
+      $$self{'data'}{'dates'} = {};
+   }
+   $$self{'data'}{'curr'}     = undef;
+   $$self{'data'}{'first'}    = undef;
+   $$self{'data'}{'last'}     = undef;
+}
+
+sub _init_args {
+   my($self) = @_;
+
+   my @args = @{ $$self{'args'} };
+   $self->parse(@args);
+}
+
+########################################################################
+# METHODS
+########################################################################
+
+sub parse {
+   my($self,$string,@args) = @_;
+   $self->_init();
+
+   # Test if $string = FREQ
+
+   my $err = $self->frequency($string);
+   if (! $err) {
+      $string = '';
+   }
+
+   # Test if $string = "FREQ*..." and FREQ contains an '*'.
+
+   if ($err) {
+      $self->err(1);
+
+      $string  =~ s/\s*\*\s*/\*/g;
+
+      if ($string =~ /^([^*]*\*[^*]*)\*/) {
+         # Everything up to the 2nd '*'
+         my $freq = $1;
+         $err     = $self->frequency($freq);
+         if (! $err) {
+            $string =~ s/^\Q$freq\E\*//;
+         }
+      } else {
+         $err = 1;
+      }
+   }
+
+   # Test if $string = "FREQ*..." and FREQ does NOT contains an '*'.
+
+   if ($err) {
+      $self->err(1);
+
+      if ($string =~ s/^([^*]*)\*//) {
+         # Everything up to he 1st '*'
+         my $freq = $1;
+         $err     = $self->frequency($freq);
+         if (! $err) {
+            $string =~ s/^\Q$freq\E\*//;
+         }
+      } else {
+         $err     = 1;
+      }
+   }
+
+   if ($err) {
+      $$self{'err'} = "[parse] Invalid frequency string";
+      return 1;
+   }
+
+   # Handle MODIFIERS from string and arguments
+
+   my @string = split(/\*/,$string);
+
+   if (@string) {
+      my $tmp = shift(@string);
+      $err = $self->modifiers($tmp)  if ($tmp);
+      return 1  if ($err);
+   }
+
+   if (@args) {
+      my $tmp = $args[0];
+      if ($tmp  &&  ! ref($tmp)) {
+         $err = $self->modifiers($tmp);
+         shift(@args)  if (! $err);
+      }
+   }
+
+   # Handle BASE
+
+   if (@string) {
+      my $tmp = shift(@string);
+      $err = $self->basedate($tmp)  if (defined($tmp)  &&  $tmp);
+      return 1  if ($err);
+   }
+   if (@args) {
+      my $tmp = shift(@args);
+      $err = $self->basedate($tmp)  if (defined($tmp)  &&  $tmp);
+      return 1  if ($err);
+   }
+
+   # Handle START, END, UNMOD
+
+   if (@string) {
+      my($start) = shift(@string);
+      my($end)   = shift(@string);
+      my($unmod) = shift(@string);
+
+      $err = $self->start($start,$unmod)  if (defined($start)  &&  $start);
+      return 1  if ($err);
+
+      $err = $self->end($end)  if (defined($end)  &&  $end);
+      return 1  if ($err);
+   }
+   if (@args) {
+      my($start) = shift(@args);
+      my($end)   = shift(@args);
+      my($unmod) = shift(@args);
+
+      $err = $self->start($start,$unmod)  if (defined($start)  &&  $start);
+      return 1  if ($err);
+
+      $err = $self->end($end)  if (defined($end)  &&  $end);
+      return 1  if ($err);
+   }
+
+   # Remaining arguments are invalid.
+
+   if (@string) {
+      $$self{'err'} = "[parse] String contains invalid elements";
+      return 1;
+   }
+   if (@args) {
+      $$self{'err'} = "[parse] Unknown arguments";
+      return 1;
+   }
+
+   return 0;
+}
+
+sub frequency {
+   my($self,$string) = @_;
+   return $$self{'data'}{'freq'}  if (! defined $string);
+
+   $self->_init();
+   my (@int,@rtime);
+
+   PARSE: {
+
+      # Standard frequency notation
+
+      my $stdrx = $self->_rx('std');
+      if ($string =~ $stdrx) {
+         my($l,$r) = @+{qw(l r)};
+
+         if (defined($l)) {
+            $l =~ s/^\s*:/0:/;
+            $l =~ s/:\s*$/:0/;
+            $l =~ s/::/:0:/g;
+
+            @int = split(/:/,$l);
+         }
+
+         if (defined($r)) {
+            $r =~ s/^\s*:/0:/;
+            $r =~ s/:\s*$/:0/;
+            $r =~ s/::/:0:/g;
+
+            @rtime = split(/:/,$r);
+         }
+
+         last PARSE;
+      }
+
+      # Other frequency strings
+
+      # Strip out some words to ignore
+
+      my $ignrx = $self->_rx('ignore');
+      $string =~ s/$ignrx/ /g;
+
+      my $eachrx = $self->_rx('each');
+      my $each   = 0;
+      if ($string =~ s/$eachrx/ /g) {
+         $each = 1;
+      }
+
+      $string =~ s/\s*$//;
+
+      if (! $string) {
+         $$self{'err'} = "[frequency] Invalid frequency string";
+         return 1;
+      }
+
+      my($l,$r);
+      my $err = $self->_parse_lang($string);
+      if ($err) {
+         $$self{'err'} = "[frequency] Invalid frequency string";
+         return 1;
+      }
+      return 0;
+   }
+
+   # If the interval consists only of zeros, the last entry is changed
+   # to 1.
+
+   if (@int) {
+      for my $i (@int) {
+         $i += 0;
+      }
+
+      TEST_INT: {
+         for my $i (@int) {
+            last TEST_INT if ($i);
+         }
+         $int[$#int] = 1;
+      }
+   }
+
+   # If @int contains 2 or 3 elements and ends in 0, move the trailing
+   # 0 to the start of @rtime.
+   #
+   #   Y:M:0 * D:H:MN:S  =>  Y:M * 0:D:H:MN:S
+
+   while (@int  &&
+          ($#int == 1 || $#int == 2)  &&
+          ($int[$#int] == 0)) {
+      pop(@int);
+      unshift(@rtime,0);
+   }
+
+   # We need to know what the valid values of M, W, and D are.
+   #
+   # Month can be:
+   #    moy     : 1 to 12                  (month of the year)
+   #
+   # Week can be:
+   #    woy     : 1 to 53  or  -1 to -53   (week of the year)
+   #    wom     : 1 to 5   or  -1 to -5    (week of the month)
+   #
+   # Day can be:
+   #    doy     : 1 to 366 or  -1 to -366  (day of the year)
+   #    dom     : 1 to 31  or  -1 to -31   (day of the month)
+   #    dow     : 1 to 7                   (day of the week)
+   #
+   # Other values must be zero or positive.
+
+   my($mtype,$wtype,$dtype) = ('','','');
+   my @f = (@int,@rtime);
+   my $m = $f[1];
+   my $w = $f[2];
+   my $d = $f[3];
+
+   if ($d  &&  @int < 4) {
+      if ($w) {
+         $dtype = 'dow';
+      } elsif ($m) {
+         $dtype = 'dom';
+      } else {
+         $dtype = 'doy';
+      }
+   }
+
+   if ($w  &&  @int < 3) {
+      if ($m) {
+         $wtype = 'wom';
+      } else {
+         $wtype = 'woy';
+      }
+   }
+
+   if ($m  &&  @int < 2) {
+      $mtype = 'moy';
+   }
+
+   # Test the format of @rtime.
+   #
+   # Turn it to:
+   #   @rtime = ( NUM|RANGE, NUM|RANGE, ...)
+   # where
+   #   NUM is an integer
+   #   RANGE is [NUM1,NUM2]
+
+   my $rfieldrx = $self->_rx('rfield');
+   my $rrangerx = $self->_rx('rrange');
+   my @type     = qw(y m w d h mn s);
+   while ($#type > $#rtime) {
+      shift(@type);
+   }
+
+   foreach my $rfield (@rtime) {
+      my $type = shift(@type);
+
+      if ($rfield !~ $rfieldrx) {
+         $$self{'err'} = "[frequency] Invalid rtime string";
+         return 1;
+      }
+
+      my @rfield = split(/,/,$rfield);
+      my @val;
+
+      foreach my $vals (@rfield) {
+         if ($vals =~ $rrangerx) {
+            my ($num1,$num2) = ($1+0,$2+0);
+
+            my $err = $self->_frequency_values($num1,$type,$mtype,$wtype,$dtype);
+            return $err  if ($err);
+
+            $err    = $self->_frequency_values($num2,$type,$mtype,$wtype,$dtype);
+            return $err  if ($err);
+
+            if ( ($num1 > 0  &&  $num2 > 0)  ||
+                 ($num1 < 0  &&  $num2 < 0) ) {
+               if ($num1 > $num2) {
+                  $$self{'err'} = "[frequency] Invalid rtime range string";
+                  return 1;
+               }
+               push(@val,$num1..$num2);
+            } else {
+               push(@val,[$num1,$num2]);
+            }
+
+         } else {
+            $vals += 0;
+
+            my $err = $self->_frequency_values($vals,$type,$mtype,$wtype,$dtype);
+            return $err  if ($err);
+
+            push(@val,$vals);
+         }
+      }
+
+      $rfield = [ @val ];
+   }
+
+   # Store it
+
+   $$self{'data'}{'interval'} = [ @int ];
+   $$self{'data'}{'rtime'}    = [ @rtime ];
+
+   # Analyze the rtime to see if it's slow, and to get the number of
+   # events per interval date.
+
+   my $freq = join(':',@int);
+   my $slow = 0;
+   my $n    = 1;
+   if (@rtime) {
+      $freq .= '*';
+      my (@tmp);
+
+      foreach my $rtime (@rtime) {
+         my @t2;
+         foreach my $tmp (@$rtime) {
+            if (ref($tmp)) {
+               my($a,$b) = @$tmp;
+               push(@t2,"$a-$b");
+               $slow = 1;
+            } else {
+               push(@t2,$tmp);
+            }
+         }
+         my $tmp = join(',',@t2);
+         push(@tmp,$tmp);
+         my $nn  = @t2;
+         $n     *= $nn;
+      }
+      $freq .= join(':',@tmp);
+   }
+   $$self{'data'}{'freq'}     = $freq;
+   $$self{'data'}{'slow'}     = $slow;
+   $$self{'data'}{'ev_per_d'} = $n     if (! $slow);
+
+   if (@int) {
+      $$self{'data'}{'noint'} = 0;
+
+      while (@int < 7) {
+         push(@int,0);
+      }
+      my $delta               = $self->new_delta();
+      $delta->set('delta',[@int]);
+      $$self{'data'}{'delta'} = $delta;
+
+   } else {
+      $$self{'data'}{'noint'} = 1;
+   }
+
+   return 0;
+}
+
+sub _frequency_values {
+   my($self,$num,$type,$mtype,$wtype,$dtype) = @_;
+   my $err;
+
+   if ($type eq 'm') {
+      if ($mtype eq 'moy') {
+         if ($num < 1) {
+            $$self{'err'} = "[frequency] Month of year must be 1-12 (zero/negative not allowed)";
+            return 1;
+         } elsif ($num > 12) {
+            $$self{'err'} = "[frequency] Month of year must be 1-12";
+            return 1;
+         }
+      }
+      return 0;
+   }
+
+   if ($type eq 'w') {
+      if ($wtype eq 'woy') {
+         if ($num == 0) {
+            $$self{'err'} = "[frequency] Week of year must be nonzero";
+            return 1;
+
+         } elsif ($num > 53  ||  $num < -53) {
+            $$self{'err'} = "[frequency] Week of year must be 1-53 or -1 to -53";
+            return 1;
+         }
+
+      } elsif ($wtype eq 'wom') {
+         if ($num == 0) {
+            $$self{'err'} = "[frequency] Week of month must be nonzero";
+            return 1;
+
+         } elsif ($num > 5  ||  $num < -5) {
+            $$self{'err'} = "[frequency] Week of month must be 1-5 or -1 to -5";
+            return 1;
+         }
+
+      }
+      return 0;
+   }
+
+   if ($type eq 'd') {
+      if ($dtype eq 'dow') {
+         if ($num < 1) {
+            $$self{'err'} = "[frequency] Day of week must be 1-7 (zero/negative not allowed)";
+            return 1;
+         } elsif ($num > 7) {
+            $$self{'err'} = "[frequency] Day of week must be 1-7";
+            return 1;
+         }
+
+      } elsif ($dtype eq 'dom') {
+         if ($num == 0) {
+            $$self{'err'} = "[frequency] Day of month must be nonzero";
+            return 1;
+
+         } elsif ($num > 31  ||  $num < -31) {
+            $$self{'err'} = "[frequency] Day of month must be 1-31 or -1 to -31";
+            return 1;
+         }
+
+      } elsif ($dtype eq 'doy') {
+         if ($num == 0) {
+            $$self{'err'} = "[frequency] Day of year must be nonzero";
+            return 1;
+
+         } elsif ($num > 366  ||  $num < -366) {
+            $$self{'err'} = "[frequency] Day of year must be 1-366 or -1 to -366";
+            return 1;
+         }
+
+      }
+      return 0;
+   }
+
+   if ($num < 0) {
+      $$self{'err'} = "[frequency] Negative values only allowed for day/week";
+      return 1;
+   }
+
+   return 0;
+}
+
+sub _parse_lang {
+   my($self,$string) = @_;
+   my $dmt           = $$self{'tz'};
+   my $dmb           = $$dmt{'base'};
+
+   # Test the regular expression
+
+   my $rx = $self->_rx('every');
+
+   return 1  if ($string !~ $rx);
+   my($month,$week,$day,$last,$nth,$day_name,$day_abb,$mon_name,$mon_abb,$n,$y) =
+     @+{qw(month week day last nth day_name day_abb mon_name mon_abb n y)};
+
+   # Convert wordlist values to calendar values
+
+   my $dow;
+   if (defined($day_name) || defined($day_abb)) {
+      if (defined($day_name)) {
+         $dow = $$dmb{'data'}{'wordmatch'}{'day_name'}{lc($day_name)};
+      } else {
+         $dow = $$dmb{'data'}{'wordmatch'}{'day_abb'}{lc($day_abb)};
+      }
+   }
+
+   my $mmm;
+   if (defined($mon_name) || defined($mon_abb)) {
+      if (defined($mon_name)) {
+         $mmm = $$dmb{'data'}{'wordmatch'}{'month_name'}{lc($mon_name)};
+      } else {
+         $mmm = $$dmb{'data'}{'wordmatch'}{'month_abb'}{lc($mon_abb)};
+      }
+   }
+
+   if (defined($nth)) {
+      $nth = $$dmb{'data'}{'wordmatch'}{'nth'}{lc($nth)};
+   }
+
+   # Get the frequencies
+
+   my($freq);
+   if (defined($dow)) {
+      if (defined($mmm)) {
+         if (defined($last)) {
+            # last DoW in MMM [YY]
+            $freq = "1*$mmm:-1:$dow:0:0:0";
+
+         } elsif (defined($nth)) {
+            # Nth DoW in MMM [YY]
+            $freq = "1*$mmm:$nth:$dow:0:0:0";
+
+         } else {
+            # every DoW in MMM [YY]
+            $freq = "1*$mmm:1-5:$dow:0:0:0";
+         }
+
+      } else {
+         if (defined($last)) {
+            # last DoW in every month [in YY]
+            $freq = "0:1*-1:$dow:0:0:0";
+
+         } elsif (defined($nth)) {
+            # Nth DoW in every month [in YY]
+            $freq = "0:1*$nth:$dow:0:0:0";
+
+         } else {
+            # every DoW in every month [in YY]
+            $freq = "0:1*1-5:$dow:0:0:0";
+         }
+      }
+
+   } elsif (defined($day)) {
+      if (defined($month)) {
+         if (defined($nth)) {
+            # Nth day of every month [YY]
+            $freq = "0:1*0:$nth:0:0:0";
+
+         } elsif (defined($last)) {
+            # last day of every month [YY]
+            $freq = "0:1*0:-1:0:0:0";
+
+         } else {
+            # every day of every month [YY]
+            $freq = "0:0:0:1*0:0:0";
+         }
+
+      } else {
+         if (defined($nth)) {
+            # every Nth day [YY]
+            $freq = "0:0:0:$nth*0:0:0";
+
+         } elsif (defined($n)) {
+            # every N days [YY]
+            $freq = "0:0:0:$n*0:0:0";
+
+         } else {
+            # every day [YY]
+            $freq = "0:0:0:1*0:0:0";
+         }
+      }
+   }
+
+   # Get the range (if YY is included)
+
+   if (defined($y)) {
+      $y        = $dmt->_fix_year($y);
+      my $start = "${y}010100:00:00";
+      my $end   = "${y}123123:59:59";
+
+      return $self->parse($freq,undef,$start,$end);
+   }
+
+   return $self->frequency($freq)
+}
+
+sub _date {
+   my($self,$op,$date_or_string) = @_;
+
+   # Make sure the argument is a date
+
+   if (ref($date_or_string) eq 'Date::Manip::Date') {
+      $$self{'data'}{$op} = $date_or_string;
+
+   } elsif (ref($date_or_string)) {
+      $$self{'err'} = "[$op] Invalid date object";
+      return 1;
+
+   } else {
+      my $date = $self->new_date();
+      my $err  = $date->parse($date_or_string);
+      if ($err) {
+         $$self{'err'} = "[$op] Invalid date string";
+         return 1;
+      }
+      $$self{'data'}{$op} = $date;
+   }
+
+   return 0;
+}
+
+sub start {
+   my($self,$start,$unmod) = @_;
+   return $$self{'data'}{'start'}  if (! defined $start);
+
+   $self->_init_dates(1);
+   $$self{'data'}{'unmod_range'} = $unmod;
+   $self->_date('start',$start);
+}
+
+sub end {
+   my($self,$end) = @_;
+   return $$self{'data'}{'end'}  if (! defined $end);
+
+   $self->_init_dates(1);
+   $self->_date('end',$end);
+}
+
+sub basedate {
+   my($self,$base) = @_;
+   return ($$self{'data'}{'base'},$$self{'data'}{'BASE'})  if (! defined $base);
+
+   $self->_init_dates();
+   $self->_date('base',$base);
+}
+
+sub modifiers {
+   my($self,@flags) = @_;
+   return @{ $$self{'data'}{'flags'} }  if (! @flags);
+
+   my $dmt          = $$self{'tz'};
+   my $dmb          = $$dmt{'base'};
+   if (@flags == 1) {
+      @flags        = split(/,/,lc($flags[0]));
+   }
+
+   # Add these flags to the list
+
+   if (@flags  &&  $flags[0] eq "+") {
+      shift(@flags);
+      my @tmp = @{ $$self{'data'}{'flags'} };
+      @flags  = (@tmp,@flags)  if (@tmp);
+   }
+
+   # Return an error if any modifier is unknown
+
+   foreach my $flag (@flags) {
+      next  if ($flag =~ /^([pn][dt][1-7]|wd[1-7]|[fb][dw]\d+|cw[dnp]|[npd]wd|[in]bd|[in]w[1-7]|easter)$/);
+      $$self{'err'} = "[modifiers] Invalid modifier: $flag";
+      return 1;
+   }
+
+   $$self{'data'}{'flags'}  = [ @flags ];
+   $self->_init_dates();
+
+   return 0;
+}
+
+sub nth {
+   my($self,$n) = @_;
+   $n = 0  if (! $n);
+   return ($$self{'data'}{'dates'}{$n},0)
+     if (exists $$self{'data'}{'dates'}{$n});
+
+   my ($err) = $self->_error();
+   return (undef,$err)  if ($err);
+
+   return ($$self{'data'}{'dates'}{$n},0)
+     if (exists $$self{'data'}{'dates'}{$n});
+
+   # If there is no interval, then we've found every date that
+   # can be found.
+   if ($$self{'data'}{'noint'}) {
+      return (undef,0);
+   }
+
+   if ($$self{'data'}{'slow'}) {
+      my $nn = 0;
+      while (1) {
+         $self->_nth_interval($nn);
+         return ($$self{'data'}{'dates'}{$n},0)
+           if (exists $$self{'data'}{'dates'}{$n});
+         if ($n >= 0) {
+            $nn++;
+         } else {
+            $nn--;
+         }
+      }
+
+   } else {
+      my $nn;
+      if ($n >= 0) {
+         $nn = int($n/$$self{'data'}{'ev_per_d'});
+      } else {
+         $nn = int(($n+1)/$$self{'data'}{'ev_per_d'}) -1;
+      }
+      $self->_nth_interval($nn);
+      return ($$self{'data'}{'dates'}{$n},0);
+   }
+}
+
+sub next {
+   my($self) = @_;
+
+   my ($err) = $self->_error();
+   return (undef,$err)  if ($err);
+
+   # If curr is not set, we have to get it.
+
+   if (! defined $$self{'data'}{'curr'}) {
+
+      CURR:
+      while (1) {
+
+         # If no interval then
+         #    return base date
+
+         if ($$self{'data'}{'noint'}) {
+            $$self{'data'}{'curr'} = -1;
+            last CURR;
+         }
+
+         # If a range is defined
+         #    find first event in range and return it
+
+         if (defined $$self{'data'}{'start'}  &&
+             defined $$self{'data'}{'end'}) {
+
+            my $n = $self->_locate_n('first');
+            $$self{'data'}{'curr'} = $n-1;
+
+         } else {
+            $$self{'data'}{'curr'} = -1;
+         }
+         last CURR;
+      }
+   }
+
+   # With curr set, find the next defined one
+
+   while (1) {
+      $$self{'data'}{'curr'}++;
+      if ($$self{'data'}{'noint'}) {
+         return (undef,0)
+           if (! exists $$self{'data'}{'dates'}{$$self{'data'}{'curr'}});
+      }
+      my ($d,$e) = $self->nth($$self{'data'}{'curr'});
+      return (undef,$e)  if ($e);
+      return ($d,0)      if (defined $d);
+   }
+}
+
+sub prev {
+   my($self) = @_;
+
+   my ($err) = $self->_error();
+   return (undef,$err)  if ($err);
+
+   # If curr is not set, we have to get it.
+
+   if (! defined $$self{'data'}{'curr'}) {
+
+      CURR:
+      while (1) {
+
+         # If no interval then
+         #    return last one
+
+         if ($$self{'data'}{'noint'}) {
+            my @n = sort { $a <=> $b } keys %{ $$self{'data'}{'dates'} };
+            $$self{'data'}{'curr'} = pop(@n) + 1;
+            last CURR;
+         }
+
+         # If a range is defined
+         #    find last event in range and return it
+
+         if (defined $$self{'data'}{'start'}  &&
+             defined $$self{'data'}{'end'}) {
+
+            my $n = $self->_locate_n('last');
+            $$self{'data'}{'curr'} = $n+1;
+
+         } else {
+            $$self{'data'}{'curr'} = 0;
+         }
+         last CURR;
+      }
+   }
+
+   # With curr set, find the previous defined one
+
+   while (1) {
+      $$self{'data'}{'curr'}--;
+      if ($$self{'data'}{'noint'}) {
+         return (undef,0)
+           if (! exists $$self{'data'}{'dates'}{$$self{'data'}{'curr'}});
+      }
+      my ($d,$e) = $self->nth($$self{'data'}{'curr'});
+      return (undef,$e)  if ($e);
+      return ($d,0)      if (defined $d);
+   }
+}
+
+sub dates {
+   my($self,$start2,$end2,$unmod) = @_;
+   $self->err(1);
+
+   # If $start2 or $end2 are provided, make sure they are valid.
+   # If either are provided, make a note of it ($tmp_limits).
+
+   my $tmp_limits = 0;
+   $tmp_limits    = 1  if ($start2  ||  $end2);
+   $unmod         = 0  if (! $unmod);
+
+   # Check the recurrence for errors. If both $start2 and $end2 are
+   # provided, it's not necessary for a range to be in the recurrence.
+
+   my $range_required;
+   if (defined($start2)  &&  defined($end2)) {
+      $range_required = 0;
+   } else {
+      $range_required = 1;
+   }
+
+   my($err);
+   ($err,$start2,$end2) = $self->_error($range_required,$start2,$end2);
+   return ()  if ($err);
+
+   # If $start2 or $end2 were provided, back up the data that applies
+   # to the current date range, and store the new date range in it's place.
+
+   my ($old_start, $old_end, $old_first, $old_last, $old_unmod);
+
+   if ($tmp_limits) {
+      $old_start              = $$self{'data'}{'start'};
+      $old_end                = $$self{'data'}{'end'};
+      $old_first              = $$self{'data'}{'first'};
+      $old_last               = $$self{'data'}{'last'};
+      $old_unmod              = $$self{'data'}{'unmod_range'};
+
+      $$self{'data'}{'start'} = $start2;
+      $$self{'data'}{'end'}   = $end2;
+      $$self{'data'}{'first'} = undef;
+      $$self{'data'}{'last'}  = undef;
+      $$self{'data'}{'unmod_range'} = $unmod;
+   }
+
+   # Get all of the dates
+
+   my($end,$first,$last,@dates);
+
+   $first = $self->_locate_n('first');
+   $last  = $self->_locate_n('last');
+
+   if (defined($first)  &&  defined($last)) {
+      for (my $n = $first; $n <= $last; $n++) {
+         my($date,$err) = $self->nth($n);
+         push(@dates,$date)  if (defined $date);
+      }
+   }
+
+   # Restore the original date range values.
+
+   if ($tmp_limits) {
+      $$self{'data'}{'start'} = $old_start;
+      $$self{'data'}{'end'}   = $old_end;
+      $$self{'data'}{'first'} = $old_first;
+      $$self{'data'}{'last'}  = $old_last;
+      $$self{'data'}{'unmod_range'} = $old_unmod;
+   }
+
+   return @dates;
+}
+
+########################################################################
+# MISC
+########################################################################
+
+# This checks a recurrence for errors and completeness prior to
+# extracting a date or dates from it.
+#
+sub _error {
+   my($self,$range_required,$start2,$end2) = @_;
+
+   return ('Invalid recurrence')  if ($self->err());
+
+   # All dates entered must be valid.
+
+   my($start,$end);
+   if      (defined $start2) {
+      if (ref($start2) eq 'Date::Manip::Date') {
+         $start = $start2;
+      } elsif (! ref($start2)) {
+         $start = $self->new_date();
+         $start->parse($start2);
+      } else {
+         return ('Invalid start argument');
+      }
+      return ('Start invalid')  if ($start->err());
+   } elsif (defined $$self{'data'}{'start'}) {
+      $start = $$self{'data'}{'start'};
+      return ('Start invalid')  if ($start->err());
+   }
+
+   if      (defined $end2) {
+      if (ref($end2) eq 'Date::Manip::Date') {
+         $end = $end2;
+      } elsif (! ref($end2)) {
+         $end = $self->new_date();
+         $end->parse($end2);
+      } else {
+         return ('Invalid end argument');
+      }
+      return ('End invalid')  if ($end->err());
+   } elsif (defined $$self{'data'}{'end'}) {
+      $end   = $$self{'data'}{'end'};
+      return ('End invalid')    if ($end->err());
+   }
+
+   if (defined $$self{'data'}{'base'}) {
+      my $base   = $$self{'data'}{'base'};
+      return ('Base invalid')    if ($base->err());
+   }
+
+   # *Y:M:W:D:H:MN:S is complete.
+
+   if ($$self{'data'}{'noint'}) {
+      if ($$self{'data'}{'noint'} == 1) {
+         my @dates = $self->_apply_rtime_mods();
+         $$self{'data'}{'noint'} = 2;
+
+         my $n = 0;
+         foreach my $date (@dates) {
+            next  if (! defined $date);
+            $$self{'data'}{'dates'}{$n++} = $date;
+         }
+
+         return (0,$start,$end)  if ($n == 0);
+
+         if (defined $start  &&  defined $end) {
+            my ($first,$last);
+            for (my $i=0; $i<$n; $i++) {
+               my $date = $$self{'data'}{'dates'}{$i};
+               if ($start->cmp($date) <= 0  &&
+                   $end->cmp($date) >= 0) {
+                  $first = $i;
+                  last;
+               }
+            }
+            for (my $i=$n-1; $i>=0; $i--) {
+               my $date = $$self{'data'}{'dates'}{$i};
+               if ($start->cmp($date) <= 0  &&
+                   $end->cmp($date) >= 0) {
+                  $last = $i;
+                  last;
+               }
+            }
+
+            $$self{'data'}{'first'} = $first;
+            $$self{'data'}{'last'}  = $last;
+         } else {
+            $$self{'data'}{'first'} = 0;
+            $$self{'data'}{'last'}  = $n-1;
+         }
+      }
+      return (0,$start,$end);
+   }
+
+   # If a range is entered, it must be valid. Also
+   # a range is required if $range_required is given.
+
+   if ($start  &&  $end) {
+      return ('Range invalid')  if ($start->cmp($end) == 1);
+   } elsif ($range_required) {
+      return ('Incomplete recurrence');
+   }
+
+   # Check that the base date is available.
+
+   $self->_actual_base($start);
+
+   if (defined $$self{'data'}{'BASE'}) {
+      my $base = $$self{'data'}{'BASE'};
+      return ('Base invalid')  if ($base->err());
+      return (0,$start,$end);
+   }
+
+   return ('Incomplete recurrence');
+}
+
+# This determines the actual base date from a specified base date (or
+# start date).  If a base date cannot be set, then
+# $$self{'data'}{'BASE'} is NOT defined.
+#
+sub _actual_base {
+   my($self,$start2) = @_;
+
+   # Is the actual base date already defined?
+
+   return  if (defined $$self{'data'}{'BASE'});
+
+   # Use the specified base date or start date.
+
+   my $base  = undef;
+   if (defined $$self{'data'}{'base'}) {
+      $base = $$self{'data'}{'base'};
+   } elsif (defined $start2) {
+      $base = $start2;
+   } elsif (defined $$self{'data'}{'start'}) {
+      $base = $$self{'data'}{'start'};
+   } else {
+      return;
+   }
+
+   # Determine the actual base date from the specified base date.
+
+   my $dmt   = $$self{'tz'};
+   my $dmb   = $$dmt{'base'};
+   $dmt->_update_now();   # Update NOW
+   my @int   = @{ $$self{'data'}{'interval'} };
+   my @rtime = @{ $$self{'data'}{'rtime'} };
+   my ($yf,$mf,$wf,$df,$hf,$mnf,$sf) = (@int,@rtime);
+   my ($y,$m,$d,$h,$mn,$s)           = $base->value();
+   my $BASE  = $self->new_date();
+   my $n     = @int;
+
+   if      ($n == 0) {
+      # *Y:M:W:D:H:MN:S
+      return;
+
+   } elsif ($n == 1) {
+      # Y*M:W:D:H:MN:S
+      $BASE->set('date',[$y,1,1,0,0,0]);
+
+   } elsif ($n == 2) {
+      # Y:M*W:D:H:MN:S
+      $BASE->set('date',[$y,$m,1,0,0,0]);
+
+   } elsif ($n == 3) {
+      # Y:M:W*D:H:MN:S
+      my($yy,$w) = $dmb->week_of_year([$y,$m,$d,$h,$mn,$s]);
+      my($ymd)   = $dmb->week_of_year($yy,$w);
+      $BASE->set('date',[@$ymd,0,0,0]);
+
+   } elsif ($n == 4) {
+      # Y:M:W:D*H:MN:S
+      $BASE->set('date',[$y,$m,$d,0,0,0]);
+
+   } elsif ($n == 5) {
+      # Y:M:W:D:H*MN:S
+      $BASE->set('date',[$y,$m,$d,$h,0,0]);
+
+   } elsif ($n == 6) {
+      # Y:M:W:D:H:MN*S
+      $BASE->set('date',[$y,$m,$d,$h,$mn,0]);
+
+   } else {
+      # Y:M:W:D:H:MN:S
+      $BASE->set('date',[$y,$m,$d,$h,$mn,$s]);
+   }
+
+   $$self{'data'}{'BASE'} = $BASE;
+}
+
+sub _rx {
+   my($self,$rx) = @_;
+   my $dmt       = $$self{'tz'};
+   my $dmb       = $$dmt{'base'};
+
+   return $$dmb{'data'}{'rx'}{'recur'}{$rx}
+     if (exists $$dmb{'data'}{'rx'}{'recur'}{$rx});
+
+   if ($rx eq 'std') {
+
+      my $l      = '[0-9]*';
+      my $r      = '[-,0-9]*';
+      my $stdrx  = "(?$l:$l:$l:$l:$l:$l:$l)(?)|" .
+                   "(?$l:$l:$l:$l:$l:$l)\\*(?$r)|" .
+                   "(?$l:$l:$l:$l:$l)\\*(?$r:$r)|" .
+                   "(?$l:$l:$l:$l)\\*(?$r:$r:$r)|" .
+                   "(?$l:$l:$l)\\*(?$r:$r:$r:$r)|" .
+                   "(?$l:$l)\\*(?$r:$r:$r:$r:$r)|" .
+                   "(?$l)\\*(?$r:$r:$r:$r:$r:$r)|" .
+                   "(?)\\*(?$r:$r:$r:$r:$r:$r:$r)";
+      $$dmb{'data'}{'rx'}{'recur'}{$rx} = qr/^\s*(?:$stdrx)\s*$/;
+
+   } elsif ($rx eq 'rfield' ||
+            $rx eq 'rnum'   ||
+            $rx eq 'rrange') {
+
+      my $num    = '[+-]?\d+';
+      my $range  = "$num\-$num";
+      my $val    = "(?:$range|$num)";
+      my $vals   = "$val(?:,$val)*";
+
+      $$dmb{'data'}{'rx'}{'recur'}{'rfield'} = qr/^($vals)$/;
+      $$dmb{'data'}{'rx'}{'recur'}{'rnum'}   = qr/^($num)$/;
+      $$dmb{'data'}{'rx'}{'recur'}{'rrange'} = qr/^($num)\-($num)$/;
+
+   } elsif ($rx eq 'each') {
+
+      my $each  = $$dmb{'data'}{'rx'}{'each'};
+
+      my $eachrx = qr/(?:^|\s+)(?:$each)(\s+|$)/i;
+      $$dmb{'data'}{'rx'}{'recur'}{$rx} = $eachrx;
+
+   } elsif ($rx eq 'ignore') {
+
+      my $of    = $$dmb{'data'}{'rx'}{'of'};
+      my $on    = $$dmb{'data'}{'rx'}{'on'};
+
+      my $ignrx = qr/(?:^|\s+)(?:$on|$of)(\s+|$)/i;
+      $$dmb{'data'}{'rx'}{'recur'}{$rx} = $ignrx;
+
+   } elsif ($rx eq 'every') {
+
+      my $month    = $$dmb{'data'}{'rx'}{'fields'}[2];
+      my $week     = $$dmb{'data'}{'rx'}{'fields'}[3];
+      my $day      = $$dmb{'data'}{'rx'}{'fields'}[4];
+
+      my $last     = $$dmb{'data'}{'rx'}{'last'};
+      my $nth      = $$dmb{'data'}{'rx'}{'nth'}[0];
+      my $nth_wom  = $$dmb{'data'}{'rx'}{'nth_wom'}[0];
+      my $nth_dom  = $$dmb{'data'}{'rx'}{'nth_dom'}[0];
+
+      my $day_abb  = $$dmb{'data'}{'rx'}{'day_abb'}[0];
+      my $day_name = $$dmb{'data'}{'rx'}{'day_name'}[0];
+      my $mon_abb  = $$dmb{'data'}{'rx'}{'month_abb'}[0];
+      my $mon_name = $$dmb{'data'}{'rx'}{'month_name'}[0];
+
+      my $beg      = '(?:^|\s+)';
+      my $end      = '(?:\s*$)';
+
+      $month       = "$beg(?$month)";         # months
+      $week        = "$beg(?$week)";           # weeks
+      $day         = "$beg(?$day)";             # days
+
+      $last        = "$beg(?$last)";           # last
+      $nth         = "$beg(?$nth)";             # 1st,2nd,...
+      $nth_wom     = "$beg(?$nth_wom)";         # 1st - 5th
+      $nth_dom     = "$beg(?$nth_dom)";         # 1st - 31st
+      my $n        = "$beg(?\\d+)";               # 1,2,...
+
+      my $dow      = "$beg(?:(?$day_name)|(?$day_abb))";  # Sun|Sunday
+      my $mmm      = "$beg(?:(?$mon_name)|(?$mon_abb))";  # Jan|January
+
+      my $y        = "(?:$beg(?:(?\\d\\d\\d\\d)|(?\\d\\d)))?";
+
+      my $freqrx   =
+        "$nth_wom?$dow$mmm$y|" .   # every DoW in MMM [YY]
+        "$last$dow$mmm$y|" .       # Nth DoW in MMM [YY]
+                                   # last DoW in MMM [YY]
+                                   #    day_name|day_abb
+                                   #    mon_name|mon_abb
+                                   #    last*|nth*
+                                   #    y*
+        "$nth_wom?$dow$month$y|" . # every DoW of every month [YY]
+        "$last$dow$month$y|" .     # Nth DoW of every month [YY]
+                                   # last DoW of every month [YY]
+                                   #    day_name|day_abb
+                                   #    last*|nth*
+                                   #    y*
+        "$nth_dom?$day$month$y|" . # every day of every month [YY]
+        "$last$day$month$y|" .     # Nth day of every month [YY]
+                                   # last day of every month [YY]
+                                   #    day
+                                   #    month
+                                   #    nth*|last*
+                                   #    y*
+        "$nth*$day$y|" .           # every day [YY]
+        "$n$day$y";                # every Nth day [YY]
+                                   # every N days [YY]
+                                   #    day
+                                   #    nth*|n*
+                                   #    y*
+
+      $freqrx = qr/^(?:$freqrx)\s*$/i;
+      $$dmb{'data'}{'rx'}{'recur'}{$rx} = $freqrx;
+   }
+
+   return $$dmb{'data'}{'rx'}{'recur'}{$rx};
+}
+
+# @dates = $self->_apply_rtime_mods();
+#
+#    Should only be called if there is no interval (*Y:M:W:D:H:MN:S).
+#
+#    It will use rtime/modifiers to get a list of all events
+#    specified by the recurrence.  This only needs to be done once.
+#
+# @dates = $self->_apply_rtime_mods($date);
+#
+#    For all other types of recurrences, this will take a single
+#    date and apply all rtime/modifiers to it to get a list of
+#    events.
+#
+sub _apply_rtime_mods {
+   my($self,$date) = @_;
+   my $dmt       = $$self{'tz'};
+   my $dmb       = $$dmt{'base'};
+   my @int       = @{ $$self{'data'}{'interval'} };
+   my @rtime     = @{ $$self{'data'}{'rtime'} };
+   my $n         = @int;
+
+   my ($yf,$mf,$wf,$df,$hf,$mnf,$sf) = (@int,@rtime);
+   my $m_empty   = $self->_field_empty($mf);
+   my $w_empty   = $self->_field_empty($wf);
+   my $d_empty   = $self->_field_empty($df);
+   my ($err,$y,$m,$d,$h,$mn,$s,@y,@m,@w,@d,@h,@mn,@s,@doy,@woy,@dow,@n);
+   ($y,$m,$d,$h,$mn,$s) = $date->value()  if (defined $date);
+   my(@date);
+
+   if ($n <= 1) {
+      #
+      # *Y:M:W:D:H:MN:S
+      #  Y*M:W:D:H:MN:S
+      #
+
+      if (@int == 0) {
+         ($err,@y)  = $self->_rtime_values('y',$yf);
+         return ()     if ($err);
+      } else {
+         @y         = ($y);
+      }
+
+      if ( ($m_empty  &&  $w_empty  &&  $d_empty) ||
+           (! $m_empty  &&  $w_empty) ) {
+
+         #  *0:0:0:0       Jan 1 of the current year
+         #  *1:0:0:0       Jan 1, 0001
+         #  *0:2:0:0       Feb 1 of the current year
+         #  *1:2:0:0       Feb 1, 0001
+         #  *0:2:0:4       Feb 4th of the current year
+         #  *1:2:0:4       Feb 4th, 0001
+         #   1*0:0:0       every year on Jan 1
+         #   1*2:0:0       every year on Feb 1
+         #   1*2:0:4       every year on Feb 4th
+
+         $mf = [1]  if ($m_empty);
+         $df = [1]  if ($d_empty);
+
+         ($err,@m)  = $self->_rtime_values('m',$mf);
+         return ()  if ($err);
+
+         foreach my $y (@y) {
+            foreach my $m (@m) {
+               ($err,@d)  = $self->_rtime_values('day_of_month',$df,$y,$m);
+               return ()  if ($err);
+               foreach my $d (@d) {
+                  push(@date,[$y,$m,$d,0,0,0]);
+               }
+            }
+         }
+
+      } elsif ($m_empty) {
+
+         if ($w_empty) {
+
+            #  *0:0:0:4       the 4th day of the current year
+            #  *1:0:0:4       the 4th day of 0001
+            #   1*0:0:4       every year on the 4th day of the year
+
+            foreach my $y (@y) {
+               ($err,@doy)  = $self->_rtime_values('day_of_year',$df,$y);
+               return ()  if ($err);
+               foreach my $doy (@doy) {
+                  my($yy,$mm,$dd) = @{ $dmb->day_of_year($y,$doy) };
+                  push(@date,[$yy,$mm,$dd,0,0,0]);
+               }
+            }
+
+         } elsif ($d_empty) {
+
+            #  *0:0:3:0       the first day of the 3rd week of the curr year
+            #  *1:0:3:0       the first day of the 3rd week of 0001
+            #   1*0:3:0       every year on the first day of 3rd week of year
+
+            foreach my $y (@y) {
+               ($err,@woy)  = $self->_rtime_values('week_of_year',$wf,$y);
+               return ()  if ($err);
+               foreach my $woy (@woy) {
+                  my ($yy,$mm,$dd) = @{ $dmb->week_of_year($y,$woy) };
+                  push(@date,[$yy,$mm,$dd,0,0,0]);
+               }
+            }
+
+         } else {
+
+            #  *1:0:3:4       in 0001 on the 3rd Thur of the year
+            #  *0:0:3:4       on the 3rd Thur of the current year
+            #   1*0:3:4       every year on the 3rd Thur of the year
+
+            ($err,@dow)  = $self->_rtime_values('day_of_week',$df);
+            return ()  if ($err);
+            foreach my $y (@y) {
+               foreach my $dow (@dow) {
+                  ($err,@n) = $self->_rtime_values('dow_of_year',$wf,$y,$dow);
+                  return ()  if ($err);
+                  foreach my $n (@n) {
+                     my $ymd =  $dmb->nth_day_of_week($y,$n,$dow);
+                     my($yy,$mm,$dd) = @$ymd;
+                     push(@date,[$yy,$mm,$dd,0,0,0]);
+                  }
+               }
+            }
+         }
+
+      } else {
+
+         #  *1:2:3:4       in Feb 0001 on the 3rd Thur of the month
+         #  *0:2:3:4       on the 3rd Thur of Feb in the curr year
+         #  *1:2:3:0       the 3rd occurrence of FirstDay in Feb 0001
+         #  *0:2:3:0       the 3rd occurrence of FirstDay in Feb of curr year
+         #   1*2:3:4       every year in Feb on the 3rd Thur
+         #   1*2:3:0       every year on the 3rd occurrence of FirstDay in Feb
+
+         ($err,@m)  = $self->_rtime_values('m',$mf);
+         return ()  if ($err);
+
+         if ($d_empty) {
+            @dow = ($dmb->_config('firstday'));
+         } else {
+            ($err,@dow) = $self->_rtime_values('day_of_week',$df);
+            return ()  if ($err);
+         }
+
+         foreach my $y (@y) {
+            foreach my $m (@m) {
+               foreach my $dow (@dow) {
+                  ($err,@n)  = $self->_rtime_values('dow_of_month',
+                                                    $wf,$y,$m,$dow);
+                  return ()  if ($err);
+                  foreach my $n (@n) {
+                     my $ymd =  $dmb->nth_day_of_week($y,$n,$dow,$m);
+                     my($yy,$mm,$dd) = @$ymd;
+                     push(@date,[$yy,$mm,$dd,0,0,0]);
+                  }
+               }
+            }
+         }
+      }
+
+   } elsif ($n == 2) {
+
+      #
+      #  Y:M*W:D:H:MN:S
+      #
+
+      if ($w_empty) {
+
+         #   0:2*0:0       every 2 months on the first day of the month
+         #   0:2*0:4       every 2 months on the 4th day of the month
+         #   1:2*0:0       every 1 year, 2 months on the first day of the month
+         #   1:2*0:4       every 1 year, 2 months on the 4th day of the month
+
+         $df  = [1]  if ($d_empty);
+
+         ($err,@d) = $self->_rtime_values('day_of_month',$df,$y,$m);
+         return ()  if ($err);
+         foreach my $d (@d) {
+            push(@date,[$y,$m,$d,0,0,0]);
+         }
+
+      } else {
+
+         #   0:2*3:0       every 2 months on the 3rd occurrence of FirstDay
+         #   0:2*3:4       every 2 months on the 3rd Thur of the month
+         #   1:2*3:0       every 1 year, 2 months on 3rd occurrence of FirstDay
+         #   1:2*3:4       every 1 year, 2 months on the 3rd Thur of the month
+
+         if ($d_empty) {
+            @dow = ($dmb->_config('firstday'));
+         } else {
+            ($err,@dow)  = $self->_rtime_values('day_of_week',$df);
+            return ()  if ($err);
+         }
+
+         foreach my $dow (@dow) {
+            ($err,@n)  = $self->_rtime_values('dow_of_month',
+                                              $wf,$y,$m,$dow);
+            return ()  if ($err);
+            foreach my $n (@n) {
+               my $ymd =  $dmb->nth_day_of_week($y,$n,$dow,$m);
+               my($yy,$mm,$dd) = @$ymd;
+               push(@date,[$yy,$mm,$dd,0,0,0]);
+            }
+         }
+      }
+
+   } elsif ($n == 3) {
+
+      #
+      #  Y:M:W*D:H:MN:S
+      #
+
+      #   0:0:3*0       every 3 weeks on FirstDay
+      #   0:0:3*4       every 3 weeks on Thur
+      #   0:2:3*0       every 2 months, 3 weeks on FirstDay
+      #   0:2:3*4       every 2 months, 3 weeks on Thur
+      #   1:0:3*0       every 1 year, 3 weeks on FirstDay
+      #   1:0:3*4       every 1 year, 3 weeks on Thur
+      #   1:2:3*0       every 1 year, 2 months, 3 weeks on FirstDay
+      #   1:2:3*4       every 1 year, 2 months, 3 weeks on Thur
+
+      my $fdow = $dmb->_config('firstday');
+      if ($d_empty) {
+         @dow = ($fdow);
+      } else {
+         ($err,@dow)  = $self->_rtime_values('day_of_week',$df);
+         return ()  if ($err);
+      }
+
+      my($mm,$dd);
+      my($yy,$ww)     = $dmb->week_of_year([$y,$m,$d]);
+      ($yy,$mm,$dd)   = @{ $dmb->week_of_year($yy,$ww) };
+
+      foreach my $dow (@dow) {
+         $dow += 7  if ($dow < $fdow);
+         my($yyy,$mmm,$ddd) = @{ $dmb->calc_date_days([$yy,$mm,$dd],$dow-$fdow) };
+         push(@date,[$yyy,$mmm,$ddd,0,0,0]);
+      }
+
+   } elsif ($n == 4) {
+
+      #
+      # Y:M:W:D*H:MN:S
+      #
+
+      push(@date,[$y,$m,$d,0,0,0]);
+
+   } elsif ($n == 5) {
+
+      #
+      # Y:M:W:D:H*MN:S
+      #
+
+      push(@date,[$y,$m,$d,$h,0,0]);
+
+   } elsif ($n == 6) {
+
+      #
+      # Y:M:W:D:H:MN*S
+      #
+
+      push(@date,[$y,$m,$d,$h,$mn,0]);
+
+   } elsif ($n == 7) {
+
+      #
+      # Y:M:W:D:H:MN:S
+      #
+
+      push(@date,[$y,$m,$d,$h,$mn,$s]);
+   }
+
+   #
+   # Handle the H/MN/S portion.
+   #
+
+   # Do hours
+   if ($n <= 4 ) {
+      ($err,@h) = $self->_rtime_values('h',$hf);
+      return ()  if ($err);
+      $self->_field_add_values(\@date,3,@h);
+   }
+
+   # Do minutes
+   if ($n <= 5) {
+      ($err,@mn) = $self->_rtime_values('mn',$mnf);
+      return ()  if ($err);
+      $self->_field_add_values(\@date,4,@mn);
+   }
+
+   # Do seconds
+   if ($n <= 6) {
+      ($err,@s) = $self->_rtime_values('s',$sf);
+      return ()  if ($err);
+      $self->_field_add_values(\@date,5,@s);
+   }
+
+   # Sort the dates... just to be sure.
+
+   @date = sort { $dmb->cmp($a,$b) } @date  if (@date);
+
+   #
+   # Apply modifiers
+   #
+
+   my @flags = @{ $$self{'data'}{'flags'} };
+   if (@flags) {
+      my $obj = $self->new_date();
+
+      my @keep;
+      foreach my $date (@date) {
+         my ($y,$m,$d,$h,$mn,$s) = @$date;
+
+         my $keep = 1;
+
+         MODIFIER:
+         foreach my $flag (@flags) {
+            my(@wd,$today);
+
+            if ($flag =~ /^([pn])([dt])([1-7])$/) {
+               my($forw,$today,$dow) = ($1,$2,$3);
+               $forw  = ($forw  eq 'p' ? 0 : 1);
+               $today = ($today eq 'd' ? 0 : 1);
+               ($y,$m,$d,$h,$mn,$s) =
+                 @{ $obj->__next_prev([$y,$m,$d,$h,$mn,$s],$forw,$dow,$today) };
+
+            } elsif ($flag =~ /^([fb])([dw])(\d+)$/) {
+               my($prev,$business,$n) = ($1,$2,$3);
+               $prev     = ($prev     eq 'b' ? 1 : 0);
+               $business = ($business eq 'w' ? 1 : 0);
+
+               if ($business) {
+                  ($y,$m,$d,$h,$mn,$s) =
+                    @{ $obj->__nextprev_business_day($prev,$n,0,[$y,$m,$d,$h,$mn,$s]) };
+               } else {
+                  ($y,$m,$d) = @{ $dmb->calc_date_days([$y,$m,$d],$n,$prev) };
+               }
+
+            } elsif ($flag eq 'ibd'  ||
+                     $flag eq 'nbd') {
+               my $bd = $obj->__is_business_day([$y,$m,$d,$h,$mn,$s],0);
+
+               if ( ($flag eq 'ibd'  &&  ! $bd)  ||
+                    ($flag eq 'nbd'  &&  $bd) ) {
+                  $keep = 0;
+                  last MODIFIER;
+               }
+
+            } elsif ($flag =~ /^([in])w([1-7])$/) {
+               my($is,$dow) = ($1,$2);
+               $is          = ($is eq 'i' ? 1 : 0);
+               my $currdow  = $dmb->day_of_week([$y,$m,$d]);    # Current dow
+               if ( ($is    &&  $dow != $currdow)  ||
+                    (! $is  &&  $dow == $currdow) ) {
+                  $keep = 0;
+                  last MODIFIER;
+               }
+
+            } elsif ($flag =~ /^wd([1-7])$/) {
+               my $dow     = $1;                                # Dow wanted
+               my $currdow = $dmb->day_of_week([$y,$m,$d]);     # Current dow
+               if ($dow != $currdow) {
+                  my($yy,$ww) = $dmb->week_of_year([$y,$m,$d]); # What week is this
+                  my $tmp     = $dmb->week_of_year($yy,$ww);    # First day of week
+                  ($y,$m,$d)  = @$tmp;
+                  $currdow    = $dmb->_config('firstday');
+                  if ($dow > $currdow) {
+                     $tmp       = $dmb->calc_date_days([$y,$m,$d],$dow-$currdow);
+                     ($y,$m,$d) = @$tmp;
+                  } elsif ($dow < $currdow) {
+                     $tmp       = $dmb->calc_date_days([$y,$m,$d],$dow-$currdow+7);
+                     ($y,$m,$d) = @$tmp;
+                  }
+               }
+
+            } elsif ($flag eq 'nwd') {
+               if (! $obj->__is_business_day([$y,$m,$d,$h,$mn,$s],0)) {
+                  ($y,$m,$d,$h,$mn,$s) =
+                    @{ $obj->__nextprev_business_day(0,0,0,[$y,$m,$d,$h,$mn,$s]) };
+               }
+
+            } elsif ($flag eq 'pwd') {
+               if (! $obj->__is_business_day([$y,$m,$d,$h,$mn,$s],0)) {
+                  ($y,$m,$d,$h,$mn,$s) =
+                    @{ $obj->__nextprev_business_day(1,1,0,[$y,$m,$d,$h,$mn,$s]) };
+               }
+
+            } elsif ($flag eq 'easter') {
+               ($m,$d) = $self->_easter($y);
+
+            } elsif ($flag eq 'dwd'  &&
+                     $obj->__is_business_day([$y,$m,$d,$h,$mn,$s],0)) {
+               # nothing
+
+            } else {
+
+               if ($flag eq 'cwd'  ||  $flag eq 'dwd') {
+                  if ($dmb->_config('tomorrowfirst')) {
+                     @wd = ([$y,$m,$d,$h,$mn,$s],+1,  [$y,$m,$d,$h,$mn,$s],-1);
+                  } else {
+                     @wd = ([$y,$m,$d,$h,$mn,$s],-1,  [$y,$m,$d,$h,$mn,$s],+1);
+                  }
+
+               } elsif ($flag eq 'cwn') {
+                  @wd = ([$y,$m,$d,$h,$mn,$s],+1,  [$y,$m,$d,$h,$mn,$s],-1);
+                  $today = 0;
+
+               } elsif ($flag eq 'cwp') {
+                  @wd = ([$y,$m,$d,$h,$mn,$s],-1,  [$y,$m,$d,$h,$mn,$s],+1);
+                  $today = 0;
+               }
+
+               while (1) {
+                  my(@d,$off);
+
+                  # Test in the first direction
+
+                  @d   = @{ $wd[0] };
+                  $off = $wd[1];
+                  @d   = @{ $dmb->calc_date_days(\@d,$off) };
+
+                  if ($obj->__is_business_day(\@d,0)) {
+                     ($y,$m,$d,$h,$mn,$s) = @d;
+                     last;
+                  }
+
+                  $wd[0] = [@d];
+
+                  # Test in the other direction
+
+                  @d   = @{ $wd[2] };
+                  $off = $wd[3];
+                  @d   = @{ $dmb->calc_date_days(\@d,$off) };
+
+                  if ($obj->__is_business_day(\@d,0)) {
+                     ($y,$m,$d,$h,$mn,$s) = @d;
+                     last;
+                  }
+
+                  $wd[2] = [@d];
+               }
+
+            }
+         }
+
+         if ($keep) {
+            push(@keep,[$y,$m,$d,$h,$mn,$s]);
+         }
+      }
+      @date = @keep;
+   }
+
+   #
+   # Convert the dates to objects.
+   #
+
+   my(@ret);
+
+   foreach my $date (@date) {
+      my @d = @$date;
+
+      my $obj = $self->new_date();
+      $obj->set('date',\@d);
+      if ($obj->err()) {
+         push(@ret,undef);
+      } else {
+         push(@ret,$obj);
+      }
+   }
+
+   return @ret;
+}
+
+# This calculates the Nth interval date (0 is the base date) and then
+# calculates the recurring events produced by it.
+#
+sub _nth_interval {
+   my($self,$n) = @_;
+   return  if (exists $$self{'data'}{'idate'}{$n});
+   my $base     = $$self{'data'}{'BASE'};
+   my $date;
+
+   # Get the interval date.
+
+   if ($n == 0) {
+      $date = $base;
+
+   } else {
+      my @delta = $$self{'data'}{'delta'}->value;
+      my $absn  = abs($n);
+      @delta    = map { $absn*$_ } @delta;
+      my $delta = $self->new_delta;
+      $delta->set('delta',[@delta]);
+      $date     = $base->calc($delta, ($n>0 ? 0 : 2));
+   }
+
+   # For 'slow' recursion, we need to make sure we've got
+   # the n-1 or n+1 interval as appropriate.
+
+   if ($$self{'data'}{'slow'}) {
+
+      if      ($n > 0) {
+         $self->_nth_interval($n-1);
+      } elsif ($n < 0) {
+         $self->_nth_interval($n+1);
+      }
+   }
+
+   # Get the list of events associated with this interval date.
+
+   my @date = $self->_apply_rtime_mods($date);
+
+   # Determine the index of the earliest event associated with
+   # this interval date.
+   #
+   # Events are numbered [$n0...$n1]
+
+   my($n0,$n1);
+   if ($$self{'data'}{'slow'}) {
+
+      if      (! @date) {
+         $n0 = undef;
+         $n1 = undef;
+
+      } elsif ($n == 0) {
+         $n0 = 0;
+         $n1 = $#date;
+
+      } elsif ($n > 0) {
+         foreach (my $i = $n-1; $i >= 0; $i--) {
+            next  if (! defined $$self{'data'}{'idate'}{$i}[2]);
+            $n0 = $$self{'data'}{'idate'}{$i}[2] + 1;
+            last;
+         }
+         $n0 = 0  if (! defined $n0);
+         $n1 = $n0 + $#date;
+
+      } else {
+         foreach (my $i = $n+1; $i <= 0; $i++) {
+            next  if (! defined $$self{'data'}{'idate'}{$i}[1]);
+            $n1 = $$self{'data'}{'idate'}{$i}[1] - 1;
+            last;
+         }
+         $n1 = -1  if (! defined $n1);
+         $n0 = $n1 - $#date;
+      }
+
+   } else {
+
+      # ev_per_d = 3
+      # idate  = 0      1      2
+      # events = 0 1 2  3 4 5  6 7 8
+
+      # ev_per_d = 3
+      # idate  = -1        -2        -3
+      # events = -3 -2 -1  -6 -5 -4  -9 -8 -7
+
+      $n0 = $n  * $$self{'data'}{'ev_per_d'};
+      $n1 = $n0 + $$self{'data'}{'ev_per_d'} - 1;
+   }
+
+   # Store the dates.
+
+   for (my $i=0; $i<=$#date; $i++) {
+      $$self{'data'}{'dates'}{$n0+$i} = $date[$i];
+   }
+
+   # Store the idate.
+
+   if ($$self{'data'}{'slow'}) {
+      $$self{'data'}{'idate'}{$n} = [$date,$n0,$n1];
+   } else {
+      $$self{'data'}{'idate'}{$n} = $date;
+   }
+}
+
+# This locates the first/last event in the range and returns $n.  It
+# returns undef if there is no date in the range.
+#
+sub _locate_n {
+   my($self,$op) = @_;
+
+   return $$self{'data'}{$op}  if (defined $$self{'data'}{$op});
+
+   my $start = $$self{'data'}{'start'};
+   my $end   = $$self{'data'}{'end'};
+   my $unmod = $$self{'data'}{'unmod_range'};
+
+   if ($$self{'data'}{'noint'} == 2) {
+      # If there is no interval, then we have calculated all the dates
+      # possible.  Work with them only.
+
+      my($i,$first,$last);
+
+      # Find the first date in the interval
+
+      $i = 0;
+      while (1) {
+         last  if (! exists $$self{'data'}{'dates'}{$i});
+         my $date = $$self{'data'}{'dates'}{$i};
+         if ($date->cmp($start) == -1) {
+            # date < start   : move to the next one
+            $i++;
+            next;
+         } elsif ($date->cmp($end) == 1) {
+            # date > end     : we're done
+            last;
+         } else {
+            # start <= date <= end    : this is the first one
+            $first = $i;
+            last;
+         }
+      }
+
+      # If we found one, find the last one
+
+      if (defined($first)) {
+         $i       = $first;
+         $last    = $i;
+         while (1) {
+            last  if (! exists $$self{'data'}{'dates'}{$i});
+            my $date = $$self{'data'}{'dates'}{$i};
+            if ($date->cmp($end) == 1) {
+               # date > end    : we're done
+               last;
+            } else {
+               # date <= end   : this might be the last one
+               $last = $i;
+               $i++;
+               next;
+            }
+         }
+      }
+
+      $$self{'data'}{'first'} = $first;
+      $$self{'data'}{'last'}  = $last;
+      return $$self{'data'}{$op}
+   }
+
+
+   # Given interval date Idate(n) produces event dates: Date(f)..Date(l)
+   #
+   # If we're looking at unmodified dates:
+   #     Find smallest n such that:
+   #        Idate(n) >= start
+   #        first=f
+   #     Then find largest n such that:
+   #        Idate(n) <= end
+   #        last=l
+   # Otherwise
+   #     Find smallest n such that
+   #        Date(y) >= start
+   #        first=z (smallest z)
+   #           Where x <= z <= y and
+   #           Date(z) >= start
+   #     Then find largest n such that
+   #        Date(x) <= end
+   #        last=z (largest z)
+   #           Where x <= z <= y and
+   #           Date(z) <= end
+
+   my($first_int,$last_int,$first,$last);
+
+   if ($$self{'data'}{'slow'}) {
+
+      #
+      # For a 'slow' recurrence, we have to start at 0 and work forwards
+      # or backwards.
+      #
+
+      # Move backwards until we're completely before start
+
+      $first_int    = 0;
+      if ($unmod) {
+         while (1) {
+            $self->_nth_interval($first_int);
+            my $date = $$self{'data'}{'idate'}{$first_int}[0];
+            last  if (defined $date  &&  $date->cmp($start) < 0);
+            $first_int--;
+         }
+
+      } else {
+         while (1) {
+            $self->_nth_interval($first_int);
+            my $ptr   = $$self{'data'}{'idate'}{$first_int}[2];
+            if (defined $ptr) {
+               my $date  = $$self{'data'}{'dates'}{$ptr};
+               last  if (defined $date  &&  $date->cmp($start) < 0);
+            }
+            $first_int--;
+         }
+      }
+
+      # Then move forwards until we're after start
+      #   i.e. Date(y) >= start  for modified dates
+
+      if ($unmod) {
+         while (1) {
+            $self->_nth_interval($first_int);
+            my $date = $$self{'data'}{'idate'}{$first_int}[0];
+            last  if (defined $date  &&  $date->cmp($start) >= 0);
+            $first_int++;
+         }
+         $first = $$self{'data'}{'idate'}{$first_int}[1];
+
+      } else {
+         while (1) {
+            $self->_nth_interval($first_int);
+            my $ptr   = $$self{'data'}{'idate'}{$first_int}[2];
+            if (defined $ptr) {
+               my $date  = $$self{'data'}{'dates'}{$ptr};
+               last  if (defined $date  &&  $date->cmp($start) >= 0);
+            }
+            $first_int++;
+         }
+
+         foreach my $i ($$self{'data'}{'idate'}{$first_int}[1] ..
+                        $$self{'data'}{'idate'}{$first_int}[2]) {
+            my $date = $$self{'data'}{'dates'}{$i};
+            if (defined $date  &&  $date->cmp($start) >= 0) {
+               $first = $i;
+               last;
+            }
+         }
+      }
+
+      # Then move forwards until we're after end
+      #   i.e. Date(x) > end  for modified dates
+
+      $last_int = $first_int;
+
+      if ($unmod) {
+         while (1) {
+            $self->_nth_interval($last_int);
+            my $date = $$self{'data'}{'idate'}{$last_int}[0];
+            last  if (defined $date  &&  $date->cmp($end) > 0);
+            $last_int++;
+         }
+         $last_int--;
+
+         for (my $i=$$self{'data'}{'idate'}{$last_int}[2];
+              $i >= $$self{'data'}{'idate'}{$last_int}[1]; $i--) {
+            my $date = $$self{'data'}{'dates'}{$i};
+            if (defined $date) {
+               $last = $i;
+               last;
+            }
+         }
+
+      } else {
+         while (1) {
+            $self->_nth_interval($last_int);
+            my $ptr   = $$self{'data'}{'idate'}{$last_int}[1];
+            if (defined $ptr) {
+               my $date  = $$self{'data'}{'dates'}{$ptr};
+               last  if (defined $date  &&  $date->cmp($end) > 0);
+            }
+            $last_int++;
+         }
+         $last_int--;
+
+         $last = undef;
+         my $i = $first;
+         while (1) {
+            last  if (! exists $$self{'data'}{'dates'}{$i});
+            my $date = $$self{'data'}{'dates'}{$i};
+            next  if (! defined $date);
+            last  if ($date->cmp($end) > 0);
+            $last = $i;
+            $i++;
+         }
+      }
+
+      return undef  if (! defined $last  ||
+                        $last < $first);
+      $$self{'data'}{'first'} = $first;
+      $$self{'data'}{'last'}  = $last;
+      return $$self{'data'}{$op}
+   }
+
+   #
+   # For a normal recurrence, we can estimate which interval date we're
+   # interested in and then move forward/backward from it.
+   #
+   # Calculate the interval date index ($nn) based on the length of
+   # the delta.
+   #
+   # For the Nth interval, the dates produced are:
+   #    N*EV_PER_DAY to (N+1)EV_PER_DAY-1
+   #
+
+   my $base  = $$self{'data'}{'BASE'};
+   my $delta = $$self{'data'}{'delta'};
+   # $len = 0 is when a recur contains no delta (i.e. *Y:M:W:D:H:Mn:S)
+   my $len   = ($delta ? $delta->printf('%sys') : 0);
+
+   my $targ = ($op eq 'first' ? $start : $end);
+   my $diff  = $base->calc($targ);
+   my $tot   = $diff->printf('%sys');
+   my $nn    = ($len ? int($tot/$len) : 1);
+   my $ev    = $$self{'data'}{'ev_per_d'};
+
+   # Move backwards until we're completely before start
+
+   $first_int    = $nn;
+   if ($unmod) {
+      while (1) {
+         $self->_nth_interval($first_int);
+         my $date = $$self{'data'}{'idate'}{$first_int};
+         last  if (defined $date  &&  $date->cmp($start) < 0);
+         $first_int--;
+      }
+
+   } else {
+      LOOP:
+      while (1) {
+         $self->_nth_interval($first_int);
+         for (my $i=($first_int+1)*$ev - 1; $i >= $first_int*$ev; $i--) {
+            next  if (! exists $$self{'data'}{'dates'}{$i});
+            my $date = $$self{'data'}{'dates'}{$i};
+            last LOOP  if ($date->cmp($start) < 0);
+         }
+         $first_int--;
+      }
+   }
+
+   # Then move forwards until we're after start
+   #   i.e. Date(y) >= start  for modified dates
+
+   if ($unmod) {
+      while (1) {
+         $self->_nth_interval($first_int);
+         my $date = $$self{'data'}{'idate'}{$first_int};
+         last  if (defined $date  &&  $date->cmp($start) >= 0);
+         $first_int++;
+      }
+
+   } else {
+      LOOP:
+      while (1) {
+         $self->_nth_interval($first_int);
+         for (my $i=($first_int+1)*$ev - 1; $i >= $first_int*$ev; $i--) {
+            next  if (! exists $$self{'data'}{'dates'}{$i});
+            my $date = $$self{'data'}{'dates'}{$i};
+            last LOOP  if ($date->cmp($start) >= 0);
+         }
+         $first_int++;
+      }
+   }
+   $first = $first_int*$ev;
+
+   # Then move forwards until we're after end
+   #   i.e. Date(y) > end  for modified dates
+
+   $last_int = $first_int;
+
+   if ($unmod) {
+      while (1) {
+         $self->_nth_interval($last_int);
+         my $date = $$self{'data'}{'idate'}{$last_int};
+         last  if (defined $date  &&  $date->cmp($end) > 0);
+         $last_int++;
+      }
+      $last_int--;
+
+   } else {
+      LOOP:
+      while (1) {
+         $self->_nth_interval($last_int);
+         for (my $i=($last_int+1)*$ev - 1; $i >= $last_int*$ev; $i--) {
+            next  if (! exists $$self{'data'}{'dates'}{$i});
+            my $date = $$self{'data'}{'dates'}{$i};
+            last LOOP  if ($date->cmp($end) >= 0);
+         }
+         $last_int++;
+      }
+   }
+
+   $last = ($last_int+1)*$ev - 1;
+
+   # Now get the actual first/last dates
+
+   if ($unmod) {
+      while (1) {
+         last  if (exists $$self{'data'}{'dates'}{$first}  &&
+                   defined $$self{'data'}{'dates'}{$first});
+         $first++;
+         return undef  if ($first > $last);
+      }
+
+      while (1) {
+         last  if (exists $$self{'data'}{'dates'}{$last}  &&
+                   defined $$self{'data'}{'dates'}{$last});
+         $last--;
+      }
+
+   } else {
+      while (1) {
+         last  if (exists $$self{'data'}{'dates'}{$first}  &&
+                   defined $$self{'data'}{'dates'}{$first} &&
+                   $$self{'data'}{'dates'}{$first}->cmp($start) >= 0);
+         $first++;
+         return undef  if ($first > $last);
+      }
+
+      while (1) {
+         last  if (exists $$self{'data'}{'dates'}{$last}  &&
+                   defined $$self{'data'}{'dates'}{$last} &&
+                   $$self{'data'}{'dates'}{$last}->cmp($end) <= 0);
+         $last--;
+      }
+   }
+
+   return undef  if (! defined $last  ||
+                     $last < $first);
+   $$self{'data'}{'first'} = $first;
+   $$self{'data'}{'last'}  = $last;
+   return $$self{'data'}{$op}
+}
+
+# This returns the date easter occurs on for a given year as ($month,$day).
+# This is from the Calendar FAQ.
+#
+sub _easter {
+  my($self,$y) = @_;
+
+  my($c) = $y/100;
+  my($g) = $y % 19;
+  my($k) = ($c-17)/25;
+  my($i) = ($c - $c/4 - ($c-$k)/3 + 19*$g + 15) % 30;
+  $i     = $i - ($i/28)*(1 - ($i/28)*(29/($i+1))*((21-$g)/11));
+  my($j) = ($y + $y/4 + $i + 2 - $c + $c/4) % 7;
+  my($l) = $i-$j;
+  my($m) = 3 + ($l+40)/44;
+  my($d) = $l + 28 - 31*($m/4);
+  return ($m,$d);
+}
+
+# This returns 1 if a field is empty.
+#
+sub _field_empty {
+   my($self,$val) = @_;
+
+   if (ref($val)) {
+      my @tmp = @$val;
+      return 1  if ($#tmp == -1  ||
+                    ($#tmp == 0  &&  ! ref($tmp[0])  &&  ! $tmp[0]));
+      return 0;
+
+   } else {
+      return $val;
+   }
+}
+
+# This returns a list of values that appear in a field in the rtime.
+#
+# $val is a listref, with each element being a value or a range.
+#
+# Usage:
+#   _rtime_values('y'            ,$y);
+#   _rtime_values('m'            ,$m);
+#   _rtime_values('week_of_year' ,$w    ,$y);
+#   _rtime_values('dow_of_year'  ,$w    ,$y,$dow);
+#   _rtime_values('dow_of_month' ,$w    ,$y,$m,$dow);
+#   _rtime_values('day_of_year'  ,$d    ,$y);
+#   _rtime_values('day_of_month' ,$d    ,$y,$m);
+#   _rtime_values('day_of_week'  ,$d);
+#   _rtime_values('h'            ,$h);
+#   _rtime_values('mn'           ,$mn);
+#   _rtime_values('s'            ,$s);
+#
+# Returns ($err,@vals)
+#
+sub _rtime_values {
+   my($self,$type,$val,@args) = @_;
+   my $dmt                    = $$self{'tz'};
+   my $dmb                    = $$dmt{'base'};
+
+   if      ($type eq 'h') {
+      @args = (0,0,23,23);
+
+   } elsif ($type eq 'mn') {
+      @args = (0,0,59,59);
+
+   } elsif ($type eq 's') {
+      @args = (0,0,59,59);
+
+   } elsif ($type eq 'y') {
+      my $curry = $dmt->_now('y',1);
+      foreach my $y (@$val) {
+         $y = $curry  if (! ref($y)  &&  $y==0);
+      }
+
+      @args = (0,1,9999,9999);
+
+   } elsif ($type eq 'm') {
+      @args = (0,1,12,12);
+
+   } elsif ($type eq 'week_of_year') {
+      my($y)  = @args;
+      my $wiy = $dmb->weeks_in_year($y);
+      @args = (1,1,$wiy,53);
+
+   } elsif ($type eq 'dow_of_year') {
+      my($y,$dow) = @args;
+
+      # Get the 1st occurrence of $dow
+      my $d0   = 1;
+      my $dow0 = $dmb->day_of_week([$y,1,$d0]);
+      if ($dow > $dow0) {
+         $d0  += ($dow-$dow0);
+      } elsif ($dow < $dow0) {
+         $d0  += 7-($dow0-$dow);
+      }
+
+      # Get the last occurrence of $dow
+      my $d1   = 31;
+      my $dow1 = $dmb->day_of_week([$y,12,$d1]);
+      if ($dow1 > $dow) {
+         $d1  -= ($dow1-$dow);
+      } elsif ($dow1 < $dow) {
+         $d1  -= 7-($dow-$dow1);
+      }
+
+      # Find out the number of occurrenced of $dow
+      my $doy1 = $dmb->day_of_year([$y,12,$d1]);
+      my $n    = ($doy1 - $d0)/7 + 1;
+
+      # Get the list of @w
+      @args = (1,1,$n,53);
+
+   } elsif ($type eq 'dow_of_month') {
+      my($y,$m,$dow) = @args;
+
+      # Get the 1st occurrence of $dow in the month
+      my $d0   = 1;
+      my $dow0 = $dmb->day_of_week([$y,$m,$d0]);
+      if ($dow > $dow0) {
+         $d0  += ($dow-$dow0);
+      } elsif ($dow < $dow0) {
+         $d0  += 7-($dow0-$dow);
+      }
+
+      # Get the last occurrence of $dow
+      my $d1   = $dmb->days_in_month($y,$m);
+      my $dow1 = $dmb->day_of_week([$y,$m,$d1]);
+      if ($dow1 > $dow) {
+         $d1  -= ($dow1-$dow);
+      } elsif ($dow1 < $dow) {
+         $d1  -= 7-($dow-$dow1);
+      }
+
+      # Find out the number of occurrenced of $dow
+      my $n    = ($d1 - $d0)/7 + 1;
+
+      # Get the list of @w
+      @args = (1,1,$n,5);
+
+   } elsif ($type eq 'day_of_year') {
+      my($y)  = @args;
+      my $diy = $dmb->days_in_year($y);
+      @args = (1,1,$diy,366);
+
+   } elsif ($type eq 'day_of_month') {
+      my($y,$m) = @args;
+      my $dim = $dmb->days_in_month($y,$m);
+      @args = (1,1,$dim,31);
+
+   } elsif ($type eq 'day_of_week') {
+      @args = (0,1,7,7);
+   }
+
+   my($err,@vals) = $self->__rtime_values($val,@args);
+   if ($err) {
+      $$self{'err'} = "[dates] $err [$type]";
+      return (1);
+   }
+   return(0,@vals);
+}
+
+# This returns the raw values for a list.
+#
+# If $allowneg is 0, only positive numbers are allowed, and they must be
+# in the range [$min,$absmax]. If $allowneg is 1, positive numbers in the
+# range [$min,$absmax] and negative numbers in the range [-$absmax,-$min]
+# are allowed. An error occurs if a value falls outside the range.
+#
+# Only values in the range of [$min,$max] are actually kept. This allows
+# a recurrence for day_of_month to be 1-31 and not fail for a month that
+# has fewer than 31 days. Any value outside the [$min,$max] are silently
+# discarded.
+#
+# Returns:
+#   ($err,@vals)
+#
+sub __rtime_values {
+   my($self,$vals,$allowneg,$min,$max,$absmax) = @_;
+   my(@ret);
+
+   foreach my $val (@$vals) {
+
+      if (ref($val)) {
+         my($val1,$val2) = @$val;
+
+         if ($allowneg) {
+            return ('Value outside range')
+              if ( ($val1 >= 0  &&  ($val1 < $min  ||  $val1 > $absmax) ) ||
+                   ($val2 >= 0  &&  ($val2 < $min  ||  $val2 > $absmax) ) );
+            return ('Negative value outside range')
+              if ( ($val1 <= 0  &&  ($val1 < -$absmax  ||  $val1 > -$min) ) ||
+                   ($val2 <= 0  &&  ($val2 < -$absmax  ||  $val2 > -$min) ) );
+
+         } else {
+            return ('Value outside range')
+              if ( ($val1 < $min  ||  $val1 > $absmax) ||
+                   ($val2 < $min  ||  $val2 > $absmax) );
+
+         }
+
+         return ('Range values reversed')
+           if ( ($val1 <= 0  &&  $val2 <= 0  &&  $val1 > $val2)  ||
+                ($val1 >= 0  &&  $val2 >= 0  &&  $val1 > $val2) );
+
+         # Use $max instead of $absmax when converting negative numbers to
+         # positive ones.
+
+         $val1 = $max + $val1 + 1  if ($val1 < 0);    # day -10
+         $val2 = $max + $val2 + 1  if ($val2 < 0);
+
+         $val1 = $min              if ($val1 < $min); # day -31 in a 30 day month
+         $val2 = $max              if ($val2 > $max);
+
+         next  if ($val1 > $val2);
+
+         push(@ret,$val1..$val2);
+
+      } else {
+
+         if ($allowneg) {
+            return ('Value outside range')
+              if ($val >= 0  &&  ($val < $min  ||  $val > $absmax));
+            return ('Negative value outside range')
+              if ($val <= 0  &&  ($val < -$absmax  ||  $val > -$min));
+         } else {
+            return ('Value outside range')
+              if ($val < $min  ||  $val > $absmax);
+         }
+
+         # Use $max instead of $absmax when converting negative numbers to
+         # positive ones.
+
+         my $ret;
+         if ($val < 0 ) {
+            $ret    = $max + $val + 1;
+         } else {
+            $ret    = $val;
+         }
+
+         next  if ($ret > $max || $ret < $min);
+         push(@ret,$ret);
+      }
+   }
+
+   return ('',@ret);
+}
+
+# This takes a list of dates (each a listref of [y,m,d,h,mn,s]) and replaces
+# the Nth field with all of the possible values passed in, creating a new
+# list with all the dates.
+#
+sub _field_add_values {
+   my($self,$datesref,$n,@val) = @_;
+
+   my @dates = @$datesref;
+   my @tmp;
+
+   foreach my $date (@dates) {
+      my @d = @$date;
+      foreach my $val (@val) {
+         $d[$n] = $val;
+         push(@tmp,[@d]);
+      }
+   }
+
+   @$datesref = @tmp;
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/Recur.pod b/lib/Date/Manip/Recur.pod
new file mode 100644
index 0000000..7a55851
--- /dev/null
+++ b/lib/Date/Manip/Recur.pod
@@ -0,0 +1,1324 @@
+# Copyright (c) 1998-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Recur - methods for working with recurring events
+
+=head1 SYNOPSIS
+
+   use Date::Manip::Recur;
+   $date = new Date::Manip::Recur;
+
+=head1 DESCRIPTION
+
+This module contains functions useful in parsing and manipulating
+recurrences.  A recurrence is a notation for specifying when a recurring
+event occurs.  For example, if an event occurs every other Friday or
+every 4 hours, this can be defined as a recurrence. A fully specified
+recurrence consists of the following pieces of information:
+
+=over 4
+
+=item B
+
+The most basic piece of information is the frequency.  For relatively
+simple recurring events, the frequency defines when those events
+occur. For more complicated recurring events, the frequency tells
+approximately when the events occur (but to get the actual
+events, certain modifiers must be applied as described below).
+
+Examples of recurring events include:
+
+   the first of every month
+   every other day
+   the 4th Thursday of each month at 2:00 PM
+   every 2 hours and 30 minutes
+
+All of these can be expressed as a frequency.
+
+NOTE: unlike date parsing, support for frequencies written out in
+English (or whatever language you are working in) is extremely
+limited. For example, the string "the first of every month" will NOT
+be parsed as a valid frequency. A limited number of frequencies can be
+expressed in a written out form (see the . In this document however, the written out
+form will often be used for the sake of clarity.
+
+Since a frequency typically refers to events that could happen an
+infinite number of times, you usually have to specify a date range to
+get the actual dates.  Some frequencies also require a base date (i.e.
+information about when one such even actually occurred) since the
+frequency is otherwise ambiguous.  For example, the frequency 'every
+other day' does not include enough information to specify the dates
+that the event happened on, so you have to explicitly define one of
+them.  Then all others can be derived.
+
+=item B
+
+Complex recurring events may require the use of modifiers in order to
+get them correct.
+
+For example, in America, many places treat both Thanksgiving and the
+day after as holidays. Thanksgiving is easy to define since it is
+defined as:
+
+   4th Thursday of every November
+
+In the frequency notation (described below), this would be written as:
+
+   1*11:4:5:0:0:0
+
+The day after Thanksgiving is NOT possible to define in the same way.
+Depending on the year, the day after the 4th Thursday may be the 4th
+or 5th Friday.
+
+The only way to accurately define the day after Thanksgiving is to
+specify a frequency and a modifier:
+
+   4th Thursday of every November
+   +1 day
+
+In frequency notation, this can be expressed as:
+
+   1*11:4:5:0:0:0*FD1
+
+The syntax for the various modifiers is described below in the
+L section.
+
+=item B
+
+Many recurrences have a base date which is a date on which a recurring
+event is based.
+
+The base date is not necessarily a date where the recurring event
+occurs. Instead, it may be modified (with modifiers, or with values
+specified in the recurrence) to actually produce a recurring event.
+
+For example, if the frequency is
+
+   every other Friday at noon
+
+the base date will be a Friday and the recurring event will happen on
+that Friday, Friday two weeks later, Friday four weeks later, etc.
+In all cases, the dates will be modified to be at noon.
+
+If the frequency has a modifier, such as:
+
+   every other Friday
+   + 1 day
+
+(and yes, this trivial example could be expressed as the frequency
+'every other Saturday' with no modifiers), then the base date is still
+on a Friday, but the actual recurring event is determined by applying
+modifiers and occurs on Saturday.
+
+Recurring events are assigned a number with the event that is referred
+to by the base date being the 0th occurrence, the first one after that
+as the 1st occurrence, etc.  Recurring events can also occur before
+the base date with the last time the recurring event occurred before
+the base date is the -1th occurrence.
+
+So, if the frequency is
+
+   the first of every month
+
+and the base date is 'Mar 1, 2000', then the 5 recurring events around
+it are:
+
+   N    Date
+
+   -2   Jan 1 2000
+   -1   Feb 1 2000
+    0   Mar 1 2000
+   +1   Apr 1 2000
+   +2   May 1 2000
+
+In some cases, the Nth date may not be defined. For example, if the
+frequency is:
+
+   the 31st of every month
+
+and the base date is Mar 31, 2000, the 5 recurring events around it
+are:
+
+   N   Date
+
+   -2  Jan 31 2000
+   -1  undefined
+    0  Mar 31 2000
+    1  undefined
+    2  May 31 2000
+
+As mentioned above, the base date is used to determine one of the
+occurrences of the recurring event... but it may not actually be on
+of those events.
+
+As an example, for the recurring event:
+
+   every other Friday
+
+a base date could be on a Friday, but it would also be possible to
+have a base date on some other day of the week, and it could
+unambiguously refer simply to a week, and the recurring event would
+occur on Friday of that week.
+
+In most cases, it won't be necessary to treat base dates with that
+level of complexity, but with complicated recurring events, it may
+be necessary.  More information on how Date::Manip determines a
+recurring event from a base date is given below in the section L.
+
+=item B
+
+A date range is simply a starting and an ending date. When a range is
+used (primarily in the dates method as described below), only
+recurring events (with all modifiers applied) which happened on or
+after the start date and on or before the end date are used.
+
+For example, if the frequency was
+
+   the first of every month
+
+and the start/end dates were Jan 1 2000 and May 31 2000, the list of
+dates referred to would be:
+
+   Jan 1 2000
+   Feb 1 2000
+   Mar 1 2000
+   Apr 1 2000
+   May 1 2000
+
+If no base date is specified, but a date range is specified, the start
+date is used as the specified base date.
+
+It should be noted that if both the range and base date are specified,
+the range is not used to determine a base date. Also, the first time
+the recurring event occurs in this range may NOT be the 0th occurrence
+with respect to the base date, and that is allowed.
+
+NOTE: both dates in the range and the base date must all be in the
+same time zone, and use the same L object.
+
+An alternate definition of the range may also be used to specify that
+the recurring events based only on the interval and BEFORE any
+modifiers are applied fall in the range.
+
+This definition is described in more detail below.
+
+=back
+
+=head1 FREQUENCY NOTATION
+
+The syntax for specifying a frequency requires some explanation. It is
+very concise, but contains the flexibility to express every single
+type of recurring event I could think of.
+
+The syntax of the frequency description is a colon separated list of
+the format Y:M:W:D:H:MN:S (which stand for year, month, week, etc.).
+One (and only one) of the colons may optionally be replaced by an
+asterisk, or an asterisk may be prepended to the string.  For example,
+the following are all valid frequency descriptions:
+
+  1:2:3:4:5:6:7
+  1:2*3:4:5:6:7
+ *1:2:3:4:5:6:7
+
+But the following are NOT valid because they contain more than one
+asterisk:
+
+  1:2*3:4:5*6:7
+ *1:2:3:4:5:6*7
+
+When an asterisk is included, the portion to the left of it is called
+the interval, and refers to an approximate time interval between
+recurring events.  For example, if the interval of the frequency is:
+
+  1:2*
+
+it means that the recurring event occurs approximately every 1 year
+and 2 months.  The interval is approximate because elements to the right of
+the asterisk, as well as any modifiers included in the recurrence, will
+affect when the events actually occur.
+
+If no asterisks are included, then the entire recurrence is an interval.
+For example,
+
+  0:0:0:1:12:0:0
+
+refers to an event that occurs every 1 day, 12 hours.
+
+The format of the interval is very simple.  It is colon separated digits
+only.  No other characters are allowed.
+
+The portion of the frequency that occur after an asterisk is called
+the recurrence time (or rtime), and refers to a specific value (or
+values) for that type of time element (i.e. exactly as it would appear
+on a calendar or a clock).  For example, if the frequency ends with
+the rtime:
+
+  *12:0:0
+
+then the recurring event occurs at 12:00:00 (noon).
+
+For example:
+
+  0:0:0:2*12:30:0      every 2 days at 12:30 (each day)
+
+Elements in the rtime can be listed as single values, ranges (2
+numbers separated by a dash "-"), or a comma separated list of values
+or ranges.  In some cases, negative values are appropriate for the
+week or day values. -1 stands for the last possible value, -2 for the
+second to the last, etc.
+
+If multiple values are included in more than one field in the rtime,
+every possible combination will be used. For example, if the frequency
+ends with the rtime:
+
+  *12-13:0,30:0
+
+the event will occur at 12:00, 12:30, 13:00, and 13:30.
+
+Some examples are:
+
+  0:0:0:1*2,4,6:0:0    every day at at 02:00, 04:00, and 06:00
+  0:0:0:2*12-13:0,30:0 every other day at 12:00, 12:30, 13:00,
+                       and 13:30
+  0:1:0*-1:0:0:0       the last day of every month
+  *1990-1995:12:0:1:0:0:0
+                       Dec 1 in 1990 through 1995
+
+There is no way to express the following with a single recurrence:
+
+  every day at 12:30 and 1:00
+
+You have to use two recurrences to do this.
+
+You can include negative numbers in ranges. For example, including the
+range -2--1 means to go from the 2nd to the last to the last
+occurrence.  Negative values are only supported in the week and
+day fields, and only in some cases.
+
+You can even use a range like 2--2 (which means to go from the 2nd to
+the 2nd to the last occurrence). However, this is STRONGLY discouraged
+since this leads to a date which produces a variable number of events.
+As a result, the only way to determine the Nth date is to calculate
+every date starting at the base date. If you know that every date
+produces exactly 4 recurring events, you can calculate the Nth date
+without needing to determine every intermediate date.
+
+When specifying a range, the first value must be less than the second
+or else nothing will be returned.
+
+When both the week and day elements are non-zero and the day is right
+of the asterisk, the day refers to the day of week. The following
+examples illustrate these type of frequencies:
+
+  0:1*4:2:0:0:0        4th Tuesday (day 2) of every month
+  0:1*-1:2:0:0:0       last Tuesday of every month
+  0:0:3*2:0:0:0        every 3rd Tuesday (every 3 weeks
+                       on 2nd day of week)
+  1:0*12:2:0:0:0       the 12th Tuesday of each year
+
+NOTE: The day of week refers to the numeric value of each day as
+specified by ISO 8601. In other words, day 1 is ALWAY Monday, day 7 is
+ALWAYS Sunday, etc., regardless of what day of the week the week is
+defined to begin on (using the FirstDay config variable). So when the
+day field refers to the day of week, it's value (or values if a range
+or comma separated list are used) must be 1-7.
+
+When the week element is zero and the month element is non-zero and
+the day element is right of the asterisk, the day value is the day of
+the month (it can be from 1 to 31 or -1 to -31 counting from the end
+of the month).
+
+  3*1:0:2:12:0:0       every 3 years on Jan 2 at noon
+  0:1*0:2:12,14:0:0    2nd of every month at 12:00 and 14:00
+  0:1:0*-2:0:0:0       2nd to last day of every month
+
+NOTE: If the day given refers to the 29th, 30th, or 31st, in a month
+that does not have that number of days, it is ignored. For example, if
+you ask for the 31st of every month, it will return dates in Jan, Mar,
+May, Jul, etc.  Months with fewer than 31 days will be ignored.
+
+If both the month and week elements are zero, and the year element is
+non-zero, the day value is the day of the year (1 to 365 or 366 -- or
+the negative numbers to count backwards from the end of the year).
+
+  1:0:0*45:0:0:0       45th day of every year
+
+Specifying a day that doesn't occur in that year silently ignores that
+year. The only result of this is that specifying +366 or -366 will ignore
+all years except leap years.
+
+If the week element is non-zero and to the right of the asterisk, and
+the day element is zero, the frequency refers to the first day of the
+given week of the month or week of the year:
+
+  0:1*2:0:0:0:0        the first day of the 2nd week of
+                       every month
+  1:0*2:0:0:0:0        the first day of the 2nd week of
+                       every year
+
+Although the meaning of almost every recurrence can be deduced by the
+above rules, a set of tables describing every possible combination of Y/M/W/D
+meanings, and giving an example of each is included below in the
+section L. It also explains a small
+number of special cases.
+
+NOTE: If all fields left of the asterisk are zero, the last one is
+implied to be 1. In other words, the following are equivalent:
+
+   0:0:0*x:x:x:x
+   0:0:1*x:x:x:x
+
+and can be thought of as every possible occurrence of the rtime.
+
+NOTE: When applying a frequency to get a list of dates on which a
+recurring event occurs, a delta is created from the frequency which is
+applied to get dates referred to by the interval. These are then
+operated on by the rtime and by modifiers to actually get the
+recurring events.  The deltas will always be exact or approximate.
+There is no support for business mode recurrences. However, with the
+careful use of modifiers (discussed below), most recurring business
+events can be determined too.
+
+=head1 BASE DATES
+
+A recurrence of the form *Y:M:W:D:H:MN:S (which is technically speaking
+not a recurring event... it is just a date or dates specified using the
+frequency syntax) uses the first date which matches the frequency as the
+base date. Any base date specified will be completely ignored. A date range
+may be specified to work with a subset of the dates.
+
+All other recurrences use a specified base date in order to determine
+when the 0th occurrence of a recurring event happens. As mentioned
+above, the specified base date may be determined from the start date,
+or specified explicitly.
+
+The specified base date is used to provide the bare minimum
+information. For example, the recurrence:
+
+   0:0:3*4:0:0:0       every 3 weeks on Thursday
+
+requires a base date to determine the week, but nothing else. Using the
+standard definition (Monday-Sunday) for a week, and given that one week in
+August 2009 is Aug 10 to Aug 16, any date in the range Aug 10 to Aug 16 will
+give the same results. The definition of the week defaults to Monday-Sunday,
+but may be modified using the FirstDay config variable.
+
+Likewise, the recurrence:
+
+  1:3*0:4:0:0:0        every 1 year, 3 months on the 4th
+                       day of the month
+
+would only use the year and month of the base date, so all dates in a given
+month would give the same set of recurring dates.
+
+It should also be noted that a date may actually produce multiple
+recurring events. For example, the recurrence:
+
+   0:0:2*4:12,14:0:0   every 2 weeks on Thursday at 12:00
+                       and 14:00
+
+produces 2 events for every date. So in this case, the base date produces the
+0th and 1st event, the base date + an offset produces the 2nd and 3rd events,
+etc.
+
+It must be noted that the base date refers ONLY to the interval part of the
+recurrence. The rtime and modifiers are NOT used in determining the base
+date.
+
+=head1 INTERVAL
+
+The interval of a frequency (everything left of the asterisk) will be used
+to generate a list of dates (called interval dates). When rtime values and
+modifiers are applied to an interval date, it produces the actual recurring
+events.
+
+As already noted, if the rtime values include multiple values for any
+field, more than one event are produced by a single interval date.
+
+It is important to understand is how the interval dates are
+calculated. The interval is trivially turned into a delta. For example,
+with the frequency 0:0:2*4:12:0:0, the interval is 0:0:2 which
+produces the delta 0:0:2:0:0:0:0.
+
+In order to get the Nth interval date, the delta is multiplied by N and
+added to the base date. In other words:
+
+   D(0) = Jan 31
+   D(1) = Jan 31 + 1 month = Feb 28
+   D(2) = Jan 31 + 2 month = Mar 31
+
+=head1 DATE RANGE
+
+The start and end dates form the range in which recurring events can fall
+into.
+
+Every recurring date will fall in the limit:
+
+   start <= date <= end
+
+When a recurrence is created, it may include a default range, and this is
+handled by the RecurRange config variable.
+
+By default, the date range applies to the final dates once all modifiers
+have been applied.
+
+This behavior can be changed by applying the range to the unmodified
+dates.
+
+An example of how this applies might be in defining New Year's Day
+(observed).  The most useful definition of this would be:
+
+   1*1:0:1:0:0:0*DWD
+
+which means Jan 1 modified to the nearest working day.
+
+But if you wanted to find New Year's for 2005 using this definition by passing
+in a start date of 2005-01-01-00:00:00 and an end date of 2005-12-31-23:59:59,
+you won't find anything because New Year's day will actually be observed on
+2004-12-31 (since Jan 1 is a Saturday).
+
+To get around this, you can pass in a non-zero parameter with the recurrence
+which means that this range will be applied to the unmodified dates.
+
+In effect, this discards the modifier (DWD), gets the dates that fall in
+the range, and for all that fall in the range, the modifiers are applied.
+
+So:
+
+   1*1:0:1:0:0:0*DWD**2005-01-01-00:00:00*2005-12-31-23:59:59
+
+will return no dates, but:
+
+   1*1:0:1:0:0:0*DWD**2005-01-01-00:00:00*2005-12-31-23:59:59*1
+
+will return:
+
+   2004-12-31-00:00:00
+
+=head1 OTHER FREQUENCY FORMATS
+
+There are a small handful of English strings (or the equivalent in
+other languages) which can be parsed in place of a numerical
+frequency.  These include:
+
+  every Tuesday in June [1997]
+  2nd Tuesday in June [1997]
+  last Tuesday in June [1997]
+
+  every Tuesday of every month [in 1997]
+  2nd Tuesday of every month [in 1997]
+  last Tuesday of every month [in 1997]
+
+  every day of every month [in 1997]
+  2nd day of every month [in 1997]
+  last day of every month [in 1997]
+
+  every day [in 1997]
+  every 2nd day [in 1977]
+  every 2 days [in 1977]
+
+Each of these set the frequency. If the year is include in the string,
+it also sets the dates in the range to be the first and last day of
+the year.
+
+In each of these, the numerical part (i.e. 2nd in all of the examples above)
+can be any number from 1 to 31. To make a frequency with a larger number than
+that, you have to use the standard format discussed above.
+
+Due to the complexity of writing out (and parsing) frequencies written out,
+I do not intend to add additional frequency formats, and the use of these
+is discouraged. The frequency format described above is preferred.
+
+=head1 MODIFIERS
+
+Any number of modifiers may be added to a frequency to get the actual
+date of a recurring event.  Modifiers are case sensitive.
+
+=over 4
+
+=item B
+
+The following modifiers can be used to adjust a date to a specific
+day of the week.
+
+  PDn   Means the previous day n not counting today
+  PTn   Means the previous day n counting today
+  NDn   Means the next day n not counting today
+  NTn   Means the next day n counting today
+  WDn   Day n (1-7) of the current week
+
+In each of these, 'n' is 1-7 (1 being Sunday, 7 being Saturday).
+
+For example, PD2/ND2 returns the previous/next Tuesday. If the
+date that this is applied to is Tuesday, it modifies it to one
+week in the past/future.
+
+PT2/NT2 are similar, but will leave the date unmodified if
+it is a Tuesday.
+
+=item B
+
+These modifiers can be used to add/subtract n days to a date.
+
+  FDn   Means step forward n days.
+  BDn   Means step backward n days.
+
+=item B
+
+Modifiers can also be used to force recurring events to occur
+on business days. These modifiers include:
+
+  FWn   Means step forward n workdays.
+  BWn   Means step backward n workdays.
+
+  CWD   The closest work day (using the TomorrowFirst
+        config variable).
+  CWN   The closest work day (looking forward first).
+  CWP   The closest work day (looking backward first).
+
+  NWD   The next work day counting today
+  PWD   The previous work day counting today
+  DWD   The closest work day (using the TomorrowFirst config
+        variable) counting today
+
+  IBD   This discards the date if it is not a business day.
+  NBD   This discards the date if it IS a business day.
+
+  IWn   This discards the date if it is not the n'th day
+        of the week (n=1-7, 1 is Monday)
+  NWn   This discards the date if it IS the n'th day of the week
+
+The CWD, CWN, and CWP modifiers will always change the date to the
+closest working day NOT counting the current date.
+
+The NWD, PWD, and DWD modifiers always change the date to the closest
+working day unless the current date is a work day. In that case,
+it is left unmodified.
+
+CWD, CWN, and CWP will usually return the same value, but if you are
+starting at the middle day of a 3-day weekend (for example), it will
+return either the first work day of the following week, or the last
+work day of the previous week depending on whether it looks forward or
+backward first.
+
+All business day modifiers ignore the time, so if a date is initially
+calculated at Saturday at noon, and the FW1 is applied, the date is
+initially moved to the following Monday (assuming it is a work day)
+and the FW1 moves it to Tuesday. The final result will be Tuesday at
+noon.
+
+The IBD, NBD, IWn, and NWn modifiers eliminate dates from the list immediately.
+In other words, if a recurrence has three modifiers:
+
+  FD1,IBD,FD1
+
+then as a date is being tested, first the FD1 modifier is applied.
+Then, it is tested to see if it is a business day.  If it is, the
+second FD1 modifier will be applied.  Otherwise, the date will not
+be included in the list of recurring events.
+
+=item B
+
+The following modifiers do things that cannot be expressed using any other
+combination of frequency and modifiers:
+
+  EASTER   Set the date to Easter for this year.
+
+=back
+
+=head1 DETERMINING DATES
+
+In order to get a list of dates referred to by the recurrence, the
+following steps are taken.
+
+=over 4
+
+=item B
+
+The recurrence must be completely specified with a base date (either
+supplied explicitly, or derived from a start date) and date range when
+necessary. All dates must be valid.
+
+=item B
+
+Using information from the interval and the specified base date, the
+actual base date is determined.
+
+=item B
+
+By applying the delta that corresponds to the interval, and then
+applying rtime and modifier information, the Nth date is determined.
+
+This is repeated until all desired dates have been obtained.
+
+The nth method described below has more details.
+
+=item B
+
+Any date that fall outside the range is discarded.
+
+NOTE: when the recurrence contains no interval, it is not necessary to
+specify the range, and if it is not specified, all of the dates are
+used. The range MAY be specified to return only a subset of the dates
+if desired.
+
+=back
+
+=head1 LIST OF Y/M/W/D FREQUENCY DEFINITIONS
+
+Because the week and day values may have multiple meanings depending
+on where the asterisk is, and which of the fields have non-zero values,
+a list of every possible combination is included here (though most can
+be determined using the rules above).
+
+When the asterisk occurs before the day element, and the day element
+is non-zero, the day element can take on multiple meanings depending
+on where the asterisk occurs, and which leading elements (year, month,
+week) have non-zero values. It can refer to the day of the week, day
+of the month, or day of the year.
+
+When the asterisk occurs before the week element, the week element of
+the frequency can also take on multiple meanings as well. When the month
+field and day fields are zero, it refers to the week of the year. Since
+the week of the year is well defined in the ISO 8601 spec, there is
+no ambiguity.
+
+When the month field is zero, but the day field is not, the week field
+refers to the nth occurrence of the day of week referred to by the
+day field in the year.
+
+When the month field is non-zero, the week field refers to the nth
+occurrence of the day of week in the month.
+
+In the tables below only the first 4 elements of the frequency are
+shown. The actual frequency will include the hour, minute, and second
+elements in addition to the ones shown.
+
+When all elements left of the asterisk are 0, the interval is such
+that it occurs the maximum times possible (without changing the type
+of elements to the right of the asterisk). Another way of looking at
+it is that the last 0 element of the interval is changed to 1. So, the
+interval:
+
+  0:0*3:0
+
+is equivalent to
+
+  0:1*3:0
+
+When the year field is zero, and is right of the asterisk, it
+means the current year.
+
+=over 4
+
+=item B
+
+When all of the month, week, and day elements are left of the
+asterisk, the simple definitions of the frequency are used:
+
+  frequency     meaning
+
+  1:2:3:4       every 1 year, 2 months, 3 weeks,
+                4 days
+
+Any, or all of the fields can be zero.
+
+=item B
+
+When both the day and week elements are non-zero, the day element
+always refers to the day of week. Values must be in the range (1 to 7)
+and no negative values are allowed.
+
+The following tables shows all possible variations of the frequency
+where this can happen (where day 4 = Thursday).
+
+When the week is left of the asterisk, the interval is used to get the
+weeks on the calendar containing a recurring date, and the day is used
+to set the day of the week.  The following are possible:
+
+  frequency     meaning
+
+  1:2:3*4       every 1 year, 2 months, 3 weeks
+                on Thur
+
+  1:0:3*4       every 1 year, 3 weeks on Thur
+
+  0:2:3*4       every 2 months, 3 weeks on Thur
+
+  0:0:3*4       every 3 weeks on Thur
+
+When the week is right of the asterisk, and a non-zero month is left of the
+asterisk, the recurrence refers to a specific occurrence of a day-of-week
+during a month. The following are possible:
+
+  frequency     meaning
+
+  1:2*3:4       every 1 year, 2 months on the
+                3rd Thursday of the month
+
+  0:2*3:4       every 2 months on the 3rd Thur
+                of the month
+
+When the week and month are both non-zero and right of the asterisk, the
+recurrence refers to an occurrence of day-of-week during the given month.
+Possibilities are:
+
+  frequency     meaning
+
+  1*2:3:4       every 1 year in February on
+	        the 3rd Thur
+
+  0*2:3:4       same as 1*2:3:4
+
+ *1:2:3:4       in Feb 0001 on the 3rd Thur
+                of the month
+
+ *0:2:3:4       on the 3rd Thur of Feb in the
+                current year
+
+When the week is right of the asterisk, and the month is zero, the
+recurrence refers to an occurrence of the day-of-week during the
+year. The following are possible:
+
+  frequency     meaning
+
+  1:0*3:4       every 1 year on the 3rd Thursday
+  1*0:3:4       of the year
+
+ *1:0:3:4       in 0001 on the 3rd Thur of
+                the year
+
+  0*0:3:4       same as 1*0:3:4
+
+ *0:0:3:4       on the 3rd Thur of the current
+                year
+
+There is one special case:
+
+  frequency     meaning
+
+  0:0*3:4       same as 0:1*3:4 (every month on
+                the 3rd Thur of the month)
+
+=item B
+
+When a non-zero day element occurs to the right of the asterisk and
+the week element is zero, but the month element is non-zero, the day
+elements always refers to a the day of month in the range (1 to 31)
+or (-1 to -31).
+
+The following table shows all possible variations of the frequency
+where this can happen:
+
+  frequency     meaning
+
+  1:2:0*4       every 1 year, 2 months on the
+  1:2*0:4       4th day of the month
+
+  1*2:0:4       every year on Feb 4th
+
+ *1:2:0:4       Feb 4th, 0001
+
+  0:2:0*4       every 2 months on the 4th day
+  0:2*0:4       of the month
+
+  0*2:0:4       same as 1*2:0:4
+
+ *0:2:0:4       Feb 4th of the current year
+
+=item B
+
+When a day is zero, and the week is non-zero, the recurrence refers
+to a specific occurrence of the first day of the week (as given by
+the FirstDay variable).
+
+The frequency can refer to an occurrence of FirstDay in a specific
+week (if the week is left of the asterisk):
+
+  frequency     meaning
+
+  1:2:3*0       every 1 year, 2 months, 3 weeks on
+                FirstDay
+
+  1:0:3*0       every 1 year, 3 weeks on FirstDay
+
+  0:2:3*0       every 2 months, 3 weeks on FirstDay
+
+  0:0:3*0       every 3 weeks on FirstDay
+
+or to a week in the year (if the week is right of the asterisk, and the
+month is zero):
+
+  frequency     meaning
+
+  1:0*3:0       every 1 year on the first day of the
+  1*0:3:0       3rd week of the year
+
+ *1:0:3:0       the first day of the 3rd week of 0001
+
+or to an occurrence of FirstDay in a month (if the week is right of the
+asterisk and month is non-zero):
+
+  frequency     meaning
+
+  1:2*3:0       every 1 year, 2 months on the 3rd
+                occurrence of FirstDay
+
+  0:2*3:0       every 2 months on the 3rd occurrence
+                of FirstDay
+
+  1*2:3:0       every year on the 3rd occurrence
+                of FirstDay in Feb
+
+  0*2:3:0       same as 1*2:3:0
+
+ *1:2:3:0       the 3rd occurrence of FirstDay
+                Feb 0001
+
+ *0:2:3:0       the 3rd occurrence of FirstDay
+                in Feb of the current year
+
+NOTE: in the last group, a slightly more intuitive definition of these
+would have been to say that the week field refers to the week of the
+month, but given the ISO 8601 manner of defining when weeks start,
+this definition would have virtually no practical application. So the
+definition of the week field referring to the Nth occurrence of
+FirstDay in a month was used instead.
+
+There are a few special cases here:
+
+  frequency     meaning
+
+  0:0*3:0       same as 0:1*3:0   (every month on the 3rd
+                occurrence of the first day of week)
+
+  0*0:3:0       same as 1*0:3:0
+
+ *0:0:3:0       the first day of the 3rd week of the
+                current year
+
+=item B
+
+When a non-zero day element occurs and both the month and week
+elements are zero, the day elements always refers to a the day of year
+(1 to 366 or -1 to -366 to count from the end).
+
+The following table shows all possible variations of the frequency
+where this can happen:
+
+  frequency     meaning
+
+  1:0:0*4       every year on the 4th day of
+  1:0*0:4       the year
+  1*0:0:4
+
+ *1:0:0:4       the 4th day of 0001
+
+Other non-zero day variations have multiple meanings for the day
+element:
+
+  frequency     meaning
+
+  0:0:0*4       same as 0:0:1*4  (every week on Thur)
+
+  0:0*0:4       same as 0:1*0:4  (every month on the 4th)
+
+  0*0:0:4       same as 1*0:0:4
+
+ *0:0:0:4       the 4th day of the current year
+
+=item B
+
+The remaining variations have zero values for both week and day.
+They are:
+
+  frequency     meaning
+
+  1:2:0*0       every 1 year, 2 months on the first
+  1:2*0:0       day of the month
+
+  1*2:0:0       every year on Feb 1
+
+ *1:2:0:0       Feb 1, 0001
+
+  1:0:0*0       every 1 year on Jan 1
+  1:0*0:0
+  1*0:0:0
+
+ *1:0:0:0       Jan 1, 0001
+
+  0:2:0*0       every 2 months on the first day of
+  0:2*0:0       the month
+
+  0*2:0:0       same as 1*2:0:0
+
+ *0:2:0:0       Feb 1 of the current year
+
+  0:0:0*0       same as 0:0:1*0 (every week on
+                the first day of the week)
+
+  0:0*0:0       same as 0:1*0:0 (every month
+                on the 1st)
+
+  0*0:0:0       same as 1*0:0:0
+
+ *0:0:0:0       Jan 1 of the current year
+
+=back
+
+=head1 METHODS
+
+=over 4
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+Please refer to the L documentation for these methods.
+
+=item B
+
+   $err = $recur->parse($string [,$modifiers] [,$base,$start,$end,$unmod]);
+
+This creates a new recurrence. A string containing a valid frequency
+is required. In addition, C<$start>, C<$end>, and C<$base> dates can be passed
+in (either as L objects, or as strings containing dates
+that can be parsed), and any number of the modifiers listed above.
+
+If the C<$start> or C<$end> dates are not included, they may be supplied
+automatically, based on the value of the RecurRange variable. If any
+of the dates are passed in, they must be included in the order given
+(though it is safe to pass an empty string or undef in for any of them
+if you only want to set some, but not all of them).  If C<$unmod> is true,
+the range will apply to unmodified dates rather than the modified dates.
+
+The C<$modifiers> argument must contain valid modifiers, or be left out of
+the argument list entirely. You cannot pass an empty string or undef in for it.
+
+   $err = $recur->parse($string);
+
+This creates a recurrence from a string which contains all of the
+necessary elements of the recurrence. The string is of the format:
+
+   FREQ*MODIFIERS*BASE*START*END*UNMOD
+
+where FREQ is a string containing a frequency, MODIFIERS is a string
+containing a comma separated list of modifiers, BASE, START, and END
+are strings containing parseable dates.
+
+All pieces are optional, but order must be maintained, so all of the
+following are valid:
+
+   FREQ*MODIFIERS
+   FREQ**BASE
+   FREQ**BASE*START*END
+   FREQ***START*END*UNMOD
+
+If a part of the recurrence is passed in both as part of C<$string> and
+as an argument, the argument overrides the string portion, with the
+possible exception of modifiers. The modifiers in the argument override
+the string version unless the first one is a '+' in which case they
+are appended. See the modifiers method below for more information.
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+You can also create a recurrency in steps (or replace parts of an existing
+recurrence) using the following:
+
+   $err = $recur->frequency($frequency);
+
+   $err = $recur->start($start);
+   $err = $recur->start($start,$unmod);
+   $err = $recur->end($end);
+
+   $err = $recur->basedate($base);
+
+   $err = $recur->modifiers($modifiers);
+   $err = $recur->modifiers(@modifiers);
+
+These set the appropriate part of the recurrence.
+
+Calling the frequency method discards all information currently
+stored in the Recur object (including an existing start, end, and
+base date), so this method should be called first.
+
+In the modifiers method, the modifiers can be passed in as a string
+containing a comma separated list of modifiers, or as a list of
+modifiers. The modifiers passed in override all previously set
+modifiers UNLESS the first one is the string "+", in which case the
+new modifiers are appended to the list.
+
+In the start, end, and base methods, the date passed in can be a
+L object, or a string that can be parsed to get a date.
+If C<$unmod> is true, it will mean that the range will apply to unmodified
+dates.
+
+NOTE: the parse method will overwrite all parts of the recurrence,
+so it is not appropriate to do:
+
+   $recur->modifiers($modifiers);
+   $recur->parse($string);
+
+The modifiers passed in in the first call will be overwritten.
+
+These functions can also be used to look up the values.
+
+   $freq  = $recur->frequency();
+   $start = $recur->start();
+   $end   = $recur->end();
+   @mods  = $recur->modifiers();
+
+   ($base,$actual) = $recur->basedate();
+
+The basedate function will return both the specified base and the actual
+base dates.
+
+If any of the values are not yet determined, nothing will be returned.
+
+=item B
+
+   @dates = $recur->dates([$start,$end,$unmod]);
+
+Returns the list of dates defined by the full recurrence. If there is
+an error, or if there are no dates, an empty list will be returned.
+
+C<$start> and C<$end> are either C or dates which can be used to limit
+the set of dates passed back (they can be L objects
+or strings that can be parsed).
+
+If the recurrence does not have a start and end date already, passing
+in C<$start> and C<$end> will set the range (but they will NOT be stored in
+the recurrence).
+
+If the recurrence does have a start and end date stored in it, the
+C<$start> and C<$end> arguments can be used to temporarily override
+the limits. For example, if a recurrence has a start date of
+Jan 1, 2006 00:00:00 and and end date of Dec 31, 2006 23:59:59 stored
+in the recurrence, passing in $start of Jul 1, 2006 00:00:00 will
+limit the dates returned to the range of Jul 1 to Dec 31.
+
+Passing in a start date of Jul 1, 2007 will mean that no dates are
+returned since the recurrence limits the date to be in 2006.
+
+If one or both of C<$start> and C<$end> are C, then the stored values
+will be used.
+
+=item B
+
+   ($date,$err) = $recur->nth($n);
+
+This returns the C<$n>th recurring event (C<$n> may be any integer). If
+an error occurs, it is returned (but it is not set in C<$recur> since
+it may be properly, though perhaps incompletely, defined). The following
+errors may be returned:
+
+   Invalid recurrence
+      The recurrence has an error flag set.
+
+   Incomplete recurrence
+      The recurrence is incomplete. It needs either a
+      base date or a date range.
+
+   Range invalid
+      The recurrence has an invalid date range (i.e.
+      the end date occurs before the start date).
+
+   Start invalid
+   End invalid
+   Base invalid
+      An invalid date was entered for one of the dates.
+
+There are a few special circumstances to be aware of.
+
+1) If the recurrence contains no interval (i.e. is of the form
+*Y:M:W:D:H:MN:S), the dates come directly from the rtime values.
+In this case, the 0th event is the first date in the list of
+dates specified by the rtime. As such, C<$n> must be a positive
+integer.  If C<$n> is negative, or outside the range of dates
+specified, the returned date will be C (but this is not
+an error).
+
+2) A very small number of recurrences have an unknown number of
+recurring events associated with each date.  This only happens if one
+of the values in the rtime is specified as a range including both a
+positive and negative index.  For example, if the day field in an
+rtime refers to the day of month, and is 15--15 (i.e. the 15th day to
+the 15th to the last day), this may include 3 events (on a month with
+31 days), 2 event (months with 30 days), 1 event (months with 29
+days), or 0 events (months with 28 days). As such, in order to
+calculate the Nth date, you have to start with the 0th (i.e. base)
+date and calculate every event until you get the Nth one. For this
+reason, it is highly recommended that this type of frequency be
+avoided as it will be quite slow.
+
+3) Most recurrences have a known number of events (equal to the number
+of combinations of values in the rtime) for each date. For these,
+calculating the Nth date is much faster. However, in this case, some
+of them may refer to an invalid date. For example, if the frequency is
+'the 31st of every month' and the base (0th) date is Jan 31, the 1st
+event would refer to Feb 31. Since that isn't valid, C would be
+returned for C<$n=1.> Obviously, it would be possible to actually
+determine the Nth valid event by calculating all N-1 dates, but in the
+interest of performance, this is not done.
+
+4) The way the Nth recurring event is calculated differs slightly for
+NE>0 and NE0 if the delta referred to by the frequency is
+approximate. To calculate the Nth recurring event (where N>0), you
+take the base date and add N*DELTA (where DELTA is the delta
+determined by the frequency).  To get the Nth recurring event (where
+NE0), a date is determine which, if N*DELTA were added to it,
+would produce the base date. For more details, refer to the
+L document.  In the
+L section in the discussion of
+approximate date-delta calculations, calculations are done with
+$subtract = 2.
+
+=item B
+
+=item B
+
+   ($date,$err) = $recur->next();
+   ($date,$err) = $recur->prev();
+
+These return the next/previous recurring event.
+
+The first time next/prev is called, one of the recurring events
+will be selected and returned (using the rules discussed below).
+Subsequent calls to next/prev will return the next or previous
+event.
+
+Unlike the B method which will return a specific event (or
+undef if the Nth even is not defined), the next and prev methods
+will only work with defined events.
+
+So, for the recurrence:
+
+   the 31st of every month
+
+next might return the following sequence of events:
+
+   Jan 31 2000
+   Mar 31 2000
+   May 31 2000
+
+The rules for determining what event to return the first time one
+of these is called are as follows:
+
+1) If there is a range, next will return the first event that occurs
+after the start of the range.  prev will return the last event that
+occurs before the end of the range.
+
+2) If there is no range, next will return the first event on or after
+the base date.  prev will return the last event before the base date.
+
+The error codes are the same as for the nth method.
+
+=back
+
+=head1 HISTORY OF THE FREQUENCY NOTATION
+
+I realize that the frequency notation described above looks quite
+complicated at first glance, but it is (IMO) the best notation for
+expressing recurring events in existence. I actually consider it the
+single most important contribution to date/time handling in
+Date::Manip.
+
+When I first decided to add recurring events to Date::Manip, I first
+came up with a list of common ways of specifying recurring events, and
+then went looking for a notation that could be used to define them.  I
+was hoping for a notation that would be similar to cron notation, but
+more powerful.
+
+After looking in several specifications (including ISO 8601) and after
+a discussion on a mailing list of calendar related topics, it appeared
+that there was no concise, flexible notation for handling recurring
+events that would handle all of the common forms I'd come up with.
+
+So, as a matter of necessity, I set about inventing my own notation.
+As I was looking at my list, it struck me that all of the parts which
+specified a frequency were higher level (i.e. referred to a larger
+unit of time) than those parts which specified a specific value (what
+I've called the rtime). In other words, when the terms were laid out
+from year down to seconds, the frequency part was always left of
+specific values.
+
+That led immediately to the notation described above, so I started analyzing
+it to figure out if it could express all of the recurring events I'd
+come up with. It succeeded on 100% of them. Not only that, but by playing
+with different values (especially different combinations of m/w/d values), I
+found that it would define recurring events that I hadn't even thought of,
+but which seemed perfectly reasonable in hindsight.
+
+After a very short period, I realized just how powerful this notation was,
+and set about implementing it, and as I said above, of all the contributions
+that Date::Manip has made, I consider this to be the most important.
+
+=head1 KNOWN BUGS
+
+If you specify a recurrence which cannot be satisfied for the base date,
+or for any time after the base date, the recurrence will crash.  This
+can only happen if you specify a recurrence that always occurs in the
+spring DST transition using the current timezone rules.
+
+For example, in a US timezone, the current timezone rules state that a
+DST transition occurs at 02:00:00 on the 2nd Sunday in March and the
+clock jumps to 03:00.  This started in 2006.  As a result, the recurrence
+
+   1*3:2:7:2:0:0
+
+with a base date of 2006 or later cannot be satisfied.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/TZ.pm b/lib/Date/Manip/TZ.pm
new file mode 100644
index 0000000..ff8b9dd
--- /dev/null
+++ b/lib/Date/Manip/TZ.pm
@@ -0,0 +1,1973 @@
+package Date::Manip::TZ;
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+# Any routine that starts with an underscore (_) is NOT intended for
+# public use.  They are for internal use in the the Date::Manip
+# modules and are subject to change without warning or notice.
+#
+# ABSOLUTELY NO USER SUPPORT IS OFFERED FOR THESE ROUTINES!
+########################################################################
+
+use Date::Manip::Obj;
+use Date::Manip::TZ_Base;
+@ISA = qw(Date::Manip::Obj Date::Manip::TZ_Base);
+
+require 5.010000;
+use warnings;
+use strict;
+
+use IO::File;
+require Date::Manip::Zones;
+use Date::Manip::Base;
+use Data::Dumper;
+
+our $VERSION;
+$VERSION='6.60';
+END { undef $VERSION; }
+
+# To get rid of a 'used only once' warnings.
+END {
+   my $tmp = \%Date::Manip::Zones::Module;
+   $tmp    = \%Date::Manip::Zones::ZoneNames;
+   $tmp    = \%Date::Manip::Zones::Alias;
+   $tmp    = \%Date::Manip::Zones::Abbrev;
+   $tmp    = \%Date::Manip::Zones::Offmod;
+   $tmp    = $Date::Manip::Zones::FirstDate;
+   $tmp    = $Date::Manip::Zones::LastDate;
+   $tmp    = $Date::Manip::Zones::LastYear;
+   $tmp    = $Date::Manip::Zones::TzcodeVersion;
+   $tmp    = $Date::Manip::Zones::TzdataVersion;
+}
+
+########################################################################
+# BASE METHODS
+########################################################################
+
+sub _init {
+   my($self) = @_;
+
+   $$self{'data'} =
+     {
+      # These are the variables defined in Date::Manip::Zones
+      'Module'         => \%Date::Manip::Zones::Module,
+      'ZoneNames'      => \%Date::Manip::Zones::ZoneNames,
+      'Alias'          => \%Date::Manip::Zones::Alias,
+      'Abbrev'         => \%Date::Manip::Zones::Abbrev,
+      'Offmod'         => \%Date::Manip::Zones::Offmod,
+      'FirstDate'      => $Date::Manip::Zones::FirstDate,
+      'LastDate'       => $Date::Manip::Zones::LastDate,
+      'LastYear'       => $Date::Manip::Zones::LastYear,
+
+      # These override values from Date::Manip::Zones
+      'MyAlias'        => {},
+      'MyAbbrev'       => {},
+      'MyOffsets'      => {},
+
+      # Each timezone/offset module that is loaded goes here
+      'Zones'          => {},
+      'Offsets'        => {},
+
+      # methods     a list of methods used for determining the
+      #             current zone
+      # path        the PATH to set for determining the current
+      #             zone
+      # dates       critical dates on a per/year (UT) basis
+      # zonerx      the regular expression for matching timezone
+      #             names/aliases
+      # abbrx       the regular expression for matching timezone
+      #             abbreviations
+      # offrx       the regular expression for matching a valid
+      #             timezone offset
+      # zrx         the regular expression to match all timezone
+      #             information
+      'methods'        => [],
+      'path'           => undef,
+      'zonerx'         => undef,
+      'abbrx'          => undef,
+      'offrx'          => undef,
+      'zrx'            => undef,
+     };
+
+   # OS specific stuff
+
+   my $dmb = $$self{'base'};
+   my $os  = $dmb->_os();
+
+   if ($os eq 'Unix') {
+      $$self{'data'}{'path'}    = '/bin:/usr/bin';
+      $$self{'data'}{'methods'} = [
+                                   qw(main   TZ
+                                      env    zone TZ
+                                      file   /etc/TIMEZONE
+                                      file   /etc/timezone
+                                      file   /etc/sysconfig/clock
+                                      file   /etc/default/init
+                                      tzdata /etc/localtime /usr/share/zoneinfo
+                                    ),
+                                   'command',  '/bin/date +%Z',
+                                   'command',  '/usr/bin/date +%Z',
+                                   'command',  '/usr/local/bin/date +%Z',
+                                   qw(cmdfield /bin/date -2
+                                      cmdfield /usr/bin/date -2
+                                      cmdfield /usr/local/bin/date -2
+                                    ),
+                                   'command',  '/bin/date +%z',
+                                   'command',  '/usr/bin/date +%z',
+                                   'command',  '/usr/local/bin/date +%z',
+                                   'gmtoff'
+                                  ];
+
+   } elsif ($os eq 'Windows') {
+      $$self{'data'}{'methods'} = [
+                                   qw(main TZ
+                                      env  zone TZ
+                                      registry
+                                      gmtoff),
+                                  ];
+
+   } elsif ($os eq 'VMS') {
+      $$self{'data'}{'methods'} = [
+                                   qw(main TZ
+                                      env  zone TZ
+                                      env  zone SYS$TIMEZONE_NAME
+                                      env  zone UCX$TZ
+                                      env  zone TCPIP$TZ
+                                      env  zone MULTINET_TIMEZONE
+                                      env  offset SYS$TIMEZONE_DIFFERENTIAL
+                                      gmtoff
+                                    ),
+                                  ];
+
+   } else {
+      $$self{'data'}{'methods'} = [
+                                   qw(main TZ
+                                      env  zone TZ
+                                      gmtoff
+                                    ),
+                                  ];
+   }
+}
+
+sub _init_final {
+   my($self) = @_;
+
+   $self->_set_curr_zone();
+}
+
+no strict 'refs';
+# This loads data from an offset module
+#
+sub _offmod {
+   my($self,$offset) = @_;
+   return  if (exists $$self{'data'}{'Offsets'}{$offset});
+
+   my $mod  = $$self{'data'}{'Offmod'}{$offset};
+   eval "require Date::Manip::Offset::${mod}";
+   my %off  = %{ "Date::Manip::Offset::${mod}::Offset" };
+
+   $$self{'data'}{'Offsets'}{$offset} = { %off };
+}
+
+# This loads data from a zone module (takes a lowercase zone)
+#
+sub _module {
+   my($self,$zone) = @_;
+   return  if (exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+   my $mod   = $$self{'data'}{'Module'}{$zone};
+   eval "require Date::Manip::TZ::${mod}";
+   my %dates = %{ "Date::Manip::TZ::${mod}::Dates" };
+   my %last  = %{ "Date::Manip::TZ::${mod}::LastRule" };
+   $$self{'data'}{'Zones'}{$zone} =
+     {
+      'Dates'    => { %dates },
+      'LastRule' => { %last },
+      'Loaded'   => 1
+     };
+}
+use strict 'refs';
+
+########################################################################
+# CHECKING/MODIFYING ZONEINFO DATA
+########################################################################
+
+sub _zone {
+   my($self,$zone) = @_;
+   $zone = lc($zone);
+
+   if (exists $$self{'data'}{'MyAlias'}{$zone}) {
+      return $$self{'data'}{'MyAlias'}{$zone};
+   } elsif (exists $$self{'data'}{'Alias'}{$zone}) {
+      return  $$self{'data'}{'Alias'}{$zone};
+   } else {
+      return '';
+   }
+}
+
+sub tzdata {
+   my($self) = @_;
+   return $Date::Manip::Zones::TzdataVersion;
+}
+
+sub tzcode {
+   my($self) = @_;
+   return $Date::Manip::Zones::TzcodeVersion;
+}
+
+sub define_alias {
+   my($self,$alias,$zone) = @_;
+   $alias = lc($alias);
+
+   if ($alias eq 'reset') {
+      $$self{'data'}{'MyAlias'} = {};
+      $$self{'data'}{'zonerx'}  = undef;
+      return 0;
+   }
+   if (lc($zone) eq 'reset') {
+      delete $$self{'data'}{'MyAlias'}{$alias};
+      $$self{'data'}{'zonerx'} = undef;
+      return 0;
+   }
+
+   $zone  = $self->_zone($zone);
+
+   return 1  if (! $zone);
+   $$self{'data'}{'MyAlias'}{$alias} = $zone;
+   $$self{'data'}{'zonerx'} = undef;
+   return 0;
+}
+
+sub define_abbrev {
+   my($self,$abbrev,@zone) = @_;
+   $abbrev = lc($abbrev);
+
+   if ($abbrev eq 'reset') {
+      $$self{'data'}{'MyAbbrev'} = {};
+      $$self{'data'}{'abbrx'}    = undef;
+      return 0;
+   }
+   if ($#zone == 0  &&  lc($zone[0]) eq 'reset') {
+      delete $$self{'data'}{'MyAbbrev'}{$abbrev};
+      $$self{'data'}{'abbrx'} = undef;
+      return (0);
+   }
+
+   if (! exists $$self{'data'}{'Abbrev'}{$abbrev}) {
+      return (1);
+   }
+
+   my (@z,%z);
+   my %zone = map { $_,1 } @{ $$self{'data'}{'Abbrev'}{$abbrev} };
+   foreach my $z (@zone) {
+      my $zone = $self->_zone($z);
+      return (2,$z)  if (! $zone);
+      return (3,$z)  if (! exists $zone{$zone});
+      next  if (exists $z{$zone});
+      $z{$zone} = 1;
+      push(@z,$zone);
+   }
+
+   $$self{'data'}{'MyAbbrev'}{$abbrev} = [ @z ];
+   $$self{'data'}{'abbrx'}             = undef;
+   return ();
+}
+
+sub define_offset {
+   my($self,$offset,@args) = @_;
+   my $dmb                 = $$self{'base'};
+
+   if (lc($offset) eq 'reset') {
+      $$self{'data'}{'MyOffsets'} = {};
+      return (0);
+   }
+   if ($#args == 0  &&  lc($args[0]) eq 'reset') {
+      delete $$self{'data'}{'MyOffsets'}{$offset};
+      return (0);
+   }
+
+   # Check that $offset is valid. If it is, load the
+   # appropriate module.
+
+   if (ref($offset)) {
+      $offset = $dmb->join('offset',$offset);
+   } else {
+      $offset = $dmb->_delta_convert('offset',$offset);
+   }
+   return (9)  if (! $offset);
+   return (1)  if (! exists $$self{'data'}{'Offmod'}{$offset});
+
+   $self->_offmod($offset);
+
+   # Find out whether we're handling STD, DST, or both.
+
+   my(@isdst) = (0,1);
+   if ($args[0] =~ /^std|dst|stdonly|dstonly$/i) {
+      my $tmp = lc(shift(@args));
+      if ($tmp eq 'stdonly') {
+         @isdst = (0);
+      } elsif ($tmp eq 'dstonly') {
+         @isdst = (1);
+      }
+   }
+   my @zone = @args;
+
+   if ($#isdst == 0  &&
+       ! exists($$self{'data'}{'Offsets'}{$offset}{$isdst[0]})) {
+      return (2);
+   }
+
+   # Check to see that each zone is valid, and contains this offset.
+
+   my %tmp;
+   foreach my $isdst (0,1) {
+      next  if (! exists $$self{'data'}{'Offsets'}{$offset}{$isdst});
+      my @z = @{ $$self{'data'}{'Offsets'}{$offset}{$isdst} };
+      $tmp{$isdst} = { map { $_,1 } @z };
+   }
+
+   foreach my $z (@zone) {
+      my $lcz = lc($z);
+      if (! exists $$self{'data'}{'ZoneNames'}{$lcz}) {
+         return (3,$z);
+      } elsif (! exists $tmp{0}{$lcz}  &&
+               ! exists $tmp{1}{$lcz}) {
+         return (4,$z);
+      } elsif ($#isdst == 0  &&
+               ! exists $tmp{$isdst[0]}{$lcz}) {
+         return (5,$z);
+      }
+      $z = $lcz;
+   }
+
+   # Set the zones accordingly.
+
+   foreach my $isdst (@isdst) {
+      my @z;
+      foreach my $z (@zone) {
+         push(@z,$z)  if (exists $tmp{$isdst}{$z});
+      }
+      $$self{'data'}{'MyOffsets'}{$offset}{$isdst} = [ @z ];
+   }
+
+   return (0);
+}
+
+########################################################################
+# SYSTEM ZONE
+########################################################################
+
+sub curr_zone {
+   my($self,$reset) = @_;
+   my $dmb = $$self{'base'};
+
+   if ($reset) {
+      $self->_set_curr_zone();
+   }
+
+   my($ret) = $self->_now('systz',1);
+   return $$self{'data'}{'ZoneNames'}{$ret}
+}
+
+sub curr_zone_methods {
+   my($self,@methods) = @_;
+
+   if (${^TAINT}) {
+      warn "ERROR: [curr_zone_methods] not allowed when taint checking on\n";
+      return;
+   }
+
+   $$self{'data'}{'methods'}  = [ @methods ];
+}
+
+sub _set_curr_zone {
+   my($self) = @_;
+   my $dmb   = $$self{'base'};
+   my $currzone = $self->_get_curr_zone();
+
+   $$dmb{'data'}{'now'}{'systz'} = $self->_zone($currzone);
+}
+
+# This determines the system timezone using all of the methods
+# applicable to the operating system. The first match is used.
+#
+sub _get_curr_zone {
+   my($self) = @_;
+   my $dmb   = $$self{'base'};
+
+   my $t = time;
+   my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($t);
+   my $currzone = '';
+   my $dstflag = ($isdst ? 'dstonly' : 'stdonly');
+
+   my (@methods) = @{ $$self{'data'}{'methods'} };
+   my $debug     = ($ENV{DATE_MANIP_DEBUG} ? 1 : 0);
+
+   defined $$self{'data'}{'path'}
+     and local $ENV{PATH} = $$self{'data'}{'path'};
+
+   METHOD:
+   while (@methods) {
+      my $method = shift(@methods);
+      my @zone   = ();
+
+      print "*** DEBUG *** METHOD: $method ["  if ($debug);
+
+      if ($method eq 'main') {
+
+         if (! @methods) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] main requires argument\n";
+            return;
+         }
+         my $var = shift(@methods);
+         print "$var] "  if ($debug);
+         no strict "refs";
+         my $val = ${ "::$var" };
+         use strict "refs";
+         if (defined $val) {
+            push(@zone,$val);
+            print "$val\n"  if ($debug);
+         } else {
+            print "undef\n"  if ($debug);
+         }
+
+      } elsif ($method eq 'env') {
+         if (@methods < 2) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] env requires 2 argument\n";
+            return;
+         }
+         my $type = lc( shift(@methods) );
+         print "$type,"  if ($debug);
+
+         if ($type ne 'zone'  &&
+             $type ne 'offset') {
+            print "?]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] env requires 'offset' or 'zone' " .
+                 "as the first argument\n";
+            return;
+         }
+         my $var  = shift(@methods);
+         print "$var] "  if ($debug);
+         if (exists $ENV{$var}) {
+            if ($type eq 'zone') {
+               push(@zone,$ENV{$var});
+               print "$ENV{$var}\n"  if ($debug);
+            } else {
+               my $off = $ENV{$var};
+               print "$ENV{$var} = "  if ($debug);
+               $off    = $dmb->_delta_convert('time',"0:0:$off");
+               $off    = $dmb->_delta_convert('offset',$off);
+               print "$off\n"  if ($debug);
+               push(@zone,$off);
+            }
+         } else {
+            print "undef\n"  if ($debug);
+         }
+
+      } elsif ($method eq 'file') {
+         if (! @methods) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] file requires argument\n";
+            return;
+         }
+         my $file = shift(@methods);
+         print "$file] "  if ($debug);
+         if (! -f $file) {
+            print "not found\n"  if ($debug);
+            next;
+         }
+
+         my $in = new IO::File;
+         $in->open($file)  ||  next;
+         my $firstline = 1;
+
+         my @z;
+         while (! $in->eof) {
+            my $line = <$in>;
+            chomp($line);
+            next  if ($line =~ /^\s*\043/  ||
+                      $line =~ /^\s*$/);
+            if ($firstline) {
+               $firstline = 0;
+               $line      =~ s/^\s*//;
+               $line      =~ s/\s*$//;
+               $line      =~ s/["']//g;  # "
+               $line      =~ s/\s+/_/g;
+               @z         = ($line);
+            }
+
+            # We're looking for lines of the form:
+            #   TZ = string
+            #   TIMEZONE = string
+            #   ZONE = string
+            # Alternately, we may use a 1-line file (ignoring comments and
+            # whitespace) which contains only the zone name (it may be
+            # quoted or contain embedded whitespace).
+            #
+            # 'string' can be:
+            #   the name of a timezone enclosed in single/double quotes
+            #   with everything after the closing quote ignored (the
+            #   name of the timezone may have spaces instead of underscores)
+            #
+            #   a space delimited list of tokens, the first of which
+            #   is the time zone
+            #
+            #   the name of a timezone with underscores replaced by
+            #   spaces and nothing after the timezone
+            #
+            # For some reason, RHEL6 desktop version stores timezones as
+            #   America/New York
+            # instead of
+            #   America/New_York
+            # which is why we have to handle the space/underscore
+            # substitution.
+
+            if ($line =~ /^\s*(?:TZ|TIMEZONE|ZONE)\s*=\s*(.*)\s*$/) {
+               my $val  = $1;
+               @z       = ();
+               last  if (! $val);
+
+               if ($val =~ /^(["'])(.*?)\1/) {
+                  my $z = $2;
+                  last  if (! $z);
+                  $z    =~ s/\s+/_/g;
+                  push(@zone,$z);
+
+               } elsif ($val =~ /\s/) {
+                  $val  =~ /^(\S+)/;
+                  push(@zone,$1);
+                  $val  =~ s/\s+/_/g;
+                  push(@zone,$val);
+
+               } else {
+                  push(@zone,$val);
+               }
+
+               last;
+            }
+         }
+         close(IN);
+
+         push(@zone,@z)  if (@z);
+
+         if ($debug) {
+            if (@zone) {
+               print "@zone\n";
+            } else {
+               print "no result\n";
+            }
+         }
+
+      } elsif ($method eq 'tzdata') {
+         if (@methods < 2) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] tzdata requires two arguments\n";
+            return;
+         }
+         my $file    = shift(@methods);
+         my $dir     = shift(@methods);
+
+         my $z;
+         if (-f $file  &&  -d $dir) {
+            $z = _get_zoneinfo_zone($file,$dir);
+         }
+ 	 if (defined($z)) {
+ 	    push @zone, $z;
+ 	    print "] $z\n"  if ($debug);
+ 	 } elsif ($debug) {
+ 	    print "] no result\n";
+ 	 }
+
+      } elsif ($method eq 'command') {
+         if (! @methods) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] command requires argument\n";
+            return;
+         }
+         my $command = shift(@methods);
+         print "$command] "  if ($debug);
+         my ($out)   = _cmd($command);
+         push(@zone,$out)  if ($out);
+
+         if ($debug) {
+            if ($out) {
+               print "$out\n";
+            } else {
+               print "no output\n";
+            }
+         }
+
+      } elsif ($method eq 'cmdfield') {
+         if ($#methods < 1) {
+            print "]\n"  if ($debug);
+            warn "ERROR: [_set_curr_zone] cmdfield requires 2 arguments\n";
+            return;
+         }
+         my $command = shift(@methods);
+         my $n       = shift(@methods);
+         print "$command,$n]\n"  if ($debug);
+         my ($out)   = _cmd($command);
+         my $val;
+
+         if ($out) {
+            $out    =~ s/^\s*//;
+            $out    =~ s/\s*$//;
+            my @out = split(/\s+/,$out);
+            $val    = $out[$n]  if (defined $out[$n]);
+            push(@zone,$val);
+         }
+
+         if ($debug) {
+            if ($val) {
+               print "$val\n";
+            } else {
+               print "no result\n";
+            }
+         }
+
+      } elsif ($method eq 'gmtoff') {
+         print "] "  if ($debug);
+         my($secUT,$minUT,$hourUT,$mdayUT,$monUT,$yearUT,$wdayUT,$ydayUT,
+            $isdstUT) = gmtime($t);
+         if ($mdayUT>($mday+1)) {
+            # UT = 28-31   LT = 1
+            $mdayUT=0;
+         } elsif ($mdayUT<($mday-1)) {
+            # UT = 1       LT = 28-31
+            $mday=0;
+         }
+         $sec    = (($mday*24   + $hour)*60   + $min)*60 + $sec;
+         $secUT  = (($mdayUT*24 + $hourUT)*60 + $minUT)*60 + $secUT;
+         my $off = $sec-$secUT;
+
+         $off    = $dmb->_delta_convert('time',"0:0:$off");
+         $off    = $dmb->_delta_convert('offset',$off);
+         push(@zone,$off);
+         print "$off\n"  if ($debug);
+
+      } elsif ($method eq 'registry') {
+         print "] "  if ($debug);
+         my $z = $self->_windows_registry_val();
+         if ($z) {
+            push(@zone,$z);
+            print "$z\n"  if ($debug);
+         } else {
+            print "no result\n"  if ($debug);
+         }
+
+      } else {
+         print "]\n"  if ($debug);
+         warn "ERROR: [_set_curr_zone] invalid method: $method\n";
+         return;
+      }
+
+      while (@zone) {
+         my $zone = lc(shift(@zone));
+
+         # OpenUNIX puts a colon at the start
+         $zone =~ s/^://;
+
+         # If we got a zone name/alias
+         $currzone = $self->_zone($zone);
+         last METHOD  if ($currzone);
+
+         # If we got an abbreviation (EST)
+         if (exists $$self{'data'}{'Abbrev'}{$zone}) {
+            $currzone = $$self{'data'}{'Abbrev'}{$zone}[0];
+            last METHOD;
+         }
+
+         # If we got an offset
+
+         $currzone = $self->__zone([],'',$zone,'',$dstflag);
+         last METHOD  if ($currzone);
+      }
+   }
+
+   if (! $currzone) {
+      warn "ERROR: Date::Manip unable to determine Time Zone.\n";
+      die;
+   }
+
+   return $currzone;
+}
+
+#######################
+# The following section comes from the DateTime-TimeZone module
+
+{
+   my $want_content;
+   my $want_size;
+   my $zoneinfo;
+
+   sub _get_zoneinfo_zone {
+      my($localtime,$z) = @_;
+      $zoneinfo = $z;
+
+      # /etc/localtime should be either a link to a tzdata file in
+      # /usr/share/zoneinfo or a copy of one of the files there.
+
+      return ''  if (! -d $zoneinfo || ! -f $localtime);
+
+      require Cwd;
+      if (-l $localtime) {
+         return _zoneinfo_file_name_to_zone(
+                                            Cwd::abs_path($localtime),
+                                            $zoneinfo,
+                                           );
+      }
+
+      $want_content = _zoneinfo_file_slurp($localtime);
+      $want_size    = -s $localtime;
+
+      # File::Find can't bail in the middle of a find, and we only want the
+      # first match, so we'll call it in an eval.
+
+      local $@ = undef;
+      eval {
+         require File::Find;
+         File::Find::find
+             ({
+               wanted      => \&_zoneinfo_find_file,
+               no_chdir    => 1,
+              },
+              $zoneinfo,
+           );
+           1;
+      } and return;
+      ref $@
+        and return $@->{zone};
+      die $@;
+   }
+
+   sub _zoneinfo_find_file {
+      my $zone;
+      defined($zone = _zoneinfo_file_name_to_zone($File::Find::name,
+                                                  $zoneinfo))
+        and -f $_
+        and $want_size == -s _
+        and ($want_content eq _zoneinfo_file_slurp($File::Find::name))
+        and die { zone => $zone };
+   }
+}
+
+sub _zoneinfo_file_name_to_zone {
+   my($file,$zoneinfo) = @_;
+   require File::Spec;
+   my $zone = File::Spec->abs2rel($file,$zoneinfo);
+   return $zone  if (exists $Date::Manip::Zones::ZoneNames{lc($zone)});
+   return;
+}
+
+sub _zoneinfo_file_slurp {
+   my($file) = @_;
+   open my $fh, '<', $file
+     or return;
+   binmode $fh;
+   local $/ = undef;
+   return <$fh>;
+}
+
+sub _windows_registry_val {
+   my($self) = @_;
+
+   require Win32::TieRegistry;
+
+   my $lmachine = new Win32::TieRegistry 'LMachine',
+                      { Access => Win32::TieRegistry::KEY_READ(),
+                        Delimiter => '/' }
+      or return '';
+
+   my $tzinfo = $lmachine->Open('SYSTEM/CurrentControlSet/Control/TimeZoneInformation/');
+
+   #
+   # Windows Vista, Windows 2008 Server
+   #
+
+   my $tzkn = $tzinfo->GetValue('TimeZoneKeyName');
+   if (defined($tzkn)  &&  $tzkn) {
+      # For some reason, Vista is tacking on a bunch of stuff at the
+      # end of the timezone, starting with a chr(0). Strip it off.
+
+      my $c = chr(0);
+      my $i = index($tzkn,$c);
+      if ($i != -1) {
+         $tzkn = substr($tzkn,0,$i);
+      }
+      my $z = $self->_zone($tzkn);
+      return $z  if ($z);
+   }
+
+   #
+   # Windows NT, Windows 2000, Windows XP, Windows 2003 Server
+   #
+
+   my $stdnam = $tzinfo->GetValue('StandardName');
+   my $z = $self->_zone($stdnam);
+   return $z  if ($z);
+
+   #
+   # For non-English versions, we have to determine which timezone it
+   # actually is.
+   #
+
+   my $atz = $lmachine->Open('SOFTWARE/Microsoft/Windows NT/CurrentVersion/Time Zones/');
+   if (! defined($atz)  ||  ! $atz) {
+      $atz = $lmachine->Open('SOFTWARE/Microsoft/Windows/CurrentVersion/Time Zones/');
+   }
+
+   return ""  if (! defined($atz)  ||  ! $atz);
+
+   foreach my $z ($atz->SubKeyNames()) {
+      my $tmp  = $atz->Open("$z/");
+      my $znam = $tmp->GetValue('Std');
+      return $z  if ($znam eq $stdnam);
+   }
+}
+
+# End of DateTime-TimeZone section
+#######################
+
+# We will be testing commands that don't exist on all architectures,
+# so disable warnings.
+#
+no warnings;
+sub _cmd {
+   my($cmd) = @_;
+   local(*IN);
+   open(IN,"$cmd |")  ||  return ();
+   my @out  = ;
+   close(IN);
+   chomp(@out);
+   return @out;
+}
+use warnings;
+
+########################################################################
+# DETERMINING A TIMEZONE
+########################################################################
+
+sub zone {
+   my($self,@args) = @_;
+   my $dmb         = $$self{'base'};
+   if (! @args) {
+      my($tz) = $self->_now('tz',1);
+      return $$self{'data'}{'ZoneNames'}{$tz}
+   }
+
+   # Parse the arguments
+
+   my($zone,$abbrev,$offset,$dstflag) = ('','','','');
+   my $date = [];
+   my $tmp;
+   foreach my $arg (@args) {
+
+      if (ref($arg) eq 'ARRAY') {
+         if ($#$arg == 5) {
+            # [Y,M,D,H,Mn,S]
+            return undef  if (@$date);
+            $date = $arg;
+
+         } elsif ($#$arg == 2) {
+            # [H,Mn,S]
+            return undef  if ($offset);
+            $offset = $dmb->join('offset',$arg);
+            return undef  if (! $offset);
+
+         } else {
+            return undef;
+         }
+
+      } elsif (ref($arg)) {
+         return undef;
+
+      } else {
+         $arg = lc($arg);
+
+         if ($arg =~ /^(std|dst|stdonly|dstonly)$/) {
+            return undef  if ($dstflag);
+            $dstflag = $arg;
+
+         } elsif ($tmp = $self->_zone($arg)) {
+            return undef  if ($zone);
+            $zone = $tmp;
+
+         } elsif (exists $$self{'data'}{'MyAbbrev'}{$arg}  ||
+                  exists $$self{'data'}{'Abbrev'}{$arg}) {
+            return undef  if ($abbrev);
+            $abbrev       = $arg;
+         } elsif (exists $$self{'data'}{'Abbrev'}{$arg}) {
+            return undef  if ($abbrev);
+            $abbrev       = $arg;
+
+         } elsif ($tmp = $dmb->split('offset',$arg)) {
+            return undef  if ($offset);
+            $offset = $dmb->_delta_convert('offset',$arg);
+
+         } elsif ($tmp = $dmb->split('date',$arg)) {
+            return undef  if ($date);
+            $date = $tmp;
+
+         } else {
+            return undef;
+         }
+      }
+   }
+
+   return $self->__zone($date,$offset,$zone,$abbrev,$dstflag);
+}
+
+# $date   = [Y,M,D,H,Mn,S]
+# $offset = '-HH:Mn:SS'
+# $zone   = 'us/eastern'   (lowercase)
+# $abbrev = 'est'          (lowercase)
+# $dstflag= 'stdonly'      (lowercase)
+#
+sub __zone {
+   my($self,$date,$offset,$zone,$abbrev,$dstflag) = @_;
+   my $dmb          = $$self{'base'};
+
+   #
+   # Determine the zones that match all data.
+   #
+
+   my @zone;
+
+   while (1) {
+
+      # No information
+
+      if (! $zone  &&
+          ! $abbrev  &&
+          ! $offset) {
+         my($z) = $self->_now('tz',1);
+         @zone = (lc($z));
+      }
+
+      # $dstflag
+      #
+      # $dstflag is "dst' if
+      #    zone is passed in as an offset
+      #    date is passed in
+
+      $dstflag = "dst"  if ($offset  &&  @$date  &&  ! $dstflag);
+
+      my(@isdst);
+      if      ($dstflag eq 'stdonly') {
+         @isdst = (0);
+      } elsif ($dstflag eq 'dstonly') {
+         @isdst = (1);
+      } elsif ($dstflag eq 'dst') {
+         @isdst = (1,0);
+      } else {
+         @isdst = (0,1);
+      }
+
+      # We may pass in $zone and not $abbrev when it really should be
+      # $abbrev.
+
+      if ($zone  &&  ! $abbrev) {
+         if (exists $$self{'data'}{'Alias'}{$zone}) {
+            # no change
+         } elsif (exists $$self{'data'}{'MyAbbrev'}{$zone}  ||
+                  exists $$self{'data'}{'Abbrev'}{$zone}) {
+            $abbrev = $zone;
+            $zone   = '';
+         }
+      }
+
+      # $zone
+
+      if ($zone) {
+         my $z = (exists $$self{'data'}{'Alias'}{$zone} ?
+                  $$self{'data'}{'Alias'}{$zone} : $zone);
+         @zone = ($z);
+      }
+
+      # $abbrev
+
+      if ($abbrev) {
+         my @abbrev_zones;
+         if (exists $$self{'data'}{'MyAbbrev'}{$abbrev}) {
+            @abbrev_zones = @{ $$self{'data'}{'MyAbbrev'}{$abbrev} };
+         } elsif (exists $$self{'data'}{'Abbrev'}{$abbrev}) {
+            @abbrev_zones = @{ $$self{'data'}{'Abbrev'}{$abbrev} };
+         }
+
+         my @z;
+         foreach my $isdst (@isdst) {
+            my @tmp = $self->_check_abbrev_isdst($abbrev,$isdst,@abbrev_zones);
+            if (@tmp) {
+               if (@z) {
+                  @z = _list_add(\@z,\@tmp);
+               } else {
+                  @z = @tmp;
+               }
+            }
+         }
+
+         if (@zone) {
+            @zone = _list_union(\@z,\@zone);
+         } else {
+            @zone = @z;
+         }
+         last  if (! @zone);
+      }
+
+      # $offset
+
+      if ($offset) {
+         return undef  if (! exists $$self{'data'}{'Offmod'}{$offset});
+         $self->_offmod($offset);
+
+         my @z;
+         foreach my $isdst (@isdst) {
+            my $tmp = $$self{'data'}{'MyOffsets'}{$offset}{$isdst} ||
+                      $$self{'data'}{'Offsets'}{$offset}{$isdst};
+
+            my @tmp;
+            if ($abbrev) {
+               @tmp = $self->_check_offset_abbrev_isdst($offset,$abbrev,$isdst,$tmp);
+            } else {
+               @tmp = @$tmp  if ($tmp);
+            }
+
+            if (@tmp) {
+               if (@z) {
+                  @z = _list_add(\@z,\@tmp);
+               } else {
+                  @z = @tmp;
+               }
+            }
+         }
+
+         if (@zone) {
+            @zone = _list_union(\@zone,\@z);
+         } else {
+            @zone = @z;
+         }
+         last  if (! @zone);
+      }
+
+      # $date
+
+      if (@$date) {
+         # Get all periods for the year.
+         #
+         # Test all periods to make sure that $date is between the
+         # wallclock times AND matches other criteria. All periods
+         # must be tested since the same wallclock time can be in
+         # multiple periods.
+
+         my @tmp;
+         my $isdst = '';
+         $isdst    = 0  if ($dstflag eq 'stdonly');
+         $isdst    = 1  if ($dstflag eq 'dstonly');
+
+         ZONE:
+         foreach my $z (@zone) {
+            $self->_module($z)  if (! exists $$self{'data'}{'Zones'}{$z}{'Loaded'});
+            my $y       = $$date[0];
+            my @periods = $self->_all_periods($z,$y);
+
+            foreach my $period (@periods) {
+               next  if (($abbrev ne ''  &&  lc($abbrev) ne lc($$period[4]))  ||
+                         ($offset ne ''  &&  $offset ne $$period[2])  ||
+                         ($isdst  ne ''  &&  $isdst  ne $$period[5])  ||
+                         $dmb->cmp($date,$$period[1]) == -1  ||
+                         $dmb->cmp($date,$$period[7]) == 1
+                        );
+               push(@tmp,$z);
+               next ZONE;
+            }
+         }
+         @zone = @tmp;
+         last  if (! @zone);
+      }
+
+      last;
+   }
+
+   # Return the value/list
+
+   if (wantarray) {
+      my @ret;
+      foreach my $z (@zone) {
+         push(@ret,$$self{'data'}{'ZoneNames'}{$z});
+      }
+      return @ret;
+   }
+
+   return '' if (! @zone);
+   return $$self{'data'}{'ZoneNames'}{$zone[0]}
+}
+
+# This returns a list of all timezones which have the correct
+# abbrev/isdst combination.
+#
+sub _check_abbrev_isdst {
+   my($self,$abbrev,$isdst,@zones) = @_;
+
+   my @ret;
+   ZONE:
+   foreach my $zone (@zones) {
+      $self->_module($zone)  if (! exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+      foreach my $y (sort keys %{ $$self{'data'}{'Zones'}{$zone}{'Dates'} }) {
+         my @periods = @{ $$self{'data'}{'Zones'}{$zone}{'Dates'}{$y} };
+         foreach my $period (@periods) {
+            my($dateUT,$dateLT,$off,$offref,$abb,$dst,$endUT,$endLT) = @$period;
+            next  if (lc($abbrev)  ne lc($abb)  ||
+                      $isdst != $dst);
+            push(@ret,$zone);
+            next ZONE;
+         }
+      }
+   }
+
+   return @ret;
+}
+
+# This returns a list of all timezones which have the correct
+# abbrev/isdst combination.
+#
+sub _check_offset_abbrev_isdst {
+   my($self,$offset,$abbrev,$isdst,$zones) = @_;
+
+   my @ret;
+ ZONE: foreach my $zone (@$zones) {
+      $self->_module($zone)  if (! exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+      foreach my $y (sort keys %{ $$self{'data'}{'Zones'}{$zone}{'Dates'} }) {
+         my @periods = @{ $$self{'data'}{'Zones'}{$zone}{'Dates'}{$y} };
+         foreach my $period (@periods) {
+            my($dateUT,$dateLT,$off,$offref,$abb,$dst,$endUT,$endLT) = @$period;
+            next  if (lc($abbrev)  ne lc($abb)  ||
+                      $offset ne $off  ||
+                      $isdst != $dst);
+            push(@ret,$zone);
+            next ZONE;
+         }
+      }
+   }
+
+   return @ret;
+}
+
+# This finds the elements common to two lists, and preserves the order
+# from the first list.
+#
+sub _list_union {
+   my($list1,$list2) = @_;
+   my(%list2) = map { $_,1 } @$list2;
+   my(@ret);
+   foreach my $ele (@$list1) {
+      push(@ret,$ele)  if (exists $list2{$ele});
+   }
+   return @ret;
+}
+
+# This adds elements from the second list to the first list, provided
+# they are not already there.
+#
+sub _list_add {
+   my($list1,$list2) = @_;
+   my(%list1) = map { $_,1 } @$list1;
+   my(@ret) = @$list1;
+   foreach my $ele (@$list2) {
+      next  if (exists $list1{$ele});
+      push(@ret,$ele);
+      $list1{$ele} = 1;
+   }
+   return @ret;
+}
+
+########################################################################
+# PERIODS METHODS
+########################################################################
+
+sub all_periods {
+   my($self,$zone,$year) = @_;
+
+   my $z = $self->_zone($zone);
+   if (! $z) {
+      warn "ERROR: [periods] Invalid zone: $zone\n";
+      return;
+   }
+   $zone = $z;
+   $self->_module($zone)  if (! exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+   # Run a faster 'dclone' so we don't return the actual data.
+
+   my @tmp = $self->_all_periods($zone,$year);
+   my @ret;
+   foreach my $ele (@tmp) {
+      push(@ret,
+           [ [ @{$$ele[0]} ],[ @{$$ele[1]} ],$$ele[2],[ @{$$ele[3]} ],$$ele[4],
+             $$ele[5], [ @{$$ele[6]} ],[ @{$$ele[7]} ],$$ele[8],$$ele[9],
+             $$ele[10],$$ele[11] ]);
+   }
+   return @ret;
+}
+
+sub _all_periods {
+   my($self,$zone,$year) = @_;
+   $year += 0;
+
+   if (! exists $$self{'data'}{'Zones'}{$zone}{'AllDates'}{$year}) {
+
+      #
+      # $ym1 is the year prior to $year which contains a rule (which will
+      # end in $year or later). $y is $year IF the zone contains rules
+      # for this year.
+      #
+
+      my($ym1,$ym0);
+      if ($year > $$self{'data'}{'LastYear'}  &&
+          exists $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'zone'}) {
+         $ym1 = $year-1;
+         $ym0 = $year;
+
+      } else {
+         foreach my $y (sort { $a <=> $b }
+                        keys %{ $$self{'data'}{'Zones'}{$zone}{'Dates'} }) {
+            if ($y < $year) {
+               $ym1 = $y;
+               next;
+            }
+            $ym0 = $year  if ($year == $y);
+            last;
+         }
+      }
+      $ym1 = 0  if (! $ym1);
+
+      #
+      # Get the periods from the prior year.  The last one is used (any others
+      # are discarded).
+      #
+
+      my(@periods);
+
+      # $ym1 will be 0 in 0001
+      if ($ym1) {
+         my @tmp = $self->_periods($zone,$ym1);
+         push(@periods,pop(@tmp))  if (@tmp);
+      }
+
+      #
+      # Add on any periods from the current year.
+      #
+
+      if ($ym0) {
+         push(@periods,$self->_periods($zone,$year));
+      }
+
+      $$self{'data'}{'Zones'}{$zone}{'AllDates'}{$year} = [ @periods ];
+   }
+
+   return @{ $$self{'data'}{'Zones'}{$zone}{'AllDates'}{$year} };
+}
+
+sub periods {
+   my($self,$zone,$year,$year1) = @_;
+
+   my $z = $self->_zone($zone);
+   if (! $z) {
+      warn "ERROR: [periods] Invalid zone: $zone\n";
+      return;
+   }
+   $zone = $z;
+   $self->_module($zone)  if (! exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+   if (! defined($year1)) {
+      return $self->_periods($zone,$year);
+   }
+
+   $year = 1  if (! defined($year));
+
+   my @ret;
+   my $lastyear = $$self{'data'}{'LastYear'};
+
+   if ($year <= $lastyear) {
+      foreach my $y (sort { $a <=> $b }
+                     keys %{ $$self{'data'}{'Zones'}{$zone}{'Dates'} }) {
+         last  if ($y > $year1  ||  $y > $lastyear);
+         next  if ($y < $year);
+         push(@ret,$self->_periods($zone,$y));
+      }
+   }
+
+   if ($year1 > $lastyear) {
+      $year = $lastyear + 1  if ($year <= $lastyear);
+      foreach my $y ($year..$year1) {
+         push(@ret,$self->_periods($zone,$y));
+      }
+   }
+
+   return @ret;
+}
+
+sub _periods {
+   my($self,$zone,$year) = @_;
+   $year += 0;
+
+   if (! exists $$self{'data'}{'Zones'}{$zone}{'Dates'}{$year}) {
+
+      my @periods = ();
+      if ($year > $$self{'data'}{'LastYear'}) {
+         # Calculate periods using the LastRule method
+         @periods = $self->_lastrule($zone,$year);
+      }
+
+      $$self{'data'}{'Zones'}{$zone}{'Dates'}{$year} = [ @periods ];
+   }
+
+   # A faster 'dclone' so we don't return the actual data
+   my @ret;
+   foreach my $ele (@{ $$self{'data'}{'Zones'}{$zone}{'Dates'}{$year} }) {
+      push(@ret,
+           [ [ @{$$ele[0]} ],[ @{$$ele[1]} ],$$ele[2],[ @{$$ele[3]} ],$$ele[4],$$ele[5],
+             [ @{$$ele[6]} ],[ @{$$ele[7]} ],$$ele[8],$$ele[9],$$ele[10],$$ele[11] ]);
+   }
+   return @ret;
+}
+
+sub date_period {
+   my($self,$date,$zone,$wallclock,$isdst) = @_;
+   $wallclock = 0  if (! $wallclock);
+   $isdst     = 0  if (! $isdst);
+
+   my $z = $self->_zone($zone);
+   if (! $z) {
+      warn "ERROR: [date_period] Invalid zone: $zone\n";
+      return;
+   }
+   $zone = $z;
+   $self->_module($zone)  if (! exists $$self{'data'}{'Zones'}{$zone}{'Loaded'});
+
+   my $dmb  = $$self{'base'};
+   my @date = @$date;
+   my $year = $date[0];
+   my $dates= $dmb->_date_fields(@$date);
+
+   if ($wallclock) {
+      # A wallclock date
+
+      my @period = $self->_all_periods($zone,$year);
+      my $beg    = $period[0]->[9];
+      my $end    = $period[-1]->[11];
+      if      (($dates cmp $beg) == -1) {
+         @period = $self->_all_periods($zone,$year-1);
+      } elsif (($dates cmp $end) == 1) {
+         @period = $self->_all_periods($zone,$year+1);
+      }
+
+      my(@per);
+      foreach my $period (@period) {
+         my($begUT,$begLT,$offsetstr,$offset,$abbrev,$dst,$endUT,$endLT,
+            $begUTs,$begLTs,$endUTs,$endLTs) = @$period;
+         if (($dates cmp $begLTs) != -1  &&  ($dates cmp $endLTs) != 1) {
+            push(@per,$period);
+         }
+      }
+
+      if ($#per == -1) {
+         return ();
+      } elsif ($#per == 0) {
+         return $per[0];
+      } elsif ($#per == 1) {
+         if ($per[0][5] == $isdst) {
+            return $per[0];
+         } else {
+            return $per[1];
+         }
+      } else {
+         warn "ERROR: [date_period] Impossible error\n";
+         return;
+      }
+
+   } else {
+      # A GMT date
+
+      my @period = $self->_all_periods($zone,$year);
+      foreach my $period (@period) {
+         my($begUT,$begLT,$offsetstr,$offset,$abbrev,$isdst,$endUT,$endLT,
+            $begUTs,$begLTs,$endUTs,$endLTs) = @$period;
+         if (($dates cmp $begUTs) != -1  &&  ($dates cmp $endUTs) != 1) {
+            return $period;
+         }
+      }
+      warn "ERROR: [date_period] Impossible error\n";
+      return;
+   }
+}
+
+# Calculate critical dates from the last rule. If $endonly is passed
+# in, it only calculates the ending of the zone period before the
+# start of the first one. This is necessary so that the last period in
+# one year can find out when it ends (which is determined in the
+# following year).
+#
+# Returns:
+#   [begUT, begLT, offsetstr, offset, abb, ISDST, endUT, endLT,
+#    begUTstr, begLTstr, endUTstr, endLTstr]
+# for each.
+#
+sub _lastrule {
+   my($self,$zone,$year,$endonly) = @_;
+
+   #
+   # Get the list of rules (actually, the month in which the
+   # rule triggers a time change). If there are none, then
+   # this zone doesn't have a LAST RULE.
+   #
+
+   my @mon = (sort keys
+              %{ $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'} });
+   return ()  if (! @mon);
+
+   #
+   # Analyze each time change.
+   #
+
+   my @dates = ();
+   my $dmb   = $$self{'base'};
+
+   my $stdoff = $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'zone'}{'stdoff'};
+   my $dstoff = $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'zone'}{'dstoff'};
+
+   my (@period);
+
+   foreach my $mon (@mon) {
+      my $flag =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'flag'};
+      my $dow  =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'dow'};
+      my $num  =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'num'};
+      my $isdst=
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'isdst'};
+      my $time =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'time'};
+      my $type =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'type'};
+      my $abb  =
+        $$self{'data'}{'Zones'}{$zone}{'LastRule'}{'rules'}{$mon}{'abb'};
+
+      # The end of the current period and the beginning of the next
+      my($endUT,$endLT,$begUT,$begLT) =
+        $dmb->_critical_date($year,$mon,$flag,$num,$dow,
+                             $isdst,$time,$type,$stdoff,$dstoff);
+      return ($endUT,$endLT)  if ($endonly);
+
+      if (@period) {
+         push(@period,$endUT,$endLT);
+         push(@dates,[@period]);
+      }
+      my $offsetstr = ($isdst ? $dstoff : $stdoff);
+      my $offset    = $dmb->split('offset',$offsetstr);
+
+      @period = ($begUT,$begLT,$offsetstr,$offset,$abb,$isdst);
+   }
+
+   push(@period,$self->_lastrule($zone,$year+1,1));
+   push(@dates,[@period]);
+
+   foreach my $period (@dates) {
+      my($begUT,$begLT,$offsetstr,$offset,$abbrev,$dst,$endUT,$endLT) = @$period;
+      my $begUTstr = $dmb->join("date",$begUT);
+      my $begLTstr = $dmb->join("date",$begLT);
+      my $endUTstr = $dmb->join("date",$endUT);
+      my $endLTstr = $dmb->join("date",$endLT);
+      $period = [$begUT,$begLT,$offsetstr,$offset,$abbrev,$dst,$endUT,$endLT,
+                 $begUTstr,$begLTstr,$endUTstr,$endLTstr];
+   }
+
+   return @dates;
+}
+
+########################################################################
+# CONVERSION
+########################################################################
+
+sub convert {
+   my($self,$date,$from,$to,$isdst) = @_;
+   $self->_convert('convert',$date,$from,$to,$isdst);
+}
+
+sub convert_to_gmt {
+   my($self,$date,@arg) = @_;
+   my($err,$from,$isdst) = _convert_args('convert_to_gmt',@arg);
+   return (1) if ($err);
+
+   my $dmb = $$self{'base'};
+
+   if (! $from) {
+      $from = $self->_now('tz',1);
+   }
+   $self->_convert('convert_to_gmt',$date,$from,'GMT',$isdst);
+}
+
+sub convert_from_gmt {
+   my($self,$date,@arg) = @_;
+   my($err,$to,$isdst) = _convert_args('convert_from_gmt',@arg);
+   return (1) if ($err);
+
+   my $dmb = $$self{'base'};
+
+   if (! $to) {
+      $to = $self->_now('tz',1);
+   }
+   $self->_convert('convert_from_gmt',$date,'GMT',$to,$isdst);
+}
+
+sub convert_to_local {
+   my($self,$date,@arg) = @_;
+   my($err,$from,$isdst) = _convert_args('convert_to_local',@arg);
+   return (1) if ($err);
+
+   my $dmb = $$self{'base'};
+
+   if (! $from) {
+      $from = 'GMT';
+   }
+   $self->_convert('convert_to_local',$date,$from,$self->_now('tz',1),$isdst);
+}
+
+sub convert_from_local {
+   my($self,$date,@arg) = @_;
+   my($err,$to,$isdst) = _convert_args('convert_from_local',@arg);
+   return (1) if ($err);
+
+   my $dmb = $$self{'base'};
+
+   if (! $to) {
+      $to = 'GMT';
+   }
+   $self->_convert('convert_from_local',$date,$self->_now('tz',1),$to,$isdst);
+}
+
+sub _convert_args {
+   my($caller,@args) = @_;
+
+   if ($#args == -1) {
+      return (0,'',0);
+   } elsif ($#args == 0) {
+      if ($args[0] eq '0'  ||
+          $args[0] eq '1') {
+         return (0,'',$args[0]);
+      } else {
+         return (0,$args[0],0);
+      }
+   } elsif ($#args == 1) {
+      return (0,@args);
+   } else {
+      return (1,'',0);
+   }
+}
+
+sub _convert {
+   my($self,$caller,$date,$from,$to,$isdst) = @_;
+   my $dmb = $$self{'base'};
+
+   # Handle $date as a reference and a string
+   my (@date);
+   if (ref($date)) {
+      @date = @$date;
+   } else {
+      @date = @{ $dmb->split('date',$date) };
+      $date = [@date];
+   }
+
+   if ($from ne $to) {
+      my $tmp = $self->_zone($from);
+      if (! $tmp) {
+         return (2);
+      }
+      $from = $tmp;
+
+      $tmp = $self->_zone($to);
+      if (! $tmp) {
+         return (3);
+      }
+      $to = $tmp;
+   }
+
+   if ($from eq $to) {
+      my $per = $self->date_period($date,$from,1,$isdst);
+      my $offset = $$per[3];
+      my $abb    = $$per[4];
+      return (0,$date,$offset,$isdst,$abb);
+   }
+
+   # Convert $date from $from to GMT
+
+   if ($from ne "Etc/GMT") {
+      my $per = $self->date_period($date,$from,1,$isdst);
+      if (! $per) {
+         return (4);
+      }
+      my $offset = $$per[3];
+      @date = @{ $dmb->calc_date_time(\@date,$offset,1) };
+   }
+
+   # Convert $date from GMT to $to
+
+   $isdst     = 0;
+   my $offset = [0,0,0];
+   my $abb    = 'GMT';
+
+   if ($to ne "Etc/GMT") {
+      my $per    = $self->date_period([@date],$to,0);
+      $offset    = $$per[3];
+      $isdst     = $$per[5];
+      $abb       = $$per[4];
+      @date      = @{ $dmb->calc_date_time(\@date,$offset) };
+   }
+
+   return (0,[@date],$offset,$isdst,$abb);
+}
+
+########################################################################
+# REGULAR EXPRESSIONS FOR TIMEZONE INFORMATION
+########################################################################
+
+# Returns regular expressions capable of matching timezones.
+#
+# The timezone regular expressions are:
+#   namerx   : this will match a zone name or alias (America/New_York)
+#   abbrx    : this will match a zone abbreviation (EDT)
+#   zonerx   : this will match a zone name or an abbreviation
+#   offrx    : this will match a pure offset (+0400)
+#   offabbrx : this will match an offset with an abbreviation (+0400 WET)
+#   offparrx : this will match an offset and abbreviation if parentheses
+#              ("+0400 (WET)")
+#   zrx      : this will match all forms
+#
+# The regular expression will have the following named matches:
+#   tzstring : the full string matched
+#   zone     : the name/alias
+#   abb      : the zone abbrevation
+#   off      : the offset
+#
+sub _zrx {
+   my($self,$re) = @_;
+   return $$self{'data'}{$re}  if (defined $$self{'data'}{$re});
+
+   # Zone name
+
+   my @zone;
+   if (exists $ENV{'DATE_MANIP_DEBUG_ZONES'}) {
+      @zone  = split(/\s+/,$ENV{'DATE_MANIP_DEBUG_ZONES'});
+   } else {
+      @zone  = (keys %{ $$self{'data'}{'Alias'} },
+                keys %{ $$self{'data'}{'MyAlias'} });
+   }
+   @zone     = sort _sortByLength(@zone);
+   foreach my $zone (@zone) {
+      $zone  =~ s/\057/\\057/g;   # /
+      $zone  =~ s/\055/\\055/g;   # -
+      $zone  =~ s/\056/\\056/g;   # .
+      $zone  =~ s/\050/\\050/g;   # (
+      $zone  =~ s/\051/\\051/g;   # )
+      $zone  =~ s/\053/\\053/g;   # +
+   }
+
+   my $zone  = join('|',@zone);
+   $zone     = qr/(?$zone)/i;
+
+   # Abbreviation
+
+   my @abb;
+   if (exists $ENV{'DATE_MANIP_DEBUG_ABBREVS'}) {
+      @abb  = split(/\s+/,$ENV{'DATE_MANIP_DEBUG_ABBREVS'});
+   } else {
+      @abb  = (keys %{ $$self{'data'}{'Abbrev'} },
+               keys %{ $$self{'data'}{'MyAbbrev'} });
+   }
+   @abb     = sort _sortByLength(@abb);
+   foreach my $abb (@abb) {
+      $abb  =~ s/\055/\\055/g;   # -
+      $abb  =~ s/\053/\\053/g;   # +
+   }
+
+   my $abb  = join('|',@abb);
+   $abb     = qr/(?$abb)/i;
+
+   # Offset (+HH, +HHMM, +HH:MM, +HH:MM:SS, +HHMMSS)
+
+   my($hr)  = qr/(?:[0-1][0-9]|2[0-3])/;  # 00 - 23
+   my($mn)  = qr/(?:[0-5][0-9])/;         # 00 - 59
+   my($ss)  = qr/(?:[0-5][0-9])/;         # 00 - 59
+
+   my($off) = qr/ (? [+-] (?: $hr:$mn:$ss |
+                                   $hr$mn$ss   |
+                                   $hr:?$mn    |
+                                   $hr
+                               )
+                  ) /ix;
+
+   # Assemble everything
+   #
+   # A timezone can be any of the following in this order:
+   #    Offset (ABB)
+   #    Offset ABB
+   #    ABB
+   #    Zone
+   #    Offset
+   # We put ABB before Zone so CET gets parse as the more common abbreviation
+   # than the less common zone name.
+
+   $$self{'data'}{'namerx'}   = qr/(?$zone)/;
+   $$self{'data'}{'abbrx'}    = qr/(?$abb)/;
+   $$self{'data'}{'zonerx'}   = qr/(?(?:$abb|$zone))/;
+   $$self{'data'}{'offrx'}    = qr/(?$off)/;
+   $$self{'data'}{'offabbrx'} = qr/(?$off\s+$abb)/;
+   $$self{'data'}{'offparrx'} = qr/(?$off\s*\($abb\))/;
+   $$self{'data'}{'zrx'}      = qr/(?(?:$off\s*\($abb\)|$off\s+$abb|$abb|$zone|$off))/;
+
+   return $$self{'data'}{$re};
+}
+
+# This sorts from longest to shortest element
+#
+no strict 'vars';
+sub _sortByLength {
+  return (length $b <=> length $a);
+}
+use strict 'vars';
+
+########################################################################
+# CONFIG VARS
+########################################################################
+
+# This sets a config variable. It also performs all side effects from
+# setting that variable.
+#
+sub _config_var_tz {
+   my($self,$var,$val) = @_;
+
+   if ($var eq 'tz') {
+      my $err = $self->_config_var_setdate("now,$val",0);
+      return  if ($err);
+      $$self{'data'}{'sections'}{'conf'}{'forcedate'} = 0;
+      $val = 1;
+
+   } elsif ($var eq 'setdate') {
+      my $err = $self->_config_var_setdate($val,0);
+      return  if ($err);
+      $$self{'data'}{'sections'}{'conf'}{'forcedate'} = 0;
+      $val = 1;
+
+   } elsif ($var eq 'forcedate') {
+      my $err = $self->_config_var_setdate($val,1);
+      return  if ($err);
+      $$self{'data'}{'sections'}{'conf'}{'setdate'} = 0;
+      $val = 1;
+
+   } elsif ($var eq 'configfile') {
+      $self->_config_file($val);
+      return;
+   }
+
+   my $base = $$self{'base'};
+   $$base{'data'}{'sections'}{'conf'}{$var} = $val;
+   return;
+}
+
+sub _config_var_setdate {
+   my($self,$val,$force) = @_;
+   my $base = $$self{'base'};
+
+   my $dstrx = qr/(?:,\s*(stdonly|dstonly|std|dst))?/i;
+   my $zonrx = qr/,\s*(.+)/;
+   my $da1rx = qr/(\d\d\d\d)(\d\d)(\d\d)(\d\d):(\d\d):(\d\d)/;
+   my $da2rx = qr/(\d\d\d\d)\-(\d\d)\-(\d\d)\-(\d\d):(\d\d):(\d\d)/;
+   my $time  = time;
+
+   my($op,$date,$dstflag,$zone,@date,$offset,$abb);
+
+   #
+   # Parse the argument
+   #
+
+   if ($val =~ /^now${dstrx}${zonrx}$/oi) {
+      # now,ZONE
+      # now,DSTFLAG,ZONE
+      #    Sets now to the system date/time but sets the timezone to be ZONE
+
+      $op = 'nowzone';
+      ($dstflag,$zone) = ($1,$2);
+
+   } elsif ($val =~ /^zone${dstrx}${zonrx}$/oi) {
+      # zone,ZONE
+      # zone,DSTFLAG,ZONE
+      #    Converts 'now' to the alternate zone
+
+      $op = 'zone';
+      ($dstflag,$zone) = ($1,$2);
+
+   } elsif ($val =~ /^${da1rx}${dstrx}${zonrx}$/o  ||
+            $val =~ /^${da2rx}${dstrx}${zonrx}$/o) {
+      # DATE,ZONE
+      # DATE,DSTFLAG,ZONE
+      #    Sets the date and zone
+
+      $op = 'datezone';
+      my($y,$m,$d,$h,$mn,$s);
+      ($y,$m,$d,$h,$mn,$s,$dstflag,$zone) = ($1,$2,$3,$4,$5,$6,$7,$8);
+      $date = [$y,$m,$d,$h,$mn,$s];
+
+   } elsif ($val =~ /^${da1rx}$/o  ||
+            $val =~ /^${da2rx}$/o) {
+      # DATE
+      #    Sets the date in the system timezone
+
+      $op = 'date';
+      my($y,$m,$d,$h,$mn,$s) = ($1,$2,$3,$4,$5,$6);
+      $date   = [$y,$m,$d,$h,$mn,$s];
+      $zone   = $self->_now('systz',1);
+
+   } elsif (lc($val) eq 'now') {
+      # now
+      #    Resets everything
+
+      my $systz = $$base{'data'}{'now'}{'systz'};
+      $base->_init_now();
+      $$base{'data'}{'now'}{'systz'} = $systz;
+      return 0;
+
+   } else {
+      warn "ERROR: [config_var] invalid SetDate/ForceDate value: $val\n";
+      return 1;
+   }
+
+   $dstflag = 'std'  if (! $dstflag);
+
+   #
+   # Get the date we're setting 'now' to
+   #
+
+   if ($op eq 'nowzone') {
+      # Use the system localtime
+
+      my($s,$mn,$h,$d,$m,$y) = localtime($time);
+      $y += 1900;
+      $m++;
+      $date = [$y,$m,$d,$h,$mn,$s];
+
+   } elsif ($op eq 'zone') {
+      # Use the system GMT time
+
+      my($s,$mn,$h,$d,$m,$y) = gmtime($time);
+      $y += 1900;
+      $m++;
+      $date = [$y,$m,$d,$h,$mn,$s];
+   }
+
+   #
+   # Find out what zone was passed in. It can be an alias or an offset.
+   #
+
+   if ($zone) {
+      my ($err,@args);
+      my $dmb = $$self{'base'};
+      $date = []  if (! defined $date);
+      $zone = $self->__zone($date,'',lc($zone),'',lc($dstflag));
+      if (! $zone) {
+         warn "ERROR: [config_var] invalid zone in SetDate: @args\n";
+         return 1;
+      }
+
+   } else {
+      $zone = $$base{'data'}{'now'}{'systz'};
+   }
+
+   #
+   # Handle the zone
+   #
+
+   my($isdst,@isdst);
+   if      ($dstflag eq 'std') {
+      @isdst = (0,1);
+   } elsif ($dstflag eq 'stdonly') {
+      @isdst = (0);
+   } elsif ($dstflag eq 'dst') {
+      @isdst = (1,0);
+   } else {
+      @isdst = (1);
+   }
+
+   if ($op eq 'nowzone'  ||
+       $op eq 'datezone' ||
+       $op eq 'date') {
+
+      # Check to make sure that the date can exist in this zone.
+      my $per;
+      foreach my $dst (@isdst) {
+         next  if ($per);
+         $per = $self->date_period($date,$zone,1,$dst);
+      }
+
+      if (! $per) {
+         warn "ERROR: [config_var] invalid date: SetDate: $date, $zone\n";
+         return 1;
+      }
+      $isdst  = $$per[5];
+      $abb    = $$per[4];
+      $offset = $$per[3];
+
+   } elsif ($op eq 'zone') {
+
+      # Convert to that zone
+      my($err);
+      ($err,$date,$offset,$isdst,$abb) = $self->convert_from_gmt($date,$zone);
+      if ($err) {
+         warn "ERROR: [config_var] invalid SetDate date/offset values: $date, $zone\n";
+         return 1;
+      }
+   }
+
+   #
+   # Set NOW
+   #
+
+   $$base{'data'}{'now'}{'date'}   = $date;
+   $$base{'data'}{'now'}{'tz'}     = $self->_zone($zone);
+   $$base{'data'}{'now'}{'isdst'}  = $isdst;
+   $$base{'data'}{'now'}{'abb'}    = $abb;
+   $$base{'data'}{'now'}{'offset'} = $offset;
+
+   #
+   # Treate SetDate/ForceDate
+   #
+
+   if ($force) {
+      $$base{'data'}{'now'}{'force'}   = 1;
+      $$base{'data'}{'now'}{'set'}     = 0;
+   } else {
+      $$base{'data'}{'now'}{'force'}   = 0;
+      $$base{'data'}{'now'}{'set'}     = 1;
+      $$base{'data'}{'now'}{'setsecs'} = $time;
+      my($err,$setdate)                = $self->convert_to_gmt($date,$zone);
+      $$base{'data'}{'now'}{'setdate'} = $setdate;
+   }
+
+   return 0;
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/TZ.pod b/lib/Date/Manip/TZ.pod
new file mode 100644
index 0000000..7e2de25
--- /dev/null
+++ b/lib/Date/Manip/TZ.pod
@@ -0,0 +1,872 @@
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::TZ - an interface to the time zone data
+
+=head1 SYNOPSIS
+
+   use Date::Manip::TZ;
+   $tz = new Date::Manip::TZ;
+
+Data for most (and hopefully all) time zones used around the world have
+been gathered and is publicly available in the zoneinfo (or Olson)
+database.
+
+This module uses the data from the zoneinfo database to perform various
+time zone operations.
+
+=head1 DESCRIPTION
+
+Every time zone has some of the following characteristics:
+
+=over 4
+
+=item B
+
+Every time zone has a unique name. In the zoneinfo database, these
+are something similar to:
+
+   America/New_York
+
+=item B
+
+Time zones may have (but are not required to have) one or more aliases.
+Each alias is unique, and is not the same as any time zone name. An
+alias can be used in exactly the same way as a name.
+
+=item B
+
+Every time zone is broken up into periods. Each period describes how
+a portion of time relates to GMT, and how it might be expressed.
+
+=back
+
+Each period includes the following information:
+
+=over 4
+
+=item B
+
+The period begin and ends at certain times. The times are
+included both as an absolute GMT time, and as a wall clock time.
+The wall clock start time is the time that will be on a clock
+just as the period starts (i.e. after a time change). The wall clock
+end time is the time on a clock immediately before the period ends.
+
+=item B
+
+The entire period has an offset which is how much the wall clock
+time differs from GMT.
+
+=item B
+
+When expressing the time period, an abbreviation (such as EST) is
+typically used.
+
+=item B
+
+Every period is categorized as a standard time or a daylight
+saving time. The flag will be 1 if it is a daylight saving time,
+or 0 if it is a standard time.
+
+=back
+
+Date::Manip includes all of the data for all of the time zones from
+the zoneinfo database. This data is available from:
+
+L
+
+Additional data from other standards are also used.
+
+The zoneinfo database is not necessary in order to use Date::Manip.
+Instead, all of that data has been extracted and stored in a
+series of other modules which are used to handle each time zone.
+In that way, Date::Manip has no dependency on any other source
+of data.
+
+The L document contains detailed information
+on the data available.
+
+=head1 METHODS
+
+In all methods, the following variables are used:
+
+=over 4
+
+=item B<$zone>
+
+This is a string which contains a valid time zone name.  For
+example:
+
+  America/New_York
+
+=item B<$alias>
+
+This is a strings which contains a valid time zone name, or a valid
+time zone alias. For example:
+
+  America/New_York
+  US/Eastern
+  EST5EDT
+
+=item B<$abbrev>
+
+This is a string which contains a valid time zone abbreviation. For
+example:
+
+  EST
+
+=item B<$offset>
+
+This is a time zone entered as an offset. An offset is either a string
+of one of the formats:
+
+  +HH
+  +HHMM
+  +HHMMSS
+  +HH:MM
+  +HH:MM:SS
+
+or it can be a list reference:
+
+  [HH,MM,SS]
+
+If a list reference is used, the sign must be included with all values.
+So, the offset "-05:30" would be the list reference:
+
+  [-5,-30,0]
+
+=item B<$dstflag>
+
+This is always one of the values: std, stdonly, dst, dstonly
+
+It defaults to "std" if it is not present. When determining a time zone,
+it is usually necessary to check a number of different time zone and
+DST combinations.
+
+If C<$dstflag> is "std", it will check both standard and daylight saving
+times, but will give preference to standard times. If C<$dstflag> is
+"stdonly", only standard times will be checked.
+
+The "dst" flag will search both, but give preference to daylight saving
+times.  The "dstonly" values will only use daylight saving times.
+
+=item B<$date>
+
+A date is always a string containing a date in one of the formats:
+
+   YYYYMMDDHH:MN:SS
+   YYYY-MM-DD-HH:MN:SS
+   YYYYMMDDHHMNSS
+
+or a list reference:
+
+   [Y,M,D,H,MN,S]
+
+=item B<$isdst>
+
+This is 0 if a date is in standard time, 1 if it is in daylight saving
+time.
+
+=item B<$period>
+
+A period is a list reference currently containing the following
+items:
+
+   [ $dateUT, $dateLT, $offsetstr, $offset, $abbrev, $isdst,
+     $endUT, $endLT, $begUTs, $begLTs, $endUTs, $endLTs ]
+
+C<$dateUT> and C<$dateLT> are the starting date of the period (i.e. the
+first second in a period) in universal (GMT) time and local
+(wall clock) time. C<$endUT> and C<$endLT> are the end date of the period
+(i.e. the last second in a period) in universal and local time.
+These are all stored as list references.
+
+C<$offsetstr> is the string representation of the offset ("+05:00:00")
+and C<$offset> is the corresponding list reference form ([5,0,0]).
+
+C<$abbrev> is the abbreviation that applies during this period, and C<$isdst>
+is 0 or 1 if it is standard or daylight saving time.
+
+When accessing the elements in a period, use ONLY positive indices.
+In other words, to get C<$endUT>, access it as C<$$period[6]>, NOT as
+C<$$period[-2]>, since I am considering adding more information to the
+period description that may speed up performance.
+
+C<$begUTs> is the string representation (YYYYMMDDHH:MN:SS) of C<$begUT>.
+Similar for C<$begLTs>, C<$endUTs>, and C<$endLTs>.
+
+=back
+
+The following methods are available:
+
+=over 4
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+Please refer to the L documentation for these methods.
+
+=item B
+
+   @periods = $tz->all_periods($zone,$year);
+
+This returns the description of all time zone periods that occur (in
+full or in part) during the given year.  The year is measured in universal
+(GMT) time.
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+=item B
+
+These functions convert a date from one time zone to another.
+
+   ($err,$date,$offset,$isdst,$abbrev) =
+      $tz->convert($date,$from,$to [,$isdst]);
+
+This converts a date in the time zone given by C<$from> to the time zone
+given by C<$to>.
+
+   ($err,$date,$offset,$isdst,$abbrev) =
+      $tz->convert_to_gmt($date [,$from] [,$isdst]);
+
+This converts a date to GMT. If C<$from> is given, it is the current
+time zone of the date. If C<$from> is omitted, it defaults to the local
+time zone.
+
+The value of C<$isdst> returned is always 0.
+
+   ($err,$date,$offset,$isdst,$abbrev) =
+      $tz->convert_from_gmt($date [,$to]);
+
+This converts a date from GMT to another time zone. If C<$to> is given,
+the date is converted to that time zone. Otherwise, it is converted
+to the local time zone.
+
+   ($err,$date,$offset,$isdst,$abbrev) =
+      $tz->convert_to_local($date [,$from] [,$isdst]);
+   ($err,$date,$offset,$isdst,$abbrev) =
+      $tz->convert_from_local($date [,$to] [,$isdst]);
+
+Similar to the B and B functions. If C<$from>
+or C<$to> are omitted, they default to GMT.
+
+If there is any ambiguity about whether C<$date> is in DST or not (i.e.
+if it is a date that is repeated during a time change due to the clock
+being moved back), the C<$isdst> option can be passed in as an argument
+(it should be 0 or 1) to say which time to use. It is ignored in all
+cases where C<$date> can be determined without that information.
+
+The C<$isdst> value passed back is 1 if the converted date is in DST. The
+C<$offset> value passed back is a list reference containing the offset from
+GMT. C<$abbrev> passed back is the time zone abbreviation.
+
+Error codes are:
+
+   0  No error
+   1  Invalid arguments
+   2  Invalid FROM zone
+   3  Invalid TO zone
+   4  Invalid date
+
+=item B
+
+   $tz->curr_zone();
+
+This returns the system time zone. The system time zone is determined
+using the methods described below in the
+L section.
+
+This is the time zone that is used by default unless the SetDate
+or ForceDate config variable is set to a different zone.
+
+   $tz->curr_zone(1);
+
+This clears the system time zone and re-determines it using the
+methods described below.
+
+The main reason to do this is if the curr_zone_methods method is
+used to change how the time zone is determined.
+
+=item B
+
+   $tz->curr_zone_methods(@methods);
+
+This sets the list and order of methods to use in determining the
+local time zone. The various methods available are listed below in
+the section L.
+
+Some methods may require one or more arguments. For example, the
+method named "mainvar" takes an option that is the name of a
+variable. The arguments must be included in the @methods list
+immediately after the method name (so @methods is actually a
+mixture of method names and arguments).
+
+This method may not be used in any environment where taint
+checking is enabled. If it is, it will issue a warning, but
+will NOT change the method list.
+
+=item B
+
+   $period = $tz->date_period($date,$zone,$wall_clock [,$isdst]);
+
+This returns the period information for the given date. $date defaults
+to GMT, but may be given as local (i.e. wall clock) time if $wall_clock
+is non-zero. The period information is described in the periods method
+below.
+
+If a wall clock time is given, no period is returned if the wall clock
+time doesn't ever appear (such as when a time change results in the
+clock moving forward "skipping" a period of time). If the wall clock
+time appears twice (i.e. when a time change results in the clock
+being set back), the $isdst variable is used. The standard time
+is used unless $isdst is non-zero.  $isdst is ignored except in the
+case where there are two possible periods.
+
+=item B
+
+   ($err,$val) = $tz->define_abbrev($abbrev,@zone);
+
+When encountering an abbreviation, by default, all time zones which ever
+include the abbreviation will be examine in the order given in the
+Date::Manip::Zones manual.
+
+Occasionally, it may be necessary to change the order. This is
+true if you are parsing dates in a time zone which uses an abbreviation which
+is also used in another time zone, and where the other time zone is given
+preference. As an example, the abbreviation "ADT" will default to the
+"Atlantic/Bermuda" time zone. If you are in the "America/Halifax" time zone
+(which also uses that abbreviation), you may want to change the order
+of time zones.
+
+This will take an abbreviation (which must be a known
+abbreviation... there is no means of defining a totally new
+abbreviation) and a list of zones.  This will set the list of zones
+that will be checked, and the order in which they are checked, when a
+date is encountered with the given abbreviation. It is not necessary
+that the list include every zone that has ever used the abbreviation,
+but it may not include a zone that has never used it.
+
+If $abbrev is "reset", all abbreviations are reset to the standard
+values.  If @zone includes only the element 'reset', the default list
+for $abbrev is restored.
+
+The following error codes are returned:
+
+   0  No error
+   1  $abbrev is not a valid abbreviation in any time zone
+   2  A zone (returned as $val) is not a valid time zone
+   3  A zone (returned as $val) does not use the abbreviation
+
+For more information about the different zones which may correspond
+to each abbreviation, and the order in which they will be examined
+by default, refer to the Date::Manip::Zones manual.
+
+=item B
+
+   $err = $tz->define_alias($alias,$zone);
+
+This will define a new alias (or override an existing alias). $zone must
+be a valid zone or an error is returned.
+
+For more information about the different aliases which are set by
+default, refer to the Date::Manip::Zones manual.
+
+If $alias is "reset", all aliases will be reset to the standard values.
+If $zone is "reset", $alias will be reset to the standard value.
+
+=item B
+
+   ($err,$val) = $tz->define_offset($offset, [$dstflag,] @zone);
+
+This is similar to the define_abbrev method. When an offset is encountered,
+all time zones which have ever included that offset are checked. This will
+defined which time zones, and in what order, they should be checked.
+
+The zones to both standard and daylight saving times which include the
+offset (if $dstflag is "std" or "dst") or to only one or the other.
+
+If $offset is "reset", all lists are reset to the default values.  If
+@zone includes only the element 'reset', the default list and order is
+restored for $offset ($dstflag must not be given).
+
+The following error codes are returned:
+
+   0  No error
+   1  $offset is not a valid offset in any time zone
+   2  $offset is not a valid offset in the selected
+      time (if doing "dstonly" or "stdonly")
+   3  A zone (returned as $val) is not a valid time zone
+   4  A zone (returned as $val) does not use the offset
+   5  A zone (returned as $val) does not include the
+      offset in the selected time (if doing "dstonly"
+      or "stdonly")
+
+   9  Offset is not a valid offset
+
+=item B
+
+   @periods = $tz->periods($zone,$year);
+
+This returns the description of all time zone periods that begin during the
+year given. The year is measured in universal (GMT) time.
+
+If no time zone period starts in the given year, nothing is returned.
+
+   @periods = $tz->periods($zone,undef,$year);
+
+This returns all periods that begin in any year from 0001 to $year.
+
+   @periods = $tz->periods($zone,$year0,$year1);
+
+This returns all periods that begin in any year from $year0 to $year1.
+
+=item B
+
+=item B
+
+   $vers = $tz->tzdata();
+   $vers = $tz->tzcode();
+
+These return the versions of the tzdata and tzcode packages used to
+generate the modules.
+
+=item B
+
+   $zone = $tz->zone(@args);
+   @zone = $tz->zone(@args);
+
+This function will return a list of all zones, or the default zone,
+which matches all of the supplied information. In scalar context,
+it will return only the default zone. In list context, it will return
+all zones.
+
+@args may include any of the following items, and the order is not
+important.
+
+   A zone name or alias ($alias)
+
+   A zone abbreviation ($abbrev)
+
+   An offset ($offset)
+
+   A dstflag ($dstflag)
+
+   A date ($date)
+
+It is NOT valid to include two of any of the items. Any time zone
+returned will match all of the data supplied.
+
+If an error occurs, undef is returned. If no zone matches, an empty
+string, or an empty list is returned.
+
+The order of the zones will be determined in the following way:
+
+If $abbrev is given, the order of time zones will be determined by it
+(and $dstflag). If $dstflag is "std", all zones which match $abbrev in
+standard time are included, followed by all that match $abbrev in
+saving time (but no duplication is allowed). The reverse is true if
+$dstflag is "dst".
+
+If $abbrev is not given, but $offset is, $offset (and $dstflag)
+will determine the order given. If $dstflag is "std", all zones
+which match $offset in standard time are included, followed by
+all that match $offset in saving time (but no duplication is
+allowed). The reverse is true if $dstflag is "dst".
+
+If $date is given, only zones in which $date will appear in a
+zone that matches all other information are given. $date is a
+wall clock time.
+
+If no $zone, $abbrev, or $offset are entered, the local time zone
+may be returned (unless $date is entered, and it doesn't exist in
+the local time zone).
+
+NOTE: there is one important thing to note with respect to $dstflag
+when you are working with a timezone expressed as an offset and a date
+is passed in. In this case, the default value of $dstflag is "dst"
+(NOT "stdonly"), and you probably never want to pass in a value of
+"std" (though passing in "stdonly" is okay).
+
+For standard offsets (with no minute component), there is always
+a standard timezone which matches that offset. For example,
+the timezone "+0100" matches the timezone "Etc/GMT+01", so you
+will never get a timezone in daylight saving time if $dstflag
+is "std".
+
+If you want to pass in a date of 2001-07-01-00:00:00 and an timezone
+of "+0100" and you want to get a timezone that refers to that date
+as a daylight saving time date, you must use the $dstflag of "dst"
+(or "dstonly").
+
+Because this is almost always the behavior desired, when a zone
+is passed in as an offset, and a date is passed in, the default
+$dstflag is "dst" instead of "std". In all other situations,
+the default is still "std".
+
+If the timezone is expressed as an abbreviation, this problem
+does not occur.
+
+=back
+
+=head1 TIME ZONE INFORMATION IN DATE::MANIP
+
+Date::Manip makes use of three potentially different time zones when
+working with a date.
+
+The first time zone that may be used is the actual local time zone.
+This is the time zone that the computer is actually running in.
+
+The second time zone is the working time zone. Usually, you will want
+the default time zone to be the local time zone, but occasionally, you
+may want the default time zone to be different.
+
+The third time zone is the actual time zone that was parsed, or set,
+for a date. If a date contains no time zone information, it will
+default to the working time zone.
+
+The local time zone is determined using the methods described in the
+following section. The preferred way is to locate the time zone in
+some system file, or using some system command, or (in the case of
+a Windows operating system) to look it up in the registry. If all
+of these methods fail, the local time zone may be set using either
+the $::TZ or $ENV{TZ} variables. Please note that these should ONLY
+be used to set the actual local time zone.
+
+If you are running in one time zone, but you want to force dates to be
+specified in an alternate time zone by default, you need to set the
+working time zone. The working time zone defaults to the local time zone,
+but this can be changed using either the SetDate or ForceDate
+config variables. Refer to the Date::Manip::Config manual for more
+information.
+
+Finally, when a date is actually parsed, if it contains any time zone
+information, the date is stored in that time zone.
+
+=head1 DETERMINING THE SYSTEM TIME ZONE
+
+There are a large number of ways available for determining the
+time zone. Some or all of them may be checked. A list of methods to use
+is provided by default, and may be overridden by the curr_zone_methods
+function described above. To override the default order and/or list of
+methods, just pass in a list of method names (with arguments where
+necessary), and only those methods will be done, and in the order
+given.
+
+The following methods are available:
+
+   Method     Argument(s)    Procedure
+   ======     ===========    =========
+
+   main       VAR            The main variable named VAR is
+                             checked. E.g. "main TZ" checks
+                             the variable $::TZ .
+
+   env        TYPE VAR       The named environment variable
+                             is checked and the type of
+                             data stored there (TYPE can
+                             be 'zone' or 'offset' which
+                             is the number of seconds from
+                             UTC).
+
+   file       FILE           Look in the given file for any
+                             one of the following case
+                             insensitive lines:
+                                ZONE
+                                tz = ZONE
+                                zone = ZONE
+                                timezone = ZONE
+                             ZONE may be quoted (single or
+                             double) and whitespace is
+                             ignored (except that underscores
+                             in the zone name may be replaced
+                             by whitespace on some OSes). If
+                             the entire line is a zone, it must
+                             be the first non-blank non-comment
+                             line in the file.
+
+   command    COMMAND        Runs a command which produces
+                             a time zone as the output.
+
+   cmdfield   COMMAND N      Runs a command which produces
+                             whitespace separated fields,
+                             the Nth one containing the
+                             time zone (fields are numbered
+                             starting at 0, or from the
+                             end starting at -1).
+
+   gmtoff                    Uses the current offset from
+                             GMT to come up with a best guess.
+
+   tzdata     FILE DIR       This uses a system config file that
+                             contains a pointer to the local tzdata
+                             files to  determine the timezone.  On
+                             many operating systems, use:
+
+                             tzdata /etc/localtime /usr/share/zoneinfo
+
+                             FILE is the system file.  DIR is the
+                             directory where the tzdata files are stored.
+
+                             The config file is either a link to a file
+                             in the tzdata directory or a copy of one
+                             of the files.
+
+   registry                  Look up the value in the
+                             Windows registry. This is only
+                             available to hosts running a
+                             Windows operating system.
+
+Note that the "main" and "env" methods should only be used to
+specify the actual time zone the system is running in. Use the
+SetDate and ForceDate config variables to specify an alternate
+time zone that you want to work in.
+
+By default, the following methods are checked (in the order given) on
+Unix systems:
+
+   main     TZ
+   env      zone TZ
+   file     /etc/TIMEZONE
+   file     /etc/timezone
+   file     /etc/sysconfig/clock
+   file     /etc/default/init
+   tzdata   /etc/localtime /usr/share/zoneinfo
+   command  "/bin/date +%Z"
+   command  "/usr/bin/date +%Z"
+   command  "/usr/local/bin/date +%Z"
+   cmdfield /bin/date             -2
+   cmdfield /usr/bin/date         -2
+   cmdfield /usr/local/bin/date   -2
+   gmtoff
+
+The default methods for Windows systems are:
+
+   main     TZ
+   env      zone TZ
+   registry
+   gmtoff
+
+The default methods for VMS systems are:
+
+   main     TZ
+   env      zone TZ
+   env      zone SYS$TIMEZONE_NAME
+   env      zone UCX$TZ
+   env      zone TCPIP$TZ
+   env      zone MULTINET_TIMEZONE
+   env      offset SYS$TIMEZONE_DIFFERENTIAL
+   gmtoff
+
+The default methods for all other systems are:
+
+   main     TZ
+   env      zone TZ
+   gmtoff
+
+If anyone wants better support for a specific OS, please contact me and
+we'll coordinate adding it.
+
+In all cases, the value returned from the method may be any of the
+following:
+
+   the full name of a time zone (e.g. America/New_York)
+   or an alias
+
+   an abbreviation (e.g. EDT) which will be used to
+   determine the zone if possible
+
+   an offset (+hh, +hhmn, +hh:mm, +hh:mm:ss) from GMT
+
+The Date::Manip::Zones module contains information about the time zones
+and aliases available, and what time zones contain the abbreviations.
+
+=head1 DESIGN ISSUES
+
+The design decisions made in writing this module may cause some
+questions (and probably complaints).  The time zone modules are all
+generated using scripts (included in the Date::Manip distribution)
+which use the standard tzdata tools to parse the tzdata files and
+store that information in perl modules.
+
+I'd like to address some of them, to avoid answering some of the
+"why did you do it that way" remarks. I do welcome discussion about
+these decisions... but preferably after you understand why those
+decisions were made so that that we have an informed basis to begin
+a discussion.
+
+=over 4
+
+=item B
+
+Some people will probably think that I should have written an interface to
+the zoneinfo files which are distributed with most operating systems.
+Although I considered doing that, I rejected the idea for two reasons.
+
+First, not all operating systems come with the zoneinfo databases in a
+user accessible state (Microsoft for example).  Even those that do
+include them store the information in various formats and locations.
+In order to bypass all that, I have included the data directly in
+these modules.
+
+Second, as I was doing my initial investigations into this, I ran into
+a bug in the Solaris zoneinfo tools (long since fixed I'm sure).  I
+decided then that I didn't want to depend on an implementation where I
+could not control and fix the bugs.
+
+=item B
+
+Another decision people may question is that I parse the tzdata
+files and store the data from them in a large number of perl modules
+instead of creating an interface to the tzdata files directly. This
+was done solely for the sake of speed.  Date::Manip is already a slow
+module.  I didn't want to slow it down further by doing the complex
+parsing required to interpret the tzdata files while manipulating
+dates.  By storing the data in these modules, there is little or no
+parsing done while using Date::Manip modules. It costs a little disk
+space to store this information... but very little of it is actually
+loaded at runtime (time zone data is only loaded when the time zone
+is actually referred to), so I feel it's a good tradeoff.
+
+=item B
+
+The data from the native tzdata files are parsed and stored in two
+sets of modules. These include almost 500 Date::Manip::Offset::*
+modules and almost 450 Date::Manip::TZ::* modules.
+
+I note that on my linux box, /usr/share/zoneinfo (which contains data
+files generated from the tzdata files) contains over 1700 files, so
+I'm not doing anything "new" by breaking up the information into
+separate files. And doing so has a huge impact on performance... it
+is not necessary to load and/or manipulate data from time zones which
+are not in use.
+
+The minute I made the decision to distribute the timezone information
+myself, as opposed to using the system version, it was a given that
+there would be a lot of files.
+
+These modules are loaded only when the time zone or offset is actually
+used, so, unless dates from around the world are being parsed, only a
+very small number of these modules will actually be loaded. In many
+applications, only a single TZ module will be loaded. If parsing
+dates which have timezone information stored as offsets, one or two
+Offset modules will also be loaded.
+
+=item B
+
+Currently, the disk usage of the perl files is around 9 MB. Total disk
+usage for /usr/share/zoneinfo on my computer is around 4 MB. There are
+a couple of differences.
+
+The primary difference is that the zoneinfo files are stored in a binary
+(and hence, more compressed) version, where the perl modules have all
+the data in pure text.
+
+Since these are all automatically generated and used, it may be
+beneficial to store the data in some packed binary format instead of
+the fully expanded text form that is currently in use. This would
+decrease the disk space usage, and might improve performance. However,
+the performance improvement would happen only once per timezone, and
+would make for more complicated code, so I'm not very interested in
+pursuing this.
+
+Another aspect of the current modules is that they all include pod
+documentation. Although not necessary, this allows users to easily
+see what modules handle which time zones, and that's nice. It also
+allows me to use pod_coverage tests for the module which is a nice
+check to make sure that the documentation is accurate.
+
+All told, I don't consider the disk usage excessive at all.
+
+=back
+
+=head1 KNOWN PROBLEMS OR ISSUES
+
+=over 4
+
+=item B
+
+When using Date::Manip, when the module is initialized, it must be
+able to determine the local time zone. If it fails to do so, an
+error will occur:
+
+   Unable to determine Time Zone
+
+and the script will exit.
+
+In the past, this was the most common problem with using Date::Manip .
+With the release of 6.00, this problem should be significantly less
+common. If you do get this error, please refer to the section above
+DETERMINING THE SYSTEM TIME ZONE for information about determining the
+local time zone. I am also interested in hearing about this so that I
+can update the default list of methods to be able to determine the
+local time zone better.
+
+=item B
+
+The Asia/Jerusalem time zone has a non-standard way of specifying
+the start and end of Daylight Saving Time based on the Hebrew
+calendar.
+
+As a result, there is no way to specify a simple rule to define
+time zone changes for all years in the future. As such, this module
+supports all time zone changes currently specified in the zoneinfo
+database (which currently goes to the year 2037) but does not attempt
+to correctly handle zone changes beyond that date. As a result,
+Date::Manip should not be used to parse dates in the Jerusalem
+time zone that are far enough in the future that information is not
+included in the current version of the zoneinfo database.
+
+=item B
+
+Both the LMT and zzz abbreviations are used in the zoneinfo databases.
+LMT is use for most time zones for the times before the Gregorian
+calendar was adopted, and zzz is used for a few where the time zone was
+created and no description of dates prior to that are supported. Both
+LMT and zzz are basically ignored in parsing dates (because there is
+no reasonable way to determine which zone they are referring to), and
+will be treated as the local time zone regardless.
+
+=back
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the Date::Manip::Problems documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+Date::Manip        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/TZ/a00.pm b/lib/Date/Manip/TZ/a00.pm
new file mode 100644
index 0000000..93d5452
--- /dev/null
+++ b/lib/Date/Manip/TZ/a00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::a00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,0,0],'-01:00:00',[-1,0,0],
+          'A',0,[9999,12,31,0,0,0],[9999,12,30,23,0,0],
+          '0001010200:00:00','0001010123:00:00','9999123100:00:00','9999123023:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afabid00.pm b/lib/Date/Manip/TZ/afabid00.pm
new file mode 100644
index 0000000..1b6cca5
--- /dev/null
+++ b/lib/Date/Manip/TZ/afabid00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::afabid00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,43,52],'-00:16:08',[0,-16,-8],
+          'LMT',0,[1912,1,1,0,16,7],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010123:43:52','1912010100:16:07','1911123123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,1,0,16,8],[1912,1,1,0,16,8],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1912010100:16:08','1912010100:16:08','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afaccr00.pm b/lib/Date/Manip/TZ/afaccr00.pm
new file mode 100644
index 0000000..297c294
--- /dev/null
+++ b/lib/Date/Manip/TZ/afaccr00.pm
@@ -0,0 +1,256 @@
+package #
+Date::Manip::TZ::afaccr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,59,8],'-00:00:52',[0,0,-52],
+          'LMT',0,[1918,1,1,0,0,51],[1917,12,31,23,59,59],
+          '0001010200:00:00','0001010123:59:08','1918010100:00:51','1917123123:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,1,1,0,0,52],[1918,1,1,0,0,52],'+00:00:00',[0,0,0],
+          'GMT',0,[1920,8,31,23,59,59],[1920,8,31,23,59,59],
+          '1918010100:00:52','1918010100:00:52','1920083123:59:59','1920083123:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,9,1,0,0,0],[1920,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1920,12,30,23,39,59],[1920,12,30,23,59,59],
+          '1920090100:00:00','1920090100:20:00','1920123023:39:59','1920123023:59:59' ],
+        [ [1920,12,30,23,40,0],[1920,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1921,8,31,23,59,59],[1921,8,31,23,59,59],
+          '1920123023:40:00','1920123023:40:00','1921083123:59:59','1921083123:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,9,1,0,0,0],[1921,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1921,12,30,23,39,59],[1921,12,30,23,59,59],
+          '1921090100:00:00','1921090100:20:00','1921123023:39:59','1921123023:59:59' ],
+        [ [1921,12,30,23,40,0],[1921,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1922,8,31,23,59,59],[1922,8,31,23,59,59],
+          '1921123023:40:00','1921123023:40:00','1922083123:59:59','1922083123:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,9,1,0,0,0],[1922,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1922,12,30,23,39,59],[1922,12,30,23,59,59],
+          '1922090100:00:00','1922090100:20:00','1922123023:39:59','1922123023:59:59' ],
+        [ [1922,12,30,23,40,0],[1922,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1923,8,31,23,59,59],[1923,8,31,23,59,59],
+          '1922123023:40:00','1922123023:40:00','1923083123:59:59','1923083123:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,9,1,0,0,0],[1923,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1923,12,30,23,39,59],[1923,12,30,23,59,59],
+          '1923090100:00:00','1923090100:20:00','1923123023:39:59','1923123023:59:59' ],
+        [ [1923,12,30,23,40,0],[1923,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1924,8,31,23,59,59],[1924,8,31,23,59,59],
+          '1923123023:40:00','1923123023:40:00','1924083123:59:59','1924083123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,9,1,0,0,0],[1924,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1924,12,30,23,39,59],[1924,12,30,23,59,59],
+          '1924090100:00:00','1924090100:20:00','1924123023:39:59','1924123023:59:59' ],
+        [ [1924,12,30,23,40,0],[1924,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1925,8,31,23,59,59],[1925,8,31,23,59,59],
+          '1924123023:40:00','1924123023:40:00','1925083123:59:59','1925083123:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,9,1,0,0,0],[1925,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1925,12,30,23,39,59],[1925,12,30,23,59,59],
+          '1925090100:00:00','1925090100:20:00','1925123023:39:59','1925123023:59:59' ],
+        [ [1925,12,30,23,40,0],[1925,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1926,8,31,23,59,59],[1926,8,31,23,59,59],
+          '1925123023:40:00','1925123023:40:00','1926083123:59:59','1926083123:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,9,1,0,0,0],[1926,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1926,12,30,23,39,59],[1926,12,30,23,59,59],
+          '1926090100:00:00','1926090100:20:00','1926123023:39:59','1926123023:59:59' ],
+        [ [1926,12,30,23,40,0],[1926,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1927,8,31,23,59,59],[1927,8,31,23,59,59],
+          '1926123023:40:00','1926123023:40:00','1927083123:59:59','1927083123:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,9,1,0,0,0],[1927,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1927,12,30,23,39,59],[1927,12,30,23,59,59],
+          '1927090100:00:00','1927090100:20:00','1927123023:39:59','1927123023:59:59' ],
+        [ [1927,12,30,23,40,0],[1927,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1928,8,31,23,59,59],[1928,8,31,23,59,59],
+          '1927123023:40:00','1927123023:40:00','1928083123:59:59','1928083123:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,9,1,0,0,0],[1928,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1928,12,30,23,39,59],[1928,12,30,23,59,59],
+          '1928090100:00:00','1928090100:20:00','1928123023:39:59','1928123023:59:59' ],
+        [ [1928,12,30,23,40,0],[1928,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1929,8,31,23,59,59],[1929,8,31,23,59,59],
+          '1928123023:40:00','1928123023:40:00','1929083123:59:59','1929083123:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,9,1,0,0,0],[1929,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1929,12,30,23,39,59],[1929,12,30,23,59,59],
+          '1929090100:00:00','1929090100:20:00','1929123023:39:59','1929123023:59:59' ],
+        [ [1929,12,30,23,40,0],[1929,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1930,8,31,23,59,59],[1930,8,31,23,59,59],
+          '1929123023:40:00','1929123023:40:00','1930083123:59:59','1930083123:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,9,1,0,0,0],[1930,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1930,12,30,23,39,59],[1930,12,30,23,59,59],
+          '1930090100:00:00','1930090100:20:00','1930123023:39:59','1930123023:59:59' ],
+        [ [1930,12,30,23,40,0],[1930,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1931,8,31,23,59,59],[1931,8,31,23,59,59],
+          '1930123023:40:00','1930123023:40:00','1931083123:59:59','1931083123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,9,1,0,0,0],[1931,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1931,12,30,23,39,59],[1931,12,30,23,59,59],
+          '1931090100:00:00','1931090100:20:00','1931123023:39:59','1931123023:59:59' ],
+        [ [1931,12,30,23,40,0],[1931,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1932,8,31,23,59,59],[1932,8,31,23,59,59],
+          '1931123023:40:00','1931123023:40:00','1932083123:59:59','1932083123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,9,1,0,0,0],[1932,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1932,12,30,23,39,59],[1932,12,30,23,59,59],
+          '1932090100:00:00','1932090100:20:00','1932123023:39:59','1932123023:59:59' ],
+        [ [1932,12,30,23,40,0],[1932,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1933,8,31,23,59,59],[1933,8,31,23,59,59],
+          '1932123023:40:00','1932123023:40:00','1933083123:59:59','1933083123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,9,1,0,0,0],[1933,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1933,12,30,23,39,59],[1933,12,30,23,59,59],
+          '1933090100:00:00','1933090100:20:00','1933123023:39:59','1933123023:59:59' ],
+        [ [1933,12,30,23,40,0],[1933,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1934,8,31,23,59,59],[1934,8,31,23,59,59],
+          '1933123023:40:00','1933123023:40:00','1934083123:59:59','1934083123:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,9,1,0,0,0],[1934,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1934,12,30,23,39,59],[1934,12,30,23,59,59],
+          '1934090100:00:00','1934090100:20:00','1934123023:39:59','1934123023:59:59' ],
+        [ [1934,12,30,23,40,0],[1934,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1935,8,31,23,59,59],[1935,8,31,23,59,59],
+          '1934123023:40:00','1934123023:40:00','1935083123:59:59','1935083123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,9,1,0,0,0],[1935,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1935,12,30,23,39,59],[1935,12,30,23,59,59],
+          '1935090100:00:00','1935090100:20:00','1935123023:39:59','1935123023:59:59' ],
+        [ [1935,12,30,23,40,0],[1935,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1936,8,31,23,59,59],[1936,8,31,23,59,59],
+          '1935123023:40:00','1935123023:40:00','1936083123:59:59','1936083123:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,9,1,0,0,0],[1936,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1936,12,30,23,39,59],[1936,12,30,23,59,59],
+          '1936090100:00:00','1936090100:20:00','1936123023:39:59','1936123023:59:59' ],
+        [ [1936,12,30,23,40,0],[1936,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1937,8,31,23,59,59],[1937,8,31,23,59,59],
+          '1936123023:40:00','1936123023:40:00','1937083123:59:59','1937083123:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,9,1,0,0,0],[1937,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1937,12,30,23,39,59],[1937,12,30,23,59,59],
+          '1937090100:00:00','1937090100:20:00','1937123023:39:59','1937123023:59:59' ],
+        [ [1937,12,30,23,40,0],[1937,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1938,8,31,23,59,59],[1938,8,31,23,59,59],
+          '1937123023:40:00','1937123023:40:00','1938083123:59:59','1938083123:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,9,1,0,0,0],[1938,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1938,12,30,23,39,59],[1938,12,30,23,59,59],
+          '1938090100:00:00','1938090100:20:00','1938123023:39:59','1938123023:59:59' ],
+        [ [1938,12,30,23,40,0],[1938,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1939,8,31,23,59,59],[1939,8,31,23,59,59],
+          '1938123023:40:00','1938123023:40:00','1939083123:59:59','1939083123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,9,1,0,0,0],[1939,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1939,12,30,23,39,59],[1939,12,30,23,59,59],
+          '1939090100:00:00','1939090100:20:00','1939123023:39:59','1939123023:59:59' ],
+        [ [1939,12,30,23,40,0],[1939,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1940,8,31,23,59,59],[1940,8,31,23,59,59],
+          '1939123023:40:00','1939123023:40:00','1940083123:59:59','1940083123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,9,1,0,0,0],[1940,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1940,12,30,23,39,59],[1940,12,30,23,59,59],
+          '1940090100:00:00','1940090100:20:00','1940123023:39:59','1940123023:59:59' ],
+        [ [1940,12,30,23,40,0],[1940,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1941,8,31,23,59,59],[1941,8,31,23,59,59],
+          '1940123023:40:00','1940123023:40:00','1941083123:59:59','1941083123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,1,0,0,0],[1941,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1941,12,30,23,39,59],[1941,12,30,23,59,59],
+          '1941090100:00:00','1941090100:20:00','1941123023:39:59','1941123023:59:59' ],
+        [ [1941,12,30,23,40,0],[1941,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1942,8,31,23,59,59],[1942,8,31,23,59,59],
+          '1941123023:40:00','1941123023:40:00','1942083123:59:59','1942083123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,9,1,0,0,0],[1942,9,1,0,20,0],'+00:20:00',[0,20,0],
+          '+0020',1,[1942,12,30,23,39,59],[1942,12,30,23,59,59],
+          '1942090100:00:00','1942090100:20:00','1942123023:39:59','1942123023:59:59' ],
+        [ [1942,12,30,23,40,0],[1942,12,30,23,40,0],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1942123023:40:00','1942123023:40:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afalgi00.pm b/lib/Date/Manip/TZ/afalgi00.pm
new file mode 100644
index 0000000..a55bdc8
--- /dev/null
+++ b/lib/Date/Manip/TZ/afalgi00.pm
@@ -0,0 +1,208 @@
+package #
+Date::Manip::TZ::afalgi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,12,12],'+00:12:12',[0,12,12],
+          'LMT',0,[1891,3,14,23,48,47],[1891,3,15,0,0,59],
+          '0001010200:00:00','0001010200:12:12','1891031423:48:47','1891031500:00:59' ],
+     ],
+   1891 =>
+     [
+        [ [1891,3,14,23,48,48],[1891,3,14,23,58,9],'+00:09:21',[0,9,21],
+          'PMT',0,[1911,3,10,23,50,38],[1911,3,10,23,59,59],
+          '1891031423:48:48','1891031423:58:09','1911031023:50:38','1911031023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,3,10,23,50,39],[1911,3,10,23,50,39],'+00:00:00',[0,0,0],
+          'WET',0,[1916,6,14,22,59,59],[1916,6,14,22,59,59],
+          '1911031023:50:39','1911031023:50:39','1916061422:59:59','1916061422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,14,23,0,0],[1916,6,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1916,10,1,22,59,59],[1916,10,1,23,59,59],
+          '1916061423:00:00','1916061500:00:00','1916100122:59:59','1916100123:59:59' ],
+        [ [1916,10,1,23,0,0],[1916,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1917,3,24,22,59,59],[1917,3,24,22,59,59],
+          '1916100123:00:00','1916100123:00:00','1917032422:59:59','1917032422:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,23,0,0],[1917,3,25,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1917,10,7,22,59,59],[1917,10,7,23,59,59],
+          '1917032423:00:00','1917032500:00:00','1917100722:59:59','1917100723:59:59' ],
+        [ [1917,10,7,23,0,0],[1917,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,3,9,22,59,59],[1918,3,9,22,59,59],
+          '1917100723:00:00','1917100723:00:00','1918030922:59:59','1918030922:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,9,23,0,0],[1918,3,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,6,22,59,59],[1918,10,6,23,59,59],
+          '1918030923:00:00','1918031000:00:00','1918100622:59:59','1918100623:59:59' ],
+        [ [1918,10,6,23,0,0],[1918,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,3,1,22,59,59],[1919,3,1,22,59,59],
+          '1918100623:00:00','1918100623:00:00','1919030122:59:59','1919030122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,5,22,59,59],[1919,10,5,23,59,59],
+          '1919030123:00:00','1919030200:00:00','1919100522:59:59','1919100523:59:59' ],
+        [ [1919,10,5,23,0,0],[1919,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,14,22,59,59],[1920,2,14,22,59,59],
+          '1919100523:00:00','1919100523:00:00','1920021422:59:59','1920021422:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,14,23,0,0],[1920,2,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,23,22,59,59],[1920,10,23,23,59,59],
+          '1920021423:00:00','1920021500:00:00','1920102322:59:59','1920102323:59:59' ],
+        [ [1920,10,23,23,0,0],[1920,10,23,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,3,14,22,59,59],[1921,3,14,22,59,59],
+          '1920102323:00:00','1920102323:00:00','1921031422:59:59','1921031422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,14,23,0,0],[1921,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,6,21,22,59,59],[1921,6,21,23,59,59],
+          '1921031423:00:00','1921031500:00:00','1921062122:59:59','1921062123:59:59' ],
+        [ [1921,6,21,23,0,0],[1921,6,21,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,9,11,22,59,59],[1939,9,11,22,59,59],
+          '1921062123:00:00','1921062123:00:00','1939091122:59:59','1939091122:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,9,11,23,0,0],[1939,9,12,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,18,23,59,59],[1939,11,19,0,59,59],
+          '1939091123:00:00','1939091200:00:00','1939111823:59:59','1939111900:59:59' ],
+        [ [1939,11,19,0,0,0],[1939,11,19,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111900:00:00','1939111900:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1940022502:00:00','1940022503:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,7,23,59,59],[1944,10,8,1,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100723:59:59','1944100801:59:59' ],
+        [ [1944,10,8,0,0,0],[1944,10,8,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100800:00:00','1944100801:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,15,22,59,59],[1945,9,16,0,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091522:59:59','1945091600:59:59' ],
+        [ [1945,9,15,23,0,0],[1945,9,16,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,10,6,22,59,59],[1946,10,6,23,59,59],
+          '1945091523:00:00','1945091600:00:00','1946100622:59:59','1946100623:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,10,6,23,0,0],[1946,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1956,1,28,23,59,59],[1956,1,28,23,59,59],
+          '1946100623:00:00','1946100623:00:00','1956012823:59:59','1956012823:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,1,29,0,0,0],[1956,1,29,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1963,4,13,22,59,59],[1963,4,13,23,59,59],
+          '1956012900:00:00','1956012901:00:00','1963041322:59:59','1963041323:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,13,23,0,0],[1963,4,13,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1971,4,25,22,59,59],[1971,4,25,22,59,59],
+          '1963041323:00:00','1963041323:00:00','1971042522:59:59','1971042522:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,23,0,0],[1971,4,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1971,9,26,22,59,59],[1971,9,26,23,59,59],
+          '1971042523:00:00','1971042600:00:00','1971092622:59:59','1971092623:59:59' ],
+        [ [1971,9,26,23,0,0],[1971,9,26,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,5,5,23,59,59],[1977,5,5,23,59,59],
+          '1971092623:00:00','1971092623:00:00','1977050523:59:59','1977050523:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,6,0,0,0],[1977,5,6,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,10,20,22,59,59],[1977,10,20,23,59,59],
+          '1977050600:00:00','1977050601:00:00','1977102022:59:59','1977102023:59:59' ],
+        [ [1977,10,20,23,0,0],[1977,10,21,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,3,23,23,59,59],[1978,3,24,0,59,59],
+          '1977102023:00:00','1977102100:00:00','1978032323:59:59','1978032400:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,24,0,0,0],[1978,3,24,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,22,0,59,59],[1978,9,22,2,59,59],
+          '1978032400:00:00','1978032402:00:00','1978092200:59:59','1978092202:59:59' ],
+        [ [1978,9,22,1,0,0],[1978,9,22,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,10,25,22,59,59],[1979,10,25,23,59,59],
+          '1978092201:00:00','1978092202:00:00','1979102522:59:59','1979102523:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,25,23,0,0],[1979,10,25,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1980,4,24,23,59,59],[1980,4,24,23,59,59],
+          '1979102523:00:00','1979102523:00:00','1980042423:59:59','1980042423:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,25,0,0,0],[1980,4,25,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1980,10,31,0,59,59],[1980,10,31,1,59,59],
+          '1980042500:00:00','1980042501:00:00','1980103100:59:59','1980103101:59:59' ],
+        [ [1980,10,31,1,0,0],[1980,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1981,4,30,23,59,59],[1981,4,30,23,59,59],
+          '1980103101:00:00','1980103101:00:00','1981043023:59:59','1981043023:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,5,1,0,0,0],[1981,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '1981050100:00:00','1981050101:00:00','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afbiss00.pm b/lib/Date/Manip/TZ/afbiss00.pm
new file mode 100644
index 0000000..8c6de4c
--- /dev/null
+++ b/lib/Date/Manip/TZ/afbiss00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::afbiss00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,57,40],'-01:02:20',[-1,-2,-20],
+          'LMT',0,[1912,1,1,1,2,19],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010122:57:40','1912010101:02:19','1911123123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,1,1,2,20],[1912,1,1,0,2,20],'-01:00:00',[-1,0,0],
+          '-01',0,[1975,1,1,0,59,59],[1974,12,31,23,59,59],
+          '1912010101:02:20','1912010100:02:20','1975010100:59:59','1974123123:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,1,1,1,0,0],[1975,1,1,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1975010101:00:00','1975010101:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afcair00.pm b/lib/Date/Manip/TZ/afcair00.pm
new file mode 100644
index 0000000..07db312
--- /dev/null
+++ b/lib/Date/Manip/TZ/afcair00.pm
@@ -0,0 +1,610 @@
+package #
+Date::Manip::TZ::afcair00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,5,9],'+02:05:09',[2,5,9],
+          'LMT',0,[1900,9,30,21,54,50],[1900,9,30,23,59,59],
+          '0001010200:00:00','0001010202:05:09','1900093021:54:50','1900093023:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,9,30,21,54,51],[1900,9,30,23,54,51],'+02:00:00',[2,0,0],
+          'EET',0,[1940,7,14,21,59,59],[1940,7,14,23,59,59],
+          '1900093021:54:51','1900093023:54:51','1940071421:59:59','1940071423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,7,14,22,0,0],[1940,7,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1940,9,30,20,59,59],[1940,9,30,23,59,59],
+          '1940071422:00:00','1940071501:00:00','1940093020:59:59','1940093023:59:59' ],
+        [ [1940,9,30,21,0,0],[1940,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1941,4,14,21,59,59],[1941,4,14,23,59,59],
+          '1940093021:00:00','1940093023:00:00','1941041421:59:59','1941041423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,14,22,0,0],[1941,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1941,9,15,20,59,59],[1941,9,15,23,59,59],
+          '1941041422:00:00','1941041501:00:00','1941091520:59:59','1941091523:59:59' ],
+        [ [1941,9,15,21,0,0],[1941,9,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1942,3,31,21,59,59],[1942,3,31,23,59,59],
+          '1941091521:00:00','1941091523:00:00','1942033121:59:59','1942033123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,31,22,0,0],[1942,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1942,10,26,20,59,59],[1942,10,26,23,59,59],
+          '1942033122:00:00','1942040101:00:00','1942102620:59:59','1942102623:59:59' ],
+        [ [1942,10,26,21,0,0],[1942,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1943,3,31,21,59,59],[1943,3,31,23,59,59],
+          '1942102621:00:00','1942102623:00:00','1943033121:59:59','1943033123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,31,22,0,0],[1943,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1943,10,31,20,59,59],[1943,10,31,23,59,59],
+          '1943033122:00:00','1943040101:00:00','1943103120:59:59','1943103123:59:59' ],
+        [ [1943,10,31,21,0,0],[1943,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1944,3,31,21,59,59],[1944,3,31,23,59,59],
+          '1943103121:00:00','1943103123:00:00','1944033121:59:59','1944033123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,31,22,0,0],[1944,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1944,10,31,20,59,59],[1944,10,31,23,59,59],
+          '1944033122:00:00','1944040101:00:00','1944103120:59:59','1944103123:59:59' ],
+        [ [1944,10,31,21,0,0],[1944,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1945,4,15,21,59,59],[1945,4,15,23,59,59],
+          '1944103121:00:00','1944103123:00:00','1945041521:59:59','1945041523:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,15,22,0,0],[1945,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1945,10,31,20,59,59],[1945,10,31,23,59,59],
+          '1945041522:00:00','1945041601:00:00','1945103120:59:59','1945103123:59:59' ],
+        [ [1945,10,31,21,0,0],[1945,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1957,5,9,21,59,59],[1957,5,9,23,59,59],
+          '1945103121:00:00','1945103123:00:00','1957050921:59:59','1957050923:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,5,9,22,0,0],[1957,5,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1957,9,30,20,59,59],[1957,9,30,23,59,59],
+          '1957050922:00:00','1957051001:00:00','1957093020:59:59','1957093023:59:59' ],
+        [ [1957,9,30,21,0,0],[1957,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1958,4,30,21,59,59],[1958,4,30,23,59,59],
+          '1957093021:00:00','1957093023:00:00','1958043021:59:59','1958043023:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,30,22,0,0],[1958,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1958,9,30,20,59,59],[1958,9,30,23,59,59],
+          '1958043022:00:00','1958050101:00:00','1958093020:59:59','1958093023:59:59' ],
+        [ [1958,9,30,21,0,0],[1958,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1959,4,30,22,59,59],[1959,5,1,0,59,59],
+          '1958093021:00:00','1958093023:00:00','1959043022:59:59','1959050100:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,30,23,0,0],[1959,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1959,9,29,23,59,59],[1959,9,30,2,59,59],
+          '1959043023:00:00','1959050102:00:00','1959092923:59:59','1959093002:59:59' ],
+        [ [1959,9,30,0,0,0],[1959,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1960,4,30,22,59,59],[1960,5,1,0,59,59],
+          '1959093000:00:00','1959093002:00:00','1960043022:59:59','1960050100:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,30,23,0,0],[1960,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1960,9,29,23,59,59],[1960,9,30,2,59,59],
+          '1960043023:00:00','1960050102:00:00','1960092923:59:59','1960093002:59:59' ],
+        [ [1960,9,30,0,0,0],[1960,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1961,4,30,22,59,59],[1961,5,1,0,59,59],
+          '1960093000:00:00','1960093002:00:00','1961043022:59:59','1961050100:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,23,0,0],[1961,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1961,9,29,23,59,59],[1961,9,30,2,59,59],
+          '1961043023:00:00','1961050102:00:00','1961092923:59:59','1961093002:59:59' ],
+        [ [1961,9,30,0,0,0],[1961,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1962,4,30,22,59,59],[1962,5,1,0,59,59],
+          '1961093000:00:00','1961093002:00:00','1962043022:59:59','1962050100:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,30,23,0,0],[1962,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1962,9,29,23,59,59],[1962,9,30,2,59,59],
+          '1962043023:00:00','1962050102:00:00','1962092923:59:59','1962093002:59:59' ],
+        [ [1962,9,30,0,0,0],[1962,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1963,4,30,22,59,59],[1963,5,1,0,59,59],
+          '1962093000:00:00','1962093002:00:00','1963043022:59:59','1963050100:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,30,23,0,0],[1963,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1963,9,29,23,59,59],[1963,9,30,2,59,59],
+          '1963043023:00:00','1963050102:00:00','1963092923:59:59','1963093002:59:59' ],
+        [ [1963,9,30,0,0,0],[1963,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1964,4,30,22,59,59],[1964,5,1,0,59,59],
+          '1963093000:00:00','1963093002:00:00','1964043022:59:59','1964050100:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,30,23,0,0],[1964,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1964,9,29,23,59,59],[1964,9,30,2,59,59],
+          '1964043023:00:00','1964050102:00:00','1964092923:59:59','1964093002:59:59' ],
+        [ [1964,9,30,0,0,0],[1964,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1965,4,30,22,59,59],[1965,5,1,0,59,59],
+          '1964093000:00:00','1964093002:00:00','1965043022:59:59','1965050100:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,30,23,0,0],[1965,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1965,9,29,23,59,59],[1965,9,30,2,59,59],
+          '1965043023:00:00','1965050102:00:00','1965092923:59:59','1965093002:59:59' ],
+        [ [1965,9,30,0,0,0],[1965,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1966,4,30,22,59,59],[1966,5,1,0,59,59],
+          '1965093000:00:00','1965093002:00:00','1966043022:59:59','1966050100:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,30,23,0,0],[1966,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1966,9,30,23,59,59],[1966,10,1,2,59,59],
+          '1966043023:00:00','1966050102:00:00','1966093023:59:59','1966100102:59:59' ],
+        [ [1966,10,1,0,0,0],[1966,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1967,4,30,22,59,59],[1967,5,1,0,59,59],
+          '1966100100:00:00','1966100102:00:00','1967043022:59:59','1967050100:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,23,0,0],[1967,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1967,9,30,23,59,59],[1967,10,1,2,59,59],
+          '1967043023:00:00','1967050102:00:00','1967093023:59:59','1967100102:59:59' ],
+        [ [1967,10,1,0,0,0],[1967,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1968,4,30,22,59,59],[1968,5,1,0,59,59],
+          '1967100100:00:00','1967100102:00:00','1968043022:59:59','1968050100:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,30,23,0,0],[1968,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1968,9,30,23,59,59],[1968,10,1,2,59,59],
+          '1968043023:00:00','1968050102:00:00','1968093023:59:59','1968100102:59:59' ],
+        [ [1968,10,1,0,0,0],[1968,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1969,4,30,22,59,59],[1969,5,1,0,59,59],
+          '1968100100:00:00','1968100102:00:00','1969043022:59:59','1969050100:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,30,23,0,0],[1969,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1969,9,30,23,59,59],[1969,10,1,2,59,59],
+          '1969043023:00:00','1969050102:00:00','1969093023:59:59','1969100102:59:59' ],
+        [ [1969,10,1,0,0,0],[1969,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1970,4,30,22,59,59],[1970,5,1,0,59,59],
+          '1969100100:00:00','1969100102:00:00','1970043022:59:59','1970050100:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,30,23,0,0],[1970,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1970,9,30,23,59,59],[1970,10,1,2,59,59],
+          '1970043023:00:00','1970050102:00:00','1970093023:59:59','1970100102:59:59' ],
+        [ [1970,10,1,0,0,0],[1970,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1971,4,30,22,59,59],[1971,5,1,0,59,59],
+          '1970100100:00:00','1970100102:00:00','1971043022:59:59','1971050100:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,30,23,0,0],[1971,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1971,9,30,23,59,59],[1971,10,1,2,59,59],
+          '1971043023:00:00','1971050102:00:00','1971093023:59:59','1971100102:59:59' ],
+        [ [1971,10,1,0,0,0],[1971,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1972,4,30,22,59,59],[1972,5,1,0,59,59],
+          '1971100100:00:00','1971100102:00:00','1972043022:59:59','1972050100:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,23,0,0],[1972,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1972,9,30,23,59,59],[1972,10,1,2,59,59],
+          '1972043023:00:00','1972050102:00:00','1972093023:59:59','1972100102:59:59' ],
+        [ [1972,10,1,0,0,0],[1972,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1973,4,30,22,59,59],[1973,5,1,0,59,59],
+          '1972100100:00:00','1972100102:00:00','1973043022:59:59','1973050100:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,30,23,0,0],[1973,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1973,9,30,23,59,59],[1973,10,1,2,59,59],
+          '1973043023:00:00','1973050102:00:00','1973093023:59:59','1973100102:59:59' ],
+        [ [1973,10,1,0,0,0],[1973,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1974,4,30,22,59,59],[1974,5,1,0,59,59],
+          '1973100100:00:00','1973100102:00:00','1974043022:59:59','1974050100:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,30,23,0,0],[1974,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1974,9,30,23,59,59],[1974,10,1,2,59,59],
+          '1974043023:00:00','1974050102:00:00','1974093023:59:59','1974100102:59:59' ],
+        [ [1974,10,1,0,0,0],[1974,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,30,22,59,59],[1975,5,1,0,59,59],
+          '1974100100:00:00','1974100102:00:00','1975043022:59:59','1975050100:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,30,23,0,0],[1975,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,9,30,23,59,59],[1975,10,1,2,59,59],
+          '1975043023:00:00','1975050102:00:00','1975093023:59:59','1975100102:59:59' ],
+        [ [1975,10,1,0,0,0],[1975,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,4,30,22,59,59],[1976,5,1,0,59,59],
+          '1975100100:00:00','1975100102:00:00','1976043022:59:59','1976050100:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,30,23,0,0],[1976,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,9,30,23,59,59],[1976,10,1,2,59,59],
+          '1976043023:00:00','1976050102:00:00','1976093023:59:59','1976100102:59:59' ],
+        [ [1976,10,1,0,0,0],[1976,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,30,22,59,59],[1977,5,1,0,59,59],
+          '1976100100:00:00','1976100102:00:00','1977043022:59:59','1977050100:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,30,23,0,0],[1977,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,30,23,59,59],[1977,10,1,2,59,59],
+          '1977043023:00:00','1977050102:00:00','1977093023:59:59','1977100102:59:59' ],
+        [ [1977,10,1,0,0,0],[1977,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,30,22,59,59],[1978,5,1,0,59,59],
+          '1977100100:00:00','1977100102:00:00','1978043022:59:59','1978050100:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,23,0,0],[1978,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,9,30,23,59,59],[1978,10,1,2,59,59],
+          '1978043023:00:00','1978050102:00:00','1978093023:59:59','1978100102:59:59' ],
+        [ [1978,10,1,0,0,0],[1978,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,4,30,22,59,59],[1979,5,1,0,59,59],
+          '1978100100:00:00','1978100102:00:00','1979043022:59:59','1979050100:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,30,23,0,0],[1979,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,30,23,59,59],[1979,10,1,2,59,59],
+          '1979043023:00:00','1979050102:00:00','1979093023:59:59','1979100102:59:59' ],
+        [ [1979,10,1,0,0,0],[1979,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,30,22,59,59],[1980,5,1,0,59,59],
+          '1979100100:00:00','1979100102:00:00','1980043022:59:59','1980050100:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,30,23,0,0],[1980,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,30,23,59,59],[1980,10,1,2,59,59],
+          '1980043023:00:00','1980050102:00:00','1980093023:59:59','1980100102:59:59' ],
+        [ [1980,10,1,0,0,0],[1980,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,4,30,22,59,59],[1981,5,1,0,59,59],
+          '1980100100:00:00','1980100102:00:00','1981043022:59:59','1981050100:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,30,23,0,0],[1981,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,30,23,59,59],[1981,10,1,2,59,59],
+          '1981043023:00:00','1981050102:00:00','1981093023:59:59','1981100102:59:59' ],
+        [ [1981,10,1,0,0,0],[1981,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,7,24,22,59,59],[1982,7,25,0,59,59],
+          '1981100100:00:00','1981100102:00:00','1982072422:59:59','1982072500:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,7,24,23,0,0],[1982,7,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,30,23,59,59],[1982,10,1,2,59,59],
+          '1982072423:00:00','1982072502:00:00','1982093023:59:59','1982100102:59:59' ],
+        [ [1982,10,1,0,0,0],[1982,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,7,11,22,59,59],[1983,7,12,0,59,59],
+          '1982100100:00:00','1982100102:00:00','1983071122:59:59','1983071200:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,7,11,23,0,0],[1983,7,12,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,30,23,59,59],[1983,10,1,2,59,59],
+          '1983071123:00:00','1983071202:00:00','1983093023:59:59','1983100102:59:59' ],
+        [ [1983,10,1,0,0,0],[1983,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,4,30,22,59,59],[1984,5,1,0,59,59],
+          '1983100100:00:00','1983100102:00:00','1984043022:59:59','1984050100:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,30,23,0,0],[1984,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,30,23,59,59],[1984,10,1,2,59,59],
+          '1984043023:00:00','1984050102:00:00','1984093023:59:59','1984100102:59:59' ],
+        [ [1984,10,1,0,0,0],[1984,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,4,30,22,59,59],[1985,5,1,0,59,59],
+          '1984100100:00:00','1984100102:00:00','1985043022:59:59','1985050100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,30,23,0,0],[1985,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,30,23,59,59],[1985,10,1,2,59,59],
+          '1985043023:00:00','1985050102:00:00','1985093023:59:59','1985100102:59:59' ],
+        [ [1985,10,1,0,0,0],[1985,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,4,30,22,59,59],[1986,5,1,0,59,59],
+          '1985100100:00:00','1985100102:00:00','1986043022:59:59','1986050100:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,30,23,0,0],[1986,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,30,23,59,59],[1986,10,1,2,59,59],
+          '1986043023:00:00','1986050102:00:00','1986093023:59:59','1986100102:59:59' ],
+        [ [1986,10,1,0,0,0],[1986,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,4,30,22,59,59],[1987,5,1,0,59,59],
+          '1986100100:00:00','1986100102:00:00','1987043022:59:59','1987050100:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,30,23,0,0],[1987,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,30,23,59,59],[1987,10,1,2,59,59],
+          '1987043023:00:00','1987050102:00:00','1987093023:59:59','1987100102:59:59' ],
+        [ [1987,10,1,0,0,0],[1987,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,4,30,22,59,59],[1988,5,1,0,59,59],
+          '1987100100:00:00','1987100102:00:00','1988043022:59:59','1988050100:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,30,23,0,0],[1988,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,30,23,59,59],[1988,10,1,2,59,59],
+          '1988043023:00:00','1988050102:00:00','1988093023:59:59','1988100102:59:59' ],
+        [ [1988,10,1,0,0,0],[1988,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,5,5,22,59,59],[1989,5,6,0,59,59],
+          '1988100100:00:00','1988100102:00:00','1989050522:59:59','1989050600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,5,5,23,0,0],[1989,5,6,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,30,23,59,59],[1989,10,1,2,59,59],
+          '1989050523:00:00','1989050602:00:00','1989093023:59:59','1989100102:59:59' ],
+        [ [1989,10,1,0,0,0],[1989,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,4,30,22,59,59],[1990,5,1,0,59,59],
+          '1989100100:00:00','1989100102:00:00','1990043022:59:59','1990050100:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,30,23,0,0],[1990,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,30,23,59,59],[1990,10,1,2,59,59],
+          '1990043023:00:00','1990050102:00:00','1990093023:59:59','1990100102:59:59' ],
+        [ [1990,10,1,0,0,0],[1990,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,4,30,22,59,59],[1991,5,1,0,59,59],
+          '1990100100:00:00','1990100102:00:00','1991043022:59:59','1991050100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,30,23,0,0],[1991,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,30,23,59,59],[1991,10,1,2,59,59],
+          '1991043023:00:00','1991050102:00:00','1991093023:59:59','1991100102:59:59' ],
+        [ [1991,10,1,0,0,0],[1991,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,4,30,22,59,59],[1992,5,1,0,59,59],
+          '1991100100:00:00','1991100102:00:00','1992043022:59:59','1992050100:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,30,23,0,0],[1992,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,30,23,59,59],[1992,10,1,2,59,59],
+          '1992043023:00:00','1992050102:00:00','1992093023:59:59','1992100102:59:59' ],
+        [ [1992,10,1,0,0,0],[1992,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,4,30,22,59,59],[1993,5,1,0,59,59],
+          '1992100100:00:00','1992100102:00:00','1993043022:59:59','1993050100:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,30,23,0,0],[1993,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,30,23,59,59],[1993,10,1,2,59,59],
+          '1993043023:00:00','1993050102:00:00','1993093023:59:59','1993100102:59:59' ],
+        [ [1993,10,1,0,0,0],[1993,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,4,30,22,59,59],[1994,5,1,0,59,59],
+          '1993100100:00:00','1993100102:00:00','1994043022:59:59','1994050100:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,30,23,0,0],[1994,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,30,23,59,59],[1994,10,1,2,59,59],
+          '1994043023:00:00','1994050102:00:00','1994093023:59:59','1994100102:59:59' ],
+        [ [1994,10,1,0,0,0],[1994,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,4,27,21,59,59],[1995,4,27,23,59,59],
+          '1994100100:00:00','1994100102:00:00','1995042721:59:59','1995042723:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,27,22,0,0],[1995,4,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,28,20,59,59],[1995,9,28,23,59,59],
+          '1995042722:00:00','1995042801:00:00','1995092820:59:59','1995092823:59:59' ],
+        [ [1995,9,28,21,0,0],[1995,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,4,25,21,59,59],[1996,4,25,23,59,59],
+          '1995092821:00:00','1995092823:00:00','1996042521:59:59','1996042523:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,25,22,0,0],[1996,4,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,26,20,59,59],[1996,9,26,23,59,59],
+          '1996042522:00:00','1996042601:00:00','1996092620:59:59','1996092623:59:59' ],
+        [ [1996,9,26,21,0,0],[1996,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,4,24,21,59,59],[1997,4,24,23,59,59],
+          '1996092621:00:00','1996092623:00:00','1997042421:59:59','1997042423:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,24,22,0,0],[1997,4,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,25,20,59,59],[1997,9,25,23,59,59],
+          '1997042422:00:00','1997042501:00:00','1997092520:59:59','1997092523:59:59' ],
+        [ [1997,9,25,21,0,0],[1997,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,4,23,21,59,59],[1998,4,23,23,59,59],
+          '1997092521:00:00','1997092523:00:00','1998042321:59:59','1998042323:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,23,22,0,0],[1998,4,24,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,24,20,59,59],[1998,9,24,23,59,59],
+          '1998042322:00:00','1998042401:00:00','1998092420:59:59','1998092423:59:59' ],
+        [ [1998,9,24,21,0,0],[1998,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,4,29,21,59,59],[1999,4,29,23,59,59],
+          '1998092421:00:00','1998092423:00:00','1999042921:59:59','1999042923:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,29,22,0,0],[1999,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,9,30,20,59,59],[1999,9,30,23,59,59],
+          '1999042922:00:00','1999043001:00:00','1999093020:59:59','1999093023:59:59' ],
+        [ [1999,9,30,21,0,0],[1999,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,4,27,21,59,59],[2000,4,27,23,59,59],
+          '1999093021:00:00','1999093023:00:00','2000042721:59:59','2000042723:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,27,22,0,0],[2000,4,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,9,28,20,59,59],[2000,9,28,23,59,59],
+          '2000042722:00:00','2000042801:00:00','2000092820:59:59','2000092823:59:59' ],
+        [ [2000,9,28,21,0,0],[2000,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,4,26,21,59,59],[2001,4,26,23,59,59],
+          '2000092821:00:00','2000092823:00:00','2001042621:59:59','2001042623:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,26,22,0,0],[2001,4,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,9,27,20,59,59],[2001,9,27,23,59,59],
+          '2001042622:00:00','2001042701:00:00','2001092720:59:59','2001092723:59:59' ],
+        [ [2001,9,27,21,0,0],[2001,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,4,25,21,59,59],[2002,4,25,23,59,59],
+          '2001092721:00:00','2001092723:00:00','2002042521:59:59','2002042523:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,25,22,0,0],[2002,4,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,9,26,20,59,59],[2002,9,26,23,59,59],
+          '2002042522:00:00','2002042601:00:00','2002092620:59:59','2002092623:59:59' ],
+        [ [2002,9,26,21,0,0],[2002,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,4,24,21,59,59],[2003,4,24,23,59,59],
+          '2002092621:00:00','2002092623:00:00','2003042421:59:59','2003042423:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,24,22,0,0],[2003,4,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,9,25,20,59,59],[2003,9,25,23,59,59],
+          '2003042422:00:00','2003042501:00:00','2003092520:59:59','2003092523:59:59' ],
+        [ [2003,9,25,21,0,0],[2003,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,4,29,21,59,59],[2004,4,29,23,59,59],
+          '2003092521:00:00','2003092523:00:00','2004042921:59:59','2004042923:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,29,22,0,0],[2004,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,9,30,20,59,59],[2004,9,30,23,59,59],
+          '2004042922:00:00','2004043001:00:00','2004093020:59:59','2004093023:59:59' ],
+        [ [2004,9,30,21,0,0],[2004,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,4,28,21,59,59],[2005,4,28,23,59,59],
+          '2004093021:00:00','2004093023:00:00','2005042821:59:59','2005042823:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,28,22,0,0],[2005,4,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,9,29,20,59,59],[2005,9,29,23,59,59],
+          '2005042822:00:00','2005042901:00:00','2005092920:59:59','2005092923:59:59' ],
+        [ [2005,9,29,21,0,0],[2005,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,4,27,21,59,59],[2006,4,27,23,59,59],
+          '2005092921:00:00','2005092923:00:00','2006042721:59:59','2006042723:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,27,22,0,0],[2006,4,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,9,21,20,59,59],[2006,9,21,23,59,59],
+          '2006042722:00:00','2006042801:00:00','2006092120:59:59','2006092123:59:59' ],
+        [ [2006,9,21,21,0,0],[2006,9,21,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,4,26,21,59,59],[2007,4,26,23,59,59],
+          '2006092121:00:00','2006092123:00:00','2007042621:59:59','2007042623:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,26,22,0,0],[2007,4,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,9,6,20,59,59],[2007,9,6,23,59,59],
+          '2007042622:00:00','2007042701:00:00','2007090620:59:59','2007090623:59:59' ],
+        [ [2007,9,6,21,0,0],[2007,9,6,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,4,24,21,59,59],[2008,4,24,23,59,59],
+          '2007090621:00:00','2007090623:00:00','2008042421:59:59','2008042423:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,24,22,0,0],[2008,4,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,8,28,20,59,59],[2008,8,28,23,59,59],
+          '2008042422:00:00','2008042501:00:00','2008082820:59:59','2008082823:59:59' ],
+        [ [2008,8,28,21,0,0],[2008,8,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,4,23,21,59,59],[2009,4,23,23,59,59],
+          '2008082821:00:00','2008082823:00:00','2009042321:59:59','2009042323:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,23,22,0,0],[2009,4,24,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,8,20,20,59,59],[2009,8,20,23,59,59],
+          '2009042322:00:00','2009042401:00:00','2009082020:59:59','2009082023:59:59' ],
+        [ [2009,8,20,21,0,0],[2009,8,20,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,4,29,21,59,59],[2010,4,29,23,59,59],
+          '2009082021:00:00','2009082023:00:00','2010042921:59:59','2010042923:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,29,22,0,0],[2010,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,8,10,20,59,59],[2010,8,10,23,59,59],
+          '2010042922:00:00','2010043001:00:00','2010081020:59:59','2010081023:59:59' ],
+        [ [2010,8,10,21,0,0],[2010,8,10,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,9,9,21,59,59],[2010,9,9,23,59,59],
+          '2010081021:00:00','2010081023:00:00','2010090921:59:59','2010090923:59:59' ],
+        [ [2010,9,9,22,0,0],[2010,9,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,9,30,20,59,59],[2010,9,30,23,59,59],
+          '2010090922:00:00','2010091001:00:00','2010093020:59:59','2010093023:59:59' ],
+        [ [2010,9,30,21,0,0],[2010,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,5,15,21,59,59],[2014,5,15,23,59,59],
+          '2010093021:00:00','2010093023:00:00','2014051521:59:59','2014051523:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,5,15,22,0,0],[2014,5,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,6,26,20,59,59],[2014,6,26,23,59,59],
+          '2014051522:00:00','2014051601:00:00','2014062620:59:59','2014062623:59:59' ],
+        [ [2014,6,26,21,0,0],[2014,6,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,7,31,21,59,59],[2014,7,31,23,59,59],
+          '2014062621:00:00','2014062623:00:00','2014073121:59:59','2014073123:59:59' ],
+        [ [2014,7,31,22,0,0],[2014,8,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,9,25,20,59,59],[2014,9,25,23,59,59],
+          '2014073122:00:00','2014080101:00:00','2014092520:59:59','2014092523:59:59' ],
+        [ [2014,9,25,21,0,0],[2014,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '2014092521:00:00','2014092523:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afcasa00.pm b/lib/Date/Manip/TZ/afcasa00.pm
new file mode 100644
index 0000000..b074b08
--- /dev/null
+++ b/lib/Date/Manip/TZ/afcasa00.pm
@@ -0,0 +1,760 @@
+package #
+Date::Manip::TZ::afcasa00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,29,40],'-00:30:20',[0,-30,-20],
+          'LMT',0,[1913,10,26,0,30,19],[1913,10,25,23,59,59],
+          '0001010200:00:00','0001010123:29:40','1913102600:30:19','1913102523:59:59' ],
+     ],
+   1913 =>
+     [
+        [ [1913,10,26,0,30,20],[1913,10,26,0,30,20],'+00:00:00',[0,0,0],
+          'WET',0,[1939,9,11,23,59,59],[1939,9,11,23,59,59],
+          '1913102600:30:20','1913102600:30:20','1939091123:59:59','1939091123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,9,12,0,0,0],[1939,9,12,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,18,22,59,59],[1939,11,18,23,59,59],
+          '1939091200:00:00','1939091201:00:00','1939111822:59:59','1939111823:59:59' ],
+        [ [1939,11,18,23,0,0],[1939,11,18,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,24,23,59,59],[1940,2,24,23,59,59],
+          '1939111823:00:00','1939111823:00:00','1940022423:59:59','1940022423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,0,0,0],[1940,2,25,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1945,11,17,22,59,59],[1945,11,17,23,59,59],
+          '1940022500:00:00','1940022501:00:00','1945111722:59:59','1945111723:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,11,17,23,0,0],[1945,11,17,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1950,6,10,23,59,59],[1950,6,10,23,59,59],
+          '1945111723:00:00','1945111723:00:00','1950061023:59:59','1950061023:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,6,11,0,0,0],[1950,6,11,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1950,10,28,22,59,59],[1950,10,28,23,59,59],
+          '1950061100:00:00','1950061101:00:00','1950102822:59:59','1950102823:59:59' ],
+        [ [1950,10,28,23,0,0],[1950,10,28,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1967,6,3,11,59,59],[1967,6,3,11,59,59],
+          '1950102823:00:00','1950102823:00:00','1967060311:59:59','1967060311:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,6,3,12,0,0],[1967,6,3,13,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1967,9,30,22,59,59],[1967,9,30,23,59,59],
+          '1967060312:00:00','1967060313:00:00','1967093022:59:59','1967093023:59:59' ],
+        [ [1967,9,30,23,0,0],[1967,9,30,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1974,6,23,23,59,59],[1974,6,23,23,59,59],
+          '1967093023:00:00','1967093023:00:00','1974062323:59:59','1974062323:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,6,24,0,0,0],[1974,6,24,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1974,8,31,22,59,59],[1974,8,31,23,59,59],
+          '1974062400:00:00','1974062401:00:00','1974083122:59:59','1974083123:59:59' ],
+        [ [1974,8,31,23,0,0],[1974,8,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1976,4,30,23,59,59],[1976,4,30,23,59,59],
+          '1974083123:00:00','1974083123:00:00','1976043023:59:59','1976043023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,1,0,0,0],[1976,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1976,7,31,22,59,59],[1976,7,31,23,59,59],
+          '1976050100:00:00','1976050101:00:00','1976073122:59:59','1976073123:59:59' ],
+        [ [1976,7,31,23,0,0],[1976,7,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,4,30,23,59,59],[1977,4,30,23,59,59],
+          '1976073123:00:00','1976073123:00:00','1977043023:59:59','1977043023:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,1,0,0,0],[1977,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,27,22,59,59],[1977,9,27,23,59,59],
+          '1977050100:00:00','1977050101:00:00','1977092722:59:59','1977092723:59:59' ],
+        [ [1977,9,27,23,0,0],[1977,9,27,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,5,31,23,59,59],[1978,5,31,23,59,59],
+          '1977092723:00:00','1977092723:00:00','1978053123:59:59','1978053123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,6,1,0,0,0],[1978,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,8,3,22,59,59],[1978,8,3,23,59,59],
+          '1978060100:00:00','1978060101:00:00','1978080322:59:59','1978080323:59:59' ],
+        [ [1978,8,3,23,0,0],[1978,8,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,15,23,59,59],[1984,3,15,23,59,59],
+          '1978080323:00:00','1978080323:00:00','1984031523:59:59','1984031523:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,16,0,0,0],[1984,3,16,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,12,31,22,59,59],[1985,12,31,23,59,59],
+          '1984031600:00:00','1984031601:00:00','1985123122:59:59','1985123123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,12,31,23,0,0],[1985,12,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,5,31,23,59,59],[2008,5,31,23,59,59],
+          '1985123123:00:00','1985123123:00:00','2008053123:59:59','2008053123:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,6,1,0,0,0],[2008,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,8,31,22,59,59],[2008,8,31,23,59,59],
+          '2008060100:00:00','2008060101:00:00','2008083122:59:59','2008083123:59:59' ],
+        [ [2008,8,31,23,0,0],[2008,8,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,5,31,23,59,59],[2009,5,31,23,59,59],
+          '2008083123:00:00','2008083123:00:00','2009053123:59:59','2009053123:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,6,1,0,0,0],[2009,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,8,20,22,59,59],[2009,8,20,23,59,59],
+          '2009060100:00:00','2009060101:00:00','2009082022:59:59','2009082023:59:59' ],
+        [ [2009,8,20,23,0,0],[2009,8,20,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,5,1,23,59,59],[2010,5,1,23,59,59],
+          '2009082023:00:00','2009082023:00:00','2010050123:59:59','2010050123:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,5,2,0,0,0],[2010,5,2,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,8,7,22,59,59],[2010,8,7,23,59,59],
+          '2010050200:00:00','2010050201:00:00','2010080722:59:59','2010080723:59:59' ],
+        [ [2010,8,7,23,0,0],[2010,8,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,4,2,23,59,59],[2011,4,2,23,59,59],
+          '2010080723:00:00','2010080723:00:00','2011040223:59:59','2011040223:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,0,0,0],[2011,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,7,30,22,59,59],[2011,7,30,23,59,59],
+          '2011040300:00:00','2011040301:00:00','2011073022:59:59','2011073023:59:59' ],
+        [ [2011,7,30,23,0,0],[2011,7,30,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,4,29,1,59,59],[2012,4,29,1,59,59],
+          '2011073023:00:00','2011073023:00:00','2012042901:59:59','2012042901:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,2,0,0],[2012,4,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,7,20,1,59,59],[2012,7,20,2,59,59],
+          '2012042902:00:00','2012042903:00:00','2012072001:59:59','2012072002:59:59' ],
+        [ [2012,7,20,2,0,0],[2012,7,20,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,8,20,1,59,59],[2012,8,20,1,59,59],
+          '2012072002:00:00','2012072002:00:00','2012082001:59:59','2012082001:59:59' ],
+        [ [2012,8,20,2,0,0],[2012,8,20,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,9,30,1,59,59],[2012,9,30,2,59,59],
+          '2012082002:00:00','2012082003:00:00','2012093001:59:59','2012093002:59:59' ],
+        [ [2012,9,30,2,0,0],[2012,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,4,28,1,59,59],[2013,4,28,1,59,59],
+          '2012093002:00:00','2012093002:00:00','2013042801:59:59','2013042801:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,2,0,0],[2013,4,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,7,7,1,59,59],[2013,7,7,2,59,59],
+          '2013042802:00:00','2013042803:00:00','2013070701:59:59','2013070702:59:59' ],
+        [ [2013,7,7,2,0,0],[2013,7,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,8,10,1,59,59],[2013,8,10,1,59,59],
+          '2013070702:00:00','2013070702:00:00','2013081001:59:59','2013081001:59:59' ],
+        [ [2013,8,10,2,0,0],[2013,8,10,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,1,59,59],[2013,10,27,2,59,59],
+          '2013081002:00:00','2013081003:00:00','2013102701:59:59','2013102702:59:59' ],
+        [ [2013,10,27,2,0,0],[2013,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,1,59,59],[2014,3,30,1,59,59],
+          '2013102702:00:00','2013102702:00:00','2014033001:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,2,0,0],[2014,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,6,28,1,59,59],[2014,6,28,2,59,59],
+          '2014033002:00:00','2014033003:00:00','2014062801:59:59','2014062802:59:59' ],
+        [ [2014,6,28,2,0,0],[2014,6,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,8,2,1,59,59],[2014,8,2,1,59,59],
+          '2014062802:00:00','2014062802:00:00','2014080201:59:59','2014080201:59:59' ],
+        [ [2014,8,2,2,0,0],[2014,8,2,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,1,59,59],[2014,10,26,2,59,59],
+          '2014080202:00:00','2014080203:00:00','2014102601:59:59','2014102602:59:59' ],
+        [ [2014,10,26,2,0,0],[2014,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,1,59,59],[2015,3,29,1,59,59],
+          '2014102602:00:00','2014102602:00:00','2015032901:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,2,0,0],[2015,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,6,14,1,59,59],[2015,6,14,2,59,59],
+          '2015032902:00:00','2015032903:00:00','2015061401:59:59','2015061402:59:59' ],
+        [ [2015,6,14,2,0,0],[2015,6,14,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,7,19,1,59,59],[2015,7,19,1,59,59],
+          '2015061402:00:00','2015061402:00:00','2015071901:59:59','2015071901:59:59' ],
+        [ [2015,7,19,2,0,0],[2015,7,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,1,59,59],[2015,10,25,2,59,59],
+          '2015071902:00:00','2015071903:00:00','2015102501:59:59','2015102502:59:59' ],
+        [ [2015,10,25,2,0,0],[2015,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,1,59,59],[2016,3,27,1,59,59],
+          '2015102502:00:00','2015102502:00:00','2016032701:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,2,0,0],[2016,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,6,5,1,59,59],[2016,6,5,2,59,59],
+          '2016032702:00:00','2016032703:00:00','2016060501:59:59','2016060502:59:59' ],
+        [ [2016,6,5,2,0,0],[2016,6,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,7,10,1,59,59],[2016,7,10,1,59,59],
+          '2016060502:00:00','2016060502:00:00','2016071001:59:59','2016071001:59:59' ],
+        [ [2016,7,10,2,0,0],[2016,7,10,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,1,59,59],[2016,10,30,2,59,59],
+          '2016071002:00:00','2016071003:00:00','2016103001:59:59','2016103002:59:59' ],
+        [ [2016,10,30,2,0,0],[2016,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,1,59,59],[2017,3,26,1,59,59],
+          '2016103002:00:00','2016103002:00:00','2017032601:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,2,0,0],[2017,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,5,21,1,59,59],[2017,5,21,2,59,59],
+          '2017032602:00:00','2017032603:00:00','2017052101:59:59','2017052102:59:59' ],
+        [ [2017,5,21,2,0,0],[2017,5,21,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,7,2,1,59,59],[2017,7,2,1,59,59],
+          '2017052102:00:00','2017052102:00:00','2017070201:59:59','2017070201:59:59' ],
+        [ [2017,7,2,2,0,0],[2017,7,2,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,1,59,59],[2017,10,29,2,59,59],
+          '2017070202:00:00','2017070203:00:00','2017102901:59:59','2017102902:59:59' ],
+        [ [2017,10,29,2,0,0],[2017,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,1,59,59],[2018,3,25,1,59,59],
+          '2017102902:00:00','2017102902:00:00','2018032501:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,2,0,0],[2018,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,5,13,1,59,59],[2018,5,13,2,59,59],
+          '2018032502:00:00','2018032503:00:00','2018051301:59:59','2018051302:59:59' ],
+        [ [2018,5,13,2,0,0],[2018,5,13,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,6,17,1,59,59],[2018,6,17,1,59,59],
+          '2018051302:00:00','2018051302:00:00','2018061701:59:59','2018061701:59:59' ],
+        [ [2018,6,17,2,0,0],[2018,6,17,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,1,59,59],[2018,10,28,2,59,59],
+          '2018061702:00:00','2018061703:00:00','2018102801:59:59','2018102802:59:59' ],
+        [ [2018,10,28,2,0,0],[2018,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,1,59,59],[2019,3,31,1,59,59],
+          '2018102802:00:00','2018102802:00:00','2019033101:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,2,0,0],[2019,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,5,5,1,59,59],[2019,5,5,2,59,59],
+          '2019033102:00:00','2019033103:00:00','2019050501:59:59','2019050502:59:59' ],
+        [ [2019,5,5,2,0,0],[2019,5,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,6,9,1,59,59],[2019,6,9,1,59,59],
+          '2019050502:00:00','2019050502:00:00','2019060901:59:59','2019060901:59:59' ],
+        [ [2019,6,9,2,0,0],[2019,6,9,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,1,59,59],[2019,10,27,2,59,59],
+          '2019060902:00:00','2019060903:00:00','2019102701:59:59','2019102702:59:59' ],
+        [ [2019,10,27,2,0,0],[2019,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,1,59,59],[2020,3,29,1,59,59],
+          '2019102702:00:00','2019102702:00:00','2020032901:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,2,0,0],[2020,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,4,19,1,59,59],[2020,4,19,2,59,59],
+          '2020032902:00:00','2020032903:00:00','2020041901:59:59','2020041902:59:59' ],
+        [ [2020,4,19,2,0,0],[2020,4,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,5,24,1,59,59],[2020,5,24,1,59,59],
+          '2020041902:00:00','2020041902:00:00','2020052401:59:59','2020052401:59:59' ],
+        [ [2020,5,24,2,0,0],[2020,5,24,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,1,59,59],[2020,10,25,2,59,59],
+          '2020052402:00:00','2020052403:00:00','2020102501:59:59','2020102502:59:59' ],
+        [ [2020,10,25,2,0,0],[2020,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,1,59,59],[2021,3,28,1,59,59],
+          '2020102502:00:00','2020102502:00:00','2021032801:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,2,0,0],[2021,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,4,11,1,59,59],[2021,4,11,2,59,59],
+          '2021032802:00:00','2021032803:00:00','2021041101:59:59','2021041102:59:59' ],
+        [ [2021,4,11,2,0,0],[2021,4,11,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,5,16,1,59,59],[2021,5,16,1,59,59],
+          '2021041102:00:00','2021041102:00:00','2021051601:59:59','2021051601:59:59' ],
+        [ [2021,5,16,2,0,0],[2021,5,16,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,1,59,59],[2021,10,31,2,59,59],
+          '2021051602:00:00','2021051603:00:00','2021103101:59:59','2021103102:59:59' ],
+        [ [2021,10,31,2,0,0],[2021,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,5,8,1,59,59],[2022,5,8,1,59,59],
+          '2021103102:00:00','2021103102:00:00','2022050801:59:59','2022050801:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,5,8,2,0,0],[2022,5,8,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,1,59,59],[2022,10,30,2,59,59],
+          '2022050802:00:00','2022050803:00:00','2022103001:59:59','2022103002:59:59' ],
+        [ [2022,10,30,2,0,0],[2022,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,4,23,1,59,59],[2023,4,23,1,59,59],
+          '2022103002:00:00','2022103002:00:00','2023042301:59:59','2023042301:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,23,2,0,0],[2023,4,23,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,1,59,59],[2023,10,29,2,59,59],
+          '2023042302:00:00','2023042303:00:00','2023102901:59:59','2023102902:59:59' ],
+        [ [2023,10,29,2,0,0],[2023,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,4,14,1,59,59],[2024,4,14,1,59,59],
+          '2023102902:00:00','2023102902:00:00','2024041401:59:59','2024041401:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,14,2,0,0],[2024,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,1,59,59],[2024,10,27,2,59,59],
+          '2024041402:00:00','2024041403:00:00','2024102701:59:59','2024102702:59:59' ],
+        [ [2024,10,27,2,0,0],[2024,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,4,6,1,59,59],[2025,4,6,1,59,59],
+          '2024102702:00:00','2024102702:00:00','2025040601:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,2,0,0],[2025,4,6,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,1,59,59],[2025,10,26,2,59,59],
+          '2025040602:00:00','2025040603:00:00','2025102601:59:59','2025102602:59:59' ],
+        [ [2025,10,26,2,0,0],[2025,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,1,59,59],[2026,3,29,1,59,59],
+          '2025102602:00:00','2025102602:00:00','2026032901:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,2,0,0],[2026,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,1,59,59],[2026,10,25,2,59,59],
+          '2026032902:00:00','2026032903:00:00','2026102501:59:59','2026102502:59:59' ],
+        [ [2026,10,25,2,0,0],[2026,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,1,59,59],[2027,3,28,1,59,59],
+          '2026102502:00:00','2026102502:00:00','2027032801:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,2,0,0],[2027,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,1,59,59],[2027,10,31,2,59,59],
+          '2027032802:00:00','2027032803:00:00','2027103101:59:59','2027103102:59:59' ],
+        [ [2027,10,31,2,0,0],[2027,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,1,59,59],[2028,3,26,1,59,59],
+          '2027103102:00:00','2027103102:00:00','2028032601:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,2,0,0],[2028,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,1,59,59],[2028,10,29,2,59,59],
+          '2028032602:00:00','2028032603:00:00','2028102901:59:59','2028102902:59:59' ],
+        [ [2028,10,29,2,0,0],[2028,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,1,59,59],[2029,3,25,1,59,59],
+          '2028102902:00:00','2028102902:00:00','2029032501:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,2,0,0],[2029,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,1,59,59],[2029,10,28,2,59,59],
+          '2029032502:00:00','2029032503:00:00','2029102801:59:59','2029102802:59:59' ],
+        [ [2029,10,28,2,0,0],[2029,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,1,59,59],[2030,3,31,1,59,59],
+          '2029102802:00:00','2029102802:00:00','2030033101:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,2,0,0],[2030,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,1,59,59],[2030,10,27,2,59,59],
+          '2030033102:00:00','2030033103:00:00','2030102701:59:59','2030102702:59:59' ],
+        [ [2030,10,27,2,0,0],[2030,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,1,59,59],[2031,3,30,1,59,59],
+          '2030102702:00:00','2030102702:00:00','2031033001:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,2,0,0],[2031,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,1,59,59],[2031,10,26,2,59,59],
+          '2031033002:00:00','2031033003:00:00','2031102601:59:59','2031102602:59:59' ],
+        [ [2031,10,26,2,0,0],[2031,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,1,59,59],[2032,3,28,1,59,59],
+          '2031102602:00:00','2031102602:00:00','2032032801:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,2,0,0],[2032,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,1,59,59],[2032,10,31,2,59,59],
+          '2032032802:00:00','2032032803:00:00','2032103101:59:59','2032103102:59:59' ],
+        [ [2032,10,31,2,0,0],[2032,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,1,59,59],[2033,3,27,1,59,59],
+          '2032103102:00:00','2032103102:00:00','2033032701:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,2,0,0],[2033,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,1,59,59],[2033,10,30,2,59,59],
+          '2033032702:00:00','2033032703:00:00','2033103001:59:59','2033103002:59:59' ],
+        [ [2033,10,30,2,0,0],[2033,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,1,59,59],[2034,3,26,1,59,59],
+          '2033103002:00:00','2033103002:00:00','2034032601:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,2,0,0],[2034,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,1,59,59],[2034,10,29,2,59,59],
+          '2034032602:00:00','2034032603:00:00','2034102901:59:59','2034102902:59:59' ],
+        [ [2034,10,29,2,0,0],[2034,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,1,59,59],[2035,3,25,1,59,59],
+          '2034102902:00:00','2034102902:00:00','2035032501:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,2,0,0],[2035,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,1,59,59],[2035,10,28,2,59,59],
+          '2035032502:00:00','2035032503:00:00','2035102801:59:59','2035102802:59:59' ],
+        [ [2035,10,28,2,0,0],[2035,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,1,59,59],[2036,3,30,1,59,59],
+          '2035102802:00:00','2035102802:00:00','2036033001:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,2,0,0],[2036,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,19,1,59,59],[2036,10,19,2,59,59],
+          '2036033002:00:00','2036033003:00:00','2036101901:59:59','2036101902:59:59' ],
+        [ [2036,10,19,2,0,0],[2036,10,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,1,59,59],[2037,3,29,1,59,59],
+          '2036101902:00:00','2036101902:00:00','2037032901:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,2,0,0],[2037,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,4,1,59,59],[2037,10,4,2,59,59],
+          '2037032902:00:00','2037032903:00:00','2037100401:59:59','2037100402:59:59' ],
+        [ [2037,10,4,2,0,0],[2037,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,1,59,59],[2038,3,28,1,59,59],
+          '2037100402:00:00','2037100402:00:00','2038032801:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,2,0,0],[2038,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,1,59,59],[2038,10,31,2,59,59],
+          '2038032802:00:00','2038032803:00:00','2038103101:59:59','2038103102:59:59' ],
+        [ [2038,10,31,2,0,0],[2038,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,1,59,59],[2039,3,27,1,59,59],
+          '2038103102:00:00','2038103102:00:00','2039032701:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,2,0,0],[2039,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,1,59,59],[2039,10,30,2,59,59],
+          '2039032702:00:00','2039032703:00:00','2039103001:59:59','2039103002:59:59' ],
+        [ [2039,10,30,2,0,0],[2039,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,1,59,59],[2040,3,25,1,59,59],
+          '2039103002:00:00','2039103002:00:00','2040032501:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,2,0,0],[2040,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,1,59,59],[2040,10,28,2,59,59],
+          '2040032502:00:00','2040032503:00:00','2040102801:59:59','2040102802:59:59' ],
+        [ [2040,10,28,2,0,0],[2040,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,1,59,59],[2041,3,31,1,59,59],
+          '2040102802:00:00','2040102802:00:00','2041033101:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,2,0,0],[2041,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,1,59,59],[2041,10,27,2,59,59],
+          '2041033102:00:00','2041033103:00:00','2041102701:59:59','2041102702:59:59' ],
+        [ [2041,10,27,2,0,0],[2041,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,1,59,59],[2042,3,30,1,59,59],
+          '2041102702:00:00','2041102702:00:00','2042033001:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,2,0,0],[2042,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,1,59,59],[2042,10,26,2,59,59],
+          '2042033002:00:00','2042033003:00:00','2042102601:59:59','2042102602:59:59' ],
+        [ [2042,10,26,2,0,0],[2042,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,1,59,59],[2043,3,29,1,59,59],
+          '2042102602:00:00','2042102602:00:00','2043032901:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,2,0,0],[2043,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,1,59,59],[2043,10,25,2,59,59],
+          '2043032902:00:00','2043032903:00:00','2043102501:59:59','2043102502:59:59' ],
+        [ [2043,10,25,2,0,0],[2043,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,1,59,59],[2044,3,27,1,59,59],
+          '2043102502:00:00','2043102502:00:00','2044032701:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,2,0,0],[2044,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,1,59,59],[2044,10,30,2,59,59],
+          '2044032702:00:00','2044032703:00:00','2044103001:59:59','2044103002:59:59' ],
+        [ [2044,10,30,2,0,0],[2044,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,1,59,59],[2045,3,26,1,59,59],
+          '2044103002:00:00','2044103002:00:00','2045032601:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,2,0,0],[2045,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,1,59,59],[2045,10,29,2,59,59],
+          '2045032602:00:00','2045032603:00:00','2045102901:59:59','2045102902:59:59' ],
+        [ [2045,10,29,2,0,0],[2045,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,1,59,59],[2046,3,25,1,59,59],
+          '2045102902:00:00','2045102902:00:00','2046032501:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,2,0,0],[2046,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,1,59,59],[2046,10,28,2,59,59],
+          '2046032502:00:00','2046032503:00:00','2046102801:59:59','2046102802:59:59' ],
+        [ [2046,10,28,2,0,0],[2046,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,1,59,59],[2047,3,31,1,59,59],
+          '2046102802:00:00','2046102802:00:00','2047033101:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,2,0,0],[2047,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,1,59,59],[2047,10,27,2,59,59],
+          '2047033102:00:00','2047033103:00:00','2047102701:59:59','2047102702:59:59' ],
+        [ [2047,10,27,2,0,0],[2047,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,1,59,59],[2048,3,29,1,59,59],
+          '2047102702:00:00','2047102702:00:00','2048032901:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,2,0,0],[2048,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,1,59,59],[2048,10,25,2,59,59],
+          '2048032902:00:00','2048032903:00:00','2048102501:59:59','2048102502:59:59' ],
+        [ [2048,10,25,2,0,0],[2048,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,1,59,59],[2049,3,28,1,59,59],
+          '2048102502:00:00','2048102502:00:00','2049032801:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,2,0,0],[2049,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,1,59,59],[2049,10,31,2,59,59],
+          '2049032802:00:00','2049032803:00:00','2049103101:59:59','2049103102:59:59' ],
+        [ [2049,10,31,2,0,0],[2049,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,1,59,59],[2050,3,27,1,59,59],
+          '2049103102:00:00','2049103102:00:00','2050032701:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,2,0,0],[2050,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,1,59,59],[2050,10,30,2,59,59],
+          '2050032702:00:00','2050032703:00:00','2050103001:59:59','2050103002:59:59' ],
+        [ [2050,10,30,2,0,0],[2050,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,1,59,59],[2051,3,26,1,59,59],
+          '2050103002:00:00','2050103002:00:00','2051032601:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,2,0,0],[2051,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,1,59,59],[2051,10,29,2,59,59],
+          '2051032602:00:00','2051032603:00:00','2051102901:59:59','2051102902:59:59' ],
+        [ [2051,10,29,2,0,0],[2051,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,1,59,59],[2052,3,31,1,59,59],
+          '2051102902:00:00','2051102902:00:00','2052033101:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,2,0,0],[2052,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,1,59,59],[2052,10,27,2,59,59],
+          '2052033102:00:00','2052033103:00:00','2052102701:59:59','2052102702:59:59' ],
+        [ [2052,10,27,2,0,0],[2052,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,1,59,59],[2053,3,30,1,59,59],
+          '2052102702:00:00','2052102702:00:00','2053033001:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,2,0,0],[2053,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,1,59,59],[2053,10,26,2,59,59],
+          '2053033002:00:00','2053033003:00:00','2053102601:59:59','2053102602:59:59' ],
+        [ [2053,10,26,2,0,0],[2053,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,1,59,59],[2054,3,29,1,59,59],
+          '2053102602:00:00','2053102602:00:00','2054032901:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,2,0,0],[2054,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,1,59,59],[2054,10,25,2,59,59],
+          '2054032902:00:00','2054032903:00:00','2054102501:59:59','2054102502:59:59' ],
+        [ [2054,10,25,2,0,0],[2054,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,1,59,59],[2055,3,28,1,59,59],
+          '2054102502:00:00','2054102502:00:00','2055032801:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,2,0,0],[2055,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,1,59,59],[2055,10,31,2,59,59],
+          '2055032802:00:00','2055032803:00:00','2055103101:59:59','2055103102:59:59' ],
+        [ [2055,10,31,2,0,0],[2055,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,1,59,59],[2056,3,26,1,59,59],
+          '2055103102:00:00','2055103102:00:00','2056032601:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,2,0,0],[2056,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,1,59,59],[2056,10,29,2,59,59],
+          '2056032602:00:00','2056032603:00:00','2056102901:59:59','2056102902:59:59' ],
+        [ [2056,10,29,2,0,0],[2056,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,1,59,59],[2057,3,25,1,59,59],
+          '2056102902:00:00','2056102902:00:00','2057032501:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,2,0,0],[2057,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,1,59,59],[2057,10,28,2,59,59],
+          '2057032502:00:00','2057032503:00:00','2057102801:59:59','2057102802:59:59' ],
+        [ [2057,10,28,2,0,0],[2057,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,1,59,59],[2058,3,31,1,59,59],
+          '2057102802:00:00','2057102802:00:00','2058033101:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,2,0,0],[2058,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,1,59,59],[2058,10,27,2,59,59],
+          '2058033102:00:00','2058033103:00:00','2058102701:59:59','2058102702:59:59' ],
+        [ [2058,10,27,2,0,0],[2058,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,1,59,59],[2059,3,30,1,59,59],
+          '2058102702:00:00','2058102702:00:00','2059033001:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,2,0,0],[2059,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,1,59,59],[2059,10,26,2,59,59],
+          '2059033002:00:00','2059033003:00:00','2059102601:59:59','2059102602:59:59' ],
+        [ [2059,10,26,2,0,0],[2059,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,1,59,59],[2060,3,28,1,59,59],
+          '2059102602:00:00','2059102602:00:00','2060032801:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,2,0,0],[2060,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,1,59,59],[2060,10,31,2,59,59],
+          '2060032802:00:00','2060032803:00:00','2060103101:59:59','2060103102:59:59' ],
+        [ [2060,10,31,2,0,0],[2060,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,1,59,59],[2061,3,27,1,59,59],
+          '2060103102:00:00','2060103102:00:00','2061032701:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,2,0,0],[2061,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,1,59,59],[2061,10,30,2,59,59],
+          '2061032702:00:00','2061032703:00:00','2061103001:59:59','2061103002:59:59' ],
+        [ [2061,10,30,2,0,0],[2061,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,1,59,59],[2062,3,26,1,59,59],
+          '2061103002:00:00','2061103002:00:00','2062032601:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,2,0,0],[2062,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,1,59,59],[2062,10,29,2,59,59],
+          '2062032602:00:00','2062032603:00:00','2062102901:59:59','2062102902:59:59' ],
+        [ [2062,10,29,2,0,0],[2062,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,1,59,59],[2063,3,25,1,59,59],
+          '2062102902:00:00','2062102902:00:00','2063032501:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,2,0,0],[2063,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,1,59,59],[2063,10,28,2,59,59],
+          '2063032502:00:00','2063032503:00:00','2063102801:59:59','2063102802:59:59' ],
+        [ [2063,10,28,2,0,0],[2063,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,1,59,59],[2064,3,30,1,59,59],
+          '2063102802:00:00','2063102802:00:00','2064033001:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,2,0,0],[2064,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,1,59,59],[2064,10,26,2,59,59],
+          '2064033002:00:00','2064033003:00:00','2064102601:59:59','2064102602:59:59' ],
+        [ [2064,10,26,2,0,0],[2064,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,1,59,59],[2065,3,29,1,59,59],
+          '2064102602:00:00','2064102602:00:00','2065032901:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,2,0,0],[2065,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,1,59,59],[2065,10,25,2,59,59],
+          '2065032902:00:00','2065032903:00:00','2065102501:59:59','2065102502:59:59' ],
+        [ [2065,10,25,2,0,0],[2065,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,1,59,59],[2066,3,28,1,59,59],
+          '2065102502:00:00','2065102502:00:00','2066032801:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,2,0,0],[2066,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,1,59,59],[2066,10,31,2,59,59],
+          '2066032802:00:00','2066032803:00:00','2066103101:59:59','2066103102:59:59' ],
+        [ [2066,10,31,2,0,0],[2066,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,1,59,59],[2067,3,27,1,59,59],
+          '2066103102:00:00','2066103102:00:00','2067032701:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,2,0,0],[2067,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,1,59,59],[2067,10,30,2,59,59],
+          '2067032702:00:00','2067032703:00:00','2067103001:59:59','2067103002:59:59' ],
+        [ [2067,10,30,2,0,0],[2067,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,1,59,59],[2068,3,25,1,59,59],
+          '2067103002:00:00','2067103002:00:00','2068032501:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afceut00.pm b/lib/Date/Manip/TZ/afceut00.pm
new file mode 100644
index 0000000..19cac8f
--- /dev/null
+++ b/lib/Date/Manip/TZ/afceut00.pm
@@ -0,0 +1,907 @@
+package #
+Date::Manip::TZ::afceut00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,38,44],'-00:21:16',[0,-21,-16],
+          'LMT',0,[1900,12,31,23,59,59],[1900,12,31,23,38,43],
+          '0001010200:00:00','0001010123:38:44','1900123123:59:59','1900123123:38:43' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,0,0,0],[1901,1,1,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,5,6,22,59,59],[1918,5,6,22,59,59],
+          '1901010100:00:00','1901010100:00:00','1918050622:59:59','1918050622:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,5,6,23,0,0],[1918,5,7,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,7,21,59,59],[1918,10,7,22,59,59],
+          '1918050623:00:00','1918050700:00:00','1918100721:59:59','1918100722:59:59' ],
+        [ [1918,10,7,22,0,0],[1918,10,7,22,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,4,16,22,59,59],[1924,4,16,22,59,59],
+          '1918100722:00:00','1918100722:00:00','1924041622:59:59','1924041622:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,16,23,0,0],[1924,4,17,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,23,59,59],[1924,10,5,0,59,59],
+          '1924041623:00:00','1924041700:00:00','1924100423:59:59','1924100500:59:59' ],
+        [ [1924,10,5,0,0,0],[1924,10,5,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1924100500:00:00','1924100500:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,23,59,59],[1926,10,3,0,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100223:59:59','1926100300:59:59' ],
+        [ [1926,10,3,0,0,0],[1926,10,3,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100300:00:00','1926100300:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,23,59,59],[1927,10,2,0,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100123:59:59','1927100200:59:59' ],
+        [ [1927,10,2,0,0,0],[1927,10,2,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,23,59,59],[1928,4,14,23,59,59],
+          '1927100200:00:00','1927100200:00:00','1928041423:59:59','1928041423:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,15,0,0,0],[1928,4,15,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,23,59,59],[1928,10,7,0,59,59],
+          '1928041500:00:00','1928041501:00:00','1928100623:59:59','1928100700:59:59' ],
+        [ [1928,10,7,0,0,0],[1928,10,7,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1967,6,3,11,59,59],[1967,6,3,11,59,59],
+          '1928100700:00:00','1928100700:00:00','1967060311:59:59','1967060311:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,6,3,12,0,0],[1967,6,3,13,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1967,9,30,22,59,59],[1967,9,30,23,59,59],
+          '1967060312:00:00','1967060313:00:00','1967093022:59:59','1967093023:59:59' ],
+        [ [1967,9,30,23,0,0],[1967,9,30,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1974,6,23,23,59,59],[1974,6,23,23,59,59],
+          '1967093023:00:00','1967093023:00:00','1974062323:59:59','1974062323:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,6,24,0,0,0],[1974,6,24,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1974,8,31,22,59,59],[1974,8,31,23,59,59],
+          '1974062400:00:00','1974062401:00:00','1974083122:59:59','1974083123:59:59' ],
+        [ [1974,8,31,23,0,0],[1974,8,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1976,4,30,23,59,59],[1976,4,30,23,59,59],
+          '1974083123:00:00','1974083123:00:00','1976043023:59:59','1976043023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,1,0,0,0],[1976,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1976,7,31,22,59,59],[1976,7,31,23,59,59],
+          '1976050100:00:00','1976050101:00:00','1976073122:59:59','1976073123:59:59' ],
+        [ [1976,7,31,23,0,0],[1976,7,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,4,30,23,59,59],[1977,4,30,23,59,59],
+          '1976073123:00:00','1976073123:00:00','1977043023:59:59','1977043023:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,1,0,0,0],[1977,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,27,22,59,59],[1977,9,27,23,59,59],
+          '1977050100:00:00','1977050101:00:00','1977092722:59:59','1977092723:59:59' ],
+        [ [1977,9,27,23,0,0],[1977,9,27,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,5,31,23,59,59],[1978,5,31,23,59,59],
+          '1977092723:00:00','1977092723:00:00','1978053123:59:59','1978053123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,6,1,0,0,0],[1978,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,8,3,22,59,59],[1978,8,3,23,59,59],
+          '1978060100:00:00','1978060101:00:00','1978080322:59:59','1978080323:59:59' ],
+        [ [1978,8,3,23,0,0],[1978,8,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,15,23,59,59],[1984,3,15,23,59,59],
+          '1978080323:00:00','1978080323:00:00','1984031523:59:59','1984031523:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,16,0,0,0],[1984,3,16,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1984031600:00:00','1984031601:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afel_a00.pm b/lib/Date/Manip/TZ/afel_a00.pm
new file mode 100644
index 0000000..58743ec
--- /dev/null
+++ b/lib/Date/Manip/TZ/afel_a00.pm
@@ -0,0 +1,703 @@
+package #
+Date::Manip::TZ::afel_a00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,7,12],'-00:52:48',[0,-52,-48],
+          'LMT',0,[1934,1,1,0,52,47],[1933,12,31,23,59,59],
+          '0001010200:00:00','0001010123:07:12','1934010100:52:47','1933123123:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,1,1,0,52,48],[1933,12,31,23,52,48],'-01:00:00',[-1,0,0],
+          '-01',0,[1976,4,14,0,59,59],[1976,4,13,23,59,59],
+          '1934010100:52:48','1933123123:52:48','1976041400:59:59','1976041323:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,14,1,0,0],[1976,4,14,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1976,4,30,23,59,59],[1976,4,30,23,59,59],
+          '1976041401:00:00','1976041401:00:00','1976043023:59:59','1976043023:59:59' ],
+        [ [1976,5,1,0,0,0],[1976,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1976,7,31,22,59,59],[1976,7,31,23,59,59],
+          '1976050100:00:00','1976050101:00:00','1976073122:59:59','1976073123:59:59' ],
+        [ [1976,7,31,23,0,0],[1976,7,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,4,30,23,59,59],[1977,4,30,23,59,59],
+          '1976073123:00:00','1976073123:00:00','1977043023:59:59','1977043023:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,1,0,0,0],[1977,5,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,27,22,59,59],[1977,9,27,23,59,59],
+          '1977050100:00:00','1977050101:00:00','1977092722:59:59','1977092723:59:59' ],
+        [ [1977,9,27,23,0,0],[1977,9,27,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,5,31,23,59,59],[1978,5,31,23,59,59],
+          '1977092723:00:00','1977092723:00:00','1978053123:59:59','1978053123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,6,1,0,0,0],[1978,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,8,3,22,59,59],[1978,8,3,23,59,59],
+          '1978060100:00:00','1978060101:00:00','1978080322:59:59','1978080323:59:59' ],
+        [ [1978,8,3,23,0,0],[1978,8,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,5,31,23,59,59],[2008,5,31,23,59,59],
+          '1978080323:00:00','1978080323:00:00','2008053123:59:59','2008053123:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,6,1,0,0,0],[2008,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,8,31,22,59,59],[2008,8,31,23,59,59],
+          '2008060100:00:00','2008060101:00:00','2008083122:59:59','2008083123:59:59' ],
+        [ [2008,8,31,23,0,0],[2008,8,31,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,5,31,23,59,59],[2009,5,31,23,59,59],
+          '2008083123:00:00','2008083123:00:00','2009053123:59:59','2009053123:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,6,1,0,0,0],[2009,6,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,8,20,22,59,59],[2009,8,20,23,59,59],
+          '2009060100:00:00','2009060101:00:00','2009082022:59:59','2009082023:59:59' ],
+        [ [2009,8,20,23,0,0],[2009,8,20,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,5,1,23,59,59],[2010,5,1,23,59,59],
+          '2009082023:00:00','2009082023:00:00','2010050123:59:59','2010050123:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,5,2,0,0,0],[2010,5,2,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,8,7,22,59,59],[2010,8,7,23,59,59],
+          '2010050200:00:00','2010050201:00:00','2010080722:59:59','2010080723:59:59' ],
+        [ [2010,8,7,23,0,0],[2010,8,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,4,2,23,59,59],[2011,4,2,23,59,59],
+          '2010080723:00:00','2010080723:00:00','2011040223:59:59','2011040223:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,0,0,0],[2011,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,7,30,22,59,59],[2011,7,30,23,59,59],
+          '2011040300:00:00','2011040301:00:00','2011073022:59:59','2011073023:59:59' ],
+        [ [2011,7,30,23,0,0],[2011,7,30,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,4,29,1,59,59],[2012,4,29,1,59,59],
+          '2011073023:00:00','2011073023:00:00','2012042901:59:59','2012042901:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,2,0,0],[2012,4,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,7,20,1,59,59],[2012,7,20,2,59,59],
+          '2012042902:00:00','2012042903:00:00','2012072001:59:59','2012072002:59:59' ],
+        [ [2012,7,20,2,0,0],[2012,7,20,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,8,20,1,59,59],[2012,8,20,1,59,59],
+          '2012072002:00:00','2012072002:00:00','2012082001:59:59','2012082001:59:59' ],
+        [ [2012,8,20,2,0,0],[2012,8,20,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,9,30,1,59,59],[2012,9,30,2,59,59],
+          '2012082002:00:00','2012082003:00:00','2012093001:59:59','2012093002:59:59' ],
+        [ [2012,9,30,2,0,0],[2012,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,4,28,1,59,59],[2013,4,28,1,59,59],
+          '2012093002:00:00','2012093002:00:00','2013042801:59:59','2013042801:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,2,0,0],[2013,4,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,7,7,1,59,59],[2013,7,7,2,59,59],
+          '2013042802:00:00','2013042803:00:00','2013070701:59:59','2013070702:59:59' ],
+        [ [2013,7,7,2,0,0],[2013,7,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,8,10,1,59,59],[2013,8,10,1,59,59],
+          '2013070702:00:00','2013070702:00:00','2013081001:59:59','2013081001:59:59' ],
+        [ [2013,8,10,2,0,0],[2013,8,10,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,1,59,59],[2013,10,27,2,59,59],
+          '2013081002:00:00','2013081003:00:00','2013102701:59:59','2013102702:59:59' ],
+        [ [2013,10,27,2,0,0],[2013,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,1,59,59],[2014,3,30,1,59,59],
+          '2013102702:00:00','2013102702:00:00','2014033001:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,2,0,0],[2014,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,6,28,1,59,59],[2014,6,28,2,59,59],
+          '2014033002:00:00','2014033003:00:00','2014062801:59:59','2014062802:59:59' ],
+        [ [2014,6,28,2,0,0],[2014,6,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,8,2,1,59,59],[2014,8,2,1,59,59],
+          '2014062802:00:00','2014062802:00:00','2014080201:59:59','2014080201:59:59' ],
+        [ [2014,8,2,2,0,0],[2014,8,2,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,1,59,59],[2014,10,26,2,59,59],
+          '2014080202:00:00','2014080203:00:00','2014102601:59:59','2014102602:59:59' ],
+        [ [2014,10,26,2,0,0],[2014,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,1,59,59],[2015,3,29,1,59,59],
+          '2014102602:00:00','2014102602:00:00','2015032901:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,2,0,0],[2015,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,6,14,1,59,59],[2015,6,14,2,59,59],
+          '2015032902:00:00','2015032903:00:00','2015061401:59:59','2015061402:59:59' ],
+        [ [2015,6,14,2,0,0],[2015,6,14,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,7,19,1,59,59],[2015,7,19,1,59,59],
+          '2015061402:00:00','2015061402:00:00','2015071901:59:59','2015071901:59:59' ],
+        [ [2015,7,19,2,0,0],[2015,7,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,1,59,59],[2015,10,25,2,59,59],
+          '2015071902:00:00','2015071903:00:00','2015102501:59:59','2015102502:59:59' ],
+        [ [2015,10,25,2,0,0],[2015,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,1,59,59],[2016,3,27,1,59,59],
+          '2015102502:00:00','2015102502:00:00','2016032701:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,2,0,0],[2016,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,6,5,1,59,59],[2016,6,5,2,59,59],
+          '2016032702:00:00','2016032703:00:00','2016060501:59:59','2016060502:59:59' ],
+        [ [2016,6,5,2,0,0],[2016,6,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,7,10,1,59,59],[2016,7,10,1,59,59],
+          '2016060502:00:00','2016060502:00:00','2016071001:59:59','2016071001:59:59' ],
+        [ [2016,7,10,2,0,0],[2016,7,10,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,1,59,59],[2016,10,30,2,59,59],
+          '2016071002:00:00','2016071003:00:00','2016103001:59:59','2016103002:59:59' ],
+        [ [2016,10,30,2,0,0],[2016,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,1,59,59],[2017,3,26,1,59,59],
+          '2016103002:00:00','2016103002:00:00','2017032601:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,2,0,0],[2017,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,5,21,1,59,59],[2017,5,21,2,59,59],
+          '2017032602:00:00','2017032603:00:00','2017052101:59:59','2017052102:59:59' ],
+        [ [2017,5,21,2,0,0],[2017,5,21,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,7,2,1,59,59],[2017,7,2,1,59,59],
+          '2017052102:00:00','2017052102:00:00','2017070201:59:59','2017070201:59:59' ],
+        [ [2017,7,2,2,0,0],[2017,7,2,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,1,59,59],[2017,10,29,2,59,59],
+          '2017070202:00:00','2017070203:00:00','2017102901:59:59','2017102902:59:59' ],
+        [ [2017,10,29,2,0,0],[2017,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,1,59,59],[2018,3,25,1,59,59],
+          '2017102902:00:00','2017102902:00:00','2018032501:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,2,0,0],[2018,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,5,13,1,59,59],[2018,5,13,2,59,59],
+          '2018032502:00:00','2018032503:00:00','2018051301:59:59','2018051302:59:59' ],
+        [ [2018,5,13,2,0,0],[2018,5,13,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,6,17,1,59,59],[2018,6,17,1,59,59],
+          '2018051302:00:00','2018051302:00:00','2018061701:59:59','2018061701:59:59' ],
+        [ [2018,6,17,2,0,0],[2018,6,17,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,1,59,59],[2018,10,28,2,59,59],
+          '2018061702:00:00','2018061703:00:00','2018102801:59:59','2018102802:59:59' ],
+        [ [2018,10,28,2,0,0],[2018,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,1,59,59],[2019,3,31,1,59,59],
+          '2018102802:00:00','2018102802:00:00','2019033101:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,2,0,0],[2019,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,5,5,1,59,59],[2019,5,5,2,59,59],
+          '2019033102:00:00','2019033103:00:00','2019050501:59:59','2019050502:59:59' ],
+        [ [2019,5,5,2,0,0],[2019,5,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,6,9,1,59,59],[2019,6,9,1,59,59],
+          '2019050502:00:00','2019050502:00:00','2019060901:59:59','2019060901:59:59' ],
+        [ [2019,6,9,2,0,0],[2019,6,9,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,1,59,59],[2019,10,27,2,59,59],
+          '2019060902:00:00','2019060903:00:00','2019102701:59:59','2019102702:59:59' ],
+        [ [2019,10,27,2,0,0],[2019,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,1,59,59],[2020,3,29,1,59,59],
+          '2019102702:00:00','2019102702:00:00','2020032901:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,2,0,0],[2020,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,4,19,1,59,59],[2020,4,19,2,59,59],
+          '2020032902:00:00','2020032903:00:00','2020041901:59:59','2020041902:59:59' ],
+        [ [2020,4,19,2,0,0],[2020,4,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,5,24,1,59,59],[2020,5,24,1,59,59],
+          '2020041902:00:00','2020041902:00:00','2020052401:59:59','2020052401:59:59' ],
+        [ [2020,5,24,2,0,0],[2020,5,24,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,1,59,59],[2020,10,25,2,59,59],
+          '2020052402:00:00','2020052403:00:00','2020102501:59:59','2020102502:59:59' ],
+        [ [2020,10,25,2,0,0],[2020,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,1,59,59],[2021,3,28,1,59,59],
+          '2020102502:00:00','2020102502:00:00','2021032801:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,2,0,0],[2021,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,4,11,1,59,59],[2021,4,11,2,59,59],
+          '2021032802:00:00','2021032803:00:00','2021041101:59:59','2021041102:59:59' ],
+        [ [2021,4,11,2,0,0],[2021,4,11,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,5,16,1,59,59],[2021,5,16,1,59,59],
+          '2021041102:00:00','2021041102:00:00','2021051601:59:59','2021051601:59:59' ],
+        [ [2021,5,16,2,0,0],[2021,5,16,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,1,59,59],[2021,10,31,2,59,59],
+          '2021051602:00:00','2021051603:00:00','2021103101:59:59','2021103102:59:59' ],
+        [ [2021,10,31,2,0,0],[2021,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,5,8,1,59,59],[2022,5,8,1,59,59],
+          '2021103102:00:00','2021103102:00:00','2022050801:59:59','2022050801:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,5,8,2,0,0],[2022,5,8,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,1,59,59],[2022,10,30,2,59,59],
+          '2022050802:00:00','2022050803:00:00','2022103001:59:59','2022103002:59:59' ],
+        [ [2022,10,30,2,0,0],[2022,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,4,23,1,59,59],[2023,4,23,1,59,59],
+          '2022103002:00:00','2022103002:00:00','2023042301:59:59','2023042301:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,23,2,0,0],[2023,4,23,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,1,59,59],[2023,10,29,2,59,59],
+          '2023042302:00:00','2023042303:00:00','2023102901:59:59','2023102902:59:59' ],
+        [ [2023,10,29,2,0,0],[2023,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,4,14,1,59,59],[2024,4,14,1,59,59],
+          '2023102902:00:00','2023102902:00:00','2024041401:59:59','2024041401:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,14,2,0,0],[2024,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,1,59,59],[2024,10,27,2,59,59],
+          '2024041402:00:00','2024041403:00:00','2024102701:59:59','2024102702:59:59' ],
+        [ [2024,10,27,2,0,0],[2024,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,4,6,1,59,59],[2025,4,6,1,59,59],
+          '2024102702:00:00','2024102702:00:00','2025040601:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,2,0,0],[2025,4,6,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,1,59,59],[2025,10,26,2,59,59],
+          '2025040602:00:00','2025040603:00:00','2025102601:59:59','2025102602:59:59' ],
+        [ [2025,10,26,2,0,0],[2025,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,1,59,59],[2026,3,29,1,59,59],
+          '2025102602:00:00','2025102602:00:00','2026032901:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,2,0,0],[2026,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,1,59,59],[2026,10,25,2,59,59],
+          '2026032902:00:00','2026032903:00:00','2026102501:59:59','2026102502:59:59' ],
+        [ [2026,10,25,2,0,0],[2026,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,1,59,59],[2027,3,28,1,59,59],
+          '2026102502:00:00','2026102502:00:00','2027032801:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,2,0,0],[2027,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,1,59,59],[2027,10,31,2,59,59],
+          '2027032802:00:00','2027032803:00:00','2027103101:59:59','2027103102:59:59' ],
+        [ [2027,10,31,2,0,0],[2027,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,1,59,59],[2028,3,26,1,59,59],
+          '2027103102:00:00','2027103102:00:00','2028032601:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,2,0,0],[2028,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,1,59,59],[2028,10,29,2,59,59],
+          '2028032602:00:00','2028032603:00:00','2028102901:59:59','2028102902:59:59' ],
+        [ [2028,10,29,2,0,0],[2028,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,1,59,59],[2029,3,25,1,59,59],
+          '2028102902:00:00','2028102902:00:00','2029032501:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,2,0,0],[2029,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,1,59,59],[2029,10,28,2,59,59],
+          '2029032502:00:00','2029032503:00:00','2029102801:59:59','2029102802:59:59' ],
+        [ [2029,10,28,2,0,0],[2029,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,1,59,59],[2030,3,31,1,59,59],
+          '2029102802:00:00','2029102802:00:00','2030033101:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,2,0,0],[2030,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,1,59,59],[2030,10,27,2,59,59],
+          '2030033102:00:00','2030033103:00:00','2030102701:59:59','2030102702:59:59' ],
+        [ [2030,10,27,2,0,0],[2030,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,1,59,59],[2031,3,30,1,59,59],
+          '2030102702:00:00','2030102702:00:00','2031033001:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,2,0,0],[2031,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,1,59,59],[2031,10,26,2,59,59],
+          '2031033002:00:00','2031033003:00:00','2031102601:59:59','2031102602:59:59' ],
+        [ [2031,10,26,2,0,0],[2031,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,1,59,59],[2032,3,28,1,59,59],
+          '2031102602:00:00','2031102602:00:00','2032032801:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,2,0,0],[2032,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,1,59,59],[2032,10,31,2,59,59],
+          '2032032802:00:00','2032032803:00:00','2032103101:59:59','2032103102:59:59' ],
+        [ [2032,10,31,2,0,0],[2032,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,1,59,59],[2033,3,27,1,59,59],
+          '2032103102:00:00','2032103102:00:00','2033032701:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,2,0,0],[2033,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,1,59,59],[2033,10,30,2,59,59],
+          '2033032702:00:00','2033032703:00:00','2033103001:59:59','2033103002:59:59' ],
+        [ [2033,10,30,2,0,0],[2033,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,1,59,59],[2034,3,26,1,59,59],
+          '2033103002:00:00','2033103002:00:00','2034032601:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,2,0,0],[2034,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,1,59,59],[2034,10,29,2,59,59],
+          '2034032602:00:00','2034032603:00:00','2034102901:59:59','2034102902:59:59' ],
+        [ [2034,10,29,2,0,0],[2034,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,1,59,59],[2035,3,25,1,59,59],
+          '2034102902:00:00','2034102902:00:00','2035032501:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,2,0,0],[2035,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,1,59,59],[2035,10,28,2,59,59],
+          '2035032502:00:00','2035032503:00:00','2035102801:59:59','2035102802:59:59' ],
+        [ [2035,10,28,2,0,0],[2035,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,1,59,59],[2036,3,30,1,59,59],
+          '2035102802:00:00','2035102802:00:00','2036033001:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,2,0,0],[2036,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,19,1,59,59],[2036,10,19,2,59,59],
+          '2036033002:00:00','2036033003:00:00','2036101901:59:59','2036101902:59:59' ],
+        [ [2036,10,19,2,0,0],[2036,10,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,1,59,59],[2037,3,29,1,59,59],
+          '2036101902:00:00','2036101902:00:00','2037032901:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,2,0,0],[2037,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,4,1,59,59],[2037,10,4,2,59,59],
+          '2037032902:00:00','2037032903:00:00','2037100401:59:59','2037100402:59:59' ],
+        [ [2037,10,4,2,0,0],[2037,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,1,59,59],[2038,3,28,1,59,59],
+          '2037100402:00:00','2037100402:00:00','2038032801:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,2,0,0],[2038,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,1,59,59],[2038,10,31,2,59,59],
+          '2038032802:00:00','2038032803:00:00','2038103101:59:59','2038103102:59:59' ],
+        [ [2038,10,31,2,0,0],[2038,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,1,59,59],[2039,3,27,1,59,59],
+          '2038103102:00:00','2038103102:00:00','2039032701:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,2,0,0],[2039,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,1,59,59],[2039,10,30,2,59,59],
+          '2039032702:00:00','2039032703:00:00','2039103001:59:59','2039103002:59:59' ],
+        [ [2039,10,30,2,0,0],[2039,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,1,59,59],[2040,3,25,1,59,59],
+          '2039103002:00:00','2039103002:00:00','2040032501:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,2,0,0],[2040,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,1,59,59],[2040,10,28,2,59,59],
+          '2040032502:00:00','2040032503:00:00','2040102801:59:59','2040102802:59:59' ],
+        [ [2040,10,28,2,0,0],[2040,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,1,59,59],[2041,3,31,1,59,59],
+          '2040102802:00:00','2040102802:00:00','2041033101:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,2,0,0],[2041,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,1,59,59],[2041,10,27,2,59,59],
+          '2041033102:00:00','2041033103:00:00','2041102701:59:59','2041102702:59:59' ],
+        [ [2041,10,27,2,0,0],[2041,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,1,59,59],[2042,3,30,1,59,59],
+          '2041102702:00:00','2041102702:00:00','2042033001:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,2,0,0],[2042,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,1,59,59],[2042,10,26,2,59,59],
+          '2042033002:00:00','2042033003:00:00','2042102601:59:59','2042102602:59:59' ],
+        [ [2042,10,26,2,0,0],[2042,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,1,59,59],[2043,3,29,1,59,59],
+          '2042102602:00:00','2042102602:00:00','2043032901:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,2,0,0],[2043,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,1,59,59],[2043,10,25,2,59,59],
+          '2043032902:00:00','2043032903:00:00','2043102501:59:59','2043102502:59:59' ],
+        [ [2043,10,25,2,0,0],[2043,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,1,59,59],[2044,3,27,1,59,59],
+          '2043102502:00:00','2043102502:00:00','2044032701:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,2,0,0],[2044,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,1,59,59],[2044,10,30,2,59,59],
+          '2044032702:00:00','2044032703:00:00','2044103001:59:59','2044103002:59:59' ],
+        [ [2044,10,30,2,0,0],[2044,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,1,59,59],[2045,3,26,1,59,59],
+          '2044103002:00:00','2044103002:00:00','2045032601:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,2,0,0],[2045,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,1,59,59],[2045,10,29,2,59,59],
+          '2045032602:00:00','2045032603:00:00','2045102901:59:59','2045102902:59:59' ],
+        [ [2045,10,29,2,0,0],[2045,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,1,59,59],[2046,3,25,1,59,59],
+          '2045102902:00:00','2045102902:00:00','2046032501:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,2,0,0],[2046,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,1,59,59],[2046,10,28,2,59,59],
+          '2046032502:00:00','2046032503:00:00','2046102801:59:59','2046102802:59:59' ],
+        [ [2046,10,28,2,0,0],[2046,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,1,59,59],[2047,3,31,1,59,59],
+          '2046102802:00:00','2046102802:00:00','2047033101:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,2,0,0],[2047,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,1,59,59],[2047,10,27,2,59,59],
+          '2047033102:00:00','2047033103:00:00','2047102701:59:59','2047102702:59:59' ],
+        [ [2047,10,27,2,0,0],[2047,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,1,59,59],[2048,3,29,1,59,59],
+          '2047102702:00:00','2047102702:00:00','2048032901:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,2,0,0],[2048,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,1,59,59],[2048,10,25,2,59,59],
+          '2048032902:00:00','2048032903:00:00','2048102501:59:59','2048102502:59:59' ],
+        [ [2048,10,25,2,0,0],[2048,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,1,59,59],[2049,3,28,1,59,59],
+          '2048102502:00:00','2048102502:00:00','2049032801:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,2,0,0],[2049,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,1,59,59],[2049,10,31,2,59,59],
+          '2049032802:00:00','2049032803:00:00','2049103101:59:59','2049103102:59:59' ],
+        [ [2049,10,31,2,0,0],[2049,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,1,59,59],[2050,3,27,1,59,59],
+          '2049103102:00:00','2049103102:00:00','2050032701:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,2,0,0],[2050,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,1,59,59],[2050,10,30,2,59,59],
+          '2050032702:00:00','2050032703:00:00','2050103001:59:59','2050103002:59:59' ],
+        [ [2050,10,30,2,0,0],[2050,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,1,59,59],[2051,3,26,1,59,59],
+          '2050103002:00:00','2050103002:00:00','2051032601:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,2,0,0],[2051,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,1,59,59],[2051,10,29,2,59,59],
+          '2051032602:00:00','2051032603:00:00','2051102901:59:59','2051102902:59:59' ],
+        [ [2051,10,29,2,0,0],[2051,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,1,59,59],[2052,3,31,1,59,59],
+          '2051102902:00:00','2051102902:00:00','2052033101:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,2,0,0],[2052,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,1,59,59],[2052,10,27,2,59,59],
+          '2052033102:00:00','2052033103:00:00','2052102701:59:59','2052102702:59:59' ],
+        [ [2052,10,27,2,0,0],[2052,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,1,59,59],[2053,3,30,1,59,59],
+          '2052102702:00:00','2052102702:00:00','2053033001:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,2,0,0],[2053,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,1,59,59],[2053,10,26,2,59,59],
+          '2053033002:00:00','2053033003:00:00','2053102601:59:59','2053102602:59:59' ],
+        [ [2053,10,26,2,0,0],[2053,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,1,59,59],[2054,3,29,1,59,59],
+          '2053102602:00:00','2053102602:00:00','2054032901:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,2,0,0],[2054,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,1,59,59],[2054,10,25,2,59,59],
+          '2054032902:00:00','2054032903:00:00','2054102501:59:59','2054102502:59:59' ],
+        [ [2054,10,25,2,0,0],[2054,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,1,59,59],[2055,3,28,1,59,59],
+          '2054102502:00:00','2054102502:00:00','2055032801:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,2,0,0],[2055,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,1,59,59],[2055,10,31,2,59,59],
+          '2055032802:00:00','2055032803:00:00','2055103101:59:59','2055103102:59:59' ],
+        [ [2055,10,31,2,0,0],[2055,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,1,59,59],[2056,3,26,1,59,59],
+          '2055103102:00:00','2055103102:00:00','2056032601:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,2,0,0],[2056,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,1,59,59],[2056,10,29,2,59,59],
+          '2056032602:00:00','2056032603:00:00','2056102901:59:59','2056102902:59:59' ],
+        [ [2056,10,29,2,0,0],[2056,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,1,59,59],[2057,3,25,1,59,59],
+          '2056102902:00:00','2056102902:00:00','2057032501:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,2,0,0],[2057,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,1,59,59],[2057,10,28,2,59,59],
+          '2057032502:00:00','2057032503:00:00','2057102801:59:59','2057102802:59:59' ],
+        [ [2057,10,28,2,0,0],[2057,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,1,59,59],[2058,3,31,1,59,59],
+          '2057102802:00:00','2057102802:00:00','2058033101:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,2,0,0],[2058,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,1,59,59],[2058,10,27,2,59,59],
+          '2058033102:00:00','2058033103:00:00','2058102701:59:59','2058102702:59:59' ],
+        [ [2058,10,27,2,0,0],[2058,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,1,59,59],[2059,3,30,1,59,59],
+          '2058102702:00:00','2058102702:00:00','2059033001:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,2,0,0],[2059,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,1,59,59],[2059,10,26,2,59,59],
+          '2059033002:00:00','2059033003:00:00','2059102601:59:59','2059102602:59:59' ],
+        [ [2059,10,26,2,0,0],[2059,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,1,59,59],[2060,3,28,1,59,59],
+          '2059102602:00:00','2059102602:00:00','2060032801:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,2,0,0],[2060,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,1,59,59],[2060,10,31,2,59,59],
+          '2060032802:00:00','2060032803:00:00','2060103101:59:59','2060103102:59:59' ],
+        [ [2060,10,31,2,0,0],[2060,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,1,59,59],[2061,3,27,1,59,59],
+          '2060103102:00:00','2060103102:00:00','2061032701:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,2,0,0],[2061,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,1,59,59],[2061,10,30,2,59,59],
+          '2061032702:00:00','2061032703:00:00','2061103001:59:59','2061103002:59:59' ],
+        [ [2061,10,30,2,0,0],[2061,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,1,59,59],[2062,3,26,1,59,59],
+          '2061103002:00:00','2061103002:00:00','2062032601:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,2,0,0],[2062,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,1,59,59],[2062,10,29,2,59,59],
+          '2062032602:00:00','2062032603:00:00','2062102901:59:59','2062102902:59:59' ],
+        [ [2062,10,29,2,0,0],[2062,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,1,59,59],[2063,3,25,1,59,59],
+          '2062102902:00:00','2062102902:00:00','2063032501:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,2,0,0],[2063,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,1,59,59],[2063,10,28,2,59,59],
+          '2063032502:00:00','2063032503:00:00','2063102801:59:59','2063102802:59:59' ],
+        [ [2063,10,28,2,0,0],[2063,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,1,59,59],[2064,3,30,1,59,59],
+          '2063102802:00:00','2063102802:00:00','2064033001:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,2,0,0],[2064,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,1,59,59],[2064,10,26,2,59,59],
+          '2064033002:00:00','2064033003:00:00','2064102601:59:59','2064102602:59:59' ],
+        [ [2064,10,26,2,0,0],[2064,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,1,59,59],[2065,3,29,1,59,59],
+          '2064102602:00:00','2064102602:00:00','2065032901:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,2,0,0],[2065,3,29,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,1,59,59],[2065,10,25,2,59,59],
+          '2065032902:00:00','2065032903:00:00','2065102501:59:59','2065102502:59:59' ],
+        [ [2065,10,25,2,0,0],[2065,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,1,59,59],[2066,3,28,1,59,59],
+          '2065102502:00:00','2065102502:00:00','2066032801:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,2,0,0],[2066,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,1,59,59],[2066,10,31,2,59,59],
+          '2066032802:00:00','2066032803:00:00','2066103101:59:59','2066103102:59:59' ],
+        [ [2066,10,31,2,0,0],[2066,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,1,59,59],[2067,3,27,1,59,59],
+          '2066103102:00:00','2066103102:00:00','2067032701:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,2,0,0],[2067,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,1,59,59],[2067,10,30,2,59,59],
+          '2067032702:00:00','2067032703:00:00','2067103001:59:59','2067103002:59:59' ],
+        [ [2067,10,30,2,0,0],[2067,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,1,59,59],[2068,3,25,1,59,59],
+          '2067103002:00:00','2067103002:00:00','2068032501:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afjoha00.pm b/lib/Date/Manip/TZ/afjoha00.pm
new file mode 100644
index 0000000..b4192fd
--- /dev/null
+++ b/lib/Date/Manip/TZ/afjoha00.pm
@@ -0,0 +1,76 @@
+package #
+Date::Manip::TZ::afjoha00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,52,0],'+01:52:00',[1,52,0],
+          'LMT',0,[1892,2,7,22,7,59],[1892,2,7,23,59,59],
+          '0001010200:00:00','0001010201:52:00','1892020722:07:59','1892020723:59:59' ],
+     ],
+   1892 =>
+     [
+        [ [1892,2,7,22,8,0],[1892,2,7,23,38,0],'+01:30:00',[1,30,0],
+          'SAST',0,[1903,2,28,22,29,59],[1903,2,28,23,59,59],
+          '1892020722:08:00','1892020723:38:00','1903022822:29:59','1903022823:59:59' ],
+     ],
+   1903 =>
+     [
+        [ [1903,2,28,22,30,0],[1903,3,1,0,30,0],'+02:00:00',[2,0,0],
+          'SAST',0,[1942,9,19,23,59,59],[1942,9,20,1,59,59],
+          '1903022822:30:00','1903030100:30:00','1942091923:59:59','1942092001:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,9,20,0,0,0],[1942,9,20,3,0,0],'+03:00:00',[3,0,0],
+          'SAST',1,[1943,3,20,22,59,59],[1943,3,21,1,59,59],
+          '1942092000:00:00','1942092003:00:00','1943032022:59:59','1943032101:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,20,23,0,0],[1943,3,21,1,0,0],'+02:00:00',[2,0,0],
+          'SAST',0,[1943,9,18,23,59,59],[1943,9,19,1,59,59],
+          '1943032023:00:00','1943032101:00:00','1943091823:59:59','1943091901:59:59' ],
+        [ [1943,9,19,0,0,0],[1943,9,19,3,0,0],'+03:00:00',[3,0,0],
+          'SAST',1,[1944,3,18,22,59,59],[1944,3,19,1,59,59],
+          '1943091900:00:00','1943091903:00:00','1944031822:59:59','1944031901:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,18,23,0,0],[1944,3,19,1,0,0],'+02:00:00',[2,0,0],
+          'SAST',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '1944031823:00:00','1944031901:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afkhar00.pm b/lib/Date/Manip/TZ/afkhar00.pm
new file mode 100644
index 0000000..a7280b2
--- /dev/null
+++ b/lib/Date/Manip/TZ/afkhar00.pm
@@ -0,0 +1,199 @@
+package #
+Date::Manip::TZ::afkhar00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,10,8],'+02:10:08',[2,10,8],
+          'LMT',0,[1930,12,31,21,49,51],[1930,12,31,23,59,59],
+          '0001010200:00:00','0001010202:10:08','1930123121:49:51','1930123123:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,31,21,49,52],[1930,12,31,23,49,52],'+02:00:00',[2,0,0],
+          'CAT',0,[1970,4,30,21,59,59],[1970,4,30,23,59,59],
+          '1930123121:49:52','1930123123:49:52','1970043021:59:59','1970043023:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,30,22,0,0],[1970,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1970,10,14,20,59,59],[1970,10,14,23,59,59],
+          '1970043022:00:00','1970050101:00:00','1970101420:59:59','1970101423:59:59' ],
+        [ [1970,10,14,21,0,0],[1970,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1971,4,29,21,59,59],[1971,4,29,23,59,59],
+          '1970101421:00:00','1970101423:00:00','1971042921:59:59','1971042923:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,29,22,0,0],[1971,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1971,10,14,20,59,59],[1971,10,14,23,59,59],
+          '1971042922:00:00','1971043001:00:00','1971101420:59:59','1971101423:59:59' ],
+        [ [1971,10,14,21,0,0],[1971,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1972,4,29,21,59,59],[1972,4,29,23,59,59],
+          '1971101421:00:00','1971101423:00:00','1972042921:59:59','1972042923:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,29,22,0,0],[1972,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1972,10,14,20,59,59],[1972,10,14,23,59,59],
+          '1972042922:00:00','1972043001:00:00','1972101420:59:59','1972101423:59:59' ],
+        [ [1972,10,14,21,0,0],[1972,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1973,4,28,21,59,59],[1973,4,28,23,59,59],
+          '1972101421:00:00','1972101423:00:00','1973042821:59:59','1973042823:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,28,22,0,0],[1973,4,29,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1973,10,14,20,59,59],[1973,10,14,23,59,59],
+          '1973042822:00:00','1973042901:00:00','1973101420:59:59','1973101423:59:59' ],
+        [ [1973,10,14,21,0,0],[1973,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1974,4,27,21,59,59],[1974,4,27,23,59,59],
+          '1973101421:00:00','1973101423:00:00','1974042721:59:59','1974042723:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,27,22,0,0],[1974,4,28,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1974,10,14,20,59,59],[1974,10,14,23,59,59],
+          '1974042722:00:00','1974042801:00:00','1974101420:59:59','1974101423:59:59' ],
+        [ [1974,10,14,21,0,0],[1974,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1975,4,26,21,59,59],[1975,4,26,23,59,59],
+          '1974101421:00:00','1974101423:00:00','1975042621:59:59','1975042623:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,26,22,0,0],[1975,4,27,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1975,10,14,20,59,59],[1975,10,14,23,59,59],
+          '1975042622:00:00','1975042701:00:00','1975101420:59:59','1975101423:59:59' ],
+        [ [1975,10,14,21,0,0],[1975,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1976,4,24,21,59,59],[1976,4,24,23,59,59],
+          '1975101421:00:00','1975101423:00:00','1976042421:59:59','1976042423:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,24,22,0,0],[1976,4,25,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1976,10,14,20,59,59],[1976,10,14,23,59,59],
+          '1976042422:00:00','1976042501:00:00','1976101420:59:59','1976101423:59:59' ],
+        [ [1976,10,14,21,0,0],[1976,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1977,4,23,21,59,59],[1977,4,23,23,59,59],
+          '1976101421:00:00','1976101423:00:00','1977042321:59:59','1977042323:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,23,22,0,0],[1977,4,24,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1977,10,14,20,59,59],[1977,10,14,23,59,59],
+          '1977042322:00:00','1977042401:00:00','1977101420:59:59','1977101423:59:59' ],
+        [ [1977,10,14,21,0,0],[1977,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1978,4,29,21,59,59],[1978,4,29,23,59,59],
+          '1977101421:00:00','1977101423:00:00','1978042921:59:59','1978042923:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,29,22,0,0],[1978,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1978,10,14,20,59,59],[1978,10,14,23,59,59],
+          '1978042922:00:00','1978043001:00:00','1978101420:59:59','1978101423:59:59' ],
+        [ [1978,10,14,21,0,0],[1978,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1979,4,28,21,59,59],[1979,4,28,23,59,59],
+          '1978101421:00:00','1978101423:00:00','1979042821:59:59','1979042823:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,28,22,0,0],[1979,4,29,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1979,10,14,20,59,59],[1979,10,14,23,59,59],
+          '1979042822:00:00','1979042901:00:00','1979101420:59:59','1979101423:59:59' ],
+        [ [1979,10,14,21,0,0],[1979,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1980,4,26,21,59,59],[1980,4,26,23,59,59],
+          '1979101421:00:00','1979101423:00:00','1980042621:59:59','1980042623:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,26,22,0,0],[1980,4,27,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1980,10,14,20,59,59],[1980,10,14,23,59,59],
+          '1980042622:00:00','1980042701:00:00','1980101420:59:59','1980101423:59:59' ],
+        [ [1980,10,14,21,0,0],[1980,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1981,4,25,21,59,59],[1981,4,25,23,59,59],
+          '1980101421:00:00','1980101423:00:00','1981042521:59:59','1981042523:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,25,22,0,0],[1981,4,26,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1981,10,14,20,59,59],[1981,10,14,23,59,59],
+          '1981042522:00:00','1981042601:00:00','1981101420:59:59','1981101423:59:59' ],
+        [ [1981,10,14,21,0,0],[1981,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1982,4,24,21,59,59],[1982,4,24,23,59,59],
+          '1981101421:00:00','1981101423:00:00','1982042421:59:59','1982042423:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,24,22,0,0],[1982,4,25,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1982,10,14,20,59,59],[1982,10,14,23,59,59],
+          '1982042422:00:00','1982042501:00:00','1982101420:59:59','1982101423:59:59' ],
+        [ [1982,10,14,21,0,0],[1982,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1983,4,23,21,59,59],[1983,4,23,23,59,59],
+          '1982101421:00:00','1982101423:00:00','1983042321:59:59','1983042323:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,23,22,0,0],[1983,4,24,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1983,10,14,20,59,59],[1983,10,14,23,59,59],
+          '1983042322:00:00','1983042401:00:00','1983101420:59:59','1983101423:59:59' ],
+        [ [1983,10,14,21,0,0],[1983,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1984,4,28,21,59,59],[1984,4,28,23,59,59],
+          '1983101421:00:00','1983101423:00:00','1984042821:59:59','1984042823:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,28,22,0,0],[1984,4,29,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1984,10,14,20,59,59],[1984,10,14,23,59,59],
+          '1984042822:00:00','1984042901:00:00','1984101420:59:59','1984101423:59:59' ],
+        [ [1984,10,14,21,0,0],[1984,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1985,4,27,21,59,59],[1985,4,27,23,59,59],
+          '1984101421:00:00','1984101423:00:00','1985042721:59:59','1985042723:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,27,22,0,0],[1985,4,28,1,0,0],'+03:00:00',[3,0,0],
+          'CAST',1,[1985,10,14,20,59,59],[1985,10,14,23,59,59],
+          '1985042722:00:00','1985042801:00:00','1985101420:59:59','1985101423:59:59' ],
+        [ [1985,10,14,21,0,0],[1985,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[2000,1,15,9,59,59],[2000,1,15,11,59,59],
+          '1985101421:00:00','1985101423:00:00','2000011509:59:59','2000011511:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,1,15,10,0,0],[2000,1,15,13,0,0],'+03:00:00',[3,0,0],
+          'EAT',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2000011510:00:00','2000011513:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aflago00.pm b/lib/Date/Manip/TZ/aflago00.pm
new file mode 100644
index 0000000..3ae18f2
--- /dev/null
+++ b/lib/Date/Manip/TZ/aflago00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::aflago00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,13,36],'+00:13:36',[0,13,36],
+          'LMT',0,[1919,8,31,23,46,23],[1919,8,31,23,59,59],
+          '0001010200:00:00','0001010200:13:36','1919083123:46:23','1919083123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,8,31,23,46,24],[1919,9,1,0,46,24],'+01:00:00',[1,0,0],
+          'WAT',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '1919083123:46:24','1919090100:46:24','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afmapu00.pm b/lib/Date/Manip/TZ/afmapu00.pm
new file mode 100644
index 0000000..8193e99
--- /dev/null
+++ b/lib/Date/Manip/TZ/afmapu00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::afmapu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,10,20],'+02:10:20',[2,10,20],
+          'LMT',0,[1903,2,28,21,49,39],[1903,2,28,23,59,59],
+          '0001010200:00:00','0001010202:10:20','1903022821:49:39','1903022823:59:59' ],
+     ],
+   1903 =>
+     [
+        [ [1903,2,28,21,49,40],[1903,2,28,23,49,40],'+02:00:00',[2,0,0],
+          'CAT',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '1903022821:49:40','1903022823:49:40','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afmonr00.pm b/lib/Date/Manip/TZ/afmonr00.pm
new file mode 100644
index 0000000..b364561
--- /dev/null
+++ b/lib/Date/Manip/TZ/afmonr00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::afmonr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,16,52],'-00:43:08',[0,-43,-8],
+          'LMT',0,[1882,1,1,0,43,7],[1881,12,31,23,59,59],
+          '0001010200:00:00','0001010123:16:52','1882010100:43:07','1881123123:59:59' ],
+     ],
+   1882 =>
+     [
+        [ [1882,1,1,0,43,8],[1882,1,1,0,0,0],'-00:43:08',[0,-43,-8],
+          'MMT',0,[1919,3,1,0,43,7],[1919,2,28,23,59,59],
+          '1882010100:43:08','1882010100:00:00','1919030100:43:07','1919022823:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,0,43,8],[1919,2,28,23,58,38],'-00:44:30',[0,-44,-30],
+          'MMT',0,[1972,1,7,0,44,29],[1972,1,6,23,59,59],
+          '1919030100:43:08','1919022823:58:38','1972010700:44:29','1972010623:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,1,7,0,44,30],[1972,1,7,0,44,30],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1972010700:44:30','1972010700:44:30','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afnair00.pm b/lib/Date/Manip/TZ/afnair00.pm
new file mode 100644
index 0000000..8e38158
--- /dev/null
+++ b/lib/Date/Manip/TZ/afnair00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::afnair00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,27,16],'+02:27:16',[2,27,16],
+          'LMT',0,[1928,6,30,21,32,43],[1928,6,30,23,59,59],
+          '0001010200:00:00','0001010202:27:16','1928063021:32:43','1928063023:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,6,30,21,32,44],[1928,7,1,0,32,44],'+03:00:00',[3,0,0],
+          'EAT',0,[1929,12,31,20,59,59],[1929,12,31,23,59,59],
+          '1928063021:32:44','1928070100:32:44','1929123120:59:59','1929123123:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,12,31,21,0,0],[1929,12,31,23,30,0],'+02:30:00',[2,30,0],
+          '+0230',0,[1939,12,31,21,29,59],[1939,12,31,23,59,59],
+          '1929123121:00:00','1929123123:30:00','1939123121:29:59','1939123123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,12,31,21,30,0],[1940,1,1,0,15,0],'+02:45:00',[2,45,0],
+          '+0245',0,[1959,12,31,21,14,59],[1959,12,31,23,59,59],
+          '1939123121:30:00','1940010100:15:00','1959123121:14:59','1959123123:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,12,31,21,15,0],[1960,1,1,0,15,0],'+03:00:00',[3,0,0],
+          'EAT',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '1959123121:15:00','1960010100:15:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afndja00.pm b/lib/Date/Manip/TZ/afndja00.pm
new file mode 100644
index 0000000..3303f47
--- /dev/null
+++ b/lib/Date/Manip/TZ/afndja00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::afndja00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,0,12],'+01:00:12',[1,0,12],
+          'LMT',0,[1911,12,31,22,59,47],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010201:00:12','1911123122:59:47','1911123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,12,31,22,59,48],[1911,12,31,23,59,48],'+01:00:00',[1,0,0],
+          'WAT',0,[1979,10,13,22,59,59],[1979,10,13,23,59,59],
+          '1911123122:59:48','1911123123:59:48','1979101322:59:59','1979101323:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,13,23,0,0],[1979,10,14,1,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1980,3,7,21,59,59],[1980,3,7,23,59,59],
+          '1979101323:00:00','1979101401:00:00','1980030721:59:59','1980030723:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,7,22,0,0],[1980,3,7,23,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '1980030722:00:00','1980030723:00:00','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aftrip00.pm b/lib/Date/Manip/TZ/aftrip00.pm
new file mode 100644
index 0000000..a137cdc
--- /dev/null
+++ b/lib/Date/Manip/TZ/aftrip00.pm
@@ -0,0 +1,196 @@
+package #
+Date::Manip::TZ::aftrip00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,52,44],'+00:52:44',[0,52,44],
+          'LMT',0,[1919,12,31,23,7,15],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010200:52:44','1919123123:07:15','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,23,7,16],[1920,1,1,0,7,16],'+01:00:00',[1,0,0],
+          'CET',0,[1951,10,14,0,59,59],[1951,10,14,1,59,59],
+          '1919123123:07:16','1920010100:07:16','1951101400:59:59','1951101401:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,10,14,1,0,0],[1951,10,14,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1951,12,31,21,59,59],[1951,12,31,23,59,59],
+          '1951101401:00:00','1951101403:00:00','1951123121:59:59','1951123123:59:59' ],
+        [ [1951,12,31,22,0,0],[1951,12,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1953,10,9,0,59,59],[1953,10,9,1,59,59],
+          '1951123122:00:00','1951123123:00:00','1953100900:59:59','1953100901:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,10,9,1,0,0],[1953,10,9,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1953,12,31,21,59,59],[1953,12,31,23,59,59],
+          '1953100901:00:00','1953100903:00:00','1953123121:59:59','1953123123:59:59' ],
+        [ [1953,12,31,22,0,0],[1953,12,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1955,9,29,22,59,59],[1955,9,29,23,59,59],
+          '1953123122:00:00','1953123123:00:00','1955092922:59:59','1955092923:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,9,29,23,0,0],[1955,9,30,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1955,12,31,21,59,59],[1955,12,31,23,59,59],
+          '1955092923:00:00','1955093001:00:00','1955123121:59:59','1955123123:59:59' ],
+        [ [1955,12,31,22,0,0],[1955,12,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1958,12,31,22,59,59],[1958,12,31,23,59,59],
+          '1955123122:00:00','1955123123:00:00','1958123122:59:59','1958123123:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,12,31,23,0,0],[1959,1,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,12,31,21,59,59],[1981,12,31,23,59,59],
+          '1958123123:00:00','1959010101:00:00','1981123121:59:59','1981123123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,12,31,22,0,0],[1981,12,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,31,22,59,59],[1982,3,31,23,59,59],
+          '1981123122:00:00','1981123123:00:00','1982033122:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,23,0,0],[1982,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,30,21,59,59],[1982,9,30,23,59,59],
+          '1982033123:00:00','1982040101:00:00','1982093021:59:59','1982093023:59:59' ],
+        [ [1982,9,30,22,0,0],[1982,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,31,22,59,59],[1983,3,31,23,59,59],
+          '1982093022:00:00','1982093023:00:00','1983033122:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,23,0,0],[1983,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,30,21,59,59],[1983,9,30,23,59,59],
+          '1983033123:00:00','1983040101:00:00','1983093021:59:59','1983093023:59:59' ],
+        [ [1983,9,30,22,0,0],[1983,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,31,22,59,59],[1984,3,31,23,59,59],
+          '1983093022:00:00','1983093023:00:00','1984033122:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,23,0,0],[1984,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,21,59,59],[1984,9,30,23,59,59],
+          '1984033123:00:00','1984040101:00:00','1984093021:59:59','1984093023:59:59' ],
+        [ [1984,9,30,22,0,0],[1984,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,4,5,22,59,59],[1985,4,5,23,59,59],
+          '1984093022:00:00','1984093023:00:00','1985040522:59:59','1985040523:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,5,23,0,0],[1985,4,6,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,30,21,59,59],[1985,9,30,23,59,59],
+          '1985040523:00:00','1985040601:00:00','1985093021:59:59','1985093023:59:59' ],
+        [ [1985,9,30,22,0,0],[1985,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,4,3,22,59,59],[1986,4,3,23,59,59],
+          '1985093022:00:00','1985093023:00:00','1986040322:59:59','1986040323:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,3,23,0,0],[1986,4,4,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,10,2,21,59,59],[1986,10,2,23,59,59],
+          '1986040323:00:00','1986040401:00:00','1986100221:59:59','1986100223:59:59' ],
+        [ [1986,10,2,22,0,0],[1986,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,31,22,59,59],[1987,3,31,23,59,59],
+          '1986100222:00:00','1986100223:00:00','1987033122:59:59','1987033123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,31,23,0,0],[1987,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,30,21,59,59],[1987,9,30,23,59,59],
+          '1987033123:00:00','1987040101:00:00','1987093021:59:59','1987093023:59:59' ],
+        [ [1987,9,30,22,0,0],[1987,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,31,22,59,59],[1988,3,31,23,59,59],
+          '1987093022:00:00','1987093023:00:00','1988033122:59:59','1988033123:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,31,23,0,0],[1988,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,30,21,59,59],[1988,9,30,23,59,59],
+          '1988033123:00:00','1988040101:00:00','1988093021:59:59','1988093023:59:59' ],
+        [ [1988,9,30,22,0,0],[1988,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,31,22,59,59],[1989,3,31,23,59,59],
+          '1988093022:00:00','1988093023:00:00','1989033122:59:59','1989033123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,31,23,0,0],[1989,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,30,21,59,59],[1989,9,30,23,59,59],
+          '1989033123:00:00','1989040101:00:00','1989093021:59:59','1989093023:59:59' ],
+        [ [1989,9,30,22,0,0],[1989,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,5,3,22,59,59],[1990,5,3,23,59,59],
+          '1989093022:00:00','1989093023:00:00','1990050322:59:59','1990050323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,5,3,23,0,0],[1990,5,4,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,9,29,21,59,59],[1996,9,29,23,59,59],
+          '1990050323:00:00','1990050401:00:00','1996092921:59:59','1996092923:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,9,29,22,0,0],[1996,9,29,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,4,3,22,59,59],[1997,4,3,23,59,59],
+          '1996092922:00:00','1996092923:00:00','1997040322:59:59','1997040323:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,3,23,0,0],[1997,4,4,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,3,21,59,59],[1997,10,3,23,59,59],
+          '1997040323:00:00','1997040401:00:00','1997100321:59:59','1997100323:59:59' ],
+        [ [1997,10,3,22,0,0],[1997,10,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,11,9,23,59,59],[2012,11,10,1,59,59],
+          '1997100322:00:00','1997100400:00:00','2012110923:59:59','2012111001:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,11,10,0,0,0],[2012,11,10,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,28,23,59,59],[2013,3,29,0,59,59],
+          '2012111000:00:00','2012111001:00:00','2013032823:59:59','2013032900:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,29,0,0,0],[2013,3,29,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,24,23,59,59],[2013,10,25,1,59,59],
+          '2013032900:00:00','2013032902:00:00','2013102423:59:59','2013102501:59:59' ],
+        [ [2013,10,25,0,0,0],[2013,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '2013102500:00:00','2013102502:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aftuni00.pm b/lib/Date/Manip/TZ/aftuni00.pm
new file mode 100644
index 0000000..7e1d708
--- /dev/null
+++ b/lib/Date/Manip/TZ/aftuni00.pm
@@ -0,0 +1,199 @@
+package #
+Date::Manip::TZ::aftuni00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,40,44],'+00:40:44',[0,40,44],
+          'LMT',0,[1881,5,11,23,19,15],[1881,5,11,23,59,59],
+          '0001010200:00:00','0001010200:40:44','1881051123:19:15','1881051123:59:59' ],
+     ],
+   1881 =>
+     [
+        [ [1881,5,11,23,19,16],[1881,5,11,23,28,37],'+00:09:21',[0,9,21],
+          'PMT',0,[1911,3,10,23,50,38],[1911,3,10,23,59,59],
+          '1881051123:19:16','1881051123:28:37','1911031023:50:38','1911031023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,3,10,23,50,39],[1911,3,11,0,50,39],'+01:00:00',[1,0,0],
+          'CET',0,[1939,4,15,21,59,59],[1939,4,15,22,59,59],
+          '1911031023:50:39','1911031100:50:39','1939041521:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,15,22,0,0],[1939,4,16,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1939,11,18,21,59,59],[1939,11,18,23,59,59],
+          '1939041522:00:00','1939041600:00:00','1939111821:59:59','1939111823:59:59' ],
+        [ [1939,11,18,22,0,0],[1939,11,18,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,2,25,21,59,59],[1940,2,25,22,59,59],
+          '1939111822:00:00','1939111823:00:00','1940022521:59:59','1940022522:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,22,0,0],[1940,2,26,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1941,10,5,21,59,59],[1941,10,5,23,59,59],
+          '1940022522:00:00','1940022600:00:00','1941100521:59:59','1941100523:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,10,5,22,0,0],[1941,10,5,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1942,3,8,22,59,59],[1942,3,8,23,59,59],
+          '1941100522:00:00','1941100523:00:00','1942030822:59:59','1942030823:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,8,23,0,0],[1942,3,9,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1942030823:00:00','1942030901:00:00','1942110200:59:59','1942110202:59:59' ],
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,4,16,23,59,59],[1943,4,17,1,59,59],
+          '1943032901:00:00','1943032903:00:00','1943041623:59:59','1943041701:59:59' ],
+        [ [1943,4,17,0,0,0],[1943,4,17,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,4,25,0,59,59],[1943,4,25,1,59,59],
+          '1943041700:00:00','1943041701:00:00','1943042500:59:59','1943042501:59:59' ],
+        [ [1943,4,25,1,0,0],[1943,4,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,3,23,59,59],[1943,10,4,1,59,59],
+          '1943042501:00:00','1943042503:00:00','1943100323:59:59','1943100401:59:59' ],
+        [ [1943,10,4,0,0,0],[1943,10,4,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100400:00:00','1943100401:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,7,21,59,59],[1944,10,7,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100721:59:59','1944100723:59:59' ],
+        [ [1944,10,7,22,0,0],[1944,10,7,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100722:00:00','1944100723:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,15,21,59,59],[1945,9,15,23,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091521:59:59','1945091523:59:59' ],
+        [ [1945,9,15,22,0,0],[1945,9,15,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,29,22,59,59],[1977,4,29,23,59,59],
+          '1945091522:00:00','1945091523:00:00','1977042922:59:59','1977042923:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,29,23,0,0],[1977,4,30,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,23,22,59,59],[1977,9,24,0,59,59],
+          '1977042923:00:00','1977043001:00:00','1977092322:59:59','1977092400:59:59' ],
+        [ [1977,9,23,23,0,0],[1977,9,24,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,30,22,59,59],[1978,4,30,23,59,59],
+          '1977092323:00:00','1977092400:00:00','1978043022:59:59','1978043023:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,23,0,0],[1978,5,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,30,22,59,59],[1978,10,1,0,59,59],
+          '1978043023:00:00','1978050101:00:00','1978093022:59:59','1978100100:59:59' ],
+        [ [1978,9,30,23,0,0],[1978,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,5,31,22,59,59],[1988,5,31,23,59,59],
+          '1978093023:00:00','1978100100:00:00','1988053122:59:59','1988053123:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,5,31,23,0,0],[1988,6,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,24,22,59,59],[1988,9,25,0,59,59],
+          '1988053123:00:00','1988060101:00:00','1988092422:59:59','1988092500:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,25,22,59,59],[1989,3,25,23,59,59],
+          '1988092423:00:00','1988092500:00:00','1989032522:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,23,22,59,59],[1989,9,24,0,59,59],
+          '1989032523:00:00','1989032601:00:00','1989092322:59:59','1989092400:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,4,30,22,59,59],[1990,4,30,23,59,59],
+          '1989092323:00:00','1989092400:00:00','1990043022:59:59','1990043023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,30,23,0,0],[1990,5,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,29,22,59,59],[1990,9,30,0,59,59],
+          '1990043023:00:00','1990050101:00:00','1990092922:59:59','1990093000:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,4,30,22,59,59],[2005,4,30,23,59,59],
+          '1990092923:00:00','1990093000:00:00','2005043022:59:59','2005043023:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,30,23,0,0],[2005,5,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,9,29,23,59,59],[2005,9,30,1,59,59],
+          '2005043023:00:00','2005050101:00:00','2005092923:59:59','2005093001:59:59' ],
+        [ [2005,9,30,0,0,0],[2005,9,30,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005093000:00:00','2005093001:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '2008102601:00:00','2008102602:00:00','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/afwind00.pm b/lib/Date/Manip/TZ/afwind00.pm
new file mode 100644
index 0000000..907e433
--- /dev/null
+++ b/lib/Date/Manip/TZ/afwind00.pm
@@ -0,0 +1,763 @@
+package #
+Date::Manip::TZ::afwind00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,8,24],'+01:08:24',[1,8,24],
+          'LMT',0,[1892,2,7,22,51,35],[1892,2,7,23,59,59],
+          '0001010200:00:00','0001010201:08:24','1892020722:51:35','1892020723:59:59' ],
+     ],
+   1892 =>
+     [
+        [ [1892,2,7,22,51,36],[1892,2,8,0,21,36],'+01:30:00',[1,30,0],
+          '+0130',0,[1903,2,28,22,29,59],[1903,2,28,23,59,59],
+          '1892020722:51:36','1892020800:21:36','1903022822:29:59','1903022823:59:59' ],
+     ],
+   1903 =>
+     [
+        [ [1903,2,28,22,30,0],[1903,3,1,0,30,0],'+02:00:00',[2,0,0],
+          'SAST',0,[1942,9,19,23,59,59],[1942,9,20,1,59,59],
+          '1903022822:30:00','1903030100:30:00','1942091923:59:59','1942092001:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,9,20,0,0,0],[1942,9,20,3,0,0],'+03:00:00',[3,0,0],
+          'SAST',1,[1943,3,20,22,59,59],[1943,3,21,1,59,59],
+          '1942092000:00:00','1942092003:00:00','1943032022:59:59','1943032101:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,20,23,0,0],[1943,3,21,1,0,0],'+02:00:00',[2,0,0],
+          'SAST',0,[1990,3,20,21,59,59],[1990,3,20,23,59,59],
+          '1943032023:00:00','1943032101:00:00','1990032021:59:59','1990032023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,20,22,0,0],[1990,3,21,0,0,0],'+02:00:00',[2,0,0],
+          'CAT',0,[1994,4,2,21,59,59],[1994,4,2,23,59,59],
+          '1990032022:00:00','1990032100:00:00','1994040221:59:59','1994040223:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,2,22,0,0],[1994,4,2,23,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1994,9,4,0,59,59],[1994,9,4,1,59,59],
+          '1994040222:00:00','1994040223:00:00','1994090400:59:59','1994090401:59:59' ],
+        [ [1994,9,4,1,0,0],[1994,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1995,4,1,23,59,59],[1995,4,2,1,59,59],
+          '1994090401:00:00','1994090403:00:00','1995040123:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,0,0,0],[1995,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1995,9,3,0,59,59],[1995,9,3,1,59,59],
+          '1995040200:00:00','1995040201:00:00','1995090300:59:59','1995090301:59:59' ],
+        [ [1995,9,3,1,0,0],[1995,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1996,4,6,23,59,59],[1996,4,7,1,59,59],
+          '1995090301:00:00','1995090303:00:00','1996040623:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,0,0,0],[1996,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1996,9,1,0,59,59],[1996,9,1,1,59,59],
+          '1996040700:00:00','1996040701:00:00','1996090100:59:59','1996090101:59:59' ],
+        [ [1996,9,1,1,0,0],[1996,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1997,4,5,23,59,59],[1997,4,6,1,59,59],
+          '1996090101:00:00','1996090103:00:00','1997040523:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,0,0,0],[1997,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1997,9,7,0,59,59],[1997,9,7,1,59,59],
+          '1997040600:00:00','1997040601:00:00','1997090700:59:59','1997090701:59:59' ],
+        [ [1997,9,7,1,0,0],[1997,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1998,4,4,23,59,59],[1998,4,5,1,59,59],
+          '1997090701:00:00','1997090703:00:00','1998040423:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,0,0,0],[1998,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1998,9,6,0,59,59],[1998,9,6,1,59,59],
+          '1998040500:00:00','1998040501:00:00','1998090600:59:59','1998090601:59:59' ],
+        [ [1998,9,6,1,0,0],[1998,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[1999,4,3,23,59,59],[1999,4,4,1,59,59],
+          '1998090601:00:00','1998090603:00:00','1999040323:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,0,0,0],[1999,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[1999,9,5,0,59,59],[1999,9,5,1,59,59],
+          '1999040400:00:00','1999040401:00:00','1999090500:59:59','1999090501:59:59' ],
+        [ [1999,9,5,1,0,0],[1999,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2000,4,1,23,59,59],[2000,4,2,1,59,59],
+          '1999090501:00:00','1999090503:00:00','2000040123:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,0,0,0],[2000,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2000,9,3,0,59,59],[2000,9,3,1,59,59],
+          '2000040200:00:00','2000040201:00:00','2000090300:59:59','2000090301:59:59' ],
+        [ [2000,9,3,1,0,0],[2000,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2001,3,31,23,59,59],[2001,4,1,1,59,59],
+          '2000090301:00:00','2000090303:00:00','2001033123:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,0,0,0],[2001,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2001,9,2,0,59,59],[2001,9,2,1,59,59],
+          '2001040100:00:00','2001040101:00:00','2001090200:59:59','2001090201:59:59' ],
+        [ [2001,9,2,1,0,0],[2001,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2002,4,6,23,59,59],[2002,4,7,1,59,59],
+          '2001090201:00:00','2001090203:00:00','2002040623:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,0,0,0],[2002,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2002,9,1,0,59,59],[2002,9,1,1,59,59],
+          '2002040700:00:00','2002040701:00:00','2002090100:59:59','2002090101:59:59' ],
+        [ [2002,9,1,1,0,0],[2002,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2003,4,5,23,59,59],[2003,4,6,1,59,59],
+          '2002090101:00:00','2002090103:00:00','2003040523:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,0,0,0],[2003,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2003,9,7,0,59,59],[2003,9,7,1,59,59],
+          '2003040600:00:00','2003040601:00:00','2003090700:59:59','2003090701:59:59' ],
+        [ [2003,9,7,1,0,0],[2003,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2004,4,3,23,59,59],[2004,4,4,1,59,59],
+          '2003090701:00:00','2003090703:00:00','2004040323:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,0,0,0],[2004,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2004,9,5,0,59,59],[2004,9,5,1,59,59],
+          '2004040400:00:00','2004040401:00:00','2004090500:59:59','2004090501:59:59' ],
+        [ [2004,9,5,1,0,0],[2004,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2005,4,2,23,59,59],[2005,4,3,1,59,59],
+          '2004090501:00:00','2004090503:00:00','2005040223:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,0,0,0],[2005,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2005,9,4,0,59,59],[2005,9,4,1,59,59],
+          '2005040300:00:00','2005040301:00:00','2005090400:59:59','2005090401:59:59' ],
+        [ [2005,9,4,1,0,0],[2005,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2006,4,1,23,59,59],[2006,4,2,1,59,59],
+          '2005090401:00:00','2005090403:00:00','2006040123:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,0,0,0],[2006,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2006,9,3,0,59,59],[2006,9,3,1,59,59],
+          '2006040200:00:00','2006040201:00:00','2006090300:59:59','2006090301:59:59' ],
+        [ [2006,9,3,1,0,0],[2006,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2007,3,31,23,59,59],[2007,4,1,1,59,59],
+          '2006090301:00:00','2006090303:00:00','2007033123:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,0,0,0],[2007,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2007,9,2,0,59,59],[2007,9,2,1,59,59],
+          '2007040100:00:00','2007040101:00:00','2007090200:59:59','2007090201:59:59' ],
+        [ [2007,9,2,1,0,0],[2007,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2008,4,5,23,59,59],[2008,4,6,1,59,59],
+          '2007090201:00:00','2007090203:00:00','2008040523:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,0,0,0],[2008,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2008,9,7,0,59,59],[2008,9,7,1,59,59],
+          '2008040600:00:00','2008040601:00:00','2008090700:59:59','2008090701:59:59' ],
+        [ [2008,9,7,1,0,0],[2008,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2009,4,4,23,59,59],[2009,4,5,1,59,59],
+          '2008090701:00:00','2008090703:00:00','2009040423:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,0,0,0],[2009,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2009,9,6,0,59,59],[2009,9,6,1,59,59],
+          '2009040500:00:00','2009040501:00:00','2009090600:59:59','2009090601:59:59' ],
+        [ [2009,9,6,1,0,0],[2009,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2010,4,3,23,59,59],[2010,4,4,1,59,59],
+          '2009090601:00:00','2009090603:00:00','2010040323:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,0,0,0],[2010,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2010,9,5,0,59,59],[2010,9,5,1,59,59],
+          '2010040400:00:00','2010040401:00:00','2010090500:59:59','2010090501:59:59' ],
+        [ [2010,9,5,1,0,0],[2010,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2011,4,2,23,59,59],[2011,4,3,1,59,59],
+          '2010090501:00:00','2010090503:00:00','2011040223:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,0,0,0],[2011,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2011,9,4,0,59,59],[2011,9,4,1,59,59],
+          '2011040300:00:00','2011040301:00:00','2011090400:59:59','2011090401:59:59' ],
+        [ [2011,9,4,1,0,0],[2011,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2012,3,31,23,59,59],[2012,4,1,1,59,59],
+          '2011090401:00:00','2011090403:00:00','2012033123:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,0,0,0],[2012,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2012,9,2,0,59,59],[2012,9,2,1,59,59],
+          '2012040100:00:00','2012040101:00:00','2012090200:59:59','2012090201:59:59' ],
+        [ [2012,9,2,1,0,0],[2012,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2013,4,6,23,59,59],[2013,4,7,1,59,59],
+          '2012090201:00:00','2012090203:00:00','2013040623:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,0,0,0],[2013,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2013,9,1,0,59,59],[2013,9,1,1,59,59],
+          '2013040700:00:00','2013040701:00:00','2013090100:59:59','2013090101:59:59' ],
+        [ [2013,9,1,1,0,0],[2013,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2014,4,5,23,59,59],[2014,4,6,1,59,59],
+          '2013090101:00:00','2013090103:00:00','2014040523:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,0,0,0],[2014,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2014,9,7,0,59,59],[2014,9,7,1,59,59],
+          '2014040600:00:00','2014040601:00:00','2014090700:59:59','2014090701:59:59' ],
+        [ [2014,9,7,1,0,0],[2014,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2015,4,4,23,59,59],[2015,4,5,1,59,59],
+          '2014090701:00:00','2014090703:00:00','2015040423:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,0,0,0],[2015,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2015,9,6,0,59,59],[2015,9,6,1,59,59],
+          '2015040500:00:00','2015040501:00:00','2015090600:59:59','2015090601:59:59' ],
+        [ [2015,9,6,1,0,0],[2015,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2016,4,2,23,59,59],[2016,4,3,1,59,59],
+          '2015090601:00:00','2015090603:00:00','2016040223:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,0,0,0],[2016,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2016,9,4,0,59,59],[2016,9,4,1,59,59],
+          '2016040300:00:00','2016040301:00:00','2016090400:59:59','2016090401:59:59' ],
+        [ [2016,9,4,1,0,0],[2016,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2017,4,1,23,59,59],[2017,4,2,1,59,59],
+          '2016090401:00:00','2016090403:00:00','2017040123:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,0,0,0],[2017,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2017,9,3,0,59,59],[2017,9,3,1,59,59],
+          '2017040200:00:00','2017040201:00:00','2017090300:59:59','2017090301:59:59' ],
+        [ [2017,9,3,1,0,0],[2017,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2018,3,31,23,59,59],[2018,4,1,1,59,59],
+          '2017090301:00:00','2017090303:00:00','2018033123:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,0,0,0],[2018,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2018,9,2,0,59,59],[2018,9,2,1,59,59],
+          '2018040100:00:00','2018040101:00:00','2018090200:59:59','2018090201:59:59' ],
+        [ [2018,9,2,1,0,0],[2018,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2019,4,6,23,59,59],[2019,4,7,1,59,59],
+          '2018090201:00:00','2018090203:00:00','2019040623:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,0,0,0],[2019,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2019,9,1,0,59,59],[2019,9,1,1,59,59],
+          '2019040700:00:00','2019040701:00:00','2019090100:59:59','2019090101:59:59' ],
+        [ [2019,9,1,1,0,0],[2019,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2020,4,4,23,59,59],[2020,4,5,1,59,59],
+          '2019090101:00:00','2019090103:00:00','2020040423:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,0,0,0],[2020,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2020,9,6,0,59,59],[2020,9,6,1,59,59],
+          '2020040500:00:00','2020040501:00:00','2020090600:59:59','2020090601:59:59' ],
+        [ [2020,9,6,1,0,0],[2020,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2021,4,3,23,59,59],[2021,4,4,1,59,59],
+          '2020090601:00:00','2020090603:00:00','2021040323:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,0,0,0],[2021,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2021,9,5,0,59,59],[2021,9,5,1,59,59],
+          '2021040400:00:00','2021040401:00:00','2021090500:59:59','2021090501:59:59' ],
+        [ [2021,9,5,1,0,0],[2021,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2022,4,2,23,59,59],[2022,4,3,1,59,59],
+          '2021090501:00:00','2021090503:00:00','2022040223:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,0,0,0],[2022,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2022,9,4,0,59,59],[2022,9,4,1,59,59],
+          '2022040300:00:00','2022040301:00:00','2022090400:59:59','2022090401:59:59' ],
+        [ [2022,9,4,1,0,0],[2022,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2023,4,1,23,59,59],[2023,4,2,1,59,59],
+          '2022090401:00:00','2022090403:00:00','2023040123:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,0,0,0],[2023,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2023,9,3,0,59,59],[2023,9,3,1,59,59],
+          '2023040200:00:00','2023040201:00:00','2023090300:59:59','2023090301:59:59' ],
+        [ [2023,9,3,1,0,0],[2023,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2024,4,6,23,59,59],[2024,4,7,1,59,59],
+          '2023090301:00:00','2023090303:00:00','2024040623:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,0,0,0],[2024,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2024,9,1,0,59,59],[2024,9,1,1,59,59],
+          '2024040700:00:00','2024040701:00:00','2024090100:59:59','2024090101:59:59' ],
+        [ [2024,9,1,1,0,0],[2024,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2025,4,5,23,59,59],[2025,4,6,1,59,59],
+          '2024090101:00:00','2024090103:00:00','2025040523:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,0,0,0],[2025,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2025,9,7,0,59,59],[2025,9,7,1,59,59],
+          '2025040600:00:00','2025040601:00:00','2025090700:59:59','2025090701:59:59' ],
+        [ [2025,9,7,1,0,0],[2025,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2026,4,4,23,59,59],[2026,4,5,1,59,59],
+          '2025090701:00:00','2025090703:00:00','2026040423:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,0,0,0],[2026,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2026,9,6,0,59,59],[2026,9,6,1,59,59],
+          '2026040500:00:00','2026040501:00:00','2026090600:59:59','2026090601:59:59' ],
+        [ [2026,9,6,1,0,0],[2026,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2027,4,3,23,59,59],[2027,4,4,1,59,59],
+          '2026090601:00:00','2026090603:00:00','2027040323:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,0,0,0],[2027,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2027,9,5,0,59,59],[2027,9,5,1,59,59],
+          '2027040400:00:00','2027040401:00:00','2027090500:59:59','2027090501:59:59' ],
+        [ [2027,9,5,1,0,0],[2027,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2028,4,1,23,59,59],[2028,4,2,1,59,59],
+          '2027090501:00:00','2027090503:00:00','2028040123:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,0,0,0],[2028,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2028,9,3,0,59,59],[2028,9,3,1,59,59],
+          '2028040200:00:00','2028040201:00:00','2028090300:59:59','2028090301:59:59' ],
+        [ [2028,9,3,1,0,0],[2028,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2029,3,31,23,59,59],[2029,4,1,1,59,59],
+          '2028090301:00:00','2028090303:00:00','2029033123:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,0,0,0],[2029,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2029,9,2,0,59,59],[2029,9,2,1,59,59],
+          '2029040100:00:00','2029040101:00:00','2029090200:59:59','2029090201:59:59' ],
+        [ [2029,9,2,1,0,0],[2029,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2030,4,6,23,59,59],[2030,4,7,1,59,59],
+          '2029090201:00:00','2029090203:00:00','2030040623:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,0,0,0],[2030,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2030,9,1,0,59,59],[2030,9,1,1,59,59],
+          '2030040700:00:00','2030040701:00:00','2030090100:59:59','2030090101:59:59' ],
+        [ [2030,9,1,1,0,0],[2030,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2031,4,5,23,59,59],[2031,4,6,1,59,59],
+          '2030090101:00:00','2030090103:00:00','2031040523:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,0,0,0],[2031,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2031,9,7,0,59,59],[2031,9,7,1,59,59],
+          '2031040600:00:00','2031040601:00:00','2031090700:59:59','2031090701:59:59' ],
+        [ [2031,9,7,1,0,0],[2031,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2032,4,3,23,59,59],[2032,4,4,1,59,59],
+          '2031090701:00:00','2031090703:00:00','2032040323:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,0,0,0],[2032,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2032,9,5,0,59,59],[2032,9,5,1,59,59],
+          '2032040400:00:00','2032040401:00:00','2032090500:59:59','2032090501:59:59' ],
+        [ [2032,9,5,1,0,0],[2032,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2033,4,2,23,59,59],[2033,4,3,1,59,59],
+          '2032090501:00:00','2032090503:00:00','2033040223:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,0,0,0],[2033,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2033,9,4,0,59,59],[2033,9,4,1,59,59],
+          '2033040300:00:00','2033040301:00:00','2033090400:59:59','2033090401:59:59' ],
+        [ [2033,9,4,1,0,0],[2033,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2034,4,1,23,59,59],[2034,4,2,1,59,59],
+          '2033090401:00:00','2033090403:00:00','2034040123:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,0,0,0],[2034,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2034,9,3,0,59,59],[2034,9,3,1,59,59],
+          '2034040200:00:00','2034040201:00:00','2034090300:59:59','2034090301:59:59' ],
+        [ [2034,9,3,1,0,0],[2034,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2035,3,31,23,59,59],[2035,4,1,1,59,59],
+          '2034090301:00:00','2034090303:00:00','2035033123:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,0,0,0],[2035,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2035,9,2,0,59,59],[2035,9,2,1,59,59],
+          '2035040100:00:00','2035040101:00:00','2035090200:59:59','2035090201:59:59' ],
+        [ [2035,9,2,1,0,0],[2035,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2036,4,5,23,59,59],[2036,4,6,1,59,59],
+          '2035090201:00:00','2035090203:00:00','2036040523:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,0,0,0],[2036,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2036,9,7,0,59,59],[2036,9,7,1,59,59],
+          '2036040600:00:00','2036040601:00:00','2036090700:59:59','2036090701:59:59' ],
+        [ [2036,9,7,1,0,0],[2036,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2037,4,4,23,59,59],[2037,4,5,1,59,59],
+          '2036090701:00:00','2036090703:00:00','2037040423:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,0,0,0],[2037,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2037,9,6,0,59,59],[2037,9,6,1,59,59],
+          '2037040500:00:00','2037040501:00:00','2037090600:59:59','2037090601:59:59' ],
+        [ [2037,9,6,1,0,0],[2037,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2038,4,3,23,59,59],[2038,4,4,1,59,59],
+          '2037090601:00:00','2037090603:00:00','2038040323:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,0,0,0],[2038,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2038,9,5,0,59,59],[2038,9,5,1,59,59],
+          '2038040400:00:00','2038040401:00:00','2038090500:59:59','2038090501:59:59' ],
+        [ [2038,9,5,1,0,0],[2038,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2039,4,2,23,59,59],[2039,4,3,1,59,59],
+          '2038090501:00:00','2038090503:00:00','2039040223:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,0,0,0],[2039,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2039,9,4,0,59,59],[2039,9,4,1,59,59],
+          '2039040300:00:00','2039040301:00:00','2039090400:59:59','2039090401:59:59' ],
+        [ [2039,9,4,1,0,0],[2039,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2040,3,31,23,59,59],[2040,4,1,1,59,59],
+          '2039090401:00:00','2039090403:00:00','2040033123:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,0,0,0],[2040,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2040,9,2,0,59,59],[2040,9,2,1,59,59],
+          '2040040100:00:00','2040040101:00:00','2040090200:59:59','2040090201:59:59' ],
+        [ [2040,9,2,1,0,0],[2040,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2041,4,6,23,59,59],[2041,4,7,1,59,59],
+          '2040090201:00:00','2040090203:00:00','2041040623:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,0,0,0],[2041,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2041,9,1,0,59,59],[2041,9,1,1,59,59],
+          '2041040700:00:00','2041040701:00:00','2041090100:59:59','2041090101:59:59' ],
+        [ [2041,9,1,1,0,0],[2041,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2042,4,5,23,59,59],[2042,4,6,1,59,59],
+          '2041090101:00:00','2041090103:00:00','2042040523:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,0,0,0],[2042,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2042,9,7,0,59,59],[2042,9,7,1,59,59],
+          '2042040600:00:00','2042040601:00:00','2042090700:59:59','2042090701:59:59' ],
+        [ [2042,9,7,1,0,0],[2042,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2043,4,4,23,59,59],[2043,4,5,1,59,59],
+          '2042090701:00:00','2042090703:00:00','2043040423:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,0,0,0],[2043,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2043,9,6,0,59,59],[2043,9,6,1,59,59],
+          '2043040500:00:00','2043040501:00:00','2043090600:59:59','2043090601:59:59' ],
+        [ [2043,9,6,1,0,0],[2043,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2044,4,2,23,59,59],[2044,4,3,1,59,59],
+          '2043090601:00:00','2043090603:00:00','2044040223:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,0,0,0],[2044,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2044,9,4,0,59,59],[2044,9,4,1,59,59],
+          '2044040300:00:00','2044040301:00:00','2044090400:59:59','2044090401:59:59' ],
+        [ [2044,9,4,1,0,0],[2044,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2045,4,1,23,59,59],[2045,4,2,1,59,59],
+          '2044090401:00:00','2044090403:00:00','2045040123:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,0,0,0],[2045,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2045,9,3,0,59,59],[2045,9,3,1,59,59],
+          '2045040200:00:00','2045040201:00:00','2045090300:59:59','2045090301:59:59' ],
+        [ [2045,9,3,1,0,0],[2045,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2046,3,31,23,59,59],[2046,4,1,1,59,59],
+          '2045090301:00:00','2045090303:00:00','2046033123:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,0,0,0],[2046,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2046,9,2,0,59,59],[2046,9,2,1,59,59],
+          '2046040100:00:00','2046040101:00:00','2046090200:59:59','2046090201:59:59' ],
+        [ [2046,9,2,1,0,0],[2046,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2047,4,6,23,59,59],[2047,4,7,1,59,59],
+          '2046090201:00:00','2046090203:00:00','2047040623:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,0,0,0],[2047,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2047,9,1,0,59,59],[2047,9,1,1,59,59],
+          '2047040700:00:00','2047040701:00:00','2047090100:59:59','2047090101:59:59' ],
+        [ [2047,9,1,1,0,0],[2047,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2048,4,4,23,59,59],[2048,4,5,1,59,59],
+          '2047090101:00:00','2047090103:00:00','2048040423:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,0,0,0],[2048,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2048,9,6,0,59,59],[2048,9,6,1,59,59],
+          '2048040500:00:00','2048040501:00:00','2048090600:59:59','2048090601:59:59' ],
+        [ [2048,9,6,1,0,0],[2048,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2049,4,3,23,59,59],[2049,4,4,1,59,59],
+          '2048090601:00:00','2048090603:00:00','2049040323:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,0,0,0],[2049,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2049,9,5,0,59,59],[2049,9,5,1,59,59],
+          '2049040400:00:00','2049040401:00:00','2049090500:59:59','2049090501:59:59' ],
+        [ [2049,9,5,1,0,0],[2049,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2050,4,2,23,59,59],[2050,4,3,1,59,59],
+          '2049090501:00:00','2049090503:00:00','2050040223:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,0,0,0],[2050,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2050,9,4,0,59,59],[2050,9,4,1,59,59],
+          '2050040300:00:00','2050040301:00:00','2050090400:59:59','2050090401:59:59' ],
+        [ [2050,9,4,1,0,0],[2050,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2051,4,1,23,59,59],[2051,4,2,1,59,59],
+          '2050090401:00:00','2050090403:00:00','2051040123:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,0,0,0],[2051,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2051,9,3,0,59,59],[2051,9,3,1,59,59],
+          '2051040200:00:00','2051040201:00:00','2051090300:59:59','2051090301:59:59' ],
+        [ [2051,9,3,1,0,0],[2051,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2052,4,6,23,59,59],[2052,4,7,1,59,59],
+          '2051090301:00:00','2051090303:00:00','2052040623:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,0,0,0],[2052,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2052,9,1,0,59,59],[2052,9,1,1,59,59],
+          '2052040700:00:00','2052040701:00:00','2052090100:59:59','2052090101:59:59' ],
+        [ [2052,9,1,1,0,0],[2052,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2053,4,5,23,59,59],[2053,4,6,1,59,59],
+          '2052090101:00:00','2052090103:00:00','2053040523:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,0,0,0],[2053,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2053,9,7,0,59,59],[2053,9,7,1,59,59],
+          '2053040600:00:00','2053040601:00:00','2053090700:59:59','2053090701:59:59' ],
+        [ [2053,9,7,1,0,0],[2053,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2054,4,4,23,59,59],[2054,4,5,1,59,59],
+          '2053090701:00:00','2053090703:00:00','2054040423:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,0,0,0],[2054,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2054,9,6,0,59,59],[2054,9,6,1,59,59],
+          '2054040500:00:00','2054040501:00:00','2054090600:59:59','2054090601:59:59' ],
+        [ [2054,9,6,1,0,0],[2054,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2055,4,3,23,59,59],[2055,4,4,1,59,59],
+          '2054090601:00:00','2054090603:00:00','2055040323:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,0,0,0],[2055,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2055,9,5,0,59,59],[2055,9,5,1,59,59],
+          '2055040400:00:00','2055040401:00:00','2055090500:59:59','2055090501:59:59' ],
+        [ [2055,9,5,1,0,0],[2055,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2056,4,1,23,59,59],[2056,4,2,1,59,59],
+          '2055090501:00:00','2055090503:00:00','2056040123:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,0,0,0],[2056,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2056,9,3,0,59,59],[2056,9,3,1,59,59],
+          '2056040200:00:00','2056040201:00:00','2056090300:59:59','2056090301:59:59' ],
+        [ [2056,9,3,1,0,0],[2056,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2057,3,31,23,59,59],[2057,4,1,1,59,59],
+          '2056090301:00:00','2056090303:00:00','2057033123:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,0,0,0],[2057,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2057,9,2,0,59,59],[2057,9,2,1,59,59],
+          '2057040100:00:00','2057040101:00:00','2057090200:59:59','2057090201:59:59' ],
+        [ [2057,9,2,1,0,0],[2057,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2058,4,6,23,59,59],[2058,4,7,1,59,59],
+          '2057090201:00:00','2057090203:00:00','2058040623:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,0,0,0],[2058,4,7,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2058,9,1,0,59,59],[2058,9,1,1,59,59],
+          '2058040700:00:00','2058040701:00:00','2058090100:59:59','2058090101:59:59' ],
+        [ [2058,9,1,1,0,0],[2058,9,1,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2059,4,5,23,59,59],[2059,4,6,1,59,59],
+          '2058090101:00:00','2058090103:00:00','2059040523:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,0,0,0],[2059,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2059,9,7,0,59,59],[2059,9,7,1,59,59],
+          '2059040600:00:00','2059040601:00:00','2059090700:59:59','2059090701:59:59' ],
+        [ [2059,9,7,1,0,0],[2059,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2060,4,3,23,59,59],[2060,4,4,1,59,59],
+          '2059090701:00:00','2059090703:00:00','2060040323:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,0,0,0],[2060,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2060,9,5,0,59,59],[2060,9,5,1,59,59],
+          '2060040400:00:00','2060040401:00:00','2060090500:59:59','2060090501:59:59' ],
+        [ [2060,9,5,1,0,0],[2060,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2061,4,2,23,59,59],[2061,4,3,1,59,59],
+          '2060090501:00:00','2060090503:00:00','2061040223:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,0,0,0],[2061,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2061,9,4,0,59,59],[2061,9,4,1,59,59],
+          '2061040300:00:00','2061040301:00:00','2061090400:59:59','2061090401:59:59' ],
+        [ [2061,9,4,1,0,0],[2061,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2062,4,1,23,59,59],[2062,4,2,1,59,59],
+          '2061090401:00:00','2061090403:00:00','2062040123:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,0,0,0],[2062,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2062,9,3,0,59,59],[2062,9,3,1,59,59],
+          '2062040200:00:00','2062040201:00:00','2062090300:59:59','2062090301:59:59' ],
+        [ [2062,9,3,1,0,0],[2062,9,3,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2063,3,31,23,59,59],[2063,4,1,1,59,59],
+          '2062090301:00:00','2062090303:00:00','2063033123:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,0,0,0],[2063,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2063,9,2,0,59,59],[2063,9,2,1,59,59],
+          '2063040100:00:00','2063040101:00:00','2063090200:59:59','2063090201:59:59' ],
+        [ [2063,9,2,1,0,0],[2063,9,2,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2064,4,5,23,59,59],[2064,4,6,1,59,59],
+          '2063090201:00:00','2063090203:00:00','2064040523:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,0,0,0],[2064,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2064,9,7,0,59,59],[2064,9,7,1,59,59],
+          '2064040600:00:00','2064040601:00:00','2064090700:59:59','2064090701:59:59' ],
+        [ [2064,9,7,1,0,0],[2064,9,7,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2065,4,4,23,59,59],[2065,4,5,1,59,59],
+          '2064090701:00:00','2064090703:00:00','2065040423:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,0,0,0],[2065,4,5,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2065,9,6,0,59,59],[2065,9,6,1,59,59],
+          '2065040500:00:00','2065040501:00:00','2065090600:59:59','2065090601:59:59' ],
+        [ [2065,9,6,1,0,0],[2065,9,6,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2066,4,3,23,59,59],[2066,4,4,1,59,59],
+          '2065090601:00:00','2065090603:00:00','2066040323:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,0,0,0],[2066,4,4,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2066,9,5,0,59,59],[2066,9,5,1,59,59],
+          '2066040400:00:00','2066040401:00:00','2066090500:59:59','2066090501:59:59' ],
+        [ [2066,9,5,1,0,0],[2066,9,5,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2067,4,2,23,59,59],[2067,4,3,1,59,59],
+          '2066090501:00:00','2066090503:00:00','2067040223:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,0,0,0],[2067,4,3,1,0,0],'+01:00:00',[1,0,0],
+          'WAT',0,[2067,9,4,0,59,59],[2067,9,4,1,59,59],
+          '2067040300:00:00','2067040301:00:00','2067090400:59:59','2067090401:59:59' ],
+        [ [2067,9,4,1,0,0],[2067,9,4,3,0,0],'+02:00:00',[2,0,0],
+          'WAST',1,[2068,3,31,23,59,59],[2068,4,1,1,59,59],
+          '2067090401:00:00','2067090403:00:00','2068033123:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WAT',
+                        },
+                '09' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WAST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amadak00.pm b/lib/Date/Manip/TZ/amadak00.pm
new file mode 100644
index 0000000..b175aa7
--- /dev/null
+++ b/lib/Date/Manip/TZ/amadak00.pm
@@ -0,0 +1,994 @@
+package #
+Date::Manip::TZ::amadak00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,13,21],'+12:13:21',[12,13,21],
+          'LMT',0,[1867,10,17,11,46,38],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010212:13:21','1867101711:46:38','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,11,46,39],[1867,10,17,0,0,1],'-11:46:38',[-11,-46,-38],
+          'LMT',0,[1900,8,20,23,46,37],[1900,8,20,11,59,59],
+          '1867101711:46:39','1867101700:00:01','1900082023:46:37','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,23,46,38],[1900,8,20,12,46,38],'-11:00:00',[-11,0,0],
+          'NST',0,[1942,2,9,12,59,59],[1942,2,9,1,59,59],
+          '1900082023:46:38','1900082012:46:38','1942020912:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,13,0,0],[1942,2,9,3,0,0],'-10:00:00',[-10,0,0],
+          'NWT',1,[1945,8,14,22,59,59],[1945,8,14,12,59,59],
+          '1942020913:00:00','1942020903:00:00','1945081422:59:59','1945081412:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,13,0,0],'-10:00:00',[-10,0,0],
+          'NPT',1,[1945,9,30,11,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081413:00:00','1945093011:59:59','1945093001:59:59' ],
+        [ [1945,9,30,12,0,0],[1945,9,30,1,0,0],'-11:00:00',[-11,0,0],
+          'NST',0,[1967,4,1,10,59,59],[1967,3,31,23,59,59],
+          '1945093012:00:00','1945093001:00:00','1967040110:59:59','1967033123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,1,11,0,0],[1967,4,1,0,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1969,4,27,12,59,59],[1969,4,27,1,59,59],
+          '1967040111:00:00','1967040100:00:00','1969042712:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,13,0,0],[1969,4,27,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1969,10,26,11,59,59],[1969,10,26,1,59,59],
+          '1969042713:00:00','1969042703:00:00','1969102611:59:59','1969102601:59:59' ],
+        [ [1969,10,26,12,0,0],[1969,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1970,4,26,12,59,59],[1970,4,26,1,59,59],
+          '1969102612:00:00','1969102601:00:00','1970042612:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,13,0,0],[1970,4,26,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1970,10,25,11,59,59],[1970,10,25,1,59,59],
+          '1970042613:00:00','1970042603:00:00','1970102511:59:59','1970102501:59:59' ],
+        [ [1970,10,25,12,0,0],[1970,10,25,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1971,4,25,12,59,59],[1971,4,25,1,59,59],
+          '1970102512:00:00','1970102501:00:00','1971042512:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,13,0,0],[1971,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1971,10,31,11,59,59],[1971,10,31,1,59,59],
+          '1971042513:00:00','1971042503:00:00','1971103111:59:59','1971103101:59:59' ],
+        [ [1971,10,31,12,0,0],[1971,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1972,4,30,12,59,59],[1972,4,30,1,59,59],
+          '1971103112:00:00','1971103101:00:00','1972043012:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,13,0,0],[1972,4,30,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1972,10,29,11,59,59],[1972,10,29,1,59,59],
+          '1972043013:00:00','1972043003:00:00','1972102911:59:59','1972102901:59:59' ],
+        [ [1972,10,29,12,0,0],[1972,10,29,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1973,4,29,12,59,59],[1973,4,29,1,59,59],
+          '1972102912:00:00','1972102901:00:00','1973042912:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,13,0,0],[1973,4,29,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1973,10,28,11,59,59],[1973,10,28,1,59,59],
+          '1973042913:00:00','1973042903:00:00','1973102811:59:59','1973102801:59:59' ],
+        [ [1973,10,28,12,0,0],[1973,10,28,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1974,1,6,12,59,59],[1974,1,6,1,59,59],
+          '1973102812:00:00','1973102801:00:00','1974010612:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,13,0,0],[1974,1,6,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1974,10,27,11,59,59],[1974,10,27,1,59,59],
+          '1974010613:00:00','1974010603:00:00','1974102711:59:59','1974102701:59:59' ],
+        [ [1974,10,27,12,0,0],[1974,10,27,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1975,2,23,12,59,59],[1975,2,23,1,59,59],
+          '1974102712:00:00','1974102701:00:00','1975022312:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,13,0,0],[1975,2,23,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1975,10,26,11,59,59],[1975,10,26,1,59,59],
+          '1975022313:00:00','1975022303:00:00','1975102611:59:59','1975102601:59:59' ],
+        [ [1975,10,26,12,0,0],[1975,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1976,4,25,12,59,59],[1976,4,25,1,59,59],
+          '1975102612:00:00','1975102601:00:00','1976042512:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,13,0,0],[1976,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1976,10,31,11,59,59],[1976,10,31,1,59,59],
+          '1976042513:00:00','1976042503:00:00','1976103111:59:59','1976103101:59:59' ],
+        [ [1976,10,31,12,0,0],[1976,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1977,4,24,12,59,59],[1977,4,24,1,59,59],
+          '1976103112:00:00','1976103101:00:00','1977042412:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,13,0,0],[1977,4,24,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1977,10,30,11,59,59],[1977,10,30,1,59,59],
+          '1977042413:00:00','1977042403:00:00','1977103011:59:59','1977103001:59:59' ],
+        [ [1977,10,30,12,0,0],[1977,10,30,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1978,4,30,12,59,59],[1978,4,30,1,59,59],
+          '1977103012:00:00','1977103001:00:00','1978043012:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,13,0,0],[1978,4,30,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1978,10,29,11,59,59],[1978,10,29,1,59,59],
+          '1978043013:00:00','1978043003:00:00','1978102911:59:59','1978102901:59:59' ],
+        [ [1978,10,29,12,0,0],[1978,10,29,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1979,4,29,12,59,59],[1979,4,29,1,59,59],
+          '1978102912:00:00','1978102901:00:00','1979042912:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,13,0,0],[1979,4,29,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1979,10,28,11,59,59],[1979,10,28,1,59,59],
+          '1979042913:00:00','1979042903:00:00','1979102811:59:59','1979102801:59:59' ],
+        [ [1979,10,28,12,0,0],[1979,10,28,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1980,4,27,12,59,59],[1980,4,27,1,59,59],
+          '1979102812:00:00','1979102801:00:00','1980042712:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,13,0,0],[1980,4,27,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1980,10,26,11,59,59],[1980,10,26,1,59,59],
+          '1980042713:00:00','1980042703:00:00','1980102611:59:59','1980102601:59:59' ],
+        [ [1980,10,26,12,0,0],[1980,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1981,4,26,12,59,59],[1981,4,26,1,59,59],
+          '1980102612:00:00','1980102601:00:00','1981042612:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,13,0,0],[1981,4,26,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1981,10,25,11,59,59],[1981,10,25,1,59,59],
+          '1981042613:00:00','1981042603:00:00','1981102511:59:59','1981102501:59:59' ],
+        [ [1981,10,25,12,0,0],[1981,10,25,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1982,4,25,12,59,59],[1982,4,25,1,59,59],
+          '1981102512:00:00','1981102501:00:00','1982042512:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,13,0,0],[1982,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1982,10,31,11,59,59],[1982,10,31,1,59,59],
+          '1982042513:00:00','1982042503:00:00','1982103111:59:59','1982103101:59:59' ],
+        [ [1982,10,31,12,0,0],[1982,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1983,4,24,12,59,59],[1983,4,24,1,59,59],
+          '1982103112:00:00','1982103101:00:00','1983042412:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,13,0,0],[1983,4,24,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1983,10,30,11,59,59],[1983,10,30,1,59,59],
+          '1983042413:00:00','1983042403:00:00','1983103011:59:59','1983103001:59:59' ],
+        [ [1983,10,30,12,0,0],[1983,10,30,2,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1983,11,30,9,59,59],[1983,11,29,23,59,59],
+          '1983103012:00:00','1983103002:00:00','1983113009:59:59','1983112923:59:59' ],
+        [ [1983,11,30,10,0,0],[1983,11,30,0,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1984,4,29,11,59,59],[1984,4,29,1,59,59],
+          '1983113010:00:00','1983113000:00:00','1984042911:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,12,0,0],[1984,4,29,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1984,10,28,10,59,59],[1984,10,28,1,59,59],
+          '1984042912:00:00','1984042903:00:00','1984102810:59:59','1984102801:59:59' ],
+        [ [1984,10,28,11,0,0],[1984,10,28,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1985,4,28,11,59,59],[1985,4,28,1,59,59],
+          '1984102811:00:00','1984102801:00:00','1985042811:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,12,0,0],[1985,4,28,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1985,10,27,10,59,59],[1985,10,27,1,59,59],
+          '1985042812:00:00','1985042803:00:00','1985102710:59:59','1985102701:59:59' ],
+        [ [1985,10,27,11,0,0],[1985,10,27,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1986,4,27,11,59,59],[1986,4,27,1,59,59],
+          '1985102711:00:00','1985102701:00:00','1986042711:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,12,0,0],[1986,4,27,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1986,10,26,10,59,59],[1986,10,26,1,59,59],
+          '1986042712:00:00','1986042703:00:00','1986102610:59:59','1986102601:59:59' ],
+        [ [1986,10,26,11,0,0],[1986,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1987,4,5,11,59,59],[1987,4,5,1,59,59],
+          '1986102611:00:00','1986102601:00:00','1987040511:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,12,0,0],[1987,4,5,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1987,10,25,10,59,59],[1987,10,25,1,59,59],
+          '1987040512:00:00','1987040503:00:00','1987102510:59:59','1987102501:59:59' ],
+        [ [1987,10,25,11,0,0],[1987,10,25,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1988,4,3,11,59,59],[1988,4,3,1,59,59],
+          '1987102511:00:00','1987102501:00:00','1988040311:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,12,0,0],[1988,4,3,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1988,10,30,10,59,59],[1988,10,30,1,59,59],
+          '1988040312:00:00','1988040303:00:00','1988103010:59:59','1988103001:59:59' ],
+        [ [1988,10,30,11,0,0],[1988,10,30,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1989,4,2,11,59,59],[1989,4,2,1,59,59],
+          '1988103011:00:00','1988103001:00:00','1989040211:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,12,0,0],[1989,4,2,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1989,10,29,10,59,59],[1989,10,29,1,59,59],
+          '1989040212:00:00','1989040203:00:00','1989102910:59:59','1989102901:59:59' ],
+        [ [1989,10,29,11,0,0],[1989,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1990,4,1,11,59,59],[1990,4,1,1,59,59],
+          '1989102911:00:00','1989102901:00:00','1990040111:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,12,0,0],[1990,4,1,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1990,10,28,10,59,59],[1990,10,28,1,59,59],
+          '1990040112:00:00','1990040103:00:00','1990102810:59:59','1990102801:59:59' ],
+        [ [1990,10,28,11,0,0],[1990,10,28,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1991,4,7,11,59,59],[1991,4,7,1,59,59],
+          '1990102811:00:00','1990102801:00:00','1991040711:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,12,0,0],[1991,4,7,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1991,10,27,10,59,59],[1991,10,27,1,59,59],
+          '1991040712:00:00','1991040703:00:00','1991102710:59:59','1991102701:59:59' ],
+        [ [1991,10,27,11,0,0],[1991,10,27,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1992,4,5,11,59,59],[1992,4,5,1,59,59],
+          '1991102711:00:00','1991102701:00:00','1992040511:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,12,0,0],[1992,4,5,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1992,10,25,10,59,59],[1992,10,25,1,59,59],
+          '1992040512:00:00','1992040503:00:00','1992102510:59:59','1992102501:59:59' ],
+        [ [1992,10,25,11,0,0],[1992,10,25,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1993,4,4,11,59,59],[1993,4,4,1,59,59],
+          '1992102511:00:00','1992102501:00:00','1993040411:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,12,0,0],[1993,4,4,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1993,10,31,10,59,59],[1993,10,31,1,59,59],
+          '1993040412:00:00','1993040403:00:00','1993103110:59:59','1993103101:59:59' ],
+        [ [1993,10,31,11,0,0],[1993,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1994,4,3,11,59,59],[1994,4,3,1,59,59],
+          '1993103111:00:00','1993103101:00:00','1994040311:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,12,0,0],[1994,4,3,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1994,10,30,10,59,59],[1994,10,30,1,59,59],
+          '1994040312:00:00','1994040303:00:00','1994103010:59:59','1994103001:59:59' ],
+        [ [1994,10,30,11,0,0],[1994,10,30,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1995,4,2,11,59,59],[1995,4,2,1,59,59],
+          '1994103011:00:00','1994103001:00:00','1995040211:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,12,0,0],[1995,4,2,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1995,10,29,10,59,59],[1995,10,29,1,59,59],
+          '1995040212:00:00','1995040203:00:00','1995102910:59:59','1995102901:59:59' ],
+        [ [1995,10,29,11,0,0],[1995,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1996,4,7,11,59,59],[1996,4,7,1,59,59],
+          '1995102911:00:00','1995102901:00:00','1996040711:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,12,0,0],[1996,4,7,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1996,10,27,10,59,59],[1996,10,27,1,59,59],
+          '1996040712:00:00','1996040703:00:00','1996102710:59:59','1996102701:59:59' ],
+        [ [1996,10,27,11,0,0],[1996,10,27,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1997,4,6,11,59,59],[1997,4,6,1,59,59],
+          '1996102711:00:00','1996102701:00:00','1997040611:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,12,0,0],[1997,4,6,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1997,10,26,10,59,59],[1997,10,26,1,59,59],
+          '1997040612:00:00','1997040603:00:00','1997102610:59:59','1997102601:59:59' ],
+        [ [1997,10,26,11,0,0],[1997,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1998,4,5,11,59,59],[1998,4,5,1,59,59],
+          '1997102611:00:00','1997102601:00:00','1998040511:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,12,0,0],[1998,4,5,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1998,10,25,10,59,59],[1998,10,25,1,59,59],
+          '1998040512:00:00','1998040503:00:00','1998102510:59:59','1998102501:59:59' ],
+        [ [1998,10,25,11,0,0],[1998,10,25,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[1999,4,4,11,59,59],[1999,4,4,1,59,59],
+          '1998102511:00:00','1998102501:00:00','1999040411:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,12,0,0],[1999,4,4,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[1999,10,31,10,59,59],[1999,10,31,1,59,59],
+          '1999040412:00:00','1999040403:00:00','1999103110:59:59','1999103101:59:59' ],
+        [ [1999,10,31,11,0,0],[1999,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2000,4,2,11,59,59],[2000,4,2,1,59,59],
+          '1999103111:00:00','1999103101:00:00','2000040211:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,12,0,0],[2000,4,2,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2000,10,29,10,59,59],[2000,10,29,1,59,59],
+          '2000040212:00:00','2000040203:00:00','2000102910:59:59','2000102901:59:59' ],
+        [ [2000,10,29,11,0,0],[2000,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2001,4,1,11,59,59],[2001,4,1,1,59,59],
+          '2000102911:00:00','2000102901:00:00','2001040111:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,12,0,0],[2001,4,1,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2001,10,28,10,59,59],[2001,10,28,1,59,59],
+          '2001040112:00:00','2001040103:00:00','2001102810:59:59','2001102801:59:59' ],
+        [ [2001,10,28,11,0,0],[2001,10,28,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2002,4,7,11,59,59],[2002,4,7,1,59,59],
+          '2001102811:00:00','2001102801:00:00','2002040711:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,12,0,0],[2002,4,7,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2002,10,27,10,59,59],[2002,10,27,1,59,59],
+          '2002040712:00:00','2002040703:00:00','2002102710:59:59','2002102701:59:59' ],
+        [ [2002,10,27,11,0,0],[2002,10,27,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2003,4,6,11,59,59],[2003,4,6,1,59,59],
+          '2002102711:00:00','2002102701:00:00','2003040611:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,12,0,0],[2003,4,6,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2003,10,26,10,59,59],[2003,10,26,1,59,59],
+          '2003040612:00:00','2003040603:00:00','2003102610:59:59','2003102601:59:59' ],
+        [ [2003,10,26,11,0,0],[2003,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2004,4,4,11,59,59],[2004,4,4,1,59,59],
+          '2003102611:00:00','2003102601:00:00','2004040411:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,12,0,0],[2004,4,4,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2004,10,31,10,59,59],[2004,10,31,1,59,59],
+          '2004040412:00:00','2004040403:00:00','2004103110:59:59','2004103101:59:59' ],
+        [ [2004,10,31,11,0,0],[2004,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2005,4,3,11,59,59],[2005,4,3,1,59,59],
+          '2004103111:00:00','2004103101:00:00','2005040311:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,12,0,0],[2005,4,3,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2005,10,30,10,59,59],[2005,10,30,1,59,59],
+          '2005040312:00:00','2005040303:00:00','2005103010:59:59','2005103001:59:59' ],
+        [ [2005,10,30,11,0,0],[2005,10,30,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2006,4,2,11,59,59],[2006,4,2,1,59,59],
+          '2005103011:00:00','2005103001:00:00','2006040211:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,12,0,0],[2006,4,2,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2006,10,29,10,59,59],[2006,10,29,1,59,59],
+          '2006040212:00:00','2006040203:00:00','2006102910:59:59','2006102901:59:59' ],
+        [ [2006,10,29,11,0,0],[2006,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2007,3,11,11,59,59],[2007,3,11,1,59,59],
+          '2006102911:00:00','2006102901:00:00','2007031111:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,12,0,0],[2007,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2007,11,4,10,59,59],[2007,11,4,1,59,59],
+          '2007031112:00:00','2007031103:00:00','2007110410:59:59','2007110401:59:59' ],
+        [ [2007,11,4,11,0,0],[2007,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2008,3,9,11,59,59],[2008,3,9,1,59,59],
+          '2007110411:00:00','2007110401:00:00','2008030911:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,12,0,0],[2008,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2008,11,2,10,59,59],[2008,11,2,1,59,59],
+          '2008030912:00:00','2008030903:00:00','2008110210:59:59','2008110201:59:59' ],
+        [ [2008,11,2,11,0,0],[2008,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2009,3,8,11,59,59],[2009,3,8,1,59,59],
+          '2008110211:00:00','2008110201:00:00','2009030811:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,12,0,0],[2009,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2009,11,1,10,59,59],[2009,11,1,1,59,59],
+          '2009030812:00:00','2009030803:00:00','2009110110:59:59','2009110101:59:59' ],
+        [ [2009,11,1,11,0,0],[2009,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2010,3,14,11,59,59],[2010,3,14,1,59,59],
+          '2009110111:00:00','2009110101:00:00','2010031411:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,12,0,0],[2010,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2010,11,7,10,59,59],[2010,11,7,1,59,59],
+          '2010031412:00:00','2010031403:00:00','2010110710:59:59','2010110701:59:59' ],
+        [ [2010,11,7,11,0,0],[2010,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2011,3,13,11,59,59],[2011,3,13,1,59,59],
+          '2010110711:00:00','2010110701:00:00','2011031311:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,12,0,0],[2011,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2011,11,6,10,59,59],[2011,11,6,1,59,59],
+          '2011031312:00:00','2011031303:00:00','2011110610:59:59','2011110601:59:59' ],
+        [ [2011,11,6,11,0,0],[2011,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2012,3,11,11,59,59],[2012,3,11,1,59,59],
+          '2011110611:00:00','2011110601:00:00','2012031111:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,12,0,0],[2012,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2012,11,4,10,59,59],[2012,11,4,1,59,59],
+          '2012031112:00:00','2012031103:00:00','2012110410:59:59','2012110401:59:59' ],
+        [ [2012,11,4,11,0,0],[2012,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2013,3,10,11,59,59],[2013,3,10,1,59,59],
+          '2012110411:00:00','2012110401:00:00','2013031011:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,12,0,0],[2013,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2013,11,3,10,59,59],[2013,11,3,1,59,59],
+          '2013031012:00:00','2013031003:00:00','2013110310:59:59','2013110301:59:59' ],
+        [ [2013,11,3,11,0,0],[2013,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2014,3,9,11,59,59],[2014,3,9,1,59,59],
+          '2013110311:00:00','2013110301:00:00','2014030911:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,12,0,0],[2014,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2014,11,2,10,59,59],[2014,11,2,1,59,59],
+          '2014030912:00:00','2014030903:00:00','2014110210:59:59','2014110201:59:59' ],
+        [ [2014,11,2,11,0,0],[2014,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2015,3,8,11,59,59],[2015,3,8,1,59,59],
+          '2014110211:00:00','2014110201:00:00','2015030811:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,12,0,0],[2015,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2015,11,1,10,59,59],[2015,11,1,1,59,59],
+          '2015030812:00:00','2015030803:00:00','2015110110:59:59','2015110101:59:59' ],
+        [ [2015,11,1,11,0,0],[2015,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2016,3,13,11,59,59],[2016,3,13,1,59,59],
+          '2015110111:00:00','2015110101:00:00','2016031311:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,12,0,0],[2016,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2016,11,6,10,59,59],[2016,11,6,1,59,59],
+          '2016031312:00:00','2016031303:00:00','2016110610:59:59','2016110601:59:59' ],
+        [ [2016,11,6,11,0,0],[2016,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2017,3,12,11,59,59],[2017,3,12,1,59,59],
+          '2016110611:00:00','2016110601:00:00','2017031211:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,12,0,0],[2017,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2017,11,5,10,59,59],[2017,11,5,1,59,59],
+          '2017031212:00:00','2017031203:00:00','2017110510:59:59','2017110501:59:59' ],
+        [ [2017,11,5,11,0,0],[2017,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2018,3,11,11,59,59],[2018,3,11,1,59,59],
+          '2017110511:00:00','2017110501:00:00','2018031111:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,12,0,0],[2018,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2018,11,4,10,59,59],[2018,11,4,1,59,59],
+          '2018031112:00:00','2018031103:00:00','2018110410:59:59','2018110401:59:59' ],
+        [ [2018,11,4,11,0,0],[2018,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2019,3,10,11,59,59],[2019,3,10,1,59,59],
+          '2018110411:00:00','2018110401:00:00','2019031011:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,12,0,0],[2019,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2019,11,3,10,59,59],[2019,11,3,1,59,59],
+          '2019031012:00:00','2019031003:00:00','2019110310:59:59','2019110301:59:59' ],
+        [ [2019,11,3,11,0,0],[2019,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2020,3,8,11,59,59],[2020,3,8,1,59,59],
+          '2019110311:00:00','2019110301:00:00','2020030811:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,12,0,0],[2020,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2020,11,1,10,59,59],[2020,11,1,1,59,59],
+          '2020030812:00:00','2020030803:00:00','2020110110:59:59','2020110101:59:59' ],
+        [ [2020,11,1,11,0,0],[2020,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2021,3,14,11,59,59],[2021,3,14,1,59,59],
+          '2020110111:00:00','2020110101:00:00','2021031411:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,12,0,0],[2021,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2021,11,7,10,59,59],[2021,11,7,1,59,59],
+          '2021031412:00:00','2021031403:00:00','2021110710:59:59','2021110701:59:59' ],
+        [ [2021,11,7,11,0,0],[2021,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2022,3,13,11,59,59],[2022,3,13,1,59,59],
+          '2021110711:00:00','2021110701:00:00','2022031311:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,12,0,0],[2022,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2022,11,6,10,59,59],[2022,11,6,1,59,59],
+          '2022031312:00:00','2022031303:00:00','2022110610:59:59','2022110601:59:59' ],
+        [ [2022,11,6,11,0,0],[2022,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2023,3,12,11,59,59],[2023,3,12,1,59,59],
+          '2022110611:00:00','2022110601:00:00','2023031211:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,12,0,0],[2023,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2023,11,5,10,59,59],[2023,11,5,1,59,59],
+          '2023031212:00:00','2023031203:00:00','2023110510:59:59','2023110501:59:59' ],
+        [ [2023,11,5,11,0,0],[2023,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2024,3,10,11,59,59],[2024,3,10,1,59,59],
+          '2023110511:00:00','2023110501:00:00','2024031011:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,12,0,0],[2024,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2024,11,3,10,59,59],[2024,11,3,1,59,59],
+          '2024031012:00:00','2024031003:00:00','2024110310:59:59','2024110301:59:59' ],
+        [ [2024,11,3,11,0,0],[2024,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2025,3,9,11,59,59],[2025,3,9,1,59,59],
+          '2024110311:00:00','2024110301:00:00','2025030911:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,12,0,0],[2025,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2025,11,2,10,59,59],[2025,11,2,1,59,59],
+          '2025030912:00:00','2025030903:00:00','2025110210:59:59','2025110201:59:59' ],
+        [ [2025,11,2,11,0,0],[2025,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2026,3,8,11,59,59],[2026,3,8,1,59,59],
+          '2025110211:00:00','2025110201:00:00','2026030811:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,12,0,0],[2026,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2026,11,1,10,59,59],[2026,11,1,1,59,59],
+          '2026030812:00:00','2026030803:00:00','2026110110:59:59','2026110101:59:59' ],
+        [ [2026,11,1,11,0,0],[2026,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2027,3,14,11,59,59],[2027,3,14,1,59,59],
+          '2026110111:00:00','2026110101:00:00','2027031411:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,12,0,0],[2027,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2027,11,7,10,59,59],[2027,11,7,1,59,59],
+          '2027031412:00:00','2027031403:00:00','2027110710:59:59','2027110701:59:59' ],
+        [ [2027,11,7,11,0,0],[2027,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2028,3,12,11,59,59],[2028,3,12,1,59,59],
+          '2027110711:00:00','2027110701:00:00','2028031211:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,12,0,0],[2028,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2028,11,5,10,59,59],[2028,11,5,1,59,59],
+          '2028031212:00:00','2028031203:00:00','2028110510:59:59','2028110501:59:59' ],
+        [ [2028,11,5,11,0,0],[2028,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2029,3,11,11,59,59],[2029,3,11,1,59,59],
+          '2028110511:00:00','2028110501:00:00','2029031111:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,12,0,0],[2029,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2029,11,4,10,59,59],[2029,11,4,1,59,59],
+          '2029031112:00:00','2029031103:00:00','2029110410:59:59','2029110401:59:59' ],
+        [ [2029,11,4,11,0,0],[2029,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2030,3,10,11,59,59],[2030,3,10,1,59,59],
+          '2029110411:00:00','2029110401:00:00','2030031011:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,12,0,0],[2030,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2030,11,3,10,59,59],[2030,11,3,1,59,59],
+          '2030031012:00:00','2030031003:00:00','2030110310:59:59','2030110301:59:59' ],
+        [ [2030,11,3,11,0,0],[2030,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2031,3,9,11,59,59],[2031,3,9,1,59,59],
+          '2030110311:00:00','2030110301:00:00','2031030911:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,12,0,0],[2031,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2031,11,2,10,59,59],[2031,11,2,1,59,59],
+          '2031030912:00:00','2031030903:00:00','2031110210:59:59','2031110201:59:59' ],
+        [ [2031,11,2,11,0,0],[2031,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2032,3,14,11,59,59],[2032,3,14,1,59,59],
+          '2031110211:00:00','2031110201:00:00','2032031411:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,12,0,0],[2032,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2032,11,7,10,59,59],[2032,11,7,1,59,59],
+          '2032031412:00:00','2032031403:00:00','2032110710:59:59','2032110701:59:59' ],
+        [ [2032,11,7,11,0,0],[2032,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2033,3,13,11,59,59],[2033,3,13,1,59,59],
+          '2032110711:00:00','2032110701:00:00','2033031311:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,12,0,0],[2033,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2033,11,6,10,59,59],[2033,11,6,1,59,59],
+          '2033031312:00:00','2033031303:00:00','2033110610:59:59','2033110601:59:59' ],
+        [ [2033,11,6,11,0,0],[2033,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2034,3,12,11,59,59],[2034,3,12,1,59,59],
+          '2033110611:00:00','2033110601:00:00','2034031211:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,12,0,0],[2034,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2034,11,5,10,59,59],[2034,11,5,1,59,59],
+          '2034031212:00:00','2034031203:00:00','2034110510:59:59','2034110501:59:59' ],
+        [ [2034,11,5,11,0,0],[2034,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2035,3,11,11,59,59],[2035,3,11,1,59,59],
+          '2034110511:00:00','2034110501:00:00','2035031111:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,12,0,0],[2035,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2035,11,4,10,59,59],[2035,11,4,1,59,59],
+          '2035031112:00:00','2035031103:00:00','2035110410:59:59','2035110401:59:59' ],
+        [ [2035,11,4,11,0,0],[2035,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2036,3,9,11,59,59],[2036,3,9,1,59,59],
+          '2035110411:00:00','2035110401:00:00','2036030911:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,12,0,0],[2036,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2036,11,2,10,59,59],[2036,11,2,1,59,59],
+          '2036030912:00:00','2036030903:00:00','2036110210:59:59','2036110201:59:59' ],
+        [ [2036,11,2,11,0,0],[2036,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2037,3,8,11,59,59],[2037,3,8,1,59,59],
+          '2036110211:00:00','2036110201:00:00','2037030811:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,12,0,0],[2037,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2037,11,1,10,59,59],[2037,11,1,1,59,59],
+          '2037030812:00:00','2037030803:00:00','2037110110:59:59','2037110101:59:59' ],
+        [ [2037,11,1,11,0,0],[2037,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2038,3,14,11,59,59],[2038,3,14,1,59,59],
+          '2037110111:00:00','2037110101:00:00','2038031411:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,12,0,0],[2038,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2038,11,7,10,59,59],[2038,11,7,1,59,59],
+          '2038031412:00:00','2038031403:00:00','2038110710:59:59','2038110701:59:59' ],
+        [ [2038,11,7,11,0,0],[2038,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2039,3,13,11,59,59],[2039,3,13,1,59,59],
+          '2038110711:00:00','2038110701:00:00','2039031311:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,12,0,0],[2039,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2039,11,6,10,59,59],[2039,11,6,1,59,59],
+          '2039031312:00:00','2039031303:00:00','2039110610:59:59','2039110601:59:59' ],
+        [ [2039,11,6,11,0,0],[2039,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2040,3,11,11,59,59],[2040,3,11,1,59,59],
+          '2039110611:00:00','2039110601:00:00','2040031111:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,12,0,0],[2040,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2040,11,4,10,59,59],[2040,11,4,1,59,59],
+          '2040031112:00:00','2040031103:00:00','2040110410:59:59','2040110401:59:59' ],
+        [ [2040,11,4,11,0,0],[2040,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2041,3,10,11,59,59],[2041,3,10,1,59,59],
+          '2040110411:00:00','2040110401:00:00','2041031011:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,12,0,0],[2041,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2041,11,3,10,59,59],[2041,11,3,1,59,59],
+          '2041031012:00:00','2041031003:00:00','2041110310:59:59','2041110301:59:59' ],
+        [ [2041,11,3,11,0,0],[2041,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2042,3,9,11,59,59],[2042,3,9,1,59,59],
+          '2041110311:00:00','2041110301:00:00','2042030911:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,12,0,0],[2042,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2042,11,2,10,59,59],[2042,11,2,1,59,59],
+          '2042030912:00:00','2042030903:00:00','2042110210:59:59','2042110201:59:59' ],
+        [ [2042,11,2,11,0,0],[2042,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2043,3,8,11,59,59],[2043,3,8,1,59,59],
+          '2042110211:00:00','2042110201:00:00','2043030811:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,12,0,0],[2043,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2043,11,1,10,59,59],[2043,11,1,1,59,59],
+          '2043030812:00:00','2043030803:00:00','2043110110:59:59','2043110101:59:59' ],
+        [ [2043,11,1,11,0,0],[2043,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2044,3,13,11,59,59],[2044,3,13,1,59,59],
+          '2043110111:00:00','2043110101:00:00','2044031311:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,12,0,0],[2044,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2044,11,6,10,59,59],[2044,11,6,1,59,59],
+          '2044031312:00:00','2044031303:00:00','2044110610:59:59','2044110601:59:59' ],
+        [ [2044,11,6,11,0,0],[2044,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2045,3,12,11,59,59],[2045,3,12,1,59,59],
+          '2044110611:00:00','2044110601:00:00','2045031211:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,12,0,0],[2045,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2045,11,5,10,59,59],[2045,11,5,1,59,59],
+          '2045031212:00:00','2045031203:00:00','2045110510:59:59','2045110501:59:59' ],
+        [ [2045,11,5,11,0,0],[2045,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2046,3,11,11,59,59],[2046,3,11,1,59,59],
+          '2045110511:00:00','2045110501:00:00','2046031111:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,12,0,0],[2046,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2046,11,4,10,59,59],[2046,11,4,1,59,59],
+          '2046031112:00:00','2046031103:00:00','2046110410:59:59','2046110401:59:59' ],
+        [ [2046,11,4,11,0,0],[2046,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2047,3,10,11,59,59],[2047,3,10,1,59,59],
+          '2046110411:00:00','2046110401:00:00','2047031011:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,12,0,0],[2047,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2047,11,3,10,59,59],[2047,11,3,1,59,59],
+          '2047031012:00:00','2047031003:00:00','2047110310:59:59','2047110301:59:59' ],
+        [ [2047,11,3,11,0,0],[2047,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2048,3,8,11,59,59],[2048,3,8,1,59,59],
+          '2047110311:00:00','2047110301:00:00','2048030811:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,12,0,0],[2048,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2048,11,1,10,59,59],[2048,11,1,1,59,59],
+          '2048030812:00:00','2048030803:00:00','2048110110:59:59','2048110101:59:59' ],
+        [ [2048,11,1,11,0,0],[2048,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2049,3,14,11,59,59],[2049,3,14,1,59,59],
+          '2048110111:00:00','2048110101:00:00','2049031411:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,12,0,0],[2049,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2049,11,7,10,59,59],[2049,11,7,1,59,59],
+          '2049031412:00:00','2049031403:00:00','2049110710:59:59','2049110701:59:59' ],
+        [ [2049,11,7,11,0,0],[2049,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2050,3,13,11,59,59],[2050,3,13,1,59,59],
+          '2049110711:00:00','2049110701:00:00','2050031311:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,12,0,0],[2050,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2050,11,6,10,59,59],[2050,11,6,1,59,59],
+          '2050031312:00:00','2050031303:00:00','2050110610:59:59','2050110601:59:59' ],
+        [ [2050,11,6,11,0,0],[2050,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2051,3,12,11,59,59],[2051,3,12,1,59,59],
+          '2050110611:00:00','2050110601:00:00','2051031211:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,12,0,0],[2051,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2051,11,5,10,59,59],[2051,11,5,1,59,59],
+          '2051031212:00:00','2051031203:00:00','2051110510:59:59','2051110501:59:59' ],
+        [ [2051,11,5,11,0,0],[2051,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2052,3,10,11,59,59],[2052,3,10,1,59,59],
+          '2051110511:00:00','2051110501:00:00','2052031011:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,12,0,0],[2052,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2052,11,3,10,59,59],[2052,11,3,1,59,59],
+          '2052031012:00:00','2052031003:00:00','2052110310:59:59','2052110301:59:59' ],
+        [ [2052,11,3,11,0,0],[2052,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2053,3,9,11,59,59],[2053,3,9,1,59,59],
+          '2052110311:00:00','2052110301:00:00','2053030911:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,12,0,0],[2053,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2053,11,2,10,59,59],[2053,11,2,1,59,59],
+          '2053030912:00:00','2053030903:00:00','2053110210:59:59','2053110201:59:59' ],
+        [ [2053,11,2,11,0,0],[2053,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2054,3,8,11,59,59],[2054,3,8,1,59,59],
+          '2053110211:00:00','2053110201:00:00','2054030811:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,12,0,0],[2054,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2054,11,1,10,59,59],[2054,11,1,1,59,59],
+          '2054030812:00:00','2054030803:00:00','2054110110:59:59','2054110101:59:59' ],
+        [ [2054,11,1,11,0,0],[2054,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2055,3,14,11,59,59],[2055,3,14,1,59,59],
+          '2054110111:00:00','2054110101:00:00','2055031411:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,12,0,0],[2055,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2055,11,7,10,59,59],[2055,11,7,1,59,59],
+          '2055031412:00:00','2055031403:00:00','2055110710:59:59','2055110701:59:59' ],
+        [ [2055,11,7,11,0,0],[2055,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2056,3,12,11,59,59],[2056,3,12,1,59,59],
+          '2055110711:00:00','2055110701:00:00','2056031211:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,12,0,0],[2056,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2056,11,5,10,59,59],[2056,11,5,1,59,59],
+          '2056031212:00:00','2056031203:00:00','2056110510:59:59','2056110501:59:59' ],
+        [ [2056,11,5,11,0,0],[2056,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2057,3,11,11,59,59],[2057,3,11,1,59,59],
+          '2056110511:00:00','2056110501:00:00','2057031111:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,12,0,0],[2057,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2057,11,4,10,59,59],[2057,11,4,1,59,59],
+          '2057031112:00:00','2057031103:00:00','2057110410:59:59','2057110401:59:59' ],
+        [ [2057,11,4,11,0,0],[2057,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2058,3,10,11,59,59],[2058,3,10,1,59,59],
+          '2057110411:00:00','2057110401:00:00','2058031011:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,12,0,0],[2058,3,10,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2058,11,3,10,59,59],[2058,11,3,1,59,59],
+          '2058031012:00:00','2058031003:00:00','2058110310:59:59','2058110301:59:59' ],
+        [ [2058,11,3,11,0,0],[2058,11,3,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2059,3,9,11,59,59],[2059,3,9,1,59,59],
+          '2058110311:00:00','2058110301:00:00','2059030911:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,12,0,0],[2059,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2059,11,2,10,59,59],[2059,11,2,1,59,59],
+          '2059030912:00:00','2059030903:00:00','2059110210:59:59','2059110201:59:59' ],
+        [ [2059,11,2,11,0,0],[2059,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2060,3,14,11,59,59],[2060,3,14,1,59,59],
+          '2059110211:00:00','2059110201:00:00','2060031411:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,12,0,0],[2060,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2060,11,7,10,59,59],[2060,11,7,1,59,59],
+          '2060031412:00:00','2060031403:00:00','2060110710:59:59','2060110701:59:59' ],
+        [ [2060,11,7,11,0,0],[2060,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2061,3,13,11,59,59],[2061,3,13,1,59,59],
+          '2060110711:00:00','2060110701:00:00','2061031311:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,12,0,0],[2061,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2061,11,6,10,59,59],[2061,11,6,1,59,59],
+          '2061031312:00:00','2061031303:00:00','2061110610:59:59','2061110601:59:59' ],
+        [ [2061,11,6,11,0,0],[2061,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2062,3,12,11,59,59],[2062,3,12,1,59,59],
+          '2061110611:00:00','2061110601:00:00','2062031211:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,12,0,0],[2062,3,12,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2062,11,5,10,59,59],[2062,11,5,1,59,59],
+          '2062031212:00:00','2062031203:00:00','2062110510:59:59','2062110501:59:59' ],
+        [ [2062,11,5,11,0,0],[2062,11,5,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2063,3,11,11,59,59],[2063,3,11,1,59,59],
+          '2062110511:00:00','2062110501:00:00','2063031111:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,12,0,0],[2063,3,11,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2063,11,4,10,59,59],[2063,11,4,1,59,59],
+          '2063031112:00:00','2063031103:00:00','2063110410:59:59','2063110401:59:59' ],
+        [ [2063,11,4,11,0,0],[2063,11,4,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2064,3,9,11,59,59],[2064,3,9,1,59,59],
+          '2063110411:00:00','2063110401:00:00','2064030911:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,12,0,0],[2064,3,9,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2064,11,2,10,59,59],[2064,11,2,1,59,59],
+          '2064030912:00:00','2064030903:00:00','2064110210:59:59','2064110201:59:59' ],
+        [ [2064,11,2,11,0,0],[2064,11,2,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2065,3,8,11,59,59],[2065,3,8,1,59,59],
+          '2064110211:00:00','2064110201:00:00','2065030811:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,12,0,0],[2065,3,8,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2065,11,1,10,59,59],[2065,11,1,1,59,59],
+          '2065030812:00:00','2065030803:00:00','2065110110:59:59','2065110101:59:59' ],
+        [ [2065,11,1,11,0,0],[2065,11,1,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2066,3,14,11,59,59],[2066,3,14,1,59,59],
+          '2065110111:00:00','2065110101:00:00','2066031411:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,12,0,0],[2066,3,14,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2066,11,7,10,59,59],[2066,11,7,1,59,59],
+          '2066031412:00:00','2066031403:00:00','2066110710:59:59','2066110701:59:59' ],
+        [ [2066,11,7,11,0,0],[2066,11,7,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2067,3,13,11,59,59],[2067,3,13,1,59,59],
+          '2066110711:00:00','2066110701:00:00','2067031311:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,12,0,0],[2067,3,13,3,0,0],'-09:00:00',[-9,0,0],
+          'HDT',1,[2067,11,6,10,59,59],[2067,11,6,1,59,59],
+          '2067031312:00:00','2067031303:00:00','2067110610:59:59','2067110601:59:59' ],
+        [ [2067,11,6,11,0,0],[2067,11,6,1,0,0],'-10:00:00',[-10,0,0],
+          'HST',0,[2068,3,11,11,59,59],[2068,3,11,1,59,59],
+          '2067110611:00:00','2067110601:00:00','2068031111:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-09:00:00',
+                'stdoff' => '-10:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'HDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'HST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amanch00.pm b/lib/Date/Manip/TZ/amanch00.pm
new file mode 100644
index 0000000..f854dcd
--- /dev/null
+++ b/lib/Date/Manip/TZ/amanch00.pm
@@ -0,0 +1,994 @@
+package #
+Date::Manip::TZ::amanch00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,14,0,24],'+14:00:24',[14,0,24],
+          'LMT',0,[1867,10,17,9,59,35],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010214:00:24','1867101709:59:35','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,9,59,36],[1867,10,17,0,0,0],'-09:59:36',[-9,-59,-36],
+          'LMT',0,[1900,8,20,21,59,35],[1900,8,20,11,59,59],
+          '1867101709:59:36','1867101700:00:00','1900082021:59:35','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,21,59,36],[1900,8,20,11,59,36],'-10:00:00',[-10,0,0],
+          'AST',0,[1942,2,9,11,59,59],[1942,2,9,1,59,59],
+          '1900082021:59:36','1900082011:59:36','1942020911:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,12,0,0],[1942,2,9,3,0,0],'-09:00:00',[-9,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,13,59,59],
+          '1942020912:00:00','1942020903:00:00','1945081422:59:59','1945081413:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,14,0,0],'-09:00:00',[-9,0,0],
+          'APT',1,[1945,9,30,10,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081414:00:00','1945093010:59:59','1945093001:59:59' ],
+        [ [1945,9,30,11,0,0],[1945,9,30,1,0,0],'-10:00:00',[-10,0,0],
+          'AST',0,[1967,4,1,9,59,59],[1967,3,31,23,59,59],
+          '1945093011:00:00','1945093001:00:00','1967040109:59:59','1967033123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,1,10,0,0],[1967,4,1,0,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1969,4,27,11,59,59],[1969,4,27,1,59,59],
+          '1967040110:00:00','1967040100:00:00','1969042711:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,12,0,0],[1969,4,27,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1969,10,26,10,59,59],[1969,10,26,1,59,59],
+          '1969042712:00:00','1969042703:00:00','1969102610:59:59','1969102601:59:59' ],
+        [ [1969,10,26,11,0,0],[1969,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1970,4,26,11,59,59],[1970,4,26,1,59,59],
+          '1969102611:00:00','1969102601:00:00','1970042611:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,12,0,0],[1970,4,26,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1970,10,25,10,59,59],[1970,10,25,1,59,59],
+          '1970042612:00:00','1970042603:00:00','1970102510:59:59','1970102501:59:59' ],
+        [ [1970,10,25,11,0,0],[1970,10,25,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1971,4,25,11,59,59],[1971,4,25,1,59,59],
+          '1970102511:00:00','1970102501:00:00','1971042511:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,12,0,0],[1971,4,25,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1971,10,31,10,59,59],[1971,10,31,1,59,59],
+          '1971042512:00:00','1971042503:00:00','1971103110:59:59','1971103101:59:59' ],
+        [ [1971,10,31,11,0,0],[1971,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1972,4,30,11,59,59],[1972,4,30,1,59,59],
+          '1971103111:00:00','1971103101:00:00','1972043011:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,12,0,0],[1972,4,30,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1972,10,29,10,59,59],[1972,10,29,1,59,59],
+          '1972043012:00:00','1972043003:00:00','1972102910:59:59','1972102901:59:59' ],
+        [ [1972,10,29,11,0,0],[1972,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1973,4,29,11,59,59],[1973,4,29,1,59,59],
+          '1972102911:00:00','1972102901:00:00','1973042911:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,12,0,0],[1973,4,29,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1973,10,28,10,59,59],[1973,10,28,1,59,59],
+          '1973042912:00:00','1973042903:00:00','1973102810:59:59','1973102801:59:59' ],
+        [ [1973,10,28,11,0,0],[1973,10,28,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1974,1,6,11,59,59],[1974,1,6,1,59,59],
+          '1973102811:00:00','1973102801:00:00','1974010611:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,12,0,0],[1974,1,6,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1974,10,27,10,59,59],[1974,10,27,1,59,59],
+          '1974010612:00:00','1974010603:00:00','1974102710:59:59','1974102701:59:59' ],
+        [ [1974,10,27,11,0,0],[1974,10,27,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1975,2,23,11,59,59],[1975,2,23,1,59,59],
+          '1974102711:00:00','1974102701:00:00','1975022311:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,12,0,0],[1975,2,23,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1975,10,26,10,59,59],[1975,10,26,1,59,59],
+          '1975022312:00:00','1975022303:00:00','1975102610:59:59','1975102601:59:59' ],
+        [ [1975,10,26,11,0,0],[1975,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1976,4,25,11,59,59],[1976,4,25,1,59,59],
+          '1975102611:00:00','1975102601:00:00','1976042511:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,12,0,0],[1976,4,25,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1976,10,31,10,59,59],[1976,10,31,1,59,59],
+          '1976042512:00:00','1976042503:00:00','1976103110:59:59','1976103101:59:59' ],
+        [ [1976,10,31,11,0,0],[1976,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1977,4,24,11,59,59],[1977,4,24,1,59,59],
+          '1976103111:00:00','1976103101:00:00','1977042411:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,12,0,0],[1977,4,24,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1977,10,30,10,59,59],[1977,10,30,1,59,59],
+          '1977042412:00:00','1977042403:00:00','1977103010:59:59','1977103001:59:59' ],
+        [ [1977,10,30,11,0,0],[1977,10,30,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1978,4,30,11,59,59],[1978,4,30,1,59,59],
+          '1977103011:00:00','1977103001:00:00','1978043011:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,12,0,0],[1978,4,30,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1978,10,29,10,59,59],[1978,10,29,1,59,59],
+          '1978043012:00:00','1978043003:00:00','1978102910:59:59','1978102901:59:59' ],
+        [ [1978,10,29,11,0,0],[1978,10,29,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1979,4,29,11,59,59],[1979,4,29,1,59,59],
+          '1978102911:00:00','1978102901:00:00','1979042911:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,12,0,0],[1979,4,29,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1979,10,28,10,59,59],[1979,10,28,1,59,59],
+          '1979042912:00:00','1979042903:00:00','1979102810:59:59','1979102801:59:59' ],
+        [ [1979,10,28,11,0,0],[1979,10,28,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1980,4,27,11,59,59],[1980,4,27,1,59,59],
+          '1979102811:00:00','1979102801:00:00','1980042711:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,12,0,0],[1980,4,27,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1980,10,26,10,59,59],[1980,10,26,1,59,59],
+          '1980042712:00:00','1980042703:00:00','1980102610:59:59','1980102601:59:59' ],
+        [ [1980,10,26,11,0,0],[1980,10,26,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1981,4,26,11,59,59],[1981,4,26,1,59,59],
+          '1980102611:00:00','1980102601:00:00','1981042611:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,12,0,0],[1981,4,26,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1981,10,25,10,59,59],[1981,10,25,1,59,59],
+          '1981042612:00:00','1981042603:00:00','1981102510:59:59','1981102501:59:59' ],
+        [ [1981,10,25,11,0,0],[1981,10,25,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1982,4,25,11,59,59],[1982,4,25,1,59,59],
+          '1981102511:00:00','1981102501:00:00','1982042511:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,12,0,0],[1982,4,25,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1982,10,31,10,59,59],[1982,10,31,1,59,59],
+          '1982042512:00:00','1982042503:00:00','1982103110:59:59','1982103101:59:59' ],
+        [ [1982,10,31,11,0,0],[1982,10,31,1,0,0],'-10:00:00',[-10,0,0],
+          'AHST',0,[1983,4,24,11,59,59],[1983,4,24,1,59,59],
+          '1982103111:00:00','1982103101:00:00','1983042411:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,12,0,0],[1983,4,24,3,0,0],'-09:00:00',[-9,0,0],
+          'AHDT',1,[1983,10,30,10,59,59],[1983,10,30,1,59,59],
+          '1983042412:00:00','1983042403:00:00','1983103010:59:59','1983103001:59:59' ],
+        [ [1983,10,30,11,0,0],[1983,10,30,2,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,11,30,8,59,59],[1983,11,29,23,59,59],
+          '1983103011:00:00','1983103002:00:00','1983113008:59:59','1983112923:59:59' ],
+        [ [1983,11,30,9,0,0],[1983,11,30,0,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1984,4,29,10,59,59],[1984,4,29,1,59,59],
+          '1983113009:00:00','1983113000:00:00','1984042910:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,11,0,0],[1984,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1984,10,28,9,59,59],[1984,10,28,1,59,59],
+          '1984042911:00:00','1984042903:00:00','1984102809:59:59','1984102801:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1985,4,28,10,59,59],[1985,4,28,1,59,59],
+          '1984102810:00:00','1984102801:00:00','1985042810:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,11,0,0],[1985,4,28,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1985,10,27,9,59,59],[1985,10,27,1,59,59],
+          '1985042811:00:00','1985042803:00:00','1985102709:59:59','1985102701:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1986,4,27,10,59,59],[1986,4,27,1,59,59],
+          '1985102710:00:00','1985102701:00:00','1986042710:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,11,0,0],[1986,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1986,10,26,9,59,59],[1986,10,26,1,59,59],
+          '1986042711:00:00','1986042703:00:00','1986102609:59:59','1986102601:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1987,4,5,10,59,59],[1987,4,5,1,59,59],
+          '1986102610:00:00','1986102601:00:00','1987040510:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,11,0,0],[1987,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1987,10,25,9,59,59],[1987,10,25,1,59,59],
+          '1987040511:00:00','1987040503:00:00','1987102509:59:59','1987102501:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1988,4,3,10,59,59],[1988,4,3,1,59,59],
+          '1987102510:00:00','1987102501:00:00','1988040310:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,11,0,0],[1988,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1988,10,30,9,59,59],[1988,10,30,1,59,59],
+          '1988040311:00:00','1988040303:00:00','1988103009:59:59','1988103001:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1989,4,2,10,59,59],[1989,4,2,1,59,59],
+          '1988103010:00:00','1988103001:00:00','1989040210:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,11,0,0],[1989,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1989,10,29,9,59,59],[1989,10,29,1,59,59],
+          '1989040211:00:00','1989040203:00:00','1989102909:59:59','1989102901:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1990,4,1,10,59,59],[1990,4,1,1,59,59],
+          '1989102910:00:00','1989102901:00:00','1990040110:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,11,0,0],[1990,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1990,10,28,9,59,59],[1990,10,28,1,59,59],
+          '1990040111:00:00','1990040103:00:00','1990102809:59:59','1990102801:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1991,4,7,10,59,59],[1991,4,7,1,59,59],
+          '1990102810:00:00','1990102801:00:00','1991040710:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,11,0,0],[1991,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1991,10,27,9,59,59],[1991,10,27,1,59,59],
+          '1991040711:00:00','1991040703:00:00','1991102709:59:59','1991102701:59:59' ],
+        [ [1991,10,27,10,0,0],[1991,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1992,4,5,10,59,59],[1992,4,5,1,59,59],
+          '1991102710:00:00','1991102701:00:00','1992040510:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,11,0,0],[1992,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1992,10,25,9,59,59],[1992,10,25,1,59,59],
+          '1992040511:00:00','1992040503:00:00','1992102509:59:59','1992102501:59:59' ],
+        [ [1992,10,25,10,0,0],[1992,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1993,4,4,10,59,59],[1993,4,4,1,59,59],
+          '1992102510:00:00','1992102501:00:00','1993040410:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,11,0,0],[1993,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1993,10,31,9,59,59],[1993,10,31,1,59,59],
+          '1993040411:00:00','1993040403:00:00','1993103109:59:59','1993103101:59:59' ],
+        [ [1993,10,31,10,0,0],[1993,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1994,4,3,10,59,59],[1994,4,3,1,59,59],
+          '1993103110:00:00','1993103101:00:00','1994040310:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,11,0,0],[1994,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1994,10,30,9,59,59],[1994,10,30,1,59,59],
+          '1994040311:00:00','1994040303:00:00','1994103009:59:59','1994103001:59:59' ],
+        [ [1994,10,30,10,0,0],[1994,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1995,4,2,10,59,59],[1995,4,2,1,59,59],
+          '1994103010:00:00','1994103001:00:00','1995040210:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,11,0,0],[1995,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1995,10,29,9,59,59],[1995,10,29,1,59,59],
+          '1995040211:00:00','1995040203:00:00','1995102909:59:59','1995102901:59:59' ],
+        [ [1995,10,29,10,0,0],[1995,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1996,4,7,10,59,59],[1996,4,7,1,59,59],
+          '1995102910:00:00','1995102901:00:00','1996040710:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,11,0,0],[1996,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1996,10,27,9,59,59],[1996,10,27,1,59,59],
+          '1996040711:00:00','1996040703:00:00','1996102709:59:59','1996102701:59:59' ],
+        [ [1996,10,27,10,0,0],[1996,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1997,4,6,10,59,59],[1997,4,6,1,59,59],
+          '1996102710:00:00','1996102701:00:00','1997040610:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,11,0,0],[1997,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1997,10,26,9,59,59],[1997,10,26,1,59,59],
+          '1997040611:00:00','1997040603:00:00','1997102609:59:59','1997102601:59:59' ],
+        [ [1997,10,26,10,0,0],[1997,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1998,4,5,10,59,59],[1998,4,5,1,59,59],
+          '1997102610:00:00','1997102601:00:00','1998040510:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,11,0,0],[1998,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1998,10,25,9,59,59],[1998,10,25,1,59,59],
+          '1998040511:00:00','1998040503:00:00','1998102509:59:59','1998102501:59:59' ],
+        [ [1998,10,25,10,0,0],[1998,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1999,4,4,10,59,59],[1999,4,4,1,59,59],
+          '1998102510:00:00','1998102501:00:00','1999040410:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,11,0,0],[1999,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1999,10,31,9,59,59],[1999,10,31,1,59,59],
+          '1999040411:00:00','1999040403:00:00','1999103109:59:59','1999103101:59:59' ],
+        [ [1999,10,31,10,0,0],[1999,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2000,4,2,10,59,59],[2000,4,2,1,59,59],
+          '1999103110:00:00','1999103101:00:00','2000040210:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,11,0,0],[2000,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2000,10,29,9,59,59],[2000,10,29,1,59,59],
+          '2000040211:00:00','2000040203:00:00','2000102909:59:59','2000102901:59:59' ],
+        [ [2000,10,29,10,0,0],[2000,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2001,4,1,10,59,59],[2001,4,1,1,59,59],
+          '2000102910:00:00','2000102901:00:00','2001040110:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,11,0,0],[2001,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2001,10,28,9,59,59],[2001,10,28,1,59,59],
+          '2001040111:00:00','2001040103:00:00','2001102809:59:59','2001102801:59:59' ],
+        [ [2001,10,28,10,0,0],[2001,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2002,4,7,10,59,59],[2002,4,7,1,59,59],
+          '2001102810:00:00','2001102801:00:00','2002040710:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,11,0,0],[2002,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2002,10,27,9,59,59],[2002,10,27,1,59,59],
+          '2002040711:00:00','2002040703:00:00','2002102709:59:59','2002102701:59:59' ],
+        [ [2002,10,27,10,0,0],[2002,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2003,4,6,10,59,59],[2003,4,6,1,59,59],
+          '2002102710:00:00','2002102701:00:00','2003040610:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,11,0,0],[2003,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2003,10,26,9,59,59],[2003,10,26,1,59,59],
+          '2003040611:00:00','2003040603:00:00','2003102609:59:59','2003102601:59:59' ],
+        [ [2003,10,26,10,0,0],[2003,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2004,4,4,10,59,59],[2004,4,4,1,59,59],
+          '2003102610:00:00','2003102601:00:00','2004040410:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,11,0,0],[2004,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2004,10,31,9,59,59],[2004,10,31,1,59,59],
+          '2004040411:00:00','2004040403:00:00','2004103109:59:59','2004103101:59:59' ],
+        [ [2004,10,31,10,0,0],[2004,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2005,4,3,10,59,59],[2005,4,3,1,59,59],
+          '2004103110:00:00','2004103101:00:00','2005040310:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,11,0,0],[2005,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2005,10,30,9,59,59],[2005,10,30,1,59,59],
+          '2005040311:00:00','2005040303:00:00','2005103009:59:59','2005103001:59:59' ],
+        [ [2005,10,30,10,0,0],[2005,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2006,4,2,10,59,59],[2006,4,2,1,59,59],
+          '2005103010:00:00','2005103001:00:00','2006040210:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,11,0,0],[2006,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2006,10,29,9,59,59],[2006,10,29,1,59,59],
+          '2006040211:00:00','2006040203:00:00','2006102909:59:59','2006102901:59:59' ],
+        [ [2006,10,29,10,0,0],[2006,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2007,3,11,10,59,59],[2007,3,11,1,59,59],
+          '2006102910:00:00','2006102901:00:00','2007031110:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,11,0,0],[2007,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2007,11,4,9,59,59],[2007,11,4,1,59,59],
+          '2007031111:00:00','2007031103:00:00','2007110409:59:59','2007110401:59:59' ],
+        [ [2007,11,4,10,0,0],[2007,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2008,3,9,10,59,59],[2008,3,9,1,59,59],
+          '2007110410:00:00','2007110401:00:00','2008030910:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,11,0,0],[2008,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2008,11,2,9,59,59],[2008,11,2,1,59,59],
+          '2008030911:00:00','2008030903:00:00','2008110209:59:59','2008110201:59:59' ],
+        [ [2008,11,2,10,0,0],[2008,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2009,3,8,10,59,59],[2009,3,8,1,59,59],
+          '2008110210:00:00','2008110201:00:00','2009030810:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,11,0,0],[2009,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2009,11,1,9,59,59],[2009,11,1,1,59,59],
+          '2009030811:00:00','2009030803:00:00','2009110109:59:59','2009110101:59:59' ],
+        [ [2009,11,1,10,0,0],[2009,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2010,3,14,10,59,59],[2010,3,14,1,59,59],
+          '2009110110:00:00','2009110101:00:00','2010031410:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,11,0,0],[2010,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2010,11,7,9,59,59],[2010,11,7,1,59,59],
+          '2010031411:00:00','2010031403:00:00','2010110709:59:59','2010110701:59:59' ],
+        [ [2010,11,7,10,0,0],[2010,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2011,3,13,10,59,59],[2011,3,13,1,59,59],
+          '2010110710:00:00','2010110701:00:00','2011031310:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,11,0,0],[2011,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2011,11,6,9,59,59],[2011,11,6,1,59,59],
+          '2011031311:00:00','2011031303:00:00','2011110609:59:59','2011110601:59:59' ],
+        [ [2011,11,6,10,0,0],[2011,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2012,3,11,10,59,59],[2012,3,11,1,59,59],
+          '2011110610:00:00','2011110601:00:00','2012031110:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,11,0,0],[2012,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2012,11,4,9,59,59],[2012,11,4,1,59,59],
+          '2012031111:00:00','2012031103:00:00','2012110409:59:59','2012110401:59:59' ],
+        [ [2012,11,4,10,0,0],[2012,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2013,3,10,10,59,59],[2013,3,10,1,59,59],
+          '2012110410:00:00','2012110401:00:00','2013031010:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,11,0,0],[2013,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2013,11,3,9,59,59],[2013,11,3,1,59,59],
+          '2013031011:00:00','2013031003:00:00','2013110309:59:59','2013110301:59:59' ],
+        [ [2013,11,3,10,0,0],[2013,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2014,3,9,10,59,59],[2014,3,9,1,59,59],
+          '2013110310:00:00','2013110301:00:00','2014030910:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,11,0,0],[2014,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2014,11,2,9,59,59],[2014,11,2,1,59,59],
+          '2014030911:00:00','2014030903:00:00','2014110209:59:59','2014110201:59:59' ],
+        [ [2014,11,2,10,0,0],[2014,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2015,3,8,10,59,59],[2015,3,8,1,59,59],
+          '2014110210:00:00','2014110201:00:00','2015030810:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,11,0,0],[2015,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '2015030811:00:00','2015030803:00:00','2015110109:59:59','2015110101:59:59' ],
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amarag00.pm b/lib/Date/Manip/TZ/amarag00.pm
new file mode 100644
index 0000000..e386aa8
--- /dev/null
+++ b/lib/Date/Manip/TZ/amarag00.pm
@@ -0,0 +1,292 @@
+package #
+Date::Manip::TZ::amarag00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,47,12],'-03:12:48',[-3,-12,-48],
+          'LMT',0,[1914,1,1,3,12,47],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:47:12','1914010103:12:47','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,12,48],[1914,1,1,0,12,48],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010103:12:48','1914010100:12:48','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,10,15,2,59,59],[1995,10,14,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1995101502:59:59','1995101423:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,10,15,3,0,0],[1995,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,2,11,1,59,59],[1996,2,10,23,59,59],
+          '1995101503:00:00','1995101501:00:00','1996021101:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,2,0,0],[1996,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,10,6,2,59,59],[1996,10,5,23,59,59],
+          '1996021102:00:00','1996021023:00:00','1996100602:59:59','1996100523:59:59' ],
+        [ [1996,10,6,3,0,0],[1996,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1997,2,16,1,59,59],[1997,2,15,23,59,59],
+          '1996100603:00:00','1996100601:00:00','1997021601:59:59','1997021523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,16,2,0,0],[1997,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1997,10,6,2,59,59],[1997,10,5,23,59,59],
+          '1997021602:00:00','1997021523:00:00','1997100602:59:59','1997100523:59:59' ],
+        [ [1997,10,6,3,0,0],[1997,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1998,3,1,1,59,59],[1998,2,28,23,59,59],
+          '1997100603:00:00','1997100601:00:00','1998030101:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,2,0,0],[1998,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1998,10,11,2,59,59],[1998,10,10,23,59,59],
+          '1998030102:00:00','1998022823:00:00','1998101102:59:59','1998101023:59:59' ],
+        [ [1998,10,11,3,0,0],[1998,10,11,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1999,2,21,1,59,59],[1999,2,20,23,59,59],
+          '1998101103:00:00','1998101101:00:00','1999022101:59:59','1999022023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,21,2,0,0],[1999,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1999022102:00:00','1999022023:00:00','1999100302:59:59','1999100223:59:59' ],
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2001,2,18,1,59,59],[2001,2,17,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2001021801:59:59','2001021723:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,2,18,2,0,0],[2001,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2001021802:00:00','2001021723:00:00','2001101402:59:59','2001101323:59:59' ],
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2002,11,3,2,59,59],[2002,11,2,23,59,59],
+          '2002021702:00:00','2002021623:00:00','2002110302:59:59','2002110223:59:59' ],
+        [ [2002,11,3,3,0,0],[2002,11,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2003,2,16,1,59,59],[2003,2,15,23,59,59],
+          '2002110303:00:00','2002110301:00:00','2003021601:59:59','2003021523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,2,16,2,0,0],[2003,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2012,10,21,2,59,59],[2012,10,20,23,59,59],
+          '2003021602:00:00','2003021523:00:00','2012102102:59:59','2012102023:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,10,21,3,0,0],[2012,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2013,2,17,1,59,59],[2013,2,16,23,59,59],
+          '2012102103:00:00','2012102101:00:00','2013021701:59:59','2013021623:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,2,17,2,0,0],[2013,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2013021702:00:00','2013021623:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amasun00.pm b/lib/Date/Manip/TZ/amasun00.pm
new file mode 100644
index 0000000..267ea01
--- /dev/null
+++ b/lib/Date/Manip/TZ/amasun00.pm
@@ -0,0 +1,925 @@
+package #
+Date::Manip::TZ::amasun00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,9,20],'-03:50:40',[-3,-50,-40],
+          'LMT',0,[1890,1,1,3,50,39],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010120:09:20','1890010103:50:39','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,3,50,40],[1890,1,1,0,0,0],'-03:50:40',[-3,-50,-40],
+          'AMT',0,[1931,10,10,3,50,39],[1931,10,9,23,59,59],
+          '1890010103:50:40','1890010100:00:00','1931101003:50:39','1931100923:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,10,3,50,40],[1931,10,9,23,50,40],'-04:00:00',[-4,0,0],
+          '-04',0,[1972,10,1,3,59,59],[1972,9,30,23,59,59],
+          '1931101003:50:40','1931100923:50:40','1972100103:59:59','1972093023:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,10,1,4,0,0],[1972,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,4,1,2,59,59],[1974,3,31,23,59,59],
+          '1972100104:00:00','1972100101:00:00','1974040102:59:59','1974033123:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,1,3,0,0],[1974,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1975,10,1,3,59,59],[1975,9,30,23,59,59],
+          '1974040103:00:00','1974033123:00:00','1975100103:59:59','1975093023:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,10,1,4,0,0],[1975,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1976,3,1,2,59,59],[1976,2,29,23,59,59],
+          '1975100104:00:00','1975100101:00:00','1976030102:59:59','1976022923:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,1,3,0,0],[1976,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1976,10,1,3,59,59],[1976,9,30,23,59,59],
+          '1976030103:00:00','1976022923:00:00','1976100103:59:59','1976093023:59:59' ],
+        [ [1976,10,1,4,0,0],[1976,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1977,3,1,2,59,59],[1977,2,28,23,59,59],
+          '1976100104:00:00','1976100101:00:00','1977030102:59:59','1977022823:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,1,3,0,0],[1977,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1977,10,1,3,59,59],[1977,9,30,23,59,59],
+          '1977030103:00:00','1977022823:00:00','1977100103:59:59','1977093023:59:59' ],
+        [ [1977,10,1,4,0,0],[1977,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1978,3,1,2,59,59],[1978,2,28,23,59,59],
+          '1977100104:00:00','1977100101:00:00','1978030102:59:59','1978022823:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,1,3,0,0],[1978,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1978,10,1,3,59,59],[1978,9,30,23,59,59],
+          '1978030103:00:00','1978022823:00:00','1978100103:59:59','1978093023:59:59' ],
+        [ [1978,10,1,4,0,0],[1978,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1979,4,1,2,59,59],[1979,3,31,23,59,59],
+          '1978100104:00:00','1978100101:00:00','1979040102:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,3,0,0],[1979,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1979,10,1,3,59,59],[1979,9,30,23,59,59],
+          '1979040103:00:00','1979033123:00:00','1979100103:59:59','1979093023:59:59' ],
+        [ [1979,10,1,4,0,0],[1979,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1980,4,1,2,59,59],[1980,3,31,23,59,59],
+          '1979100104:00:00','1979100101:00:00','1980040102:59:59','1980033123:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,1,3,0,0],[1980,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1980,10,1,3,59,59],[1980,9,30,23,59,59],
+          '1980040103:00:00','1980033123:00:00','1980100103:59:59','1980093023:59:59' ],
+        [ [1980,10,1,4,0,0],[1980,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1981,4,1,2,59,59],[1981,3,31,23,59,59],
+          '1980100104:00:00','1980100101:00:00','1981040102:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,1,3,0,0],[1981,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1981,10,1,3,59,59],[1981,9,30,23,59,59],
+          '1981040103:00:00','1981033123:00:00','1981100103:59:59','1981093023:59:59' ],
+        [ [1981,10,1,4,0,0],[1981,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1982,4,1,2,59,59],[1982,3,31,23,59,59],
+          '1981100104:00:00','1981100101:00:00','1982040102:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,1,3,0,0],[1982,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1982,10,1,3,59,59],[1982,9,30,23,59,59],
+          '1982040103:00:00','1982033123:00:00','1982100103:59:59','1982093023:59:59' ],
+        [ [1982,10,1,4,0,0],[1982,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1983,4,1,2,59,59],[1983,3,31,23,59,59],
+          '1982100104:00:00','1982100101:00:00','1983040102:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,1,3,0,0],[1983,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1983,10,1,3,59,59],[1983,9,30,23,59,59],
+          '1983040103:00:00','1983033123:00:00','1983100103:59:59','1983093023:59:59' ],
+        [ [1983,10,1,4,0,0],[1983,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1984,4,1,2,59,59],[1984,3,31,23,59,59],
+          '1983100104:00:00','1983100101:00:00','1984040102:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,1,3,0,0],[1984,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1984,10,1,3,59,59],[1984,9,30,23,59,59],
+          '1984040103:00:00','1984033123:00:00','1984100103:59:59','1984093023:59:59' ],
+        [ [1984,10,1,4,0,0],[1984,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1985,4,1,2,59,59],[1985,3,31,23,59,59],
+          '1984100104:00:00','1984100101:00:00','1985040102:59:59','1985033123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,1,3,0,0],[1985,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,10,1,3,59,59],[1985,9,30,23,59,59],
+          '1985040103:00:00','1985033123:00:00','1985100103:59:59','1985093023:59:59' ],
+        [ [1985,10,1,4,0,0],[1985,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,4,1,2,59,59],[1986,3,31,23,59,59],
+          '1985100104:00:00','1985100101:00:00','1986040102:59:59','1986033123:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,1,3,0,0],[1986,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,1,3,59,59],[1986,9,30,23,59,59],
+          '1986040103:00:00','1986033123:00:00','1986100103:59:59','1986093023:59:59' ],
+        [ [1986,10,1,4,0,0],[1986,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,4,1,2,59,59],[1987,3,31,23,59,59],
+          '1986100104:00:00','1986100101:00:00','1987040102:59:59','1987033123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,1,3,0,0],[1987,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,1,3,59,59],[1987,9,30,23,59,59],
+          '1987040103:00:00','1987033123:00:00','1987100103:59:59','1987093023:59:59' ],
+        [ [1987,10,1,4,0,0],[1987,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,4,1,2,59,59],[1988,3,31,23,59,59],
+          '1987100104:00:00','1987100101:00:00','1988040102:59:59','1988033123:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,1,3,0,0],[1988,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,1,3,59,59],[1988,9,30,23,59,59],
+          '1988040103:00:00','1988033123:00:00','1988100103:59:59','1988093023:59:59' ],
+        [ [1988,10,1,4,0,0],[1988,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,4,1,2,59,59],[1989,3,31,23,59,59],
+          '1988100104:00:00','1988100101:00:00','1989040102:59:59','1989033123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,1,3,0,0],[1989,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,22,3,59,59],[1989,10,21,23,59,59],
+          '1989040103:00:00','1989033123:00:00','1989102203:59:59','1989102123:59:59' ],
+        [ [1989,10,22,4,0,0],[1989,10,22,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,4,1,2,59,59],[1990,3,31,23,59,59],
+          '1989102204:00:00','1989102201:00:00','1990040102:59:59','1990033123:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,3,0,0],[1990,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,1,3,59,59],[1990,9,30,23,59,59],
+          '1990040103:00:00','1990033123:00:00','1990100103:59:59','1990093023:59:59' ],
+        [ [1990,10,1,4,0,0],[1990,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,4,1,2,59,59],[1991,3,31,23,59,59],
+          '1990100104:00:00','1990100101:00:00','1991040102:59:59','1991033123:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,1,3,0,0],[1991,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,6,3,59,59],[1991,10,5,23,59,59],
+          '1991040103:00:00','1991033123:00:00','1991100603:59:59','1991100523:59:59' ],
+        [ [1991,10,6,4,0,0],[1991,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,3,1,2,59,59],[1992,2,29,23,59,59],
+          '1991100604:00:00','1991100601:00:00','1992030102:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,3,0,0],[1992,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,5,3,59,59],[1992,10,4,23,59,59],
+          '1992030103:00:00','1992022923:00:00','1992100503:59:59','1992100423:59:59' ],
+        [ [1992,10,5,4,0,0],[1992,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,3,31,2,59,59],[1993,3,30,23,59,59],
+          '1992100504:00:00','1992100501:00:00','1993033102:59:59','1993033023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,31,3,0,0],[1993,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,1,3,59,59],[1993,9,30,23,59,59],
+          '1993033103:00:00','1993033023:00:00','1993100103:59:59','1993093023:59:59' ],
+        [ [1993,10,1,4,0,0],[1993,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,2,27,2,59,59],[1994,2,26,23,59,59],
+          '1993100104:00:00','1993100101:00:00','1994022702:59:59','1994022623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,27,3,0,0],[1994,2,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,1,3,59,59],[1994,9,30,23,59,59],
+          '1994022703:00:00','1994022623:00:00','1994100103:59:59','1994093023:59:59' ],
+        [ [1994,10,1,4,0,0],[1994,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,2,26,2,59,59],[1995,2,25,23,59,59],
+          '1994100104:00:00','1994100101:00:00','1995022602:59:59','1995022523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,2,26,3,0,0],[1995,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,1,3,59,59],[1995,9,30,23,59,59],
+          '1995022603:00:00','1995022523:00:00','1995100103:59:59','1995093023:59:59' ],
+        [ [1995,10,1,4,0,0],[1995,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,3,1,2,59,59],[1996,2,29,23,59,59],
+          '1995100104:00:00','1995100101:00:00','1996030102:59:59','1996022923:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,1,3,0,0],[1996,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,6,3,59,59],[1996,10,5,23,59,59],
+          '1996030103:00:00','1996022923:00:00','1996100603:59:59','1996100523:59:59' ],
+        [ [1996,10,6,4,0,0],[1996,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,2,23,2,59,59],[1997,2,22,23,59,59],
+          '1996100604:00:00','1996100601:00:00','1997022302:59:59','1997022223:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,23,3,0,0],[1997,2,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,5,3,59,59],[1997,10,4,23,59,59],
+          '1997022303:00:00','1997022223:00:00','1997100503:59:59','1997100423:59:59' ],
+        [ [1997,10,5,4,0,0],[1997,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,1,2,59,59],[1998,2,28,23,59,59],
+          '1997100504:00:00','1997100501:00:00','1998030102:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,3,0,0],[1998,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,10,4,3,59,59],[1998,10,3,23,59,59],
+          '1998030103:00:00','1998022823:00:00','1998100403:59:59','1998100323:59:59' ],
+        [ [1998,10,4,4,0,0],[1998,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,3,7,2,59,59],[1999,3,6,23,59,59],
+          '1998100404:00:00','1998100401:00:00','1999030702:59:59','1999030623:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,7,3,0,0],[1999,3,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,3,3,59,59],[1999,10,2,23,59,59],
+          '1999030703:00:00','1999030623:00:00','1999100303:59:59','1999100223:59:59' ],
+        [ [1999,10,3,4,0,0],[1999,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,5,2,59,59],[2000,3,4,23,59,59],
+          '1999100304:00:00','1999100301:00:00','2000030502:59:59','2000030423:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,5,3,0,0],[2000,3,4,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,1,3,59,59],[2000,9,30,23,59,59],
+          '2000030503:00:00','2000030423:00:00','2000100103:59:59','2000093023:59:59' ],
+        [ [2000,10,1,4,0,0],[2000,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,3,4,2,59,59],[2001,3,3,23,59,59],
+          '2000100104:00:00','2000100101:00:00','2001030402:59:59','2001030323:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,4,3,0,0],[2001,3,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,7,3,59,59],[2001,10,6,23,59,59],
+          '2001030403:00:00','2001030323:00:00','2001100703:59:59','2001100623:59:59' ],
+        [ [2001,10,7,4,0,0],[2001,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,4,7,2,59,59],[2002,4,6,23,59,59],
+          '2001100704:00:00','2001100701:00:00','2002040702:59:59','2002040623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,3,0,0],[2002,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,9,1,3,59,59],[2002,8,31,23,59,59],
+          '2002040703:00:00','2002040623:00:00','2002090103:59:59','2002083123:59:59' ],
+        [ [2002,9,1,4,0,0],[2002,9,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,4,6,2,59,59],[2003,4,5,23,59,59],
+          '2002090104:00:00','2002090101:00:00','2003040602:59:59','2003040523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,3,0,0],[2003,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,9,7,3,59,59],[2003,9,6,23,59,59],
+          '2003040603:00:00','2003040523:00:00','2003090703:59:59','2003090623:59:59' ],
+        [ [2003,9,7,4,0,0],[2003,9,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,4,4,2,59,59],[2004,4,3,23,59,59],
+          '2003090704:00:00','2003090701:00:00','2004040402:59:59','2004040323:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,3,0,0],[2004,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,10,17,3,59,59],[2004,10,16,23,59,59],
+          '2004040403:00:00','2004040323:00:00','2004101703:59:59','2004101623:59:59' ],
+        [ [2004,10,17,4,0,0],[2004,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,3,13,2,59,59],[2005,3,12,23,59,59],
+          '2004101704:00:00','2004101701:00:00','2005031302:59:59','2005031223:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,13,3,0,0],[2005,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,16,3,59,59],[2005,10,15,23,59,59],
+          '2005031303:00:00','2005031223:00:00','2005101603:59:59','2005101523:59:59' ],
+        [ [2005,10,16,4,0,0],[2005,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,3,12,2,59,59],[2006,3,11,23,59,59],
+          '2005101604:00:00','2005101601:00:00','2006031202:59:59','2006031123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,3,0,0],[2006,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,10,15,3,59,59],[2006,10,14,23,59,59],
+          '2006031203:00:00','2006031123:00:00','2006101503:59:59','2006101423:59:59' ],
+        [ [2006,10,15,4,0,0],[2006,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,3,11,2,59,59],[2007,3,10,23,59,59],
+          '2006101504:00:00','2006101501:00:00','2007031102:59:59','2007031023:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,0,0],[2007,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,21,3,59,59],[2007,10,20,23,59,59],
+          '2007031103:00:00','2007031023:00:00','2007102103:59:59','2007102023:59:59' ],
+        [ [2007,10,21,4,0,0],[2007,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,3,9,2,59,59],[2008,3,8,23,59,59],
+          '2007102104:00:00','2007102101:00:00','2008030902:59:59','2008030823:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,3,0,0],[2008,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,19,3,59,59],[2008,10,18,23,59,59],
+          '2008030903:00:00','2008030823:00:00','2008101903:59:59','2008101823:59:59' ],
+        [ [2008,10,19,4,0,0],[2008,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,3,8,2,59,59],[2009,3,7,23,59,59],
+          '2008101904:00:00','2008101901:00:00','2009030802:59:59','2009030723:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,3,0,0],[2009,3,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,18,3,59,59],[2009,10,17,23,59,59],
+          '2009030803:00:00','2009030723:00:00','2009101803:59:59','2009101723:59:59' ],
+        [ [2009,10,18,4,0,0],[2009,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,4,11,2,59,59],[2010,4,10,23,59,59],
+          '2009101804:00:00','2009101801:00:00','2010041102:59:59','2010041023:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,11,3,0,0],[2010,4,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,3,3,59,59],[2010,10,2,23,59,59],
+          '2010041103:00:00','2010041023:00:00','2010100303:59:59','2010100223:59:59' ],
+        [ [2010,10,3,4,0,0],[2010,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,4,10,2,59,59],[2011,4,9,23,59,59],
+          '2010100304:00:00','2010100301:00:00','2011041002:59:59','2011040923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,10,3,0,0],[2011,4,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,10,2,3,59,59],[2011,10,1,23,59,59],
+          '2011041003:00:00','2011040923:00:00','2011100203:59:59','2011100123:59:59' ],
+        [ [2011,10,2,4,0,0],[2011,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,4,8,2,59,59],[2012,4,7,23,59,59],
+          '2011100204:00:00','2011100201:00:00','2012040802:59:59','2012040723:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,8,3,0,0],[2012,4,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,10,7,3,59,59],[2012,10,6,23,59,59],
+          '2012040803:00:00','2012040723:00:00','2012100703:59:59','2012100623:59:59' ],
+        [ [2012,10,7,4,0,0],[2012,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,3,24,2,59,59],[2013,3,23,23,59,59],
+          '2012100704:00:00','2012100701:00:00','2013032402:59:59','2013032323:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,24,3,0,0],[2013,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,10,6,3,59,59],[2013,10,5,23,59,59],
+          '2013032403:00:00','2013032323:00:00','2013100603:59:59','2013100523:59:59' ],
+        [ [2013,10,6,4,0,0],[2013,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,3,23,2,59,59],[2014,3,22,23,59,59],
+          '2013100604:00:00','2013100601:00:00','2014032302:59:59','2014032223:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,23,3,0,0],[2014,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,10,5,3,59,59],[2014,10,4,23,59,59],
+          '2014032303:00:00','2014032223:00:00','2014100503:59:59','2014100423:59:59' ],
+        [ [2014,10,5,4,0,0],[2014,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2015,3,22,2,59,59],[2015,3,21,23,59,59],
+          '2014100504:00:00','2014100501:00:00','2015032202:59:59','2015032123:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,22,3,0,0],[2015,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2015,10,4,3,59,59],[2015,10,3,23,59,59],
+          '2015032203:00:00','2015032123:00:00','2015100403:59:59','2015100323:59:59' ],
+        [ [2015,10,4,4,0,0],[2015,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,3,27,2,59,59],[2016,3,26,23,59,59],
+          '2015100404:00:00','2015100401:00:00','2016032702:59:59','2016032623:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,3,0,0],[2016,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,10,2,3,59,59],[2016,10,1,23,59,59],
+          '2016032703:00:00','2016032623:00:00','2016100203:59:59','2016100123:59:59' ],
+        [ [2016,10,2,4,0,0],[2016,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2017,3,26,2,59,59],[2017,3,25,23,59,59],
+          '2016100204:00:00','2016100201:00:00','2017032602:59:59','2017032523:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,3,0,0],[2017,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2017,10,1,3,59,59],[2017,9,30,23,59,59],
+          '2017032603:00:00','2017032523:00:00','2017100103:59:59','2017093023:59:59' ],
+        [ [2017,10,1,4,0,0],[2017,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2018,3,25,2,59,59],[2018,3,24,23,59,59],
+          '2017100104:00:00','2017100101:00:00','2018032502:59:59','2018032423:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,3,0,0],[2018,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2018,10,7,3,59,59],[2018,10,6,23,59,59],
+          '2018032503:00:00','2018032423:00:00','2018100703:59:59','2018100623:59:59' ],
+        [ [2018,10,7,4,0,0],[2018,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2019,3,24,2,59,59],[2019,3,23,23,59,59],
+          '2018100704:00:00','2018100701:00:00','2019032402:59:59','2019032323:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,24,3,0,0],[2019,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2019,10,6,3,59,59],[2019,10,5,23,59,59],
+          '2019032403:00:00','2019032323:00:00','2019100603:59:59','2019100523:59:59' ],
+        [ [2019,10,6,4,0,0],[2019,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2020,3,22,2,59,59],[2020,3,21,23,59,59],
+          '2019100604:00:00','2019100601:00:00','2020032202:59:59','2020032123:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,22,3,0,0],[2020,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2020,10,4,3,59,59],[2020,10,3,23,59,59],
+          '2020032203:00:00','2020032123:00:00','2020100403:59:59','2020100323:59:59' ],
+        [ [2020,10,4,4,0,0],[2020,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2021,3,28,2,59,59],[2021,3,27,23,59,59],
+          '2020100404:00:00','2020100401:00:00','2021032802:59:59','2021032723:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,3,0,0],[2021,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2021,10,3,3,59,59],[2021,10,2,23,59,59],
+          '2021032803:00:00','2021032723:00:00','2021100303:59:59','2021100223:59:59' ],
+        [ [2021,10,3,4,0,0],[2021,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2022,3,27,2,59,59],[2022,3,26,23,59,59],
+          '2021100304:00:00','2021100301:00:00','2022032702:59:59','2022032623:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,3,0,0],[2022,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2022,10,2,3,59,59],[2022,10,1,23,59,59],
+          '2022032703:00:00','2022032623:00:00','2022100203:59:59','2022100123:59:59' ],
+        [ [2022,10,2,4,0,0],[2022,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2023,3,26,2,59,59],[2023,3,25,23,59,59],
+          '2022100204:00:00','2022100201:00:00','2023032602:59:59','2023032523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,3,0,0],[2023,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2023,10,1,3,59,59],[2023,9,30,23,59,59],
+          '2023032603:00:00','2023032523:00:00','2023100103:59:59','2023093023:59:59' ],
+        [ [2023,10,1,4,0,0],[2023,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2024,3,24,2,59,59],[2024,3,23,23,59,59],
+          '2023100104:00:00','2023100101:00:00','2024032402:59:59','2024032323:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,24,3,0,0],[2024,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2024,10,6,3,59,59],[2024,10,5,23,59,59],
+          '2024032403:00:00','2024032323:00:00','2024100603:59:59','2024100523:59:59' ],
+        [ [2024,10,6,4,0,0],[2024,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2025,3,23,2,59,59],[2025,3,22,23,59,59],
+          '2024100604:00:00','2024100601:00:00','2025032302:59:59','2025032223:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,23,3,0,0],[2025,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2025,10,5,3,59,59],[2025,10,4,23,59,59],
+          '2025032303:00:00','2025032223:00:00','2025100503:59:59','2025100423:59:59' ],
+        [ [2025,10,5,4,0,0],[2025,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2026,3,22,2,59,59],[2026,3,21,23,59,59],
+          '2025100504:00:00','2025100501:00:00','2026032202:59:59','2026032123:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,22,3,0,0],[2026,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2026,10,4,3,59,59],[2026,10,3,23,59,59],
+          '2026032203:00:00','2026032123:00:00','2026100403:59:59','2026100323:59:59' ],
+        [ [2026,10,4,4,0,0],[2026,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2027,3,28,2,59,59],[2027,3,27,23,59,59],
+          '2026100404:00:00','2026100401:00:00','2027032802:59:59','2027032723:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,3,0,0],[2027,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2027,10,3,3,59,59],[2027,10,2,23,59,59],
+          '2027032803:00:00','2027032723:00:00','2027100303:59:59','2027100223:59:59' ],
+        [ [2027,10,3,4,0,0],[2027,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2028,3,26,2,59,59],[2028,3,25,23,59,59],
+          '2027100304:00:00','2027100301:00:00','2028032602:59:59','2028032523:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,3,0,0],[2028,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2028,10,1,3,59,59],[2028,9,30,23,59,59],
+          '2028032603:00:00','2028032523:00:00','2028100103:59:59','2028093023:59:59' ],
+        [ [2028,10,1,4,0,0],[2028,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2029,3,25,2,59,59],[2029,3,24,23,59,59],
+          '2028100104:00:00','2028100101:00:00','2029032502:59:59','2029032423:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,3,0,0],[2029,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2029,10,7,3,59,59],[2029,10,6,23,59,59],
+          '2029032503:00:00','2029032423:00:00','2029100703:59:59','2029100623:59:59' ],
+        [ [2029,10,7,4,0,0],[2029,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2030,3,24,2,59,59],[2030,3,23,23,59,59],
+          '2029100704:00:00','2029100701:00:00','2030032402:59:59','2030032323:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,24,3,0,0],[2030,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2030,10,6,3,59,59],[2030,10,5,23,59,59],
+          '2030032403:00:00','2030032323:00:00','2030100603:59:59','2030100523:59:59' ],
+        [ [2030,10,6,4,0,0],[2030,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2031,3,23,2,59,59],[2031,3,22,23,59,59],
+          '2030100604:00:00','2030100601:00:00','2031032302:59:59','2031032223:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,23,3,0,0],[2031,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2031,10,5,3,59,59],[2031,10,4,23,59,59],
+          '2031032303:00:00','2031032223:00:00','2031100503:59:59','2031100423:59:59' ],
+        [ [2031,10,5,4,0,0],[2031,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2032,3,28,2,59,59],[2032,3,27,23,59,59],
+          '2031100504:00:00','2031100501:00:00','2032032802:59:59','2032032723:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,3,0,0],[2032,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2032,10,3,3,59,59],[2032,10,2,23,59,59],
+          '2032032803:00:00','2032032723:00:00','2032100303:59:59','2032100223:59:59' ],
+        [ [2032,10,3,4,0,0],[2032,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2033,3,27,2,59,59],[2033,3,26,23,59,59],
+          '2032100304:00:00','2032100301:00:00','2033032702:59:59','2033032623:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,3,0,0],[2033,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2033,10,2,3,59,59],[2033,10,1,23,59,59],
+          '2033032703:00:00','2033032623:00:00','2033100203:59:59','2033100123:59:59' ],
+        [ [2033,10,2,4,0,0],[2033,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2034,3,26,2,59,59],[2034,3,25,23,59,59],
+          '2033100204:00:00','2033100201:00:00','2034032602:59:59','2034032523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,3,0,0],[2034,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2034,10,1,3,59,59],[2034,9,30,23,59,59],
+          '2034032603:00:00','2034032523:00:00','2034100103:59:59','2034093023:59:59' ],
+        [ [2034,10,1,4,0,0],[2034,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2035,3,25,2,59,59],[2035,3,24,23,59,59],
+          '2034100104:00:00','2034100101:00:00','2035032502:59:59','2035032423:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,3,0,0],[2035,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2035,10,7,3,59,59],[2035,10,6,23,59,59],
+          '2035032503:00:00','2035032423:00:00','2035100703:59:59','2035100623:59:59' ],
+        [ [2035,10,7,4,0,0],[2035,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2036,3,23,2,59,59],[2036,3,22,23,59,59],
+          '2035100704:00:00','2035100701:00:00','2036032302:59:59','2036032223:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,23,3,0,0],[2036,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2036,10,5,3,59,59],[2036,10,4,23,59,59],
+          '2036032303:00:00','2036032223:00:00','2036100503:59:59','2036100423:59:59' ],
+        [ [2036,10,5,4,0,0],[2036,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2037,3,22,2,59,59],[2037,3,21,23,59,59],
+          '2036100504:00:00','2036100501:00:00','2037032202:59:59','2037032123:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,22,3,0,0],[2037,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2037,10,4,3,59,59],[2037,10,3,23,59,59],
+          '2037032203:00:00','2037032123:00:00','2037100403:59:59','2037100323:59:59' ],
+        [ [2037,10,4,4,0,0],[2037,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2038,3,28,2,59,59],[2038,3,27,23,59,59],
+          '2037100404:00:00','2037100401:00:00','2038032802:59:59','2038032723:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,3,0,0],[2038,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2038,10,3,3,59,59],[2038,10,2,23,59,59],
+          '2038032803:00:00','2038032723:00:00','2038100303:59:59','2038100223:59:59' ],
+        [ [2038,10,3,4,0,0],[2038,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2039,3,27,2,59,59],[2039,3,26,23,59,59],
+          '2038100304:00:00','2038100301:00:00','2039032702:59:59','2039032623:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,3,0,0],[2039,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2039,10,2,3,59,59],[2039,10,1,23,59,59],
+          '2039032703:00:00','2039032623:00:00','2039100203:59:59','2039100123:59:59' ],
+        [ [2039,10,2,4,0,0],[2039,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2040,3,25,2,59,59],[2040,3,24,23,59,59],
+          '2039100204:00:00','2039100201:00:00','2040032502:59:59','2040032423:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,3,0,0],[2040,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2040,10,7,3,59,59],[2040,10,6,23,59,59],
+          '2040032503:00:00','2040032423:00:00','2040100703:59:59','2040100623:59:59' ],
+        [ [2040,10,7,4,0,0],[2040,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2041,3,24,2,59,59],[2041,3,23,23,59,59],
+          '2040100704:00:00','2040100701:00:00','2041032402:59:59','2041032323:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,24,3,0,0],[2041,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2041,10,6,3,59,59],[2041,10,5,23,59,59],
+          '2041032403:00:00','2041032323:00:00','2041100603:59:59','2041100523:59:59' ],
+        [ [2041,10,6,4,0,0],[2041,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2042,3,23,2,59,59],[2042,3,22,23,59,59],
+          '2041100604:00:00','2041100601:00:00','2042032302:59:59','2042032223:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,23,3,0,0],[2042,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2042,10,5,3,59,59],[2042,10,4,23,59,59],
+          '2042032303:00:00','2042032223:00:00','2042100503:59:59','2042100423:59:59' ],
+        [ [2042,10,5,4,0,0],[2042,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2043,3,22,2,59,59],[2043,3,21,23,59,59],
+          '2042100504:00:00','2042100501:00:00','2043032202:59:59','2043032123:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,22,3,0,0],[2043,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2043,10,4,3,59,59],[2043,10,3,23,59,59],
+          '2043032203:00:00','2043032123:00:00','2043100403:59:59','2043100323:59:59' ],
+        [ [2043,10,4,4,0,0],[2043,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2044,3,27,2,59,59],[2044,3,26,23,59,59],
+          '2043100404:00:00','2043100401:00:00','2044032702:59:59','2044032623:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,3,0,0],[2044,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2044,10,2,3,59,59],[2044,10,1,23,59,59],
+          '2044032703:00:00','2044032623:00:00','2044100203:59:59','2044100123:59:59' ],
+        [ [2044,10,2,4,0,0],[2044,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2045,3,26,2,59,59],[2045,3,25,23,59,59],
+          '2044100204:00:00','2044100201:00:00','2045032602:59:59','2045032523:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,3,0,0],[2045,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2045,10,1,3,59,59],[2045,9,30,23,59,59],
+          '2045032603:00:00','2045032523:00:00','2045100103:59:59','2045093023:59:59' ],
+        [ [2045,10,1,4,0,0],[2045,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2046,3,25,2,59,59],[2046,3,24,23,59,59],
+          '2045100104:00:00','2045100101:00:00','2046032502:59:59','2046032423:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,3,0,0],[2046,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2046,10,7,3,59,59],[2046,10,6,23,59,59],
+          '2046032503:00:00','2046032423:00:00','2046100703:59:59','2046100623:59:59' ],
+        [ [2046,10,7,4,0,0],[2046,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2047,3,24,2,59,59],[2047,3,23,23,59,59],
+          '2046100704:00:00','2046100701:00:00','2047032402:59:59','2047032323:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,24,3,0,0],[2047,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2047,10,6,3,59,59],[2047,10,5,23,59,59],
+          '2047032403:00:00','2047032323:00:00','2047100603:59:59','2047100523:59:59' ],
+        [ [2047,10,6,4,0,0],[2047,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2048,3,22,2,59,59],[2048,3,21,23,59,59],
+          '2047100604:00:00','2047100601:00:00','2048032202:59:59','2048032123:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,22,3,0,0],[2048,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2048,10,4,3,59,59],[2048,10,3,23,59,59],
+          '2048032203:00:00','2048032123:00:00','2048100403:59:59','2048100323:59:59' ],
+        [ [2048,10,4,4,0,0],[2048,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2049,3,28,2,59,59],[2049,3,27,23,59,59],
+          '2048100404:00:00','2048100401:00:00','2049032802:59:59','2049032723:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,3,0,0],[2049,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2049,10,3,3,59,59],[2049,10,2,23,59,59],
+          '2049032803:00:00','2049032723:00:00','2049100303:59:59','2049100223:59:59' ],
+        [ [2049,10,3,4,0,0],[2049,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2050,3,27,2,59,59],[2050,3,26,23,59,59],
+          '2049100304:00:00','2049100301:00:00','2050032702:59:59','2050032623:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,3,0,0],[2050,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2050,10,2,3,59,59],[2050,10,1,23,59,59],
+          '2050032703:00:00','2050032623:00:00','2050100203:59:59','2050100123:59:59' ],
+        [ [2050,10,2,4,0,0],[2050,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2051,3,26,2,59,59],[2051,3,25,23,59,59],
+          '2050100204:00:00','2050100201:00:00','2051032602:59:59','2051032523:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,3,0,0],[2051,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2051,10,1,3,59,59],[2051,9,30,23,59,59],
+          '2051032603:00:00','2051032523:00:00','2051100103:59:59','2051093023:59:59' ],
+        [ [2051,10,1,4,0,0],[2051,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2052,3,24,2,59,59],[2052,3,23,23,59,59],
+          '2051100104:00:00','2051100101:00:00','2052032402:59:59','2052032323:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,24,3,0,0],[2052,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2052,10,6,3,59,59],[2052,10,5,23,59,59],
+          '2052032403:00:00','2052032323:00:00','2052100603:59:59','2052100523:59:59' ],
+        [ [2052,10,6,4,0,0],[2052,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2053,3,23,2,59,59],[2053,3,22,23,59,59],
+          '2052100604:00:00','2052100601:00:00','2053032302:59:59','2053032223:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,23,3,0,0],[2053,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2053,10,5,3,59,59],[2053,10,4,23,59,59],
+          '2053032303:00:00','2053032223:00:00','2053100503:59:59','2053100423:59:59' ],
+        [ [2053,10,5,4,0,0],[2053,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2054,3,22,2,59,59],[2054,3,21,23,59,59],
+          '2053100504:00:00','2053100501:00:00','2054032202:59:59','2054032123:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,22,3,0,0],[2054,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2054,10,4,3,59,59],[2054,10,3,23,59,59],
+          '2054032203:00:00','2054032123:00:00','2054100403:59:59','2054100323:59:59' ],
+        [ [2054,10,4,4,0,0],[2054,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2055,3,28,2,59,59],[2055,3,27,23,59,59],
+          '2054100404:00:00','2054100401:00:00','2055032802:59:59','2055032723:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,3,0,0],[2055,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2055,10,3,3,59,59],[2055,10,2,23,59,59],
+          '2055032803:00:00','2055032723:00:00','2055100303:59:59','2055100223:59:59' ],
+        [ [2055,10,3,4,0,0],[2055,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2056,3,26,2,59,59],[2056,3,25,23,59,59],
+          '2055100304:00:00','2055100301:00:00','2056032602:59:59','2056032523:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,3,0,0],[2056,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2056,10,1,3,59,59],[2056,9,30,23,59,59],
+          '2056032603:00:00','2056032523:00:00','2056100103:59:59','2056093023:59:59' ],
+        [ [2056,10,1,4,0,0],[2056,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2057,3,25,2,59,59],[2057,3,24,23,59,59],
+          '2056100104:00:00','2056100101:00:00','2057032502:59:59','2057032423:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,3,0,0],[2057,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2057,10,7,3,59,59],[2057,10,6,23,59,59],
+          '2057032503:00:00','2057032423:00:00','2057100703:59:59','2057100623:59:59' ],
+        [ [2057,10,7,4,0,0],[2057,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2058,3,24,2,59,59],[2058,3,23,23,59,59],
+          '2057100704:00:00','2057100701:00:00','2058032402:59:59','2058032323:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,24,3,0,0],[2058,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2058,10,6,3,59,59],[2058,10,5,23,59,59],
+          '2058032403:00:00','2058032323:00:00','2058100603:59:59','2058100523:59:59' ],
+        [ [2058,10,6,4,0,0],[2058,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2059,3,23,2,59,59],[2059,3,22,23,59,59],
+          '2058100604:00:00','2058100601:00:00','2059032302:59:59','2059032223:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,23,3,0,0],[2059,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2059,10,5,3,59,59],[2059,10,4,23,59,59],
+          '2059032303:00:00','2059032223:00:00','2059100503:59:59','2059100423:59:59' ],
+        [ [2059,10,5,4,0,0],[2059,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2060,3,28,2,59,59],[2060,3,27,23,59,59],
+          '2059100504:00:00','2059100501:00:00','2060032802:59:59','2060032723:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,3,0,0],[2060,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2060,10,3,3,59,59],[2060,10,2,23,59,59],
+          '2060032803:00:00','2060032723:00:00','2060100303:59:59','2060100223:59:59' ],
+        [ [2060,10,3,4,0,0],[2060,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2061,3,27,2,59,59],[2061,3,26,23,59,59],
+          '2060100304:00:00','2060100301:00:00','2061032702:59:59','2061032623:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,3,0,0],[2061,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2061,10,2,3,59,59],[2061,10,1,23,59,59],
+          '2061032703:00:00','2061032623:00:00','2061100203:59:59','2061100123:59:59' ],
+        [ [2061,10,2,4,0,0],[2061,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2062,3,26,2,59,59],[2062,3,25,23,59,59],
+          '2061100204:00:00','2061100201:00:00','2062032602:59:59','2062032523:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,3,0,0],[2062,3,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2062,10,1,3,59,59],[2062,9,30,23,59,59],
+          '2062032603:00:00','2062032523:00:00','2062100103:59:59','2062093023:59:59' ],
+        [ [2062,10,1,4,0,0],[2062,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2063,3,25,2,59,59],[2063,3,24,23,59,59],
+          '2062100104:00:00','2062100101:00:00','2063032502:59:59','2063032423:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,3,0,0],[2063,3,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2063,10,7,3,59,59],[2063,10,6,23,59,59],
+          '2063032503:00:00','2063032423:00:00','2063100703:59:59','2063100623:59:59' ],
+        [ [2063,10,7,4,0,0],[2063,10,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2064,3,23,2,59,59],[2064,3,22,23,59,59],
+          '2063100704:00:00','2063100701:00:00','2064032302:59:59','2064032223:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,23,3,0,0],[2064,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2064,10,5,3,59,59],[2064,10,4,23,59,59],
+          '2064032303:00:00','2064032223:00:00','2064100503:59:59','2064100423:59:59' ],
+        [ [2064,10,5,4,0,0],[2064,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2065,3,22,2,59,59],[2065,3,21,23,59,59],
+          '2064100504:00:00','2064100501:00:00','2065032202:59:59','2065032123:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,22,3,0,0],[2065,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2065,10,4,3,59,59],[2065,10,3,23,59,59],
+          '2065032203:00:00','2065032123:00:00','2065100403:59:59','2065100323:59:59' ],
+        [ [2065,10,4,4,0,0],[2065,10,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2066,3,28,2,59,59],[2066,3,27,23,59,59],
+          '2065100404:00:00','2065100401:00:00','2066032802:59:59','2066032723:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,3,0,0],[2066,3,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2066,10,3,3,59,59],[2066,10,2,23,59,59],
+          '2066032803:00:00','2066032723:00:00','2066100303:59:59','2066100223:59:59' ],
+        [ [2066,10,3,4,0,0],[2066,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2067,3,27,2,59,59],[2067,3,26,23,59,59],
+          '2066100304:00:00','2066100301:00:00','2067032702:59:59','2067032623:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,3,0,0],[2067,3,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2067,10,2,3,59,59],[2067,10,1,23,59,59],
+          '2067032703:00:00','2067032623:00:00','2067100203:59:59','2067100123:59:59' ],
+        [ [2067,10,2,4,0,0],[2067,10,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2068,3,25,2,59,59],[2068,3,24,23,59,59],
+          '2067100204:00:00','2067100201:00:00','2068032502:59:59','2068032423:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '22',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-04',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amatik00.pm b/lib/Date/Manip/TZ/amatik00.pm
new file mode 100644
index 0000000..9415810
--- /dev/null
+++ b/lib/Date/Manip/TZ/amatik00.pm
@@ -0,0 +1,79 @@
+package #
+Date::Manip::TZ::amatik00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,53,32],'-06:06:28',[-6,-6,-28],
+          'LMT',0,[1895,1,1,6,6,27],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010117:53:32','1895010106:06:27','1894123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,1,6,6,28],[1895,1,1,0,6,28],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,4,14,7,59,59],[1918,4,14,1,59,59],
+          '1895010106:06:28','1895010100:06:28','1918041407:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,8,0,0],[1918,4,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918041408:00:00','1918041403:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1940,9,29,5,59,59],[1940,9,28,23,59,59],
+          '1918102707:00:00','1918102701:00:00','1940092905:59:59','1940092823:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,9,29,6,0,0],[1940,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1942,2,9,7,59,59],[1942,2,9,2,59,59],
+          '1940092906:00:00','1940092901:00:00','1942020907:59:59','1942020902:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1945093007:00:00','1945093002:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambahi00.pm b/lib/Date/Manip/TZ/ambahi00.pm
new file mode 100644
index 0000000..3534ef0
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambahi00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::ambahi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,25,56],'-02:34:04',[-2,-34,-4],
+          'LMT',0,[1914,1,1,2,34,3],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010121:25:56','1914010102:34:03','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,2,34,4],[1913,12,31,23,34,4],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010102:34:04','1913123123:34:04','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,2,17,1,59,59],[1991,2,16,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991021701:59:59','1991021623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,2,17,2,0,0],[1991,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991021702:00:00','1991021623:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,2,9,1,59,59],[1992,2,8,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992020901:59:59','1992020823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,9,2,0,0],[1992,2,8,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,25,2,59,59],[1992,10,24,23,59,59],
+          '1992020902:00:00','1992020823:00:00','1992102502:59:59','1992102423:59:59' ],
+        [ [1992,10,25,3,0,0],[1992,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,1,31,1,59,59],[1993,1,30,23,59,59],
+          '1992102503:00:00','1992102501:00:00','1993013101:59:59','1993013023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,31,2,0,0],[1993,1,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1993,10,17,2,59,59],[1993,10,16,23,59,59],
+          '1993013102:00:00','1993013023:00:00','1993101702:59:59','1993101623:59:59' ],
+        [ [1993,10,17,3,0,0],[1993,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1994,2,20,1,59,59],[1994,2,19,23,59,59],
+          '1993101703:00:00','1993101701:00:00','1994022001:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,2,0,0],[1994,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1994,10,16,2,59,59],[1994,10,15,23,59,59],
+          '1994022002:00:00','1994021923:00:00','1994101602:59:59','1994101523:59:59' ],
+        [ [1994,10,16,3,0,0],[1994,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1995,2,19,1,59,59],[1995,2,18,23,59,59],
+          '1994101603:00:00','1994101601:00:00','1995021901:59:59','1995021823:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,2,19,2,0,0],[1995,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,10,15,2,59,59],[1995,10,14,23,59,59],
+          '1995021902:00:00','1995021823:00:00','1995101502:59:59','1995101423:59:59' ],
+        [ [1995,10,15,3,0,0],[1995,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,2,11,1,59,59],[1996,2,10,23,59,59],
+          '1995101503:00:00','1995101501:00:00','1996021101:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,2,0,0],[1996,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,10,6,2,59,59],[1996,10,5,23,59,59],
+          '1996021102:00:00','1996021023:00:00','1996100602:59:59','1996100523:59:59' ],
+        [ [1996,10,6,3,0,0],[1996,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1997,2,16,1,59,59],[1997,2,15,23,59,59],
+          '1996100603:00:00','1996100601:00:00','1997021601:59:59','1997021523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,16,2,0,0],[1997,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1997,10,6,2,59,59],[1997,10,5,23,59,59],
+          '1997021602:00:00','1997021523:00:00','1997100602:59:59','1997100523:59:59' ],
+        [ [1997,10,6,3,0,0],[1997,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1998,3,1,1,59,59],[1998,2,28,23,59,59],
+          '1997100603:00:00','1997100601:00:00','1998030101:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,2,0,0],[1998,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1998,10,11,2,59,59],[1998,10,10,23,59,59],
+          '1998030102:00:00','1998022823:00:00','1998101102:59:59','1998101023:59:59' ],
+        [ [1998,10,11,3,0,0],[1998,10,11,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1999,2,21,1,59,59],[1999,2,20,23,59,59],
+          '1998101103:00:00','1998101101:00:00','1999022101:59:59','1999022023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,21,2,0,0],[1999,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1999022102:00:00','1999022023:00:00','1999100302:59:59','1999100223:59:59' ],
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2001,2,18,1,59,59],[2001,2,17,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2001021801:59:59','2001021723:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,2,18,2,0,0],[2001,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2001021802:00:00','2001021723:00:00','2001101402:59:59','2001101323:59:59' ],
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2002,11,3,2,59,59],[2002,11,2,23,59,59],
+          '2002021702:00:00','2002021623:00:00','2002110302:59:59','2002110223:59:59' ],
+        [ [2002,11,3,3,0,0],[2002,11,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2003,2,16,1,59,59],[2003,2,15,23,59,59],
+          '2002110303:00:00','2002110301:00:00','2003021601:59:59','2003021523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,2,16,2,0,0],[2003,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2011,10,16,2,59,59],[2011,10,15,23,59,59],
+          '2003021602:00:00','2003021523:00:00','2011101602:59:59','2011101523:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,10,16,3,0,0],[2011,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2012,2,26,1,59,59],[2012,2,25,23,59,59],
+          '2011101603:00:00','2011101601:00:00','2012022601:59:59','2012022523:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,26,2,0,0],[2012,2,25,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2012022602:00:00','2012022523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambahi01.pm b/lib/Date/Manip/TZ/ambahi01.pm
new file mode 100644
index 0000000..cd9bc8c
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambahi01.pm
@@ -0,0 +1,766 @@
+package #
+Date::Manip::TZ::ambahi01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,59,0],'-07:01:00',[-7,-1,0],
+          'LMT',0,[1922,1,1,6,59,59],[1921,12,31,23,58,59],
+          '0001010200:00:00','0001010116:59:00','1922010106:59:59','1921123123:58:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,4,24,5,59,59],[1942,4,23,23,59,59],
+          '1932040107:00:00','1932040101:00:00','1942042405:59:59','1942042323:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,24,6,0,0],[1942,4,23,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1949,1,14,6,59,59],[1949,1,13,23,59,59],
+          '1942042406:00:00','1942042323:00:00','1949011406:59:59','1949011323:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,1,14,7,0,0],[1949,1,13,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,1,1,7,59,59],[1969,12,31,23,59,59],
+          '1949011407:00:00','1949011323:00:00','1970010107:59:59','1969123123:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,1,1,8,0,0],[1970,1,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1970010108:00:00','1970010101:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,5,6,8,59,59],[2001,5,6,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001050608:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,9,0,0],[2001,5,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,9,30,7,59,59],[2001,9,30,1,59,59],
+          '2001050609:00:00','2001050603:00:00','2001093007:59:59','2001093001:59:59' ],
+        [ [2001,9,30,8,0,0],[2001,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001093008:00:00','2001093001:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,4,1,8,59,59],[2007,4,1,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007040108:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,9,0,0],[2007,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,10,28,7,59,59],[2007,10,28,1,59,59],
+          '2007040109:00:00','2007040103:00:00','2007102807:59:59','2007102801:59:59' ],
+        [ [2007,10,28,8,0,0],[2007,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,4,6,8,59,59],[2008,4,6,1,59,59],
+          '2007102808:00:00','2007102801:00:00','2008040608:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,9,0,0],[2008,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,10,26,7,59,59],[2008,10,26,1,59,59],
+          '2008040609:00:00','2008040603:00:00','2008102607:59:59','2008102601:59:59' ],
+        [ [2008,10,26,8,0,0],[2008,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,4,5,8,59,59],[2009,4,5,1,59,59],
+          '2008102608:00:00','2008102601:00:00','2009040508:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,9,0,0],[2009,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,10,25,7,59,59],[2009,10,25,1,59,59],
+          '2009040509:00:00','2009040503:00:00','2009102507:59:59','2009102501:59:59' ],
+        [ [2009,10,25,8,0,0],[2009,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,4,4,8,59,59],[2010,4,4,1,59,59],
+          '2009102508:00:00','2009102501:00:00','2010040408:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,9,0,0],[2010,4,4,4,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,10,31,6,59,59],[2010,10,31,1,59,59],
+          '2010040409:00:00','2010040404:00:00','2010103106:59:59','2010103101:59:59' ],
+        [ [2010,10,31,7,0,0],[2010,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,4,3,7,59,59],[2011,4,3,1,59,59],
+          '2010103107:00:00','2010103101:00:00','2011040307:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,8,0,0],[2011,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,10,30,6,59,59],[2011,10,30,1,59,59],
+          '2011040308:00:00','2011040303:00:00','2011103006:59:59','2011103001:59:59' ],
+        [ [2011,10,30,7,0,0],[2011,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,4,1,7,59,59],[2012,4,1,1,59,59],
+          '2011103007:00:00','2011103001:00:00','2012040107:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,8,0,0],[2012,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,10,28,6,59,59],[2012,10,28,1,59,59],
+          '2012040108:00:00','2012040103:00:00','2012102806:59:59','2012102801:59:59' ],
+        [ [2012,10,28,7,0,0],[2012,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,4,7,7,59,59],[2013,4,7,1,59,59],
+          '2012102807:00:00','2012102801:00:00','2013040707:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,8,0,0],[2013,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,10,27,6,59,59],[2013,10,27,1,59,59],
+          '2013040708:00:00','2013040703:00:00','2013102706:59:59','2013102701:59:59' ],
+        [ [2013,10,27,7,0,0],[2013,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,4,6,7,59,59],[2014,4,6,1,59,59],
+          '2013102707:00:00','2013102701:00:00','2014040607:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,8,0,0],[2014,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,10,26,6,59,59],[2014,10,26,1,59,59],
+          '2014040608:00:00','2014040603:00:00','2014102606:59:59','2014102601:59:59' ],
+        [ [2014,10,26,7,0,0],[2014,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,4,5,7,59,59],[2015,4,5,1,59,59],
+          '2014102607:00:00','2014102601:00:00','2015040507:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,8,0,0],[2015,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,10,25,6,59,59],[2015,10,25,1,59,59],
+          '2015040508:00:00','2015040503:00:00','2015102506:59:59','2015102501:59:59' ],
+        [ [2015,10,25,7,0,0],[2015,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,4,3,7,59,59],[2016,4,3,1,59,59],
+          '2015102507:00:00','2015102501:00:00','2016040307:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,8,0,0],[2016,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,10,30,6,59,59],[2016,10,30,1,59,59],
+          '2016040308:00:00','2016040303:00:00','2016103006:59:59','2016103001:59:59' ],
+        [ [2016,10,30,7,0,0],[2016,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,4,2,7,59,59],[2017,4,2,1,59,59],
+          '2016103007:00:00','2016103001:00:00','2017040207:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,8,0,0],[2017,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,10,29,6,59,59],[2017,10,29,1,59,59],
+          '2017040208:00:00','2017040203:00:00','2017102906:59:59','2017102901:59:59' ],
+        [ [2017,10,29,7,0,0],[2017,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,4,1,7,59,59],[2018,4,1,1,59,59],
+          '2017102907:00:00','2017102901:00:00','2018040107:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,8,0,0],[2018,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,10,28,6,59,59],[2018,10,28,1,59,59],
+          '2018040108:00:00','2018040103:00:00','2018102806:59:59','2018102801:59:59' ],
+        [ [2018,10,28,7,0,0],[2018,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,4,7,7,59,59],[2019,4,7,1,59,59],
+          '2018102807:00:00','2018102801:00:00','2019040707:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,8,0,0],[2019,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,10,27,6,59,59],[2019,10,27,1,59,59],
+          '2019040708:00:00','2019040703:00:00','2019102706:59:59','2019102701:59:59' ],
+        [ [2019,10,27,7,0,0],[2019,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,4,5,7,59,59],[2020,4,5,1,59,59],
+          '2019102707:00:00','2019102701:00:00','2020040507:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,8,0,0],[2020,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,10,25,6,59,59],[2020,10,25,1,59,59],
+          '2020040508:00:00','2020040503:00:00','2020102506:59:59','2020102501:59:59' ],
+        [ [2020,10,25,7,0,0],[2020,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,4,4,7,59,59],[2021,4,4,1,59,59],
+          '2020102507:00:00','2020102501:00:00','2021040407:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,8,0,0],[2021,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,10,31,6,59,59],[2021,10,31,1,59,59],
+          '2021040408:00:00','2021040403:00:00','2021103106:59:59','2021103101:59:59' ],
+        [ [2021,10,31,7,0,0],[2021,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,4,3,7,59,59],[2022,4,3,1,59,59],
+          '2021103107:00:00','2021103101:00:00','2022040307:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,8,0,0],[2022,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,10,30,6,59,59],[2022,10,30,1,59,59],
+          '2022040308:00:00','2022040303:00:00','2022103006:59:59','2022103001:59:59' ],
+        [ [2022,10,30,7,0,0],[2022,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,4,2,7,59,59],[2023,4,2,1,59,59],
+          '2022103007:00:00','2022103001:00:00','2023040207:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,8,0,0],[2023,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,10,29,6,59,59],[2023,10,29,1,59,59],
+          '2023040208:00:00','2023040203:00:00','2023102906:59:59','2023102901:59:59' ],
+        [ [2023,10,29,7,0,0],[2023,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,4,7,7,59,59],[2024,4,7,1,59,59],
+          '2023102907:00:00','2023102901:00:00','2024040707:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,8,0,0],[2024,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,10,27,6,59,59],[2024,10,27,1,59,59],
+          '2024040708:00:00','2024040703:00:00','2024102706:59:59','2024102701:59:59' ],
+        [ [2024,10,27,7,0,0],[2024,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,4,6,7,59,59],[2025,4,6,1,59,59],
+          '2024102707:00:00','2024102701:00:00','2025040607:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,8,0,0],[2025,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,10,26,6,59,59],[2025,10,26,1,59,59],
+          '2025040608:00:00','2025040603:00:00','2025102606:59:59','2025102601:59:59' ],
+        [ [2025,10,26,7,0,0],[2025,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,4,5,7,59,59],[2026,4,5,1,59,59],
+          '2025102607:00:00','2025102601:00:00','2026040507:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,8,0,0],[2026,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,10,25,6,59,59],[2026,10,25,1,59,59],
+          '2026040508:00:00','2026040503:00:00','2026102506:59:59','2026102501:59:59' ],
+        [ [2026,10,25,7,0,0],[2026,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,4,4,7,59,59],[2027,4,4,1,59,59],
+          '2026102507:00:00','2026102501:00:00','2027040407:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,8,0,0],[2027,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,10,31,6,59,59],[2027,10,31,1,59,59],
+          '2027040408:00:00','2027040403:00:00','2027103106:59:59','2027103101:59:59' ],
+        [ [2027,10,31,7,0,0],[2027,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,4,2,7,59,59],[2028,4,2,1,59,59],
+          '2027103107:00:00','2027103101:00:00','2028040207:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,8,0,0],[2028,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,10,29,6,59,59],[2028,10,29,1,59,59],
+          '2028040208:00:00','2028040203:00:00','2028102906:59:59','2028102901:59:59' ],
+        [ [2028,10,29,7,0,0],[2028,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,4,1,7,59,59],[2029,4,1,1,59,59],
+          '2028102907:00:00','2028102901:00:00','2029040107:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,8,0,0],[2029,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,10,28,6,59,59],[2029,10,28,1,59,59],
+          '2029040108:00:00','2029040103:00:00','2029102806:59:59','2029102801:59:59' ],
+        [ [2029,10,28,7,0,0],[2029,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,4,7,7,59,59],[2030,4,7,1,59,59],
+          '2029102807:00:00','2029102801:00:00','2030040707:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,8,0,0],[2030,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,10,27,6,59,59],[2030,10,27,1,59,59],
+          '2030040708:00:00','2030040703:00:00','2030102706:59:59','2030102701:59:59' ],
+        [ [2030,10,27,7,0,0],[2030,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,4,6,7,59,59],[2031,4,6,1,59,59],
+          '2030102707:00:00','2030102701:00:00','2031040607:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,8,0,0],[2031,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,10,26,6,59,59],[2031,10,26,1,59,59],
+          '2031040608:00:00','2031040603:00:00','2031102606:59:59','2031102601:59:59' ],
+        [ [2031,10,26,7,0,0],[2031,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,4,4,7,59,59],[2032,4,4,1,59,59],
+          '2031102607:00:00','2031102601:00:00','2032040407:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,8,0,0],[2032,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,10,31,6,59,59],[2032,10,31,1,59,59],
+          '2032040408:00:00','2032040403:00:00','2032103106:59:59','2032103101:59:59' ],
+        [ [2032,10,31,7,0,0],[2032,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,4,3,7,59,59],[2033,4,3,1,59,59],
+          '2032103107:00:00','2032103101:00:00','2033040307:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,8,0,0],[2033,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,10,30,6,59,59],[2033,10,30,1,59,59],
+          '2033040308:00:00','2033040303:00:00','2033103006:59:59','2033103001:59:59' ],
+        [ [2033,10,30,7,0,0],[2033,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,4,2,7,59,59],[2034,4,2,1,59,59],
+          '2033103007:00:00','2033103001:00:00','2034040207:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,8,0,0],[2034,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,10,29,6,59,59],[2034,10,29,1,59,59],
+          '2034040208:00:00','2034040203:00:00','2034102906:59:59','2034102901:59:59' ],
+        [ [2034,10,29,7,0,0],[2034,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,4,1,7,59,59],[2035,4,1,1,59,59],
+          '2034102907:00:00','2034102901:00:00','2035040107:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,8,0,0],[2035,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,10,28,6,59,59],[2035,10,28,1,59,59],
+          '2035040108:00:00','2035040103:00:00','2035102806:59:59','2035102801:59:59' ],
+        [ [2035,10,28,7,0,0],[2035,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,4,6,7,59,59],[2036,4,6,1,59,59],
+          '2035102807:00:00','2035102801:00:00','2036040607:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,8,0,0],[2036,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,10,26,6,59,59],[2036,10,26,1,59,59],
+          '2036040608:00:00','2036040603:00:00','2036102606:59:59','2036102601:59:59' ],
+        [ [2036,10,26,7,0,0],[2036,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,4,5,7,59,59],[2037,4,5,1,59,59],
+          '2036102607:00:00','2036102601:00:00','2037040507:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,8,0,0],[2037,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,10,25,6,59,59],[2037,10,25,1,59,59],
+          '2037040508:00:00','2037040503:00:00','2037102506:59:59','2037102501:59:59' ],
+        [ [2037,10,25,7,0,0],[2037,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,4,4,7,59,59],[2038,4,4,1,59,59],
+          '2037102507:00:00','2037102501:00:00','2038040407:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,8,0,0],[2038,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,10,31,6,59,59],[2038,10,31,1,59,59],
+          '2038040408:00:00','2038040403:00:00','2038103106:59:59','2038103101:59:59' ],
+        [ [2038,10,31,7,0,0],[2038,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,4,3,7,59,59],[2039,4,3,1,59,59],
+          '2038103107:00:00','2038103101:00:00','2039040307:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,8,0,0],[2039,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,10,30,6,59,59],[2039,10,30,1,59,59],
+          '2039040308:00:00','2039040303:00:00','2039103006:59:59','2039103001:59:59' ],
+        [ [2039,10,30,7,0,0],[2039,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,4,1,7,59,59],[2040,4,1,1,59,59],
+          '2039103007:00:00','2039103001:00:00','2040040107:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,8,0,0],[2040,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,10,28,6,59,59],[2040,10,28,1,59,59],
+          '2040040108:00:00','2040040103:00:00','2040102806:59:59','2040102801:59:59' ],
+        [ [2040,10,28,7,0,0],[2040,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,4,7,7,59,59],[2041,4,7,1,59,59],
+          '2040102807:00:00','2040102801:00:00','2041040707:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,8,0,0],[2041,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,10,27,6,59,59],[2041,10,27,1,59,59],
+          '2041040708:00:00','2041040703:00:00','2041102706:59:59','2041102701:59:59' ],
+        [ [2041,10,27,7,0,0],[2041,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,4,6,7,59,59],[2042,4,6,1,59,59],
+          '2041102707:00:00','2041102701:00:00','2042040607:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,8,0,0],[2042,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,10,26,6,59,59],[2042,10,26,1,59,59],
+          '2042040608:00:00','2042040603:00:00','2042102606:59:59','2042102601:59:59' ],
+        [ [2042,10,26,7,0,0],[2042,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,4,5,7,59,59],[2043,4,5,1,59,59],
+          '2042102607:00:00','2042102601:00:00','2043040507:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,8,0,0],[2043,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,10,25,6,59,59],[2043,10,25,1,59,59],
+          '2043040508:00:00','2043040503:00:00','2043102506:59:59','2043102501:59:59' ],
+        [ [2043,10,25,7,0,0],[2043,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,4,3,7,59,59],[2044,4,3,1,59,59],
+          '2043102507:00:00','2043102501:00:00','2044040307:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,8,0,0],[2044,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,10,30,6,59,59],[2044,10,30,1,59,59],
+          '2044040308:00:00','2044040303:00:00','2044103006:59:59','2044103001:59:59' ],
+        [ [2044,10,30,7,0,0],[2044,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,4,2,7,59,59],[2045,4,2,1,59,59],
+          '2044103007:00:00','2044103001:00:00','2045040207:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,8,0,0],[2045,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,10,29,6,59,59],[2045,10,29,1,59,59],
+          '2045040208:00:00','2045040203:00:00','2045102906:59:59','2045102901:59:59' ],
+        [ [2045,10,29,7,0,0],[2045,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,4,1,7,59,59],[2046,4,1,1,59,59],
+          '2045102907:00:00','2045102901:00:00','2046040107:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,8,0,0],[2046,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,10,28,6,59,59],[2046,10,28,1,59,59],
+          '2046040108:00:00','2046040103:00:00','2046102806:59:59','2046102801:59:59' ],
+        [ [2046,10,28,7,0,0],[2046,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,4,7,7,59,59],[2047,4,7,1,59,59],
+          '2046102807:00:00','2046102801:00:00','2047040707:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,8,0,0],[2047,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,10,27,6,59,59],[2047,10,27,1,59,59],
+          '2047040708:00:00','2047040703:00:00','2047102706:59:59','2047102701:59:59' ],
+        [ [2047,10,27,7,0,0],[2047,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,4,5,7,59,59],[2048,4,5,1,59,59],
+          '2047102707:00:00','2047102701:00:00','2048040507:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,8,0,0],[2048,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,10,25,6,59,59],[2048,10,25,1,59,59],
+          '2048040508:00:00','2048040503:00:00','2048102506:59:59','2048102501:59:59' ],
+        [ [2048,10,25,7,0,0],[2048,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,4,4,7,59,59],[2049,4,4,1,59,59],
+          '2048102507:00:00','2048102501:00:00','2049040407:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,8,0,0],[2049,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,10,31,6,59,59],[2049,10,31,1,59,59],
+          '2049040408:00:00','2049040403:00:00','2049103106:59:59','2049103101:59:59' ],
+        [ [2049,10,31,7,0,0],[2049,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,4,3,7,59,59],[2050,4,3,1,59,59],
+          '2049103107:00:00','2049103101:00:00','2050040307:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,8,0,0],[2050,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,10,30,6,59,59],[2050,10,30,1,59,59],
+          '2050040308:00:00','2050040303:00:00','2050103006:59:59','2050103001:59:59' ],
+        [ [2050,10,30,7,0,0],[2050,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,4,2,7,59,59],[2051,4,2,1,59,59],
+          '2050103007:00:00','2050103001:00:00','2051040207:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,8,0,0],[2051,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,10,29,6,59,59],[2051,10,29,1,59,59],
+          '2051040208:00:00','2051040203:00:00','2051102906:59:59','2051102901:59:59' ],
+        [ [2051,10,29,7,0,0],[2051,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,4,7,7,59,59],[2052,4,7,1,59,59],
+          '2051102907:00:00','2051102901:00:00','2052040707:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,8,0,0],[2052,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,10,27,6,59,59],[2052,10,27,1,59,59],
+          '2052040708:00:00','2052040703:00:00','2052102706:59:59','2052102701:59:59' ],
+        [ [2052,10,27,7,0,0],[2052,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,4,6,7,59,59],[2053,4,6,1,59,59],
+          '2052102707:00:00','2052102701:00:00','2053040607:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,8,0,0],[2053,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,10,26,6,59,59],[2053,10,26,1,59,59],
+          '2053040608:00:00','2053040603:00:00','2053102606:59:59','2053102601:59:59' ],
+        [ [2053,10,26,7,0,0],[2053,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,4,5,7,59,59],[2054,4,5,1,59,59],
+          '2053102607:00:00','2053102601:00:00','2054040507:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,8,0,0],[2054,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,10,25,6,59,59],[2054,10,25,1,59,59],
+          '2054040508:00:00','2054040503:00:00','2054102506:59:59','2054102501:59:59' ],
+        [ [2054,10,25,7,0,0],[2054,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,4,4,7,59,59],[2055,4,4,1,59,59],
+          '2054102507:00:00','2054102501:00:00','2055040407:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,8,0,0],[2055,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,10,31,6,59,59],[2055,10,31,1,59,59],
+          '2055040408:00:00','2055040403:00:00','2055103106:59:59','2055103101:59:59' ],
+        [ [2055,10,31,7,0,0],[2055,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,4,2,7,59,59],[2056,4,2,1,59,59],
+          '2055103107:00:00','2055103101:00:00','2056040207:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,8,0,0],[2056,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,10,29,6,59,59],[2056,10,29,1,59,59],
+          '2056040208:00:00','2056040203:00:00','2056102906:59:59','2056102901:59:59' ],
+        [ [2056,10,29,7,0,0],[2056,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,4,1,7,59,59],[2057,4,1,1,59,59],
+          '2056102907:00:00','2056102901:00:00','2057040107:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,8,0,0],[2057,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,10,28,6,59,59],[2057,10,28,1,59,59],
+          '2057040108:00:00','2057040103:00:00','2057102806:59:59','2057102801:59:59' ],
+        [ [2057,10,28,7,0,0],[2057,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,4,7,7,59,59],[2058,4,7,1,59,59],
+          '2057102807:00:00','2057102801:00:00','2058040707:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,8,0,0],[2058,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,10,27,6,59,59],[2058,10,27,1,59,59],
+          '2058040708:00:00','2058040703:00:00','2058102706:59:59','2058102701:59:59' ],
+        [ [2058,10,27,7,0,0],[2058,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,4,6,7,59,59],[2059,4,6,1,59,59],
+          '2058102707:00:00','2058102701:00:00','2059040607:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,8,0,0],[2059,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,10,26,6,59,59],[2059,10,26,1,59,59],
+          '2059040608:00:00','2059040603:00:00','2059102606:59:59','2059102601:59:59' ],
+        [ [2059,10,26,7,0,0],[2059,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,4,4,7,59,59],[2060,4,4,1,59,59],
+          '2059102607:00:00','2059102601:00:00','2060040407:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,8,0,0],[2060,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,10,31,6,59,59],[2060,10,31,1,59,59],
+          '2060040408:00:00','2060040403:00:00','2060103106:59:59','2060103101:59:59' ],
+        [ [2060,10,31,7,0,0],[2060,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,4,3,7,59,59],[2061,4,3,1,59,59],
+          '2060103107:00:00','2060103101:00:00','2061040307:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,8,0,0],[2061,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,10,30,6,59,59],[2061,10,30,1,59,59],
+          '2061040308:00:00','2061040303:00:00','2061103006:59:59','2061103001:59:59' ],
+        [ [2061,10,30,7,0,0],[2061,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,4,2,7,59,59],[2062,4,2,1,59,59],
+          '2061103007:00:00','2061103001:00:00','2062040207:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,8,0,0],[2062,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,10,29,6,59,59],[2062,10,29,1,59,59],
+          '2062040208:00:00','2062040203:00:00','2062102906:59:59','2062102901:59:59' ],
+        [ [2062,10,29,7,0,0],[2062,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,4,1,7,59,59],[2063,4,1,1,59,59],
+          '2062102907:00:00','2062102901:00:00','2063040107:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,8,0,0],[2063,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,10,28,6,59,59],[2063,10,28,1,59,59],
+          '2063040108:00:00','2063040103:00:00','2063102806:59:59','2063102801:59:59' ],
+        [ [2063,10,28,7,0,0],[2063,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,4,6,7,59,59],[2064,4,6,1,59,59],
+          '2063102807:00:00','2063102801:00:00','2064040607:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,8,0,0],[2064,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,10,26,6,59,59],[2064,10,26,1,59,59],
+          '2064040608:00:00','2064040603:00:00','2064102606:59:59','2064102601:59:59' ],
+        [ [2064,10,26,7,0,0],[2064,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,4,5,7,59,59],[2065,4,5,1,59,59],
+          '2064102607:00:00','2064102601:00:00','2065040507:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,8,0,0],[2065,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,10,25,6,59,59],[2065,10,25,1,59,59],
+          '2065040508:00:00','2065040503:00:00','2065102506:59:59','2065102501:59:59' ],
+        [ [2065,10,25,7,0,0],[2065,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,4,4,7,59,59],[2066,4,4,1,59,59],
+          '2065102507:00:00','2065102501:00:00','2066040407:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,8,0,0],[2066,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,10,31,6,59,59],[2066,10,31,1,59,59],
+          '2066040408:00:00','2066040403:00:00','2066103106:59:59','2066103101:59:59' ],
+        [ [2066,10,31,7,0,0],[2066,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,4,3,7,59,59],[2067,4,3,1,59,59],
+          '2066103107:00:00','2066103101:00:00','2067040307:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,8,0,0],[2067,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,10,30,6,59,59],[2067,10,30,1,59,59],
+          '2067040308:00:00','2067040303:00:00','2067103006:59:59','2067103001:59:59' ],
+        [ [2067,10,30,7,0,0],[2067,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,4,1,7,59,59],[2068,4,1,1,59,59],
+          '2067103007:00:00','2067103001:00:00','2068040107:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambarb00.pm b/lib/Date/Manip/TZ/ambarb00.pm
new file mode 100644
index 0000000..3cdd332
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambarb00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::ambarb00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,1,31],'-03:58:29',[-3,-58,-29],
+          'LMT',0,[1924,1,1,3,58,28],[1923,12,31,23,59,59],
+          '0001010200:00:00','0001010120:01:31','1924010103:58:28','1923123123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,1,1,3,58,29],[1924,1,1,0,0,0],'-03:58:29',[-3,-58,-29],
+          'BMT',0,[1932,1,1,3,58,28],[1931,12,31,23,59,59],
+          '1924010103:58:29','1924010100:00:00','1932010103:58:28','1931123123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,1,1,3,58,29],[1931,12,31,23,58,29],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,6,12,5,59,59],[1977,6,12,1,59,59],
+          '1932010103:58:29','1931123123:58:29','1977061205:59:59','1977061201:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,6,12,6,0,0],[1977,6,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,2,4,59,59],[1977,10,2,1,59,59],
+          '1977061206:00:00','1977061203:00:00','1977100204:59:59','1977100201:59:59' ],
+        [ [1977,10,2,5,0,0],[1977,10,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,16,5,59,59],[1978,4,16,1,59,59],
+          '1977100205:00:00','1977100201:00:00','1978041605:59:59','1978041601:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,16,6,0,0],[1978,4,16,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,1,4,59,59],[1978,10,1,1,59,59],
+          '1978041606:00:00','1978041603:00:00','1978100104:59:59','1978100101:59:59' ],
+        [ [1978,10,1,5,0,0],[1978,10,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,15,5,59,59],[1979,4,15,1,59,59],
+          '1978100105:00:00','1978100101:00:00','1979041505:59:59','1979041501:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,15,6,0,0],[1979,4,15,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,9,30,4,59,59],[1979,9,30,1,59,59],
+          '1979041506:00:00','1979041503:00:00','1979093004:59:59','1979093001:59:59' ],
+        [ [1979,9,30,5,0,0],[1979,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,20,5,59,59],[1980,4,20,1,59,59],
+          '1979093005:00:00','1979093001:00:00','1980042005:59:59','1980042001:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,20,6,0,0],[1980,4,20,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,9,25,4,59,59],[1980,9,25,1,59,59],
+          '1980042006:00:00','1980042003:00:00','1980092504:59:59','1980092501:59:59' ],
+        [ [1980,9,25,5,0,0],[1980,9,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1980092505:00:00','1980092501:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambele00.pm b/lib/Date/Manip/TZ/ambele00.pm
new file mode 100644
index 0000000..8e2cc46
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambele00.pm
@@ -0,0 +1,187 @@
+package #
+Date::Manip::TZ::ambele00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,46,4],'-03:13:56',[-3,-13,-56],
+          'LMT',0,[1914,1,1,3,13,55],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:46:04','1914010103:13:55','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,13,56],[1914,1,1,0,13,56],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010103:13:56','1914010100:13:56','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '1988020702:00:00','1988020623:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambeli00.pm b/lib/Date/Manip/TZ/ambeli00.pm
new file mode 100644
index 0000000..b96b1a1
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambeli00.pm
@@ -0,0 +1,301 @@
+package #
+Date::Manip::TZ::ambeli00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,7,12],'-05:52:48',[-5,-52,-48],
+          'LMT',0,[1912,4,1,5,52,47],[1912,3,31,23,59,59],
+          '0001010200:00:00','0001010118:07:12','1912040105:52:47','1912033123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,4,1,5,52,48],[1912,3,31,23,52,48],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,10,6,5,59,59],[1918,10,5,23,59,59],
+          '1912040105:52:48','1912033123:52:48','1918100605:59:59','1918100523:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,10,6,6,0,0],[1918,10,6,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1919,2,9,5,29,59],[1919,2,8,23,59,59],
+          '1918100606:00:00','1918100600:30:00','1919020905:29:59','1919020823:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,2,9,5,30,0],[1919,2,8,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,10,5,5,59,59],[1919,10,4,23,59,59],
+          '1919020905:30:00','1919020823:30:00','1919100505:59:59','1919100423:59:59' ],
+        [ [1919,10,5,6,0,0],[1919,10,5,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1920,2,15,5,29,59],[1920,2,14,23,59,59],
+          '1919100506:00:00','1919100500:30:00','1920021505:29:59','1920021423:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,15,5,30,0],[1920,2,14,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1920,10,3,5,59,59],[1920,10,2,23,59,59],
+          '1920021505:30:00','1920021423:30:00','1920100305:59:59','1920100223:59:59' ],
+        [ [1920,10,3,6,0,0],[1920,10,3,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1921,2,13,5,29,59],[1921,2,12,23,59,59],
+          '1920100306:00:00','1920100300:30:00','1921021305:29:59','1921021223:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,2,13,5,30,0],[1921,2,12,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1921,10,2,5,59,59],[1921,10,1,23,59,59],
+          '1921021305:30:00','1921021223:30:00','1921100205:59:59','1921100123:59:59' ],
+        [ [1921,10,2,6,0,0],[1921,10,2,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1922,2,12,5,29,59],[1922,2,11,23,59,59],
+          '1921100206:00:00','1921100200:30:00','1922021205:29:59','1922021123:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,2,12,5,30,0],[1922,2,11,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1922,10,8,5,59,59],[1922,10,7,23,59,59],
+          '1922021205:30:00','1922021123:30:00','1922100805:59:59','1922100723:59:59' ],
+        [ [1922,10,8,6,0,0],[1922,10,8,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1923,2,11,5,29,59],[1923,2,10,23,59,59],
+          '1922100806:00:00','1922100800:30:00','1923021105:29:59','1923021023:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,2,11,5,30,0],[1923,2,10,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1923,10,7,5,59,59],[1923,10,6,23,59,59],
+          '1923021105:30:00','1923021023:30:00','1923100705:59:59','1923100623:59:59' ],
+        [ [1923,10,7,6,0,0],[1923,10,7,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1924,2,10,5,29,59],[1924,2,9,23,59,59],
+          '1923100706:00:00','1923100700:30:00','1924021005:29:59','1924020923:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,2,10,5,30,0],[1924,2,9,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1924,10,5,5,59,59],[1924,10,4,23,59,59],
+          '1924021005:30:00','1924020923:30:00','1924100505:59:59','1924100423:59:59' ],
+        [ [1924,10,5,6,0,0],[1924,10,5,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1925,2,15,5,29,59],[1925,2,14,23,59,59],
+          '1924100506:00:00','1924100500:30:00','1925021505:29:59','1925021423:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,2,15,5,30,0],[1925,2,14,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1925,10,4,5,59,59],[1925,10,3,23,59,59],
+          '1925021505:30:00','1925021423:30:00','1925100405:59:59','1925100323:59:59' ],
+        [ [1925,10,4,6,0,0],[1925,10,4,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1926,2,14,5,29,59],[1926,2,13,23,59,59],
+          '1925100406:00:00','1925100400:30:00','1926021405:29:59','1926021323:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,2,14,5,30,0],[1926,2,13,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1926,10,3,5,59,59],[1926,10,2,23,59,59],
+          '1926021405:30:00','1926021323:30:00','1926100305:59:59','1926100223:59:59' ],
+        [ [1926,10,3,6,0,0],[1926,10,3,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1927,2,13,5,29,59],[1927,2,12,23,59,59],
+          '1926100306:00:00','1926100300:30:00','1927021305:29:59','1927021223:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,2,13,5,30,0],[1927,2,12,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1927,10,2,5,59,59],[1927,10,1,23,59,59],
+          '1927021305:30:00','1927021223:30:00','1927100205:59:59','1927100123:59:59' ],
+        [ [1927,10,2,6,0,0],[1927,10,2,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1928,2,12,5,29,59],[1928,2,11,23,59,59],
+          '1927100206:00:00','1927100200:30:00','1928021205:29:59','1928021123:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,2,12,5,30,0],[1928,2,11,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1928,10,7,5,59,59],[1928,10,6,23,59,59],
+          '1928021205:30:00','1928021123:30:00','1928100705:59:59','1928100623:59:59' ],
+        [ [1928,10,7,6,0,0],[1928,10,7,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1929,2,10,5,29,59],[1929,2,9,23,59,59],
+          '1928100706:00:00','1928100700:30:00','1929021005:29:59','1929020923:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,2,10,5,30,0],[1929,2,9,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1929,10,6,5,59,59],[1929,10,5,23,59,59],
+          '1929021005:30:00','1929020923:30:00','1929100605:59:59','1929100523:59:59' ],
+        [ [1929,10,6,6,0,0],[1929,10,6,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1930,2,9,5,29,59],[1930,2,8,23,59,59],
+          '1929100606:00:00','1929100600:30:00','1930020905:29:59','1930020823:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,2,9,5,30,0],[1930,2,8,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,10,5,5,59,59],[1930,10,4,23,59,59],
+          '1930020905:30:00','1930020823:30:00','1930100505:59:59','1930100423:59:59' ],
+        [ [1930,10,5,6,0,0],[1930,10,5,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1931,2,15,5,29,59],[1931,2,14,23,59,59],
+          '1930100506:00:00','1930100500:30:00','1931021505:29:59','1931021423:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,2,15,5,30,0],[1931,2,14,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,4,5,59,59],[1931,10,3,23,59,59],
+          '1931021505:30:00','1931021423:30:00','1931100405:59:59','1931100323:59:59' ],
+        [ [1931,10,4,6,0,0],[1931,10,4,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1932,2,14,5,29,59],[1932,2,13,23,59,59],
+          '1931100406:00:00','1931100400:30:00','1932021405:29:59','1932021323:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,2,14,5,30,0],[1932,2,13,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1932,10,2,5,59,59],[1932,10,1,23,59,59],
+          '1932021405:30:00','1932021323:30:00','1932100205:59:59','1932100123:59:59' ],
+        [ [1932,10,2,6,0,0],[1932,10,2,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1933,2,12,5,29,59],[1933,2,11,23,59,59],
+          '1932100206:00:00','1932100200:30:00','1933021205:29:59','1933021123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,2,12,5,30,0],[1933,2,11,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1933,10,8,5,59,59],[1933,10,7,23,59,59],
+          '1933021205:30:00','1933021123:30:00','1933100805:59:59','1933100723:59:59' ],
+        [ [1933,10,8,6,0,0],[1933,10,8,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1934,2,11,5,29,59],[1934,2,10,23,59,59],
+          '1933100806:00:00','1933100800:30:00','1934021105:29:59','1934021023:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,2,11,5,30,0],[1934,2,10,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1934,10,7,5,59,59],[1934,10,6,23,59,59],
+          '1934021105:30:00','1934021023:30:00','1934100705:59:59','1934100623:59:59' ],
+        [ [1934,10,7,6,0,0],[1934,10,7,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1935,2,10,5,29,59],[1935,2,9,23,59,59],
+          '1934100706:00:00','1934100700:30:00','1935021005:29:59','1935020923:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,2,10,5,30,0],[1935,2,9,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1935,10,6,5,59,59],[1935,10,5,23,59,59],
+          '1935021005:30:00','1935020923:30:00','1935100605:59:59','1935100523:59:59' ],
+        [ [1935,10,6,6,0,0],[1935,10,6,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1936,2,9,5,29,59],[1936,2,8,23,59,59],
+          '1935100606:00:00','1935100600:30:00','1936020905:29:59','1936020823:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,2,9,5,30,0],[1936,2,8,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1936,10,4,5,59,59],[1936,10,3,23,59,59],
+          '1936020905:30:00','1936020823:30:00','1936100405:59:59','1936100323:59:59' ],
+        [ [1936,10,4,6,0,0],[1936,10,4,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1937,2,14,5,29,59],[1937,2,13,23,59,59],
+          '1936100406:00:00','1936100400:30:00','1937021405:29:59','1937021323:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,2,14,5,30,0],[1937,2,13,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1937,10,3,5,59,59],[1937,10,2,23,59,59],
+          '1937021405:30:00','1937021323:30:00','1937100305:59:59','1937100223:59:59' ],
+        [ [1937,10,3,6,0,0],[1937,10,3,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1938,2,13,5,29,59],[1938,2,12,23,59,59],
+          '1937100306:00:00','1937100300:30:00','1938021305:29:59','1938021223:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,2,13,5,30,0],[1938,2,12,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1938,10,2,5,59,59],[1938,10,1,23,59,59],
+          '1938021305:30:00','1938021223:30:00','1938100205:59:59','1938100123:59:59' ],
+        [ [1938,10,2,6,0,0],[1938,10,2,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1939,2,12,5,29,59],[1939,2,11,23,59,59],
+          '1938100206:00:00','1938100200:30:00','1939021205:29:59','1939021123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,2,12,5,30,0],[1939,2,11,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1939,10,8,5,59,59],[1939,10,7,23,59,59],
+          '1939021205:30:00','1939021123:30:00','1939100805:59:59','1939100723:59:59' ],
+        [ [1939,10,8,6,0,0],[1939,10,8,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1940,2,11,5,29,59],[1940,2,10,23,59,59],
+          '1939100806:00:00','1939100800:30:00','1940021105:29:59','1940021023:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,11,5,30,0],[1940,2,10,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1940,10,6,5,59,59],[1940,10,5,23,59,59],
+          '1940021105:30:00','1940021023:30:00','1940100605:59:59','1940100523:59:59' ],
+        [ [1940,10,6,6,0,0],[1940,10,6,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1941,2,9,5,29,59],[1941,2,8,23,59,59],
+          '1940100606:00:00','1940100600:30:00','1941020905:29:59','1941020823:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,2,9,5,30,0],[1941,2,8,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1941,10,5,5,59,59],[1941,10,4,23,59,59],
+          '1941020905:30:00','1941020823:30:00','1941100505:59:59','1941100423:59:59' ],
+        [ [1941,10,5,6,0,0],[1941,10,5,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1942,2,15,5,29,59],[1942,2,14,23,59,59],
+          '1941100506:00:00','1941100500:30:00','1942021505:29:59','1942021423:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,15,5,30,0],[1942,2,14,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,10,4,5,59,59],[1942,10,3,23,59,59],
+          '1942021505:30:00','1942021423:30:00','1942100405:59:59','1942100323:59:59' ],
+        [ [1942,10,4,6,0,0],[1942,10,4,0,30,0],'-05:30:00',[-5,-30,0],
+          '-0530',1,[1943,2,14,5,29,59],[1943,2,13,23,59,59],
+          '1942100406:00:00','1942100400:30:00','1943021405:29:59','1943021323:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,2,14,5,30,0],[1943,2,13,23,30,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,12,5,5,59,59],[1973,12,4,23,59,59],
+          '1943021405:30:00','1943021323:30:00','1973120505:59:59','1973120423:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,12,5,6,0,0],[1973,12,5,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,2,9,4,59,59],[1974,2,8,23,59,59],
+          '1973120506:00:00','1973120501:00:00','1974020904:59:59','1974020823:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,2,9,5,0,0],[1974,2,8,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,12,18,5,59,59],[1982,12,17,23,59,59],
+          '1974020905:00:00','1974020823:00:00','1982121805:59:59','1982121723:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,12,18,6,0,0],[1982,12,18,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,2,12,4,59,59],[1983,2,11,23,59,59],
+          '1982121806:00:00','1982121801:00:00','1983021204:59:59','1983021123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,2,12,5,0,0],[1983,2,11,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1983021205:00:00','1983021123:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambeul00.pm b/lib/Date/Manip/TZ/ambeul00.pm
new file mode 100644
index 0000000..14fee76
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambeul00.pm
@@ -0,0 +1,1015 @@
+package #
+Date::Manip::TZ::ambeul00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,12,53],'-06:47:07',[-6,-47,-7],
+          'LMT',0,[1883,11,18,18,59,59],[1883,11,18,12,12,52],
+          '0001010200:00:00','0001010117:12:53','1883111818:59:59','1883111812:12:52' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,19,0,0],[1883,11,18,12,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,3,31,8,59,59],[1918,3,31,1,59,59],
+          '1883111819:00:00','1883111812:00:00','1918033108:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,9,0,0],[1918,3,31,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918033109:00:00','1918033103:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,3,30,8,59,59],[1919,3,30,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919033008:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,9,0,0],[1919,3,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,10,26,7,59,59],[1919,10,26,1,59,59],
+          '1919033009:00:00','1919033003:00:00','1919102607:59:59','1919102601:59:59' ],
+        [ [1919,10,26,8,0,0],[1919,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1919102608:00:00','1919102601:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1968,4,28,8,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1968042808:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,9,0,0],[1968,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1968,10,27,7,59,59],[1968,10,27,1,59,59],
+          '1968042809:00:00','1968042803:00:00','1968102707:59:59','1968102701:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102701:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1970,4,26,8,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1970042608:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,9,0,0],[1970,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1970,10,25,7,59,59],[1970,10,25,1,59,59],
+          '1970042609:00:00','1970042603:00:00','1970102507:59:59','1970102501:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1971,4,25,8,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102501:00:00','1971042508:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,9,0,0],[1971,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1971,10,31,7,59,59],[1971,10,31,1,59,59],
+          '1971042509:00:00','1971042503:00:00','1971103107:59:59','1971103101:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103101:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,1,6,8,59,59],[1974,1,6,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974010608:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,9,0,0],[1974,1,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974010609:00:00','1974010603:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,2,23,8,59,59],[1975,2,23,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975022308:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,9,0,0],[1975,2,23,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975022309:00:00','1975022303:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110702:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amblan00.pm b/lib/Date/Manip/TZ/amblan00.pm
new file mode 100644
index 0000000..0be5fd5
--- /dev/null
+++ b/lib/Date/Manip/TZ/amblan00.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::TZ::amblan00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,11,32],'-03:48:28',[-3,-48,-28],
+          'LMT',0,[1884,1,1,3,48,27],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010120:11:32','1884010103:48:27','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,3,48,28],[1883,12,31,23,48,28],'-04:00:00',[-4,0,0],
+          'AST',0,[1918,4,14,5,59,59],[1918,4,14,1,59,59],
+          '1884010103:48:28','1883123123:48:28','1918041405:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,6,0,0],[1918,4,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1918,10,27,4,59,59],[1918,10,27,1,59,59],
+          '1918041406:00:00','1918041403:00:00','1918102704:59:59','1918102701:59:59' ],
+        [ [1918,10,27,5,0,0],[1918,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,2,9,5,59,59],[1942,2,9,1,59,59],
+          '1918102705:00:00','1918102701:00:00','1942020905:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,6,0,0],[1942,2,9,3,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942020906:00:00','1942020903:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1945093005:00:00','1945093001:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amboa_00.pm b/lib/Date/Manip/TZ/amboa_00.pm
new file mode 100644
index 0000000..4cf63d3
--- /dev/null
+++ b/lib/Date/Manip/TZ/amboa_00.pm
@@ -0,0 +1,205 @@
+package #
+Date::Manip::TZ::amboa_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,57,20],'-04:02:40',[-4,-2,-40],
+          'LMT',0,[1914,1,1,4,2,39],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010119:57:20','1914010104:02:39','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,4,2,40],[1914,1,1,0,2,40],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010104:02:40','1914010100:02:40','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,3,3,59,59],[1999,10,2,23,59,59],
+          '1988020703:00:00','1988020623:00:00','1999100303:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,4,0,0],[1999,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,2,27,2,59,59],[2000,2,26,23,59,59],
+          '1999100304:00:00','1999100301:00:00','2000022702:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,3,0,0],[2000,2,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,8,3,59,59],[2000,10,7,23,59,59],
+          '2000022703:00:00','2000022623:00:00','2000100803:59:59','2000100723:59:59' ],
+        [ [2000,10,8,4,0,0],[2000,10,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,10,15,2,59,59],[2000,10,14,23,59,59],
+          '2000100804:00:00','2000100801:00:00','2000101502:59:59','2000101423:59:59' ],
+        [ [2000,10,15,3,0,0],[2000,10,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '2000101503:00:00','2000101423:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambogo00.pm b/lib/Date/Manip/TZ/ambogo00.pm
new file mode 100644
index 0000000..1927799
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambogo00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::ambogo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,3,44],'-04:56:16',[-4,-56,-16],
+          'LMT',0,[1884,3,13,4,56,15],[1884,3,12,23,59,59],
+          '0001010200:00:00','0001010119:03:44','1884031304:56:15','1884031223:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,3,13,4,56,16],[1884,3,13,0,0,0],'-04:56:16',[-4,-56,-16],
+          'BMT',0,[1914,11,23,4,56,15],[1914,11,22,23,59,59],
+          '1884031304:56:16','1884031300:00:00','1914112304:56:15','1914112223:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,11,23,4,56,16],[1914,11,22,23,56,16],'-05:00:00',[-5,0,0],
+          '-05',0,[1992,5,3,4,59,59],[1992,5,2,23,59,59],
+          '1914112304:56:16','1914112223:56:16','1992050304:59:59','1992050223:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,5,3,5,0,0],[1992,5,3,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1993,4,4,3,59,59],[1993,4,3,23,59,59],
+          '1992050305:00:00','1992050301:00:00','1993040403:59:59','1993040323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,4,0,0],[1993,4,3,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1993040404:00:00','1993040323:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambois00.pm b/lib/Date/Manip/TZ/ambois00.pm
new file mode 100644
index 0000000..7c9c095
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambois00.pm
@@ -0,0 +1,1021 @@
+package #
+Date::Manip::TZ::ambois00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,15,11],'-07:44:49',[-7,-44,-49],
+          'LMT',0,[1883,11,18,19,59,59],[1883,11,18,12,15,10],
+          '0001010200:00:00','0001010116:15:11','1883111819:59:59','1883111812:15:10' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,20,0,0],[1883,11,18,12,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,3,31,9,59,59],[1918,3,31,1,59,59],
+          '1883111820:00:00','1883111812:00:00','1918033109:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,10,0,0],[1918,3,31,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1918,10,27,8,59,59],[1918,10,27,1,59,59],
+          '1918033110:00:00','1918033103:00:00','1918102708:59:59','1918102701:59:59' ],
+        [ [1918,10,27,9,0,0],[1918,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1919,3,30,9,59,59],[1919,3,30,1,59,59],
+          '1918102709:00:00','1918102701:00:00','1919033009:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,10,0,0],[1919,3,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1919,10,26,8,59,59],[1919,10,26,1,59,59],
+          '1919033010:00:00','1919033003:00:00','1919102608:59:59','1919102601:59:59' ],
+        [ [1919,10,26,9,0,0],[1919,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1923,5,13,9,59,59],[1923,5,13,1,59,59],
+          '1919102609:00:00','1919102601:00:00','1923051309:59:59','1923051301:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,13,10,0,0],[1923,5,13,3,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1923051310:00:00','1923051303:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1968,4,28,8,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1968042808:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,9,0,0],[1968,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1968,10,27,7,59,59],[1968,10,27,1,59,59],
+          '1968042809:00:00','1968042803:00:00','1968102707:59:59','1968102701:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102701:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1970,4,26,8,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1970042608:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,9,0,0],[1970,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1970,10,25,7,59,59],[1970,10,25,1,59,59],
+          '1970042609:00:00','1970042603:00:00','1970102507:59:59','1970102501:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1971,4,25,8,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102501:00:00','1971042508:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,9,0,0],[1971,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1971,10,31,7,59,59],[1971,10,31,1,59,59],
+          '1971042509:00:00','1971042503:00:00','1971103107:59:59','1971103101:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103101:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,2,3,8,59,59],[1974,2,3,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974020308:59:59','1974020301:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,2,3,9,0,0],[1974,2,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974020309:00:00','1974020303:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,2,23,8,59,59],[1975,2,23,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975022308:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,9,0,0],[1975,2,23,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975022309:00:00','1975022303:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ambuen00.pm b/lib/Date/Manip/TZ/ambuen00.pm
new file mode 100644
index 0000000..3ddb7a4
--- /dev/null
+++ b/lib/Date/Manip/TZ/ambuen00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::ambuen00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,6,12],'-03:53:48',[-3,-53,-48],
+          'LMT',0,[1894,10,31,3,53,47],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010120:06:12','1894103103:53:47','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,3,53,48],[1894,10,30,23,37,0],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103103:53:48','1894103023:37:00','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030223:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,10,19,2,59,59],[2008,10,18,23,59,59],
+          '2008031602:00:00','2008031523:00:00','2008101902:59:59','2008101823:59:59' ],
+        [ [2008,10,19,3,0,0],[2008,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,3,15,1,59,59],[2009,3,14,23,59,59],
+          '2008101903:00:00','2008101901:00:00','2009031501:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,2,0,0],[2009,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2009031502:00:00','2009031423:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcamb00.pm b/lib/Date/Manip/TZ/amcamb00.pm
new file mode 100644
index 0000000..6300c26
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcamb00.pm
@@ -0,0 +1,892 @@
+package #
+Date::Manip::TZ::amcamb00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1919,12,31,23,59,59],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1919123123:59:59','1919123123:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,1,1,0,0,0],[1919,12,31,17,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1920010100:00:00','1919123117:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1965,4,25,6,59,59],[1965,4,24,23,59,59],
+          '1945093008:00:00','1945093001:00:00','1965042506:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,7,0,0],[1965,4,25,2,0,0],'-05:00:00',[-5,0,0],
+          'MDDT',1,[1965,10,31,6,59,59],[1965,10,31,1,59,59],
+          '1965042507:00:00','1965042502:00:00','1965103106:59:59','1965103101:59:59' ],
+        [ [1965,10,31,7,0,0],[1965,10,31,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1965103107:00:00','1965103100:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103102:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,11,5,4,59,59],[2000,11,4,23,59,59],
+          '2000102907:00:00','2000102902:00:00','2000110504:59:59','2000110423:59:59' ],
+        [ [2000,11,5,5,0,0],[2000,11,4,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,8,59,59],[2001,4,1,2,59,59],
+          '2000110505:00:00','2000110423:00:00','2001040108:59:59','2001040102:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcamp00.pm b/lib/Date/Manip/TZ/amcamp00.pm
new file mode 100644
index 0000000..edc0867
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcamp00.pm
@@ -0,0 +1,925 @@
+package #
+Date::Manip::TZ::amcamp00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,21,32],'-03:38:28',[-3,-38,-28],
+          'LMT',0,[1914,1,1,3,38,27],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:21:32','1914010103:38:27','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,38,28],[1913,12,31,23,38,28],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010103:38:28','1913123123:38:28','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,16,3,59,59],[1988,10,15,23,59,59],
+          '1988020703:00:00','1988020623:00:00','1988101603:59:59','1988101523:59:59' ],
+        [ [1988,10,16,4,0,0],[1988,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,1,29,2,59,59],[1989,1,28,23,59,59],
+          '1988101604:00:00','1988101601:00:00','1989012902:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,3,0,0],[1989,1,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,15,3,59,59],[1989,10,14,23,59,59],
+          '1989012903:00:00','1989012823:00:00','1989101503:59:59','1989101423:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,2,11,2,59,59],[1990,2,10,23,59,59],
+          '1989101504:00:00','1989101501:00:00','1990021102:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,3,0,0],[1990,2,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,21,3,59,59],[1990,10,20,23,59,59],
+          '1990021103:00:00','1990021023:00:00','1990102103:59:59','1990102023:59:59' ],
+        [ [1990,10,21,4,0,0],[1990,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,2,17,2,59,59],[1991,2,16,23,59,59],
+          '1990102104:00:00','1990102101:00:00','1991021702:59:59','1991021623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,2,17,3,0,0],[1991,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991021703:00:00','1991021623:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,2,9,2,59,59],[1992,2,8,23,59,59],
+          '1991102004:00:00','1991102001:00:00','1992020902:59:59','1992020823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,9,3,0,0],[1992,2,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,25,3,59,59],[1992,10,24,23,59,59],
+          '1992020903:00:00','1992020823:00:00','1992102503:59:59','1992102423:59:59' ],
+        [ [1992,10,25,4,0,0],[1992,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,1,31,2,59,59],[1993,1,30,23,59,59],
+          '1992102504:00:00','1992102501:00:00','1993013102:59:59','1993013023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,31,3,0,0],[1993,1,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,17,3,59,59],[1993,10,16,23,59,59],
+          '1993013103:00:00','1993013023:00:00','1993101703:59:59','1993101623:59:59' ],
+        [ [1993,10,17,4,0,0],[1993,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,2,20,2,59,59],[1994,2,19,23,59,59],
+          '1993101704:00:00','1993101701:00:00','1994022002:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,3,0,0],[1994,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,16,3,59,59],[1994,10,15,23,59,59],
+          '1994022003:00:00','1994021923:00:00','1994101603:59:59','1994101523:59:59' ],
+        [ [1994,10,16,4,0,0],[1994,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,2,19,2,59,59],[1995,2,18,23,59,59],
+          '1994101604:00:00','1994101601:00:00','1995021902:59:59','1995021823:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,2,19,3,0,0],[1995,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,15,3,59,59],[1995,10,14,23,59,59],
+          '1995021903:00:00','1995021823:00:00','1995101503:59:59','1995101423:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,2,11,2,59,59],[1996,2,10,23,59,59],
+          '1995101504:00:00','1995101501:00:00','1996021102:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,3,0,0],[1996,2,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,6,3,59,59],[1996,10,5,23,59,59],
+          '1996021103:00:00','1996021023:00:00','1996100603:59:59','1996100523:59:59' ],
+        [ [1996,10,6,4,0,0],[1996,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,2,16,2,59,59],[1997,2,15,23,59,59],
+          '1996100604:00:00','1996100601:00:00','1997021602:59:59','1997021523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,16,3,0,0],[1997,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,6,3,59,59],[1997,10,5,23,59,59],
+          '1997021603:00:00','1997021523:00:00','1997100603:59:59','1997100523:59:59' ],
+        [ [1997,10,6,4,0,0],[1997,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,1,2,59,59],[1998,2,28,23,59,59],
+          '1997100604:00:00','1997100601:00:00','1998030102:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,3,0,0],[1998,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,10,11,3,59,59],[1998,10,10,23,59,59],
+          '1998030103:00:00','1998022823:00:00','1998101103:59:59','1998101023:59:59' ],
+        [ [1998,10,11,4,0,0],[1998,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,2,21,2,59,59],[1999,2,20,23,59,59],
+          '1998101104:00:00','1998101101:00:00','1999022102:59:59','1999022023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,21,3,0,0],[1999,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,3,3,59,59],[1999,10,2,23,59,59],
+          '1999022103:00:00','1999022023:00:00','1999100303:59:59','1999100223:59:59' ],
+        [ [1999,10,3,4,0,0],[1999,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,2,27,2,59,59],[2000,2,26,23,59,59],
+          '1999100304:00:00','1999100301:00:00','2000022702:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,3,0,0],[2000,2,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,8,3,59,59],[2000,10,7,23,59,59],
+          '2000022703:00:00','2000022623:00:00','2000100803:59:59','2000100723:59:59' ],
+        [ [2000,10,8,4,0,0],[2000,10,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,2,18,2,59,59],[2001,2,17,23,59,59],
+          '2000100804:00:00','2000100801:00:00','2001021802:59:59','2001021723:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,2,18,3,0,0],[2001,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,14,3,59,59],[2001,10,13,23,59,59],
+          '2001021803:00:00','2001021723:00:00','2001101403:59:59','2001101323:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,2,17,2,59,59],[2002,2,16,23,59,59],
+          '2001101404:00:00','2001101401:00:00','2002021702:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,3,0,0],[2002,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,11,3,3,59,59],[2002,11,2,23,59,59],
+          '2002021703:00:00','2002021623:00:00','2002110303:59:59','2002110223:59:59' ],
+        [ [2002,11,3,4,0,0],[2002,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,2,16,2,59,59],[2003,2,15,23,59,59],
+          '2002110304:00:00','2002110301:00:00','2003021602:59:59','2003021523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,2,16,3,0,0],[2003,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,10,19,3,59,59],[2003,10,18,23,59,59],
+          '2003021603:00:00','2003021523:00:00','2003101903:59:59','2003101823:59:59' ],
+        [ [2003,10,19,4,0,0],[2003,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,2,15,2,59,59],[2004,2,14,23,59,59],
+          '2003101904:00:00','2003101901:00:00','2004021502:59:59','2004021423:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,2,15,3,0,0],[2004,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,11,2,3,59,59],[2004,11,1,23,59,59],
+          '2004021503:00:00','2004021423:00:00','2004110203:59:59','2004110123:59:59' ],
+        [ [2004,11,2,4,0,0],[2004,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,2,20,2,59,59],[2005,2,19,23,59,59],
+          '2004110204:00:00','2004110201:00:00','2005022002:59:59','2005021923:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,2,20,3,0,0],[2005,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,16,3,59,59],[2005,10,15,23,59,59],
+          '2005022003:00:00','2005021923:00:00','2005101603:59:59','2005101523:59:59' ],
+        [ [2005,10,16,4,0,0],[2005,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,2,19,2,59,59],[2006,2,18,23,59,59],
+          '2005101604:00:00','2005101601:00:00','2006021902:59:59','2006021823:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,2,19,3,0,0],[2006,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,11,5,3,59,59],[2006,11,4,23,59,59],
+          '2006021903:00:00','2006021823:00:00','2006110503:59:59','2006110423:59:59' ],
+        [ [2006,11,5,4,0,0],[2006,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,2,25,2,59,59],[2007,2,24,23,59,59],
+          '2006110504:00:00','2006110501:00:00','2007022502:59:59','2007022423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,2,25,3,0,0],[2007,2,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,14,3,59,59],[2007,10,13,23,59,59],
+          '2007022503:00:00','2007022423:00:00','2007101403:59:59','2007101323:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,2,17,2,59,59],[2008,2,16,23,59,59],
+          '2007101404:00:00','2007101401:00:00','2008021702:59:59','2008021623:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,2,17,3,0,0],[2008,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,19,3,59,59],[2008,10,18,23,59,59],
+          '2008021703:00:00','2008021623:00:00','2008101903:59:59','2008101823:59:59' ],
+        [ [2008,10,19,4,0,0],[2008,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,2,15,2,59,59],[2009,2,14,23,59,59],
+          '2008101904:00:00','2008101901:00:00','2009021502:59:59','2009021423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,2,15,3,0,0],[2009,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,18,3,59,59],[2009,10,17,23,59,59],
+          '2009021503:00:00','2009021423:00:00','2009101803:59:59','2009101723:59:59' ],
+        [ [2009,10,18,4,0,0],[2009,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,2,21,2,59,59],[2010,2,20,23,59,59],
+          '2009101804:00:00','2009101801:00:00','2010022102:59:59','2010022023:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,2,21,3,0,0],[2010,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,17,3,59,59],[2010,10,16,23,59,59],
+          '2010022103:00:00','2010022023:00:00','2010101703:59:59','2010101623:59:59' ],
+        [ [2010,10,17,4,0,0],[2010,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,2,20,2,59,59],[2011,2,19,23,59,59],
+          '2010101704:00:00','2010101701:00:00','2011022002:59:59','2011021923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,2,20,3,0,0],[2011,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,10,16,3,59,59],[2011,10,15,23,59,59],
+          '2011022003:00:00','2011021923:00:00','2011101603:59:59','2011101523:59:59' ],
+        [ [2011,10,16,4,0,0],[2011,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,2,26,2,59,59],[2012,2,25,23,59,59],
+          '2011101604:00:00','2011101601:00:00','2012022602:59:59','2012022523:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,26,3,0,0],[2012,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,10,21,3,59,59],[2012,10,20,23,59,59],
+          '2012022603:00:00','2012022523:00:00','2012102103:59:59','2012102023:59:59' ],
+        [ [2012,10,21,4,0,0],[2012,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,2,17,2,59,59],[2013,2,16,23,59,59],
+          '2012102104:00:00','2012102101:00:00','2013021702:59:59','2013021623:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,2,17,3,0,0],[2013,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,10,20,3,59,59],[2013,10,19,23,59,59],
+          '2013021703:00:00','2013021623:00:00','2013102003:59:59','2013101923:59:59' ],
+        [ [2013,10,20,4,0,0],[2013,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,2,16,2,59,59],[2014,2,15,23,59,59],
+          '2013102004:00:00','2013102001:00:00','2014021602:59:59','2014021523:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,2,16,3,0,0],[2014,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,10,19,3,59,59],[2014,10,18,23,59,59],
+          '2014021603:00:00','2014021523:00:00','2014101903:59:59','2014101823:59:59' ],
+        [ [2014,10,19,4,0,0],[2014,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2015,2,22,2,59,59],[2015,2,21,23,59,59],
+          '2014101904:00:00','2014101901:00:00','2015022202:59:59','2015022123:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,2,22,3,0,0],[2015,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2015,10,18,3,59,59],[2015,10,17,23,59,59],
+          '2015022203:00:00','2015022123:00:00','2015101803:59:59','2015101723:59:59' ],
+        [ [2015,10,18,4,0,0],[2015,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,2,21,2,59,59],[2016,2,20,23,59,59],
+          '2015101804:00:00','2015101801:00:00','2016022102:59:59','2016022023:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,2,21,3,0,0],[2016,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,10,16,3,59,59],[2016,10,15,23,59,59],
+          '2016022103:00:00','2016022023:00:00','2016101603:59:59','2016101523:59:59' ],
+        [ [2016,10,16,4,0,0],[2016,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2017,2,19,2,59,59],[2017,2,18,23,59,59],
+          '2016101604:00:00','2016101601:00:00','2017021902:59:59','2017021823:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,2,19,3,0,0],[2017,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2017,10,15,3,59,59],[2017,10,14,23,59,59],
+          '2017021903:00:00','2017021823:00:00','2017101503:59:59','2017101423:59:59' ],
+        [ [2017,10,15,4,0,0],[2017,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2018,2,18,2,59,59],[2018,2,17,23,59,59],
+          '2017101504:00:00','2017101501:00:00','2018021802:59:59','2018021723:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,2,18,3,0,0],[2018,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2018,10,21,3,59,59],[2018,10,20,23,59,59],
+          '2018021803:00:00','2018021723:00:00','2018102103:59:59','2018102023:59:59' ],
+        [ [2018,10,21,4,0,0],[2018,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2019,2,17,2,59,59],[2019,2,16,23,59,59],
+          '2018102104:00:00','2018102101:00:00','2019021702:59:59','2019021623:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,2,17,3,0,0],[2019,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2019,10,20,3,59,59],[2019,10,19,23,59,59],
+          '2019021703:00:00','2019021623:00:00','2019102003:59:59','2019101923:59:59' ],
+        [ [2019,10,20,4,0,0],[2019,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2020,2,16,2,59,59],[2020,2,15,23,59,59],
+          '2019102004:00:00','2019102001:00:00','2020021602:59:59','2020021523:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,2,16,3,0,0],[2020,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2020,10,18,3,59,59],[2020,10,17,23,59,59],
+          '2020021603:00:00','2020021523:00:00','2020101803:59:59','2020101723:59:59' ],
+        [ [2020,10,18,4,0,0],[2020,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2021,2,21,2,59,59],[2021,2,20,23,59,59],
+          '2020101804:00:00','2020101801:00:00','2021022102:59:59','2021022023:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,2,21,3,0,0],[2021,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2021,10,17,3,59,59],[2021,10,16,23,59,59],
+          '2021022103:00:00','2021022023:00:00','2021101703:59:59','2021101623:59:59' ],
+        [ [2021,10,17,4,0,0],[2021,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2022,2,20,2,59,59],[2022,2,19,23,59,59],
+          '2021101704:00:00','2021101701:00:00','2022022002:59:59','2022021923:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,2,20,3,0,0],[2022,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2022,10,16,3,59,59],[2022,10,15,23,59,59],
+          '2022022003:00:00','2022021923:00:00','2022101603:59:59','2022101523:59:59' ],
+        [ [2022,10,16,4,0,0],[2022,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2023,2,26,2,59,59],[2023,2,25,23,59,59],
+          '2022101604:00:00','2022101601:00:00','2023022602:59:59','2023022523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,2,26,3,0,0],[2023,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2023,10,15,3,59,59],[2023,10,14,23,59,59],
+          '2023022603:00:00','2023022523:00:00','2023101503:59:59','2023101423:59:59' ],
+        [ [2023,10,15,4,0,0],[2023,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2024,2,18,2,59,59],[2024,2,17,23,59,59],
+          '2023101504:00:00','2023101501:00:00','2024021802:59:59','2024021723:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,2,18,3,0,0],[2024,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2024,10,20,3,59,59],[2024,10,19,23,59,59],
+          '2024021803:00:00','2024021723:00:00','2024102003:59:59','2024101923:59:59' ],
+        [ [2024,10,20,4,0,0],[2024,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2025,2,16,2,59,59],[2025,2,15,23,59,59],
+          '2024102004:00:00','2024102001:00:00','2025021602:59:59','2025021523:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,2,16,3,0,0],[2025,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2025,10,19,3,59,59],[2025,10,18,23,59,59],
+          '2025021603:00:00','2025021523:00:00','2025101903:59:59','2025101823:59:59' ],
+        [ [2025,10,19,4,0,0],[2025,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2026,2,22,2,59,59],[2026,2,21,23,59,59],
+          '2025101904:00:00','2025101901:00:00','2026022202:59:59','2026022123:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,2,22,3,0,0],[2026,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2026,10,18,3,59,59],[2026,10,17,23,59,59],
+          '2026022203:00:00','2026022123:00:00','2026101803:59:59','2026101723:59:59' ],
+        [ [2026,10,18,4,0,0],[2026,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2027,2,21,2,59,59],[2027,2,20,23,59,59],
+          '2026101804:00:00','2026101801:00:00','2027022102:59:59','2027022023:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,2,21,3,0,0],[2027,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2027,10,17,3,59,59],[2027,10,16,23,59,59],
+          '2027022103:00:00','2027022023:00:00','2027101703:59:59','2027101623:59:59' ],
+        [ [2027,10,17,4,0,0],[2027,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2028,2,20,2,59,59],[2028,2,19,23,59,59],
+          '2027101704:00:00','2027101701:00:00','2028022002:59:59','2028021923:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,2,20,3,0,0],[2028,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2028,10,15,3,59,59],[2028,10,14,23,59,59],
+          '2028022003:00:00','2028021923:00:00','2028101503:59:59','2028101423:59:59' ],
+        [ [2028,10,15,4,0,0],[2028,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2029,2,18,2,59,59],[2029,2,17,23,59,59],
+          '2028101504:00:00','2028101501:00:00','2029021802:59:59','2029021723:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,2,18,3,0,0],[2029,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2029,10,21,3,59,59],[2029,10,20,23,59,59],
+          '2029021803:00:00','2029021723:00:00','2029102103:59:59','2029102023:59:59' ],
+        [ [2029,10,21,4,0,0],[2029,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2030,2,17,2,59,59],[2030,2,16,23,59,59],
+          '2029102104:00:00','2029102101:00:00','2030021702:59:59','2030021623:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,2,17,3,0,0],[2030,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2030,10,20,3,59,59],[2030,10,19,23,59,59],
+          '2030021703:00:00','2030021623:00:00','2030102003:59:59','2030101923:59:59' ],
+        [ [2030,10,20,4,0,0],[2030,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2031,2,16,2,59,59],[2031,2,15,23,59,59],
+          '2030102004:00:00','2030102001:00:00','2031021602:59:59','2031021523:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,2,16,3,0,0],[2031,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2031,10,19,3,59,59],[2031,10,18,23,59,59],
+          '2031021603:00:00','2031021523:00:00','2031101903:59:59','2031101823:59:59' ],
+        [ [2031,10,19,4,0,0],[2031,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2032,2,15,2,59,59],[2032,2,14,23,59,59],
+          '2031101904:00:00','2031101901:00:00','2032021502:59:59','2032021423:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,2,15,3,0,0],[2032,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2032,10,17,3,59,59],[2032,10,16,23,59,59],
+          '2032021503:00:00','2032021423:00:00','2032101703:59:59','2032101623:59:59' ],
+        [ [2032,10,17,4,0,0],[2032,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2033,2,20,2,59,59],[2033,2,19,23,59,59],
+          '2032101704:00:00','2032101701:00:00','2033022002:59:59','2033021923:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,2,20,3,0,0],[2033,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2033,10,16,3,59,59],[2033,10,15,23,59,59],
+          '2033022003:00:00','2033021923:00:00','2033101603:59:59','2033101523:59:59' ],
+        [ [2033,10,16,4,0,0],[2033,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2034,2,26,2,59,59],[2034,2,25,23,59,59],
+          '2033101604:00:00','2033101601:00:00','2034022602:59:59','2034022523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,2,26,3,0,0],[2034,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2034,10,15,3,59,59],[2034,10,14,23,59,59],
+          '2034022603:00:00','2034022523:00:00','2034101503:59:59','2034101423:59:59' ],
+        [ [2034,10,15,4,0,0],[2034,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2035,2,18,2,59,59],[2035,2,17,23,59,59],
+          '2034101504:00:00','2034101501:00:00','2035021802:59:59','2035021723:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,2,18,3,0,0],[2035,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2035,10,21,3,59,59],[2035,10,20,23,59,59],
+          '2035021803:00:00','2035021723:00:00','2035102103:59:59','2035102023:59:59' ],
+        [ [2035,10,21,4,0,0],[2035,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2036,2,17,2,59,59],[2036,2,16,23,59,59],
+          '2035102104:00:00','2035102101:00:00','2036021702:59:59','2036021623:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,2,17,3,0,0],[2036,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2036,10,19,3,59,59],[2036,10,18,23,59,59],
+          '2036021703:00:00','2036021623:00:00','2036101903:59:59','2036101823:59:59' ],
+        [ [2036,10,19,4,0,0],[2036,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2037,2,22,2,59,59],[2037,2,21,23,59,59],
+          '2036101904:00:00','2036101901:00:00','2037022202:59:59','2037022123:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,2,22,3,0,0],[2037,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2037,10,18,3,59,59],[2037,10,17,23,59,59],
+          '2037022203:00:00','2037022123:00:00','2037101803:59:59','2037101723:59:59' ],
+        [ [2037,10,18,4,0,0],[2037,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2038,2,21,2,59,59],[2038,2,20,23,59,59],
+          '2037101804:00:00','2037101801:00:00','2038022102:59:59','2038022023:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,2,21,3,0,0],[2038,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2038,10,17,3,59,59],[2038,10,16,23,59,59],
+          '2038022103:00:00','2038022023:00:00','2038101703:59:59','2038101623:59:59' ],
+        [ [2038,10,17,4,0,0],[2038,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2039,2,20,2,59,59],[2039,2,19,23,59,59],
+          '2038101704:00:00','2038101701:00:00','2039022002:59:59','2039021923:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,2,20,3,0,0],[2039,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2039,10,16,3,59,59],[2039,10,15,23,59,59],
+          '2039022003:00:00','2039021923:00:00','2039101603:59:59','2039101523:59:59' ],
+        [ [2039,10,16,4,0,0],[2039,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2040,2,19,2,59,59],[2040,2,18,23,59,59],
+          '2039101604:00:00','2039101601:00:00','2040021902:59:59','2040021823:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,2,19,3,0,0],[2040,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2040,10,21,3,59,59],[2040,10,20,23,59,59],
+          '2040021903:00:00','2040021823:00:00','2040102103:59:59','2040102023:59:59' ],
+        [ [2040,10,21,4,0,0],[2040,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2041,2,17,2,59,59],[2041,2,16,23,59,59],
+          '2040102104:00:00','2040102101:00:00','2041021702:59:59','2041021623:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,2,17,3,0,0],[2041,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2041,10,20,3,59,59],[2041,10,19,23,59,59],
+          '2041021703:00:00','2041021623:00:00','2041102003:59:59','2041101923:59:59' ],
+        [ [2041,10,20,4,0,0],[2041,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2042,2,16,2,59,59],[2042,2,15,23,59,59],
+          '2041102004:00:00','2041102001:00:00','2042021602:59:59','2042021523:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,2,16,3,0,0],[2042,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2042,10,19,3,59,59],[2042,10,18,23,59,59],
+          '2042021603:00:00','2042021523:00:00','2042101903:59:59','2042101823:59:59' ],
+        [ [2042,10,19,4,0,0],[2042,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2043,2,15,2,59,59],[2043,2,14,23,59,59],
+          '2042101904:00:00','2042101901:00:00','2043021502:59:59','2043021423:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,2,15,3,0,0],[2043,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2043,10,18,3,59,59],[2043,10,17,23,59,59],
+          '2043021503:00:00','2043021423:00:00','2043101803:59:59','2043101723:59:59' ],
+        [ [2043,10,18,4,0,0],[2043,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2044,2,21,2,59,59],[2044,2,20,23,59,59],
+          '2043101804:00:00','2043101801:00:00','2044022102:59:59','2044022023:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,2,21,3,0,0],[2044,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2044,10,16,3,59,59],[2044,10,15,23,59,59],
+          '2044022103:00:00','2044022023:00:00','2044101603:59:59','2044101523:59:59' ],
+        [ [2044,10,16,4,0,0],[2044,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2045,2,19,2,59,59],[2045,2,18,23,59,59],
+          '2044101604:00:00','2044101601:00:00','2045021902:59:59','2045021823:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,2,19,3,0,0],[2045,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2045,10,15,3,59,59],[2045,10,14,23,59,59],
+          '2045021903:00:00','2045021823:00:00','2045101503:59:59','2045101423:59:59' ],
+        [ [2045,10,15,4,0,0],[2045,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2046,2,18,2,59,59],[2046,2,17,23,59,59],
+          '2045101504:00:00','2045101501:00:00','2046021802:59:59','2046021723:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,2,18,3,0,0],[2046,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2046,10,21,3,59,59],[2046,10,20,23,59,59],
+          '2046021803:00:00','2046021723:00:00','2046102103:59:59','2046102023:59:59' ],
+        [ [2046,10,21,4,0,0],[2046,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2047,2,17,2,59,59],[2047,2,16,23,59,59],
+          '2046102104:00:00','2046102101:00:00','2047021702:59:59','2047021623:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,2,17,3,0,0],[2047,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2047,10,20,3,59,59],[2047,10,19,23,59,59],
+          '2047021703:00:00','2047021623:00:00','2047102003:59:59','2047101923:59:59' ],
+        [ [2047,10,20,4,0,0],[2047,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2048,2,16,2,59,59],[2048,2,15,23,59,59],
+          '2047102004:00:00','2047102001:00:00','2048021602:59:59','2048021523:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,2,16,3,0,0],[2048,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2048,10,18,3,59,59],[2048,10,17,23,59,59],
+          '2048021603:00:00','2048021523:00:00','2048101803:59:59','2048101723:59:59' ],
+        [ [2048,10,18,4,0,0],[2048,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2049,2,21,2,59,59],[2049,2,20,23,59,59],
+          '2048101804:00:00','2048101801:00:00','2049022102:59:59','2049022023:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,2,21,3,0,0],[2049,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2049,10,17,3,59,59],[2049,10,16,23,59,59],
+          '2049022103:00:00','2049022023:00:00','2049101703:59:59','2049101623:59:59' ],
+        [ [2049,10,17,4,0,0],[2049,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2050,2,20,2,59,59],[2050,2,19,23,59,59],
+          '2049101704:00:00','2049101701:00:00','2050022002:59:59','2050021923:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,2,20,3,0,0],[2050,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2050,10,16,3,59,59],[2050,10,15,23,59,59],
+          '2050022003:00:00','2050021923:00:00','2050101603:59:59','2050101523:59:59' ],
+        [ [2050,10,16,4,0,0],[2050,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2051,2,19,2,59,59],[2051,2,18,23,59,59],
+          '2050101604:00:00','2050101601:00:00','2051021902:59:59','2051021823:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,2,19,3,0,0],[2051,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2051,10,15,3,59,59],[2051,10,14,23,59,59],
+          '2051021903:00:00','2051021823:00:00','2051101503:59:59','2051101423:59:59' ],
+        [ [2051,10,15,4,0,0],[2051,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2052,2,18,2,59,59],[2052,2,17,23,59,59],
+          '2051101504:00:00','2051101501:00:00','2052021802:59:59','2052021723:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,2,18,3,0,0],[2052,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2052,10,20,3,59,59],[2052,10,19,23,59,59],
+          '2052021803:00:00','2052021723:00:00','2052102003:59:59','2052101923:59:59' ],
+        [ [2052,10,20,4,0,0],[2052,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2053,2,16,2,59,59],[2053,2,15,23,59,59],
+          '2052102004:00:00','2052102001:00:00','2053021602:59:59','2053021523:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,2,16,3,0,0],[2053,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2053,10,19,3,59,59],[2053,10,18,23,59,59],
+          '2053021603:00:00','2053021523:00:00','2053101903:59:59','2053101823:59:59' ],
+        [ [2053,10,19,4,0,0],[2053,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2054,2,15,2,59,59],[2054,2,14,23,59,59],
+          '2053101904:00:00','2053101901:00:00','2054021502:59:59','2054021423:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,2,15,3,0,0],[2054,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2054,10,18,3,59,59],[2054,10,17,23,59,59],
+          '2054021503:00:00','2054021423:00:00','2054101803:59:59','2054101723:59:59' ],
+        [ [2054,10,18,4,0,0],[2054,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2055,2,21,2,59,59],[2055,2,20,23,59,59],
+          '2054101804:00:00','2054101801:00:00','2055022102:59:59','2055022023:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,2,21,3,0,0],[2055,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2055,10,17,3,59,59],[2055,10,16,23,59,59],
+          '2055022103:00:00','2055022023:00:00','2055101703:59:59','2055101623:59:59' ],
+        [ [2055,10,17,4,0,0],[2055,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2056,2,20,2,59,59],[2056,2,19,23,59,59],
+          '2055101704:00:00','2055101701:00:00','2056022002:59:59','2056021923:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,2,20,3,0,0],[2056,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2056,10,15,3,59,59],[2056,10,14,23,59,59],
+          '2056022003:00:00','2056021923:00:00','2056101503:59:59','2056101423:59:59' ],
+        [ [2056,10,15,4,0,0],[2056,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2057,2,18,2,59,59],[2057,2,17,23,59,59],
+          '2056101504:00:00','2056101501:00:00','2057021802:59:59','2057021723:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,2,18,3,0,0],[2057,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2057,10,21,3,59,59],[2057,10,20,23,59,59],
+          '2057021803:00:00','2057021723:00:00','2057102103:59:59','2057102023:59:59' ],
+        [ [2057,10,21,4,0,0],[2057,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2058,2,17,2,59,59],[2058,2,16,23,59,59],
+          '2057102104:00:00','2057102101:00:00','2058021702:59:59','2058021623:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,2,17,3,0,0],[2058,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2058,10,20,3,59,59],[2058,10,19,23,59,59],
+          '2058021703:00:00','2058021623:00:00','2058102003:59:59','2058101923:59:59' ],
+        [ [2058,10,20,4,0,0],[2058,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2059,2,16,2,59,59],[2059,2,15,23,59,59],
+          '2058102004:00:00','2058102001:00:00','2059021602:59:59','2059021523:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,2,16,3,0,0],[2059,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2059,10,19,3,59,59],[2059,10,18,23,59,59],
+          '2059021603:00:00','2059021523:00:00','2059101903:59:59','2059101823:59:59' ],
+        [ [2059,10,19,4,0,0],[2059,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2060,2,15,2,59,59],[2060,2,14,23,59,59],
+          '2059101904:00:00','2059101901:00:00','2060021502:59:59','2060021423:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,2,15,3,0,0],[2060,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2060,10,17,3,59,59],[2060,10,16,23,59,59],
+          '2060021503:00:00','2060021423:00:00','2060101703:59:59','2060101623:59:59' ],
+        [ [2060,10,17,4,0,0],[2060,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2061,2,20,2,59,59],[2061,2,19,23,59,59],
+          '2060101704:00:00','2060101701:00:00','2061022002:59:59','2061021923:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,2,20,3,0,0],[2061,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2061,10,16,3,59,59],[2061,10,15,23,59,59],
+          '2061022003:00:00','2061021923:00:00','2061101603:59:59','2061101523:59:59' ],
+        [ [2061,10,16,4,0,0],[2061,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2062,2,19,2,59,59],[2062,2,18,23,59,59],
+          '2061101604:00:00','2061101601:00:00','2062021902:59:59','2062021823:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,2,19,3,0,0],[2062,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2062,10,15,3,59,59],[2062,10,14,23,59,59],
+          '2062021903:00:00','2062021823:00:00','2062101503:59:59','2062101423:59:59' ],
+        [ [2062,10,15,4,0,0],[2062,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2063,2,18,2,59,59],[2063,2,17,23,59,59],
+          '2062101504:00:00','2062101501:00:00','2063021802:59:59','2063021723:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,2,18,3,0,0],[2063,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2063,10,21,3,59,59],[2063,10,20,23,59,59],
+          '2063021803:00:00','2063021723:00:00','2063102103:59:59','2063102023:59:59' ],
+        [ [2063,10,21,4,0,0],[2063,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2064,2,17,2,59,59],[2064,2,16,23,59,59],
+          '2063102104:00:00','2063102101:00:00','2064021702:59:59','2064021623:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,2,17,3,0,0],[2064,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2064,10,19,3,59,59],[2064,10,18,23,59,59],
+          '2064021703:00:00','2064021623:00:00','2064101903:59:59','2064101823:59:59' ],
+        [ [2064,10,19,4,0,0],[2064,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2065,2,15,2,59,59],[2065,2,14,23,59,59],
+          '2064101904:00:00','2064101901:00:00','2065021502:59:59','2065021423:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,2,15,3,0,0],[2065,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2065,10,18,3,59,59],[2065,10,17,23,59,59],
+          '2065021503:00:00','2065021423:00:00','2065101803:59:59','2065101723:59:59' ],
+        [ [2065,10,18,4,0,0],[2065,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2066,2,21,2,59,59],[2066,2,20,23,59,59],
+          '2065101804:00:00','2065101801:00:00','2066022102:59:59','2066022023:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,2,21,3,0,0],[2066,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2066,10,17,3,59,59],[2066,10,16,23,59,59],
+          '2066022103:00:00','2066022023:00:00','2066101703:59:59','2066101623:59:59' ],
+        [ [2066,10,17,4,0,0],[2066,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2067,2,20,2,59,59],[2067,2,19,23,59,59],
+          '2066101704:00:00','2066101701:00:00','2067022002:59:59','2067021923:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,2,20,3,0,0],[2067,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2067,10,16,3,59,59],[2067,10,15,23,59,59],
+          '2067022003:00:00','2067021923:00:00','2067101603:59:59','2067101523:59:59' ],
+        [ [2067,10,16,4,0,0],[2067,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2068,2,19,2,59,59],[2068,2,18,23,59,59],
+          '2067101604:00:00','2067101601:00:00','2068021902:59:59','2068021823:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '02' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-04',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcanc00.pm b/lib/Date/Manip/TZ/amcanc00.pm
new file mode 100644
index 0000000..0bb83a5
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcanc00.pm
@@ -0,0 +1,235 @@
+package #
+Date::Manip::TZ::amcanc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,12,56],'-05:47:04',[-5,-47,-4],
+          'LMT',0,[1922,1,1,5,59,59],[1922,1,1,0,12,55],
+          '0001010200:00:00','0001010118:12:56','1922010105:59:59','1922010100:12:55' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,6,0,0],[1922,1,1,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,12,23,5,59,59],[1981,12,22,23,59,59],
+          '1922010106:00:00','1922010100:00:00','1981122305:59:59','1981122223:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,12,23,6,0,0],[1981,12,23,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1981122306:00:00','1981122301:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,8,2,5,59,59],[1998,8,2,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998080205:59:59','1998080201:59:59' ],
+        [ [1998,8,2,6,0,0],[1998,8,2,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998080206:00:00','1998080201:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,5,6,7,59,59],[2001,5,6,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001050607:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,8,0,0],[2001,5,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,9,30,6,59,59],[2001,9,30,1,59,59],
+          '2001050608:00:00','2001050603:00:00','2001093006:59:59','2001093001:59:59' ],
+        [ [2001,9,30,7,0,0],[2001,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001093007:00:00','2001093001:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,4,1,7,59,59],[2007,4,1,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007040107:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,8,0,0],[2007,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,10,28,6,59,59],[2007,10,28,1,59,59],
+          '2007040108:00:00','2007040103:00:00','2007102806:59:59','2007102801:59:59' ],
+        [ [2007,10,28,7,0,0],[2007,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,4,6,7,59,59],[2008,4,6,1,59,59],
+          '2007102807:00:00','2007102801:00:00','2008040607:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,8,0,0],[2008,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,10,26,6,59,59],[2008,10,26,1,59,59],
+          '2008040608:00:00','2008040603:00:00','2008102606:59:59','2008102601:59:59' ],
+        [ [2008,10,26,7,0,0],[2008,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,4,5,7,59,59],[2009,4,5,1,59,59],
+          '2008102607:00:00','2008102601:00:00','2009040507:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,8,0,0],[2009,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,10,25,6,59,59],[2009,10,25,1,59,59],
+          '2009040508:00:00','2009040503:00:00','2009102506:59:59','2009102501:59:59' ],
+        [ [2009,10,25,7,0,0],[2009,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,4,4,7,59,59],[2010,4,4,1,59,59],
+          '2009102507:00:00','2009102501:00:00','2010040407:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,8,0,0],[2010,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,10,31,6,59,59],[2010,10,31,1,59,59],
+          '2010040408:00:00','2010040403:00:00','2010103106:59:59','2010103101:59:59' ],
+        [ [2010,10,31,7,0,0],[2010,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,4,3,7,59,59],[2011,4,3,1,59,59],
+          '2010103107:00:00','2010103101:00:00','2011040307:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,8,0,0],[2011,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,10,30,6,59,59],[2011,10,30,1,59,59],
+          '2011040308:00:00','2011040303:00:00','2011103006:59:59','2011103001:59:59' ],
+        [ [2011,10,30,7,0,0],[2011,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,4,1,7,59,59],[2012,4,1,1,59,59],
+          '2011103007:00:00','2011103001:00:00','2012040107:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,8,0,0],[2012,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,10,28,6,59,59],[2012,10,28,1,59,59],
+          '2012040108:00:00','2012040103:00:00','2012102806:59:59','2012102801:59:59' ],
+        [ [2012,10,28,7,0,0],[2012,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,4,7,7,59,59],[2013,4,7,1,59,59],
+          '2012102807:00:00','2012102801:00:00','2013040707:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,8,0,0],[2013,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,10,27,6,59,59],[2013,10,27,1,59,59],
+          '2013040708:00:00','2013040703:00:00','2013102706:59:59','2013102701:59:59' ],
+        [ [2013,10,27,7,0,0],[2013,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,4,6,7,59,59],[2014,4,6,1,59,59],
+          '2013102707:00:00','2013102701:00:00','2014040607:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,8,0,0],[2014,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,10,26,6,59,59],[2014,10,26,1,59,59],
+          '2014040608:00:00','2014040603:00:00','2014102606:59:59','2014102601:59:59' ],
+        [ [2014,10,26,7,0,0],[2014,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,2,1,7,59,59],[2015,2,1,1,59,59],
+          '2014102607:00:00','2014102601:00:00','2015020107:59:59','2015020101:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,2,1,8,0,0],[2015,2,1,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '2015020108:00:00','2015020103:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcara00.pm b/lib/Date/Manip/TZ/amcara00.pm
new file mode 100644
index 0000000..1e69107
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcara00.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::TZ::amcara00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,32,16],'-04:27:44',[-4,-27,-44],
+          'LMT',0,[1890,1,1,4,27,43],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:32:16','1890010104:27:43','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,27,44],[1890,1,1,0,0,4],'-04:27:40',[-4,-27,-40],
+          'CMT',0,[1912,2,12,4,27,39],[1912,2,11,23,59,59],
+          '1890010104:27:44','1890010100:00:04','1912021204:27:39','1912021123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,2,12,4,27,40],[1912,2,11,23,57,40],'-04:30:00',[-4,-30,0],
+          '-0430',0,[1965,1,1,4,29,59],[1964,12,31,23,59,59],
+          '1912021204:27:40','1912021123:57:40','1965010104:29:59','1964123123:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,1,4,30,0],[1965,1,1,0,30,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,12,9,6,59,59],[2007,12,9,2,59,59],
+          '1965010104:30:00','1965010100:30:00','2007120906:59:59','2007120902:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,9,7,0,0],[2007,12,9,2,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',0,[2016,5,1,6,59,59],[2016,5,1,2,29,59],
+          '2007120907:00:00','2007120902:30:00','2016050106:59:59','2016050102:29:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,1,7,0,0],[2016,5,1,3,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '2016050107:00:00','2016050103:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcata00.pm b/lib/Date/Manip/TZ/amcata00.pm
new file mode 100644
index 0000000..b0e50d6
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcata00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::amcata00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,36,52],'-04:23:08',[-4,-23,-8],
+          'LMT',0,[1894,10,31,4,23,7],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:36:52','1894103104:23:07','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,23,8],[1894,10,31,0,6,20],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:23:08','1894103100:06:20','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030222:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102004:00:00','1991102002:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,6,1,2,59,59],[2004,5,31,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004060102:59:59','2004053123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,6,1,3,0,0],[2004,5,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,6,20,3,59,59],[2004,6,19,23,59,59],
+          '2004060103:00:00','2004053123:00:00','2004062003:59:59','2004061923:59:59' ],
+        [ [2004,6,20,4,0,0],[2004,6,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004062004:00:00','2004062001:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcaye00.pm b/lib/Date/Manip/TZ/amcaye00.pm
new file mode 100644
index 0000000..dace005
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcaye00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::amcaye00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,30,40],'-03:29:20',[-3,-29,-20],
+          'LMT',0,[1911,7,1,3,29,19],[1911,6,30,23,59,59],
+          '0001010200:00:00','0001010120:30:40','1911070103:29:19','1911063023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,7,1,3,29,20],[1911,6,30,23,29,20],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1911070103:29:20','1911063023:29:20','1967100103:59:59','1967093023:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '1967100104:00:00','1967100101:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcent00.pm b/lib/Date/Manip/TZ/amcent00.pm
new file mode 100644
index 0000000..261147c
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcent00.pm
@@ -0,0 +1,1015 @@
+package #
+Date::Manip::TZ::amcent00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,14,48],'-06:45:12',[-6,-45,-12],
+          'LMT',0,[1883,11,18,18,59,59],[1883,11,18,12,14,47],
+          '0001010200:00:00','0001010117:14:48','1883111818:59:59','1883111812:14:47' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,19,0,0],[1883,11,18,12,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,3,31,8,59,59],[1918,3,31,1,59,59],
+          '1883111819:00:00','1883111812:00:00','1918033108:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,9,0,0],[1918,3,31,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918033109:00:00','1918033103:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,3,30,8,59,59],[1919,3,30,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919033008:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,9,0,0],[1919,3,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,10,26,7,59,59],[1919,10,26,1,59,59],
+          '1919033009:00:00','1919033003:00:00','1919102607:59:59','1919102601:59:59' ],
+        [ [1919,10,26,8,0,0],[1919,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1919102608:00:00','1919102601:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1968,4,28,8,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1968042808:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,9,0,0],[1968,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1968,10,27,7,59,59],[1968,10,27,1,59,59],
+          '1968042809:00:00','1968042803:00:00','1968102707:59:59','1968102701:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102701:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1970,4,26,8,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1970042608:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,9,0,0],[1970,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1970,10,25,7,59,59],[1970,10,25,1,59,59],
+          '1970042609:00:00','1970042603:00:00','1970102507:59:59','1970102501:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1971,4,25,8,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102501:00:00','1971042508:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,9,0,0],[1971,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1971,10,31,7,59,59],[1971,10,31,1,59,59],
+          '1971042509:00:00','1971042503:00:00','1971103107:59:59','1971103101:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103101:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,1,6,8,59,59],[1974,1,6,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974010608:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,9,0,0],[1974,1,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974010609:00:00','1974010603:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,2,23,8,59,59],[1975,2,23,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975022308:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,9,0,0],[1975,2,23,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975022309:00:00','1975022303:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102502:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,7,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001040107:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amchic00.pm b/lib/Date/Manip/TZ/amchic00.pm
new file mode 100644
index 0000000..2f0cf5d
--- /dev/null
+++ b/lib/Date/Manip/TZ/amchic00.pm
@@ -0,0 +1,1402 @@
+package #
+Date::Manip::TZ::amchic00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,9,24],'-05:50:36',[-5,-50,-36],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,9,23],
+          '0001010200:00:00','0001010118:09:24','1883111817:59:59','1883111812:09:23' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1920,6,13,7,59,59],[1920,6,13,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1920061307:59:59','1920061301:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,6,13,8,0,0],[1920,6,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1920,10,31,6,59,59],[1920,10,31,1,59,59],
+          '1920061308:00:00','1920061303:00:00','1920103106:59:59','1920103101:59:59' ],
+        [ [1920,10,31,7,0,0],[1920,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1921,3,27,7,59,59],[1921,3,27,1,59,59],
+          '1920103107:00:00','1920103101:00:00','1921032707:59:59','1921032701:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,27,8,0,0],[1921,3,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1921,10,30,6,59,59],[1921,10,30,1,59,59],
+          '1921032708:00:00','1921032703:00:00','1921103006:59:59','1921103001:59:59' ],
+        [ [1921,10,30,7,0,0],[1921,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1922,4,30,7,59,59],[1922,4,30,1,59,59],
+          '1921103007:00:00','1921103001:00:00','1922043007:59:59','1922043001:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,4,30,8,0,0],[1922,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1922,9,24,6,59,59],[1922,9,24,1,59,59],
+          '1922043008:00:00','1922043003:00:00','1922092406:59:59','1922092401:59:59' ],
+        [ [1922,9,24,7,0,0],[1922,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1923,4,29,7,59,59],[1923,4,29,1,59,59],
+          '1922092407:00:00','1922092401:00:00','1923042907:59:59','1923042901:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,29,8,0,0],[1923,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1923,9,30,6,59,59],[1923,9,30,1,59,59],
+          '1923042908:00:00','1923042903:00:00','1923093006:59:59','1923093001:59:59' ],
+        [ [1923,9,30,7,0,0],[1923,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1924,4,27,7,59,59],[1924,4,27,1,59,59],
+          '1923093007:00:00','1923093001:00:00','1924042707:59:59','1924042701:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,27,8,0,0],[1924,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1924,9,28,6,59,59],[1924,9,28,1,59,59],
+          '1924042708:00:00','1924042703:00:00','1924092806:59:59','1924092801:59:59' ],
+        [ [1924,9,28,7,0,0],[1924,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1925,4,26,7,59,59],[1925,4,26,1,59,59],
+          '1924092807:00:00','1924092801:00:00','1925042607:59:59','1925042601:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,26,8,0,0],[1925,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1925,9,27,6,59,59],[1925,9,27,1,59,59],
+          '1925042608:00:00','1925042603:00:00','1925092706:59:59','1925092701:59:59' ],
+        [ [1925,9,27,7,0,0],[1925,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1926,4,25,7,59,59],[1926,4,25,1,59,59],
+          '1925092707:00:00','1925092701:00:00','1926042507:59:59','1926042501:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,25,8,0,0],[1926,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1926,9,26,6,59,59],[1926,9,26,1,59,59],
+          '1926042508:00:00','1926042503:00:00','1926092606:59:59','1926092601:59:59' ],
+        [ [1926,9,26,7,0,0],[1926,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1927,4,24,7,59,59],[1927,4,24,1,59,59],
+          '1926092607:00:00','1926092601:00:00','1927042407:59:59','1927042401:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,24,8,0,0],[1927,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1927,9,25,6,59,59],[1927,9,25,1,59,59],
+          '1927042408:00:00','1927042403:00:00','1927092506:59:59','1927092501:59:59' ],
+        [ [1927,9,25,7,0,0],[1927,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1928,4,29,7,59,59],[1928,4,29,1,59,59],
+          '1927092507:00:00','1927092501:00:00','1928042907:59:59','1928042901:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,29,8,0,0],[1928,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1928,9,30,6,59,59],[1928,9,30,1,59,59],
+          '1928042908:00:00','1928042903:00:00','1928093006:59:59','1928093001:59:59' ],
+        [ [1928,9,30,7,0,0],[1928,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1929,4,28,7,59,59],[1929,4,28,1,59,59],
+          '1928093007:00:00','1928093001:00:00','1929042807:59:59','1929042801:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,28,8,0,0],[1929,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1929,9,29,6,59,59],[1929,9,29,1,59,59],
+          '1929042808:00:00','1929042803:00:00','1929092906:59:59','1929092901:59:59' ],
+        [ [1929,9,29,7,0,0],[1929,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,4,27,7,59,59],[1930,4,27,1,59,59],
+          '1929092907:00:00','1929092901:00:00','1930042707:59:59','1930042701:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,27,8,0,0],[1930,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1930,9,28,6,59,59],[1930,9,28,1,59,59],
+          '1930042708:00:00','1930042703:00:00','1930092806:59:59','1930092801:59:59' ],
+        [ [1930,9,28,7,0,0],[1930,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,4,26,7,59,59],[1931,4,26,1,59,59],
+          '1930092807:00:00','1930092801:00:00','1931042607:59:59','1931042601:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,26,8,0,0],[1931,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1931,9,27,6,59,59],[1931,9,27,1,59,59],
+          '1931042608:00:00','1931042603:00:00','1931092706:59:59','1931092701:59:59' ],
+        [ [1931,9,27,7,0,0],[1931,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1932,4,24,7,59,59],[1932,4,24,1,59,59],
+          '1931092707:00:00','1931092701:00:00','1932042407:59:59','1932042401:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,24,8,0,0],[1932,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1932,9,25,6,59,59],[1932,9,25,1,59,59],
+          '1932042408:00:00','1932042403:00:00','1932092506:59:59','1932092501:59:59' ],
+        [ [1932,9,25,7,0,0],[1932,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1933,4,30,7,59,59],[1933,4,30,1,59,59],
+          '1932092507:00:00','1932092501:00:00','1933043007:59:59','1933043001:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,30,8,0,0],[1933,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1933,9,24,6,59,59],[1933,9,24,1,59,59],
+          '1933043008:00:00','1933043003:00:00','1933092406:59:59','1933092401:59:59' ],
+        [ [1933,9,24,7,0,0],[1933,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1934,4,29,7,59,59],[1934,4,29,1,59,59],
+          '1933092407:00:00','1933092401:00:00','1934042907:59:59','1934042901:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,29,8,0,0],[1934,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1934,9,30,6,59,59],[1934,9,30,1,59,59],
+          '1934042908:00:00','1934042903:00:00','1934093006:59:59','1934093001:59:59' ],
+        [ [1934,9,30,7,0,0],[1934,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1935,4,28,7,59,59],[1935,4,28,1,59,59],
+          '1934093007:00:00','1934093001:00:00','1935042807:59:59','1935042801:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,28,8,0,0],[1935,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1935,9,29,6,59,59],[1935,9,29,1,59,59],
+          '1935042808:00:00','1935042803:00:00','1935092906:59:59','1935092901:59:59' ],
+        [ [1935,9,29,7,0,0],[1935,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1936,3,1,7,59,59],[1936,3,1,1,59,59],
+          '1935092907:00:00','1935092901:00:00','1936030107:59:59','1936030101:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,8,0,0],[1936,3,1,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1936,11,15,6,59,59],[1936,11,15,1,59,59],
+          '1936030108:00:00','1936030103:00:00','1936111506:59:59','1936111501:59:59' ],
+        [ [1936,11,15,7,0,0],[1936,11,15,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1937,4,25,7,59,59],[1937,4,25,1,59,59],
+          '1936111507:00:00','1936111501:00:00','1937042507:59:59','1937042501:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,25,8,0,0],[1937,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1937,9,26,6,59,59],[1937,9,26,1,59,59],
+          '1937042508:00:00','1937042503:00:00','1937092606:59:59','1937092601:59:59' ],
+        [ [1937,9,26,7,0,0],[1937,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1938,4,24,7,59,59],[1938,4,24,1,59,59],
+          '1937092607:00:00','1937092601:00:00','1938042407:59:59','1938042401:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,24,8,0,0],[1938,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1938,9,25,6,59,59],[1938,9,25,1,59,59],
+          '1938042408:00:00','1938042403:00:00','1938092506:59:59','1938092501:59:59' ],
+        [ [1938,9,25,7,0,0],[1938,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1939,4,30,7,59,59],[1939,4,30,1,59,59],
+          '1938092507:00:00','1938092501:00:00','1939043007:59:59','1939043001:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,30,8,0,0],[1939,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1939,9,24,6,59,59],[1939,9,24,1,59,59],
+          '1939043008:00:00','1939043003:00:00','1939092406:59:59','1939092401:59:59' ],
+        [ [1939,9,24,7,0,0],[1939,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1940,4,28,7,59,59],[1940,4,28,1,59,59],
+          '1939092407:00:00','1939092401:00:00','1940042807:59:59','1940042801:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,28,8,0,0],[1940,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1940,9,29,6,59,59],[1940,9,29,1,59,59],
+          '1940042808:00:00','1940042803:00:00','1940092906:59:59','1940092901:59:59' ],
+        [ [1940,9,29,7,0,0],[1940,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1941,4,27,7,59,59],[1941,4,27,1,59,59],
+          '1940092907:00:00','1940092901:00:00','1941042707:59:59','1941042701:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,27,8,0,0],[1941,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1941,9,28,6,59,59],[1941,9,28,1,59,59],
+          '1941042708:00:00','1941042703:00:00','1941092806:59:59','1941092801:59:59' ],
+        [ [1941,9,28,7,0,0],[1941,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1941092807:00:00','1941092801:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1947,9,28,6,59,59],[1947,9,28,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1947092806:59:59','1947092801:59:59' ],
+        [ [1947,9,28,7,0,0],[1947,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1948,4,25,7,59,59],[1948,4,25,1,59,59],
+          '1947092807:00:00','1947092801:00:00','1948042507:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,8,0,0],[1948,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1948,9,26,6,59,59],[1948,9,26,1,59,59],
+          '1948042508:00:00','1948042503:00:00','1948092606:59:59','1948092601:59:59' ],
+        [ [1948,9,26,7,0,0],[1948,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1949,4,24,7,59,59],[1949,4,24,1,59,59],
+          '1948092607:00:00','1948092601:00:00','1949042407:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,8,0,0],[1949,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1949,9,25,6,59,59],[1949,9,25,1,59,59],
+          '1949042408:00:00','1949042403:00:00','1949092506:59:59','1949092501:59:59' ],
+        [ [1949,9,25,7,0,0],[1949,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,4,30,7,59,59],[1950,4,30,1,59,59],
+          '1949092507:00:00','1949092501:00:00','1950043007:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,8,0,0],[1950,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,24,6,59,59],[1950,9,24,1,59,59],
+          '1950043008:00:00','1950043003:00:00','1950092406:59:59','1950092401:59:59' ],
+        [ [1950,9,24,7,0,0],[1950,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950092407:00:00','1950092401:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,10,30,6,59,59],[1955,10,30,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955103006:59:59','1955103001:59:59' ],
+        [ [1955,10,30,7,0,0],[1955,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955103007:00:00','1955103001:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,10,28,6,59,59],[1956,10,28,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956102806:59:59','1956102801:59:59' ],
+        [ [1956,10,28,7,0,0],[1956,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956102807:00:00','1956102801:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,10,27,6,59,59],[1957,10,27,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957102706:59:59','1957102701:59:59' ],
+        [ [1957,10,27,7,0,0],[1957,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957102707:00:00','1957102701:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,10,26,6,59,59],[1958,10,26,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958102606:59:59','1958102601:59:59' ],
+        [ [1958,10,26,7,0,0],[1958,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958102607:00:00','1958102601:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,10,25,6,59,59],[1959,10,25,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959102506:59:59','1959102501:59:59' ],
+        [ [1959,10,25,7,0,0],[1959,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959102507:00:00','1959102501:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,10,30,6,59,59],[1960,10,30,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960103006:59:59','1960103001:59:59' ],
+        [ [1960,10,30,7,0,0],[1960,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960103007:00:00','1960103001:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,10,29,6,59,59],[1961,10,29,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961102906:59:59','1961102901:59:59' ],
+        [ [1961,10,29,7,0,0],[1961,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1962,4,29,7,59,59],[1962,4,29,1,59,59],
+          '1961102907:00:00','1961102901:00:00','1962042907:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,8,0,0],[1962,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1962,10,28,6,59,59],[1962,10,28,1,59,59],
+          '1962042908:00:00','1962042903:00:00','1962102806:59:59','1962102801:59:59' ],
+        [ [1962,10,28,7,0,0],[1962,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1963,4,28,7,59,59],[1963,4,28,1,59,59],
+          '1962102807:00:00','1962102801:00:00','1963042807:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,8,0,0],[1963,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1963,10,27,6,59,59],[1963,10,27,1,59,59],
+          '1963042808:00:00','1963042803:00:00','1963102706:59:59','1963102701:59:59' ],
+        [ [1963,10,27,7,0,0],[1963,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1964,4,26,7,59,59],[1964,4,26,1,59,59],
+          '1963102707:00:00','1963102701:00:00','1964042607:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,8,0,0],[1964,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1964,10,25,6,59,59],[1964,10,25,1,59,59],
+          '1964042608:00:00','1964042603:00:00','1964102506:59:59','1964102501:59:59' ],
+        [ [1964,10,25,7,0,0],[1964,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1965,4,25,7,59,59],[1965,4,25,1,59,59],
+          '1964102507:00:00','1964102501:00:00','1965042507:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,8,0,0],[1965,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1965,10,31,6,59,59],[1965,10,31,1,59,59],
+          '1965042508:00:00','1965042503:00:00','1965103106:59:59','1965103101:59:59' ],
+        [ [1965,10,31,7,0,0],[1965,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1966,4,24,7,59,59],[1966,4,24,1,59,59],
+          '1965103107:00:00','1965103101:00:00','1966042407:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,8,0,0],[1966,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1966,10,30,6,59,59],[1966,10,30,1,59,59],
+          '1966042408:00:00','1966042403:00:00','1966103006:59:59','1966103001:59:59' ],
+        [ [1966,10,30,7,0,0],[1966,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1967,4,30,7,59,59],[1967,4,30,1,59,59],
+          '1966103007:00:00','1966103001:00:00','1967043007:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,8,0,0],[1967,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1967,10,29,6,59,59],[1967,10,29,1,59,59],
+          '1967043008:00:00','1967043003:00:00','1967102906:59:59','1967102901:59:59' ],
+        [ [1967,10,29,7,0,0],[1967,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1968,4,28,7,59,59],[1968,4,28,1,59,59],
+          '1967102907:00:00','1967102901:00:00','1968042807:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,8,0,0],[1968,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1968,10,27,6,59,59],[1968,10,27,1,59,59],
+          '1968042808:00:00','1968042803:00:00','1968102706:59:59','1968102701:59:59' ],
+        [ [1968,10,27,7,0,0],[1968,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1968102707:00:00','1968102701:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1969,10,26,6,59,59],[1969,10,26,1,59,59],
+          '1969042708:00:00','1969042703:00:00','1969102606:59:59','1969102601:59:59' ],
+        [ [1969,10,26,7,0,0],[1969,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1970,4,26,7,59,59],[1970,4,26,1,59,59],
+          '1969102607:00:00','1969102601:00:00','1970042607:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,8,0,0],[1970,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1970,10,25,6,59,59],[1970,10,25,1,59,59],
+          '1970042608:00:00','1970042603:00:00','1970102506:59:59','1970102501:59:59' ],
+        [ [1970,10,25,7,0,0],[1970,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1971,4,25,7,59,59],[1971,4,25,1,59,59],
+          '1970102507:00:00','1970102501:00:00','1971042507:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,8,0,0],[1971,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1971,10,31,6,59,59],[1971,10,31,1,59,59],
+          '1971042508:00:00','1971042503:00:00','1971103106:59:59','1971103101:59:59' ],
+        [ [1971,10,31,7,0,0],[1971,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1972,4,30,7,59,59],[1972,4,30,1,59,59],
+          '1971103107:00:00','1971103101:00:00','1972043007:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,8,0,0],[1972,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1972,10,29,6,59,59],[1972,10,29,1,59,59],
+          '1972043008:00:00','1972043003:00:00','1972102906:59:59','1972102901:59:59' ],
+        [ [1972,10,29,7,0,0],[1972,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,4,29,7,59,59],[1973,4,29,1,59,59],
+          '1972102907:00:00','1972102901:00:00','1973042907:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,8,0,0],[1973,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,6,59,59],[1973,10,28,1,59,59],
+          '1973042908:00:00','1973042903:00:00','1973102806:59:59','1973102801:59:59' ],
+        [ [1973,10,28,7,0,0],[1973,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,1,6,7,59,59],[1974,1,6,1,59,59],
+          '1973102807:00:00','1973102801:00:00','1974010607:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,8,0,0],[1974,1,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010608:00:00','1974010603:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,2,23,7,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975022307:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,8,0,0],[1975,2,23,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975022308:00:00','1975022303:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103007:00:00','1977103001:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,6,59,59],[1978,10,29,1,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102906:59:59','1978102901:59:59' ],
+        [ [1978,10,29,7,0,0],[1978,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102907:00:00','1978102901:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,6,59,59],[1979,10,28,1,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102806:59:59','1979102801:59:59' ],
+        [ [1979,10,28,7,0,0],[1979,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102807:00:00','1979102801:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,7,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001040107:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amchih00.pm b/lib/Date/Manip/TZ/amchih00.pm
new file mode 100644
index 0000000..ffafc39
--- /dev/null
+++ b/lib/Date/Manip/TZ/amchih00.pm
@@ -0,0 +1,748 @@
+package #
+Date::Manip::TZ::amchih00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,55,40],'-07:04:20',[-7,-4,-20],
+          'LMT',0,[1922,1,1,6,59,59],[1921,12,31,23,55,39],
+          '0001010200:00:00','0001010116:55:40','1922010106:59:59','1921123123:55:39' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1932040107:00:00','1932040101:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,8,59,59],[1998,4,5,2,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040508:59:59','1998040502:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,5,6,8,59,59],[2001,5,6,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001050608:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,9,0,0],[2001,5,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,9,30,7,59,59],[2001,9,30,1,59,59],
+          '2001050609:00:00','2001050603:00:00','2001093007:59:59','2001093001:59:59' ],
+        [ [2001,9,30,8,0,0],[2001,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001093008:00:00','2001093001:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,4,1,8,59,59],[2007,4,1,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007040108:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,9,0,0],[2007,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,10,28,7,59,59],[2007,10,28,1,59,59],
+          '2007040109:00:00','2007040103:00:00','2007102807:59:59','2007102801:59:59' ],
+        [ [2007,10,28,8,0,0],[2007,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,4,6,8,59,59],[2008,4,6,1,59,59],
+          '2007102808:00:00','2007102801:00:00','2008040608:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,9,0,0],[2008,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,10,26,7,59,59],[2008,10,26,1,59,59],
+          '2008040609:00:00','2008040603:00:00','2008102607:59:59','2008102601:59:59' ],
+        [ [2008,10,26,8,0,0],[2008,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,4,5,8,59,59],[2009,4,5,1,59,59],
+          '2008102608:00:00','2008102601:00:00','2009040508:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,9,0,0],[2009,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,10,25,7,59,59],[2009,10,25,1,59,59],
+          '2009040509:00:00','2009040503:00:00','2009102507:59:59','2009102501:59:59' ],
+        [ [2009,10,25,8,0,0],[2009,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,4,4,8,59,59],[2010,4,4,1,59,59],
+          '2009102508:00:00','2009102501:00:00','2010040408:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,9,0,0],[2010,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,10,31,7,59,59],[2010,10,31,1,59,59],
+          '2010040409:00:00','2010040403:00:00','2010103107:59:59','2010103101:59:59' ],
+        [ [2010,10,31,8,0,0],[2010,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,4,3,8,59,59],[2011,4,3,1,59,59],
+          '2010103108:00:00','2010103101:00:00','2011040308:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,9,0,0],[2011,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,10,30,7,59,59],[2011,10,30,1,59,59],
+          '2011040309:00:00','2011040303:00:00','2011103007:59:59','2011103001:59:59' ],
+        [ [2011,10,30,8,0,0],[2011,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,4,1,8,59,59],[2012,4,1,1,59,59],
+          '2011103008:00:00','2011103001:00:00','2012040108:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,9,0,0],[2012,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,10,28,7,59,59],[2012,10,28,1,59,59],
+          '2012040109:00:00','2012040103:00:00','2012102807:59:59','2012102801:59:59' ],
+        [ [2012,10,28,8,0,0],[2012,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,4,7,8,59,59],[2013,4,7,1,59,59],
+          '2012102808:00:00','2012102801:00:00','2013040708:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,9,0,0],[2013,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,10,27,7,59,59],[2013,10,27,1,59,59],
+          '2013040709:00:00','2013040703:00:00','2013102707:59:59','2013102701:59:59' ],
+        [ [2013,10,27,8,0,0],[2013,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,4,6,8,59,59],[2014,4,6,1,59,59],
+          '2013102708:00:00','2013102701:00:00','2014040608:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,9,0,0],[2014,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,10,26,7,59,59],[2014,10,26,1,59,59],
+          '2014040609:00:00','2014040603:00:00','2014102607:59:59','2014102601:59:59' ],
+        [ [2014,10,26,8,0,0],[2014,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,4,5,8,59,59],[2015,4,5,1,59,59],
+          '2014102608:00:00','2014102601:00:00','2015040508:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,9,0,0],[2015,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,10,25,7,59,59],[2015,10,25,1,59,59],
+          '2015040509:00:00','2015040503:00:00','2015102507:59:59','2015102501:59:59' ],
+        [ [2015,10,25,8,0,0],[2015,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,4,3,8,59,59],[2016,4,3,1,59,59],
+          '2015102508:00:00','2015102501:00:00','2016040308:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,9,0,0],[2016,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,10,30,7,59,59],[2016,10,30,1,59,59],
+          '2016040309:00:00','2016040303:00:00','2016103007:59:59','2016103001:59:59' ],
+        [ [2016,10,30,8,0,0],[2016,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,4,2,8,59,59],[2017,4,2,1,59,59],
+          '2016103008:00:00','2016103001:00:00','2017040208:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,9,0,0],[2017,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,10,29,7,59,59],[2017,10,29,1,59,59],
+          '2017040209:00:00','2017040203:00:00','2017102907:59:59','2017102901:59:59' ],
+        [ [2017,10,29,8,0,0],[2017,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,4,1,8,59,59],[2018,4,1,1,59,59],
+          '2017102908:00:00','2017102901:00:00','2018040108:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,9,0,0],[2018,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,10,28,7,59,59],[2018,10,28,1,59,59],
+          '2018040109:00:00','2018040103:00:00','2018102807:59:59','2018102801:59:59' ],
+        [ [2018,10,28,8,0,0],[2018,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,4,7,8,59,59],[2019,4,7,1,59,59],
+          '2018102808:00:00','2018102801:00:00','2019040708:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,9,0,0],[2019,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,10,27,7,59,59],[2019,10,27,1,59,59],
+          '2019040709:00:00','2019040703:00:00','2019102707:59:59','2019102701:59:59' ],
+        [ [2019,10,27,8,0,0],[2019,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,4,5,8,59,59],[2020,4,5,1,59,59],
+          '2019102708:00:00','2019102701:00:00','2020040508:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,9,0,0],[2020,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,10,25,7,59,59],[2020,10,25,1,59,59],
+          '2020040509:00:00','2020040503:00:00','2020102507:59:59','2020102501:59:59' ],
+        [ [2020,10,25,8,0,0],[2020,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,4,4,8,59,59],[2021,4,4,1,59,59],
+          '2020102508:00:00','2020102501:00:00','2021040408:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,9,0,0],[2021,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,10,31,7,59,59],[2021,10,31,1,59,59],
+          '2021040409:00:00','2021040403:00:00','2021103107:59:59','2021103101:59:59' ],
+        [ [2021,10,31,8,0,0],[2021,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,4,3,8,59,59],[2022,4,3,1,59,59],
+          '2021103108:00:00','2021103101:00:00','2022040308:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,9,0,0],[2022,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,10,30,7,59,59],[2022,10,30,1,59,59],
+          '2022040309:00:00','2022040303:00:00','2022103007:59:59','2022103001:59:59' ],
+        [ [2022,10,30,8,0,0],[2022,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,4,2,8,59,59],[2023,4,2,1,59,59],
+          '2022103008:00:00','2022103001:00:00','2023040208:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,9,0,0],[2023,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,10,29,7,59,59],[2023,10,29,1,59,59],
+          '2023040209:00:00','2023040203:00:00','2023102907:59:59','2023102901:59:59' ],
+        [ [2023,10,29,8,0,0],[2023,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,4,7,8,59,59],[2024,4,7,1,59,59],
+          '2023102908:00:00','2023102901:00:00','2024040708:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,9,0,0],[2024,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,10,27,7,59,59],[2024,10,27,1,59,59],
+          '2024040709:00:00','2024040703:00:00','2024102707:59:59','2024102701:59:59' ],
+        [ [2024,10,27,8,0,0],[2024,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,4,6,8,59,59],[2025,4,6,1,59,59],
+          '2024102708:00:00','2024102701:00:00','2025040608:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,9,0,0],[2025,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,10,26,7,59,59],[2025,10,26,1,59,59],
+          '2025040609:00:00','2025040603:00:00','2025102607:59:59','2025102601:59:59' ],
+        [ [2025,10,26,8,0,0],[2025,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,4,5,8,59,59],[2026,4,5,1,59,59],
+          '2025102608:00:00','2025102601:00:00','2026040508:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,9,0,0],[2026,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,10,25,7,59,59],[2026,10,25,1,59,59],
+          '2026040509:00:00','2026040503:00:00','2026102507:59:59','2026102501:59:59' ],
+        [ [2026,10,25,8,0,0],[2026,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,4,4,8,59,59],[2027,4,4,1,59,59],
+          '2026102508:00:00','2026102501:00:00','2027040408:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,9,0,0],[2027,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,10,31,7,59,59],[2027,10,31,1,59,59],
+          '2027040409:00:00','2027040403:00:00','2027103107:59:59','2027103101:59:59' ],
+        [ [2027,10,31,8,0,0],[2027,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,4,2,8,59,59],[2028,4,2,1,59,59],
+          '2027103108:00:00','2027103101:00:00','2028040208:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,9,0,0],[2028,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,10,29,7,59,59],[2028,10,29,1,59,59],
+          '2028040209:00:00','2028040203:00:00','2028102907:59:59','2028102901:59:59' ],
+        [ [2028,10,29,8,0,0],[2028,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,4,1,8,59,59],[2029,4,1,1,59,59],
+          '2028102908:00:00','2028102901:00:00','2029040108:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,9,0,0],[2029,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,10,28,7,59,59],[2029,10,28,1,59,59],
+          '2029040109:00:00','2029040103:00:00','2029102807:59:59','2029102801:59:59' ],
+        [ [2029,10,28,8,0,0],[2029,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,4,7,8,59,59],[2030,4,7,1,59,59],
+          '2029102808:00:00','2029102801:00:00','2030040708:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,9,0,0],[2030,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,10,27,7,59,59],[2030,10,27,1,59,59],
+          '2030040709:00:00','2030040703:00:00','2030102707:59:59','2030102701:59:59' ],
+        [ [2030,10,27,8,0,0],[2030,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,4,6,8,59,59],[2031,4,6,1,59,59],
+          '2030102708:00:00','2030102701:00:00','2031040608:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,9,0,0],[2031,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,10,26,7,59,59],[2031,10,26,1,59,59],
+          '2031040609:00:00','2031040603:00:00','2031102607:59:59','2031102601:59:59' ],
+        [ [2031,10,26,8,0,0],[2031,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,4,4,8,59,59],[2032,4,4,1,59,59],
+          '2031102608:00:00','2031102601:00:00','2032040408:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,9,0,0],[2032,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,10,31,7,59,59],[2032,10,31,1,59,59],
+          '2032040409:00:00','2032040403:00:00','2032103107:59:59','2032103101:59:59' ],
+        [ [2032,10,31,8,0,0],[2032,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,4,3,8,59,59],[2033,4,3,1,59,59],
+          '2032103108:00:00','2032103101:00:00','2033040308:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,9,0,0],[2033,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,10,30,7,59,59],[2033,10,30,1,59,59],
+          '2033040309:00:00','2033040303:00:00','2033103007:59:59','2033103001:59:59' ],
+        [ [2033,10,30,8,0,0],[2033,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,4,2,8,59,59],[2034,4,2,1,59,59],
+          '2033103008:00:00','2033103001:00:00','2034040208:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,9,0,0],[2034,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,10,29,7,59,59],[2034,10,29,1,59,59],
+          '2034040209:00:00','2034040203:00:00','2034102907:59:59','2034102901:59:59' ],
+        [ [2034,10,29,8,0,0],[2034,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,4,1,8,59,59],[2035,4,1,1,59,59],
+          '2034102908:00:00','2034102901:00:00','2035040108:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,9,0,0],[2035,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,10,28,7,59,59],[2035,10,28,1,59,59],
+          '2035040109:00:00','2035040103:00:00','2035102807:59:59','2035102801:59:59' ],
+        [ [2035,10,28,8,0,0],[2035,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,4,6,8,59,59],[2036,4,6,1,59,59],
+          '2035102808:00:00','2035102801:00:00','2036040608:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,9,0,0],[2036,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,10,26,7,59,59],[2036,10,26,1,59,59],
+          '2036040609:00:00','2036040603:00:00','2036102607:59:59','2036102601:59:59' ],
+        [ [2036,10,26,8,0,0],[2036,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,4,5,8,59,59],[2037,4,5,1,59,59],
+          '2036102608:00:00','2036102601:00:00','2037040508:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,9,0,0],[2037,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,10,25,7,59,59],[2037,10,25,1,59,59],
+          '2037040509:00:00','2037040503:00:00','2037102507:59:59','2037102501:59:59' ],
+        [ [2037,10,25,8,0,0],[2037,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,4,4,8,59,59],[2038,4,4,1,59,59],
+          '2037102508:00:00','2037102501:00:00','2038040408:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,9,0,0],[2038,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,10,31,7,59,59],[2038,10,31,1,59,59],
+          '2038040409:00:00','2038040403:00:00','2038103107:59:59','2038103101:59:59' ],
+        [ [2038,10,31,8,0,0],[2038,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,4,3,8,59,59],[2039,4,3,1,59,59],
+          '2038103108:00:00','2038103101:00:00','2039040308:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,9,0,0],[2039,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,10,30,7,59,59],[2039,10,30,1,59,59],
+          '2039040309:00:00','2039040303:00:00','2039103007:59:59','2039103001:59:59' ],
+        [ [2039,10,30,8,0,0],[2039,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,4,1,8,59,59],[2040,4,1,1,59,59],
+          '2039103008:00:00','2039103001:00:00','2040040108:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,9,0,0],[2040,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,10,28,7,59,59],[2040,10,28,1,59,59],
+          '2040040109:00:00','2040040103:00:00','2040102807:59:59','2040102801:59:59' ],
+        [ [2040,10,28,8,0,0],[2040,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,4,7,8,59,59],[2041,4,7,1,59,59],
+          '2040102808:00:00','2040102801:00:00','2041040708:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,9,0,0],[2041,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,10,27,7,59,59],[2041,10,27,1,59,59],
+          '2041040709:00:00','2041040703:00:00','2041102707:59:59','2041102701:59:59' ],
+        [ [2041,10,27,8,0,0],[2041,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,4,6,8,59,59],[2042,4,6,1,59,59],
+          '2041102708:00:00','2041102701:00:00','2042040608:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,9,0,0],[2042,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,10,26,7,59,59],[2042,10,26,1,59,59],
+          '2042040609:00:00','2042040603:00:00','2042102607:59:59','2042102601:59:59' ],
+        [ [2042,10,26,8,0,0],[2042,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,4,5,8,59,59],[2043,4,5,1,59,59],
+          '2042102608:00:00','2042102601:00:00','2043040508:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,9,0,0],[2043,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,10,25,7,59,59],[2043,10,25,1,59,59],
+          '2043040509:00:00','2043040503:00:00','2043102507:59:59','2043102501:59:59' ],
+        [ [2043,10,25,8,0,0],[2043,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,4,3,8,59,59],[2044,4,3,1,59,59],
+          '2043102508:00:00','2043102501:00:00','2044040308:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,9,0,0],[2044,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,10,30,7,59,59],[2044,10,30,1,59,59],
+          '2044040309:00:00','2044040303:00:00','2044103007:59:59','2044103001:59:59' ],
+        [ [2044,10,30,8,0,0],[2044,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,4,2,8,59,59],[2045,4,2,1,59,59],
+          '2044103008:00:00','2044103001:00:00','2045040208:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,9,0,0],[2045,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,10,29,7,59,59],[2045,10,29,1,59,59],
+          '2045040209:00:00','2045040203:00:00','2045102907:59:59','2045102901:59:59' ],
+        [ [2045,10,29,8,0,0],[2045,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,4,1,8,59,59],[2046,4,1,1,59,59],
+          '2045102908:00:00','2045102901:00:00','2046040108:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,9,0,0],[2046,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,10,28,7,59,59],[2046,10,28,1,59,59],
+          '2046040109:00:00','2046040103:00:00','2046102807:59:59','2046102801:59:59' ],
+        [ [2046,10,28,8,0,0],[2046,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,4,7,8,59,59],[2047,4,7,1,59,59],
+          '2046102808:00:00','2046102801:00:00','2047040708:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,9,0,0],[2047,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,10,27,7,59,59],[2047,10,27,1,59,59],
+          '2047040709:00:00','2047040703:00:00','2047102707:59:59','2047102701:59:59' ],
+        [ [2047,10,27,8,0,0],[2047,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,4,5,8,59,59],[2048,4,5,1,59,59],
+          '2047102708:00:00','2047102701:00:00','2048040508:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,9,0,0],[2048,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,10,25,7,59,59],[2048,10,25,1,59,59],
+          '2048040509:00:00','2048040503:00:00','2048102507:59:59','2048102501:59:59' ],
+        [ [2048,10,25,8,0,0],[2048,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,4,4,8,59,59],[2049,4,4,1,59,59],
+          '2048102508:00:00','2048102501:00:00','2049040408:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,9,0,0],[2049,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,10,31,7,59,59],[2049,10,31,1,59,59],
+          '2049040409:00:00','2049040403:00:00','2049103107:59:59','2049103101:59:59' ],
+        [ [2049,10,31,8,0,0],[2049,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,4,3,8,59,59],[2050,4,3,1,59,59],
+          '2049103108:00:00','2049103101:00:00','2050040308:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,9,0,0],[2050,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,10,30,7,59,59],[2050,10,30,1,59,59],
+          '2050040309:00:00','2050040303:00:00','2050103007:59:59','2050103001:59:59' ],
+        [ [2050,10,30,8,0,0],[2050,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,4,2,8,59,59],[2051,4,2,1,59,59],
+          '2050103008:00:00','2050103001:00:00','2051040208:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,9,0,0],[2051,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,10,29,7,59,59],[2051,10,29,1,59,59],
+          '2051040209:00:00','2051040203:00:00','2051102907:59:59','2051102901:59:59' ],
+        [ [2051,10,29,8,0,0],[2051,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,4,7,8,59,59],[2052,4,7,1,59,59],
+          '2051102908:00:00','2051102901:00:00','2052040708:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,9,0,0],[2052,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,10,27,7,59,59],[2052,10,27,1,59,59],
+          '2052040709:00:00','2052040703:00:00','2052102707:59:59','2052102701:59:59' ],
+        [ [2052,10,27,8,0,0],[2052,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,4,6,8,59,59],[2053,4,6,1,59,59],
+          '2052102708:00:00','2052102701:00:00','2053040608:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,9,0,0],[2053,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,10,26,7,59,59],[2053,10,26,1,59,59],
+          '2053040609:00:00','2053040603:00:00','2053102607:59:59','2053102601:59:59' ],
+        [ [2053,10,26,8,0,0],[2053,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,4,5,8,59,59],[2054,4,5,1,59,59],
+          '2053102608:00:00','2053102601:00:00','2054040508:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,9,0,0],[2054,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,10,25,7,59,59],[2054,10,25,1,59,59],
+          '2054040509:00:00','2054040503:00:00','2054102507:59:59','2054102501:59:59' ],
+        [ [2054,10,25,8,0,0],[2054,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,4,4,8,59,59],[2055,4,4,1,59,59],
+          '2054102508:00:00','2054102501:00:00','2055040408:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,9,0,0],[2055,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,10,31,7,59,59],[2055,10,31,1,59,59],
+          '2055040409:00:00','2055040403:00:00','2055103107:59:59','2055103101:59:59' ],
+        [ [2055,10,31,8,0,0],[2055,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,4,2,8,59,59],[2056,4,2,1,59,59],
+          '2055103108:00:00','2055103101:00:00','2056040208:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,9,0,0],[2056,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,10,29,7,59,59],[2056,10,29,1,59,59],
+          '2056040209:00:00','2056040203:00:00','2056102907:59:59','2056102901:59:59' ],
+        [ [2056,10,29,8,0,0],[2056,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,4,1,8,59,59],[2057,4,1,1,59,59],
+          '2056102908:00:00','2056102901:00:00','2057040108:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,9,0,0],[2057,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,10,28,7,59,59],[2057,10,28,1,59,59],
+          '2057040109:00:00','2057040103:00:00','2057102807:59:59','2057102801:59:59' ],
+        [ [2057,10,28,8,0,0],[2057,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,4,7,8,59,59],[2058,4,7,1,59,59],
+          '2057102808:00:00','2057102801:00:00','2058040708:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,9,0,0],[2058,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,10,27,7,59,59],[2058,10,27,1,59,59],
+          '2058040709:00:00','2058040703:00:00','2058102707:59:59','2058102701:59:59' ],
+        [ [2058,10,27,8,0,0],[2058,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,4,6,8,59,59],[2059,4,6,1,59,59],
+          '2058102708:00:00','2058102701:00:00','2059040608:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,9,0,0],[2059,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,10,26,7,59,59],[2059,10,26,1,59,59],
+          '2059040609:00:00','2059040603:00:00','2059102607:59:59','2059102601:59:59' ],
+        [ [2059,10,26,8,0,0],[2059,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,4,4,8,59,59],[2060,4,4,1,59,59],
+          '2059102608:00:00','2059102601:00:00','2060040408:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,9,0,0],[2060,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,10,31,7,59,59],[2060,10,31,1,59,59],
+          '2060040409:00:00','2060040403:00:00','2060103107:59:59','2060103101:59:59' ],
+        [ [2060,10,31,8,0,0],[2060,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,4,3,8,59,59],[2061,4,3,1,59,59],
+          '2060103108:00:00','2060103101:00:00','2061040308:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,9,0,0],[2061,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,10,30,7,59,59],[2061,10,30,1,59,59],
+          '2061040309:00:00','2061040303:00:00','2061103007:59:59','2061103001:59:59' ],
+        [ [2061,10,30,8,0,0],[2061,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,4,2,8,59,59],[2062,4,2,1,59,59],
+          '2061103008:00:00','2061103001:00:00','2062040208:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,9,0,0],[2062,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,10,29,7,59,59],[2062,10,29,1,59,59],
+          '2062040209:00:00','2062040203:00:00','2062102907:59:59','2062102901:59:59' ],
+        [ [2062,10,29,8,0,0],[2062,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,4,1,8,59,59],[2063,4,1,1,59,59],
+          '2062102908:00:00','2062102901:00:00','2063040108:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,9,0,0],[2063,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,10,28,7,59,59],[2063,10,28,1,59,59],
+          '2063040109:00:00','2063040103:00:00','2063102807:59:59','2063102801:59:59' ],
+        [ [2063,10,28,8,0,0],[2063,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,4,6,8,59,59],[2064,4,6,1,59,59],
+          '2063102808:00:00','2063102801:00:00','2064040608:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,9,0,0],[2064,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,10,26,7,59,59],[2064,10,26,1,59,59],
+          '2064040609:00:00','2064040603:00:00','2064102607:59:59','2064102601:59:59' ],
+        [ [2064,10,26,8,0,0],[2064,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,4,5,8,59,59],[2065,4,5,1,59,59],
+          '2064102608:00:00','2064102601:00:00','2065040508:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,9,0,0],[2065,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,10,25,7,59,59],[2065,10,25,1,59,59],
+          '2065040509:00:00','2065040503:00:00','2065102507:59:59','2065102501:59:59' ],
+        [ [2065,10,25,8,0,0],[2065,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,4,4,8,59,59],[2066,4,4,1,59,59],
+          '2065102508:00:00','2065102501:00:00','2066040408:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,9,0,0],[2066,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,10,31,7,59,59],[2066,10,31,1,59,59],
+          '2066040409:00:00','2066040403:00:00','2066103107:59:59','2066103101:59:59' ],
+        [ [2066,10,31,8,0,0],[2066,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,4,3,8,59,59],[2067,4,3,1,59,59],
+          '2066103108:00:00','2066103101:00:00','2067040308:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,9,0,0],[2067,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,10,30,7,59,59],[2067,10,30,1,59,59],
+          '2067040309:00:00','2067040303:00:00','2067103007:59:59','2067103001:59:59' ],
+        [ [2067,10,30,8,0,0],[2067,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,4,1,8,59,59],[2068,4,1,1,59,59],
+          '2067103008:00:00','2067103001:00:00','2068040108:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcord00.pm b/lib/Date/Manip/TZ/amcord00.pm
new file mode 100644
index 0000000..54f1155
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcord00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::amcord00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,43,12],'-04:16:48',[-4,-16,-48],
+          'LMT',0,[1894,10,31,4,16,47],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:43:12','1894103104:16:47','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,16,48],[1894,10,31,0,0,0],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:16:48','1894103100:00:00','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030222:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102004:00:00','1991102002:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,10,19,2,59,59],[2008,10,18,23,59,59],
+          '2008031602:00:00','2008031523:00:00','2008101902:59:59','2008101823:59:59' ],
+        [ [2008,10,19,3,0,0],[2008,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,3,15,1,59,59],[2009,3,14,23,59,59],
+          '2008101903:00:00','2008101901:00:00','2009031501:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,2,0,0],[2009,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2009031502:00:00','2009031423:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcost00.pm b/lib/Date/Manip/TZ/amcost00.pm
new file mode 100644
index 0000000..b878009
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcost00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::amcost00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,23,47],'-05:36:13',[-5,-36,-13],
+          'LMT',0,[1890,1,1,5,36,12],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:23:47','1890010105:36:12','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,36,13],[1890,1,1,0,0,0],'-05:36:13',[-5,-36,-13],
+          'SJMT',0,[1921,1,15,5,36,12],[1921,1,14,23,59,59],
+          '1890010105:36:13','1890010100:00:00','1921011505:36:12','1921011423:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,1,15,5,36,13],[1921,1,14,23,36,13],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,2,25,5,59,59],[1979,2,24,23,59,59],
+          '1921011505:36:13','1921011423:36:13','1979022505:59:59','1979022423:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,2,25,6,0,0],[1979,2,25,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,6,3,4,59,59],[1979,6,2,23,59,59],
+          '1979022506:00:00','1979022501:00:00','1979060304:59:59','1979060223:59:59' ],
+        [ [1979,6,3,5,0,0],[1979,6,2,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,2,24,5,59,59],[1980,2,23,23,59,59],
+          '1979060305:00:00','1979060223:00:00','1980022405:59:59','1980022323:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,2,24,6,0,0],[1980,2,24,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,6,1,4,59,59],[1980,5,31,23,59,59],
+          '1980022406:00:00','1980022401:00:00','1980060104:59:59','1980053123:59:59' ],
+        [ [1980,6,1,5,0,0],[1980,5,31,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,1,19,5,59,59],[1991,1,18,23,59,59],
+          '1980060105:00:00','1980053123:00:00','1991011905:59:59','1991011823:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,1,19,6,0,0],[1991,1,19,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,7,1,4,59,59],[1991,6,30,23,59,59],
+          '1991011906:00:00','1991011901:00:00','1991070104:59:59','1991063023:59:59' ],
+        [ [1991,7,1,5,0,0],[1991,6,30,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,1,18,5,59,59],[1992,1,17,23,59,59],
+          '1991070105:00:00','1991063023:00:00','1992011805:59:59','1992011723:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,6,0,0],[1992,1,18,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,3,15,4,59,59],[1992,3,14,23,59,59],
+          '1992011806:00:00','1992011801:00:00','1992031504:59:59','1992031423:59:59' ],
+        [ [1992,3,15,5,0,0],[1992,3,14,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1992031505:00:00','1992031423:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcres00.pm b/lib/Date/Manip/TZ/amcres00.pm
new file mode 100644
index 0000000..b1e7e4e
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcres00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::amcres00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,13,56],'-07:46:04',[-7,-46,-4],
+          'LMT',0,[1884,1,1,7,46,3],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010116:13:56','1884010107:46:03','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,7,46,4],[1884,1,1,0,46,4],'-07:00:00',[-7,0,0],
+          'MST',0,[1916,10,1,6,59,59],[1916,9,30,23,59,59],
+          '1884010107:46:04','1884010100:46:04','1916100106:59:59','1916093023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,10,1,7,0,0],[1916,9,30,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,6,2,7,59,59],[1918,6,1,23,59,59],
+          '1916100107:00:00','1916093023:00:00','1918060207:59:59','1918060123:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,6,2,8,0,0],[1918,6,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '1918060208:00:00','1918060201:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcuia00.pm b/lib/Date/Manip/TZ/amcuia00.pm
new file mode 100644
index 0000000..1a5a69a
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcuia00.pm
@@ -0,0 +1,919 @@
+package #
+Date::Manip::TZ::amcuia00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,15,40],'-03:44:20',[-3,-44,-20],
+          'LMT',0,[1914,1,1,3,44,19],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:15:40','1914010103:44:19','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,44,20],[1913,12,31,23,44,20],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010103:44:20','1913123123:44:20','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,16,3,59,59],[1988,10,15,23,59,59],
+          '1988020703:00:00','1988020623:00:00','1988101603:59:59','1988101523:59:59' ],
+        [ [1988,10,16,4,0,0],[1988,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,1,29,2,59,59],[1989,1,28,23,59,59],
+          '1988101604:00:00','1988101601:00:00','1989012902:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,3,0,0],[1989,1,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,15,3,59,59],[1989,10,14,23,59,59],
+          '1989012903:00:00','1989012823:00:00','1989101503:59:59','1989101423:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,2,11,2,59,59],[1990,2,10,23,59,59],
+          '1989101504:00:00','1989101501:00:00','1990021102:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,3,0,0],[1990,2,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,21,3,59,59],[1990,10,20,23,59,59],
+          '1990021103:00:00','1990021023:00:00','1990102103:59:59','1990102023:59:59' ],
+        [ [1990,10,21,4,0,0],[1990,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,2,17,2,59,59],[1991,2,16,23,59,59],
+          '1990102104:00:00','1990102101:00:00','1991021702:59:59','1991021623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,2,17,3,0,0],[1991,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991021703:00:00','1991021623:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,2,9,2,59,59],[1992,2,8,23,59,59],
+          '1991102004:00:00','1991102001:00:00','1992020902:59:59','1992020823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,9,3,0,0],[1992,2,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,25,3,59,59],[1992,10,24,23,59,59],
+          '1992020903:00:00','1992020823:00:00','1992102503:59:59','1992102423:59:59' ],
+        [ [1992,10,25,4,0,0],[1992,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,1,31,2,59,59],[1993,1,30,23,59,59],
+          '1992102504:00:00','1992102501:00:00','1993013102:59:59','1993013023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,31,3,0,0],[1993,1,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,17,3,59,59],[1993,10,16,23,59,59],
+          '1993013103:00:00','1993013023:00:00','1993101703:59:59','1993101623:59:59' ],
+        [ [1993,10,17,4,0,0],[1993,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,2,20,2,59,59],[1994,2,19,23,59,59],
+          '1993101704:00:00','1993101701:00:00','1994022002:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,3,0,0],[1994,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,16,3,59,59],[1994,10,15,23,59,59],
+          '1994022003:00:00','1994021923:00:00','1994101603:59:59','1994101523:59:59' ],
+        [ [1994,10,16,4,0,0],[1994,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,2,19,2,59,59],[1995,2,18,23,59,59],
+          '1994101604:00:00','1994101601:00:00','1995021902:59:59','1995021823:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,2,19,3,0,0],[1995,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,15,3,59,59],[1995,10,14,23,59,59],
+          '1995021903:00:00','1995021823:00:00','1995101503:59:59','1995101423:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,2,11,2,59,59],[1996,2,10,23,59,59],
+          '1995101504:00:00','1995101501:00:00','1996021102:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,3,0,0],[1996,2,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,6,3,59,59],[1996,10,5,23,59,59],
+          '1996021103:00:00','1996021023:00:00','1996100603:59:59','1996100523:59:59' ],
+        [ [1996,10,6,4,0,0],[1996,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,2,16,2,59,59],[1997,2,15,23,59,59],
+          '1996100604:00:00','1996100601:00:00','1997021602:59:59','1997021523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,16,3,0,0],[1997,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,6,3,59,59],[1997,10,5,23,59,59],
+          '1997021603:00:00','1997021523:00:00','1997100603:59:59','1997100523:59:59' ],
+        [ [1997,10,6,4,0,0],[1997,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,1,2,59,59],[1998,2,28,23,59,59],
+          '1997100604:00:00','1997100601:00:00','1998030102:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,3,0,0],[1998,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,10,11,3,59,59],[1998,10,10,23,59,59],
+          '1998030103:00:00','1998022823:00:00','1998101103:59:59','1998101023:59:59' ],
+        [ [1998,10,11,4,0,0],[1998,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,2,21,2,59,59],[1999,2,20,23,59,59],
+          '1998101104:00:00','1998101101:00:00','1999022102:59:59','1999022023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,21,3,0,0],[1999,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,3,3,59,59],[1999,10,2,23,59,59],
+          '1999022103:00:00','1999022023:00:00','1999100303:59:59','1999100223:59:59' ],
+        [ [1999,10,3,4,0,0],[1999,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,2,27,2,59,59],[2000,2,26,23,59,59],
+          '1999100304:00:00','1999100301:00:00','2000022702:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,3,0,0],[2000,2,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,8,3,59,59],[2000,10,7,23,59,59],
+          '2000022703:00:00','2000022623:00:00','2000100803:59:59','2000100723:59:59' ],
+        [ [2000,10,8,4,0,0],[2000,10,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,2,18,2,59,59],[2001,2,17,23,59,59],
+          '2000100804:00:00','2000100801:00:00','2001021802:59:59','2001021723:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,2,18,3,0,0],[2001,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,14,3,59,59],[2001,10,13,23,59,59],
+          '2001021803:00:00','2001021723:00:00','2001101403:59:59','2001101323:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,2,17,2,59,59],[2002,2,16,23,59,59],
+          '2001101404:00:00','2001101401:00:00','2002021702:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,3,0,0],[2002,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,11,3,3,59,59],[2002,11,2,23,59,59],
+          '2002021703:00:00','2002021623:00:00','2002110303:59:59','2002110223:59:59' ],
+        [ [2002,11,3,4,0,0],[2002,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,2,16,2,59,59],[2003,2,15,23,59,59],
+          '2002110304:00:00','2002110301:00:00','2003021602:59:59','2003021523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,2,16,3,0,0],[2003,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,11,2,3,59,59],[2004,11,1,23,59,59],
+          '2003021603:00:00','2003021523:00:00','2004110203:59:59','2004110123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,11,2,4,0,0],[2004,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,2,20,2,59,59],[2005,2,19,23,59,59],
+          '2004110204:00:00','2004110201:00:00','2005022002:59:59','2005021923:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,2,20,3,0,0],[2005,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,16,3,59,59],[2005,10,15,23,59,59],
+          '2005022003:00:00','2005021923:00:00','2005101603:59:59','2005101523:59:59' ],
+        [ [2005,10,16,4,0,0],[2005,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,2,19,2,59,59],[2006,2,18,23,59,59],
+          '2005101604:00:00','2005101601:00:00','2006021902:59:59','2006021823:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,2,19,3,0,0],[2006,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,11,5,3,59,59],[2006,11,4,23,59,59],
+          '2006021903:00:00','2006021823:00:00','2006110503:59:59','2006110423:59:59' ],
+        [ [2006,11,5,4,0,0],[2006,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,2,25,2,59,59],[2007,2,24,23,59,59],
+          '2006110504:00:00','2006110501:00:00','2007022502:59:59','2007022423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,2,25,3,0,0],[2007,2,24,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,14,3,59,59],[2007,10,13,23,59,59],
+          '2007022503:00:00','2007022423:00:00','2007101403:59:59','2007101323:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,2,17,2,59,59],[2008,2,16,23,59,59],
+          '2007101404:00:00','2007101401:00:00','2008021702:59:59','2008021623:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,2,17,3,0,0],[2008,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,19,3,59,59],[2008,10,18,23,59,59],
+          '2008021703:00:00','2008021623:00:00','2008101903:59:59','2008101823:59:59' ],
+        [ [2008,10,19,4,0,0],[2008,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,2,15,2,59,59],[2009,2,14,23,59,59],
+          '2008101904:00:00','2008101901:00:00','2009021502:59:59','2009021423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,2,15,3,0,0],[2009,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,18,3,59,59],[2009,10,17,23,59,59],
+          '2009021503:00:00','2009021423:00:00','2009101803:59:59','2009101723:59:59' ],
+        [ [2009,10,18,4,0,0],[2009,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,2,21,2,59,59],[2010,2,20,23,59,59],
+          '2009101804:00:00','2009101801:00:00','2010022102:59:59','2010022023:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,2,21,3,0,0],[2010,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,17,3,59,59],[2010,10,16,23,59,59],
+          '2010022103:00:00','2010022023:00:00','2010101703:59:59','2010101623:59:59' ],
+        [ [2010,10,17,4,0,0],[2010,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,2,20,2,59,59],[2011,2,19,23,59,59],
+          '2010101704:00:00','2010101701:00:00','2011022002:59:59','2011021923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,2,20,3,0,0],[2011,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,10,16,3,59,59],[2011,10,15,23,59,59],
+          '2011022003:00:00','2011021923:00:00','2011101603:59:59','2011101523:59:59' ],
+        [ [2011,10,16,4,0,0],[2011,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,2,26,2,59,59],[2012,2,25,23,59,59],
+          '2011101604:00:00','2011101601:00:00','2012022602:59:59','2012022523:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,26,3,0,0],[2012,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,10,21,3,59,59],[2012,10,20,23,59,59],
+          '2012022603:00:00','2012022523:00:00','2012102103:59:59','2012102023:59:59' ],
+        [ [2012,10,21,4,0,0],[2012,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,2,17,2,59,59],[2013,2,16,23,59,59],
+          '2012102104:00:00','2012102101:00:00','2013021702:59:59','2013021623:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,2,17,3,0,0],[2013,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,10,20,3,59,59],[2013,10,19,23,59,59],
+          '2013021703:00:00','2013021623:00:00','2013102003:59:59','2013101923:59:59' ],
+        [ [2013,10,20,4,0,0],[2013,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,2,16,2,59,59],[2014,2,15,23,59,59],
+          '2013102004:00:00','2013102001:00:00','2014021602:59:59','2014021523:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,2,16,3,0,0],[2014,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,10,19,3,59,59],[2014,10,18,23,59,59],
+          '2014021603:00:00','2014021523:00:00','2014101903:59:59','2014101823:59:59' ],
+        [ [2014,10,19,4,0,0],[2014,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2015,2,22,2,59,59],[2015,2,21,23,59,59],
+          '2014101904:00:00','2014101901:00:00','2015022202:59:59','2015022123:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,2,22,3,0,0],[2015,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2015,10,18,3,59,59],[2015,10,17,23,59,59],
+          '2015022203:00:00','2015022123:00:00','2015101803:59:59','2015101723:59:59' ],
+        [ [2015,10,18,4,0,0],[2015,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,2,21,2,59,59],[2016,2,20,23,59,59],
+          '2015101804:00:00','2015101801:00:00','2016022102:59:59','2016022023:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,2,21,3,0,0],[2016,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,10,16,3,59,59],[2016,10,15,23,59,59],
+          '2016022103:00:00','2016022023:00:00','2016101603:59:59','2016101523:59:59' ],
+        [ [2016,10,16,4,0,0],[2016,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2017,2,19,2,59,59],[2017,2,18,23,59,59],
+          '2016101604:00:00','2016101601:00:00','2017021902:59:59','2017021823:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,2,19,3,0,0],[2017,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2017,10,15,3,59,59],[2017,10,14,23,59,59],
+          '2017021903:00:00','2017021823:00:00','2017101503:59:59','2017101423:59:59' ],
+        [ [2017,10,15,4,0,0],[2017,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2018,2,18,2,59,59],[2018,2,17,23,59,59],
+          '2017101504:00:00','2017101501:00:00','2018021802:59:59','2018021723:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,2,18,3,0,0],[2018,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2018,10,21,3,59,59],[2018,10,20,23,59,59],
+          '2018021803:00:00','2018021723:00:00','2018102103:59:59','2018102023:59:59' ],
+        [ [2018,10,21,4,0,0],[2018,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2019,2,17,2,59,59],[2019,2,16,23,59,59],
+          '2018102104:00:00','2018102101:00:00','2019021702:59:59','2019021623:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,2,17,3,0,0],[2019,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2019,10,20,3,59,59],[2019,10,19,23,59,59],
+          '2019021703:00:00','2019021623:00:00','2019102003:59:59','2019101923:59:59' ],
+        [ [2019,10,20,4,0,0],[2019,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2020,2,16,2,59,59],[2020,2,15,23,59,59],
+          '2019102004:00:00','2019102001:00:00','2020021602:59:59','2020021523:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,2,16,3,0,0],[2020,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2020,10,18,3,59,59],[2020,10,17,23,59,59],
+          '2020021603:00:00','2020021523:00:00','2020101803:59:59','2020101723:59:59' ],
+        [ [2020,10,18,4,0,0],[2020,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2021,2,21,2,59,59],[2021,2,20,23,59,59],
+          '2020101804:00:00','2020101801:00:00','2021022102:59:59','2021022023:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,2,21,3,0,0],[2021,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2021,10,17,3,59,59],[2021,10,16,23,59,59],
+          '2021022103:00:00','2021022023:00:00','2021101703:59:59','2021101623:59:59' ],
+        [ [2021,10,17,4,0,0],[2021,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2022,2,20,2,59,59],[2022,2,19,23,59,59],
+          '2021101704:00:00','2021101701:00:00','2022022002:59:59','2022021923:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,2,20,3,0,0],[2022,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2022,10,16,3,59,59],[2022,10,15,23,59,59],
+          '2022022003:00:00','2022021923:00:00','2022101603:59:59','2022101523:59:59' ],
+        [ [2022,10,16,4,0,0],[2022,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2023,2,26,2,59,59],[2023,2,25,23,59,59],
+          '2022101604:00:00','2022101601:00:00','2023022602:59:59','2023022523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,2,26,3,0,0],[2023,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2023,10,15,3,59,59],[2023,10,14,23,59,59],
+          '2023022603:00:00','2023022523:00:00','2023101503:59:59','2023101423:59:59' ],
+        [ [2023,10,15,4,0,0],[2023,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2024,2,18,2,59,59],[2024,2,17,23,59,59],
+          '2023101504:00:00','2023101501:00:00','2024021802:59:59','2024021723:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,2,18,3,0,0],[2024,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2024,10,20,3,59,59],[2024,10,19,23,59,59],
+          '2024021803:00:00','2024021723:00:00','2024102003:59:59','2024101923:59:59' ],
+        [ [2024,10,20,4,0,0],[2024,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2025,2,16,2,59,59],[2025,2,15,23,59,59],
+          '2024102004:00:00','2024102001:00:00','2025021602:59:59','2025021523:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,2,16,3,0,0],[2025,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2025,10,19,3,59,59],[2025,10,18,23,59,59],
+          '2025021603:00:00','2025021523:00:00','2025101903:59:59','2025101823:59:59' ],
+        [ [2025,10,19,4,0,0],[2025,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2026,2,22,2,59,59],[2026,2,21,23,59,59],
+          '2025101904:00:00','2025101901:00:00','2026022202:59:59','2026022123:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,2,22,3,0,0],[2026,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2026,10,18,3,59,59],[2026,10,17,23,59,59],
+          '2026022203:00:00','2026022123:00:00','2026101803:59:59','2026101723:59:59' ],
+        [ [2026,10,18,4,0,0],[2026,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2027,2,21,2,59,59],[2027,2,20,23,59,59],
+          '2026101804:00:00','2026101801:00:00','2027022102:59:59','2027022023:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,2,21,3,0,0],[2027,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2027,10,17,3,59,59],[2027,10,16,23,59,59],
+          '2027022103:00:00','2027022023:00:00','2027101703:59:59','2027101623:59:59' ],
+        [ [2027,10,17,4,0,0],[2027,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2028,2,20,2,59,59],[2028,2,19,23,59,59],
+          '2027101704:00:00','2027101701:00:00','2028022002:59:59','2028021923:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,2,20,3,0,0],[2028,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2028,10,15,3,59,59],[2028,10,14,23,59,59],
+          '2028022003:00:00','2028021923:00:00','2028101503:59:59','2028101423:59:59' ],
+        [ [2028,10,15,4,0,0],[2028,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2029,2,18,2,59,59],[2029,2,17,23,59,59],
+          '2028101504:00:00','2028101501:00:00','2029021802:59:59','2029021723:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,2,18,3,0,0],[2029,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2029,10,21,3,59,59],[2029,10,20,23,59,59],
+          '2029021803:00:00','2029021723:00:00','2029102103:59:59','2029102023:59:59' ],
+        [ [2029,10,21,4,0,0],[2029,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2030,2,17,2,59,59],[2030,2,16,23,59,59],
+          '2029102104:00:00','2029102101:00:00','2030021702:59:59','2030021623:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,2,17,3,0,0],[2030,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2030,10,20,3,59,59],[2030,10,19,23,59,59],
+          '2030021703:00:00','2030021623:00:00','2030102003:59:59','2030101923:59:59' ],
+        [ [2030,10,20,4,0,0],[2030,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2031,2,16,2,59,59],[2031,2,15,23,59,59],
+          '2030102004:00:00','2030102001:00:00','2031021602:59:59','2031021523:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,2,16,3,0,0],[2031,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2031,10,19,3,59,59],[2031,10,18,23,59,59],
+          '2031021603:00:00','2031021523:00:00','2031101903:59:59','2031101823:59:59' ],
+        [ [2031,10,19,4,0,0],[2031,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2032,2,15,2,59,59],[2032,2,14,23,59,59],
+          '2031101904:00:00','2031101901:00:00','2032021502:59:59','2032021423:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,2,15,3,0,0],[2032,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2032,10,17,3,59,59],[2032,10,16,23,59,59],
+          '2032021503:00:00','2032021423:00:00','2032101703:59:59','2032101623:59:59' ],
+        [ [2032,10,17,4,0,0],[2032,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2033,2,20,2,59,59],[2033,2,19,23,59,59],
+          '2032101704:00:00','2032101701:00:00','2033022002:59:59','2033021923:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,2,20,3,0,0],[2033,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2033,10,16,3,59,59],[2033,10,15,23,59,59],
+          '2033022003:00:00','2033021923:00:00','2033101603:59:59','2033101523:59:59' ],
+        [ [2033,10,16,4,0,0],[2033,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2034,2,26,2,59,59],[2034,2,25,23,59,59],
+          '2033101604:00:00','2033101601:00:00','2034022602:59:59','2034022523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,2,26,3,0,0],[2034,2,25,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2034,10,15,3,59,59],[2034,10,14,23,59,59],
+          '2034022603:00:00','2034022523:00:00','2034101503:59:59','2034101423:59:59' ],
+        [ [2034,10,15,4,0,0],[2034,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2035,2,18,2,59,59],[2035,2,17,23,59,59],
+          '2034101504:00:00','2034101501:00:00','2035021802:59:59','2035021723:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,2,18,3,0,0],[2035,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2035,10,21,3,59,59],[2035,10,20,23,59,59],
+          '2035021803:00:00','2035021723:00:00','2035102103:59:59','2035102023:59:59' ],
+        [ [2035,10,21,4,0,0],[2035,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2036,2,17,2,59,59],[2036,2,16,23,59,59],
+          '2035102104:00:00','2035102101:00:00','2036021702:59:59','2036021623:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,2,17,3,0,0],[2036,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2036,10,19,3,59,59],[2036,10,18,23,59,59],
+          '2036021703:00:00','2036021623:00:00','2036101903:59:59','2036101823:59:59' ],
+        [ [2036,10,19,4,0,0],[2036,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2037,2,22,2,59,59],[2037,2,21,23,59,59],
+          '2036101904:00:00','2036101901:00:00','2037022202:59:59','2037022123:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,2,22,3,0,0],[2037,2,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2037,10,18,3,59,59],[2037,10,17,23,59,59],
+          '2037022203:00:00','2037022123:00:00','2037101803:59:59','2037101723:59:59' ],
+        [ [2037,10,18,4,0,0],[2037,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2038,2,21,2,59,59],[2038,2,20,23,59,59],
+          '2037101804:00:00','2037101801:00:00','2038022102:59:59','2038022023:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,2,21,3,0,0],[2038,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2038,10,17,3,59,59],[2038,10,16,23,59,59],
+          '2038022103:00:00','2038022023:00:00','2038101703:59:59','2038101623:59:59' ],
+        [ [2038,10,17,4,0,0],[2038,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2039,2,20,2,59,59],[2039,2,19,23,59,59],
+          '2038101704:00:00','2038101701:00:00','2039022002:59:59','2039021923:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,2,20,3,0,0],[2039,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2039,10,16,3,59,59],[2039,10,15,23,59,59],
+          '2039022003:00:00','2039021923:00:00','2039101603:59:59','2039101523:59:59' ],
+        [ [2039,10,16,4,0,0],[2039,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2040,2,19,2,59,59],[2040,2,18,23,59,59],
+          '2039101604:00:00','2039101601:00:00','2040021902:59:59','2040021823:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,2,19,3,0,0],[2040,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2040,10,21,3,59,59],[2040,10,20,23,59,59],
+          '2040021903:00:00','2040021823:00:00','2040102103:59:59','2040102023:59:59' ],
+        [ [2040,10,21,4,0,0],[2040,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2041,2,17,2,59,59],[2041,2,16,23,59,59],
+          '2040102104:00:00','2040102101:00:00','2041021702:59:59','2041021623:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,2,17,3,0,0],[2041,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2041,10,20,3,59,59],[2041,10,19,23,59,59],
+          '2041021703:00:00','2041021623:00:00','2041102003:59:59','2041101923:59:59' ],
+        [ [2041,10,20,4,0,0],[2041,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2042,2,16,2,59,59],[2042,2,15,23,59,59],
+          '2041102004:00:00','2041102001:00:00','2042021602:59:59','2042021523:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,2,16,3,0,0],[2042,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2042,10,19,3,59,59],[2042,10,18,23,59,59],
+          '2042021603:00:00','2042021523:00:00','2042101903:59:59','2042101823:59:59' ],
+        [ [2042,10,19,4,0,0],[2042,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2043,2,15,2,59,59],[2043,2,14,23,59,59],
+          '2042101904:00:00','2042101901:00:00','2043021502:59:59','2043021423:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,2,15,3,0,0],[2043,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2043,10,18,3,59,59],[2043,10,17,23,59,59],
+          '2043021503:00:00','2043021423:00:00','2043101803:59:59','2043101723:59:59' ],
+        [ [2043,10,18,4,0,0],[2043,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2044,2,21,2,59,59],[2044,2,20,23,59,59],
+          '2043101804:00:00','2043101801:00:00','2044022102:59:59','2044022023:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,2,21,3,0,0],[2044,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2044,10,16,3,59,59],[2044,10,15,23,59,59],
+          '2044022103:00:00','2044022023:00:00','2044101603:59:59','2044101523:59:59' ],
+        [ [2044,10,16,4,0,0],[2044,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2045,2,19,2,59,59],[2045,2,18,23,59,59],
+          '2044101604:00:00','2044101601:00:00','2045021902:59:59','2045021823:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,2,19,3,0,0],[2045,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2045,10,15,3,59,59],[2045,10,14,23,59,59],
+          '2045021903:00:00','2045021823:00:00','2045101503:59:59','2045101423:59:59' ],
+        [ [2045,10,15,4,0,0],[2045,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2046,2,18,2,59,59],[2046,2,17,23,59,59],
+          '2045101504:00:00','2045101501:00:00','2046021802:59:59','2046021723:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,2,18,3,0,0],[2046,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2046,10,21,3,59,59],[2046,10,20,23,59,59],
+          '2046021803:00:00','2046021723:00:00','2046102103:59:59','2046102023:59:59' ],
+        [ [2046,10,21,4,0,0],[2046,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2047,2,17,2,59,59],[2047,2,16,23,59,59],
+          '2046102104:00:00','2046102101:00:00','2047021702:59:59','2047021623:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,2,17,3,0,0],[2047,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2047,10,20,3,59,59],[2047,10,19,23,59,59],
+          '2047021703:00:00','2047021623:00:00','2047102003:59:59','2047101923:59:59' ],
+        [ [2047,10,20,4,0,0],[2047,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2048,2,16,2,59,59],[2048,2,15,23,59,59],
+          '2047102004:00:00','2047102001:00:00','2048021602:59:59','2048021523:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,2,16,3,0,0],[2048,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2048,10,18,3,59,59],[2048,10,17,23,59,59],
+          '2048021603:00:00','2048021523:00:00','2048101803:59:59','2048101723:59:59' ],
+        [ [2048,10,18,4,0,0],[2048,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2049,2,21,2,59,59],[2049,2,20,23,59,59],
+          '2048101804:00:00','2048101801:00:00','2049022102:59:59','2049022023:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,2,21,3,0,0],[2049,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2049,10,17,3,59,59],[2049,10,16,23,59,59],
+          '2049022103:00:00','2049022023:00:00','2049101703:59:59','2049101623:59:59' ],
+        [ [2049,10,17,4,0,0],[2049,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2050,2,20,2,59,59],[2050,2,19,23,59,59],
+          '2049101704:00:00','2049101701:00:00','2050022002:59:59','2050021923:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,2,20,3,0,0],[2050,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2050,10,16,3,59,59],[2050,10,15,23,59,59],
+          '2050022003:00:00','2050021923:00:00','2050101603:59:59','2050101523:59:59' ],
+        [ [2050,10,16,4,0,0],[2050,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2051,2,19,2,59,59],[2051,2,18,23,59,59],
+          '2050101604:00:00','2050101601:00:00','2051021902:59:59','2051021823:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,2,19,3,0,0],[2051,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2051,10,15,3,59,59],[2051,10,14,23,59,59],
+          '2051021903:00:00','2051021823:00:00','2051101503:59:59','2051101423:59:59' ],
+        [ [2051,10,15,4,0,0],[2051,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2052,2,18,2,59,59],[2052,2,17,23,59,59],
+          '2051101504:00:00','2051101501:00:00','2052021802:59:59','2052021723:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,2,18,3,0,0],[2052,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2052,10,20,3,59,59],[2052,10,19,23,59,59],
+          '2052021803:00:00','2052021723:00:00','2052102003:59:59','2052101923:59:59' ],
+        [ [2052,10,20,4,0,0],[2052,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2053,2,16,2,59,59],[2053,2,15,23,59,59],
+          '2052102004:00:00','2052102001:00:00','2053021602:59:59','2053021523:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,2,16,3,0,0],[2053,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2053,10,19,3,59,59],[2053,10,18,23,59,59],
+          '2053021603:00:00','2053021523:00:00','2053101903:59:59','2053101823:59:59' ],
+        [ [2053,10,19,4,0,0],[2053,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2054,2,15,2,59,59],[2054,2,14,23,59,59],
+          '2053101904:00:00','2053101901:00:00','2054021502:59:59','2054021423:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,2,15,3,0,0],[2054,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2054,10,18,3,59,59],[2054,10,17,23,59,59],
+          '2054021503:00:00','2054021423:00:00','2054101803:59:59','2054101723:59:59' ],
+        [ [2054,10,18,4,0,0],[2054,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2055,2,21,2,59,59],[2055,2,20,23,59,59],
+          '2054101804:00:00','2054101801:00:00','2055022102:59:59','2055022023:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,2,21,3,0,0],[2055,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2055,10,17,3,59,59],[2055,10,16,23,59,59],
+          '2055022103:00:00','2055022023:00:00','2055101703:59:59','2055101623:59:59' ],
+        [ [2055,10,17,4,0,0],[2055,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2056,2,20,2,59,59],[2056,2,19,23,59,59],
+          '2055101704:00:00','2055101701:00:00','2056022002:59:59','2056021923:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,2,20,3,0,0],[2056,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2056,10,15,3,59,59],[2056,10,14,23,59,59],
+          '2056022003:00:00','2056021923:00:00','2056101503:59:59','2056101423:59:59' ],
+        [ [2056,10,15,4,0,0],[2056,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2057,2,18,2,59,59],[2057,2,17,23,59,59],
+          '2056101504:00:00','2056101501:00:00','2057021802:59:59','2057021723:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,2,18,3,0,0],[2057,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2057,10,21,3,59,59],[2057,10,20,23,59,59],
+          '2057021803:00:00','2057021723:00:00','2057102103:59:59','2057102023:59:59' ],
+        [ [2057,10,21,4,0,0],[2057,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2058,2,17,2,59,59],[2058,2,16,23,59,59],
+          '2057102104:00:00','2057102101:00:00','2058021702:59:59','2058021623:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,2,17,3,0,0],[2058,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2058,10,20,3,59,59],[2058,10,19,23,59,59],
+          '2058021703:00:00','2058021623:00:00','2058102003:59:59','2058101923:59:59' ],
+        [ [2058,10,20,4,0,0],[2058,10,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2059,2,16,2,59,59],[2059,2,15,23,59,59],
+          '2058102004:00:00','2058102001:00:00','2059021602:59:59','2059021523:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,2,16,3,0,0],[2059,2,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2059,10,19,3,59,59],[2059,10,18,23,59,59],
+          '2059021603:00:00','2059021523:00:00','2059101903:59:59','2059101823:59:59' ],
+        [ [2059,10,19,4,0,0],[2059,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2060,2,15,2,59,59],[2060,2,14,23,59,59],
+          '2059101904:00:00','2059101901:00:00','2060021502:59:59','2060021423:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,2,15,3,0,0],[2060,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2060,10,17,3,59,59],[2060,10,16,23,59,59],
+          '2060021503:00:00','2060021423:00:00','2060101703:59:59','2060101623:59:59' ],
+        [ [2060,10,17,4,0,0],[2060,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2061,2,20,2,59,59],[2061,2,19,23,59,59],
+          '2060101704:00:00','2060101701:00:00','2061022002:59:59','2061021923:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,2,20,3,0,0],[2061,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2061,10,16,3,59,59],[2061,10,15,23,59,59],
+          '2061022003:00:00','2061021923:00:00','2061101603:59:59','2061101523:59:59' ],
+        [ [2061,10,16,4,0,0],[2061,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2062,2,19,2,59,59],[2062,2,18,23,59,59],
+          '2061101604:00:00','2061101601:00:00','2062021902:59:59','2062021823:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,2,19,3,0,0],[2062,2,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2062,10,15,3,59,59],[2062,10,14,23,59,59],
+          '2062021903:00:00','2062021823:00:00','2062101503:59:59','2062101423:59:59' ],
+        [ [2062,10,15,4,0,0],[2062,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2063,2,18,2,59,59],[2063,2,17,23,59,59],
+          '2062101504:00:00','2062101501:00:00','2063021802:59:59','2063021723:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,2,18,3,0,0],[2063,2,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2063,10,21,3,59,59],[2063,10,20,23,59,59],
+          '2063021803:00:00','2063021723:00:00','2063102103:59:59','2063102023:59:59' ],
+        [ [2063,10,21,4,0,0],[2063,10,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2064,2,17,2,59,59],[2064,2,16,23,59,59],
+          '2063102104:00:00','2063102101:00:00','2064021702:59:59','2064021623:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,2,17,3,0,0],[2064,2,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2064,10,19,3,59,59],[2064,10,18,23,59,59],
+          '2064021703:00:00','2064021623:00:00','2064101903:59:59','2064101823:59:59' ],
+        [ [2064,10,19,4,0,0],[2064,10,19,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2065,2,15,2,59,59],[2065,2,14,23,59,59],
+          '2064101904:00:00','2064101901:00:00','2065021502:59:59','2065021423:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,2,15,3,0,0],[2065,2,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2065,10,18,3,59,59],[2065,10,17,23,59,59],
+          '2065021503:00:00','2065021423:00:00','2065101803:59:59','2065101723:59:59' ],
+        [ [2065,10,18,4,0,0],[2065,10,18,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2066,2,21,2,59,59],[2066,2,20,23,59,59],
+          '2065101804:00:00','2065101801:00:00','2066022102:59:59','2066022023:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,2,21,3,0,0],[2066,2,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2066,10,17,3,59,59],[2066,10,16,23,59,59],
+          '2066022103:00:00','2066022023:00:00','2066101703:59:59','2066101623:59:59' ],
+        [ [2066,10,17,4,0,0],[2066,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2067,2,20,2,59,59],[2067,2,19,23,59,59],
+          '2066101704:00:00','2066101701:00:00','2067022002:59:59','2067021923:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,2,20,3,0,0],[2067,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2067,10,16,3,59,59],[2067,10,15,23,59,59],
+          '2067022003:00:00','2067021923:00:00','2067101603:59:59','2067101523:59:59' ],
+        [ [2067,10,16,4,0,0],[2067,10,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2068,2,19,2,59,59],[2068,2,18,23,59,59],
+          '2067101604:00:00','2067101601:00:00','2068021902:59:59','2068021823:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '02' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-04',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amcura00.pm b/lib/Date/Manip/TZ/amcura00.pm
new file mode 100644
index 0000000..b098b7f
--- /dev/null
+++ b/lib/Date/Manip/TZ/amcura00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::amcura00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,24,13],'-04:35:47',[-4,-35,-47],
+          'LMT',0,[1912,2,12,4,35,46],[1912,2,11,23,59,59],
+          '0001010200:00:00','0001010119:24:13','1912021204:35:46','1912021123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,2,12,4,35,47],[1912,2,12,0,5,47],'-04:30:00',[-4,-30,0],
+          '-0430',0,[1965,1,1,4,29,59],[1964,12,31,23,59,59],
+          '1912021204:35:47','1912021200:05:47','1965010104:29:59','1964123123:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,1,4,30,0],[1965,1,1,0,30,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1965010104:30:00','1965010100:30:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amdanm00.pm b/lib/Date/Manip/TZ/amdanm00.pm
new file mode 100644
index 0000000..a6b50de
--- /dev/null
+++ b/lib/Date/Manip/TZ/amdanm00.pm
@@ -0,0 +1,199 @@
+package #
+Date::Manip::TZ::amdanm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,45,20],'-01:14:40',[-1,-14,-40],
+          'LMT',0,[1916,7,28,1,14,39],[1916,7,27,23,59,59],
+          '0001010200:00:00','0001010122:45:20','1916072801:14:39','1916072723:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,28,1,14,40],[1916,7,27,22,14,40],'-03:00:00',[-3,0,0],
+          '-03',0,[1980,4,6,4,59,59],[1980,4,6,1,59,59],
+          '1916072801:14:40','1916072722:14:40','1980040604:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,5,0,0],[1980,4,6,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1980,9,28,0,59,59],[1980,9,27,22,59,59],
+          '1980040605:00:00','1980040603:00:00','1980092800:59:59','1980092722:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1981,3,29,0,59,59],[1981,3,28,21,59,59],
+          '1980092801:00:00','1980092722:00:00','1981032900:59:59','1981032821:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1981,9,27,0,59,59],[1981,9,26,22,59,59],
+          '1981032901:00:00','1981032823:00:00','1981092700:59:59','1981092622:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1982,3,28,0,59,59],[1982,3,27,21,59,59],
+          '1981092701:00:00','1981092622:00:00','1982032800:59:59','1982032721:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1982,9,26,0,59,59],[1982,9,25,22,59,59],
+          '1982032801:00:00','1982032723:00:00','1982092600:59:59','1982092522:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1983,3,27,0,59,59],[1983,3,26,21,59,59],
+          '1982092601:00:00','1982092522:00:00','1983032700:59:59','1983032621:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1983,9,25,0,59,59],[1983,9,24,22,59,59],
+          '1983032701:00:00','1983032623:00:00','1983092500:59:59','1983092422:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1984,3,25,0,59,59],[1984,3,24,21,59,59],
+          '1983092501:00:00','1983092422:00:00','1984032500:59:59','1984032421:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1984,9,30,0,59,59],[1984,9,29,22,59,59],
+          '1984032501:00:00','1984032423:00:00','1984093000:59:59','1984092922:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,3,31,0,59,59],[1985,3,30,21,59,59],
+          '1984093001:00:00','1984092922:00:00','1985033100:59:59','1985033021:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1985,9,29,0,59,59],[1985,9,28,22,59,59],
+          '1985033101:00:00','1985033023:00:00','1985092900:59:59','1985092822:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,3,30,0,59,59],[1986,3,29,21,59,59],
+          '1985092901:00:00','1985092822:00:00','1986033000:59:59','1986032921:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,9,28,0,59,59],[1986,9,27,22,59,59],
+          '1986033001:00:00','1986032923:00:00','1986092800:59:59','1986092722:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,3,29,0,59,59],[1987,3,28,21,59,59],
+          '1986092801:00:00','1986092722:00:00','1987032900:59:59','1987032821:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,9,27,0,59,59],[1987,9,26,22,59,59],
+          '1987032901:00:00','1987032823:00:00','1987092700:59:59','1987092622:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,3,27,0,59,59],[1988,3,26,21,59,59],
+          '1987092701:00:00','1987092622:00:00','1988032700:59:59','1988032621:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,9,25,0,59,59],[1988,9,24,22,59,59],
+          '1988032701:00:00','1988032623:00:00','1988092500:59:59','1988092422:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,3,26,0,59,59],[1989,3,25,21,59,59],
+          '1988092501:00:00','1988092422:00:00','1989032600:59:59','1989032521:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,9,24,0,59,59],[1989,9,23,22,59,59],
+          '1989032601:00:00','1989032523:00:00','1989092400:59:59','1989092322:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,23,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,3,25,0,59,59],[1990,3,24,21,59,59],
+          '1989092401:00:00','1989092322:00:00','1990032500:59:59','1990032421:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,9,30,0,59,59],[1990,9,29,22,59,59],
+          '1990032501:00:00','1990032423:00:00','1990093000:59:59','1990092922:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,3,31,0,59,59],[1991,3,30,21,59,59],
+          '1990093001:00:00','1990092922:00:00','1991033100:59:59','1991033021:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,9,29,0,59,59],[1991,9,28,22,59,59],
+          '1991033101:00:00','1991033023:00:00','1991092900:59:59','1991092822:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,3,29,0,59,59],[1992,3,28,21,59,59],
+          '1991092901:00:00','1991092822:00:00','1992032900:59:59','1992032821:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,9,27,0,59,59],[1992,9,26,22,59,59],
+          '1992032901:00:00','1992032823:00:00','1992092700:59:59','1992092622:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1993,3,28,0,59,59],[1993,3,27,21,59,59],
+          '1992092701:00:00','1992092622:00:00','1993032800:59:59','1993032721:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,9,26,0,59,59],[1993,9,25,22,59,59],
+          '1993032801:00:00','1993032723:00:00','1993092600:59:59','1993092522:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1994,3,27,0,59,59],[1994,3,26,21,59,59],
+          '1993092601:00:00','1993092522:00:00','1994032700:59:59','1994032621:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1994,9,25,0,59,59],[1994,9,24,22,59,59],
+          '1994032701:00:00','1994032623:00:00','1994092500:59:59','1994092422:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,3,26,0,59,59],[1995,3,25,21,59,59],
+          '1994092501:00:00','1994092422:00:00','1995032600:59:59','1995032521:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1995,9,24,0,59,59],[1995,9,23,22,59,59],
+          '1995032601:00:00','1995032523:00:00','1995092400:59:59','1995092322:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,23,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,1,1,2,59,59],[1995,12,31,23,59,59],
+          '1995092401:00:00','1995092322:00:00','1996010102:59:59','1995123123:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,1,1,3,0,0],[1996,1,1,3,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1996010103:00:00','1996010103:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amdaws00.pm b/lib/Date/Manip/TZ/amdaws00.pm
new file mode 100644
index 0000000..1fc1597
--- /dev/null
+++ b/lib/Date/Manip/TZ/amdaws00.pm
@@ -0,0 +1,913 @@
+package #
+Date::Manip::TZ::amdaws00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,42,20],'-09:17:40',[-9,-17,-40],
+          'LMT',0,[1900,8,20,9,17,39],[1900,8,19,23,59,59],
+          '0001010200:00:00','0001010114:42:20','1900082009:17:39','1900081923:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,9,17,40],[1900,8,20,0,17,40],'-09:00:00',[-9,0,0],
+          'YST',0,[1918,4,14,10,59,59],[1918,4,14,1,59,59],
+          '1900082009:17:40','1900082000:17:40','1918041410:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,11,0,0],[1918,4,14,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1918,10,27,9,59,59],[1918,10,27,1,59,59],
+          '1918041411:00:00','1918041403:00:00','1918102709:59:59','1918102701:59:59' ],
+        [ [1918,10,27,10,0,0],[1918,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1919,5,25,10,59,59],[1919,5,25,1,59,59],
+          '1918102710:00:00','1918102701:00:00','1919052510:59:59','1919052501:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,5,25,11,0,0],[1919,5,25,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1919,11,1,7,59,59],[1919,10,31,23,59,59],
+          '1919052511:00:00','1919052503:00:00','1919110107:59:59','1919103123:59:59' ],
+        [ [1919,11,1,8,0,0],[1919,10,31,23,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1942,2,9,10,59,59],[1942,2,9,1,59,59],
+          '1919110108:00:00','1919103123:00:00','1942020910:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,11,0,0],[1942,2,9,3,0,0],'-08:00:00',[-8,0,0],
+          'YWT',1,[1945,8,14,22,59,59],[1945,8,14,14,59,59],
+          '1942020911:00:00','1942020903:00:00','1945081422:59:59','1945081414:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,15,0,0],'-08:00:00',[-8,0,0],
+          'YPT',1,[1945,9,30,9,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081415:00:00','1945093009:59:59','1945093001:59:59' ],
+        [ [1945,9,30,10,0,0],[1945,9,30,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1965,4,25,8,59,59],[1965,4,24,23,59,59],
+          '1945093010:00:00','1945093001:00:00','1965042508:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,9,0,0],[1965,4,25,2,0,0],'-07:00:00',[-7,0,0],
+          'YDDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042509:00:00','1965042502:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,0,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1973,10,28,8,59,59],[1973,10,27,23,59,59],
+          '1965103109:00:00','1965103100:00:00','1973102808:59:59','1973102723:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,3,11,9,59,59],[2007,3,11,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007031109:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,10,0,0],[2007,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,11,4,8,59,59],[2007,11,4,1,59,59],
+          '2007031110:00:00','2007031103:00:00','2007110408:59:59','2007110401:59:59' ],
+        [ [2007,11,4,9,0,0],[2007,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,3,9,9,59,59],[2008,3,9,1,59,59],
+          '2007110409:00:00','2007110401:00:00','2008030909:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,10,0,0],[2008,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,11,2,8,59,59],[2008,11,2,1,59,59],
+          '2008030910:00:00','2008030903:00:00','2008110208:59:59','2008110201:59:59' ],
+        [ [2008,11,2,9,0,0],[2008,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,3,8,9,59,59],[2009,3,8,1,59,59],
+          '2008110209:00:00','2008110201:00:00','2009030809:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,10,0,0],[2009,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,11,1,8,59,59],[2009,11,1,1,59,59],
+          '2009030810:00:00','2009030803:00:00','2009110108:59:59','2009110101:59:59' ],
+        [ [2009,11,1,9,0,0],[2009,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009110109:00:00','2009110101:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2015,11,1,8,59,59],[2015,11,1,1,59,59],
+          '2015030810:00:00','2015030803:00:00','2015110108:59:59','2015110101:59:59' ],
+        [ [2015,11,1,9,0,0],[2015,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2016,3,13,9,59,59],[2016,3,13,1,59,59],
+          '2015110109:00:00','2015110101:00:00','2016031309:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,10,0,0],[2016,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2016,11,6,8,59,59],[2016,11,6,1,59,59],
+          '2016031310:00:00','2016031303:00:00','2016110608:59:59','2016110601:59:59' ],
+        [ [2016,11,6,9,0,0],[2016,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2017,3,12,9,59,59],[2017,3,12,1,59,59],
+          '2016110609:00:00','2016110601:00:00','2017031209:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,10,0,0],[2017,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2017,11,5,8,59,59],[2017,11,5,1,59,59],
+          '2017031210:00:00','2017031203:00:00','2017110508:59:59','2017110501:59:59' ],
+        [ [2017,11,5,9,0,0],[2017,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2018,3,11,9,59,59],[2018,3,11,1,59,59],
+          '2017110509:00:00','2017110501:00:00','2018031109:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,10,0,0],[2018,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2018,11,4,8,59,59],[2018,11,4,1,59,59],
+          '2018031110:00:00','2018031103:00:00','2018110408:59:59','2018110401:59:59' ],
+        [ [2018,11,4,9,0,0],[2018,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2019,3,10,9,59,59],[2019,3,10,1,59,59],
+          '2018110409:00:00','2018110401:00:00','2019031009:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,10,0,0],[2019,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2019,11,3,8,59,59],[2019,11,3,1,59,59],
+          '2019031010:00:00','2019031003:00:00','2019110308:59:59','2019110301:59:59' ],
+        [ [2019,11,3,9,0,0],[2019,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2020,3,8,9,59,59],[2020,3,8,1,59,59],
+          '2019110309:00:00','2019110301:00:00','2020030809:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,10,0,0],[2020,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2020,11,1,8,59,59],[2020,11,1,1,59,59],
+          '2020030810:00:00','2020030803:00:00','2020110108:59:59','2020110101:59:59' ],
+        [ [2020,11,1,9,0,0],[2020,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2021,3,14,9,59,59],[2021,3,14,1,59,59],
+          '2020110109:00:00','2020110101:00:00','2021031409:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,10,0,0],[2021,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2021,11,7,8,59,59],[2021,11,7,1,59,59],
+          '2021031410:00:00','2021031403:00:00','2021110708:59:59','2021110701:59:59' ],
+        [ [2021,11,7,9,0,0],[2021,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2022,3,13,9,59,59],[2022,3,13,1,59,59],
+          '2021110709:00:00','2021110701:00:00','2022031309:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,10,0,0],[2022,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2022,11,6,8,59,59],[2022,11,6,1,59,59],
+          '2022031310:00:00','2022031303:00:00','2022110608:59:59','2022110601:59:59' ],
+        [ [2022,11,6,9,0,0],[2022,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2023,3,12,9,59,59],[2023,3,12,1,59,59],
+          '2022110609:00:00','2022110601:00:00','2023031209:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,10,0,0],[2023,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2023,11,5,8,59,59],[2023,11,5,1,59,59],
+          '2023031210:00:00','2023031203:00:00','2023110508:59:59','2023110501:59:59' ],
+        [ [2023,11,5,9,0,0],[2023,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2024,3,10,9,59,59],[2024,3,10,1,59,59],
+          '2023110509:00:00','2023110501:00:00','2024031009:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,10,0,0],[2024,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2024,11,3,8,59,59],[2024,11,3,1,59,59],
+          '2024031010:00:00','2024031003:00:00','2024110308:59:59','2024110301:59:59' ],
+        [ [2024,11,3,9,0,0],[2024,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2025,3,9,9,59,59],[2025,3,9,1,59,59],
+          '2024110309:00:00','2024110301:00:00','2025030909:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,10,0,0],[2025,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2025,11,2,8,59,59],[2025,11,2,1,59,59],
+          '2025030910:00:00','2025030903:00:00','2025110208:59:59','2025110201:59:59' ],
+        [ [2025,11,2,9,0,0],[2025,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2026,3,8,9,59,59],[2026,3,8,1,59,59],
+          '2025110209:00:00','2025110201:00:00','2026030809:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,10,0,0],[2026,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2026,11,1,8,59,59],[2026,11,1,1,59,59],
+          '2026030810:00:00','2026030803:00:00','2026110108:59:59','2026110101:59:59' ],
+        [ [2026,11,1,9,0,0],[2026,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2027,3,14,9,59,59],[2027,3,14,1,59,59],
+          '2026110109:00:00','2026110101:00:00','2027031409:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,10,0,0],[2027,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2027,11,7,8,59,59],[2027,11,7,1,59,59],
+          '2027031410:00:00','2027031403:00:00','2027110708:59:59','2027110701:59:59' ],
+        [ [2027,11,7,9,0,0],[2027,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2028,3,12,9,59,59],[2028,3,12,1,59,59],
+          '2027110709:00:00','2027110701:00:00','2028031209:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,10,0,0],[2028,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2028,11,5,8,59,59],[2028,11,5,1,59,59],
+          '2028031210:00:00','2028031203:00:00','2028110508:59:59','2028110501:59:59' ],
+        [ [2028,11,5,9,0,0],[2028,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2029,3,11,9,59,59],[2029,3,11,1,59,59],
+          '2028110509:00:00','2028110501:00:00','2029031109:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,10,0,0],[2029,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2029,11,4,8,59,59],[2029,11,4,1,59,59],
+          '2029031110:00:00','2029031103:00:00','2029110408:59:59','2029110401:59:59' ],
+        [ [2029,11,4,9,0,0],[2029,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2030,3,10,9,59,59],[2030,3,10,1,59,59],
+          '2029110409:00:00','2029110401:00:00','2030031009:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,10,0,0],[2030,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2030,11,3,8,59,59],[2030,11,3,1,59,59],
+          '2030031010:00:00','2030031003:00:00','2030110308:59:59','2030110301:59:59' ],
+        [ [2030,11,3,9,0,0],[2030,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2031,3,9,9,59,59],[2031,3,9,1,59,59],
+          '2030110309:00:00','2030110301:00:00','2031030909:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,10,0,0],[2031,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2031,11,2,8,59,59],[2031,11,2,1,59,59],
+          '2031030910:00:00','2031030903:00:00','2031110208:59:59','2031110201:59:59' ],
+        [ [2031,11,2,9,0,0],[2031,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2032,3,14,9,59,59],[2032,3,14,1,59,59],
+          '2031110209:00:00','2031110201:00:00','2032031409:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,10,0,0],[2032,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2032,11,7,8,59,59],[2032,11,7,1,59,59],
+          '2032031410:00:00','2032031403:00:00','2032110708:59:59','2032110701:59:59' ],
+        [ [2032,11,7,9,0,0],[2032,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2033,3,13,9,59,59],[2033,3,13,1,59,59],
+          '2032110709:00:00','2032110701:00:00','2033031309:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,10,0,0],[2033,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2033,11,6,8,59,59],[2033,11,6,1,59,59],
+          '2033031310:00:00','2033031303:00:00','2033110608:59:59','2033110601:59:59' ],
+        [ [2033,11,6,9,0,0],[2033,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2034,3,12,9,59,59],[2034,3,12,1,59,59],
+          '2033110609:00:00','2033110601:00:00','2034031209:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,10,0,0],[2034,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2034,11,5,8,59,59],[2034,11,5,1,59,59],
+          '2034031210:00:00','2034031203:00:00','2034110508:59:59','2034110501:59:59' ],
+        [ [2034,11,5,9,0,0],[2034,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2035,3,11,9,59,59],[2035,3,11,1,59,59],
+          '2034110509:00:00','2034110501:00:00','2035031109:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,10,0,0],[2035,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2035,11,4,8,59,59],[2035,11,4,1,59,59],
+          '2035031110:00:00','2035031103:00:00','2035110408:59:59','2035110401:59:59' ],
+        [ [2035,11,4,9,0,0],[2035,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2036,3,9,9,59,59],[2036,3,9,1,59,59],
+          '2035110409:00:00','2035110401:00:00','2036030909:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,10,0,0],[2036,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2036,11,2,8,59,59],[2036,11,2,1,59,59],
+          '2036030910:00:00','2036030903:00:00','2036110208:59:59','2036110201:59:59' ],
+        [ [2036,11,2,9,0,0],[2036,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2037,3,8,9,59,59],[2037,3,8,1,59,59],
+          '2036110209:00:00','2036110201:00:00','2037030809:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,10,0,0],[2037,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2037,11,1,8,59,59],[2037,11,1,1,59,59],
+          '2037030810:00:00','2037030803:00:00','2037110108:59:59','2037110101:59:59' ],
+        [ [2037,11,1,9,0,0],[2037,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2038,3,14,9,59,59],[2038,3,14,1,59,59],
+          '2037110109:00:00','2037110101:00:00','2038031409:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,10,0,0],[2038,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2038,11,7,8,59,59],[2038,11,7,1,59,59],
+          '2038031410:00:00','2038031403:00:00','2038110708:59:59','2038110701:59:59' ],
+        [ [2038,11,7,9,0,0],[2038,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2039,3,13,9,59,59],[2039,3,13,1,59,59],
+          '2038110709:00:00','2038110701:00:00','2039031309:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,10,0,0],[2039,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2039,11,6,8,59,59],[2039,11,6,1,59,59],
+          '2039031310:00:00','2039031303:00:00','2039110608:59:59','2039110601:59:59' ],
+        [ [2039,11,6,9,0,0],[2039,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2040,3,11,9,59,59],[2040,3,11,1,59,59],
+          '2039110609:00:00','2039110601:00:00','2040031109:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,10,0,0],[2040,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2040,11,4,8,59,59],[2040,11,4,1,59,59],
+          '2040031110:00:00','2040031103:00:00','2040110408:59:59','2040110401:59:59' ],
+        [ [2040,11,4,9,0,0],[2040,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2041,3,10,9,59,59],[2041,3,10,1,59,59],
+          '2040110409:00:00','2040110401:00:00','2041031009:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,10,0,0],[2041,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2041,11,3,8,59,59],[2041,11,3,1,59,59],
+          '2041031010:00:00','2041031003:00:00','2041110308:59:59','2041110301:59:59' ],
+        [ [2041,11,3,9,0,0],[2041,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2042,3,9,9,59,59],[2042,3,9,1,59,59],
+          '2041110309:00:00','2041110301:00:00','2042030909:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,10,0,0],[2042,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2042,11,2,8,59,59],[2042,11,2,1,59,59],
+          '2042030910:00:00','2042030903:00:00','2042110208:59:59','2042110201:59:59' ],
+        [ [2042,11,2,9,0,0],[2042,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2043,3,8,9,59,59],[2043,3,8,1,59,59],
+          '2042110209:00:00','2042110201:00:00','2043030809:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,10,0,0],[2043,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2043,11,1,8,59,59],[2043,11,1,1,59,59],
+          '2043030810:00:00','2043030803:00:00','2043110108:59:59','2043110101:59:59' ],
+        [ [2043,11,1,9,0,0],[2043,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2044,3,13,9,59,59],[2044,3,13,1,59,59],
+          '2043110109:00:00','2043110101:00:00','2044031309:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,10,0,0],[2044,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2044,11,6,8,59,59],[2044,11,6,1,59,59],
+          '2044031310:00:00','2044031303:00:00','2044110608:59:59','2044110601:59:59' ],
+        [ [2044,11,6,9,0,0],[2044,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2045,3,12,9,59,59],[2045,3,12,1,59,59],
+          '2044110609:00:00','2044110601:00:00','2045031209:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,10,0,0],[2045,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2045,11,5,8,59,59],[2045,11,5,1,59,59],
+          '2045031210:00:00','2045031203:00:00','2045110508:59:59','2045110501:59:59' ],
+        [ [2045,11,5,9,0,0],[2045,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2046,3,11,9,59,59],[2046,3,11,1,59,59],
+          '2045110509:00:00','2045110501:00:00','2046031109:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,10,0,0],[2046,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2046,11,4,8,59,59],[2046,11,4,1,59,59],
+          '2046031110:00:00','2046031103:00:00','2046110408:59:59','2046110401:59:59' ],
+        [ [2046,11,4,9,0,0],[2046,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2047,3,10,9,59,59],[2047,3,10,1,59,59],
+          '2046110409:00:00','2046110401:00:00','2047031009:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,10,0,0],[2047,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2047,11,3,8,59,59],[2047,11,3,1,59,59],
+          '2047031010:00:00','2047031003:00:00','2047110308:59:59','2047110301:59:59' ],
+        [ [2047,11,3,9,0,0],[2047,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2048,3,8,9,59,59],[2048,3,8,1,59,59],
+          '2047110309:00:00','2047110301:00:00','2048030809:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,10,0,0],[2048,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2048,11,1,8,59,59],[2048,11,1,1,59,59],
+          '2048030810:00:00','2048030803:00:00','2048110108:59:59','2048110101:59:59' ],
+        [ [2048,11,1,9,0,0],[2048,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2049,3,14,9,59,59],[2049,3,14,1,59,59],
+          '2048110109:00:00','2048110101:00:00','2049031409:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,10,0,0],[2049,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2049,11,7,8,59,59],[2049,11,7,1,59,59],
+          '2049031410:00:00','2049031403:00:00','2049110708:59:59','2049110701:59:59' ],
+        [ [2049,11,7,9,0,0],[2049,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2050,3,13,9,59,59],[2050,3,13,1,59,59],
+          '2049110709:00:00','2049110701:00:00','2050031309:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,10,0,0],[2050,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2050,11,6,8,59,59],[2050,11,6,1,59,59],
+          '2050031310:00:00','2050031303:00:00','2050110608:59:59','2050110601:59:59' ],
+        [ [2050,11,6,9,0,0],[2050,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2051,3,12,9,59,59],[2051,3,12,1,59,59],
+          '2050110609:00:00','2050110601:00:00','2051031209:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,10,0,0],[2051,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2051,11,5,8,59,59],[2051,11,5,1,59,59],
+          '2051031210:00:00','2051031203:00:00','2051110508:59:59','2051110501:59:59' ],
+        [ [2051,11,5,9,0,0],[2051,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2052,3,10,9,59,59],[2052,3,10,1,59,59],
+          '2051110509:00:00','2051110501:00:00','2052031009:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,10,0,0],[2052,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2052,11,3,8,59,59],[2052,11,3,1,59,59],
+          '2052031010:00:00','2052031003:00:00','2052110308:59:59','2052110301:59:59' ],
+        [ [2052,11,3,9,0,0],[2052,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2053,3,9,9,59,59],[2053,3,9,1,59,59],
+          '2052110309:00:00','2052110301:00:00','2053030909:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,10,0,0],[2053,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2053,11,2,8,59,59],[2053,11,2,1,59,59],
+          '2053030910:00:00','2053030903:00:00','2053110208:59:59','2053110201:59:59' ],
+        [ [2053,11,2,9,0,0],[2053,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2054,3,8,9,59,59],[2054,3,8,1,59,59],
+          '2053110209:00:00','2053110201:00:00','2054030809:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,10,0,0],[2054,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2054,11,1,8,59,59],[2054,11,1,1,59,59],
+          '2054030810:00:00','2054030803:00:00','2054110108:59:59','2054110101:59:59' ],
+        [ [2054,11,1,9,0,0],[2054,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2055,3,14,9,59,59],[2055,3,14,1,59,59],
+          '2054110109:00:00','2054110101:00:00','2055031409:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,10,0,0],[2055,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2055,11,7,8,59,59],[2055,11,7,1,59,59],
+          '2055031410:00:00','2055031403:00:00','2055110708:59:59','2055110701:59:59' ],
+        [ [2055,11,7,9,0,0],[2055,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2056,3,12,9,59,59],[2056,3,12,1,59,59],
+          '2055110709:00:00','2055110701:00:00','2056031209:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,10,0,0],[2056,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2056,11,5,8,59,59],[2056,11,5,1,59,59],
+          '2056031210:00:00','2056031203:00:00','2056110508:59:59','2056110501:59:59' ],
+        [ [2056,11,5,9,0,0],[2056,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2057,3,11,9,59,59],[2057,3,11,1,59,59],
+          '2056110509:00:00','2056110501:00:00','2057031109:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,10,0,0],[2057,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2057,11,4,8,59,59],[2057,11,4,1,59,59],
+          '2057031110:00:00','2057031103:00:00','2057110408:59:59','2057110401:59:59' ],
+        [ [2057,11,4,9,0,0],[2057,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2058,3,10,9,59,59],[2058,3,10,1,59,59],
+          '2057110409:00:00','2057110401:00:00','2058031009:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,10,0,0],[2058,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2058,11,3,8,59,59],[2058,11,3,1,59,59],
+          '2058031010:00:00','2058031003:00:00','2058110308:59:59','2058110301:59:59' ],
+        [ [2058,11,3,9,0,0],[2058,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2059,3,9,9,59,59],[2059,3,9,1,59,59],
+          '2058110309:00:00','2058110301:00:00','2059030909:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,10,0,0],[2059,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2059,11,2,8,59,59],[2059,11,2,1,59,59],
+          '2059030910:00:00','2059030903:00:00','2059110208:59:59','2059110201:59:59' ],
+        [ [2059,11,2,9,0,0],[2059,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2060,3,14,9,59,59],[2060,3,14,1,59,59],
+          '2059110209:00:00','2059110201:00:00','2060031409:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,10,0,0],[2060,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2060,11,7,8,59,59],[2060,11,7,1,59,59],
+          '2060031410:00:00','2060031403:00:00','2060110708:59:59','2060110701:59:59' ],
+        [ [2060,11,7,9,0,0],[2060,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2061,3,13,9,59,59],[2061,3,13,1,59,59],
+          '2060110709:00:00','2060110701:00:00','2061031309:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,10,0,0],[2061,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2061,11,6,8,59,59],[2061,11,6,1,59,59],
+          '2061031310:00:00','2061031303:00:00','2061110608:59:59','2061110601:59:59' ],
+        [ [2061,11,6,9,0,0],[2061,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2062,3,12,9,59,59],[2062,3,12,1,59,59],
+          '2061110609:00:00','2061110601:00:00','2062031209:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,10,0,0],[2062,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2062,11,5,8,59,59],[2062,11,5,1,59,59],
+          '2062031210:00:00','2062031203:00:00','2062110508:59:59','2062110501:59:59' ],
+        [ [2062,11,5,9,0,0],[2062,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2063,3,11,9,59,59],[2063,3,11,1,59,59],
+          '2062110509:00:00','2062110501:00:00','2063031109:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,10,0,0],[2063,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2063,11,4,8,59,59],[2063,11,4,1,59,59],
+          '2063031110:00:00','2063031103:00:00','2063110408:59:59','2063110401:59:59' ],
+        [ [2063,11,4,9,0,0],[2063,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2064,3,9,9,59,59],[2064,3,9,1,59,59],
+          '2063110409:00:00','2063110401:00:00','2064030909:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,10,0,0],[2064,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2064,11,2,8,59,59],[2064,11,2,1,59,59],
+          '2064030910:00:00','2064030903:00:00','2064110208:59:59','2064110201:59:59' ],
+        [ [2064,11,2,9,0,0],[2064,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2065,3,8,9,59,59],[2065,3,8,1,59,59],
+          '2064110209:00:00','2064110201:00:00','2065030809:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,10,0,0],[2065,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2065,11,1,8,59,59],[2065,11,1,1,59,59],
+          '2065030810:00:00','2065030803:00:00','2065110108:59:59','2065110101:59:59' ],
+        [ [2065,11,1,9,0,0],[2065,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2066,3,14,9,59,59],[2066,3,14,1,59,59],
+          '2065110109:00:00','2065110101:00:00','2066031409:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,10,0,0],[2066,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2066,11,7,8,59,59],[2066,11,7,1,59,59],
+          '2066031410:00:00','2066031403:00:00','2066110708:59:59','2066110701:59:59' ],
+        [ [2066,11,7,9,0,0],[2066,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2067,3,13,9,59,59],[2067,3,13,1,59,59],
+          '2066110709:00:00','2066110701:00:00','2067031309:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,10,0,0],[2067,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2067,11,6,8,59,59],[2067,11,6,1,59,59],
+          '2067031310:00:00','2067031303:00:00','2067110608:59:59','2067110601:59:59' ],
+        [ [2067,11,6,9,0,0],[2067,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2068,3,11,9,59,59],[2068,3,11,1,59,59],
+          '2067110609:00:00','2067110601:00:00','2068031109:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-07:00:00',
+                'stdoff' => '-08:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'PDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'PST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amdaws01.pm b/lib/Date/Manip/TZ/amdaws01.pm
new file mode 100644
index 0000000..6ea223a
--- /dev/null
+++ b/lib/Date/Manip/TZ/amdaws01.pm
@@ -0,0 +1,307 @@
+package #
+Date::Manip::TZ::amdaws01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,59,4],'-08:00:56',[-8,0,-56],
+          'LMT',0,[1884,1,1,8,0,55],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010115:59:04','1884010108:00:55','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,8,0,56],[1884,1,1,0,0,56],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,4,14,9,59,59],[1918,4,14,1,59,59],
+          '1884010108:00:56','1884010100:00:56','1918041409:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,10,0,0],[1918,4,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1918,10,27,8,59,59],[1918,10,27,1,59,59],
+          '1918041410:00:00','1918041403:00:00','1918102708:59:59','1918102701:59:59' ],
+        [ [1918,10,27,9,0,0],[1918,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1918102709:00:00','1918102701:00:00','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1947,4,27,9,59,59],[1947,4,27,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1947042709:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,10,0,0],[1947,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1947,9,28,8,59,59],[1947,9,28,1,59,59],
+          '1947042710:00:00','1947042703:00:00','1947092808:59:59','1947092801:59:59' ],
+        [ [1947,9,28,9,0,0],[1947,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1948,4,25,9,59,59],[1948,4,25,1,59,59],
+          '1947092809:00:00','1947092801:00:00','1948042509:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,10,0,0],[1948,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1948,9,26,8,59,59],[1948,9,26,1,59,59],
+          '1948042510:00:00','1948042503:00:00','1948092608:59:59','1948092601:59:59' ],
+        [ [1948,9,26,9,0,0],[1948,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1949,4,24,9,59,59],[1949,4,24,1,59,59],
+          '1948092609:00:00','1948092601:00:00','1949042409:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,10,0,0],[1949,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1949,9,25,8,59,59],[1949,9,25,1,59,59],
+          '1949042410:00:00','1949042403:00:00','1949092508:59:59','1949092501:59:59' ],
+        [ [1949,9,25,9,0,0],[1949,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1950,4,30,9,59,59],[1950,4,30,1,59,59],
+          '1949092509:00:00','1949092501:00:00','1950043009:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,10,0,0],[1950,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1950,9,24,8,59,59],[1950,9,24,1,59,59],
+          '1950043010:00:00','1950043003:00:00','1950092408:59:59','1950092401:59:59' ],
+        [ [1950,9,24,9,0,0],[1950,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1951,4,29,9,59,59],[1951,4,29,1,59,59],
+          '1950092409:00:00','1950092401:00:00','1951042909:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,10,0,0],[1951,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1951,9,30,8,59,59],[1951,9,30,1,59,59],
+          '1951042910:00:00','1951042903:00:00','1951093008:59:59','1951093001:59:59' ],
+        [ [1951,9,30,9,0,0],[1951,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1952,4,27,9,59,59],[1952,4,27,1,59,59],
+          '1951093009:00:00','1951093001:00:00','1952042709:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,10,0,0],[1952,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1952,9,28,8,59,59],[1952,9,28,1,59,59],
+          '1952042710:00:00','1952042703:00:00','1952092808:59:59','1952092801:59:59' ],
+        [ [1952,9,28,9,0,0],[1952,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1953,4,26,9,59,59],[1953,4,26,1,59,59],
+          '1952092809:00:00','1952092801:00:00','1953042609:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,10,0,0],[1953,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1953,9,27,8,59,59],[1953,9,27,1,59,59],
+          '1953042610:00:00','1953042603:00:00','1953092708:59:59','1953092701:59:59' ],
+        [ [1953,9,27,9,0,0],[1953,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1954,4,25,9,59,59],[1954,4,25,1,59,59],
+          '1953092709:00:00','1953092701:00:00','1954042509:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,10,0,0],[1954,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1954,9,26,8,59,59],[1954,9,26,1,59,59],
+          '1954042510:00:00','1954042503:00:00','1954092608:59:59','1954092601:59:59' ],
+        [ [1954,9,26,9,0,0],[1954,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1955,4,24,9,59,59],[1955,4,24,1,59,59],
+          '1954092609:00:00','1954092601:00:00','1955042409:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,10,0,0],[1955,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1955,9,25,8,59,59],[1955,9,25,1,59,59],
+          '1955042410:00:00','1955042403:00:00','1955092508:59:59','1955092501:59:59' ],
+        [ [1955,9,25,9,0,0],[1955,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1956,4,29,9,59,59],[1956,4,29,1,59,59],
+          '1955092509:00:00','1955092501:00:00','1956042909:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,10,0,0],[1956,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1956,9,30,8,59,59],[1956,9,30,1,59,59],
+          '1956042910:00:00','1956042903:00:00','1956093008:59:59','1956093001:59:59' ],
+        [ [1956,9,30,9,0,0],[1956,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1957,4,28,9,59,59],[1957,4,28,1,59,59],
+          '1956093009:00:00','1956093001:00:00','1957042809:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,10,0,0],[1957,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1957,9,29,8,59,59],[1957,9,29,1,59,59],
+          '1957042810:00:00','1957042803:00:00','1957092908:59:59','1957092901:59:59' ],
+        [ [1957,9,29,9,0,0],[1957,9,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1958,4,27,9,59,59],[1958,4,27,1,59,59],
+          '1957092909:00:00','1957092901:00:00','1958042709:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,10,0,0],[1958,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1958,9,28,8,59,59],[1958,9,28,1,59,59],
+          '1958042710:00:00','1958042703:00:00','1958092808:59:59','1958092801:59:59' ],
+        [ [1958,9,28,9,0,0],[1958,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1959,4,26,9,59,59],[1959,4,26,1,59,59],
+          '1958092809:00:00','1958092801:00:00','1959042609:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,10,0,0],[1959,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1959,9,27,8,59,59],[1959,9,27,1,59,59],
+          '1959042610:00:00','1959042603:00:00','1959092708:59:59','1959092701:59:59' ],
+        [ [1959,9,27,9,0,0],[1959,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1960,4,24,9,59,59],[1960,4,24,1,59,59],
+          '1959092709:00:00','1959092701:00:00','1960042409:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,10,0,0],[1960,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1960,9,25,8,59,59],[1960,9,25,1,59,59],
+          '1960042410:00:00','1960042403:00:00','1960092508:59:59','1960092501:59:59' ],
+        [ [1960,9,25,9,0,0],[1960,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1961,4,30,9,59,59],[1961,4,30,1,59,59],
+          '1960092509:00:00','1960092501:00:00','1961043009:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,10,0,0],[1961,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1961,9,24,8,59,59],[1961,9,24,1,59,59],
+          '1961043010:00:00','1961043003:00:00','1961092408:59:59','1961092401:59:59' ],
+        [ [1961,9,24,9,0,0],[1961,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1962,4,29,9,59,59],[1962,4,29,1,59,59],
+          '1961092409:00:00','1961092401:00:00','1962042909:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,10,0,0],[1962,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1962,10,28,8,59,59],[1962,10,28,1,59,59],
+          '1962042910:00:00','1962042903:00:00','1962102808:59:59','1962102801:59:59' ],
+        [ [1962,10,28,9,0,0],[1962,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1963,4,28,9,59,59],[1963,4,28,1,59,59],
+          '1962102809:00:00','1962102801:00:00','1963042809:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,10,0,0],[1963,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1963,10,27,8,59,59],[1963,10,27,1,59,59],
+          '1963042810:00:00','1963042803:00:00','1963102708:59:59','1963102701:59:59' ],
+        [ [1963,10,27,9,0,0],[1963,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1964,4,26,9,59,59],[1964,4,26,1,59,59],
+          '1963102709:00:00','1963102701:00:00','1964042609:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,10,0,0],[1964,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1964,10,25,8,59,59],[1964,10,25,1,59,59],
+          '1964042610:00:00','1964042603:00:00','1964102508:59:59','1964102501:59:59' ],
+        [ [1964,10,25,9,0,0],[1964,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1965,4,25,9,59,59],[1965,4,25,1,59,59],
+          '1964102509:00:00','1964102501:00:00','1965042509:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,10,0,0],[1965,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042510:00:00','1965042503:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1966,4,24,9,59,59],[1966,4,24,1,59,59],
+          '1965103109:00:00','1965103101:00:00','1966042409:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,10,0,0],[1966,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1966,10,30,8,59,59],[1966,10,30,1,59,59],
+          '1966042410:00:00','1966042403:00:00','1966103008:59:59','1966103001:59:59' ],
+        [ [1966,10,30,9,0,0],[1966,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1967,4,30,9,59,59],[1967,4,30,1,59,59],
+          '1966103009:00:00','1966103001:00:00','1967043009:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,10,0,0],[1967,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1967,10,29,8,59,59],[1967,10,29,1,59,59],
+          '1967043010:00:00','1967043003:00:00','1967102908:59:59','1967102901:59:59' ],
+        [ [1967,10,29,9,0,0],[1967,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1968,4,28,9,59,59],[1968,4,28,1,59,59],
+          '1967102909:00:00','1967102901:00:00','1968042809:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,10,0,0],[1968,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1968,10,27,8,59,59],[1968,10,27,1,59,59],
+          '1968042810:00:00','1968042803:00:00','1968102708:59:59','1968102701:59:59' ],
+        [ [1968,10,27,9,0,0],[1968,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1968102709:00:00','1968102701:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,8,30,8,59,59],[1972,8,30,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972083008:59:59','1972083001:59:59' ],
+        [ [1972,8,30,9,0,0],[1972,8,30,2,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '1972083009:00:00','1972083002:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amdenv00.pm b/lib/Date/Manip/TZ/amdenv00.pm
new file mode 100644
index 0000000..9cbeb13
--- /dev/null
+++ b/lib/Date/Manip/TZ/amdenv00.pm
@@ -0,0 +1,1051 @@
+package #
+Date::Manip::TZ::amdenv00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,0,4],'-06:59:56',[-6,-59,-56],
+          'LMT',0,[1883,11,18,18,59,59],[1883,11,18,12,0,3],
+          '0001010200:00:00','0001010117:00:04','1883111818:59:59','1883111812:00:03' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,19,0,0],[1883,11,18,12,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,3,31,8,59,59],[1918,3,31,1,59,59],
+          '1883111819:00:00','1883111812:00:00','1918033108:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,9,0,0],[1918,3,31,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918033109:00:00','1918033103:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,3,30,8,59,59],[1919,3,30,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919033008:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,9,0,0],[1919,3,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,10,26,7,59,59],[1919,10,26,1,59,59],
+          '1919033009:00:00','1919033003:00:00','1919102607:59:59','1919102601:59:59' ],
+        [ [1919,10,26,8,0,0],[1919,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1920,3,28,8,59,59],[1920,3,28,1,59,59],
+          '1919102608:00:00','1919102601:00:00','1920032808:59:59','1920032801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,28,9,0,0],[1920,3,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1920,10,31,7,59,59],[1920,10,31,1,59,59],
+          '1920032809:00:00','1920032803:00:00','1920103107:59:59','1920103101:59:59' ],
+        [ [1920,10,31,8,0,0],[1920,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1921,3,27,8,59,59],[1921,3,27,1,59,59],
+          '1920103108:00:00','1920103101:00:00','1921032708:59:59','1921032701:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,27,9,0,0],[1921,3,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1921,5,22,7,59,59],[1921,5,22,1,59,59],
+          '1921032709:00:00','1921032703:00:00','1921052207:59:59','1921052201:59:59' ],
+        [ [1921,5,22,8,0,0],[1921,5,22,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1921052208:00:00','1921052201:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1965,4,25,8,59,59],[1965,4,25,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1965042508:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,9,0,0],[1965,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1965,10,31,7,59,59],[1965,10,31,1,59,59],
+          '1965042509:00:00','1965042503:00:00','1965103107:59:59','1965103101:59:59' ],
+        [ [1965,10,31,8,0,0],[1965,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1966,4,24,8,59,59],[1966,4,24,1,59,59],
+          '1965103108:00:00','1965103101:00:00','1966042408:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,9,0,0],[1966,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1966,10,30,7,59,59],[1966,10,30,1,59,59],
+          '1966042409:00:00','1966042403:00:00','1966103007:59:59','1966103001:59:59' ],
+        [ [1966,10,30,8,0,0],[1966,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1966103008:00:00','1966103001:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1968,4,28,8,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1968042808:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,9,0,0],[1968,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1968,10,27,7,59,59],[1968,10,27,1,59,59],
+          '1968042809:00:00','1968042803:00:00','1968102707:59:59','1968102701:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102701:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1970,4,26,8,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1970042608:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,9,0,0],[1970,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1970,10,25,7,59,59],[1970,10,25,1,59,59],
+          '1970042609:00:00','1970042603:00:00','1970102507:59:59','1970102501:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1971,4,25,8,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102501:00:00','1971042508:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,9,0,0],[1971,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1971,10,31,7,59,59],[1971,10,31,1,59,59],
+          '1971042509:00:00','1971042503:00:00','1971103107:59:59','1971103101:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103101:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,1,6,8,59,59],[1974,1,6,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974010608:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,9,0,0],[1974,1,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974010609:00:00','1974010603:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,2,23,8,59,59],[1975,2,23,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975022308:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,9,0,0],[1975,2,23,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975022309:00:00','1975022303:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amdetr00.pm b/lib/Date/Manip/TZ/amdetr00.pm
new file mode 100644
index 0000000..8371b87
--- /dev/null
+++ b/lib/Date/Manip/TZ/amdetr00.pm
@@ -0,0 +1,967 @@
+package #
+Date::Manip::TZ::amdetr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,27,49],'-05:32:11',[-5,-32,-11],
+          'LMT',0,[1905,1,1,5,32,10],[1904,12,31,23,59,59],
+          '0001010200:00:00','0001010118:27:49','1905010105:32:10','1904123123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,1,1,5,32,11],[1904,12,31,23,32,11],'-06:00:00',[-6,0,0],
+          'CST',0,[1915,5,15,7,59,59],[1915,5,15,1,59,59],
+          '1905010105:32:11','1904123123:32:11','1915051507:59:59','1915051501:59:59' ],
+     ],
+   1915 =>
+     [
+        [ [1915,5,15,8,0,0],[1915,5,15,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1942,2,9,6,59,59],[1942,2,9,1,59,59],
+          '1915051508:00:00','1915051503:00:00','1942020906:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,7,0,0],[1942,2,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942020907:00:00','1942020903:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1948,4,25,6,59,59],[1948,4,25,1,59,59],
+          '1945093006:00:00','1945093001:00:00','1948042506:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,7,0,0],[1948,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1948,9,26,5,59,59],[1948,9,26,1,59,59],
+          '1948042507:00:00','1948042503:00:00','1948092605:59:59','1948092601:59:59' ],
+        [ [1948,9,26,6,0,0],[1948,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1967,6,14,6,59,59],[1967,6,14,1,59,59],
+          '1948092606:00:00','1948092601:00:00','1967061406:59:59','1967061401:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,6,14,7,0,0],[1967,6,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1967,10,29,5,59,59],[1967,10,29,1,59,59],
+          '1967061407:00:00','1967061403:00:00','1967102905:59:59','1967102901:59:59' ],
+        [ [1967,10,29,6,0,0],[1967,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1967102906:00:00','1967102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,1,6,6,59,59],[1974,1,6,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974010606:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,7,0,0],[1974,1,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974010607:00:00','1974010603:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,4,27,6,59,59],[1975,4,27,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975042706:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,7,0,0],[1975,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975042707:00:00','1975042703:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amedmo00.pm b/lib/Date/Manip/TZ/amedmo00.pm
new file mode 100644
index 0000000..d0716a9
--- /dev/null
+++ b/lib/Date/Manip/TZ/amedmo00.pm
@@ -0,0 +1,1033 @@
+package #
+Date::Manip::TZ::amedmo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,26,8],'-07:33:52',[-7,-33,-52],
+          'LMT',0,[1906,9,1,7,33,51],[1906,8,31,23,59,59],
+          '0001010200:00:00','0001010116:26:08','1906090107:33:51','1906083123:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,9,1,7,33,52],[1906,9,1,0,33,52],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,4,14,8,59,59],[1918,4,14,1,59,59],
+          '1906090107:33:52','1906090100:33:52','1918041408:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,9,0,0],[1918,4,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918041409:00:00','1918041403:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,4,13,8,59,59],[1919,4,13,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919041308:59:59','1919041301:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,13,9,0,0],[1919,4,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,5,27,7,59,59],[1919,5,27,1,59,59],
+          '1919041309:00:00','1919041303:00:00','1919052707:59:59','1919052701:59:59' ],
+        [ [1919,5,27,8,0,0],[1919,5,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1920,4,25,8,59,59],[1920,4,25,1,59,59],
+          '1919052708:00:00','1919052701:00:00','1920042508:59:59','1920042501:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,4,25,9,0,0],[1920,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1920,10,31,7,59,59],[1920,10,31,1,59,59],
+          '1920042509:00:00','1920042503:00:00','1920103107:59:59','1920103101:59:59' ],
+        [ [1920,10,31,8,0,0],[1920,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1921,4,24,8,59,59],[1921,4,24,1,59,59],
+          '1920103108:00:00','1920103101:00:00','1921042408:59:59','1921042401:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,24,9,0,0],[1921,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1921,9,25,7,59,59],[1921,9,25,1,59,59],
+          '1921042409:00:00','1921042403:00:00','1921092507:59:59','1921092501:59:59' ],
+        [ [1921,9,25,8,0,0],[1921,9,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1922,4,30,8,59,59],[1922,4,30,1,59,59],
+          '1921092508:00:00','1921092501:00:00','1922043008:59:59','1922043001:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,4,30,9,0,0],[1922,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1922,9,24,7,59,59],[1922,9,24,1,59,59],
+          '1922043009:00:00','1922043003:00:00','1922092407:59:59','1922092401:59:59' ],
+        [ [1922,9,24,8,0,0],[1922,9,24,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1923,4,29,8,59,59],[1923,4,29,1,59,59],
+          '1922092408:00:00','1922092401:00:00','1923042908:59:59','1923042901:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,29,9,0,0],[1923,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1923,9,30,7,59,59],[1923,9,30,1,59,59],
+          '1923042909:00:00','1923042903:00:00','1923093007:59:59','1923093001:59:59' ],
+        [ [1923,9,30,8,0,0],[1923,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1923093008:00:00','1923093001:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1947,4,27,8,59,59],[1947,4,27,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1947042708:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,9,0,0],[1947,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1947,9,28,7,59,59],[1947,9,28,1,59,59],
+          '1947042709:00:00','1947042703:00:00','1947092807:59:59','1947092801:59:59' ],
+        [ [1947,9,28,8,0,0],[1947,9,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1947092808:00:00','1947092801:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,4,28,8,59,59],[1974,4,28,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974042808:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,9,0,0],[1974,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974042809:00:00','1974042803:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,4,27,8,59,59],[1975,4,27,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975042708:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,9,0,0],[1975,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975042709:00:00','1975042703:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ameiru00.pm b/lib/Date/Manip/TZ/ameiru00.pm
new file mode 100644
index 0000000..ec72798
--- /dev/null
+++ b/lib/Date/Manip/TZ/ameiru00.pm
@@ -0,0 +1,211 @@
+package #
+Date::Manip::TZ::ameiru00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,20,32],'-04:39:28',[-4,-39,-28],
+          'LMT',0,[1914,1,1,4,39,27],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010119:20:32','1914010104:39:27','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,4,39,28],[1913,12,31,23,39,28],'-05:00:00',[-5,0,0],
+          '-05',0,[1931,10,3,15,59,59],[1931,10,3,10,59,59],
+          '1914010104:39:28','1913123123:39:28','1931100315:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,16,0,0],[1931,10,3,12,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1932,4,1,3,59,59],[1932,3,31,23,59,59],
+          '1931100316:00:00','1931100312:00:00','1932040103:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,4,0,0],[1932,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1932,10,3,4,59,59],[1932,10,2,23,59,59],
+          '1932040104:00:00','1932033123:00:00','1932100304:59:59','1932100223:59:59' ],
+        [ [1932,10,3,5,0,0],[1932,10,3,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1933,4,1,3,59,59],[1933,3,31,23,59,59],
+          '1932100305:00:00','1932100301:00:00','1933040103:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,4,0,0],[1933,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1949,12,1,4,59,59],[1949,11,30,23,59,59],
+          '1933040104:00:00','1933033123:00:00','1949120104:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,5,0,0],[1949,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1950,4,16,4,59,59],[1950,4,16,0,59,59],
+          '1949120105:00:00','1949120101:00:00','1950041604:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,5,0,0],[1950,4,16,0,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1950,12,1,4,59,59],[1950,11,30,23,59,59],
+          '1950041605:00:00','1950041600:00:00','1950120104:59:59','1950113023:59:59' ],
+        [ [1950,12,1,5,0,0],[1950,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1951,4,1,3,59,59],[1951,3,31,23,59,59],
+          '1950120105:00:00','1950120101:00:00','1951040103:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,4,0,0],[1951,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1951,12,1,4,59,59],[1951,11,30,23,59,59],
+          '1951040104:00:00','1951033123:00:00','1951120104:59:59','1951113023:59:59' ],
+        [ [1951,12,1,5,0,0],[1951,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1952,4,1,3,59,59],[1952,3,31,23,59,59],
+          '1951120105:00:00','1951120101:00:00','1952040103:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,4,0,0],[1952,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1952,12,1,4,59,59],[1952,11,30,23,59,59],
+          '1952040104:00:00','1952033123:00:00','1952120104:59:59','1952113023:59:59' ],
+        [ [1952,12,1,5,0,0],[1952,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1953,3,1,3,59,59],[1953,2,28,23,59,59],
+          '1952120105:00:00','1952120101:00:00','1953030103:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,4,0,0],[1953,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1963,12,9,4,59,59],[1963,12,8,23,59,59],
+          '1953030104:00:00','1953022823:00:00','1963120904:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,5,0,0],[1963,12,9,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1964,3,1,3,59,59],[1964,2,29,23,59,59],
+          '1963120905:00:00','1963120901:00:00','1964030103:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,4,0,0],[1964,2,29,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1965,1,31,4,59,59],[1965,1,30,23,59,59],
+          '1964030104:00:00','1964022923:00:00','1965013104:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,5,0,0],[1965,1,31,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1965,3,31,3,59,59],[1965,3,30,23,59,59],
+          '1965013105:00:00','1965013101:00:00','1965033103:59:59','1965033023:59:59' ],
+        [ [1965,3,31,4,0,0],[1965,3,30,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1965,12,1,4,59,59],[1965,11,30,23,59,59],
+          '1965033104:00:00','1965033023:00:00','1965120104:59:59','1965113023:59:59' ],
+        [ [1965,12,1,5,0,0],[1965,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1966,3,1,3,59,59],[1966,2,28,23,59,59],
+          '1965120105:00:00','1965120101:00:00','1966030103:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,4,0,0],[1966,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1966,11,1,4,59,59],[1966,10,31,23,59,59],
+          '1966030104:00:00','1966022823:00:00','1966110104:59:59','1966103123:59:59' ],
+        [ [1966,11,1,5,0,0],[1966,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1967,3,1,3,59,59],[1967,2,28,23,59,59],
+          '1966110105:00:00','1966110101:00:00','1967030103:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,4,0,0],[1967,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1967,11,1,4,59,59],[1967,10,31,23,59,59],
+          '1967030104:00:00','1967022823:00:00','1967110104:59:59','1967103123:59:59' ],
+        [ [1967,11,1,5,0,0],[1967,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1968,3,1,3,59,59],[1968,2,29,23,59,59],
+          '1967110105:00:00','1967110101:00:00','1968030103:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,4,0,0],[1968,2,29,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1985,11,2,4,59,59],[1985,11,1,23,59,59],
+          '1968030104:00:00','1968022923:00:00','1985110204:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,5,0,0],[1985,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1986,3,15,3,59,59],[1986,3,14,23,59,59],
+          '1985110205:00:00','1985110201:00:00','1986031503:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,4,0,0],[1986,3,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1986,10,25,4,59,59],[1986,10,24,23,59,59],
+          '1986031504:00:00','1986031423:00:00','1986102504:59:59','1986102423:59:59' ],
+        [ [1986,10,25,5,0,0],[1986,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1987,2,14,3,59,59],[1987,2,13,23,59,59],
+          '1986102505:00:00','1986102501:00:00','1987021403:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,4,0,0],[1987,2,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1987,10,25,4,59,59],[1987,10,24,23,59,59],
+          '1987021404:00:00','1987021323:00:00','1987102504:59:59','1987102423:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1988,2,7,3,59,59],[1988,2,6,23,59,59],
+          '1987102505:00:00','1987102501:00:00','1988020703:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,4,0,0],[1988,2,6,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1993,10,17,4,59,59],[1993,10,16,23,59,59],
+          '1988020704:00:00','1988020623:00:00','1993101704:59:59','1993101623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,10,17,5,0,0],[1993,10,17,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1994,2,20,3,59,59],[1994,2,19,23,59,59],
+          '1993101705:00:00','1993101701:00:00','1994022003:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,4,0,0],[1994,2,19,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[2008,6,24,4,59,59],[2008,6,23,23,59,59],
+          '1994022004:00:00','1994021923:00:00','2008062404:59:59','2008062323:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,6,24,5,0,0],[2008,6,24,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,11,10,3,59,59],[2013,11,9,23,59,59],
+          '2008062405:00:00','2008062401:00:00','2013111003:59:59','2013110923:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,11,10,4,0,0],[2013,11,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '2013111004:00:00','2013110923:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amel_s00.pm b/lib/Date/Manip/TZ/amel_s00.pm
new file mode 100644
index 0000000..cc1de83
--- /dev/null
+++ b/lib/Date/Manip/TZ/amel_s00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::amel_s00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,3,12],'-05:56:48',[-5,-56,-48],
+          'LMT',0,[1921,1,1,5,56,47],[1920,12,31,23,59,59],
+          '0001010200:00:00','0001010118:03:12','1921010105:56:47','1920123123:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,1,1,5,56,48],[1920,12,31,23,56,48],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,5,3,5,59,59],[1987,5,2,23,59,59],
+          '1921010105:56:48','1920123123:56:48','1987050305:59:59','1987050223:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,5,3,6,0,0],[1987,5,3,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,9,27,4,59,59],[1987,9,26,23,59,59],
+          '1987050306:00:00','1987050301:00:00','1987092704:59:59','1987092623:59:59' ],
+        [ [1987,9,27,5,0,0],[1987,9,26,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,5,1,5,59,59],[1988,4,30,23,59,59],
+          '1987092705:00:00','1987092623:00:00','1988050105:59:59','1988043023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,5,1,6,0,0],[1988,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,9,25,4,59,59],[1988,9,24,23,59,59],
+          '1988050106:00:00','1988050101:00:00','1988092504:59:59','1988092423:59:59' ],
+        [ [1988,9,25,5,0,0],[1988,9,24,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1988092505:00:00','1988092423:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amfort00.pm b/lib/Date/Manip/TZ/amfort00.pm
new file mode 100644
index 0000000..079c61a
--- /dev/null
+++ b/lib/Date/Manip/TZ/amfort00.pm
@@ -0,0 +1,691 @@
+package #
+Date::Manip::TZ::amfort00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,49,13],'-08:10:47',[-8,-10,-47],
+          'LMT',0,[1884,1,1,8,10,46],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010115:49:13','1884010108:10:46','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,8,10,47],[1884,1,1,0,10,47],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,4,14,9,59,59],[1918,4,14,1,59,59],
+          '1884010108:10:47','1884010100:10:47','1918041409:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,10,0,0],[1918,4,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1918,10,27,8,59,59],[1918,10,27,1,59,59],
+          '1918041410:00:00','1918041403:00:00','1918102708:59:59','1918102701:59:59' ],
+        [ [1918,10,27,9,0,0],[1918,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1918102709:00:00','1918102701:00:00','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1947,4,27,9,59,59],[1947,4,27,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1947042709:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,10,0,0],[1947,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1947,9,28,8,59,59],[1947,9,28,1,59,59],
+          '1947042710:00:00','1947042703:00:00','1947092808:59:59','1947092801:59:59' ],
+        [ [1947,9,28,9,0,0],[1947,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1948,4,25,9,59,59],[1948,4,25,1,59,59],
+          '1947092809:00:00','1947092801:00:00','1948042509:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,10,0,0],[1948,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1948,9,26,8,59,59],[1948,9,26,1,59,59],
+          '1948042510:00:00','1948042503:00:00','1948092608:59:59','1948092601:59:59' ],
+        [ [1948,9,26,9,0,0],[1948,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1949,4,24,9,59,59],[1949,4,24,1,59,59],
+          '1948092609:00:00','1948092601:00:00','1949042409:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,10,0,0],[1949,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1949,9,25,8,59,59],[1949,9,25,1,59,59],
+          '1949042410:00:00','1949042403:00:00','1949092508:59:59','1949092501:59:59' ],
+        [ [1949,9,25,9,0,0],[1949,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1950,4,30,9,59,59],[1950,4,30,1,59,59],
+          '1949092509:00:00','1949092501:00:00','1950043009:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,10,0,0],[1950,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1950,9,24,8,59,59],[1950,9,24,1,59,59],
+          '1950043010:00:00','1950043003:00:00','1950092408:59:59','1950092401:59:59' ],
+        [ [1950,9,24,9,0,0],[1950,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1951,4,29,9,59,59],[1951,4,29,1,59,59],
+          '1950092409:00:00','1950092401:00:00','1951042909:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,10,0,0],[1951,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1951,9,30,8,59,59],[1951,9,30,1,59,59],
+          '1951042910:00:00','1951042903:00:00','1951093008:59:59','1951093001:59:59' ],
+        [ [1951,9,30,9,0,0],[1951,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1952,4,27,9,59,59],[1952,4,27,1,59,59],
+          '1951093009:00:00','1951093001:00:00','1952042709:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,10,0,0],[1952,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1952,9,28,8,59,59],[1952,9,28,1,59,59],
+          '1952042710:00:00','1952042703:00:00','1952092808:59:59','1952092801:59:59' ],
+        [ [1952,9,28,9,0,0],[1952,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1953,4,26,9,59,59],[1953,4,26,1,59,59],
+          '1952092809:00:00','1952092801:00:00','1953042609:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,10,0,0],[1953,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1953,9,27,8,59,59],[1953,9,27,1,59,59],
+          '1953042610:00:00','1953042603:00:00','1953092708:59:59','1953092701:59:59' ],
+        [ [1953,9,27,9,0,0],[1953,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1954,4,25,9,59,59],[1954,4,25,1,59,59],
+          '1953092709:00:00','1953092701:00:00','1954042509:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,10,0,0],[1954,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1954,9,26,8,59,59],[1954,9,26,1,59,59],
+          '1954042510:00:00','1954042503:00:00','1954092608:59:59','1954092601:59:59' ],
+        [ [1954,9,26,9,0,0],[1954,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1955,4,24,9,59,59],[1955,4,24,1,59,59],
+          '1954092609:00:00','1954092601:00:00','1955042409:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,10,0,0],[1955,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1955,9,25,8,59,59],[1955,9,25,1,59,59],
+          '1955042410:00:00','1955042403:00:00','1955092508:59:59','1955092501:59:59' ],
+        [ [1955,9,25,9,0,0],[1955,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1956,4,29,9,59,59],[1956,4,29,1,59,59],
+          '1955092509:00:00','1955092501:00:00','1956042909:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,10,0,0],[1956,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1956,9,30,8,59,59],[1956,9,30,1,59,59],
+          '1956042910:00:00','1956042903:00:00','1956093008:59:59','1956093001:59:59' ],
+        [ [1956,9,30,9,0,0],[1956,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1957,4,28,9,59,59],[1957,4,28,1,59,59],
+          '1956093009:00:00','1956093001:00:00','1957042809:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,10,0,0],[1957,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1957,9,29,8,59,59],[1957,9,29,1,59,59],
+          '1957042810:00:00','1957042803:00:00','1957092908:59:59','1957092901:59:59' ],
+        [ [1957,9,29,9,0,0],[1957,9,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1958,4,27,9,59,59],[1958,4,27,1,59,59],
+          '1957092909:00:00','1957092901:00:00','1958042709:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,10,0,0],[1958,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1958,9,28,8,59,59],[1958,9,28,1,59,59],
+          '1958042710:00:00','1958042703:00:00','1958092808:59:59','1958092801:59:59' ],
+        [ [1958,9,28,9,0,0],[1958,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1959,4,26,9,59,59],[1959,4,26,1,59,59],
+          '1958092809:00:00','1958092801:00:00','1959042609:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,10,0,0],[1959,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1959,9,27,8,59,59],[1959,9,27,1,59,59],
+          '1959042610:00:00','1959042603:00:00','1959092708:59:59','1959092701:59:59' ],
+        [ [1959,9,27,9,0,0],[1959,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1960,4,24,9,59,59],[1960,4,24,1,59,59],
+          '1959092709:00:00','1959092701:00:00','1960042409:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,10,0,0],[1960,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1960,9,25,8,59,59],[1960,9,25,1,59,59],
+          '1960042410:00:00','1960042403:00:00','1960092508:59:59','1960092501:59:59' ],
+        [ [1960,9,25,9,0,0],[1960,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1961,4,30,9,59,59],[1961,4,30,1,59,59],
+          '1960092509:00:00','1960092501:00:00','1961043009:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,10,0,0],[1961,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1961,9,24,8,59,59],[1961,9,24,1,59,59],
+          '1961043010:00:00','1961043003:00:00','1961092408:59:59','1961092401:59:59' ],
+        [ [1961,9,24,9,0,0],[1961,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1962,4,29,9,59,59],[1962,4,29,1,59,59],
+          '1961092409:00:00','1961092401:00:00','1962042909:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,10,0,0],[1962,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1962,10,28,8,59,59],[1962,10,28,1,59,59],
+          '1962042910:00:00','1962042903:00:00','1962102808:59:59','1962102801:59:59' ],
+        [ [1962,10,28,9,0,0],[1962,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1963,4,28,9,59,59],[1963,4,28,1,59,59],
+          '1962102809:00:00','1962102801:00:00','1963042809:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,10,0,0],[1963,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1963,10,27,8,59,59],[1963,10,27,1,59,59],
+          '1963042810:00:00','1963042803:00:00','1963102708:59:59','1963102701:59:59' ],
+        [ [1963,10,27,9,0,0],[1963,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1964,4,26,9,59,59],[1964,4,26,1,59,59],
+          '1963102709:00:00','1963102701:00:00','1964042609:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,10,0,0],[1964,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1964,10,25,8,59,59],[1964,10,25,1,59,59],
+          '1964042610:00:00','1964042603:00:00','1964102508:59:59','1964102501:59:59' ],
+        [ [1964,10,25,9,0,0],[1964,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1965,4,25,9,59,59],[1965,4,25,1,59,59],
+          '1964102509:00:00','1964102501:00:00','1965042509:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,10,0,0],[1965,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042510:00:00','1965042503:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1966,4,24,9,59,59],[1966,4,24,1,59,59],
+          '1965103109:00:00','1965103101:00:00','1966042409:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,10,0,0],[1966,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1966,10,30,8,59,59],[1966,10,30,1,59,59],
+          '1966042410:00:00','1966042403:00:00','1966103008:59:59','1966103001:59:59' ],
+        [ [1966,10,30,9,0,0],[1966,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1967,4,30,9,59,59],[1967,4,30,1,59,59],
+          '1966103009:00:00','1966103001:00:00','1967043009:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,10,0,0],[1967,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1967,10,29,8,59,59],[1967,10,29,1,59,59],
+          '1967043010:00:00','1967043003:00:00','1967102908:59:59','1967102901:59:59' ],
+        [ [1967,10,29,9,0,0],[1967,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1968,4,28,9,59,59],[1968,4,28,1,59,59],
+          '1967102909:00:00','1967102901:00:00','1968042809:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,10,0,0],[1968,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1968,10,27,8,59,59],[1968,10,27,1,59,59],
+          '1968042810:00:00','1968042803:00:00','1968102708:59:59','1968102701:59:59' ],
+        [ [1968,10,27,9,0,0],[1968,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1968102709:00:00','1968102701:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,4,28,9,59,59],[1974,4,28,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974042809:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,10,0,0],[1974,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974042810:00:00','1974042803:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,4,27,9,59,59],[1975,4,27,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975042709:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,10,0,0],[1975,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975042710:00:00','1975042703:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,3,11,9,59,59],[2007,3,11,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007031109:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,10,0,0],[2007,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,11,4,8,59,59],[2007,11,4,1,59,59],
+          '2007031110:00:00','2007031103:00:00','2007110408:59:59','2007110401:59:59' ],
+        [ [2007,11,4,9,0,0],[2007,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,3,9,9,59,59],[2008,3,9,1,59,59],
+          '2007110409:00:00','2007110401:00:00','2008030909:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,10,0,0],[2008,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,11,2,8,59,59],[2008,11,2,1,59,59],
+          '2008030910:00:00','2008030903:00:00','2008110208:59:59','2008110201:59:59' ],
+        [ [2008,11,2,9,0,0],[2008,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,3,8,9,59,59],[2009,3,8,1,59,59],
+          '2008110209:00:00','2008110201:00:00','2009030809:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,10,0,0],[2009,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,11,1,8,59,59],[2009,11,1,1,59,59],
+          '2009030810:00:00','2009030803:00:00','2009110108:59:59','2009110101:59:59' ],
+        [ [2009,11,1,9,0,0],[2009,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009110109:00:00','2009110101:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '2015030810:00:00','2015030803:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amfort01.pm b/lib/Date/Manip/TZ/amfort01.pm
new file mode 100644
index 0000000..e74e5d3
--- /dev/null
+++ b/lib/Date/Manip/TZ/amfort01.pm
@@ -0,0 +1,235 @@
+package #
+Date::Manip::TZ::amfort01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,26,0],'-02:34:00',[-2,-34,0],
+          'LMT',0,[1914,1,1,2,33,59],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010121:26:00','1914010102:33:59','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,2,34,0],[1913,12,31,23,34,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010102:34:00','1913123123:34:00','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,10,22,1,59,59],[2000,10,21,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2000102201:59:59','2000102123:59:59' ],
+        [ [2000,10,22,2,0,0],[2000,10,21,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2000102202:00:00','2000102123:00:00','2001101402:59:59','2001101323:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2002021702:00:00','2002021623:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amglac00.pm b/lib/Date/Manip/TZ/amglac00.pm
new file mode 100644
index 0000000..8b471ff
--- /dev/null
+++ b/lib/Date/Manip/TZ/amglac00.pm
@@ -0,0 +1,970 @@
+package #
+Date::Manip::TZ::amglac00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,0,12],'-03:59:48',[-3,-59,-48],
+          'LMT',0,[1902,6,15,3,59,47],[1902,6,14,23,59,59],
+          '0001010200:00:00','0001010120:00:12','1902061503:59:47','1902061423:59:59' ],
+     ],
+   1902 =>
+     [
+        [ [1902,6,15,3,59,48],[1902,6,14,23,59,48],'-04:00:00',[-4,0,0],
+          'AST',0,[1918,4,14,5,59,59],[1918,4,14,1,59,59],
+          '1902061503:59:48','1902061423:59:48','1918041405:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,6,0,0],[1918,4,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1918,10,27,4,59,59],[1918,10,27,1,59,59],
+          '1918041406:00:00','1918041403:00:00','1918102704:59:59','1918102701:59:59' ],
+        [ [1918,10,27,5,0,0],[1918,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,2,9,5,59,59],[1942,2,9,1,59,59],
+          '1918102705:00:00','1918102701:00:00','1942020905:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,6,0,0],[1942,2,9,3,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942020906:00:00','1942020903:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1953,4,26,5,59,59],[1953,4,26,1,59,59],
+          '1945093005:00:00','1945093001:00:00','1953042605:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,6,0,0],[1953,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1953,9,27,4,59,59],[1953,9,27,1,59,59],
+          '1953042606:00:00','1953042603:00:00','1953092704:59:59','1953092701:59:59' ],
+        [ [1953,9,27,5,0,0],[1953,9,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1972,4,30,5,59,59],[1972,4,30,1,59,59],
+          '1953092705:00:00','1953092701:00:00','1972043005:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,6,0,0],[1972,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1972,10,29,4,59,59],[1972,10,29,1,59,59],
+          '1972043006:00:00','1972043003:00:00','1972102904:59:59','1972102901:59:59' ],
+        [ [1972,10,29,5,0,0],[1972,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1973,4,29,5,59,59],[1973,4,29,1,59,59],
+          '1972102905:00:00','1972102901:00:00','1973042905:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,6,0,0],[1973,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1973,10,28,4,59,59],[1973,10,28,1,59,59],
+          '1973042906:00:00','1973042903:00:00','1973102804:59:59','1973102801:59:59' ],
+        [ [1973,10,28,5,0,0],[1973,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1974,4,28,5,59,59],[1974,4,28,1,59,59],
+          '1973102805:00:00','1973102801:00:00','1974042805:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,6,0,0],[1974,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1974,10,27,4,59,59],[1974,10,27,1,59,59],
+          '1974042806:00:00','1974042803:00:00','1974102704:59:59','1974102701:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1975,4,27,5,59,59],[1975,4,27,1,59,59],
+          '1974102705:00:00','1974102701:00:00','1975042705:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,6,0,0],[1975,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1975,10,26,4,59,59],[1975,10,26,1,59,59],
+          '1975042706:00:00','1975042703:00:00','1975102604:59:59','1975102601:59:59' ],
+        [ [1975,10,26,5,0,0],[1975,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1976,4,25,5,59,59],[1976,4,25,1,59,59],
+          '1975102605:00:00','1975102601:00:00','1976042505:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,6,0,0],[1976,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1976,10,31,4,59,59],[1976,10,31,1,59,59],
+          '1976042506:00:00','1976042503:00:00','1976103104:59:59','1976103101:59:59' ],
+        [ [1976,10,31,5,0,0],[1976,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,4,24,5,59,59],[1977,4,24,1,59,59],
+          '1976103105:00:00','1976103101:00:00','1977042405:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,6,0,0],[1977,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,30,4,59,59],[1977,10,30,1,59,59],
+          '1977042406:00:00','1977042403:00:00','1977103004:59:59','1977103001:59:59' ],
+        [ [1977,10,30,5,0,0],[1977,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,30,5,59,59],[1978,4,30,1,59,59],
+          '1977103005:00:00','1977103001:00:00','1978043005:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,6,0,0],[1978,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,29,4,59,59],[1978,10,29,1,59,59],
+          '1978043006:00:00','1978043003:00:00','1978102904:59:59','1978102901:59:59' ],
+        [ [1978,10,29,5,0,0],[1978,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,29,5,59,59],[1979,4,29,1,59,59],
+          '1978102905:00:00','1978102901:00:00','1979042905:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,6,0,0],[1979,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,10,28,4,59,59],[1979,10,28,1,59,59],
+          '1979042906:00:00','1979042903:00:00','1979102804:59:59','1979102801:59:59' ],
+        [ [1979,10,28,5,0,0],[1979,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1979102805:00:00','1979102801:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,5,59,59],[1987,4,5,1,59,59],
+          '1986102605:00:00','1986102601:00:00','1987040505:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,6,0,0],[1987,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,4,59,59],[1987,10,25,1,59,59],
+          '1987040506:00:00','1987040503:00:00','1987102504:59:59','1987102501:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,5,59,59],[1988,4,3,1,59,59],
+          '1987102505:00:00','1987102501:00:00','1988040305:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1988,10,30,4,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040303:00:00','1988103004:59:59','1988103001:59:59' ],
+        [ [1988,10,30,5,0,0],[1988,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,5,59,59],[1989,4,2,1,59,59],
+          '1988103005:00:00','1988103001:00:00','1989040205:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,4,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040203:00:00','1989102904:59:59','1989102901:59:59' ],
+        [ [1989,10,29,5,0,0],[1989,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,5,59,59],[1990,4,1,1,59,59],
+          '1989102905:00:00','1989102901:00:00','1990040105:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,4,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040103:00:00','1990102804:59:59','1990102801:59:59' ],
+        [ [1990,10,28,5,0,0],[1990,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,5,59,59],[1991,4,7,1,59,59],
+          '1990102805:00:00','1990102801:00:00','1991040705:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,4,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040703:00:00','1991102704:59:59','1991102701:59:59' ],
+        [ [1991,10,27,5,0,0],[1991,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,5,59,59],[1992,4,5,1,59,59],
+          '1991102705:00:00','1991102701:00:00','1992040505:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,4,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040503:00:00','1992102504:59:59','1992102501:59:59' ],
+        [ [1992,10,25,5,0,0],[1992,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,5,59,59],[1993,4,4,1,59,59],
+          '1992102505:00:00','1992102501:00:00','1993040405:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,4,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040403:00:00','1993103104:59:59','1993103101:59:59' ],
+        [ [1993,10,31,5,0,0],[1993,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,5,59,59],[1994,4,3,1,59,59],
+          '1993103105:00:00','1993103101:00:00','1994040305:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,4,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040303:00:00','1994103004:59:59','1994103001:59:59' ],
+        [ [1994,10,30,5,0,0],[1994,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,5,59,59],[1995,4,2,1,59,59],
+          '1994103005:00:00','1994103001:00:00','1995040205:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,4,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040203:00:00','1995102904:59:59','1995102901:59:59' ],
+        [ [1995,10,29,5,0,0],[1995,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,5,59,59],[1996,4,7,1,59,59],
+          '1995102905:00:00','1995102901:00:00','1996040705:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,6,0,0],[1996,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,4,59,59],[1996,10,27,1,59,59],
+          '1996040706:00:00','1996040703:00:00','1996102704:59:59','1996102701:59:59' ],
+        [ [1996,10,27,5,0,0],[1996,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,5,59,59],[1997,4,6,1,59,59],
+          '1996102705:00:00','1996102701:00:00','1997040605:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,6,0,0],[1997,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,4,59,59],[1997,10,26,1,59,59],
+          '1997040606:00:00','1997040603:00:00','1997102604:59:59','1997102601:59:59' ],
+        [ [1997,10,26,5,0,0],[1997,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,5,59,59],[1998,4,5,1,59,59],
+          '1997102605:00:00','1997102601:00:00','1998040505:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,6,0,0],[1998,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,4,59,59],[1998,10,25,1,59,59],
+          '1998040506:00:00','1998040503:00:00','1998102504:59:59','1998102501:59:59' ],
+        [ [1998,10,25,5,0,0],[1998,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,5,59,59],[1999,4,4,1,59,59],
+          '1998102505:00:00','1998102501:00:00','1999040405:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,6,0,0],[1999,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,4,59,59],[1999,10,31,1,59,59],
+          '1999040406:00:00','1999040403:00:00','1999103104:59:59','1999103101:59:59' ],
+        [ [1999,10,31,5,0,0],[1999,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,5,59,59],[2000,4,2,1,59,59],
+          '1999103105:00:00','1999103101:00:00','2000040205:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,6,0,0],[2000,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,4,59,59],[2000,10,29,1,59,59],
+          '2000040206:00:00','2000040203:00:00','2000102904:59:59','2000102901:59:59' ],
+        [ [2000,10,29,5,0,0],[2000,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,5,59,59],[2001,4,1,1,59,59],
+          '2000102905:00:00','2000102901:00:00','2001040105:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,6,0,0],[2001,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,4,59,59],[2001,10,28,1,59,59],
+          '2001040106:00:00','2001040103:00:00','2001102804:59:59','2001102801:59:59' ],
+        [ [2001,10,28,5,0,0],[2001,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,5,59,59],[2002,4,7,1,59,59],
+          '2001102805:00:00','2001102801:00:00','2002040705:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,6,0,0],[2002,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,4,59,59],[2002,10,27,1,59,59],
+          '2002040706:00:00','2002040703:00:00','2002102704:59:59','2002102701:59:59' ],
+        [ [2002,10,27,5,0,0],[2002,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,5,59,59],[2003,4,6,1,59,59],
+          '2002102705:00:00','2002102701:00:00','2003040605:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,6,0,0],[2003,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,4,59,59],[2003,10,26,1,59,59],
+          '2003040606:00:00','2003040603:00:00','2003102604:59:59','2003102601:59:59' ],
+        [ [2003,10,26,5,0,0],[2003,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,5,59,59],[2004,4,4,1,59,59],
+          '2003102605:00:00','2003102601:00:00','2004040405:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,6,0,0],[2004,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,4,59,59],[2004,10,31,1,59,59],
+          '2004040406:00:00','2004040403:00:00','2004103104:59:59','2004103101:59:59' ],
+        [ [2004,10,31,5,0,0],[2004,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,5,59,59],[2005,4,3,1,59,59],
+          '2004103105:00:00','2004103101:00:00','2005040305:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,6,0,0],[2005,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,4,59,59],[2005,10,30,1,59,59],
+          '2005040306:00:00','2005040303:00:00','2005103004:59:59','2005103001:59:59' ],
+        [ [2005,10,30,5,0,0],[2005,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,5,59,59],[2006,4,2,1,59,59],
+          '2005103005:00:00','2005103001:00:00','2006040205:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,6,0,0],[2006,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,4,59,59],[2006,10,29,1,59,59],
+          '2006040206:00:00','2006040203:00:00','2006102904:59:59','2006102901:59:59' ],
+        [ [2006,10,29,5,0,0],[2006,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,5,59,59],[2007,3,11,1,59,59],
+          '2006102905:00:00','2006102901:00:00','2007031105:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,6,0,0],[2007,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,4,59,59],[2007,11,4,1,59,59],
+          '2007031106:00:00','2007031103:00:00','2007110404:59:59','2007110401:59:59' ],
+        [ [2007,11,4,5,0,0],[2007,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,5,59,59],[2008,3,9,1,59,59],
+          '2007110405:00:00','2007110401:00:00','2008030905:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,6,0,0],[2008,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,4,59,59],[2008,11,2,1,59,59],
+          '2008030906:00:00','2008030903:00:00','2008110204:59:59','2008110201:59:59' ],
+        [ [2008,11,2,5,0,0],[2008,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,5,59,59],[2009,3,8,1,59,59],
+          '2008110205:00:00','2008110201:00:00','2009030805:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,6,0,0],[2009,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,4,59,59],[2009,11,1,1,59,59],
+          '2009030806:00:00','2009030803:00:00','2009110104:59:59','2009110101:59:59' ],
+        [ [2009,11,1,5,0,0],[2009,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,5,59,59],[2010,3,14,1,59,59],
+          '2009110105:00:00','2009110101:00:00','2010031405:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,6,0,0],[2010,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,4,59,59],[2010,11,7,1,59,59],
+          '2010031406:00:00','2010031403:00:00','2010110704:59:59','2010110701:59:59' ],
+        [ [2010,11,7,5,0,0],[2010,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,5,59,59],[2011,3,13,1,59,59],
+          '2010110705:00:00','2010110701:00:00','2011031305:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,6,0,0],[2011,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031306:00:00','2011031303:00:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amgodt00.pm b/lib/Date/Manip/TZ/amgodt00.pm
new file mode 100644
index 0000000..081c1ef
--- /dev/null
+++ b/lib/Date/Manip/TZ/amgodt00.pm
@@ -0,0 +1,865 @@
+package #
+Date::Manip::TZ::amgodt00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,33,4],'-03:26:56',[-3,-26,-56],
+          'LMT',0,[1916,7,28,3,26,55],[1916,7,27,23,59,59],
+          '0001010200:00:00','0001010120:33:04','1916072803:26:55','1916072723:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,28,3,26,56],[1916,7,28,0,26,56],'-03:00:00',[-3,0,0],
+          '-03',0,[1980,4,6,4,59,59],[1980,4,6,1,59,59],
+          '1916072803:26:56','1916072800:26:56','1980040604:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,5,0,0],[1980,4,6,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1980,9,28,0,59,59],[1980,9,27,22,59,59],
+          '1980040605:00:00','1980040603:00:00','1980092800:59:59','1980092722:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1981,3,29,0,59,59],[1981,3,28,21,59,59],
+          '1980092801:00:00','1980092722:00:00','1981032900:59:59','1981032821:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1981,9,27,0,59,59],[1981,9,26,22,59,59],
+          '1981032901:00:00','1981032823:00:00','1981092700:59:59','1981092622:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1982,3,28,0,59,59],[1982,3,27,21,59,59],
+          '1981092701:00:00','1981092622:00:00','1982032800:59:59','1982032721:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1982,9,26,0,59,59],[1982,9,25,22,59,59],
+          '1982032801:00:00','1982032723:00:00','1982092600:59:59','1982092522:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1983,3,27,0,59,59],[1983,3,26,21,59,59],
+          '1982092601:00:00','1982092522:00:00','1983032700:59:59','1983032621:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1983,9,25,0,59,59],[1983,9,24,22,59,59],
+          '1983032701:00:00','1983032623:00:00','1983092500:59:59','1983092422:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1984,3,25,0,59,59],[1984,3,24,21,59,59],
+          '1983092501:00:00','1983092422:00:00','1984032500:59:59','1984032421:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1984,9,30,0,59,59],[1984,9,29,22,59,59],
+          '1984032501:00:00','1984032423:00:00','1984093000:59:59','1984092922:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,3,31,0,59,59],[1985,3,30,21,59,59],
+          '1984093001:00:00','1984092922:00:00','1985033100:59:59','1985033021:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1985,9,29,0,59,59],[1985,9,28,22,59,59],
+          '1985033101:00:00','1985033023:00:00','1985092900:59:59','1985092822:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,3,30,0,59,59],[1986,3,29,21,59,59],
+          '1985092901:00:00','1985092822:00:00','1986033000:59:59','1986032921:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,9,28,0,59,59],[1986,9,27,22,59,59],
+          '1986033001:00:00','1986032923:00:00','1986092800:59:59','1986092722:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,3,29,0,59,59],[1987,3,28,21,59,59],
+          '1986092801:00:00','1986092722:00:00','1987032900:59:59','1987032821:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,9,27,0,59,59],[1987,9,26,22,59,59],
+          '1987032901:00:00','1987032823:00:00','1987092700:59:59','1987092622:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,3,27,0,59,59],[1988,3,26,21,59,59],
+          '1987092701:00:00','1987092622:00:00','1988032700:59:59','1988032621:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,9,25,0,59,59],[1988,9,24,22,59,59],
+          '1988032701:00:00','1988032623:00:00','1988092500:59:59','1988092422:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,3,26,0,59,59],[1989,3,25,21,59,59],
+          '1988092501:00:00','1988092422:00:00','1989032600:59:59','1989032521:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,9,24,0,59,59],[1989,9,23,22,59,59],
+          '1989032601:00:00','1989032523:00:00','1989092400:59:59','1989092322:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,23,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,3,25,0,59,59],[1990,3,24,21,59,59],
+          '1989092401:00:00','1989092322:00:00','1990032500:59:59','1990032421:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,9,30,0,59,59],[1990,9,29,22,59,59],
+          '1990032501:00:00','1990032423:00:00','1990093000:59:59','1990092922:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,3,31,0,59,59],[1991,3,30,21,59,59],
+          '1990093001:00:00','1990092922:00:00','1991033100:59:59','1991033021:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,9,29,0,59,59],[1991,9,28,22,59,59],
+          '1991033101:00:00','1991033023:00:00','1991092900:59:59','1991092822:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,3,29,0,59,59],[1992,3,28,21,59,59],
+          '1991092901:00:00','1991092822:00:00','1992032900:59:59','1992032821:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,9,27,0,59,59],[1992,9,26,22,59,59],
+          '1992032901:00:00','1992032823:00:00','1992092700:59:59','1992092622:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1993,3,28,0,59,59],[1993,3,27,21,59,59],
+          '1992092701:00:00','1992092622:00:00','1993032800:59:59','1993032721:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,9,26,0,59,59],[1993,9,25,22,59,59],
+          '1993032801:00:00','1993032723:00:00','1993092600:59:59','1993092522:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1994,3,27,0,59,59],[1994,3,26,21,59,59],
+          '1993092601:00:00','1993092522:00:00','1994032700:59:59','1994032621:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1994,9,25,0,59,59],[1994,9,24,22,59,59],
+          '1994032701:00:00','1994032623:00:00','1994092500:59:59','1994092422:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,3,26,0,59,59],[1995,3,25,21,59,59],
+          '1994092501:00:00','1994092422:00:00','1995032600:59:59','1995032521:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1995,9,24,0,59,59],[1995,9,23,22,59,59],
+          '1995032601:00:00','1995032523:00:00','1995092400:59:59','1995092322:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,23,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,3,31,0,59,59],[1996,3,30,21,59,59],
+          '1995092401:00:00','1995092322:00:00','1996033100:59:59','1996033021:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,10,27,0,59,59],[1996,10,26,22,59,59],
+          '1996033101:00:00','1996033023:00:00','1996102700:59:59','1996102622:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1997,3,30,0,59,59],[1997,3,29,21,59,59],
+          '1996102701:00:00','1996102622:00:00','1997033000:59:59','1997032921:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1997,10,26,0,59,59],[1997,10,25,22,59,59],
+          '1997033001:00:00','1997032923:00:00','1997102600:59:59','1997102522:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1998,3,29,0,59,59],[1998,3,28,21,59,59],
+          '1997102601:00:00','1997102522:00:00','1998032900:59:59','1998032821:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1998,10,25,0,59,59],[1998,10,24,22,59,59],
+          '1998032901:00:00','1998032823:00:00','1998102500:59:59','1998102422:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,3,28,0,59,59],[1999,3,27,21,59,59],
+          '1998102501:00:00','1998102422:00:00','1999032800:59:59','1999032721:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1999,10,31,0,59,59],[1999,10,30,22,59,59],
+          '1999032801:00:00','1999032723:00:00','1999103100:59:59','1999103022:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,3,26,0,59,59],[2000,3,25,21,59,59],
+          '1999103101:00:00','1999103022:00:00','2000032600:59:59','2000032521:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,10,29,0,59,59],[2000,10,28,22,59,59],
+          '2000032601:00:00','2000032523:00:00','2000102900:59:59','2000102822:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,3,25,0,59,59],[2001,3,24,21,59,59],
+          '2000102901:00:00','2000102822:00:00','2001032500:59:59','2001032421:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2001,10,28,0,59,59],[2001,10,27,22,59,59],
+          '2001032501:00:00','2001032423:00:00','2001102800:59:59','2001102722:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2002,3,31,0,59,59],[2002,3,30,21,59,59],
+          '2001102801:00:00','2001102722:00:00','2002033100:59:59','2002033021:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,10,27,0,59,59],[2002,10,26,22,59,59],
+          '2002033101:00:00','2002033023:00:00','2002102700:59:59','2002102622:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2003,3,30,0,59,59],[2003,3,29,21,59,59],
+          '2002102701:00:00','2002102622:00:00','2003033000:59:59','2003032921:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2003,10,26,0,59,59],[2003,10,25,22,59,59],
+          '2003033001:00:00','2003032923:00:00','2003102600:59:59','2003102522:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,3,28,0,59,59],[2004,3,27,21,59,59],
+          '2003102601:00:00','2003102522:00:00','2004032800:59:59','2004032721:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2004,10,31,0,59,59],[2004,10,30,22,59,59],
+          '2004032801:00:00','2004032723:00:00','2004103100:59:59','2004103022:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2005,3,27,0,59,59],[2005,3,26,21,59,59],
+          '2004103101:00:00','2004103022:00:00','2005032700:59:59','2005032621:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2005,10,30,0,59,59],[2005,10,29,22,59,59],
+          '2005032701:00:00','2005032623:00:00','2005103000:59:59','2005102922:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2006,3,26,0,59,59],[2006,3,25,21,59,59],
+          '2005103001:00:00','2005102922:00:00','2006032600:59:59','2006032521:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2006,10,29,0,59,59],[2006,10,28,22,59,59],
+          '2006032601:00:00','2006032523:00:00','2006102900:59:59','2006102822:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,3,25,0,59,59],[2007,3,24,21,59,59],
+          '2006102901:00:00','2006102822:00:00','2007032500:59:59','2007032421:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2007,10,28,0,59,59],[2007,10,27,22,59,59],
+          '2007032501:00:00','2007032423:00:00','2007102800:59:59','2007102722:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,3,30,0,59,59],[2008,3,29,21,59,59],
+          '2007102801:00:00','2007102722:00:00','2008033000:59:59','2008032921:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,10,26,0,59,59],[2008,10,25,22,59,59],
+          '2008033001:00:00','2008032923:00:00','2008102600:59:59','2008102522:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2009,3,29,0,59,59],[2009,3,28,21,59,59],
+          '2008102601:00:00','2008102522:00:00','2009032900:59:59','2009032821:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,10,25,0,59,59],[2009,10,24,22,59,59],
+          '2009032901:00:00','2009032823:00:00','2009102500:59:59','2009102422:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2010,3,28,0,59,59],[2010,3,27,21,59,59],
+          '2009102501:00:00','2009102422:00:00','2010032800:59:59','2010032721:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2010,10,31,0,59,59],[2010,10,30,22,59,59],
+          '2010032801:00:00','2010032723:00:00','2010103100:59:59','2010103022:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2011,3,27,0,59,59],[2011,3,26,21,59,59],
+          '2010103101:00:00','2010103022:00:00','2011032700:59:59','2011032621:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2011,10,30,0,59,59],[2011,10,29,22,59,59],
+          '2011032701:00:00','2011032623:00:00','2011103000:59:59','2011102922:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2012,3,25,0,59,59],[2012,3,24,21,59,59],
+          '2011103001:00:00','2011102922:00:00','2012032500:59:59','2012032421:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2012,10,28,0,59,59],[2012,10,27,22,59,59],
+          '2012032501:00:00','2012032423:00:00','2012102800:59:59','2012102722:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2013,3,31,0,59,59],[2013,3,30,21,59,59],
+          '2012102801:00:00','2012102722:00:00','2013033100:59:59','2013033021:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2013,10,27,0,59,59],[2013,10,26,22,59,59],
+          '2013033101:00:00','2013033023:00:00','2013102700:59:59','2013102622:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2014,3,30,0,59,59],[2014,3,29,21,59,59],
+          '2013102701:00:00','2013102622:00:00','2014033000:59:59','2014032921:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2014,10,26,0,59,59],[2014,10,25,22,59,59],
+          '2014033001:00:00','2014032923:00:00','2014102600:59:59','2014102522:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2015,3,29,0,59,59],[2015,3,28,21,59,59],
+          '2014102601:00:00','2014102522:00:00','2015032900:59:59','2015032821:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2015,10,25,0,59,59],[2015,10,24,22,59,59],
+          '2015032901:00:00','2015032823:00:00','2015102500:59:59','2015102422:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2016,3,27,0,59,59],[2016,3,26,21,59,59],
+          '2015102501:00:00','2015102422:00:00','2016032700:59:59','2016032621:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2016,10,30,0,59,59],[2016,10,29,22,59,59],
+          '2016032701:00:00','2016032623:00:00','2016103000:59:59','2016102922:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2017,3,26,0,59,59],[2017,3,25,21,59,59],
+          '2016103001:00:00','2016102922:00:00','2017032600:59:59','2017032521:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2017,10,29,0,59,59],[2017,10,28,22,59,59],
+          '2017032601:00:00','2017032523:00:00','2017102900:59:59','2017102822:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2018,3,25,0,59,59],[2018,3,24,21,59,59],
+          '2017102901:00:00','2017102822:00:00','2018032500:59:59','2018032421:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2018,10,28,0,59,59],[2018,10,27,22,59,59],
+          '2018032501:00:00','2018032423:00:00','2018102800:59:59','2018102722:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2019,3,31,0,59,59],[2019,3,30,21,59,59],
+          '2018102801:00:00','2018102722:00:00','2019033100:59:59','2019033021:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2019,10,27,0,59,59],[2019,10,26,22,59,59],
+          '2019033101:00:00','2019033023:00:00','2019102700:59:59','2019102622:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2020,3,29,0,59,59],[2020,3,28,21,59,59],
+          '2019102701:00:00','2019102622:00:00','2020032900:59:59','2020032821:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2020,10,25,0,59,59],[2020,10,24,22,59,59],
+          '2020032901:00:00','2020032823:00:00','2020102500:59:59','2020102422:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2021,3,28,0,59,59],[2021,3,27,21,59,59],
+          '2020102501:00:00','2020102422:00:00','2021032800:59:59','2021032721:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2021,10,31,0,59,59],[2021,10,30,22,59,59],
+          '2021032801:00:00','2021032723:00:00','2021103100:59:59','2021103022:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2022,3,27,0,59,59],[2022,3,26,21,59,59],
+          '2021103101:00:00','2021103022:00:00','2022032700:59:59','2022032621:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2022,10,30,0,59,59],[2022,10,29,22,59,59],
+          '2022032701:00:00','2022032623:00:00','2022103000:59:59','2022102922:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2023,3,26,0,59,59],[2023,3,25,21,59,59],
+          '2022103001:00:00','2022102922:00:00','2023032600:59:59','2023032521:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2023,10,29,0,59,59],[2023,10,28,22,59,59],
+          '2023032601:00:00','2023032523:00:00','2023102900:59:59','2023102822:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2024,3,31,0,59,59],[2024,3,30,21,59,59],
+          '2023102901:00:00','2023102822:00:00','2024033100:59:59','2024033021:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2024,10,27,0,59,59],[2024,10,26,22,59,59],
+          '2024033101:00:00','2024033023:00:00','2024102700:59:59','2024102622:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2025,3,30,0,59,59],[2025,3,29,21,59,59],
+          '2024102701:00:00','2024102622:00:00','2025033000:59:59','2025032921:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2025,10,26,0,59,59],[2025,10,25,22,59,59],
+          '2025033001:00:00','2025032923:00:00','2025102600:59:59','2025102522:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2026,3,29,0,59,59],[2026,3,28,21,59,59],
+          '2025102601:00:00','2025102522:00:00','2026032900:59:59','2026032821:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2026,10,25,0,59,59],[2026,10,24,22,59,59],
+          '2026032901:00:00','2026032823:00:00','2026102500:59:59','2026102422:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2027,3,28,0,59,59],[2027,3,27,21,59,59],
+          '2026102501:00:00','2026102422:00:00','2027032800:59:59','2027032721:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2027,10,31,0,59,59],[2027,10,30,22,59,59],
+          '2027032801:00:00','2027032723:00:00','2027103100:59:59','2027103022:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2028,3,26,0,59,59],[2028,3,25,21,59,59],
+          '2027103101:00:00','2027103022:00:00','2028032600:59:59','2028032521:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2028,10,29,0,59,59],[2028,10,28,22,59,59],
+          '2028032601:00:00','2028032523:00:00','2028102900:59:59','2028102822:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2029,3,25,0,59,59],[2029,3,24,21,59,59],
+          '2028102901:00:00','2028102822:00:00','2029032500:59:59','2029032421:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2029,10,28,0,59,59],[2029,10,27,22,59,59],
+          '2029032501:00:00','2029032423:00:00','2029102800:59:59','2029102722:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2030,3,31,0,59,59],[2030,3,30,21,59,59],
+          '2029102801:00:00','2029102722:00:00','2030033100:59:59','2030033021:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2030,10,27,0,59,59],[2030,10,26,22,59,59],
+          '2030033101:00:00','2030033023:00:00','2030102700:59:59','2030102622:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2031,3,30,0,59,59],[2031,3,29,21,59,59],
+          '2030102701:00:00','2030102622:00:00','2031033000:59:59','2031032921:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2031,10,26,0,59,59],[2031,10,25,22,59,59],
+          '2031033001:00:00','2031032923:00:00','2031102600:59:59','2031102522:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2032,3,28,0,59,59],[2032,3,27,21,59,59],
+          '2031102601:00:00','2031102522:00:00','2032032800:59:59','2032032721:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2032,10,31,0,59,59],[2032,10,30,22,59,59],
+          '2032032801:00:00','2032032723:00:00','2032103100:59:59','2032103022:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2033,3,27,0,59,59],[2033,3,26,21,59,59],
+          '2032103101:00:00','2032103022:00:00','2033032700:59:59','2033032621:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2033,10,30,0,59,59],[2033,10,29,22,59,59],
+          '2033032701:00:00','2033032623:00:00','2033103000:59:59','2033102922:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2034,3,26,0,59,59],[2034,3,25,21,59,59],
+          '2033103001:00:00','2033102922:00:00','2034032600:59:59','2034032521:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2034,10,29,0,59,59],[2034,10,28,22,59,59],
+          '2034032601:00:00','2034032523:00:00','2034102900:59:59','2034102822:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2035,3,25,0,59,59],[2035,3,24,21,59,59],
+          '2034102901:00:00','2034102822:00:00','2035032500:59:59','2035032421:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2035,10,28,0,59,59],[2035,10,27,22,59,59],
+          '2035032501:00:00','2035032423:00:00','2035102800:59:59','2035102722:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2036,3,30,0,59,59],[2036,3,29,21,59,59],
+          '2035102801:00:00','2035102722:00:00','2036033000:59:59','2036032921:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2036,10,26,0,59,59],[2036,10,25,22,59,59],
+          '2036033001:00:00','2036032923:00:00','2036102600:59:59','2036102522:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2037,3,29,0,59,59],[2037,3,28,21,59,59],
+          '2036102601:00:00','2036102522:00:00','2037032900:59:59','2037032821:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2037,10,25,0,59,59],[2037,10,24,22,59,59],
+          '2037032901:00:00','2037032823:00:00','2037102500:59:59','2037102422:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2038,3,28,0,59,59],[2038,3,27,21,59,59],
+          '2037102501:00:00','2037102422:00:00','2038032800:59:59','2038032721:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2038,10,31,0,59,59],[2038,10,30,22,59,59],
+          '2038032801:00:00','2038032723:00:00','2038103100:59:59','2038103022:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2039,3,27,0,59,59],[2039,3,26,21,59,59],
+          '2038103101:00:00','2038103022:00:00','2039032700:59:59','2039032621:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2039,10,30,0,59,59],[2039,10,29,22,59,59],
+          '2039032701:00:00','2039032623:00:00','2039103000:59:59','2039102922:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2040,3,25,0,59,59],[2040,3,24,21,59,59],
+          '2039103001:00:00','2039102922:00:00','2040032500:59:59','2040032421:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2040,10,28,0,59,59],[2040,10,27,22,59,59],
+          '2040032501:00:00','2040032423:00:00','2040102800:59:59','2040102722:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2041,3,31,0,59,59],[2041,3,30,21,59,59],
+          '2040102801:00:00','2040102722:00:00','2041033100:59:59','2041033021:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2041,10,27,0,59,59],[2041,10,26,22,59,59],
+          '2041033101:00:00','2041033023:00:00','2041102700:59:59','2041102622:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2042,3,30,0,59,59],[2042,3,29,21,59,59],
+          '2041102701:00:00','2041102622:00:00','2042033000:59:59','2042032921:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2042,10,26,0,59,59],[2042,10,25,22,59,59],
+          '2042033001:00:00','2042032923:00:00','2042102600:59:59','2042102522:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2043,3,29,0,59,59],[2043,3,28,21,59,59],
+          '2042102601:00:00','2042102522:00:00','2043032900:59:59','2043032821:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2043,10,25,0,59,59],[2043,10,24,22,59,59],
+          '2043032901:00:00','2043032823:00:00','2043102500:59:59','2043102422:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2044,3,27,0,59,59],[2044,3,26,21,59,59],
+          '2043102501:00:00','2043102422:00:00','2044032700:59:59','2044032621:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2044,10,30,0,59,59],[2044,10,29,22,59,59],
+          '2044032701:00:00','2044032623:00:00','2044103000:59:59','2044102922:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2045,3,26,0,59,59],[2045,3,25,21,59,59],
+          '2044103001:00:00','2044102922:00:00','2045032600:59:59','2045032521:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2045,10,29,0,59,59],[2045,10,28,22,59,59],
+          '2045032601:00:00','2045032523:00:00','2045102900:59:59','2045102822:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2046,3,25,0,59,59],[2046,3,24,21,59,59],
+          '2045102901:00:00','2045102822:00:00','2046032500:59:59','2046032421:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2046,10,28,0,59,59],[2046,10,27,22,59,59],
+          '2046032501:00:00','2046032423:00:00','2046102800:59:59','2046102722:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2047,3,31,0,59,59],[2047,3,30,21,59,59],
+          '2046102801:00:00','2046102722:00:00','2047033100:59:59','2047033021:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2047,10,27,0,59,59],[2047,10,26,22,59,59],
+          '2047033101:00:00','2047033023:00:00','2047102700:59:59','2047102622:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2048,3,29,0,59,59],[2048,3,28,21,59,59],
+          '2047102701:00:00','2047102622:00:00','2048032900:59:59','2048032821:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2048,10,25,0,59,59],[2048,10,24,22,59,59],
+          '2048032901:00:00','2048032823:00:00','2048102500:59:59','2048102422:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2049,3,28,0,59,59],[2049,3,27,21,59,59],
+          '2048102501:00:00','2048102422:00:00','2049032800:59:59','2049032721:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2049,10,31,0,59,59],[2049,10,30,22,59,59],
+          '2049032801:00:00','2049032723:00:00','2049103100:59:59','2049103022:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2050,3,27,0,59,59],[2050,3,26,21,59,59],
+          '2049103101:00:00','2049103022:00:00','2050032700:59:59','2050032621:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2050,10,30,0,59,59],[2050,10,29,22,59,59],
+          '2050032701:00:00','2050032623:00:00','2050103000:59:59','2050102922:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2051,3,26,0,59,59],[2051,3,25,21,59,59],
+          '2050103001:00:00','2050102922:00:00','2051032600:59:59','2051032521:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2051,10,29,0,59,59],[2051,10,28,22,59,59],
+          '2051032601:00:00','2051032523:00:00','2051102900:59:59','2051102822:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2052,3,31,0,59,59],[2052,3,30,21,59,59],
+          '2051102901:00:00','2051102822:00:00','2052033100:59:59','2052033021:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2052,10,27,0,59,59],[2052,10,26,22,59,59],
+          '2052033101:00:00','2052033023:00:00','2052102700:59:59','2052102622:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2053,3,30,0,59,59],[2053,3,29,21,59,59],
+          '2052102701:00:00','2052102622:00:00','2053033000:59:59','2053032921:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2053,10,26,0,59,59],[2053,10,25,22,59,59],
+          '2053033001:00:00','2053032923:00:00','2053102600:59:59','2053102522:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2054,3,29,0,59,59],[2054,3,28,21,59,59],
+          '2053102601:00:00','2053102522:00:00','2054032900:59:59','2054032821:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2054,10,25,0,59,59],[2054,10,24,22,59,59],
+          '2054032901:00:00','2054032823:00:00','2054102500:59:59','2054102422:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2055,3,28,0,59,59],[2055,3,27,21,59,59],
+          '2054102501:00:00','2054102422:00:00','2055032800:59:59','2055032721:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2055,10,31,0,59,59],[2055,10,30,22,59,59],
+          '2055032801:00:00','2055032723:00:00','2055103100:59:59','2055103022:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2056,3,26,0,59,59],[2056,3,25,21,59,59],
+          '2055103101:00:00','2055103022:00:00','2056032600:59:59','2056032521:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2056,10,29,0,59,59],[2056,10,28,22,59,59],
+          '2056032601:00:00','2056032523:00:00','2056102900:59:59','2056102822:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2057,3,25,0,59,59],[2057,3,24,21,59,59],
+          '2056102901:00:00','2056102822:00:00','2057032500:59:59','2057032421:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2057,10,28,0,59,59],[2057,10,27,22,59,59],
+          '2057032501:00:00','2057032423:00:00','2057102800:59:59','2057102722:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2058,3,31,0,59,59],[2058,3,30,21,59,59],
+          '2057102801:00:00','2057102722:00:00','2058033100:59:59','2058033021:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2058,10,27,0,59,59],[2058,10,26,22,59,59],
+          '2058033101:00:00','2058033023:00:00','2058102700:59:59','2058102622:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,26,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2059,3,30,0,59,59],[2059,3,29,21,59,59],
+          '2058102701:00:00','2058102622:00:00','2059033000:59:59','2059032921:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2059,10,26,0,59,59],[2059,10,25,22,59,59],
+          '2059033001:00:00','2059032923:00:00','2059102600:59:59','2059102522:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2060,3,28,0,59,59],[2060,3,27,21,59,59],
+          '2059102601:00:00','2059102522:00:00','2060032800:59:59','2060032721:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2060,10,31,0,59,59],[2060,10,30,22,59,59],
+          '2060032801:00:00','2060032723:00:00','2060103100:59:59','2060103022:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2061,3,27,0,59,59],[2061,3,26,21,59,59],
+          '2060103101:00:00','2060103022:00:00','2061032700:59:59','2061032621:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2061,10,30,0,59,59],[2061,10,29,22,59,59],
+          '2061032701:00:00','2061032623:00:00','2061103000:59:59','2061102922:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2062,3,26,0,59,59],[2062,3,25,21,59,59],
+          '2061103001:00:00','2061102922:00:00','2062032600:59:59','2062032521:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,25,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2062,10,29,0,59,59],[2062,10,28,22,59,59],
+          '2062032601:00:00','2062032523:00:00','2062102900:59:59','2062102822:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,28,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2063,3,25,0,59,59],[2063,3,24,21,59,59],
+          '2062102901:00:00','2062102822:00:00','2063032500:59:59','2063032421:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2063,10,28,0,59,59],[2063,10,27,22,59,59],
+          '2063032501:00:00','2063032423:00:00','2063102800:59:59','2063102722:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,27,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2064,3,30,0,59,59],[2064,3,29,21,59,59],
+          '2063102801:00:00','2063102722:00:00','2064033000:59:59','2064032921:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2064,10,26,0,59,59],[2064,10,25,22,59,59],
+          '2064033001:00:00','2064032923:00:00','2064102600:59:59','2064102522:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,25,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2065,3,29,0,59,59],[2065,3,28,21,59,59],
+          '2064102601:00:00','2064102522:00:00','2065032900:59:59','2065032821:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2065,10,25,0,59,59],[2065,10,24,22,59,59],
+          '2065032901:00:00','2065032823:00:00','2065102500:59:59','2065102422:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,24,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2066,3,28,0,59,59],[2066,3,27,21,59,59],
+          '2065102501:00:00','2065102422:00:00','2066032800:59:59','2066032721:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2066,10,31,0,59,59],[2066,10,30,22,59,59],
+          '2066032801:00:00','2066032723:00:00','2066103100:59:59','2066103022:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,30,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2067,3,27,0,59,59],[2067,3,26,21,59,59],
+          '2066103101:00:00','2066103022:00:00','2067032700:59:59','2067032621:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2067,10,30,0,59,59],[2067,10,29,22,59,59],
+          '2067032701:00:00','2067032623:00:00','2067103000:59:59','2067102922:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,29,22,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2068,3,25,0,59,59],[2068,3,24,21,59,59],
+          '2067103001:00:00','2067102922:00:00','2068032500:59:59','2068032421:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-02:00:00',
+                'stdoff' => '-03:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-02',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amgoos00.pm b/lib/Date/Manip/TZ/amgoos00.pm
new file mode 100644
index 0000000..f7a6d41
--- /dev/null
+++ b/lib/Date/Manip/TZ/amgoos00.pm
@@ -0,0 +1,1258 @@
+package #
+Date::Manip::TZ::amgoos00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,58,20],'-04:01:40',[-4,-1,-40],
+          'LMT',0,[1884,1,1,4,1,39],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010119:58:20','1884010104:01:39','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,4,1,40],[1884,1,1,0,30,48],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1918,4,14,5,30,51],[1918,4,14,1,59,59],
+          '1884010104:01:40','1884010100:30:48','1918041405:30:51','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,5,30,52],[1918,4,14,3,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1918,10,27,4,30,51],[1918,10,27,1,59,59],
+          '1918041405:30:52','1918041403:00:00','1918102704:30:51','1918102701:59:59' ],
+        [ [1918,10,27,4,30,52],[1918,10,27,1,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1935,3,30,3,30,51],[1935,3,29,23,59,59],
+          '1918102704:30:52','1918102701:00:00','1935033003:30:51','1935032923:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,30,3,30,52],[1935,3,30,0,0,52],'-03:30:00',[-3,-30,0],
+          'NST',0,[1936,5,11,3,29,59],[1936,5,10,23,59,59],
+          '1935033003:30:52','1935033000:00:52','1936051103:29:59','1936051023:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,5,11,3,30,0],[1936,5,11,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1936,10,5,2,29,59],[1936,10,4,23,59,59],
+          '1936051103:30:00','1936051101:00:00','1936100502:29:59','1936100423:59:59' ],
+        [ [1936,10,5,2,30,0],[1936,10,4,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1937,5,10,3,29,59],[1937,5,9,23,59,59],
+          '1936100502:30:00','1936100423:00:00','1937051003:29:59','1937050923:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,5,10,3,30,0],[1937,5,10,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1937,10,4,2,29,59],[1937,10,3,23,59,59],
+          '1937051003:30:00','1937051001:00:00','1937100402:29:59','1937100323:59:59' ],
+        [ [1937,10,4,2,30,0],[1937,10,3,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1938,5,9,3,29,59],[1938,5,8,23,59,59],
+          '1937100402:30:00','1937100323:00:00','1938050903:29:59','1938050823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,5,9,3,30,0],[1938,5,9,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1938,10,3,2,29,59],[1938,10,2,23,59,59],
+          '1938050903:30:00','1938050901:00:00','1938100302:29:59','1938100223:59:59' ],
+        [ [1938,10,3,2,30,0],[1938,10,2,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1939,5,15,3,29,59],[1939,5,14,23,59,59],
+          '1938100302:30:00','1938100223:00:00','1939051503:29:59','1939051423:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,5,15,3,30,0],[1939,5,15,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1939,10,2,2,29,59],[1939,10,1,23,59,59],
+          '1939051503:30:00','1939051501:00:00','1939100202:29:59','1939100123:59:59' ],
+        [ [1939,10,2,2,30,0],[1939,10,1,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1940,5,13,3,29,59],[1940,5,12,23,59,59],
+          '1939100202:30:00','1939100123:00:00','1940051303:29:59','1940051223:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,13,3,30,0],[1940,5,13,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1940,10,7,2,29,59],[1940,10,6,23,59,59],
+          '1940051303:30:00','1940051301:00:00','1940100702:29:59','1940100623:59:59' ],
+        [ [1940,10,7,2,30,0],[1940,10,6,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1941,5,12,3,29,59],[1941,5,11,23,59,59],
+          '1940100702:30:00','1940100623:00:00','1941051203:29:59','1941051123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,12,3,30,0],[1941,5,12,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1941,10,6,2,29,59],[1941,10,5,23,59,59],
+          '1941051203:30:00','1941051201:00:00','1941100602:29:59','1941100523:59:59' ],
+        [ [1941,10,6,2,30,0],[1941,10,5,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1942,5,11,3,29,59],[1942,5,10,23,59,59],
+          '1941100602:30:00','1941100523:00:00','1942051103:29:59','1942051023:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,11,3,30,0],[1942,5,11,1,0,0],'-02:30:00',[-2,-30,0],
+          'NWT',1,[1945,8,14,22,59,59],[1945,8,14,20,29,59],
+          '1942051103:30:00','1942051101:00:00','1945081422:59:59','1945081420:29:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,30,0],'-02:30:00',[-2,-30,0],
+          'NPT',1,[1945,9,30,4,29,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:30:00','1945093004:29:59','1945093001:59:59' ],
+        [ [1945,9,30,4,30,0],[1945,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1946,5,12,5,29,59],[1946,5,12,1,59,59],
+          '1945093004:30:00','1945093001:00:00','1946051205:29:59','1946051201:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,12,5,30,0],[1946,5,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1946,10,6,4,29,59],[1946,10,6,1,59,59],
+          '1946051205:30:00','1946051203:00:00','1946100604:29:59','1946100601:59:59' ],
+        [ [1946,10,6,4,30,0],[1946,10,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1947,5,11,5,29,59],[1947,5,11,1,59,59],
+          '1946100604:30:00','1946100601:00:00','1947051105:29:59','1947051101:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,5,11,5,30,0],[1947,5,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1947,10,5,4,29,59],[1947,10,5,1,59,59],
+          '1947051105:30:00','1947051103:00:00','1947100504:29:59','1947100501:59:59' ],
+        [ [1947,10,5,4,30,0],[1947,10,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1948,5,9,5,29,59],[1948,5,9,1,59,59],
+          '1947100504:30:00','1947100501:00:00','1948050905:29:59','1948050901:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,9,5,30,0],[1948,5,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1948,10,3,4,29,59],[1948,10,3,1,59,59],
+          '1948050905:30:00','1948050903:00:00','1948100304:29:59','1948100301:59:59' ],
+        [ [1948,10,3,4,30,0],[1948,10,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1949,5,8,5,29,59],[1949,5,8,1,59,59],
+          '1948100304:30:00','1948100301:00:00','1949050805:29:59','1949050801:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,5,8,5,30,0],[1949,5,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1949,10,2,4,29,59],[1949,10,2,1,59,59],
+          '1949050805:30:00','1949050803:00:00','1949100204:29:59','1949100201:59:59' ],
+        [ [1949,10,2,4,30,0],[1949,10,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1950,5,14,5,29,59],[1950,5,14,1,59,59],
+          '1949100204:30:00','1949100201:00:00','1950051405:29:59','1950051401:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,5,14,5,30,0],[1950,5,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1950,10,8,4,29,59],[1950,10,8,1,59,59],
+          '1950051405:30:00','1950051403:00:00','1950100804:29:59','1950100801:59:59' ],
+        [ [1950,10,8,4,30,0],[1950,10,8,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1951,4,29,5,29,59],[1951,4,29,1,59,59],
+          '1950100804:30:00','1950100801:00:00','1951042905:29:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,5,30,0],[1951,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1951,9,30,4,29,59],[1951,9,30,1,59,59],
+          '1951042905:30:00','1951042903:00:00','1951093004:29:59','1951093001:59:59' ],
+        [ [1951,9,30,4,30,0],[1951,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1952,4,27,5,29,59],[1952,4,27,1,59,59],
+          '1951093004:30:00','1951093001:00:00','1952042705:29:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,5,30,0],[1952,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1952,9,28,4,29,59],[1952,9,28,1,59,59],
+          '1952042705:30:00','1952042703:00:00','1952092804:29:59','1952092801:59:59' ],
+        [ [1952,9,28,4,30,0],[1952,9,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1953,4,26,5,29,59],[1953,4,26,1,59,59],
+          '1952092804:30:00','1952092801:00:00','1953042605:29:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,5,30,0],[1953,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1953,9,27,4,29,59],[1953,9,27,1,59,59],
+          '1953042605:30:00','1953042603:00:00','1953092704:29:59','1953092701:59:59' ],
+        [ [1953,9,27,4,30,0],[1953,9,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1954,4,25,5,29,59],[1954,4,25,1,59,59],
+          '1953092704:30:00','1953092701:00:00','1954042505:29:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,5,30,0],[1954,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1954,9,26,4,29,59],[1954,9,26,1,59,59],
+          '1954042505:30:00','1954042503:00:00','1954092604:29:59','1954092601:59:59' ],
+        [ [1954,9,26,4,30,0],[1954,9,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1955,4,24,5,29,59],[1955,4,24,1,59,59],
+          '1954092604:30:00','1954092601:00:00','1955042405:29:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,5,30,0],[1955,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1955,9,25,4,29,59],[1955,9,25,1,59,59],
+          '1955042405:30:00','1955042403:00:00','1955092504:29:59','1955092501:59:59' ],
+        [ [1955,9,25,4,30,0],[1955,9,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1956,4,29,5,29,59],[1956,4,29,1,59,59],
+          '1955092504:30:00','1955092501:00:00','1956042905:29:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,5,30,0],[1956,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1956,9,30,4,29,59],[1956,9,30,1,59,59],
+          '1956042905:30:00','1956042903:00:00','1956093004:29:59','1956093001:59:59' ],
+        [ [1956,9,30,4,30,0],[1956,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1957,4,28,5,29,59],[1957,4,28,1,59,59],
+          '1956093004:30:00','1956093001:00:00','1957042805:29:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,5,30,0],[1957,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1957,9,29,4,29,59],[1957,9,29,1,59,59],
+          '1957042805:30:00','1957042803:00:00','1957092904:29:59','1957092901:59:59' ],
+        [ [1957,9,29,4,30,0],[1957,9,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1958,4,27,5,29,59],[1958,4,27,1,59,59],
+          '1957092904:30:00','1957092901:00:00','1958042705:29:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,5,30,0],[1958,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1958,9,28,4,29,59],[1958,9,28,1,59,59],
+          '1958042705:30:00','1958042703:00:00','1958092804:29:59','1958092801:59:59' ],
+        [ [1958,9,28,4,30,0],[1958,9,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1959,4,26,5,29,59],[1959,4,26,1,59,59],
+          '1958092804:30:00','1958092801:00:00','1959042605:29:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,5,30,0],[1959,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1959,9,27,4,29,59],[1959,9,27,1,59,59],
+          '1959042605:30:00','1959042603:00:00','1959092704:29:59','1959092701:59:59' ],
+        [ [1959,9,27,4,30,0],[1959,9,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1960,4,24,5,29,59],[1960,4,24,1,59,59],
+          '1959092704:30:00','1959092701:00:00','1960042405:29:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,5,30,0],[1960,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1960,10,30,4,29,59],[1960,10,30,1,59,59],
+          '1960042405:30:00','1960042403:00:00','1960103004:29:59','1960103001:59:59' ],
+        [ [1960,10,30,4,30,0],[1960,10,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1961,4,30,5,29,59],[1961,4,30,1,59,59],
+          '1960103004:30:00','1960103001:00:00','1961043005:29:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,5,30,0],[1961,4,30,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1961,10,29,4,29,59],[1961,10,29,1,59,59],
+          '1961043005:30:00','1961043003:00:00','1961102904:29:59','1961102901:59:59' ],
+        [ [1961,10,29,4,30,0],[1961,10,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1962,4,29,5,29,59],[1962,4,29,1,59,59],
+          '1961102904:30:00','1961102901:00:00','1962042905:29:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,5,30,0],[1962,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1962,10,28,4,29,59],[1962,10,28,1,59,59],
+          '1962042905:30:00','1962042903:00:00','1962102804:29:59','1962102801:59:59' ],
+        [ [1962,10,28,4,30,0],[1962,10,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1963,4,28,5,29,59],[1963,4,28,1,59,59],
+          '1962102804:30:00','1962102801:00:00','1963042805:29:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,5,30,0],[1963,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1963,10,27,4,29,59],[1963,10,27,1,59,59],
+          '1963042805:30:00','1963042803:00:00','1963102704:29:59','1963102701:59:59' ],
+        [ [1963,10,27,4,30,0],[1963,10,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1964,4,26,5,29,59],[1964,4,26,1,59,59],
+          '1963102704:30:00','1963102701:00:00','1964042605:29:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,5,30,0],[1964,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1964,10,25,4,29,59],[1964,10,25,1,59,59],
+          '1964042605:30:00','1964042603:00:00','1964102504:29:59','1964102501:59:59' ],
+        [ [1964,10,25,4,30,0],[1964,10,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1965,4,25,5,29,59],[1965,4,25,1,59,59],
+          '1964102504:30:00','1964102501:00:00','1965042505:29:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,5,30,0],[1965,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1965,10,31,4,29,59],[1965,10,31,1,59,59],
+          '1965042505:30:00','1965042503:00:00','1965103104:29:59','1965103101:59:59' ],
+        [ [1965,10,31,4,30,0],[1965,10,31,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1966,3,15,5,29,59],[1966,3,15,1,59,59],
+          '1965103104:30:00','1965103101:00:00','1966031505:29:59','1966031501:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,15,5,30,0],[1966,3,15,1,30,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1966,4,24,5,59,59],[1966,4,24,1,59,59],
+          '1966031505:30:00','1966031501:30:00','1966042405:59:59','1966042401:59:59' ],
+        [ [1966,4,24,6,0,0],[1966,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1966,10,30,4,59,59],[1966,10,30,1,59,59],
+          '1966042406:00:00','1966042403:00:00','1966103004:59:59','1966103001:59:59' ],
+        [ [1966,10,30,5,0,0],[1966,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1967,4,30,5,59,59],[1967,4,30,1,59,59],
+          '1966103005:00:00','1966103001:00:00','1967043005:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,6,0,0],[1967,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1967,10,29,4,59,59],[1967,10,29,1,59,59],
+          '1967043006:00:00','1967043003:00:00','1967102904:59:59','1967102901:59:59' ],
+        [ [1967,10,29,5,0,0],[1967,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1968,4,28,5,59,59],[1968,4,28,1,59,59],
+          '1967102905:00:00','1967102901:00:00','1968042805:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,6,0,0],[1968,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1968,10,27,4,59,59],[1968,10,27,1,59,59],
+          '1968042806:00:00','1968042803:00:00','1968102704:59:59','1968102701:59:59' ],
+        [ [1968,10,27,5,0,0],[1968,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1969,4,27,5,59,59],[1969,4,27,1,59,59],
+          '1968102705:00:00','1968102701:00:00','1969042705:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,6,0,0],[1969,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1969,10,26,4,59,59],[1969,10,26,1,59,59],
+          '1969042706:00:00','1969042703:00:00','1969102604:59:59','1969102601:59:59' ],
+        [ [1969,10,26,5,0,0],[1969,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1970,4,26,5,59,59],[1970,4,26,1,59,59],
+          '1969102605:00:00','1969102601:00:00','1970042605:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,6,0,0],[1970,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1970,10,25,4,59,59],[1970,10,25,1,59,59],
+          '1970042606:00:00','1970042603:00:00','1970102504:59:59','1970102501:59:59' ],
+        [ [1970,10,25,5,0,0],[1970,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1971,4,25,5,59,59],[1971,4,25,1,59,59],
+          '1970102505:00:00','1970102501:00:00','1971042505:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,6,0,0],[1971,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1971,10,31,4,59,59],[1971,10,31,1,59,59],
+          '1971042506:00:00','1971042503:00:00','1971103104:59:59','1971103101:59:59' ],
+        [ [1971,10,31,5,0,0],[1971,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1972,4,30,5,59,59],[1972,4,30,1,59,59],
+          '1971103105:00:00','1971103101:00:00','1972043005:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,6,0,0],[1972,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1972,10,29,4,59,59],[1972,10,29,1,59,59],
+          '1972043006:00:00','1972043003:00:00','1972102904:59:59','1972102901:59:59' ],
+        [ [1972,10,29,5,0,0],[1972,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1973,4,29,5,59,59],[1973,4,29,1,59,59],
+          '1972102905:00:00','1972102901:00:00','1973042905:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,6,0,0],[1973,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1973,10,28,4,59,59],[1973,10,28,1,59,59],
+          '1973042906:00:00','1973042903:00:00','1973102804:59:59','1973102801:59:59' ],
+        [ [1973,10,28,5,0,0],[1973,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1974,4,28,5,59,59],[1974,4,28,1,59,59],
+          '1973102805:00:00','1973102801:00:00','1974042805:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,6,0,0],[1974,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1974,10,27,4,59,59],[1974,10,27,1,59,59],
+          '1974042806:00:00','1974042803:00:00','1974102704:59:59','1974102701:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1975,4,27,5,59,59],[1975,4,27,1,59,59],
+          '1974102705:00:00','1974102701:00:00','1975042705:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,6,0,0],[1975,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1975,10,26,4,59,59],[1975,10,26,1,59,59],
+          '1975042706:00:00','1975042703:00:00','1975102604:59:59','1975102601:59:59' ],
+        [ [1975,10,26,5,0,0],[1975,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1976,4,25,5,59,59],[1976,4,25,1,59,59],
+          '1975102605:00:00','1975102601:00:00','1976042505:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,6,0,0],[1976,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1976,10,31,4,59,59],[1976,10,31,1,59,59],
+          '1976042506:00:00','1976042503:00:00','1976103104:59:59','1976103101:59:59' ],
+        [ [1976,10,31,5,0,0],[1976,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,4,24,5,59,59],[1977,4,24,1,59,59],
+          '1976103105:00:00','1976103101:00:00','1977042405:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,6,0,0],[1977,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,30,4,59,59],[1977,10,30,1,59,59],
+          '1977042406:00:00','1977042403:00:00','1977103004:59:59','1977103001:59:59' ],
+        [ [1977,10,30,5,0,0],[1977,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,30,5,59,59],[1978,4,30,1,59,59],
+          '1977103005:00:00','1977103001:00:00','1978043005:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,6,0,0],[1978,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,29,4,59,59],[1978,10,29,1,59,59],
+          '1978043006:00:00','1978043003:00:00','1978102904:59:59','1978102901:59:59' ],
+        [ [1978,10,29,5,0,0],[1978,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,29,5,59,59],[1979,4,29,1,59,59],
+          '1978102905:00:00','1978102901:00:00','1979042905:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,6,0,0],[1979,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,10,28,4,59,59],[1979,10,28,1,59,59],
+          '1979042906:00:00','1979042903:00:00','1979102804:59:59','1979102801:59:59' ],
+        [ [1979,10,28,5,0,0],[1979,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1979102805:00:00','1979102801:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,4,0,59],[1987,4,5,0,0,59],
+          '1986102605:00:00','1986102601:00:00','1987040504:00:59','1987040500:00:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,4,1,0],[1987,4,5,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,3,0,59],[1987,10,25,0,0,59],
+          '1987040504:01:00','1987040501:01:00','1987102503:00:59','1987102500:00:59' ],
+        [ [1987,10,25,3,1,0],[1987,10,24,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,4,0,59],[1988,4,3,0,0,59],
+          '1987102503:01:00','1987102423:01:00','1988040304:00:59','1988040300:00:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,4,1,0],[1988,4,3,2,1,0],'-02:00:00',[-2,0,0],
+          'ADDT',1,[1988,10,30,2,0,59],[1988,10,30,0,0,59],
+          '1988040304:01:00','1988040302:01:00','1988103002:00:59','1988103000:00:59' ],
+        [ [1988,10,30,2,1,0],[1988,10,29,22,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,4,0,59],[1989,4,2,0,0,59],
+          '1988103002:01:00','1988102922:01:00','1989040204:00:59','1989040200:00:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,4,1,0],[1989,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,3,0,59],[1989,10,29,0,0,59],
+          '1989040204:01:00','1989040201:01:00','1989102903:00:59','1989102900:00:59' ],
+        [ [1989,10,29,3,1,0],[1989,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,4,0,59],[1990,4,1,0,0,59],
+          '1989102903:01:00','1989102823:01:00','1990040104:00:59','1990040100:00:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,4,1,0],[1990,4,1,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,3,0,59],[1990,10,28,0,0,59],
+          '1990040104:01:00','1990040101:01:00','1990102803:00:59','1990102800:00:59' ],
+        [ [1990,10,28,3,1,0],[1990,10,27,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,4,0,59],[1991,4,7,0,0,59],
+          '1990102803:01:00','1990102723:01:00','1991040704:00:59','1991040700:00:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,4,1,0],[1991,4,7,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,3,0,59],[1991,10,27,0,0,59],
+          '1991040704:01:00','1991040701:01:00','1991102703:00:59','1991102700:00:59' ],
+        [ [1991,10,27,3,1,0],[1991,10,26,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,4,0,59],[1992,4,5,0,0,59],
+          '1991102703:01:00','1991102623:01:00','1992040504:00:59','1992040500:00:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,4,1,0],[1992,4,5,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,3,0,59],[1992,10,25,0,0,59],
+          '1992040504:01:00','1992040501:01:00','1992102503:00:59','1992102500:00:59' ],
+        [ [1992,10,25,3,1,0],[1992,10,24,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,4,0,59],[1993,4,4,0,0,59],
+          '1992102503:01:00','1992102423:01:00','1993040404:00:59','1993040400:00:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,4,1,0],[1993,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,3,0,59],[1993,10,31,0,0,59],
+          '1993040404:01:00','1993040401:01:00','1993103103:00:59','1993103100:00:59' ],
+        [ [1993,10,31,3,1,0],[1993,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,4,0,59],[1994,4,3,0,0,59],
+          '1993103103:01:00','1993103023:01:00','1994040304:00:59','1994040300:00:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,4,1,0],[1994,4,3,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,3,0,59],[1994,10,30,0,0,59],
+          '1994040304:01:00','1994040301:01:00','1994103003:00:59','1994103000:00:59' ],
+        [ [1994,10,30,3,1,0],[1994,10,29,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,4,0,59],[1995,4,2,0,0,59],
+          '1994103003:01:00','1994102923:01:00','1995040204:00:59','1995040200:00:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,4,1,0],[1995,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,3,0,59],[1995,10,29,0,0,59],
+          '1995040204:01:00','1995040201:01:00','1995102903:00:59','1995102900:00:59' ],
+        [ [1995,10,29,3,1,0],[1995,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,4,0,59],[1996,4,7,0,0,59],
+          '1995102903:01:00','1995102823:01:00','1996040704:00:59','1996040700:00:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,4,1,0],[1996,4,7,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,3,0,59],[1996,10,27,0,0,59],
+          '1996040704:01:00','1996040701:01:00','1996102703:00:59','1996102700:00:59' ],
+        [ [1996,10,27,3,1,0],[1996,10,26,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,4,0,59],[1997,4,6,0,0,59],
+          '1996102703:01:00','1996102623:01:00','1997040604:00:59','1997040600:00:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,4,1,0],[1997,4,6,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,3,0,59],[1997,10,26,0,0,59],
+          '1997040604:01:00','1997040601:01:00','1997102603:00:59','1997102600:00:59' ],
+        [ [1997,10,26,3,1,0],[1997,10,25,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,4,0,59],[1998,4,5,0,0,59],
+          '1997102603:01:00','1997102523:01:00','1998040504:00:59','1998040500:00:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,4,1,0],[1998,4,5,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,3,0,59],[1998,10,25,0,0,59],
+          '1998040504:01:00','1998040501:01:00','1998102503:00:59','1998102500:00:59' ],
+        [ [1998,10,25,3,1,0],[1998,10,24,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,4,0,59],[1999,4,4,0,0,59],
+          '1998102503:01:00','1998102423:01:00','1999040404:00:59','1999040400:00:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,4,1,0],[1999,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,3,0,59],[1999,10,31,0,0,59],
+          '1999040404:01:00','1999040401:01:00','1999103103:00:59','1999103100:00:59' ],
+        [ [1999,10,31,3,1,0],[1999,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,4,0,59],[2000,4,2,0,0,59],
+          '1999103103:01:00','1999103023:01:00','2000040204:00:59','2000040200:00:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,4,1,0],[2000,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,3,0,59],[2000,10,29,0,0,59],
+          '2000040204:01:00','2000040201:01:00','2000102903:00:59','2000102900:00:59' ],
+        [ [2000,10,29,3,1,0],[2000,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,4,0,59],[2001,4,1,0,0,59],
+          '2000102903:01:00','2000102823:01:00','2001040104:00:59','2001040100:00:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,4,1,0],[2001,4,1,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,3,0,59],[2001,10,28,0,0,59],
+          '2001040104:01:00','2001040101:01:00','2001102803:00:59','2001102800:00:59' ],
+        [ [2001,10,28,3,1,0],[2001,10,27,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,4,0,59],[2002,4,7,0,0,59],
+          '2001102803:01:00','2001102723:01:00','2002040704:00:59','2002040700:00:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,4,1,0],[2002,4,7,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,3,0,59],[2002,10,27,0,0,59],
+          '2002040704:01:00','2002040701:01:00','2002102703:00:59','2002102700:00:59' ],
+        [ [2002,10,27,3,1,0],[2002,10,26,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,4,0,59],[2003,4,6,0,0,59],
+          '2002102703:01:00','2002102623:01:00','2003040604:00:59','2003040600:00:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,4,1,0],[2003,4,6,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,3,0,59],[2003,10,26,0,0,59],
+          '2003040604:01:00','2003040601:01:00','2003102603:00:59','2003102600:00:59' ],
+        [ [2003,10,26,3,1,0],[2003,10,25,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,4,0,59],[2004,4,4,0,0,59],
+          '2003102603:01:00','2003102523:01:00','2004040404:00:59','2004040400:00:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,4,1,0],[2004,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,3,0,59],[2004,10,31,0,0,59],
+          '2004040404:01:00','2004040401:01:00','2004103103:00:59','2004103100:00:59' ],
+        [ [2004,10,31,3,1,0],[2004,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,4,0,59],[2005,4,3,0,0,59],
+          '2004103103:01:00','2004103023:01:00','2005040304:00:59','2005040300:00:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,4,1,0],[2005,4,3,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,3,0,59],[2005,10,30,0,0,59],
+          '2005040304:01:00','2005040301:01:00','2005103003:00:59','2005103000:00:59' ],
+        [ [2005,10,30,3,1,0],[2005,10,29,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,4,0,59],[2006,4,2,0,0,59],
+          '2005103003:01:00','2005102923:01:00','2006040204:00:59','2006040200:00:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,4,1,0],[2006,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,3,0,59],[2006,10,29,0,0,59],
+          '2006040204:01:00','2006040201:01:00','2006102903:00:59','2006102900:00:59' ],
+        [ [2006,10,29,3,1,0],[2006,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,4,0,59],[2007,3,11,0,0,59],
+          '2006102903:01:00','2006102823:01:00','2007031104:00:59','2007031100:00:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,4,1,0],[2007,3,11,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,3,0,59],[2007,11,4,0,0,59],
+          '2007031104:01:00','2007031101:01:00','2007110403:00:59','2007110400:00:59' ],
+        [ [2007,11,4,3,1,0],[2007,11,3,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,4,0,59],[2008,3,9,0,0,59],
+          '2007110403:01:00','2007110323:01:00','2008030904:00:59','2008030900:00:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,4,1,0],[2008,3,9,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,3,0,59],[2008,11,2,0,0,59],
+          '2008030904:01:00','2008030901:01:00','2008110203:00:59','2008110200:00:59' ],
+        [ [2008,11,2,3,1,0],[2008,11,1,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,4,0,59],[2009,3,8,0,0,59],
+          '2008110203:01:00','2008110123:01:00','2009030804:00:59','2009030800:00:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,4,1,0],[2009,3,8,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,3,0,59],[2009,11,1,0,0,59],
+          '2009030804:01:00','2009030801:01:00','2009110103:00:59','2009110100:00:59' ],
+        [ [2009,11,1,3,1,0],[2009,10,31,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,4,0,59],[2010,3,14,0,0,59],
+          '2009110103:01:00','2009103123:01:00','2010031404:00:59','2010031400:00:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,4,1,0],[2010,3,14,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,3,0,59],[2010,11,7,0,0,59],
+          '2010031404:01:00','2010031401:01:00','2010110703:00:59','2010110700:00:59' ],
+        [ [2010,11,7,3,1,0],[2010,11,6,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,4,0,59],[2011,3,13,0,0,59],
+          '2010110703:01:00','2010110623:01:00','2011031304:00:59','2011031300:00:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,4,1,0],[2011,3,13,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031304:01:00','2011031301:01:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amgran00.pm b/lib/Date/Manip/TZ/amgran00.pm
new file mode 100644
index 0000000..d350942
--- /dev/null
+++ b/lib/Date/Manip/TZ/amgran00.pm
@@ -0,0 +1,388 @@
+package #
+Date::Manip::TZ::amgran00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,15,28],'-04:44:32',[-4,-44,-32],
+          'LMT',0,[1890,1,1,4,44,31],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:15:28','1890010104:44:31','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,44,32],[1889,12,31,23,37,21],'-05:07:11',[-5,-7,-11],
+          'KMT',0,[1912,2,1,5,7,10],[1912,1,31,23,59,59],
+          '1890010104:44:32','1889123123:37:21','1912020105:07:10','1912013123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,2,1,5,7,11],[1912,2,1,0,7,11],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1912020105:07:11','1912020100:07:11','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,2,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '2015110106:00:00','2015110102:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amguat00.pm b/lib/Date/Manip/TZ/amguat00.pm
new file mode 100644
index 0000000..4bd2132
--- /dev/null
+++ b/lib/Date/Manip/TZ/amguat00.pm
@@ -0,0 +1,88 @@
+package #
+Date::Manip::TZ::amguat00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,57,56],'-06:02:04',[-6,-2,-4],
+          'LMT',0,[1918,10,5,6,2,3],[1918,10,4,23,59,59],
+          '0001010200:00:00','0001010117:57:56','1918100506:02:03','1918100423:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,10,5,6,2,4],[1918,10,5,0,2,4],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,11,25,5,59,59],[1973,11,24,23,59,59],
+          '1918100506:02:04','1918100500:02:04','1973112505:59:59','1973112423:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,11,25,6,0,0],[1973,11,25,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,2,24,4,59,59],[1974,2,23,23,59,59],
+          '1973112506:00:00','1973112501:00:00','1974022404:59:59','1974022323:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,2,24,5,0,0],[1974,2,23,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,5,21,5,59,59],[1983,5,20,23,59,59],
+          '1974022405:00:00','1974022323:00:00','1983052105:59:59','1983052023:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,5,21,6,0,0],[1983,5,21,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,9,22,4,59,59],[1983,9,21,23,59,59],
+          '1983052106:00:00','1983052101:00:00','1983092204:59:59','1983092123:59:59' ],
+        [ [1983,9,22,5,0,0],[1983,9,21,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,3,23,5,59,59],[1991,3,22,23,59,59],
+          '1983092205:00:00','1983092123:00:00','1991032305:59:59','1991032223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,23,6,0,0],[1991,3,23,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,9,7,4,59,59],[1991,9,6,23,59,59],
+          '1991032306:00:00','1991032301:00:00','1991090704:59:59','1991090623:59:59' ],
+        [ [1991,9,7,5,0,0],[1991,9,6,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,30,5,59,59],[2006,4,29,23,59,59],
+          '1991090705:00:00','1991090623:00:00','2006043005:59:59','2006042923:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,30,6,0,0],[2006,4,30,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,1,4,59,59],[2006,9,30,23,59,59],
+          '2006043006:00:00','2006043001:00:00','2006100104:59:59','2006093023:59:59' ],
+        [ [2006,10,1,5,0,0],[2006,9,30,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '2006100105:00:00','2006093023:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amguay00.pm b/lib/Date/Manip/TZ/amguay00.pm
new file mode 100644
index 0000000..4f97ba2
--- /dev/null
+++ b/lib/Date/Manip/TZ/amguay00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::amguay00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,40,40],'-05:19:20',[-5,-19,-20],
+          'LMT',0,[1890,1,1,5,19,19],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:40:40','1890010105:19:19','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,19,20],[1890,1,1,0,5,20],'-05:14:00',[-5,-14,0],
+          'QMT',0,[1931,1,1,5,13,59],[1930,12,31,23,59,59],
+          '1890010105:19:20','1890010100:05:20','1931010105:13:59','1930123123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,1,1,5,14,0],[1931,1,1,0,14,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1992,11,28,4,59,59],[1992,11,27,23,59,59],
+          '1931010105:14:00','1931010100:14:00','1992112804:59:59','1992112723:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,11,28,5,0,0],[1992,11,28,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1993,2,5,3,59,59],[1993,2,4,23,59,59],
+          '1992112805:00:00','1992112801:00:00','1993020503:59:59','1993020423:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,2,5,4,0,0],[1993,2,4,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1993020504:00:00','1993020423:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amguya00.pm b/lib/Date/Manip/TZ/amguya00.pm
new file mode 100644
index 0000000..3c0ce3b
--- /dev/null
+++ b/lib/Date/Manip/TZ/amguya00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::amguya00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,7,20],'-03:52:40',[-3,-52,-40],
+          'LMT',0,[1915,3,1,3,52,39],[1915,2,28,23,59,59],
+          '0001010200:00:00','0001010120:07:20','1915030103:52:39','1915022823:59:59' ],
+     ],
+   1915 =>
+     [
+        [ [1915,3,1,3,52,40],[1915,3,1,0,7,40],'-03:45:00',[-3,-45,0],
+          '-0345',0,[1975,7,31,3,44,59],[1975,7,30,23,59,59],
+          '1915030103:52:40','1915030100:07:40','1975073103:44:59','1975073023:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,7,31,3,45,0],[1975,7,31,0,45,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,1,1,2,59,59],[1990,12,31,23,59,59],
+          '1975073103:45:00','1975073100:45:00','1991010102:59:59','1990123123:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,1,1,3,0,0],[1990,12,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1991010103:00:00','1990123123:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amhali00.pm b/lib/Date/Manip/TZ/amhali00.pm
new file mode 100644
index 0000000..cca482b
--- /dev/null
+++ b/lib/Date/Manip/TZ/amhali00.pm
@@ -0,0 +1,1366 @@
+package #
+Date::Manip::TZ::amhali00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,45,36],'-04:14:24',[-4,-14,-24],
+          'LMT',0,[1902,6,15,4,14,23],[1902,6,14,23,59,59],
+          '0001010200:00:00','0001010119:45:36','1902061504:14:23','1902061423:59:59' ],
+     ],
+   1902 =>
+     [
+        [ [1902,6,15,4,14,24],[1902,6,15,0,14,24],'-04:00:00',[-4,0,0],
+          'AST',0,[1916,4,1,3,59,59],[1916,3,31,23,59,59],
+          '1902061504:14:24','1902061500:14:24','1916040103:59:59','1916033123:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,1,4,0,0],[1916,4,1,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1916,10,1,2,59,59],[1916,9,30,23,59,59],
+          '1916040104:00:00','1916040101:00:00','1916100102:59:59','1916093023:59:59' ],
+        [ [1916,10,1,3,0,0],[1916,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1918,4,14,5,59,59],[1918,4,14,1,59,59],
+          '1916100103:00:00','1916093023:00:00','1918041405:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,6,0,0],[1918,4,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1918,10,27,4,59,59],[1918,10,27,1,59,59],
+          '1918041406:00:00','1918041403:00:00','1918102704:59:59','1918102701:59:59' ],
+        [ [1918,10,27,5,0,0],[1918,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1920,5,9,3,59,59],[1920,5,8,23,59,59],
+          '1918102705:00:00','1918102701:00:00','1920050903:59:59','1920050823:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,9,4,0,0],[1920,5,9,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1920,8,29,2,59,59],[1920,8,28,23,59,59],
+          '1920050904:00:00','1920050901:00:00','1920082902:59:59','1920082823:59:59' ],
+        [ [1920,8,29,3,0,0],[1920,8,28,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1921,5,6,3,59,59],[1921,5,5,23,59,59],
+          '1920082903:00:00','1920082823:00:00','1921050603:59:59','1921050523:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,5,6,4,0,0],[1921,5,6,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1921,9,5,2,59,59],[1921,9,4,23,59,59],
+          '1921050604:00:00','1921050601:00:00','1921090502:59:59','1921090423:59:59' ],
+        [ [1921,9,5,3,0,0],[1921,9,4,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1922,4,30,3,59,59],[1922,4,29,23,59,59],
+          '1921090503:00:00','1921090423:00:00','1922043003:59:59','1922042923:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,4,30,4,0,0],[1922,4,30,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1922,9,5,2,59,59],[1922,9,4,23,59,59],
+          '1922043004:00:00','1922043001:00:00','1922090502:59:59','1922090423:59:59' ],
+        [ [1922,9,5,3,0,0],[1922,9,4,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1923,5,6,3,59,59],[1923,5,5,23,59,59],
+          '1922090503:00:00','1922090423:00:00','1923050603:59:59','1923050523:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,6,4,0,0],[1923,5,6,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1923,9,4,2,59,59],[1923,9,3,23,59,59],
+          '1923050604:00:00','1923050601:00:00','1923090402:59:59','1923090323:59:59' ],
+        [ [1923,9,4,3,0,0],[1923,9,3,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1924,5,4,3,59,59],[1924,5,3,23,59,59],
+          '1923090403:00:00','1923090323:00:00','1924050403:59:59','1924050323:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,4,4,0,0],[1924,5,4,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1924,9,15,2,59,59],[1924,9,14,23,59,59],
+          '1924050404:00:00','1924050401:00:00','1924091502:59:59','1924091423:59:59' ],
+        [ [1924,9,15,3,0,0],[1924,9,14,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1925,5,3,3,59,59],[1925,5,2,23,59,59],
+          '1924091503:00:00','1924091423:00:00','1925050303:59:59','1925050223:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,5,3,4,0,0],[1925,5,3,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1925,9,28,2,59,59],[1925,9,27,23,59,59],
+          '1925050304:00:00','1925050301:00:00','1925092802:59:59','1925092723:59:59' ],
+        [ [1925,9,28,3,0,0],[1925,9,27,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1926,5,16,3,59,59],[1926,5,15,23,59,59],
+          '1925092803:00:00','1925092723:00:00','1926051603:59:59','1926051523:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,5,16,4,0,0],[1926,5,16,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1926,9,13,2,59,59],[1926,9,12,23,59,59],
+          '1926051604:00:00','1926051601:00:00','1926091302:59:59','1926091223:59:59' ],
+        [ [1926,9,13,3,0,0],[1926,9,12,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1927,5,1,3,59,59],[1927,4,30,23,59,59],
+          '1926091303:00:00','1926091223:00:00','1927050103:59:59','1927043023:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,5,1,4,0,0],[1927,5,1,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1927,9,26,2,59,59],[1927,9,25,23,59,59],
+          '1927050104:00:00','1927050101:00:00','1927092602:59:59','1927092523:59:59' ],
+        [ [1927,9,26,3,0,0],[1927,9,25,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1928,5,13,3,59,59],[1928,5,12,23,59,59],
+          '1927092603:00:00','1927092523:00:00','1928051303:59:59','1928051223:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,5,13,4,0,0],[1928,5,13,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1928,9,9,2,59,59],[1928,9,8,23,59,59],
+          '1928051304:00:00','1928051301:00:00','1928090902:59:59','1928090823:59:59' ],
+        [ [1928,9,9,3,0,0],[1928,9,8,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1929,5,12,3,59,59],[1929,5,11,23,59,59],
+          '1928090903:00:00','1928090823:00:00','1929051203:59:59','1929051123:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,5,12,4,0,0],[1929,5,12,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1929,9,3,2,59,59],[1929,9,2,23,59,59],
+          '1929051204:00:00','1929051201:00:00','1929090302:59:59','1929090223:59:59' ],
+        [ [1929,9,3,3,0,0],[1929,9,2,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1930,5,11,3,59,59],[1930,5,10,23,59,59],
+          '1929090303:00:00','1929090223:00:00','1930051103:59:59','1930051023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,5,11,4,0,0],[1930,5,11,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1930,9,15,2,59,59],[1930,9,14,23,59,59],
+          '1930051104:00:00','1930051101:00:00','1930091502:59:59','1930091423:59:59' ],
+        [ [1930,9,15,3,0,0],[1930,9,14,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1931,5,10,3,59,59],[1931,5,9,23,59,59],
+          '1930091503:00:00','1930091423:00:00','1931051003:59:59','1931050923:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,10,4,0,0],[1931,5,10,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1931,9,28,2,59,59],[1931,9,27,23,59,59],
+          '1931051004:00:00','1931051001:00:00','1931092802:59:59','1931092723:59:59' ],
+        [ [1931,9,28,3,0,0],[1931,9,27,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1932,5,1,3,59,59],[1932,4,30,23,59,59],
+          '1931092803:00:00','1931092723:00:00','1932050103:59:59','1932043023:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,1,4,0,0],[1932,5,1,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1932,9,26,2,59,59],[1932,9,25,23,59,59],
+          '1932050104:00:00','1932050101:00:00','1932092602:59:59','1932092523:59:59' ],
+        [ [1932,9,26,3,0,0],[1932,9,25,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1933,4,30,3,59,59],[1933,4,29,23,59,59],
+          '1932092603:00:00','1932092523:00:00','1933043003:59:59','1933042923:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,30,4,0,0],[1933,4,30,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1933,10,2,2,59,59],[1933,10,1,23,59,59],
+          '1933043004:00:00','1933043001:00:00','1933100202:59:59','1933100123:59:59' ],
+        [ [1933,10,2,3,0,0],[1933,10,1,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1934,5,20,3,59,59],[1934,5,19,23,59,59],
+          '1933100203:00:00','1933100123:00:00','1934052003:59:59','1934051923:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,5,20,4,0,0],[1934,5,20,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1934,9,16,2,59,59],[1934,9,15,23,59,59],
+          '1934052004:00:00','1934052001:00:00','1934091602:59:59','1934091523:59:59' ],
+        [ [1934,9,16,3,0,0],[1934,9,15,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1935,6,2,3,59,59],[1935,6,1,23,59,59],
+          '1934091603:00:00','1934091523:00:00','1935060203:59:59','1935060123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,6,2,4,0,0],[1935,6,2,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1935,9,30,2,59,59],[1935,9,29,23,59,59],
+          '1935060204:00:00','1935060201:00:00','1935093002:59:59','1935092923:59:59' ],
+        [ [1935,9,30,3,0,0],[1935,9,29,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1936,6,1,3,59,59],[1936,5,31,23,59,59],
+          '1935093003:00:00','1935092923:00:00','1936060103:59:59','1936053123:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,6,1,4,0,0],[1936,6,1,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1936,9,14,2,59,59],[1936,9,13,23,59,59],
+          '1936060104:00:00','1936060101:00:00','1936091402:59:59','1936091323:59:59' ],
+        [ [1936,9,14,3,0,0],[1936,9,13,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1937,5,2,3,59,59],[1937,5,1,23,59,59],
+          '1936091403:00:00','1936091323:00:00','1937050203:59:59','1937050123:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,5,2,4,0,0],[1937,5,2,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1937,9,27,2,59,59],[1937,9,26,23,59,59],
+          '1937050204:00:00','1937050201:00:00','1937092702:59:59','1937092623:59:59' ],
+        [ [1937,9,27,3,0,0],[1937,9,26,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1938,5,1,3,59,59],[1938,4,30,23,59,59],
+          '1937092703:00:00','1937092623:00:00','1938050103:59:59','1938043023:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,5,1,4,0,0],[1938,5,1,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1938,9,26,2,59,59],[1938,9,25,23,59,59],
+          '1938050104:00:00','1938050101:00:00','1938092602:59:59','1938092523:59:59' ],
+        [ [1938,9,26,3,0,0],[1938,9,25,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1939,5,28,3,59,59],[1939,5,27,23,59,59],
+          '1938092603:00:00','1938092523:00:00','1939052803:59:59','1939052723:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,5,28,4,0,0],[1939,5,28,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1939,9,25,2,59,59],[1939,9,24,23,59,59],
+          '1939052804:00:00','1939052801:00:00','1939092502:59:59','1939092423:59:59' ],
+        [ [1939,9,25,3,0,0],[1939,9,24,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1940,5,5,3,59,59],[1940,5,4,23,59,59],
+          '1939092503:00:00','1939092423:00:00','1940050503:59:59','1940050423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,5,4,0,0],[1940,5,5,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1940,9,30,2,59,59],[1940,9,29,23,59,59],
+          '1940050504:00:00','1940050501:00:00','1940093002:59:59','1940092923:59:59' ],
+        [ [1940,9,30,3,0,0],[1940,9,29,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1941,5,4,3,59,59],[1941,5,3,23,59,59],
+          '1940093003:00:00','1940092923:00:00','1941050403:59:59','1941050323:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,4,4,0,0],[1941,5,4,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1941,9,29,2,59,59],[1941,9,28,23,59,59],
+          '1941050404:00:00','1941050401:00:00','1941092902:59:59','1941092823:59:59' ],
+        [ [1941,9,29,3,0,0],[1941,9,28,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,2,9,5,59,59],[1942,2,9,1,59,59],
+          '1941092903:00:00','1941092823:00:00','1942020905:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,6,0,0],[1942,2,9,3,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942020906:00:00','1942020903:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1946,4,28,5,59,59],[1946,4,28,1,59,59],
+          '1945093005:00:00','1945093001:00:00','1946042805:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,6,0,0],[1946,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1946,9,29,4,59,59],[1946,9,29,1,59,59],
+          '1946042806:00:00','1946042803:00:00','1946092904:59:59','1946092901:59:59' ],
+        [ [1946,9,29,5,0,0],[1946,9,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1947,4,27,5,59,59],[1947,4,27,1,59,59],
+          '1946092905:00:00','1946092901:00:00','1947042705:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,6,0,0],[1947,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1947,9,28,4,59,59],[1947,9,28,1,59,59],
+          '1947042706:00:00','1947042703:00:00','1947092804:59:59','1947092801:59:59' ],
+        [ [1947,9,28,5,0,0],[1947,9,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1948,4,25,5,59,59],[1948,4,25,1,59,59],
+          '1947092805:00:00','1947092801:00:00','1948042505:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,6,0,0],[1948,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1948,9,26,4,59,59],[1948,9,26,1,59,59],
+          '1948042506:00:00','1948042503:00:00','1948092604:59:59','1948092601:59:59' ],
+        [ [1948,9,26,5,0,0],[1948,9,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1949,4,24,5,59,59],[1949,4,24,1,59,59],
+          '1948092605:00:00','1948092601:00:00','1949042405:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,6,0,0],[1949,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1949,9,25,4,59,59],[1949,9,25,1,59,59],
+          '1949042406:00:00','1949042403:00:00','1949092504:59:59','1949092501:59:59' ],
+        [ [1949,9,25,5,0,0],[1949,9,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1951,4,29,5,59,59],[1951,4,29,1,59,59],
+          '1949092505:00:00','1949092501:00:00','1951042905:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,6,0,0],[1951,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1951,9,30,4,59,59],[1951,9,30,1,59,59],
+          '1951042906:00:00','1951042903:00:00','1951093004:59:59','1951093001:59:59' ],
+        [ [1951,9,30,5,0,0],[1951,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1952,4,27,5,59,59],[1952,4,27,1,59,59],
+          '1951093005:00:00','1951093001:00:00','1952042705:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,6,0,0],[1952,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1952,9,28,4,59,59],[1952,9,28,1,59,59],
+          '1952042706:00:00','1952042703:00:00','1952092804:59:59','1952092801:59:59' ],
+        [ [1952,9,28,5,0,0],[1952,9,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1953,4,26,5,59,59],[1953,4,26,1,59,59],
+          '1952092805:00:00','1952092801:00:00','1953042605:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,6,0,0],[1953,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1953,9,27,4,59,59],[1953,9,27,1,59,59],
+          '1953042606:00:00','1953042603:00:00','1953092704:59:59','1953092701:59:59' ],
+        [ [1953,9,27,5,0,0],[1953,9,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1954,4,25,5,59,59],[1954,4,25,1,59,59],
+          '1953092705:00:00','1953092701:00:00','1954042505:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,6,0,0],[1954,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1954,9,26,4,59,59],[1954,9,26,1,59,59],
+          '1954042506:00:00','1954042503:00:00','1954092604:59:59','1954092601:59:59' ],
+        [ [1954,9,26,5,0,0],[1954,9,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1956,4,29,5,59,59],[1956,4,29,1,59,59],
+          '1954092605:00:00','1954092601:00:00','1956042905:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,6,0,0],[1956,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1956,9,30,4,59,59],[1956,9,30,1,59,59],
+          '1956042906:00:00','1956042903:00:00','1956093004:59:59','1956093001:59:59' ],
+        [ [1956,9,30,5,0,0],[1956,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1957,4,28,5,59,59],[1957,4,28,1,59,59],
+          '1956093005:00:00','1956093001:00:00','1957042805:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,6,0,0],[1957,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1957,9,29,4,59,59],[1957,9,29,1,59,59],
+          '1957042806:00:00','1957042803:00:00','1957092904:59:59','1957092901:59:59' ],
+        [ [1957,9,29,5,0,0],[1957,9,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1958,4,27,5,59,59],[1958,4,27,1,59,59],
+          '1957092905:00:00','1957092901:00:00','1958042705:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,6,0,0],[1958,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1958,9,28,4,59,59],[1958,9,28,1,59,59],
+          '1958042706:00:00','1958042703:00:00','1958092804:59:59','1958092801:59:59' ],
+        [ [1958,9,28,5,0,0],[1958,9,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1959,4,26,5,59,59],[1959,4,26,1,59,59],
+          '1958092805:00:00','1958092801:00:00','1959042605:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,6,0,0],[1959,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1959,9,27,4,59,59],[1959,9,27,1,59,59],
+          '1959042606:00:00','1959042603:00:00','1959092704:59:59','1959092701:59:59' ],
+        [ [1959,9,27,5,0,0],[1959,9,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1962,4,29,5,59,59],[1962,4,29,1,59,59],
+          '1959092705:00:00','1959092701:00:00','1962042905:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,6,0,0],[1962,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1962,10,28,4,59,59],[1962,10,28,1,59,59],
+          '1962042906:00:00','1962042903:00:00','1962102804:59:59','1962102801:59:59' ],
+        [ [1962,10,28,5,0,0],[1962,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1963,4,28,5,59,59],[1963,4,28,1,59,59],
+          '1962102805:00:00','1962102801:00:00','1963042805:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,6,0,0],[1963,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1963,10,27,4,59,59],[1963,10,27,1,59,59],
+          '1963042806:00:00','1963042803:00:00','1963102704:59:59','1963102701:59:59' ],
+        [ [1963,10,27,5,0,0],[1963,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1964,4,26,5,59,59],[1964,4,26,1,59,59],
+          '1963102705:00:00','1963102701:00:00','1964042605:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,6,0,0],[1964,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1964,10,25,4,59,59],[1964,10,25,1,59,59],
+          '1964042606:00:00','1964042603:00:00','1964102504:59:59','1964102501:59:59' ],
+        [ [1964,10,25,5,0,0],[1964,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1965,4,25,5,59,59],[1965,4,25,1,59,59],
+          '1964102505:00:00','1964102501:00:00','1965042505:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,6,0,0],[1965,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1965,10,31,4,59,59],[1965,10,31,1,59,59],
+          '1965042506:00:00','1965042503:00:00','1965103104:59:59','1965103101:59:59' ],
+        [ [1965,10,31,5,0,0],[1965,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1966,4,24,5,59,59],[1966,4,24,1,59,59],
+          '1965103105:00:00','1965103101:00:00','1966042405:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,6,0,0],[1966,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1966,10,30,4,59,59],[1966,10,30,1,59,59],
+          '1966042406:00:00','1966042403:00:00','1966103004:59:59','1966103001:59:59' ],
+        [ [1966,10,30,5,0,0],[1966,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1967,4,30,5,59,59],[1967,4,30,1,59,59],
+          '1966103005:00:00','1966103001:00:00','1967043005:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,6,0,0],[1967,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1967,10,29,4,59,59],[1967,10,29,1,59,59],
+          '1967043006:00:00','1967043003:00:00','1967102904:59:59','1967102901:59:59' ],
+        [ [1967,10,29,5,0,0],[1967,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1968,4,28,5,59,59],[1968,4,28,1,59,59],
+          '1967102905:00:00','1967102901:00:00','1968042805:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,6,0,0],[1968,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1968,10,27,4,59,59],[1968,10,27,1,59,59],
+          '1968042806:00:00','1968042803:00:00','1968102704:59:59','1968102701:59:59' ],
+        [ [1968,10,27,5,0,0],[1968,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1969,4,27,5,59,59],[1969,4,27,1,59,59],
+          '1968102705:00:00','1968102701:00:00','1969042705:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,6,0,0],[1969,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1969,10,26,4,59,59],[1969,10,26,1,59,59],
+          '1969042706:00:00','1969042703:00:00','1969102604:59:59','1969102601:59:59' ],
+        [ [1969,10,26,5,0,0],[1969,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1970,4,26,5,59,59],[1970,4,26,1,59,59],
+          '1969102605:00:00','1969102601:00:00','1970042605:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,6,0,0],[1970,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1970,10,25,4,59,59],[1970,10,25,1,59,59],
+          '1970042606:00:00','1970042603:00:00','1970102504:59:59','1970102501:59:59' ],
+        [ [1970,10,25,5,0,0],[1970,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1971,4,25,5,59,59],[1971,4,25,1,59,59],
+          '1970102505:00:00','1970102501:00:00','1971042505:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,6,0,0],[1971,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1971,10,31,4,59,59],[1971,10,31,1,59,59],
+          '1971042506:00:00','1971042503:00:00','1971103104:59:59','1971103101:59:59' ],
+        [ [1971,10,31,5,0,0],[1971,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1972,4,30,5,59,59],[1972,4,30,1,59,59],
+          '1971103105:00:00','1971103101:00:00','1972043005:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,6,0,0],[1972,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1972,10,29,4,59,59],[1972,10,29,1,59,59],
+          '1972043006:00:00','1972043003:00:00','1972102904:59:59','1972102901:59:59' ],
+        [ [1972,10,29,5,0,0],[1972,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1973,4,29,5,59,59],[1973,4,29,1,59,59],
+          '1972102905:00:00','1972102901:00:00','1973042905:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,6,0,0],[1973,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1973,10,28,4,59,59],[1973,10,28,1,59,59],
+          '1973042906:00:00','1973042903:00:00','1973102804:59:59','1973102801:59:59' ],
+        [ [1973,10,28,5,0,0],[1973,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1974,4,28,5,59,59],[1974,4,28,1,59,59],
+          '1973102805:00:00','1973102801:00:00','1974042805:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,6,0,0],[1974,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1974,10,27,4,59,59],[1974,10,27,1,59,59],
+          '1974042806:00:00','1974042803:00:00','1974102704:59:59','1974102701:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1975,4,27,5,59,59],[1975,4,27,1,59,59],
+          '1974102705:00:00','1974102701:00:00','1975042705:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,6,0,0],[1975,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1975,10,26,4,59,59],[1975,10,26,1,59,59],
+          '1975042706:00:00','1975042703:00:00','1975102604:59:59','1975102601:59:59' ],
+        [ [1975,10,26,5,0,0],[1975,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1976,4,25,5,59,59],[1976,4,25,1,59,59],
+          '1975102605:00:00','1975102601:00:00','1976042505:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,6,0,0],[1976,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1976,10,31,4,59,59],[1976,10,31,1,59,59],
+          '1976042506:00:00','1976042503:00:00','1976103104:59:59','1976103101:59:59' ],
+        [ [1976,10,31,5,0,0],[1976,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,4,24,5,59,59],[1977,4,24,1,59,59],
+          '1976103105:00:00','1976103101:00:00','1977042405:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,6,0,0],[1977,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,30,4,59,59],[1977,10,30,1,59,59],
+          '1977042406:00:00','1977042403:00:00','1977103004:59:59','1977103001:59:59' ],
+        [ [1977,10,30,5,0,0],[1977,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,30,5,59,59],[1978,4,30,1,59,59],
+          '1977103005:00:00','1977103001:00:00','1978043005:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,6,0,0],[1978,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,29,4,59,59],[1978,10,29,1,59,59],
+          '1978043006:00:00','1978043003:00:00','1978102904:59:59','1978102901:59:59' ],
+        [ [1978,10,29,5,0,0],[1978,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,29,5,59,59],[1979,4,29,1,59,59],
+          '1978102905:00:00','1978102901:00:00','1979042905:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,6,0,0],[1979,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,10,28,4,59,59],[1979,10,28,1,59,59],
+          '1979042906:00:00','1979042903:00:00','1979102804:59:59','1979102801:59:59' ],
+        [ [1979,10,28,5,0,0],[1979,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1979102805:00:00','1979102801:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,5,59,59],[1987,4,5,1,59,59],
+          '1986102605:00:00','1986102601:00:00','1987040505:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,6,0,0],[1987,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,4,59,59],[1987,10,25,1,59,59],
+          '1987040506:00:00','1987040503:00:00','1987102504:59:59','1987102501:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,5,59,59],[1988,4,3,1,59,59],
+          '1987102505:00:00','1987102501:00:00','1988040305:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1988,10,30,4,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040303:00:00','1988103004:59:59','1988103001:59:59' ],
+        [ [1988,10,30,5,0,0],[1988,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,5,59,59],[1989,4,2,1,59,59],
+          '1988103005:00:00','1988103001:00:00','1989040205:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,4,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040203:00:00','1989102904:59:59','1989102901:59:59' ],
+        [ [1989,10,29,5,0,0],[1989,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,5,59,59],[1990,4,1,1,59,59],
+          '1989102905:00:00','1989102901:00:00','1990040105:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,4,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040103:00:00','1990102804:59:59','1990102801:59:59' ],
+        [ [1990,10,28,5,0,0],[1990,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,5,59,59],[1991,4,7,1,59,59],
+          '1990102805:00:00','1990102801:00:00','1991040705:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,4,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040703:00:00','1991102704:59:59','1991102701:59:59' ],
+        [ [1991,10,27,5,0,0],[1991,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,5,59,59],[1992,4,5,1,59,59],
+          '1991102705:00:00','1991102701:00:00','1992040505:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,4,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040503:00:00','1992102504:59:59','1992102501:59:59' ],
+        [ [1992,10,25,5,0,0],[1992,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,5,59,59],[1993,4,4,1,59,59],
+          '1992102505:00:00','1992102501:00:00','1993040405:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,4,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040403:00:00','1993103104:59:59','1993103101:59:59' ],
+        [ [1993,10,31,5,0,0],[1993,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,5,59,59],[1994,4,3,1,59,59],
+          '1993103105:00:00','1993103101:00:00','1994040305:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,4,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040303:00:00','1994103004:59:59','1994103001:59:59' ],
+        [ [1994,10,30,5,0,0],[1994,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,5,59,59],[1995,4,2,1,59,59],
+          '1994103005:00:00','1994103001:00:00','1995040205:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,4,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040203:00:00','1995102904:59:59','1995102901:59:59' ],
+        [ [1995,10,29,5,0,0],[1995,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,5,59,59],[1996,4,7,1,59,59],
+          '1995102905:00:00','1995102901:00:00','1996040705:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,6,0,0],[1996,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,4,59,59],[1996,10,27,1,59,59],
+          '1996040706:00:00','1996040703:00:00','1996102704:59:59','1996102701:59:59' ],
+        [ [1996,10,27,5,0,0],[1996,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,5,59,59],[1997,4,6,1,59,59],
+          '1996102705:00:00','1996102701:00:00','1997040605:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,6,0,0],[1997,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,4,59,59],[1997,10,26,1,59,59],
+          '1997040606:00:00','1997040603:00:00','1997102604:59:59','1997102601:59:59' ],
+        [ [1997,10,26,5,0,0],[1997,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,5,59,59],[1998,4,5,1,59,59],
+          '1997102605:00:00','1997102601:00:00','1998040505:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,6,0,0],[1998,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,4,59,59],[1998,10,25,1,59,59],
+          '1998040506:00:00','1998040503:00:00','1998102504:59:59','1998102501:59:59' ],
+        [ [1998,10,25,5,0,0],[1998,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,5,59,59],[1999,4,4,1,59,59],
+          '1998102505:00:00','1998102501:00:00','1999040405:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,6,0,0],[1999,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,4,59,59],[1999,10,31,1,59,59],
+          '1999040406:00:00','1999040403:00:00','1999103104:59:59','1999103101:59:59' ],
+        [ [1999,10,31,5,0,0],[1999,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,5,59,59],[2000,4,2,1,59,59],
+          '1999103105:00:00','1999103101:00:00','2000040205:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,6,0,0],[2000,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,4,59,59],[2000,10,29,1,59,59],
+          '2000040206:00:00','2000040203:00:00','2000102904:59:59','2000102901:59:59' ],
+        [ [2000,10,29,5,0,0],[2000,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,5,59,59],[2001,4,1,1,59,59],
+          '2000102905:00:00','2000102901:00:00','2001040105:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,6,0,0],[2001,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,4,59,59],[2001,10,28,1,59,59],
+          '2001040106:00:00','2001040103:00:00','2001102804:59:59','2001102801:59:59' ],
+        [ [2001,10,28,5,0,0],[2001,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,5,59,59],[2002,4,7,1,59,59],
+          '2001102805:00:00','2001102801:00:00','2002040705:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,6,0,0],[2002,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,4,59,59],[2002,10,27,1,59,59],
+          '2002040706:00:00','2002040703:00:00','2002102704:59:59','2002102701:59:59' ],
+        [ [2002,10,27,5,0,0],[2002,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,5,59,59],[2003,4,6,1,59,59],
+          '2002102705:00:00','2002102701:00:00','2003040605:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,6,0,0],[2003,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,4,59,59],[2003,10,26,1,59,59],
+          '2003040606:00:00','2003040603:00:00','2003102604:59:59','2003102601:59:59' ],
+        [ [2003,10,26,5,0,0],[2003,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,5,59,59],[2004,4,4,1,59,59],
+          '2003102605:00:00','2003102601:00:00','2004040405:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,6,0,0],[2004,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,4,59,59],[2004,10,31,1,59,59],
+          '2004040406:00:00','2004040403:00:00','2004103104:59:59','2004103101:59:59' ],
+        [ [2004,10,31,5,0,0],[2004,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,5,59,59],[2005,4,3,1,59,59],
+          '2004103105:00:00','2004103101:00:00','2005040305:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,6,0,0],[2005,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,4,59,59],[2005,10,30,1,59,59],
+          '2005040306:00:00','2005040303:00:00','2005103004:59:59','2005103001:59:59' ],
+        [ [2005,10,30,5,0,0],[2005,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,5,59,59],[2006,4,2,1,59,59],
+          '2005103005:00:00','2005103001:00:00','2006040205:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,6,0,0],[2006,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,4,59,59],[2006,10,29,1,59,59],
+          '2006040206:00:00','2006040203:00:00','2006102904:59:59','2006102901:59:59' ],
+        [ [2006,10,29,5,0,0],[2006,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,5,59,59],[2007,3,11,1,59,59],
+          '2006102905:00:00','2006102901:00:00','2007031105:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,6,0,0],[2007,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,4,59,59],[2007,11,4,1,59,59],
+          '2007031106:00:00','2007031103:00:00','2007110404:59:59','2007110401:59:59' ],
+        [ [2007,11,4,5,0,0],[2007,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,5,59,59],[2008,3,9,1,59,59],
+          '2007110405:00:00','2007110401:00:00','2008030905:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,6,0,0],[2008,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,4,59,59],[2008,11,2,1,59,59],
+          '2008030906:00:00','2008030903:00:00','2008110204:59:59','2008110201:59:59' ],
+        [ [2008,11,2,5,0,0],[2008,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,5,59,59],[2009,3,8,1,59,59],
+          '2008110205:00:00','2008110201:00:00','2009030805:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,6,0,0],[2009,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,4,59,59],[2009,11,1,1,59,59],
+          '2009030806:00:00','2009030803:00:00','2009110104:59:59','2009110101:59:59' ],
+        [ [2009,11,1,5,0,0],[2009,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,5,59,59],[2010,3,14,1,59,59],
+          '2009110105:00:00','2009110101:00:00','2010031405:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,6,0,0],[2010,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,4,59,59],[2010,11,7,1,59,59],
+          '2010031406:00:00','2010031403:00:00','2010110704:59:59','2010110701:59:59' ],
+        [ [2010,11,7,5,0,0],[2010,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,5,59,59],[2011,3,13,1,59,59],
+          '2010110705:00:00','2010110701:00:00','2011031305:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,6,0,0],[2011,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031306:00:00','2011031303:00:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amhava00.pm b/lib/Date/Manip/TZ/amhava00.pm
new file mode 100644
index 0000000..3e700e9
--- /dev/null
+++ b/lib/Date/Manip/TZ/amhava00.pm
@@ -0,0 +1,1045 @@
+package #
+Date::Manip::TZ::amhava00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,30,32],'-05:29:28',[-5,-29,-28],
+          'LMT',0,[1890,1,1,5,29,27],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:30:32','1890010105:29:27','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,29,28],[1889,12,31,23,59,52],'-05:29:36',[-5,-29,-36],
+          'HMT',0,[1925,7,19,17,29,35],[1925,7,19,11,59,59],
+          '1890010105:29:28','1889123123:59:52','1925071917:29:35','1925071911:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,7,19,17,29,36],[1925,7,19,12,29,36],'-05:00:00',[-5,0,0],
+          'CST',0,[1928,6,10,4,59,59],[1928,6,9,23,59,59],
+          '1925071917:29:36','1925071912:29:36','1928061004:59:59','1928060923:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,6,10,5,0,0],[1928,6,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1928,10,10,3,59,59],[1928,10,9,23,59,59],
+          '1928061005:00:00','1928061001:00:00','1928101003:59:59','1928100923:59:59' ],
+        [ [1928,10,10,4,0,0],[1928,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1940,6,2,4,59,59],[1940,6,1,23,59,59],
+          '1928101004:00:00','1928100923:00:00','1940060204:59:59','1940060123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,2,5,0,0],[1940,6,2,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1940,9,1,3,59,59],[1940,8,31,23,59,59],
+          '1940060205:00:00','1940060201:00:00','1940090103:59:59','1940083123:59:59' ],
+        [ [1940,9,1,4,0,0],[1940,8,31,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1941,6,1,4,59,59],[1941,5,31,23,59,59],
+          '1940090104:00:00','1940083123:00:00','1941060104:59:59','1941053123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,1,5,0,0],[1941,6,1,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1941,9,7,3,59,59],[1941,9,6,23,59,59],
+          '1941060105:00:00','1941060101:00:00','1941090703:59:59','1941090623:59:59' ],
+        [ [1941,9,7,4,0,0],[1941,9,6,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1942,6,7,4,59,59],[1942,6,6,23,59,59],
+          '1941090704:00:00','1941090623:00:00','1942060704:59:59','1942060623:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,6,7,5,0,0],[1942,6,7,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1942,9,6,3,59,59],[1942,9,5,23,59,59],
+          '1942060705:00:00','1942060701:00:00','1942090603:59:59','1942090523:59:59' ],
+        [ [1942,9,6,4,0,0],[1942,9,5,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1945,6,3,4,59,59],[1945,6,2,23,59,59],
+          '1942090604:00:00','1942090523:00:00','1945060304:59:59','1945060223:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,6,3,5,0,0],[1945,6,3,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1945,9,2,3,59,59],[1945,9,1,23,59,59],
+          '1945060305:00:00','1945060301:00:00','1945090203:59:59','1945090123:59:59' ],
+        [ [1945,9,2,4,0,0],[1945,9,1,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1946,6,2,4,59,59],[1946,6,1,23,59,59],
+          '1945090204:00:00','1945090123:00:00','1946060204:59:59','1946060123:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,6,2,5,0,0],[1946,6,2,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1946,9,1,3,59,59],[1946,8,31,23,59,59],
+          '1946060205:00:00','1946060201:00:00','1946090103:59:59','1946083123:59:59' ],
+        [ [1946,9,1,4,0,0],[1946,8,31,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1965,6,1,4,59,59],[1965,5,31,23,59,59],
+          '1946090104:00:00','1946083123:00:00','1965060104:59:59','1965053123:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,6,1,5,0,0],[1965,6,1,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1965,9,30,3,59,59],[1965,9,29,23,59,59],
+          '1965060105:00:00','1965060101:00:00','1965093003:59:59','1965092923:59:59' ],
+        [ [1965,9,30,4,0,0],[1965,9,29,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1966,5,29,4,59,59],[1966,5,28,23,59,59],
+          '1965093004:00:00','1965092923:00:00','1966052904:59:59','1966052823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,5,29,5,0,0],[1966,5,29,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1966,10,2,3,59,59],[1966,10,1,23,59,59],
+          '1966052905:00:00','1966052901:00:00','1966100203:59:59','1966100123:59:59' ],
+        [ [1966,10,2,4,0,0],[1966,10,1,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1967,4,8,4,59,59],[1967,4,7,23,59,59],
+          '1966100204:00:00','1966100123:00:00','1967040804:59:59','1967040723:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,8,5,0,0],[1967,4,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1967,9,10,3,59,59],[1967,9,9,23,59,59],
+          '1967040805:00:00','1967040801:00:00','1967091003:59:59','1967090923:59:59' ],
+        [ [1967,9,10,4,0,0],[1967,9,9,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1968,4,14,4,59,59],[1968,4,13,23,59,59],
+          '1967091004:00:00','1967090923:00:00','1968041404:59:59','1968041323:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,14,5,0,0],[1968,4,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1968,9,8,3,59,59],[1968,9,7,23,59,59],
+          '1968041405:00:00','1968041401:00:00','1968090803:59:59','1968090723:59:59' ],
+        [ [1968,9,8,4,0,0],[1968,9,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1969,4,27,4,59,59],[1969,4,26,23,59,59],
+          '1968090804:00:00','1968090723:00:00','1969042704:59:59','1969042623:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,5,0,0],[1969,4,27,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1969,10,26,3,59,59],[1969,10,25,23,59,59],
+          '1969042705:00:00','1969042701:00:00','1969102603:59:59','1969102523:59:59' ],
+        [ [1969,10,26,4,0,0],[1969,10,25,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1970,4,26,4,59,59],[1970,4,25,23,59,59],
+          '1969102604:00:00','1969102523:00:00','1970042604:59:59','1970042523:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,5,0,0],[1970,4,26,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1970,10,25,3,59,59],[1970,10,24,23,59,59],
+          '1970042605:00:00','1970042601:00:00','1970102503:59:59','1970102423:59:59' ],
+        [ [1970,10,25,4,0,0],[1970,10,24,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1971,4,25,4,59,59],[1971,4,24,23,59,59],
+          '1970102504:00:00','1970102423:00:00','1971042504:59:59','1971042423:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,5,0,0],[1971,4,25,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1971,10,31,3,59,59],[1971,10,30,23,59,59],
+          '1971042505:00:00','1971042501:00:00','1971103103:59:59','1971103023:59:59' ],
+        [ [1971,10,31,4,0,0],[1971,10,30,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1972,4,30,4,59,59],[1972,4,29,23,59,59],
+          '1971103104:00:00','1971103023:00:00','1972043004:59:59','1972042923:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,5,0,0],[1972,4,30,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1972,10,8,3,59,59],[1972,10,7,23,59,59],
+          '1972043005:00:00','1972043001:00:00','1972100803:59:59','1972100723:59:59' ],
+        [ [1972,10,8,4,0,0],[1972,10,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1973,4,29,4,59,59],[1973,4,28,23,59,59],
+          '1972100804:00:00','1972100723:00:00','1973042904:59:59','1973042823:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,5,0,0],[1973,4,29,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1973,10,8,3,59,59],[1973,10,7,23,59,59],
+          '1973042905:00:00','1973042901:00:00','1973100803:59:59','1973100723:59:59' ],
+        [ [1973,10,8,4,0,0],[1973,10,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1974,4,28,4,59,59],[1974,4,27,23,59,59],
+          '1973100804:00:00','1973100723:00:00','1974042804:59:59','1974042723:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,5,0,0],[1974,4,28,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1974,10,8,3,59,59],[1974,10,7,23,59,59],
+          '1974042805:00:00','1974042801:00:00','1974100803:59:59','1974100723:59:59' ],
+        [ [1974,10,8,4,0,0],[1974,10,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1975,4,27,4,59,59],[1975,4,26,23,59,59],
+          '1974100804:00:00','1974100723:00:00','1975042704:59:59','1975042623:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,5,0,0],[1975,4,27,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1975,10,26,3,59,59],[1975,10,25,23,59,59],
+          '1975042705:00:00','1975042701:00:00','1975102603:59:59','1975102523:59:59' ],
+        [ [1975,10,26,4,0,0],[1975,10,25,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1976,4,25,4,59,59],[1976,4,24,23,59,59],
+          '1975102604:00:00','1975102523:00:00','1976042504:59:59','1976042423:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,5,0,0],[1976,4,25,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1976,10,31,3,59,59],[1976,10,30,23,59,59],
+          '1976042505:00:00','1976042501:00:00','1976103103:59:59','1976103023:59:59' ],
+        [ [1976,10,31,4,0,0],[1976,10,30,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1977,4,24,4,59,59],[1977,4,23,23,59,59],
+          '1976103104:00:00','1976103023:00:00','1977042404:59:59','1977042323:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,5,0,0],[1977,4,24,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1977,10,30,3,59,59],[1977,10,29,23,59,59],
+          '1977042405:00:00','1977042401:00:00','1977103003:59:59','1977102923:59:59' ],
+        [ [1977,10,30,4,0,0],[1977,10,29,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1978,5,7,4,59,59],[1978,5,6,23,59,59],
+          '1977103004:00:00','1977102923:00:00','1978050704:59:59','1978050623:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,5,7,5,0,0],[1978,5,7,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1978,10,8,3,59,59],[1978,10,7,23,59,59],
+          '1978050705:00:00','1978050701:00:00','1978100803:59:59','1978100723:59:59' ],
+        [ [1978,10,8,4,0,0],[1978,10,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1979,3,18,4,59,59],[1979,3,17,23,59,59],
+          '1978100804:00:00','1978100723:00:00','1979031804:59:59','1979031723:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,18,5,0,0],[1979,3,18,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1979,10,14,3,59,59],[1979,10,13,23,59,59],
+          '1979031805:00:00','1979031801:00:00','1979101403:59:59','1979101323:59:59' ],
+        [ [1979,10,14,4,0,0],[1979,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1980,3,16,4,59,59],[1980,3,15,23,59,59],
+          '1979101404:00:00','1979101323:00:00','1980031604:59:59','1980031523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,16,5,0,0],[1980,3,16,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1980,10,12,3,59,59],[1980,10,11,23,59,59],
+          '1980031605:00:00','1980031601:00:00','1980101203:59:59','1980101123:59:59' ],
+        [ [1980,10,12,4,0,0],[1980,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1981,5,10,4,59,59],[1981,5,9,23,59,59],
+          '1980101204:00:00','1980101123:00:00','1981051004:59:59','1981050923:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,5,10,5,0,0],[1981,5,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1981,10,11,3,59,59],[1981,10,10,23,59,59],
+          '1981051005:00:00','1981051001:00:00','1981101103:59:59','1981101023:59:59' ],
+        [ [1981,10,11,4,0,0],[1981,10,10,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1982,5,9,4,59,59],[1982,5,8,23,59,59],
+          '1981101104:00:00','1981101023:00:00','1982050904:59:59','1982050823:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,5,9,5,0,0],[1982,5,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1982,10,10,3,59,59],[1982,10,9,23,59,59],
+          '1982050905:00:00','1982050901:00:00','1982101003:59:59','1982100923:59:59' ],
+        [ [1982,10,10,4,0,0],[1982,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1983,5,8,4,59,59],[1983,5,7,23,59,59],
+          '1982101004:00:00','1982100923:00:00','1983050804:59:59','1983050723:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,5,8,5,0,0],[1983,5,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1983,10,9,3,59,59],[1983,10,8,23,59,59],
+          '1983050805:00:00','1983050801:00:00','1983100903:59:59','1983100823:59:59' ],
+        [ [1983,10,9,4,0,0],[1983,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1984,5,6,4,59,59],[1984,5,5,23,59,59],
+          '1983100904:00:00','1983100823:00:00','1984050604:59:59','1984050523:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,5,6,5,0,0],[1984,5,6,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1984,10,14,3,59,59],[1984,10,13,23,59,59],
+          '1984050605:00:00','1984050601:00:00','1984101403:59:59','1984101323:59:59' ],
+        [ [1984,10,14,4,0,0],[1984,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1985,5,5,4,59,59],[1985,5,4,23,59,59],
+          '1984101404:00:00','1984101323:00:00','1985050504:59:59','1985050423:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,5,5,5,0,0],[1985,5,5,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1985,10,13,3,59,59],[1985,10,12,23,59,59],
+          '1985050505:00:00','1985050501:00:00','1985101303:59:59','1985101223:59:59' ],
+        [ [1985,10,13,4,0,0],[1985,10,12,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1986,3,16,4,59,59],[1986,3,15,23,59,59],
+          '1985101304:00:00','1985101223:00:00','1986031604:59:59','1986031523:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,16,5,0,0],[1986,3,16,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1986,10,12,3,59,59],[1986,10,11,23,59,59],
+          '1986031605:00:00','1986031601:00:00','1986101203:59:59','1986101123:59:59' ],
+        [ [1986,10,12,4,0,0],[1986,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1987,3,15,4,59,59],[1987,3,14,23,59,59],
+          '1986101204:00:00','1986101123:00:00','1987031504:59:59','1987031423:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,15,5,0,0],[1987,3,15,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1987,10,11,3,59,59],[1987,10,10,23,59,59],
+          '1987031505:00:00','1987031501:00:00','1987101103:59:59','1987101023:59:59' ],
+        [ [1987,10,11,4,0,0],[1987,10,10,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1988,3,20,4,59,59],[1988,3,19,23,59,59],
+          '1987101104:00:00','1987101023:00:00','1988032004:59:59','1988031923:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,20,5,0,0],[1988,3,20,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1988,10,9,3,59,59],[1988,10,8,23,59,59],
+          '1988032005:00:00','1988032001:00:00','1988100903:59:59','1988100823:59:59' ],
+        [ [1988,10,9,4,0,0],[1988,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1989,3,19,4,59,59],[1989,3,18,23,59,59],
+          '1988100904:00:00','1988100823:00:00','1989031904:59:59','1989031823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,19,5,0,0],[1989,3,19,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1989,10,8,3,59,59],[1989,10,7,23,59,59],
+          '1989031905:00:00','1989031901:00:00','1989100803:59:59','1989100723:59:59' ],
+        [ [1989,10,8,4,0,0],[1989,10,7,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1990,4,1,4,59,59],[1990,3,31,23,59,59],
+          '1989100804:00:00','1989100723:00:00','1990040104:59:59','1990033123:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,5,0,0],[1990,4,1,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1990,10,14,3,59,59],[1990,10,13,23,59,59],
+          '1990040105:00:00','1990040101:00:00','1990101403:59:59','1990101323:59:59' ],
+        [ [1990,10,14,4,0,0],[1990,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1991,4,7,4,59,59],[1991,4,6,23,59,59],
+          '1990101404:00:00','1990101323:00:00','1991040704:59:59','1991040623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,5,0,0],[1991,4,7,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1991,10,13,4,59,59],[1991,10,13,0,59,59],
+          '1991040705:00:00','1991040701:00:00','1991101304:59:59','1991101300:59:59' ],
+        [ [1991,10,13,5,0,0],[1991,10,13,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1992,4,5,4,59,59],[1992,4,4,23,59,59],
+          '1991101305:00:00','1991101300:00:00','1992040504:59:59','1992040423:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,5,0,0],[1992,4,5,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1992,10,11,4,59,59],[1992,10,11,0,59,59],
+          '1992040505:00:00','1992040501:00:00','1992101104:59:59','1992101100:59:59' ],
+        [ [1992,10,11,5,0,0],[1992,10,11,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1993,4,4,4,59,59],[1993,4,3,23,59,59],
+          '1992101105:00:00','1992101100:00:00','1993040404:59:59','1993040323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,5,0,0],[1993,4,4,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1993,10,10,4,59,59],[1993,10,10,0,59,59],
+          '1993040405:00:00','1993040401:00:00','1993101004:59:59','1993101000:59:59' ],
+        [ [1993,10,10,5,0,0],[1993,10,10,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1994,4,3,4,59,59],[1994,4,2,23,59,59],
+          '1993101005:00:00','1993101000:00:00','1994040304:59:59','1994040223:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,5,0,0],[1994,4,3,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1994,10,9,4,59,59],[1994,10,9,0,59,59],
+          '1994040305:00:00','1994040301:00:00','1994100904:59:59','1994100900:59:59' ],
+        [ [1994,10,9,5,0,0],[1994,10,9,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1995,4,2,4,59,59],[1995,4,1,23,59,59],
+          '1994100905:00:00','1994100900:00:00','1995040204:59:59','1995040123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,5,0,0],[1995,4,2,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1995,10,8,4,59,59],[1995,10,8,0,59,59],
+          '1995040205:00:00','1995040201:00:00','1995100804:59:59','1995100800:59:59' ],
+        [ [1995,10,8,5,0,0],[1995,10,8,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1996,4,7,4,59,59],[1996,4,6,23,59,59],
+          '1995100805:00:00','1995100800:00:00','1996040704:59:59','1996040623:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,5,0,0],[1996,4,7,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1996,10,6,4,59,59],[1996,10,6,0,59,59],
+          '1996040705:00:00','1996040701:00:00','1996100604:59:59','1996100600:59:59' ],
+        [ [1996,10,6,5,0,0],[1996,10,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1997,4,6,4,59,59],[1997,4,5,23,59,59],
+          '1996100605:00:00','1996100600:00:00','1997040604:59:59','1997040523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,5,0,0],[1997,4,6,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1997,10,12,4,59,59],[1997,10,12,0,59,59],
+          '1997040605:00:00','1997040601:00:00','1997101204:59:59','1997101200:59:59' ],
+        [ [1997,10,12,5,0,0],[1997,10,12,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1998,3,29,4,59,59],[1998,3,28,23,59,59],
+          '1997101205:00:00','1997101200:00:00','1998032904:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,5,0,0],[1998,3,29,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1998,10,25,4,59,59],[1998,10,25,0,59,59],
+          '1998032905:00:00','1998032901:00:00','1998102504:59:59','1998102500:59:59' ],
+        [ [1998,10,25,5,0,0],[1998,10,25,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[1999,3,28,4,59,59],[1999,3,27,23,59,59],
+          '1998102505:00:00','1998102500:00:00','1999032804:59:59','1999032723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,5,0,0],[1999,3,28,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[1999,10,31,4,59,59],[1999,10,31,0,59,59],
+          '1999032805:00:00','1999032801:00:00','1999103104:59:59','1999103100:59:59' ],
+        [ [1999,10,31,5,0,0],[1999,10,31,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2000,4,2,4,59,59],[2000,4,1,23,59,59],
+          '1999103105:00:00','1999103100:00:00','2000040204:59:59','2000040123:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,5,0,0],[2000,4,2,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2000,10,29,4,59,59],[2000,10,29,0,59,59],
+          '2000040205:00:00','2000040201:00:00','2000102904:59:59','2000102900:59:59' ],
+        [ [2000,10,29,5,0,0],[2000,10,29,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2001,4,1,4,59,59],[2001,3,31,23,59,59],
+          '2000102905:00:00','2000102900:00:00','2001040104:59:59','2001033123:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,5,0,0],[2001,4,1,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2001,10,28,4,59,59],[2001,10,28,0,59,59],
+          '2001040105:00:00','2001040101:00:00','2001102804:59:59','2001102800:59:59' ],
+        [ [2001,10,28,5,0,0],[2001,10,28,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2002,4,7,4,59,59],[2002,4,6,23,59,59],
+          '2001102805:00:00','2001102800:00:00','2002040704:59:59','2002040623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,5,0,0],[2002,4,7,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2002,10,27,4,59,59],[2002,10,27,0,59,59],
+          '2002040705:00:00','2002040701:00:00','2002102704:59:59','2002102700:59:59' ],
+        [ [2002,10,27,5,0,0],[2002,10,27,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2003,4,6,4,59,59],[2003,4,5,23,59,59],
+          '2002102705:00:00','2002102700:00:00','2003040604:59:59','2003040523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,5,0,0],[2003,4,6,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2003,10,26,4,59,59],[2003,10,26,0,59,59],
+          '2003040605:00:00','2003040601:00:00','2003102604:59:59','2003102600:59:59' ],
+        [ [2003,10,26,5,0,0],[2003,10,26,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2004,3,28,4,59,59],[2004,3,27,23,59,59],
+          '2003102605:00:00','2003102600:00:00','2004032804:59:59','2004032723:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,5,0,0],[2004,3,28,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2006,10,29,4,59,59],[2006,10,29,0,59,59],
+          '2004032805:00:00','2004032801:00:00','2006102904:59:59','2006102900:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,10,29,5,0,0],[2006,10,29,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2007,3,11,4,59,59],[2007,3,10,23,59,59],
+          '2006102905:00:00','2006102900:00:00','2007031104:59:59','2007031023:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,5,0,0],[2007,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2007,10,28,4,59,59],[2007,10,28,0,59,59],
+          '2007031105:00:00','2007031101:00:00','2007102804:59:59','2007102800:59:59' ],
+        [ [2007,10,28,5,0,0],[2007,10,28,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2008,3,16,4,59,59],[2008,3,15,23,59,59],
+          '2007102805:00:00','2007102800:00:00','2008031604:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,5,0,0],[2008,3,16,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2008,10,26,4,59,59],[2008,10,26,0,59,59],
+          '2008031605:00:00','2008031601:00:00','2008102604:59:59','2008102600:59:59' ],
+        [ [2008,10,26,5,0,0],[2008,10,26,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2009,3,8,4,59,59],[2009,3,7,23,59,59],
+          '2008102605:00:00','2008102600:00:00','2009030804:59:59','2009030723:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,5,0,0],[2009,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2009,10,25,4,59,59],[2009,10,25,0,59,59],
+          '2009030805:00:00','2009030801:00:00','2009102504:59:59','2009102500:59:59' ],
+        [ [2009,10,25,5,0,0],[2009,10,25,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2010,3,14,4,59,59],[2010,3,13,23,59,59],
+          '2009102505:00:00','2009102500:00:00','2010031404:59:59','2010031323:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,5,0,0],[2010,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2010,10,31,4,59,59],[2010,10,31,0,59,59],
+          '2010031405:00:00','2010031401:00:00','2010103104:59:59','2010103100:59:59' ],
+        [ [2010,10,31,5,0,0],[2010,10,31,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2011,3,20,4,59,59],[2011,3,19,23,59,59],
+          '2010103105:00:00','2010103100:00:00','2011032004:59:59','2011031923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,20,5,0,0],[2011,3,20,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2011,11,13,4,59,59],[2011,11,13,0,59,59],
+          '2011032005:00:00','2011032001:00:00','2011111304:59:59','2011111300:59:59' ],
+        [ [2011,11,13,5,0,0],[2011,11,13,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2012,4,1,4,59,59],[2012,3,31,23,59,59],
+          '2011111305:00:00','2011111300:00:00','2012040104:59:59','2012033123:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,5,0,0],[2012,4,1,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2012,11,4,4,59,59],[2012,11,4,0,59,59],
+          '2012040105:00:00','2012040101:00:00','2012110404:59:59','2012110400:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2013,3,10,4,59,59],[2013,3,9,23,59,59],
+          '2012110405:00:00','2012110400:00:00','2013031004:59:59','2013030923:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,5,0,0],[2013,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2013,11,3,4,59,59],[2013,11,3,0,59,59],
+          '2013031005:00:00','2013031001:00:00','2013110304:59:59','2013110300:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2014,3,9,4,59,59],[2014,3,8,23,59,59],
+          '2013110305:00:00','2013110300:00:00','2014030904:59:59','2014030823:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,5,0,0],[2014,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2014,11,2,4,59,59],[2014,11,2,0,59,59],
+          '2014030905:00:00','2014030901:00:00','2014110204:59:59','2014110200:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2015,3,8,4,59,59],[2015,3,7,23,59,59],
+          '2014110205:00:00','2014110200:00:00','2015030804:59:59','2015030723:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,5,0,0],[2015,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2015,11,1,4,59,59],[2015,11,1,0,59,59],
+          '2015030805:00:00','2015030801:00:00','2015110104:59:59','2015110100:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2016,3,13,4,59,59],[2016,3,12,23,59,59],
+          '2015110105:00:00','2015110100:00:00','2016031304:59:59','2016031223:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,5,0,0],[2016,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2016,11,6,4,59,59],[2016,11,6,0,59,59],
+          '2016031305:00:00','2016031301:00:00','2016110604:59:59','2016110600:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2017,3,12,4,59,59],[2017,3,11,23,59,59],
+          '2016110605:00:00','2016110600:00:00','2017031204:59:59','2017031123:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,5,0,0],[2017,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2017,11,5,4,59,59],[2017,11,5,0,59,59],
+          '2017031205:00:00','2017031201:00:00','2017110504:59:59','2017110500:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2018,3,11,4,59,59],[2018,3,10,23,59,59],
+          '2017110505:00:00','2017110500:00:00','2018031104:59:59','2018031023:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,5,0,0],[2018,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2018,11,4,4,59,59],[2018,11,4,0,59,59],
+          '2018031105:00:00','2018031101:00:00','2018110404:59:59','2018110400:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2019,3,10,4,59,59],[2019,3,9,23,59,59],
+          '2018110405:00:00','2018110400:00:00','2019031004:59:59','2019030923:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,5,0,0],[2019,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2019,11,3,4,59,59],[2019,11,3,0,59,59],
+          '2019031005:00:00','2019031001:00:00','2019110304:59:59','2019110300:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2020,3,8,4,59,59],[2020,3,7,23,59,59],
+          '2019110305:00:00','2019110300:00:00','2020030804:59:59','2020030723:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,5,0,0],[2020,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2020,11,1,4,59,59],[2020,11,1,0,59,59],
+          '2020030805:00:00','2020030801:00:00','2020110104:59:59','2020110100:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2021,3,14,4,59,59],[2021,3,13,23,59,59],
+          '2020110105:00:00','2020110100:00:00','2021031404:59:59','2021031323:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,5,0,0],[2021,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2021,11,7,4,59,59],[2021,11,7,0,59,59],
+          '2021031405:00:00','2021031401:00:00','2021110704:59:59','2021110700:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2022,3,13,4,59,59],[2022,3,12,23,59,59],
+          '2021110705:00:00','2021110700:00:00','2022031304:59:59','2022031223:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,5,0,0],[2022,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2022,11,6,4,59,59],[2022,11,6,0,59,59],
+          '2022031305:00:00','2022031301:00:00','2022110604:59:59','2022110600:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2023,3,12,4,59,59],[2023,3,11,23,59,59],
+          '2022110605:00:00','2022110600:00:00','2023031204:59:59','2023031123:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,5,0,0],[2023,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2023,11,5,4,59,59],[2023,11,5,0,59,59],
+          '2023031205:00:00','2023031201:00:00','2023110504:59:59','2023110500:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2024,3,10,4,59,59],[2024,3,9,23,59,59],
+          '2023110505:00:00','2023110500:00:00','2024031004:59:59','2024030923:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,5,0,0],[2024,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2024,11,3,4,59,59],[2024,11,3,0,59,59],
+          '2024031005:00:00','2024031001:00:00','2024110304:59:59','2024110300:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2025,3,9,4,59,59],[2025,3,8,23,59,59],
+          '2024110305:00:00','2024110300:00:00','2025030904:59:59','2025030823:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,5,0,0],[2025,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2025,11,2,4,59,59],[2025,11,2,0,59,59],
+          '2025030905:00:00','2025030901:00:00','2025110204:59:59','2025110200:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2026,3,8,4,59,59],[2026,3,7,23,59,59],
+          '2025110205:00:00','2025110200:00:00','2026030804:59:59','2026030723:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,5,0,0],[2026,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2026,11,1,4,59,59],[2026,11,1,0,59,59],
+          '2026030805:00:00','2026030801:00:00','2026110104:59:59','2026110100:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2027,3,14,4,59,59],[2027,3,13,23,59,59],
+          '2026110105:00:00','2026110100:00:00','2027031404:59:59','2027031323:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,5,0,0],[2027,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2027,11,7,4,59,59],[2027,11,7,0,59,59],
+          '2027031405:00:00','2027031401:00:00','2027110704:59:59','2027110700:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2028,3,12,4,59,59],[2028,3,11,23,59,59],
+          '2027110705:00:00','2027110700:00:00','2028031204:59:59','2028031123:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,5,0,0],[2028,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2028,11,5,4,59,59],[2028,11,5,0,59,59],
+          '2028031205:00:00','2028031201:00:00','2028110504:59:59','2028110500:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2029,3,11,4,59,59],[2029,3,10,23,59,59],
+          '2028110505:00:00','2028110500:00:00','2029031104:59:59','2029031023:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,5,0,0],[2029,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2029,11,4,4,59,59],[2029,11,4,0,59,59],
+          '2029031105:00:00','2029031101:00:00','2029110404:59:59','2029110400:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2030,3,10,4,59,59],[2030,3,9,23,59,59],
+          '2029110405:00:00','2029110400:00:00','2030031004:59:59','2030030923:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,5,0,0],[2030,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2030,11,3,4,59,59],[2030,11,3,0,59,59],
+          '2030031005:00:00','2030031001:00:00','2030110304:59:59','2030110300:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2031,3,9,4,59,59],[2031,3,8,23,59,59],
+          '2030110305:00:00','2030110300:00:00','2031030904:59:59','2031030823:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,5,0,0],[2031,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2031,11,2,4,59,59],[2031,11,2,0,59,59],
+          '2031030905:00:00','2031030901:00:00','2031110204:59:59','2031110200:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2032,3,14,4,59,59],[2032,3,13,23,59,59],
+          '2031110205:00:00','2031110200:00:00','2032031404:59:59','2032031323:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,5,0,0],[2032,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2032,11,7,4,59,59],[2032,11,7,0,59,59],
+          '2032031405:00:00','2032031401:00:00','2032110704:59:59','2032110700:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2033,3,13,4,59,59],[2033,3,12,23,59,59],
+          '2032110705:00:00','2032110700:00:00','2033031304:59:59','2033031223:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,5,0,0],[2033,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2033,11,6,4,59,59],[2033,11,6,0,59,59],
+          '2033031305:00:00','2033031301:00:00','2033110604:59:59','2033110600:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2034,3,12,4,59,59],[2034,3,11,23,59,59],
+          '2033110605:00:00','2033110600:00:00','2034031204:59:59','2034031123:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,5,0,0],[2034,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2034,11,5,4,59,59],[2034,11,5,0,59,59],
+          '2034031205:00:00','2034031201:00:00','2034110504:59:59','2034110500:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2035,3,11,4,59,59],[2035,3,10,23,59,59],
+          '2034110505:00:00','2034110500:00:00','2035031104:59:59','2035031023:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,5,0,0],[2035,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2035,11,4,4,59,59],[2035,11,4,0,59,59],
+          '2035031105:00:00','2035031101:00:00','2035110404:59:59','2035110400:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2036,3,9,4,59,59],[2036,3,8,23,59,59],
+          '2035110405:00:00','2035110400:00:00','2036030904:59:59','2036030823:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,5,0,0],[2036,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2036,11,2,4,59,59],[2036,11,2,0,59,59],
+          '2036030905:00:00','2036030901:00:00','2036110204:59:59','2036110200:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2037,3,8,4,59,59],[2037,3,7,23,59,59],
+          '2036110205:00:00','2036110200:00:00','2037030804:59:59','2037030723:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,5,0,0],[2037,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2037,11,1,4,59,59],[2037,11,1,0,59,59],
+          '2037030805:00:00','2037030801:00:00','2037110104:59:59','2037110100:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2038,3,14,4,59,59],[2038,3,13,23,59,59],
+          '2037110105:00:00','2037110100:00:00','2038031404:59:59','2038031323:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,5,0,0],[2038,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2038,11,7,4,59,59],[2038,11,7,0,59,59],
+          '2038031405:00:00','2038031401:00:00','2038110704:59:59','2038110700:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2039,3,13,4,59,59],[2039,3,12,23,59,59],
+          '2038110705:00:00','2038110700:00:00','2039031304:59:59','2039031223:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,5,0,0],[2039,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2039,11,6,4,59,59],[2039,11,6,0,59,59],
+          '2039031305:00:00','2039031301:00:00','2039110604:59:59','2039110600:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2040,3,11,4,59,59],[2040,3,10,23,59,59],
+          '2039110605:00:00','2039110600:00:00','2040031104:59:59','2040031023:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,5,0,0],[2040,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2040,11,4,4,59,59],[2040,11,4,0,59,59],
+          '2040031105:00:00','2040031101:00:00','2040110404:59:59','2040110400:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2041,3,10,4,59,59],[2041,3,9,23,59,59],
+          '2040110405:00:00','2040110400:00:00','2041031004:59:59','2041030923:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,5,0,0],[2041,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2041,11,3,4,59,59],[2041,11,3,0,59,59],
+          '2041031005:00:00','2041031001:00:00','2041110304:59:59','2041110300:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2042,3,9,4,59,59],[2042,3,8,23,59,59],
+          '2041110305:00:00','2041110300:00:00','2042030904:59:59','2042030823:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,5,0,0],[2042,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2042,11,2,4,59,59],[2042,11,2,0,59,59],
+          '2042030905:00:00','2042030901:00:00','2042110204:59:59','2042110200:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2043,3,8,4,59,59],[2043,3,7,23,59,59],
+          '2042110205:00:00','2042110200:00:00','2043030804:59:59','2043030723:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,5,0,0],[2043,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2043,11,1,4,59,59],[2043,11,1,0,59,59],
+          '2043030805:00:00','2043030801:00:00','2043110104:59:59','2043110100:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2044,3,13,4,59,59],[2044,3,12,23,59,59],
+          '2043110105:00:00','2043110100:00:00','2044031304:59:59','2044031223:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,5,0,0],[2044,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2044,11,6,4,59,59],[2044,11,6,0,59,59],
+          '2044031305:00:00','2044031301:00:00','2044110604:59:59','2044110600:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2045,3,12,4,59,59],[2045,3,11,23,59,59],
+          '2044110605:00:00','2044110600:00:00','2045031204:59:59','2045031123:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,5,0,0],[2045,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2045,11,5,4,59,59],[2045,11,5,0,59,59],
+          '2045031205:00:00','2045031201:00:00','2045110504:59:59','2045110500:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2046,3,11,4,59,59],[2046,3,10,23,59,59],
+          '2045110505:00:00','2045110500:00:00','2046031104:59:59','2046031023:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,5,0,0],[2046,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2046,11,4,4,59,59],[2046,11,4,0,59,59],
+          '2046031105:00:00','2046031101:00:00','2046110404:59:59','2046110400:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2047,3,10,4,59,59],[2047,3,9,23,59,59],
+          '2046110405:00:00','2046110400:00:00','2047031004:59:59','2047030923:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,5,0,0],[2047,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2047,11,3,4,59,59],[2047,11,3,0,59,59],
+          '2047031005:00:00','2047031001:00:00','2047110304:59:59','2047110300:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2048,3,8,4,59,59],[2048,3,7,23,59,59],
+          '2047110305:00:00','2047110300:00:00','2048030804:59:59','2048030723:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,5,0,0],[2048,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2048,11,1,4,59,59],[2048,11,1,0,59,59],
+          '2048030805:00:00','2048030801:00:00','2048110104:59:59','2048110100:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2049,3,14,4,59,59],[2049,3,13,23,59,59],
+          '2048110105:00:00','2048110100:00:00','2049031404:59:59','2049031323:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,5,0,0],[2049,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2049,11,7,4,59,59],[2049,11,7,0,59,59],
+          '2049031405:00:00','2049031401:00:00','2049110704:59:59','2049110700:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2050,3,13,4,59,59],[2050,3,12,23,59,59],
+          '2049110705:00:00','2049110700:00:00','2050031304:59:59','2050031223:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,5,0,0],[2050,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2050,11,6,4,59,59],[2050,11,6,0,59,59],
+          '2050031305:00:00','2050031301:00:00','2050110604:59:59','2050110600:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2051,3,12,4,59,59],[2051,3,11,23,59,59],
+          '2050110605:00:00','2050110600:00:00','2051031204:59:59','2051031123:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,5,0,0],[2051,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2051,11,5,4,59,59],[2051,11,5,0,59,59],
+          '2051031205:00:00','2051031201:00:00','2051110504:59:59','2051110500:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2052,3,10,4,59,59],[2052,3,9,23,59,59],
+          '2051110505:00:00','2051110500:00:00','2052031004:59:59','2052030923:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,5,0,0],[2052,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2052,11,3,4,59,59],[2052,11,3,0,59,59],
+          '2052031005:00:00','2052031001:00:00','2052110304:59:59','2052110300:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2053,3,9,4,59,59],[2053,3,8,23,59,59],
+          '2052110305:00:00','2052110300:00:00','2053030904:59:59','2053030823:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,5,0,0],[2053,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2053,11,2,4,59,59],[2053,11,2,0,59,59],
+          '2053030905:00:00','2053030901:00:00','2053110204:59:59','2053110200:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2054,3,8,4,59,59],[2054,3,7,23,59,59],
+          '2053110205:00:00','2053110200:00:00','2054030804:59:59','2054030723:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,5,0,0],[2054,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2054,11,1,4,59,59],[2054,11,1,0,59,59],
+          '2054030805:00:00','2054030801:00:00','2054110104:59:59','2054110100:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2055,3,14,4,59,59],[2055,3,13,23,59,59],
+          '2054110105:00:00','2054110100:00:00','2055031404:59:59','2055031323:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,5,0,0],[2055,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2055,11,7,4,59,59],[2055,11,7,0,59,59],
+          '2055031405:00:00','2055031401:00:00','2055110704:59:59','2055110700:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2056,3,12,4,59,59],[2056,3,11,23,59,59],
+          '2055110705:00:00','2055110700:00:00','2056031204:59:59','2056031123:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,5,0,0],[2056,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2056,11,5,4,59,59],[2056,11,5,0,59,59],
+          '2056031205:00:00','2056031201:00:00','2056110504:59:59','2056110500:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2057,3,11,4,59,59],[2057,3,10,23,59,59],
+          '2056110505:00:00','2056110500:00:00','2057031104:59:59','2057031023:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,5,0,0],[2057,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2057,11,4,4,59,59],[2057,11,4,0,59,59],
+          '2057031105:00:00','2057031101:00:00','2057110404:59:59','2057110400:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2058,3,10,4,59,59],[2058,3,9,23,59,59],
+          '2057110405:00:00','2057110400:00:00','2058031004:59:59','2058030923:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,5,0,0],[2058,3,10,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2058,11,3,4,59,59],[2058,11,3,0,59,59],
+          '2058031005:00:00','2058031001:00:00','2058110304:59:59','2058110300:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2059,3,9,4,59,59],[2059,3,8,23,59,59],
+          '2058110305:00:00','2058110300:00:00','2059030904:59:59','2059030823:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,5,0,0],[2059,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2059,11,2,4,59,59],[2059,11,2,0,59,59],
+          '2059030905:00:00','2059030901:00:00','2059110204:59:59','2059110200:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2060,3,14,4,59,59],[2060,3,13,23,59,59],
+          '2059110205:00:00','2059110200:00:00','2060031404:59:59','2060031323:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,5,0,0],[2060,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2060,11,7,4,59,59],[2060,11,7,0,59,59],
+          '2060031405:00:00','2060031401:00:00','2060110704:59:59','2060110700:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2061,3,13,4,59,59],[2061,3,12,23,59,59],
+          '2060110705:00:00','2060110700:00:00','2061031304:59:59','2061031223:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,5,0,0],[2061,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2061,11,6,4,59,59],[2061,11,6,0,59,59],
+          '2061031305:00:00','2061031301:00:00','2061110604:59:59','2061110600:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2062,3,12,4,59,59],[2062,3,11,23,59,59],
+          '2061110605:00:00','2061110600:00:00','2062031204:59:59','2062031123:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,5,0,0],[2062,3,12,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2062,11,5,4,59,59],[2062,11,5,0,59,59],
+          '2062031205:00:00','2062031201:00:00','2062110504:59:59','2062110500:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2063,3,11,4,59,59],[2063,3,10,23,59,59],
+          '2062110505:00:00','2062110500:00:00','2063031104:59:59','2063031023:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,5,0,0],[2063,3,11,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2063,11,4,4,59,59],[2063,11,4,0,59,59],
+          '2063031105:00:00','2063031101:00:00','2063110404:59:59','2063110400:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2064,3,9,4,59,59],[2064,3,8,23,59,59],
+          '2063110405:00:00','2063110400:00:00','2064030904:59:59','2064030823:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,5,0,0],[2064,3,9,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2064,11,2,4,59,59],[2064,11,2,0,59,59],
+          '2064030905:00:00','2064030901:00:00','2064110204:59:59','2064110200:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2065,3,8,4,59,59],[2065,3,7,23,59,59],
+          '2064110205:00:00','2064110200:00:00','2065030804:59:59','2065030723:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,5,0,0],[2065,3,8,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2065,11,1,4,59,59],[2065,11,1,0,59,59],
+          '2065030805:00:00','2065030801:00:00','2065110104:59:59','2065110100:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2066,3,14,4,59,59],[2066,3,13,23,59,59],
+          '2065110105:00:00','2065110100:00:00','2066031404:59:59','2066031323:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,5,0,0],[2066,3,14,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2066,11,7,4,59,59],[2066,11,7,0,59,59],
+          '2066031405:00:00','2066031401:00:00','2066110704:59:59','2066110700:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2067,3,13,4,59,59],[2067,3,12,23,59,59],
+          '2066110705:00:00','2066110700:00:00','2067031304:59:59','2067031223:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,5,0,0],[2067,3,13,1,0,0],'-04:00:00',[-4,0,0],
+          'CDT',1,[2067,11,6,4,59,59],[2067,11,6,0,59,59],
+          '2067031305:00:00','2067031301:00:00','2067110604:59:59','2067110600:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,0,0,0],'-05:00:00',[-5,0,0],
+          'CST',0,[2068,3,11,4,59,59],[2068,3,10,23,59,59],
+          '2067110605:00:00','2067110600:00:00','2068031104:59:59','2068031023:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 's',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amherm00.pm b/lib/Date/Manip/TZ/amherm00.pm
new file mode 100644
index 0000000..4495c23
--- /dev/null
+++ b/lib/Date/Manip/TZ/amherm00.pm
@@ -0,0 +1,121 @@
+package #
+Date::Manip::TZ::amherm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,36,8],'-07:23:52',[-7,-23,-52],
+          'LMT',0,[1922,1,1,6,59,59],[1921,12,31,23,36,7],
+          '0001010200:00:00','0001010116:36:08','1922010106:59:59','1921123123:36:07' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,4,24,5,59,59],[1942,4,23,23,59,59],
+          '1932040107:00:00','1932040101:00:00','1942042405:59:59','1942042323:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,24,6,0,0],[1942,4,23,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1949,1,14,6,59,59],[1949,1,13,23,59,59],
+          '1942042406:00:00','1942042323:00:00','1949011406:59:59','1949011323:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,1,14,7,0,0],[1949,1,13,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,1,1,7,59,59],[1969,12,31,23,59,59],
+          '1949011407:00:00','1949011323:00:00','1970010107:59:59','1969123123:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,1,1,8,0,0],[1970,1,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1970010108:00:00','1970010101:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '1998102508:00:00','1998102501:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amindi00.pm b/lib/Date/Manip/TZ/amindi00.pm
new file mode 100644
index 0000000..f7d2cd2
--- /dev/null
+++ b/lib/Date/Manip/TZ/amindi00.pm
@@ -0,0 +1,790 @@
+package #
+Date::Manip::TZ::amindi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,15,22],'-05:44:38',[-5,-44,-38],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,15,21],
+          '0001010200:00:00','0001010118:15:22','1883111817:59:59','1883111812:15:21' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1941,6,22,7,59,59],[1941,6,22,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1941062207:59:59','1941062201:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,22,8,0,0],[1941,6,22,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1941,9,28,6,59,59],[1941,9,28,1,59,59],
+          '1941062208:00:00','1941062203:00:00','1941092806:59:59','1941092801:59:59' ],
+        [ [1941,9,28,7,0,0],[1941,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1941092807:00:00','1941092801:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1947,9,28,6,59,59],[1947,9,28,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1947092806:59:59','1947092801:59:59' ],
+        [ [1947,9,28,7,0,0],[1947,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1948,4,25,7,59,59],[1948,4,25,1,59,59],
+          '1947092807:00:00','1947092801:00:00','1948042507:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,8,0,0],[1948,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1948,9,26,6,59,59],[1948,9,26,1,59,59],
+          '1948042508:00:00','1948042503:00:00','1948092606:59:59','1948092601:59:59' ],
+        [ [1948,9,26,7,0,0],[1948,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1949,4,24,7,59,59],[1949,4,24,1,59,59],
+          '1948092607:00:00','1948092601:00:00','1949042407:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,8,0,0],[1949,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1949,9,25,6,59,59],[1949,9,25,1,59,59],
+          '1949042408:00:00','1949042403:00:00','1949092506:59:59','1949092501:59:59' ],
+        [ [1949,9,25,7,0,0],[1949,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,4,30,7,59,59],[1950,4,30,1,59,59],
+          '1949092507:00:00','1949092501:00:00','1950043007:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,8,0,0],[1950,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,24,6,59,59],[1950,9,24,1,59,59],
+          '1950043008:00:00','1950043003:00:00','1950092406:59:59','1950092401:59:59' ],
+        [ [1950,9,24,7,0,0],[1950,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950092407:00:00','1950092401:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1957092906:59:59','1957092901:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1970102506:00:00','1970102501:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aminuv00.pm b/lib/Date/Manip/TZ/aminuv00.pm
new file mode 100644
index 0000000..40c1f9d
--- /dev/null
+++ b/lib/Date/Manip/TZ/aminuv00.pm
@@ -0,0 +1,880 @@
+package #
+Date::Manip::TZ::aminuv00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1952,12,31,23,59,59],[1952,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1952123123:59:59','1952123123:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,1,1,0,0,0],[1952,12,31,16,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1965,4,25,7,59,59],[1965,4,24,23,59,59],
+          '1953010100:00:00','1952123116:00:00','1965042507:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,8,0,0],[1965,4,25,2,0,0],'-06:00:00',[-6,0,0],
+          'PDDT',1,[1965,10,31,7,59,59],[1965,10,31,1,59,59],
+          '1965042508:00:00','1965042502:00:00','1965103107:59:59','1965103101:59:59' ],
+        [ [1965,10,31,8,0,0],[1965,10,31,0,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1965103108:00:00','1965103100:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amiqal00.pm b/lib/Date/Manip/TZ/amiqal00.pm
new file mode 100644
index 0000000..d047646
--- /dev/null
+++ b/lib/Date/Manip/TZ/amiqal00.pm
@@ -0,0 +1,883 @@
+package #
+Date::Manip::TZ::amiqal00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1942,7,31,23,59,59],[1942,7,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1942073123:59:59','1942073123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,8,1,0,0,0],[1942,7,31,20,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942080100:00:00','1942073120:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1965,4,25,4,59,59],[1965,4,24,23,59,59],
+          '1945093006:00:00','1945093001:00:00','1965042504:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,5,0,0],[1965,4,25,2,0,0],'-03:00:00',[-3,0,0],
+          'EDDT',1,[1965,10,31,4,59,59],[1965,10,31,1,59,59],
+          '1965042505:00:00','1965042502:00:00','1965103104:59:59','1965103101:59:59' ],
+        [ [1965,10,31,5,0,0],[1965,10,31,0,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1965103105:00:00','1965103100:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103100:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102902:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amjama00.pm b/lib/Date/Manip/TZ/amjama00.pm
new file mode 100644
index 0000000..2886fe5
--- /dev/null
+++ b/lib/Date/Manip/TZ/amjama00.pm
@@ -0,0 +1,145 @@
+package #
+Date::Manip::TZ::amjama00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,52,49],'-05:07:11',[-5,-7,-11],
+          'LMT',0,[1890,1,1,5,7,10],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:52:49','1890010105:07:10','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,7,11],[1890,1,1,0,0,0],'-05:07:11',[-5,-7,-11],
+          'KMT',0,[1912,2,1,5,7,10],[1912,1,31,23,59,59],
+          '1890010105:07:11','1890010100:00:00','1912020105:07:10','1912013123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,2,1,5,7,11],[1912,2,1,0,7,11],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,1,6,6,59,59],[1974,1,6,1,59,59],
+          '1912020105:07:11','1912020100:07:11','1974010606:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,7,0,0],[1974,1,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974010607:00:00','1974010603:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,2,23,6,59,59],[1975,2,23,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975022306:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,7,0,0],[1975,2,23,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975022307:00:00','1975022303:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1983103006:00:00','1983103001:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amjuju00.pm b/lib/Date/Manip/TZ/amjuju00.pm
new file mode 100644
index 0000000..29bbfcc
--- /dev/null
+++ b/lib/Date/Manip/TZ/amjuju00.pm
@@ -0,0 +1,322 @@
+package #
+Date::Manip::TZ::amjuju00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,38,48],'-04:21:12',[-4,-21,-12],
+          'LMT',0,[1894,10,31,4,21,11],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:38:48','1894103104:21:11','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,21,12],[1894,10,31,0,4,24],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:21:12','1894103100:04:24','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,28,3,59,59],[1990,10,27,23,59,59],
+          '1990030402:00:00','1990030322:00:00','1990102803:59:59','1990102723:59:59' ],
+        [ [1990,10,28,4,0,0],[1990,10,28,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,17,2,59,59],[1991,3,16,23,59,59],
+          '1990102804:00:00','1990102801:00:00','1991031702:59:59','1991031623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,17,3,0,0],[1991,3,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,6,3,59,59],[1991,10,5,23,59,59],
+          '1991031703:00:00','1991031623:00:00','1991100603:59:59','1991100523:59:59' ],
+        [ [1991,10,6,4,0,0],[1991,10,6,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991100604:00:00','1991100602:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amjune00.pm b/lib/Date/Manip/TZ/amjune00.pm
new file mode 100644
index 0000000..a47b1f4
--- /dev/null
+++ b/lib/Date/Manip/TZ/amjune00.pm
@@ -0,0 +1,988 @@
+package #
+Date::Manip::TZ::amjune00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,15,2,19],'+15:02:19',[15,2,19],
+          'LMT',0,[1867,10,17,8,57,40],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010215:02:19','1867101708:57:40','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,8,57,41],[1867,10,17,0,0,0],'-08:57:41',[-8,-57,-41],
+          'LMT',0,[1900,8,20,20,57,40],[1900,8,20,11,59,59],
+          '1867101708:57:41','1867101700:00:00','1900082020:57:40','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,20,57,41],[1900,8,20,12,57,41],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1900082020:57:41','1900082012:57:41','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,1,6,9,59,59],[1974,1,6,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974010609:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,10,0,0],[1974,1,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974010610:00:00','1974010603:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,2,23,9,59,59],[1975,2,23,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975022309:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,10,0,0],[1975,2,23,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975022310:00:00','1975022303:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,2,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1980,10,26,9,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042702:00:00','1980102609:59:59','1980102601:59:59' ],
+        [ [1980,10,26,10,0,0],[1980,10,26,2,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102610:00:00','1980102602:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,0,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,11,30,8,59,59],[1983,11,29,23,59,59],
+          '1983103009:00:00','1983103000:00:00','1983113008:59:59','1983112923:59:59' ],
+        [ [1983,11,30,9,0,0],[1983,11,30,0,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1984,4,29,10,59,59],[1984,4,29,1,59,59],
+          '1983113009:00:00','1983113000:00:00','1984042910:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,11,0,0],[1984,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1984,10,28,9,59,59],[1984,10,28,1,59,59],
+          '1984042911:00:00','1984042903:00:00','1984102809:59:59','1984102801:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1985,4,28,10,59,59],[1985,4,28,1,59,59],
+          '1984102810:00:00','1984102801:00:00','1985042810:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,11,0,0],[1985,4,28,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1985,10,27,9,59,59],[1985,10,27,1,59,59],
+          '1985042811:00:00','1985042803:00:00','1985102709:59:59','1985102701:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1986,4,27,10,59,59],[1986,4,27,1,59,59],
+          '1985102710:00:00','1985102701:00:00','1986042710:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,11,0,0],[1986,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1986,10,26,9,59,59],[1986,10,26,1,59,59],
+          '1986042711:00:00','1986042703:00:00','1986102609:59:59','1986102601:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1987,4,5,10,59,59],[1987,4,5,1,59,59],
+          '1986102610:00:00','1986102601:00:00','1987040510:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,11,0,0],[1987,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1987,10,25,9,59,59],[1987,10,25,1,59,59],
+          '1987040511:00:00','1987040503:00:00','1987102509:59:59','1987102501:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1988,4,3,10,59,59],[1988,4,3,1,59,59],
+          '1987102510:00:00','1987102501:00:00','1988040310:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,11,0,0],[1988,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1988,10,30,9,59,59],[1988,10,30,1,59,59],
+          '1988040311:00:00','1988040303:00:00','1988103009:59:59','1988103001:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1989,4,2,10,59,59],[1989,4,2,1,59,59],
+          '1988103010:00:00','1988103001:00:00','1989040210:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,11,0,0],[1989,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1989,10,29,9,59,59],[1989,10,29,1,59,59],
+          '1989040211:00:00','1989040203:00:00','1989102909:59:59','1989102901:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1990,4,1,10,59,59],[1990,4,1,1,59,59],
+          '1989102910:00:00','1989102901:00:00','1990040110:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,11,0,0],[1990,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1990,10,28,9,59,59],[1990,10,28,1,59,59],
+          '1990040111:00:00','1990040103:00:00','1990102809:59:59','1990102801:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1991,4,7,10,59,59],[1991,4,7,1,59,59],
+          '1990102810:00:00','1990102801:00:00','1991040710:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,11,0,0],[1991,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1991,10,27,9,59,59],[1991,10,27,1,59,59],
+          '1991040711:00:00','1991040703:00:00','1991102709:59:59','1991102701:59:59' ],
+        [ [1991,10,27,10,0,0],[1991,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1992,4,5,10,59,59],[1992,4,5,1,59,59],
+          '1991102710:00:00','1991102701:00:00','1992040510:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,11,0,0],[1992,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1992,10,25,9,59,59],[1992,10,25,1,59,59],
+          '1992040511:00:00','1992040503:00:00','1992102509:59:59','1992102501:59:59' ],
+        [ [1992,10,25,10,0,0],[1992,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1993,4,4,10,59,59],[1993,4,4,1,59,59],
+          '1992102510:00:00','1992102501:00:00','1993040410:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,11,0,0],[1993,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1993,10,31,9,59,59],[1993,10,31,1,59,59],
+          '1993040411:00:00','1993040403:00:00','1993103109:59:59','1993103101:59:59' ],
+        [ [1993,10,31,10,0,0],[1993,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1994,4,3,10,59,59],[1994,4,3,1,59,59],
+          '1993103110:00:00','1993103101:00:00','1994040310:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,11,0,0],[1994,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1994,10,30,9,59,59],[1994,10,30,1,59,59],
+          '1994040311:00:00','1994040303:00:00','1994103009:59:59','1994103001:59:59' ],
+        [ [1994,10,30,10,0,0],[1994,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1995,4,2,10,59,59],[1995,4,2,1,59,59],
+          '1994103010:00:00','1994103001:00:00','1995040210:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,11,0,0],[1995,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1995,10,29,9,59,59],[1995,10,29,1,59,59],
+          '1995040211:00:00','1995040203:00:00','1995102909:59:59','1995102901:59:59' ],
+        [ [1995,10,29,10,0,0],[1995,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1996,4,7,10,59,59],[1996,4,7,1,59,59],
+          '1995102910:00:00','1995102901:00:00','1996040710:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,11,0,0],[1996,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1996,10,27,9,59,59],[1996,10,27,1,59,59],
+          '1996040711:00:00','1996040703:00:00','1996102709:59:59','1996102701:59:59' ],
+        [ [1996,10,27,10,0,0],[1996,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1997,4,6,10,59,59],[1997,4,6,1,59,59],
+          '1996102710:00:00','1996102701:00:00','1997040610:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,11,0,0],[1997,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1997,10,26,9,59,59],[1997,10,26,1,59,59],
+          '1997040611:00:00','1997040603:00:00','1997102609:59:59','1997102601:59:59' ],
+        [ [1997,10,26,10,0,0],[1997,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1998,4,5,10,59,59],[1998,4,5,1,59,59],
+          '1997102610:00:00','1997102601:00:00','1998040510:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,11,0,0],[1998,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1998,10,25,9,59,59],[1998,10,25,1,59,59],
+          '1998040511:00:00','1998040503:00:00','1998102509:59:59','1998102501:59:59' ],
+        [ [1998,10,25,10,0,0],[1998,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1999,4,4,10,59,59],[1999,4,4,1,59,59],
+          '1998102510:00:00','1998102501:00:00','1999040410:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,11,0,0],[1999,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1999,10,31,9,59,59],[1999,10,31,1,59,59],
+          '1999040411:00:00','1999040403:00:00','1999103109:59:59','1999103101:59:59' ],
+        [ [1999,10,31,10,0,0],[1999,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2000,4,2,10,59,59],[2000,4,2,1,59,59],
+          '1999103110:00:00','1999103101:00:00','2000040210:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,11,0,0],[2000,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2000,10,29,9,59,59],[2000,10,29,1,59,59],
+          '2000040211:00:00','2000040203:00:00','2000102909:59:59','2000102901:59:59' ],
+        [ [2000,10,29,10,0,0],[2000,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2001,4,1,10,59,59],[2001,4,1,1,59,59],
+          '2000102910:00:00','2000102901:00:00','2001040110:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,11,0,0],[2001,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2001,10,28,9,59,59],[2001,10,28,1,59,59],
+          '2001040111:00:00','2001040103:00:00','2001102809:59:59','2001102801:59:59' ],
+        [ [2001,10,28,10,0,0],[2001,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2002,4,7,10,59,59],[2002,4,7,1,59,59],
+          '2001102810:00:00','2001102801:00:00','2002040710:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,11,0,0],[2002,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2002,10,27,9,59,59],[2002,10,27,1,59,59],
+          '2002040711:00:00','2002040703:00:00','2002102709:59:59','2002102701:59:59' ],
+        [ [2002,10,27,10,0,0],[2002,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2003,4,6,10,59,59],[2003,4,6,1,59,59],
+          '2002102710:00:00','2002102701:00:00','2003040610:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,11,0,0],[2003,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2003,10,26,9,59,59],[2003,10,26,1,59,59],
+          '2003040611:00:00','2003040603:00:00','2003102609:59:59','2003102601:59:59' ],
+        [ [2003,10,26,10,0,0],[2003,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2004,4,4,10,59,59],[2004,4,4,1,59,59],
+          '2003102610:00:00','2003102601:00:00','2004040410:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,11,0,0],[2004,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2004,10,31,9,59,59],[2004,10,31,1,59,59],
+          '2004040411:00:00','2004040403:00:00','2004103109:59:59','2004103101:59:59' ],
+        [ [2004,10,31,10,0,0],[2004,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2005,4,3,10,59,59],[2005,4,3,1,59,59],
+          '2004103110:00:00','2004103101:00:00','2005040310:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,11,0,0],[2005,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2005,10,30,9,59,59],[2005,10,30,1,59,59],
+          '2005040311:00:00','2005040303:00:00','2005103009:59:59','2005103001:59:59' ],
+        [ [2005,10,30,10,0,0],[2005,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2006,4,2,10,59,59],[2006,4,2,1,59,59],
+          '2005103010:00:00','2005103001:00:00','2006040210:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,11,0,0],[2006,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2006,10,29,9,59,59],[2006,10,29,1,59,59],
+          '2006040211:00:00','2006040203:00:00','2006102909:59:59','2006102901:59:59' ],
+        [ [2006,10,29,10,0,0],[2006,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2007,3,11,10,59,59],[2007,3,11,1,59,59],
+          '2006102910:00:00','2006102901:00:00','2007031110:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,11,0,0],[2007,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2007,11,4,9,59,59],[2007,11,4,1,59,59],
+          '2007031111:00:00','2007031103:00:00','2007110409:59:59','2007110401:59:59' ],
+        [ [2007,11,4,10,0,0],[2007,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2008,3,9,10,59,59],[2008,3,9,1,59,59],
+          '2007110410:00:00','2007110401:00:00','2008030910:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,11,0,0],[2008,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2008,11,2,9,59,59],[2008,11,2,1,59,59],
+          '2008030911:00:00','2008030903:00:00','2008110209:59:59','2008110201:59:59' ],
+        [ [2008,11,2,10,0,0],[2008,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2009,3,8,10,59,59],[2009,3,8,1,59,59],
+          '2008110210:00:00','2008110201:00:00','2009030810:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,11,0,0],[2009,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2009,11,1,9,59,59],[2009,11,1,1,59,59],
+          '2009030811:00:00','2009030803:00:00','2009110109:59:59','2009110101:59:59' ],
+        [ [2009,11,1,10,0,0],[2009,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2010,3,14,10,59,59],[2010,3,14,1,59,59],
+          '2009110110:00:00','2009110101:00:00','2010031410:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,11,0,0],[2010,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2010,11,7,9,59,59],[2010,11,7,1,59,59],
+          '2010031411:00:00','2010031403:00:00','2010110709:59:59','2010110701:59:59' ],
+        [ [2010,11,7,10,0,0],[2010,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2011,3,13,10,59,59],[2011,3,13,1,59,59],
+          '2010110710:00:00','2010110701:00:00','2011031310:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,11,0,0],[2011,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2011,11,6,9,59,59],[2011,11,6,1,59,59],
+          '2011031311:00:00','2011031303:00:00','2011110609:59:59','2011110601:59:59' ],
+        [ [2011,11,6,10,0,0],[2011,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2012,3,11,10,59,59],[2012,3,11,1,59,59],
+          '2011110610:00:00','2011110601:00:00','2012031110:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,11,0,0],[2012,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2012,11,4,9,59,59],[2012,11,4,1,59,59],
+          '2012031111:00:00','2012031103:00:00','2012110409:59:59','2012110401:59:59' ],
+        [ [2012,11,4,10,0,0],[2012,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2013,3,10,10,59,59],[2013,3,10,1,59,59],
+          '2012110410:00:00','2012110401:00:00','2013031010:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,11,0,0],[2013,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2013,11,3,9,59,59],[2013,11,3,1,59,59],
+          '2013031011:00:00','2013031003:00:00','2013110309:59:59','2013110301:59:59' ],
+        [ [2013,11,3,10,0,0],[2013,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2014,3,9,10,59,59],[2014,3,9,1,59,59],
+          '2013110310:00:00','2013110301:00:00','2014030910:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,11,0,0],[2014,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2014,11,2,9,59,59],[2014,11,2,1,59,59],
+          '2014030911:00:00','2014030903:00:00','2014110209:59:59','2014110201:59:59' ],
+        [ [2014,11,2,10,0,0],[2014,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2015,3,8,10,59,59],[2015,3,8,1,59,59],
+          '2014110210:00:00','2014110201:00:00','2015030810:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,11,0,0],[2015,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '2015030811:00:00','2015030803:00:00','2015110109:59:59','2015110101:59:59' ],
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amknox00.pm b/lib/Date/Manip/TZ/amknox00.pm
new file mode 100644
index 0000000..a8ddb3c
--- /dev/null
+++ b/lib/Date/Manip/TZ/amknox00.pm
@@ -0,0 +1,1036 @@
+package #
+Date::Manip::TZ::amknox00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,13,30],'-05:46:30',[-5,-46,-30],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,13,29],
+          '0001010200:00:00','0001010118:13:30','1883111817:59:59','1883111812:13:29' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1947,9,28,6,59,59],[1947,9,28,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1947092806:59:59','1947092801:59:59' ],
+        [ [1947,9,28,7,0,0],[1947,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1948,4,25,7,59,59],[1948,4,25,1,59,59],
+          '1947092807:00:00','1947092801:00:00','1948042507:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,8,0,0],[1948,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1948,9,26,6,59,59],[1948,9,26,1,59,59],
+          '1948042508:00:00','1948042503:00:00','1948092606:59:59','1948092601:59:59' ],
+        [ [1948,9,26,7,0,0],[1948,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1949,4,24,7,59,59],[1949,4,24,1,59,59],
+          '1948092607:00:00','1948092601:00:00','1949042407:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,8,0,0],[1949,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1949,9,25,6,59,59],[1949,9,25,1,59,59],
+          '1949042408:00:00','1949042403:00:00','1949092506:59:59','1949092501:59:59' ],
+        [ [1949,9,25,7,0,0],[1949,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,4,30,7,59,59],[1950,4,30,1,59,59],
+          '1949092507:00:00','1949092501:00:00','1950043007:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,8,0,0],[1950,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,24,6,59,59],[1950,9,24,1,59,59],
+          '1950043008:00:00','1950043003:00:00','1950092406:59:59','1950092401:59:59' ],
+        [ [1950,9,24,7,0,0],[1950,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950092407:00:00','1950092401:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,10,30,6,59,59],[1955,10,30,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955103006:59:59','1955103001:59:59' ],
+        [ [1955,10,30,7,0,0],[1955,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955103007:00:00','1955103001:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,10,28,6,59,59],[1956,10,28,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956102806:59:59','1956102801:59:59' ],
+        [ [1956,10,28,7,0,0],[1956,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956102807:00:00','1956102801:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,10,25,6,59,59],[1959,10,25,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959102506:59:59','1959102501:59:59' ],
+        [ [1959,10,25,7,0,0],[1959,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959102507:00:00','1959102501:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,10,30,6,59,59],[1960,10,30,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960103006:59:59','1960103001:59:59' ],
+        [ [1960,10,30,7,0,0],[1960,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960103007:00:00','1960103001:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,10,29,6,59,59],[1961,10,29,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961102906:59:59','1961102901:59:59' ],
+        [ [1961,10,29,7,0,0],[1961,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1962,4,29,7,59,59],[1962,4,29,1,59,59],
+          '1961102907:00:00','1961102901:00:00','1962042907:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,8,0,0],[1962,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1963,10,27,6,59,59],[1963,10,27,1,59,59],
+          '1962042908:00:00','1962042903:00:00','1963102706:59:59','1963102701:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,27,7,0,0],[1963,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1967,4,30,7,59,59],[1967,4,30,1,59,59],
+          '1963102707:00:00','1963102701:00:00','1967043007:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,8,0,0],[1967,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1967,10,29,6,59,59],[1967,10,29,1,59,59],
+          '1967043008:00:00','1967043003:00:00','1967102906:59:59','1967102901:59:59' ],
+        [ [1967,10,29,7,0,0],[1967,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1968,4,28,7,59,59],[1968,4,28,1,59,59],
+          '1967102907:00:00','1967102901:00:00','1968042807:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,8,0,0],[1968,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1968,10,27,6,59,59],[1968,10,27,1,59,59],
+          '1968042808:00:00','1968042803:00:00','1968102706:59:59','1968102701:59:59' ],
+        [ [1968,10,27,7,0,0],[1968,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1968102707:00:00','1968102701:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1969,10,26,6,59,59],[1969,10,26,1,59,59],
+          '1969042708:00:00','1969042703:00:00','1969102606:59:59','1969102601:59:59' ],
+        [ [1969,10,26,7,0,0],[1969,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1970,4,26,7,59,59],[1970,4,26,1,59,59],
+          '1969102607:00:00','1969102601:00:00','1970042607:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,8,0,0],[1970,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1970,10,25,6,59,59],[1970,10,25,1,59,59],
+          '1970042608:00:00','1970042603:00:00','1970102506:59:59','1970102501:59:59' ],
+        [ [1970,10,25,7,0,0],[1970,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1971,4,25,7,59,59],[1971,4,25,1,59,59],
+          '1970102507:00:00','1970102501:00:00','1971042507:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,8,0,0],[1971,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1971,10,31,6,59,59],[1971,10,31,1,59,59],
+          '1971042508:00:00','1971042503:00:00','1971103106:59:59','1971103101:59:59' ],
+        [ [1971,10,31,7,0,0],[1971,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1972,4,30,7,59,59],[1972,4,30,1,59,59],
+          '1971103107:00:00','1971103101:00:00','1972043007:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,8,0,0],[1972,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1972,10,29,6,59,59],[1972,10,29,1,59,59],
+          '1972043008:00:00','1972043003:00:00','1972102906:59:59','1972102901:59:59' ],
+        [ [1972,10,29,7,0,0],[1972,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,4,29,7,59,59],[1973,4,29,1,59,59],
+          '1972102907:00:00','1972102901:00:00','1973042907:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,8,0,0],[1973,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,6,59,59],[1973,10,28,1,59,59],
+          '1973042908:00:00','1973042903:00:00','1973102806:59:59','1973102801:59:59' ],
+        [ [1973,10,28,7,0,0],[1973,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,1,6,7,59,59],[1974,1,6,1,59,59],
+          '1973102807:00:00','1973102801:00:00','1974010607:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,8,0,0],[1974,1,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010608:00:00','1974010603:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,2,23,7,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975022307:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,8,0,0],[1975,2,23,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975022308:00:00','1975022303:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103007:00:00','1977103001:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,6,59,59],[1978,10,29,1,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102906:59:59','1978102901:59:59' ],
+        [ [1978,10,29,7,0,0],[1978,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102907:00:00','1978102901:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,6,59,59],[1979,10,28,1,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102806:59:59','1979102801:59:59' ],
+        [ [1979,10,28,7,0,0],[1979,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102807:00:00','1979102801:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1991102707:00:00','1991102702:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040202:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amla_p00.pm b/lib/Date/Manip/TZ/amla_p00.pm
new file mode 100644
index 0000000..d74f71f
--- /dev/null
+++ b/lib/Date/Manip/TZ/amla_p00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::amla_p00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,27,24],'-04:32:36',[-4,-32,-36],
+          'LMT',0,[1890,1,1,4,32,35],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:27:24','1890010104:32:35','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,32,36],[1890,1,1,0,0,0],'-04:32:36',[-4,-32,-36],
+          'CMT',0,[1931,10,15,4,32,35],[1931,10,14,23,59,59],
+          '1890010104:32:36','1890010100:00:00','1931101504:32:35','1931101423:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,15,4,32,36],[1931,10,15,1,0,0],'-03:32:36',[-3,-32,-36],
+          'BOST',1,[1932,3,21,3,32,35],[1932,3,20,23,59,59],
+          '1931101504:32:36','1931101501:00:00','1932032103:32:35','1932032023:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,21,3,32,36],[1932,3,20,23,32,36],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1932032103:32:36','1932032023:32:36','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amla_r00.pm b/lib/Date/Manip/TZ/amla_r00.pm
new file mode 100644
index 0000000..4638647
--- /dev/null
+++ b/lib/Date/Manip/TZ/amla_r00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::amla_r00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,32,36],'-04:27:24',[-4,-27,-24],
+          'LMT',0,[1894,10,31,4,27,23],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:32:36','1894103104:27:23','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,27,24],[1894,10,31,0,10,36],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:27:24','1894103100:10:36','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,1,1,59,59],[1991,2,28,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030101:59:59','1991022823:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,1,2,0,0],[1991,2,28,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,5,7,3,59,59],[1991,5,6,23,59,59],
+          '1991030102:00:00','1991022822:00:00','1991050703:59:59','1991050623:59:59' ],
+        [ [1991,5,7,4,0,0],[1991,5,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991050704:00:00','1991050701:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,6,1,2,59,59],[2004,5,31,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004060102:59:59','2004053123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,6,1,3,0,0],[2004,5,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,6,20,3,59,59],[2004,6,19,23,59,59],
+          '2004060103:00:00','2004053123:00:00','2004062003:59:59','2004061923:59:59' ],
+        [ [2004,6,20,4,0,0],[2004,6,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004062004:00:00','2004062001:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amlima00.pm b/lib/Date/Manip/TZ/amlima00.pm
new file mode 100644
index 0000000..dd0010f
--- /dev/null
+++ b/lib/Date/Manip/TZ/amlima00.pm
@@ -0,0 +1,118 @@
+package #
+Date::Manip::TZ::amlima00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,51,48],'-05:08:12',[-5,-8,-12],
+          'LMT',0,[1890,1,1,5,8,11],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:51:48','1890010105:08:11','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,8,12],[1889,12,31,23,59,36],'-05:08:36',[-5,-8,-36],
+          'LMT',0,[1908,7,28,5,8,35],[1908,7,27,23,59,59],
+          '1890010105:08:12','1889123123:59:36','1908072805:08:35','1908072723:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,7,28,5,8,36],[1908,7,28,0,8,36],'-05:00:00',[-5,0,0],
+          '-05',0,[1938,1,1,4,59,59],[1937,12,31,23,59,59],
+          '1908072805:08:36','1908072800:08:36','1938010104:59:59','1937123123:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,1,1,5,0,0],[1938,1,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1938,4,1,3,59,59],[1938,3,31,23,59,59],
+          '1938010105:00:00','1938010101:00:00','1938040103:59:59','1938033123:59:59' ],
+        [ [1938,4,1,4,0,0],[1938,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1938,9,25,4,59,59],[1938,9,24,23,59,59],
+          '1938040104:00:00','1938033123:00:00','1938092504:59:59','1938092423:59:59' ],
+        [ [1938,9,25,5,0,0],[1938,9,25,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1939,3,26,3,59,59],[1939,3,25,23,59,59],
+          '1938092505:00:00','1938092501:00:00','1939032603:59:59','1939032523:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,26,4,0,0],[1939,3,25,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1939,9,24,4,59,59],[1939,9,23,23,59,59],
+          '1939032604:00:00','1939032523:00:00','1939092404:59:59','1939092323:59:59' ],
+        [ [1939,9,24,5,0,0],[1939,9,24,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1940,3,24,3,59,59],[1940,3,23,23,59,59],
+          '1939092405:00:00','1939092401:00:00','1940032403:59:59','1940032323:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,24,4,0,0],[1940,3,23,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1986,1,1,4,59,59],[1985,12,31,23,59,59],
+          '1940032404:00:00','1940032323:00:00','1986010104:59:59','1985123123:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,1,1,5,0,0],[1986,1,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1986,4,1,3,59,59],[1986,3,31,23,59,59],
+          '1986010105:00:00','1986010101:00:00','1986040103:59:59','1986033123:59:59' ],
+        [ [1986,4,1,4,0,0],[1986,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1987,1,1,4,59,59],[1986,12,31,23,59,59],
+          '1986040104:00:00','1986033123:00:00','1987010104:59:59','1986123123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,1,1,5,0,0],[1987,1,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1987,4,1,3,59,59],[1987,3,31,23,59,59],
+          '1987010105:00:00','1987010101:00:00','1987040103:59:59','1987033123:59:59' ],
+        [ [1987,4,1,4,0,0],[1987,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1990,1,1,4,59,59],[1989,12,31,23,59,59],
+          '1987040104:00:00','1987033123:00:00','1990010104:59:59','1989123123:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,1,1,5,0,0],[1990,1,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1990,4,1,3,59,59],[1990,3,31,23,59,59],
+          '1990010105:00:00','1990010101:00:00','1990040103:59:59','1990033123:59:59' ],
+        [ [1990,4,1,4,0,0],[1990,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1994,1,1,4,59,59],[1993,12,31,23,59,59],
+          '1990040104:00:00','1990033123:00:00','1994010104:59:59','1993123123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,1,1,5,0,0],[1994,1,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1994,4,1,3,59,59],[1994,3,31,23,59,59],
+          '1994010105:00:00','1994010101:00:00','1994040103:59:59','1994033123:59:59' ],
+        [ [1994,4,1,4,0,0],[1994,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1994040104:00:00','1994033123:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amlos_00.pm b/lib/Date/Manip/TZ/amlos_00.pm
new file mode 100644
index 0000000..bd66606
--- /dev/null
+++ b/lib/Date/Manip/TZ/amlos_00.pm
@@ -0,0 +1,1180 @@
+package #
+Date::Manip::TZ::amlos_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,7,2],'-07:52:58',[-7,-52,-58],
+          'LMT',0,[1883,11,18,19,59,59],[1883,11,18,12,7,1],
+          '0001010200:00:00','0001010116:07:02','1883111819:59:59','1883111812:07:01' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,20,0,0],[1883,11,18,12,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,3,31,9,59,59],[1918,3,31,1,59,59],
+          '1883111820:00:00','1883111812:00:00','1918033109:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,10,0,0],[1918,3,31,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1918,10,27,8,59,59],[1918,10,27,1,59,59],
+          '1918033110:00:00','1918033103:00:00','1918102708:59:59','1918102701:59:59' ],
+        [ [1918,10,27,9,0,0],[1918,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1919,3,30,9,59,59],[1919,3,30,1,59,59],
+          '1918102709:00:00','1918102701:00:00','1919033009:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,10,0,0],[1919,3,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1919,10,26,8,59,59],[1919,10,26,1,59,59],
+          '1919033010:00:00','1919033003:00:00','1919102608:59:59','1919102601:59:59' ],
+        [ [1919,10,26,9,0,0],[1919,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1919102609:00:00','1919102601:00:00','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1948,3,14,10,0,59],[1948,3,14,2,0,59],
+          '1945093009:00:00','1945093001:00:00','1948031410:00:59','1948031402:00:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,3,14,10,1,0],[1948,3,14,3,1,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1949,1,1,8,59,59],[1949,1,1,1,59,59],
+          '1948031410:01:00','1948031403:01:00','1949010108:59:59','1949010101:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,1,1,9,0,0],[1949,1,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1950,4,30,8,59,59],[1950,4,30,0,59,59],
+          '1949010109:00:00','1949010101:00:00','1950043008:59:59','1950043000:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,9,0,0],[1950,4,30,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1950,9,24,8,59,59],[1950,9,24,1,59,59],
+          '1950043009:00:00','1950043002:00:00','1950092408:59:59','1950092401:59:59' ],
+        [ [1950,9,24,9,0,0],[1950,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1951,4,29,8,59,59],[1951,4,29,0,59,59],
+          '1950092409:00:00','1950092401:00:00','1951042908:59:59','1951042900:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,9,0,0],[1951,4,29,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1951,9,30,8,59,59],[1951,9,30,1,59,59],
+          '1951042909:00:00','1951042902:00:00','1951093008:59:59','1951093001:59:59' ],
+        [ [1951,9,30,9,0,0],[1951,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1952,4,27,8,59,59],[1952,4,27,0,59,59],
+          '1951093009:00:00','1951093001:00:00','1952042708:59:59','1952042700:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,9,0,0],[1952,4,27,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1952,9,28,8,59,59],[1952,9,28,1,59,59],
+          '1952042709:00:00','1952042702:00:00','1952092808:59:59','1952092801:59:59' ],
+        [ [1952,9,28,9,0,0],[1952,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1953,4,26,8,59,59],[1953,4,26,0,59,59],
+          '1952092809:00:00','1952092801:00:00','1953042608:59:59','1953042600:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,9,0,0],[1953,4,26,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1953,9,27,8,59,59],[1953,9,27,1,59,59],
+          '1953042609:00:00','1953042602:00:00','1953092708:59:59','1953092701:59:59' ],
+        [ [1953,9,27,9,0,0],[1953,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1954,4,25,8,59,59],[1954,4,25,0,59,59],
+          '1953092709:00:00','1953092701:00:00','1954042508:59:59','1954042500:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,9,0,0],[1954,4,25,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1954,9,26,8,59,59],[1954,9,26,1,59,59],
+          '1954042509:00:00','1954042502:00:00','1954092608:59:59','1954092601:59:59' ],
+        [ [1954,9,26,9,0,0],[1954,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1955,4,24,8,59,59],[1955,4,24,0,59,59],
+          '1954092609:00:00','1954092601:00:00','1955042408:59:59','1955042400:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,9,0,0],[1955,4,24,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1955,9,25,8,59,59],[1955,9,25,1,59,59],
+          '1955042409:00:00','1955042402:00:00','1955092508:59:59','1955092501:59:59' ],
+        [ [1955,9,25,9,0,0],[1955,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1956,4,29,8,59,59],[1956,4,29,0,59,59],
+          '1955092509:00:00','1955092501:00:00','1956042908:59:59','1956042900:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,9,0,0],[1956,4,29,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1956,9,30,8,59,59],[1956,9,30,1,59,59],
+          '1956042909:00:00','1956042902:00:00','1956093008:59:59','1956093001:59:59' ],
+        [ [1956,9,30,9,0,0],[1956,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1957,4,28,8,59,59],[1957,4,28,0,59,59],
+          '1956093009:00:00','1956093001:00:00','1957042808:59:59','1957042800:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,9,0,0],[1957,4,28,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1957,9,29,8,59,59],[1957,9,29,1,59,59],
+          '1957042809:00:00','1957042802:00:00','1957092908:59:59','1957092901:59:59' ],
+        [ [1957,9,29,9,0,0],[1957,9,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1958,4,27,8,59,59],[1958,4,27,0,59,59],
+          '1957092909:00:00','1957092901:00:00','1958042708:59:59','1958042700:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,9,0,0],[1958,4,27,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1958,9,28,8,59,59],[1958,9,28,1,59,59],
+          '1958042709:00:00','1958042702:00:00','1958092808:59:59','1958092801:59:59' ],
+        [ [1958,9,28,9,0,0],[1958,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1959,4,26,8,59,59],[1959,4,26,0,59,59],
+          '1958092809:00:00','1958092801:00:00','1959042608:59:59','1959042600:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,9,0,0],[1959,4,26,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1959,9,27,8,59,59],[1959,9,27,1,59,59],
+          '1959042609:00:00','1959042602:00:00','1959092708:59:59','1959092701:59:59' ],
+        [ [1959,9,27,9,0,0],[1959,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1960,4,24,8,59,59],[1960,4,24,0,59,59],
+          '1959092709:00:00','1959092701:00:00','1960042408:59:59','1960042400:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,9,0,0],[1960,4,24,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1960,9,25,8,59,59],[1960,9,25,1,59,59],
+          '1960042409:00:00','1960042402:00:00','1960092508:59:59','1960092501:59:59' ],
+        [ [1960,9,25,9,0,0],[1960,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1961,4,30,8,59,59],[1961,4,30,0,59,59],
+          '1960092509:00:00','1960092501:00:00','1961043008:59:59','1961043000:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,9,0,0],[1961,4,30,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1961,9,24,8,59,59],[1961,9,24,1,59,59],
+          '1961043009:00:00','1961043002:00:00','1961092408:59:59','1961092401:59:59' ],
+        [ [1961,9,24,9,0,0],[1961,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1962,4,29,8,59,59],[1962,4,29,0,59,59],
+          '1961092409:00:00','1961092401:00:00','1962042908:59:59','1962042900:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,9,0,0],[1962,4,29,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1962,10,28,8,59,59],[1962,10,28,1,59,59],
+          '1962042909:00:00','1962042902:00:00','1962102808:59:59','1962102801:59:59' ],
+        [ [1962,10,28,9,0,0],[1962,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1963,4,28,8,59,59],[1963,4,28,0,59,59],
+          '1962102809:00:00','1962102801:00:00','1963042808:59:59','1963042800:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,9,0,0],[1963,4,28,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1963,10,27,8,59,59],[1963,10,27,1,59,59],
+          '1963042809:00:00','1963042802:00:00','1963102708:59:59','1963102701:59:59' ],
+        [ [1963,10,27,9,0,0],[1963,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1964,4,26,8,59,59],[1964,4,26,0,59,59],
+          '1963102709:00:00','1963102701:00:00','1964042608:59:59','1964042600:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,9,0,0],[1964,4,26,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1964,10,25,8,59,59],[1964,10,25,1,59,59],
+          '1964042609:00:00','1964042602:00:00','1964102508:59:59','1964102501:59:59' ],
+        [ [1964,10,25,9,0,0],[1964,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1965,4,25,8,59,59],[1965,4,25,0,59,59],
+          '1964102509:00:00','1964102501:00:00','1965042508:59:59','1965042500:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,9,0,0],[1965,4,25,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042509:00:00','1965042502:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1966,4,24,8,59,59],[1966,4,24,0,59,59],
+          '1965103109:00:00','1965103101:00:00','1966042408:59:59','1966042400:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,9,0,0],[1966,4,24,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1966,10,30,8,59,59],[1966,10,30,1,59,59],
+          '1966042409:00:00','1966042402:00:00','1966103008:59:59','1966103001:59:59' ],
+        [ [1966,10,30,9,0,0],[1966,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1967,4,30,9,59,59],[1967,4,30,1,59,59],
+          '1966103009:00:00','1966103001:00:00','1967043009:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,10,0,0],[1967,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1967,10,29,8,59,59],[1967,10,29,1,59,59],
+          '1967043010:00:00','1967043003:00:00','1967102908:59:59','1967102901:59:59' ],
+        [ [1967,10,29,9,0,0],[1967,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1968,4,28,9,59,59],[1968,4,28,1,59,59],
+          '1967102909:00:00','1967102901:00:00','1968042809:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,10,0,0],[1968,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1968,10,27,8,59,59],[1968,10,27,1,59,59],
+          '1968042810:00:00','1968042803:00:00','1968102708:59:59','1968102701:59:59' ],
+        [ [1968,10,27,9,0,0],[1968,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1968102709:00:00','1968102701:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,1,6,9,59,59],[1974,1,6,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974010609:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,10,0,0],[1974,1,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974010610:00:00','1974010603:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,2,23,9,59,59],[1975,2,23,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975022309:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,10,0,0],[1975,2,23,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975022310:00:00','1975022303:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,3,11,9,59,59],[2007,3,11,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007031109:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,10,0,0],[2007,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,11,4,8,59,59],[2007,11,4,1,59,59],
+          '2007031110:00:00','2007031103:00:00','2007110408:59:59','2007110401:59:59' ],
+        [ [2007,11,4,9,0,0],[2007,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,3,9,9,59,59],[2008,3,9,1,59,59],
+          '2007110409:00:00','2007110401:00:00','2008030909:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,10,0,0],[2008,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,11,2,8,59,59],[2008,11,2,1,59,59],
+          '2008030910:00:00','2008030903:00:00','2008110208:59:59','2008110201:59:59' ],
+        [ [2008,11,2,9,0,0],[2008,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,3,8,9,59,59],[2009,3,8,1,59,59],
+          '2008110209:00:00','2008110201:00:00','2009030809:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,10,0,0],[2009,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,11,1,8,59,59],[2009,11,1,1,59,59],
+          '2009030810:00:00','2009030803:00:00','2009110108:59:59','2009110101:59:59' ],
+        [ [2009,11,1,9,0,0],[2009,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009110109:00:00','2009110101:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2015,11,1,8,59,59],[2015,11,1,1,59,59],
+          '2015030810:00:00','2015030803:00:00','2015110108:59:59','2015110101:59:59' ],
+        [ [2015,11,1,9,0,0],[2015,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2016,3,13,9,59,59],[2016,3,13,1,59,59],
+          '2015110109:00:00','2015110101:00:00','2016031309:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,10,0,0],[2016,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2016,11,6,8,59,59],[2016,11,6,1,59,59],
+          '2016031310:00:00','2016031303:00:00','2016110608:59:59','2016110601:59:59' ],
+        [ [2016,11,6,9,0,0],[2016,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2017,3,12,9,59,59],[2017,3,12,1,59,59],
+          '2016110609:00:00','2016110601:00:00','2017031209:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,10,0,0],[2017,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2017,11,5,8,59,59],[2017,11,5,1,59,59],
+          '2017031210:00:00','2017031203:00:00','2017110508:59:59','2017110501:59:59' ],
+        [ [2017,11,5,9,0,0],[2017,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2018,3,11,9,59,59],[2018,3,11,1,59,59],
+          '2017110509:00:00','2017110501:00:00','2018031109:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,10,0,0],[2018,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2018,11,4,8,59,59],[2018,11,4,1,59,59],
+          '2018031110:00:00','2018031103:00:00','2018110408:59:59','2018110401:59:59' ],
+        [ [2018,11,4,9,0,0],[2018,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2019,3,10,9,59,59],[2019,3,10,1,59,59],
+          '2018110409:00:00','2018110401:00:00','2019031009:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,10,0,0],[2019,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2019,11,3,8,59,59],[2019,11,3,1,59,59],
+          '2019031010:00:00','2019031003:00:00','2019110308:59:59','2019110301:59:59' ],
+        [ [2019,11,3,9,0,0],[2019,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2020,3,8,9,59,59],[2020,3,8,1,59,59],
+          '2019110309:00:00','2019110301:00:00','2020030809:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,10,0,0],[2020,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2020,11,1,8,59,59],[2020,11,1,1,59,59],
+          '2020030810:00:00','2020030803:00:00','2020110108:59:59','2020110101:59:59' ],
+        [ [2020,11,1,9,0,0],[2020,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2021,3,14,9,59,59],[2021,3,14,1,59,59],
+          '2020110109:00:00','2020110101:00:00','2021031409:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,10,0,0],[2021,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2021,11,7,8,59,59],[2021,11,7,1,59,59],
+          '2021031410:00:00','2021031403:00:00','2021110708:59:59','2021110701:59:59' ],
+        [ [2021,11,7,9,0,0],[2021,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2022,3,13,9,59,59],[2022,3,13,1,59,59],
+          '2021110709:00:00','2021110701:00:00','2022031309:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,10,0,0],[2022,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2022,11,6,8,59,59],[2022,11,6,1,59,59],
+          '2022031310:00:00','2022031303:00:00','2022110608:59:59','2022110601:59:59' ],
+        [ [2022,11,6,9,0,0],[2022,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2023,3,12,9,59,59],[2023,3,12,1,59,59],
+          '2022110609:00:00','2022110601:00:00','2023031209:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,10,0,0],[2023,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2023,11,5,8,59,59],[2023,11,5,1,59,59],
+          '2023031210:00:00','2023031203:00:00','2023110508:59:59','2023110501:59:59' ],
+        [ [2023,11,5,9,0,0],[2023,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2024,3,10,9,59,59],[2024,3,10,1,59,59],
+          '2023110509:00:00','2023110501:00:00','2024031009:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,10,0,0],[2024,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2024,11,3,8,59,59],[2024,11,3,1,59,59],
+          '2024031010:00:00','2024031003:00:00','2024110308:59:59','2024110301:59:59' ],
+        [ [2024,11,3,9,0,0],[2024,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2025,3,9,9,59,59],[2025,3,9,1,59,59],
+          '2024110309:00:00','2024110301:00:00','2025030909:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,10,0,0],[2025,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2025,11,2,8,59,59],[2025,11,2,1,59,59],
+          '2025030910:00:00','2025030903:00:00','2025110208:59:59','2025110201:59:59' ],
+        [ [2025,11,2,9,0,0],[2025,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2026,3,8,9,59,59],[2026,3,8,1,59,59],
+          '2025110209:00:00','2025110201:00:00','2026030809:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,10,0,0],[2026,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2026,11,1,8,59,59],[2026,11,1,1,59,59],
+          '2026030810:00:00','2026030803:00:00','2026110108:59:59','2026110101:59:59' ],
+        [ [2026,11,1,9,0,0],[2026,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2027,3,14,9,59,59],[2027,3,14,1,59,59],
+          '2026110109:00:00','2026110101:00:00','2027031409:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,10,0,0],[2027,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2027,11,7,8,59,59],[2027,11,7,1,59,59],
+          '2027031410:00:00','2027031403:00:00','2027110708:59:59','2027110701:59:59' ],
+        [ [2027,11,7,9,0,0],[2027,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2028,3,12,9,59,59],[2028,3,12,1,59,59],
+          '2027110709:00:00','2027110701:00:00','2028031209:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,10,0,0],[2028,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2028,11,5,8,59,59],[2028,11,5,1,59,59],
+          '2028031210:00:00','2028031203:00:00','2028110508:59:59','2028110501:59:59' ],
+        [ [2028,11,5,9,0,0],[2028,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2029,3,11,9,59,59],[2029,3,11,1,59,59],
+          '2028110509:00:00','2028110501:00:00','2029031109:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,10,0,0],[2029,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2029,11,4,8,59,59],[2029,11,4,1,59,59],
+          '2029031110:00:00','2029031103:00:00','2029110408:59:59','2029110401:59:59' ],
+        [ [2029,11,4,9,0,0],[2029,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2030,3,10,9,59,59],[2030,3,10,1,59,59],
+          '2029110409:00:00','2029110401:00:00','2030031009:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,10,0,0],[2030,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2030,11,3,8,59,59],[2030,11,3,1,59,59],
+          '2030031010:00:00','2030031003:00:00','2030110308:59:59','2030110301:59:59' ],
+        [ [2030,11,3,9,0,0],[2030,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2031,3,9,9,59,59],[2031,3,9,1,59,59],
+          '2030110309:00:00','2030110301:00:00','2031030909:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,10,0,0],[2031,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2031,11,2,8,59,59],[2031,11,2,1,59,59],
+          '2031030910:00:00','2031030903:00:00','2031110208:59:59','2031110201:59:59' ],
+        [ [2031,11,2,9,0,0],[2031,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2032,3,14,9,59,59],[2032,3,14,1,59,59],
+          '2031110209:00:00','2031110201:00:00','2032031409:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,10,0,0],[2032,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2032,11,7,8,59,59],[2032,11,7,1,59,59],
+          '2032031410:00:00','2032031403:00:00','2032110708:59:59','2032110701:59:59' ],
+        [ [2032,11,7,9,0,0],[2032,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2033,3,13,9,59,59],[2033,3,13,1,59,59],
+          '2032110709:00:00','2032110701:00:00','2033031309:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,10,0,0],[2033,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2033,11,6,8,59,59],[2033,11,6,1,59,59],
+          '2033031310:00:00','2033031303:00:00','2033110608:59:59','2033110601:59:59' ],
+        [ [2033,11,6,9,0,0],[2033,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2034,3,12,9,59,59],[2034,3,12,1,59,59],
+          '2033110609:00:00','2033110601:00:00','2034031209:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,10,0,0],[2034,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2034,11,5,8,59,59],[2034,11,5,1,59,59],
+          '2034031210:00:00','2034031203:00:00','2034110508:59:59','2034110501:59:59' ],
+        [ [2034,11,5,9,0,0],[2034,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2035,3,11,9,59,59],[2035,3,11,1,59,59],
+          '2034110509:00:00','2034110501:00:00','2035031109:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,10,0,0],[2035,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2035,11,4,8,59,59],[2035,11,4,1,59,59],
+          '2035031110:00:00','2035031103:00:00','2035110408:59:59','2035110401:59:59' ],
+        [ [2035,11,4,9,0,0],[2035,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2036,3,9,9,59,59],[2036,3,9,1,59,59],
+          '2035110409:00:00','2035110401:00:00','2036030909:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,10,0,0],[2036,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2036,11,2,8,59,59],[2036,11,2,1,59,59],
+          '2036030910:00:00','2036030903:00:00','2036110208:59:59','2036110201:59:59' ],
+        [ [2036,11,2,9,0,0],[2036,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2037,3,8,9,59,59],[2037,3,8,1,59,59],
+          '2036110209:00:00','2036110201:00:00','2037030809:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,10,0,0],[2037,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2037,11,1,8,59,59],[2037,11,1,1,59,59],
+          '2037030810:00:00','2037030803:00:00','2037110108:59:59','2037110101:59:59' ],
+        [ [2037,11,1,9,0,0],[2037,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2038,3,14,9,59,59],[2038,3,14,1,59,59],
+          '2037110109:00:00','2037110101:00:00','2038031409:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,10,0,0],[2038,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2038,11,7,8,59,59],[2038,11,7,1,59,59],
+          '2038031410:00:00','2038031403:00:00','2038110708:59:59','2038110701:59:59' ],
+        [ [2038,11,7,9,0,0],[2038,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2039,3,13,9,59,59],[2039,3,13,1,59,59],
+          '2038110709:00:00','2038110701:00:00','2039031309:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,10,0,0],[2039,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2039,11,6,8,59,59],[2039,11,6,1,59,59],
+          '2039031310:00:00','2039031303:00:00','2039110608:59:59','2039110601:59:59' ],
+        [ [2039,11,6,9,0,0],[2039,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2040,3,11,9,59,59],[2040,3,11,1,59,59],
+          '2039110609:00:00','2039110601:00:00','2040031109:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,10,0,0],[2040,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2040,11,4,8,59,59],[2040,11,4,1,59,59],
+          '2040031110:00:00','2040031103:00:00','2040110408:59:59','2040110401:59:59' ],
+        [ [2040,11,4,9,0,0],[2040,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2041,3,10,9,59,59],[2041,3,10,1,59,59],
+          '2040110409:00:00','2040110401:00:00','2041031009:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,10,0,0],[2041,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2041,11,3,8,59,59],[2041,11,3,1,59,59],
+          '2041031010:00:00','2041031003:00:00','2041110308:59:59','2041110301:59:59' ],
+        [ [2041,11,3,9,0,0],[2041,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2042,3,9,9,59,59],[2042,3,9,1,59,59],
+          '2041110309:00:00','2041110301:00:00','2042030909:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,10,0,0],[2042,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2042,11,2,8,59,59],[2042,11,2,1,59,59],
+          '2042030910:00:00','2042030903:00:00','2042110208:59:59','2042110201:59:59' ],
+        [ [2042,11,2,9,0,0],[2042,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2043,3,8,9,59,59],[2043,3,8,1,59,59],
+          '2042110209:00:00','2042110201:00:00','2043030809:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,10,0,0],[2043,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2043,11,1,8,59,59],[2043,11,1,1,59,59],
+          '2043030810:00:00','2043030803:00:00','2043110108:59:59','2043110101:59:59' ],
+        [ [2043,11,1,9,0,0],[2043,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2044,3,13,9,59,59],[2044,3,13,1,59,59],
+          '2043110109:00:00','2043110101:00:00','2044031309:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,10,0,0],[2044,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2044,11,6,8,59,59],[2044,11,6,1,59,59],
+          '2044031310:00:00','2044031303:00:00','2044110608:59:59','2044110601:59:59' ],
+        [ [2044,11,6,9,0,0],[2044,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2045,3,12,9,59,59],[2045,3,12,1,59,59],
+          '2044110609:00:00','2044110601:00:00','2045031209:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,10,0,0],[2045,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2045,11,5,8,59,59],[2045,11,5,1,59,59],
+          '2045031210:00:00','2045031203:00:00','2045110508:59:59','2045110501:59:59' ],
+        [ [2045,11,5,9,0,0],[2045,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2046,3,11,9,59,59],[2046,3,11,1,59,59],
+          '2045110509:00:00','2045110501:00:00','2046031109:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,10,0,0],[2046,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2046,11,4,8,59,59],[2046,11,4,1,59,59],
+          '2046031110:00:00','2046031103:00:00','2046110408:59:59','2046110401:59:59' ],
+        [ [2046,11,4,9,0,0],[2046,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2047,3,10,9,59,59],[2047,3,10,1,59,59],
+          '2046110409:00:00','2046110401:00:00','2047031009:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,10,0,0],[2047,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2047,11,3,8,59,59],[2047,11,3,1,59,59],
+          '2047031010:00:00','2047031003:00:00','2047110308:59:59','2047110301:59:59' ],
+        [ [2047,11,3,9,0,0],[2047,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2048,3,8,9,59,59],[2048,3,8,1,59,59],
+          '2047110309:00:00','2047110301:00:00','2048030809:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,10,0,0],[2048,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2048,11,1,8,59,59],[2048,11,1,1,59,59],
+          '2048030810:00:00','2048030803:00:00','2048110108:59:59','2048110101:59:59' ],
+        [ [2048,11,1,9,0,0],[2048,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2049,3,14,9,59,59],[2049,3,14,1,59,59],
+          '2048110109:00:00','2048110101:00:00','2049031409:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,10,0,0],[2049,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2049,11,7,8,59,59],[2049,11,7,1,59,59],
+          '2049031410:00:00','2049031403:00:00','2049110708:59:59','2049110701:59:59' ],
+        [ [2049,11,7,9,0,0],[2049,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2050,3,13,9,59,59],[2050,3,13,1,59,59],
+          '2049110709:00:00','2049110701:00:00','2050031309:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,10,0,0],[2050,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2050,11,6,8,59,59],[2050,11,6,1,59,59],
+          '2050031310:00:00','2050031303:00:00','2050110608:59:59','2050110601:59:59' ],
+        [ [2050,11,6,9,0,0],[2050,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2051,3,12,9,59,59],[2051,3,12,1,59,59],
+          '2050110609:00:00','2050110601:00:00','2051031209:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,10,0,0],[2051,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2051,11,5,8,59,59],[2051,11,5,1,59,59],
+          '2051031210:00:00','2051031203:00:00','2051110508:59:59','2051110501:59:59' ],
+        [ [2051,11,5,9,0,0],[2051,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2052,3,10,9,59,59],[2052,3,10,1,59,59],
+          '2051110509:00:00','2051110501:00:00','2052031009:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,10,0,0],[2052,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2052,11,3,8,59,59],[2052,11,3,1,59,59],
+          '2052031010:00:00','2052031003:00:00','2052110308:59:59','2052110301:59:59' ],
+        [ [2052,11,3,9,0,0],[2052,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2053,3,9,9,59,59],[2053,3,9,1,59,59],
+          '2052110309:00:00','2052110301:00:00','2053030909:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,10,0,0],[2053,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2053,11,2,8,59,59],[2053,11,2,1,59,59],
+          '2053030910:00:00','2053030903:00:00','2053110208:59:59','2053110201:59:59' ],
+        [ [2053,11,2,9,0,0],[2053,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2054,3,8,9,59,59],[2054,3,8,1,59,59],
+          '2053110209:00:00','2053110201:00:00','2054030809:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,10,0,0],[2054,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2054,11,1,8,59,59],[2054,11,1,1,59,59],
+          '2054030810:00:00','2054030803:00:00','2054110108:59:59','2054110101:59:59' ],
+        [ [2054,11,1,9,0,0],[2054,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2055,3,14,9,59,59],[2055,3,14,1,59,59],
+          '2054110109:00:00','2054110101:00:00','2055031409:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,10,0,0],[2055,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2055,11,7,8,59,59],[2055,11,7,1,59,59],
+          '2055031410:00:00','2055031403:00:00','2055110708:59:59','2055110701:59:59' ],
+        [ [2055,11,7,9,0,0],[2055,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2056,3,12,9,59,59],[2056,3,12,1,59,59],
+          '2055110709:00:00','2055110701:00:00','2056031209:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,10,0,0],[2056,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2056,11,5,8,59,59],[2056,11,5,1,59,59],
+          '2056031210:00:00','2056031203:00:00','2056110508:59:59','2056110501:59:59' ],
+        [ [2056,11,5,9,0,0],[2056,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2057,3,11,9,59,59],[2057,3,11,1,59,59],
+          '2056110509:00:00','2056110501:00:00','2057031109:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,10,0,0],[2057,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2057,11,4,8,59,59],[2057,11,4,1,59,59],
+          '2057031110:00:00','2057031103:00:00','2057110408:59:59','2057110401:59:59' ],
+        [ [2057,11,4,9,0,0],[2057,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2058,3,10,9,59,59],[2058,3,10,1,59,59],
+          '2057110409:00:00','2057110401:00:00','2058031009:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,10,0,0],[2058,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2058,11,3,8,59,59],[2058,11,3,1,59,59],
+          '2058031010:00:00','2058031003:00:00','2058110308:59:59','2058110301:59:59' ],
+        [ [2058,11,3,9,0,0],[2058,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2059,3,9,9,59,59],[2059,3,9,1,59,59],
+          '2058110309:00:00','2058110301:00:00','2059030909:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,10,0,0],[2059,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2059,11,2,8,59,59],[2059,11,2,1,59,59],
+          '2059030910:00:00','2059030903:00:00','2059110208:59:59','2059110201:59:59' ],
+        [ [2059,11,2,9,0,0],[2059,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2060,3,14,9,59,59],[2060,3,14,1,59,59],
+          '2059110209:00:00','2059110201:00:00','2060031409:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,10,0,0],[2060,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2060,11,7,8,59,59],[2060,11,7,1,59,59],
+          '2060031410:00:00','2060031403:00:00','2060110708:59:59','2060110701:59:59' ],
+        [ [2060,11,7,9,0,0],[2060,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2061,3,13,9,59,59],[2061,3,13,1,59,59],
+          '2060110709:00:00','2060110701:00:00','2061031309:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,10,0,0],[2061,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2061,11,6,8,59,59],[2061,11,6,1,59,59],
+          '2061031310:00:00','2061031303:00:00','2061110608:59:59','2061110601:59:59' ],
+        [ [2061,11,6,9,0,0],[2061,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2062,3,12,9,59,59],[2062,3,12,1,59,59],
+          '2061110609:00:00','2061110601:00:00','2062031209:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,10,0,0],[2062,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2062,11,5,8,59,59],[2062,11,5,1,59,59],
+          '2062031210:00:00','2062031203:00:00','2062110508:59:59','2062110501:59:59' ],
+        [ [2062,11,5,9,0,0],[2062,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2063,3,11,9,59,59],[2063,3,11,1,59,59],
+          '2062110509:00:00','2062110501:00:00','2063031109:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,10,0,0],[2063,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2063,11,4,8,59,59],[2063,11,4,1,59,59],
+          '2063031110:00:00','2063031103:00:00','2063110408:59:59','2063110401:59:59' ],
+        [ [2063,11,4,9,0,0],[2063,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2064,3,9,9,59,59],[2064,3,9,1,59,59],
+          '2063110409:00:00','2063110401:00:00','2064030909:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,10,0,0],[2064,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2064,11,2,8,59,59],[2064,11,2,1,59,59],
+          '2064030910:00:00','2064030903:00:00','2064110208:59:59','2064110201:59:59' ],
+        [ [2064,11,2,9,0,0],[2064,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2065,3,8,9,59,59],[2065,3,8,1,59,59],
+          '2064110209:00:00','2064110201:00:00','2065030809:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,10,0,0],[2065,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2065,11,1,8,59,59],[2065,11,1,1,59,59],
+          '2065030810:00:00','2065030803:00:00','2065110108:59:59','2065110101:59:59' ],
+        [ [2065,11,1,9,0,0],[2065,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2066,3,14,9,59,59],[2066,3,14,1,59,59],
+          '2065110109:00:00','2065110101:00:00','2066031409:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,10,0,0],[2066,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2066,11,7,8,59,59],[2066,11,7,1,59,59],
+          '2066031410:00:00','2066031403:00:00','2066110708:59:59','2066110701:59:59' ],
+        [ [2066,11,7,9,0,0],[2066,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2067,3,13,9,59,59],[2067,3,13,1,59,59],
+          '2066110709:00:00','2066110701:00:00','2067031309:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,10,0,0],[2067,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2067,11,6,8,59,59],[2067,11,6,1,59,59],
+          '2067031310:00:00','2067031303:00:00','2067110608:59:59','2067110601:59:59' ],
+        [ [2067,11,6,9,0,0],[2067,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2068,3,11,9,59,59],[2068,3,11,1,59,59],
+          '2067110609:00:00','2067110601:00:00','2068031109:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-07:00:00',
+                'stdoff' => '-08:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'PDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'PST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amloui00.pm b/lib/Date/Manip/TZ/amloui00.pm
new file mode 100644
index 0000000..23f90a8
--- /dev/null
+++ b/lib/Date/Manip/TZ/amloui00.pm
@@ -0,0 +1,1144 @@
+package #
+Date::Manip::TZ::amloui00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,16,58],'-05:43:02',[-5,-43,-2],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,16,57],
+          '0001010200:00:00','0001010118:16:58','1883111817:59:59','1883111812:16:57' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1921,5,1,7,59,59],[1921,5,1,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1921050107:59:59','1921050101:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,5,1,8,0,0],[1921,5,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1921,9,1,6,59,59],[1921,9,1,1,59,59],
+          '1921050108:00:00','1921050103:00:00','1921090106:59:59','1921090101:59:59' ],
+        [ [1921,9,1,7,0,0],[1921,9,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1941,4,27,7,59,59],[1941,4,27,1,59,59],
+          '1921090107:00:00','1921090101:00:00','1941042707:59:59','1941042701:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,27,8,0,0],[1941,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1941,9,28,6,59,59],[1941,9,28,1,59,59],
+          '1941042708:00:00','1941042703:00:00','1941092806:59:59','1941092801:59:59' ],
+        [ [1941,9,28,7,0,0],[1941,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1941092807:00:00','1941092801:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,1,1,5,59,59],[1945,12,31,23,59,59],
+          '1945093007:00:00','1945093001:00:00','1946010105:59:59','1945123123:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,1,1,6,0,0],[1946,1,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,6,2,6,59,59],[1946,6,2,1,59,59],
+          '1946010106:00:00','1946010101:00:00','1946060206:59:59','1946060201:59:59' ],
+        [ [1946,6,2,7,0,0],[1946,6,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1946060207:00:00','1946060201:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,24,6,59,59],[1950,9,24,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1950092406:59:59','1950092401:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,9,24,7,0,0],[1950,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950092407:00:00','1950092401:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,10,28,6,59,59],[1956,10,28,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956102806:59:59','1956102801:59:59' ],
+        [ [1956,10,28,7,0,0],[1956,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956102807:00:00','1956102801:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,10,27,6,59,59],[1957,10,27,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957102706:59:59','1957102701:59:59' ],
+        [ [1957,10,27,7,0,0],[1957,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957102707:00:00','1957102701:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,10,26,6,59,59],[1958,10,26,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958102606:59:59','1958102601:59:59' ],
+        [ [1958,10,26,7,0,0],[1958,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958102607:00:00','1958102601:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,10,25,6,59,59],[1959,10,25,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959102506:59:59','1959102501:59:59' ],
+        [ [1959,10,25,7,0,0],[1959,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959102507:00:00','1959102501:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,10,30,6,59,59],[1960,10,30,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960103006:59:59','1960103001:59:59' ],
+        [ [1960,10,30,7,0,0],[1960,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960103007:00:00','1960103001:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,7,23,6,59,59],[1961,7,23,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961072306:59:59','1961072301:59:59' ],
+        [ [1961,7,23,7,0,0],[1961,7,23,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1968,4,28,6,59,59],[1968,4,28,1,59,59],
+          '1961072307:00:00','1961072302:00:00','1968042806:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,7,0,0],[1968,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1968,10,27,5,59,59],[1968,10,27,1,59,59],
+          '1968042807:00:00','1968042803:00:00','1968102705:59:59','1968102701:59:59' ],
+        [ [1968,10,27,6,0,0],[1968,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1968102706:00:00','1968102701:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,1,6,6,59,59],[1974,1,6,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974010606:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,7,0,0],[1974,1,6,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010607:00:00','1974010602:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,2,23,6,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102702:00:00','1975022306:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,7,0,0],[1975,2,23,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975022307:00:00','1975022303:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammace00.pm b/lib/Date/Manip/TZ/ammace00.pm
new file mode 100644
index 0000000..95c1c9d
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammace00.pm
@@ -0,0 +1,247 @@
+package #
+Date::Manip::TZ::ammace00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,37,8],'-02:22:52',[-2,-22,-52],
+          'LMT',0,[1914,1,1,2,22,51],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010121:37:08','1914010102:22:51','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,2,22,52],[1913,12,31,23,22,52],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010102:22:52','1913123123:22:52','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,10,15,2,59,59],[1995,10,14,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1995101502:59:59','1995101423:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,10,15,3,0,0],[1995,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,2,11,1,59,59],[1996,2,10,23,59,59],
+          '1995101503:00:00','1995101501:00:00','1996021101:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,2,0,0],[1996,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1996021102:00:00','1996021023:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,10,22,1,59,59],[2000,10,21,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2000102201:59:59','2000102123:59:59' ],
+        [ [2000,10,22,2,0,0],[2000,10,21,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2000102202:00:00','2000102123:00:00','2001101402:59:59','2001101323:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2002021702:00:00','2002021623:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammana00.pm b/lib/Date/Manip/TZ/ammana00.pm
new file mode 100644
index 0000000..181c87a
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammana00.pm
@@ -0,0 +1,124 @@
+package #
+Date::Manip::TZ::ammana00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,14,52],'-05:45:08',[-5,-45,-8],
+          'LMT',0,[1890,1,1,5,45,7],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:14:52','1890010105:45:07','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,45,8],[1889,12,31,23,59,56],'-05:45:12',[-5,-45,-12],
+          'MMT',0,[1934,6,23,5,45,11],[1934,6,22,23,59,59],
+          '1890010105:45:08','1889123123:59:56','1934062305:45:11','1934062223:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,6,23,5,45,12],[1934,6,22,23,45,12],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,5,1,5,59,59],[1973,4,30,23,59,59],
+          '1934062305:45:12','1934062223:45:12','1973050105:59:59','1973043023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,5,1,6,0,0],[1973,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,2,16,4,59,59],[1975,2,15,23,59,59],
+          '1973050106:00:00','1973050101:00:00','1975021604:59:59','1975021523:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,16,5,0,0],[1975,2,15,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,3,18,5,59,59],[1979,3,17,23,59,59],
+          '1975021605:00:00','1975021523:00:00','1979031805:59:59','1979031723:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,18,6,0,0],[1979,3,18,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,6,25,4,59,59],[1979,6,24,23,59,59],
+          '1979031806:00:00','1979031801:00:00','1979062504:59:59','1979062423:59:59' ],
+        [ [1979,6,25,5,0,0],[1979,6,24,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,3,16,5,59,59],[1980,3,15,23,59,59],
+          '1979062505:00:00','1979062423:00:00','1980031605:59:59','1980031523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,16,6,0,0],[1980,3,16,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,6,23,4,59,59],[1980,6,22,23,59,59],
+          '1980031606:00:00','1980031601:00:00','1980062304:59:59','1980062223:59:59' ],
+        [ [1980,6,23,5,0,0],[1980,6,22,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,1,1,9,59,59],[1992,1,1,3,59,59],
+          '1980062305:00:00','1980062223:00:00','1992010109:59:59','1992010103:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,1,10,0,0],[1992,1,1,5,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,9,24,4,59,59],[1992,9,23,23,59,59],
+          '1992010110:00:00','1992010105:00:00','1992092404:59:59','1992092323:59:59' ],
+        [ [1992,9,24,5,0,0],[1992,9,23,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,1,1,5,59,59],[1992,12,31,23,59,59],
+          '1992092405:00:00','1992092323:00:00','1993010105:59:59','1992123123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,1,6,0,0],[1993,1,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,1,1,4,59,59],[1996,12,31,23,59,59],
+          '1993010106:00:00','1993010101:00:00','1997010104:59:59','1996123123:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,1,1,5,0,0],[1996,12,31,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,10,5,59,59],[2005,4,9,23,59,59],
+          '1997010105:00:00','1996123123:00:00','2005041005:59:59','2005040923:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,10,6,0,0],[2005,4,10,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,2,4,59,59],[2005,10,1,23,59,59],
+          '2005041006:00:00','2005041001:00:00','2005100204:59:59','2005100123:59:59' ],
+        [ [2005,10,2,5,0,0],[2005,10,1,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,30,7,59,59],[2006,4,30,1,59,59],
+          '2005100205:00:00','2005100123:00:00','2006043007:59:59','2006043001:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,30,8,0,0],[2006,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,1,5,59,59],[2006,10,1,0,59,59],
+          '2006043008:00:00','2006043003:00:00','2006100105:59:59','2006100100:59:59' ],
+        [ [2006,10,1,6,0,0],[2006,10,1,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '2006100106:00:00','2006100100:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammana01.pm b/lib/Date/Manip/TZ/ammana01.pm
new file mode 100644
index 0000000..8abbbe7
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammana01.pm
@@ -0,0 +1,199 @@
+package #
+Date::Manip::TZ::ammana01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,59,56],'-04:00:04',[-4,0,-4],
+          'LMT',0,[1914,1,1,4,0,3],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010119:59:56','1914010104:00:03','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,4,0,4],[1914,1,1,0,0,4],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010104:00:04','1914010100:00:04','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,17,3,59,59],[1993,10,16,23,59,59],
+          '1988020703:00:00','1988020623:00:00','1993101703:59:59','1993101623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,10,17,4,0,0],[1993,10,17,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,2,20,2,59,59],[1994,2,19,23,59,59],
+          '1993101704:00:00','1993101701:00:00','1994022002:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,3,0,0],[1994,2,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1994022003:00:00','1994021923:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammare00.pm b/lib/Date/Manip/TZ/ammare00.pm
new file mode 100644
index 0000000..ac8a91d
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammare00.pm
@@ -0,0 +1,805 @@
+package #
+Date::Manip::TZ::ammare00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,14,37],'-05:45:23',[-5,-45,-23],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,14,36],
+          '0001010200:00:00','0001010118:14:37','1883111817:59:59','1883111812:14:36' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,9,30,6,59,59],[1956,9,30,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956093006:59:59','1956093001:59:59' ],
+        [ [1956,9,30,7,0,0],[1956,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956093007:00:00','1956093001:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,9,27,6,59,59],[1959,9,27,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959092706:59:59','1959092701:59:59' ],
+        [ [1959,9,27,7,0,0],[1959,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959092707:00:00','1959092701:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,9,25,6,59,59],[1960,9,25,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960092506:59:59','1960092501:59:59' ],
+        [ [1960,9,25,7,0,0],[1960,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960092507:00:00','1960092501:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,1,6,6,59,59],[1974,1,6,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974010606:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,7,0,0],[1974,1,6,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010607:00:00','1974010602:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,2,23,6,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102702:00:00','1975022306:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,7,0,0],[1975,2,23,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975022307:00:00','1975022303:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1975102606:00:00','1975102601:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammart00.pm b/lib/Date/Manip/TZ/ammart00.pm
new file mode 100644
index 0000000..483f755
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammart00.pm
@@ -0,0 +1,64 @@
+package #
+Date::Manip::TZ::ammart00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,55,40],'-04:04:20',[-4,-4,-20],
+          'LMT',0,[1890,1,1,4,4,19],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:55:40','1890010104:04:19','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,4,20],[1890,1,1,0,0,0],'-04:04:20',[-4,-4,-20],
+          'FFMT',0,[1911,5,1,4,4,19],[1911,4,30,23,59,59],
+          '1890010104:04:20','1890010100:00:00','1911050104:04:19','1911043023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,5,1,4,4,20],[1911,5,1,0,4,20],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,6,3,59,59],[1980,4,5,23,59,59],
+          '1911050104:04:20','1911050100:04:20','1980040603:59:59','1980040523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,4,0,0],[1980,4,6,1,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,9,28,2,59,59],[1980,9,27,23,59,59],
+          '1980040604:00:00','1980040601:00:00','1980092802:59:59','1980092723:59:59' ],
+        [ [1980,9,28,3,0,0],[1980,9,27,23,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1980092803:00:00','1980092723:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammata00.pm b/lib/Date/Manip/TZ/ammata00.pm
new file mode 100644
index 0000000..dafd5c1
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammata00.pm
@@ -0,0 +1,730 @@
+package #
+Date::Manip::TZ::ammata00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,20,0],'-06:40:00',[-6,-40,0],
+          'LMT',0,[1922,1,1,5,59,59],[1921,12,31,23,19,59],
+          '0001010200:00:00','0001010117:20:00','1922010105:59:59','1921123123:19:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,6,0,0],[1922,1,1,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1922010106:00:00','1922010100:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,5,6,7,59,59],[2001,5,6,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001050607:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,8,0,0],[2001,5,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,9,30,6,59,59],[2001,9,30,1,59,59],
+          '2001050608:00:00','2001050603:00:00','2001093006:59:59','2001093001:59:59' ],
+        [ [2001,9,30,7,0,0],[2001,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001093007:00:00','2001093001:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,4,1,7,59,59],[2007,4,1,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007040107:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,8,0,0],[2007,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,10,28,6,59,59],[2007,10,28,1,59,59],
+          '2007040108:00:00','2007040103:00:00','2007102806:59:59','2007102801:59:59' ],
+        [ [2007,10,28,7,0,0],[2007,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,4,6,7,59,59],[2008,4,6,1,59,59],
+          '2007102807:00:00','2007102801:00:00','2008040607:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,8,0,0],[2008,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,10,26,6,59,59],[2008,10,26,1,59,59],
+          '2008040608:00:00','2008040603:00:00','2008102606:59:59','2008102601:59:59' ],
+        [ [2008,10,26,7,0,0],[2008,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,4,5,7,59,59],[2009,4,5,1,59,59],
+          '2008102607:00:00','2008102601:00:00','2009040507:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,8,0,0],[2009,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,10,25,6,59,59],[2009,10,25,1,59,59],
+          '2009040508:00:00','2009040503:00:00','2009102506:59:59','2009102501:59:59' ],
+        [ [2009,10,25,7,0,0],[2009,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009102507:00:00','2009102501:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammaza00.pm b/lib/Date/Manip/TZ/ammaza00.pm
new file mode 100644
index 0000000..9ff2844
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammaza00.pm
@@ -0,0 +1,766 @@
+package #
+Date::Manip::TZ::ammaza00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,54,20],'-07:05:40',[-7,-5,-40],
+          'LMT',0,[1922,1,1,6,59,59],[1921,12,31,23,54,19],
+          '0001010200:00:00','0001010116:54:20','1922010106:59:59','1921123123:54:19' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,4,24,5,59,59],[1942,4,23,23,59,59],
+          '1932040107:00:00','1932040101:00:00','1942042405:59:59','1942042323:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,24,6,0,0],[1942,4,23,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1949,1,14,6,59,59],[1949,1,13,23,59,59],
+          '1942042406:00:00','1942042323:00:00','1949011406:59:59','1949011323:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,1,14,7,0,0],[1949,1,13,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,1,1,7,59,59],[1969,12,31,23,59,59],
+          '1949011407:00:00','1949011323:00:00','1970010107:59:59','1969123123:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,1,1,8,0,0],[1970,1,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1970010108:00:00','1970010101:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,5,6,8,59,59],[2001,5,6,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001050608:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,9,0,0],[2001,5,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,9,30,7,59,59],[2001,9,30,1,59,59],
+          '2001050609:00:00','2001050603:00:00','2001093007:59:59','2001093001:59:59' ],
+        [ [2001,9,30,8,0,0],[2001,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001093008:00:00','2001093001:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,4,1,8,59,59],[2007,4,1,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007040108:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,9,0,0],[2007,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,10,28,7,59,59],[2007,10,28,1,59,59],
+          '2007040109:00:00','2007040103:00:00','2007102807:59:59','2007102801:59:59' ],
+        [ [2007,10,28,8,0,0],[2007,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,4,6,8,59,59],[2008,4,6,1,59,59],
+          '2007102808:00:00','2007102801:00:00','2008040608:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,9,0,0],[2008,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,10,26,7,59,59],[2008,10,26,1,59,59],
+          '2008040609:00:00','2008040603:00:00','2008102607:59:59','2008102601:59:59' ],
+        [ [2008,10,26,8,0,0],[2008,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,4,5,8,59,59],[2009,4,5,1,59,59],
+          '2008102608:00:00','2008102601:00:00','2009040508:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,9,0,0],[2009,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,10,25,7,59,59],[2009,10,25,1,59,59],
+          '2009040509:00:00','2009040503:00:00','2009102507:59:59','2009102501:59:59' ],
+        [ [2009,10,25,8,0,0],[2009,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,4,4,8,59,59],[2010,4,4,1,59,59],
+          '2009102508:00:00','2009102501:00:00','2010040408:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,9,0,0],[2010,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,10,31,7,59,59],[2010,10,31,1,59,59],
+          '2010040409:00:00','2010040403:00:00','2010103107:59:59','2010103101:59:59' ],
+        [ [2010,10,31,8,0,0],[2010,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,4,3,8,59,59],[2011,4,3,1,59,59],
+          '2010103108:00:00','2010103101:00:00','2011040308:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,9,0,0],[2011,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,10,30,7,59,59],[2011,10,30,1,59,59],
+          '2011040309:00:00','2011040303:00:00','2011103007:59:59','2011103001:59:59' ],
+        [ [2011,10,30,8,0,0],[2011,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,4,1,8,59,59],[2012,4,1,1,59,59],
+          '2011103008:00:00','2011103001:00:00','2012040108:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,9,0,0],[2012,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,10,28,7,59,59],[2012,10,28,1,59,59],
+          '2012040109:00:00','2012040103:00:00','2012102807:59:59','2012102801:59:59' ],
+        [ [2012,10,28,8,0,0],[2012,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,4,7,8,59,59],[2013,4,7,1,59,59],
+          '2012102808:00:00','2012102801:00:00','2013040708:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,9,0,0],[2013,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,10,27,7,59,59],[2013,10,27,1,59,59],
+          '2013040709:00:00','2013040703:00:00','2013102707:59:59','2013102701:59:59' ],
+        [ [2013,10,27,8,0,0],[2013,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,4,6,8,59,59],[2014,4,6,1,59,59],
+          '2013102708:00:00','2013102701:00:00','2014040608:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,9,0,0],[2014,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,10,26,7,59,59],[2014,10,26,1,59,59],
+          '2014040609:00:00','2014040603:00:00','2014102607:59:59','2014102601:59:59' ],
+        [ [2014,10,26,8,0,0],[2014,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,4,5,8,59,59],[2015,4,5,1,59,59],
+          '2014102608:00:00','2014102601:00:00','2015040508:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,9,0,0],[2015,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,10,25,7,59,59],[2015,10,25,1,59,59],
+          '2015040509:00:00','2015040503:00:00','2015102507:59:59','2015102501:59:59' ],
+        [ [2015,10,25,8,0,0],[2015,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,4,3,8,59,59],[2016,4,3,1,59,59],
+          '2015102508:00:00','2015102501:00:00','2016040308:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,9,0,0],[2016,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,10,30,7,59,59],[2016,10,30,1,59,59],
+          '2016040309:00:00','2016040303:00:00','2016103007:59:59','2016103001:59:59' ],
+        [ [2016,10,30,8,0,0],[2016,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,4,2,8,59,59],[2017,4,2,1,59,59],
+          '2016103008:00:00','2016103001:00:00','2017040208:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,9,0,0],[2017,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,10,29,7,59,59],[2017,10,29,1,59,59],
+          '2017040209:00:00','2017040203:00:00','2017102907:59:59','2017102901:59:59' ],
+        [ [2017,10,29,8,0,0],[2017,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,4,1,8,59,59],[2018,4,1,1,59,59],
+          '2017102908:00:00','2017102901:00:00','2018040108:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,9,0,0],[2018,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,10,28,7,59,59],[2018,10,28,1,59,59],
+          '2018040109:00:00','2018040103:00:00','2018102807:59:59','2018102801:59:59' ],
+        [ [2018,10,28,8,0,0],[2018,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,4,7,8,59,59],[2019,4,7,1,59,59],
+          '2018102808:00:00','2018102801:00:00','2019040708:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,9,0,0],[2019,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,10,27,7,59,59],[2019,10,27,1,59,59],
+          '2019040709:00:00','2019040703:00:00','2019102707:59:59','2019102701:59:59' ],
+        [ [2019,10,27,8,0,0],[2019,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,4,5,8,59,59],[2020,4,5,1,59,59],
+          '2019102708:00:00','2019102701:00:00','2020040508:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,9,0,0],[2020,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,10,25,7,59,59],[2020,10,25,1,59,59],
+          '2020040509:00:00','2020040503:00:00','2020102507:59:59','2020102501:59:59' ],
+        [ [2020,10,25,8,0,0],[2020,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,4,4,8,59,59],[2021,4,4,1,59,59],
+          '2020102508:00:00','2020102501:00:00','2021040408:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,9,0,0],[2021,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,10,31,7,59,59],[2021,10,31,1,59,59],
+          '2021040409:00:00','2021040403:00:00','2021103107:59:59','2021103101:59:59' ],
+        [ [2021,10,31,8,0,0],[2021,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,4,3,8,59,59],[2022,4,3,1,59,59],
+          '2021103108:00:00','2021103101:00:00','2022040308:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,9,0,0],[2022,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,10,30,7,59,59],[2022,10,30,1,59,59],
+          '2022040309:00:00','2022040303:00:00','2022103007:59:59','2022103001:59:59' ],
+        [ [2022,10,30,8,0,0],[2022,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,4,2,8,59,59],[2023,4,2,1,59,59],
+          '2022103008:00:00','2022103001:00:00','2023040208:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,9,0,0],[2023,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,10,29,7,59,59],[2023,10,29,1,59,59],
+          '2023040209:00:00','2023040203:00:00','2023102907:59:59','2023102901:59:59' ],
+        [ [2023,10,29,8,0,0],[2023,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,4,7,8,59,59],[2024,4,7,1,59,59],
+          '2023102908:00:00','2023102901:00:00','2024040708:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,9,0,0],[2024,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,10,27,7,59,59],[2024,10,27,1,59,59],
+          '2024040709:00:00','2024040703:00:00','2024102707:59:59','2024102701:59:59' ],
+        [ [2024,10,27,8,0,0],[2024,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,4,6,8,59,59],[2025,4,6,1,59,59],
+          '2024102708:00:00','2024102701:00:00','2025040608:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,9,0,0],[2025,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,10,26,7,59,59],[2025,10,26,1,59,59],
+          '2025040609:00:00','2025040603:00:00','2025102607:59:59','2025102601:59:59' ],
+        [ [2025,10,26,8,0,0],[2025,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,4,5,8,59,59],[2026,4,5,1,59,59],
+          '2025102608:00:00','2025102601:00:00','2026040508:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,9,0,0],[2026,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,10,25,7,59,59],[2026,10,25,1,59,59],
+          '2026040509:00:00','2026040503:00:00','2026102507:59:59','2026102501:59:59' ],
+        [ [2026,10,25,8,0,0],[2026,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,4,4,8,59,59],[2027,4,4,1,59,59],
+          '2026102508:00:00','2026102501:00:00','2027040408:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,9,0,0],[2027,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,10,31,7,59,59],[2027,10,31,1,59,59],
+          '2027040409:00:00','2027040403:00:00','2027103107:59:59','2027103101:59:59' ],
+        [ [2027,10,31,8,0,0],[2027,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,4,2,8,59,59],[2028,4,2,1,59,59],
+          '2027103108:00:00','2027103101:00:00','2028040208:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,9,0,0],[2028,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,10,29,7,59,59],[2028,10,29,1,59,59],
+          '2028040209:00:00','2028040203:00:00','2028102907:59:59','2028102901:59:59' ],
+        [ [2028,10,29,8,0,0],[2028,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,4,1,8,59,59],[2029,4,1,1,59,59],
+          '2028102908:00:00','2028102901:00:00','2029040108:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,9,0,0],[2029,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,10,28,7,59,59],[2029,10,28,1,59,59],
+          '2029040109:00:00','2029040103:00:00','2029102807:59:59','2029102801:59:59' ],
+        [ [2029,10,28,8,0,0],[2029,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,4,7,8,59,59],[2030,4,7,1,59,59],
+          '2029102808:00:00','2029102801:00:00','2030040708:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,9,0,0],[2030,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,10,27,7,59,59],[2030,10,27,1,59,59],
+          '2030040709:00:00','2030040703:00:00','2030102707:59:59','2030102701:59:59' ],
+        [ [2030,10,27,8,0,0],[2030,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,4,6,8,59,59],[2031,4,6,1,59,59],
+          '2030102708:00:00','2030102701:00:00','2031040608:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,9,0,0],[2031,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,10,26,7,59,59],[2031,10,26,1,59,59],
+          '2031040609:00:00','2031040603:00:00','2031102607:59:59','2031102601:59:59' ],
+        [ [2031,10,26,8,0,0],[2031,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,4,4,8,59,59],[2032,4,4,1,59,59],
+          '2031102608:00:00','2031102601:00:00','2032040408:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,9,0,0],[2032,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,10,31,7,59,59],[2032,10,31,1,59,59],
+          '2032040409:00:00','2032040403:00:00','2032103107:59:59','2032103101:59:59' ],
+        [ [2032,10,31,8,0,0],[2032,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,4,3,8,59,59],[2033,4,3,1,59,59],
+          '2032103108:00:00','2032103101:00:00','2033040308:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,9,0,0],[2033,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,10,30,7,59,59],[2033,10,30,1,59,59],
+          '2033040309:00:00','2033040303:00:00','2033103007:59:59','2033103001:59:59' ],
+        [ [2033,10,30,8,0,0],[2033,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,4,2,8,59,59],[2034,4,2,1,59,59],
+          '2033103008:00:00','2033103001:00:00','2034040208:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,9,0,0],[2034,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,10,29,7,59,59],[2034,10,29,1,59,59],
+          '2034040209:00:00','2034040203:00:00','2034102907:59:59','2034102901:59:59' ],
+        [ [2034,10,29,8,0,0],[2034,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,4,1,8,59,59],[2035,4,1,1,59,59],
+          '2034102908:00:00','2034102901:00:00','2035040108:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,9,0,0],[2035,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,10,28,7,59,59],[2035,10,28,1,59,59],
+          '2035040109:00:00','2035040103:00:00','2035102807:59:59','2035102801:59:59' ],
+        [ [2035,10,28,8,0,0],[2035,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,4,6,8,59,59],[2036,4,6,1,59,59],
+          '2035102808:00:00','2035102801:00:00','2036040608:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,9,0,0],[2036,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,10,26,7,59,59],[2036,10,26,1,59,59],
+          '2036040609:00:00','2036040603:00:00','2036102607:59:59','2036102601:59:59' ],
+        [ [2036,10,26,8,0,0],[2036,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,4,5,8,59,59],[2037,4,5,1,59,59],
+          '2036102608:00:00','2036102601:00:00','2037040508:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,9,0,0],[2037,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,10,25,7,59,59],[2037,10,25,1,59,59],
+          '2037040509:00:00','2037040503:00:00','2037102507:59:59','2037102501:59:59' ],
+        [ [2037,10,25,8,0,0],[2037,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,4,4,8,59,59],[2038,4,4,1,59,59],
+          '2037102508:00:00','2037102501:00:00','2038040408:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,9,0,0],[2038,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,10,31,7,59,59],[2038,10,31,1,59,59],
+          '2038040409:00:00','2038040403:00:00','2038103107:59:59','2038103101:59:59' ],
+        [ [2038,10,31,8,0,0],[2038,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,4,3,8,59,59],[2039,4,3,1,59,59],
+          '2038103108:00:00','2038103101:00:00','2039040308:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,9,0,0],[2039,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,10,30,7,59,59],[2039,10,30,1,59,59],
+          '2039040309:00:00','2039040303:00:00','2039103007:59:59','2039103001:59:59' ],
+        [ [2039,10,30,8,0,0],[2039,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,4,1,8,59,59],[2040,4,1,1,59,59],
+          '2039103008:00:00','2039103001:00:00','2040040108:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,9,0,0],[2040,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,10,28,7,59,59],[2040,10,28,1,59,59],
+          '2040040109:00:00','2040040103:00:00','2040102807:59:59','2040102801:59:59' ],
+        [ [2040,10,28,8,0,0],[2040,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,4,7,8,59,59],[2041,4,7,1,59,59],
+          '2040102808:00:00','2040102801:00:00','2041040708:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,9,0,0],[2041,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,10,27,7,59,59],[2041,10,27,1,59,59],
+          '2041040709:00:00','2041040703:00:00','2041102707:59:59','2041102701:59:59' ],
+        [ [2041,10,27,8,0,0],[2041,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,4,6,8,59,59],[2042,4,6,1,59,59],
+          '2041102708:00:00','2041102701:00:00','2042040608:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,9,0,0],[2042,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,10,26,7,59,59],[2042,10,26,1,59,59],
+          '2042040609:00:00','2042040603:00:00','2042102607:59:59','2042102601:59:59' ],
+        [ [2042,10,26,8,0,0],[2042,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,4,5,8,59,59],[2043,4,5,1,59,59],
+          '2042102608:00:00','2042102601:00:00','2043040508:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,9,0,0],[2043,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,10,25,7,59,59],[2043,10,25,1,59,59],
+          '2043040509:00:00','2043040503:00:00','2043102507:59:59','2043102501:59:59' ],
+        [ [2043,10,25,8,0,0],[2043,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,4,3,8,59,59],[2044,4,3,1,59,59],
+          '2043102508:00:00','2043102501:00:00','2044040308:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,9,0,0],[2044,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,10,30,7,59,59],[2044,10,30,1,59,59],
+          '2044040309:00:00','2044040303:00:00','2044103007:59:59','2044103001:59:59' ],
+        [ [2044,10,30,8,0,0],[2044,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,4,2,8,59,59],[2045,4,2,1,59,59],
+          '2044103008:00:00','2044103001:00:00','2045040208:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,9,0,0],[2045,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,10,29,7,59,59],[2045,10,29,1,59,59],
+          '2045040209:00:00','2045040203:00:00','2045102907:59:59','2045102901:59:59' ],
+        [ [2045,10,29,8,0,0],[2045,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,4,1,8,59,59],[2046,4,1,1,59,59],
+          '2045102908:00:00','2045102901:00:00','2046040108:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,9,0,0],[2046,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,10,28,7,59,59],[2046,10,28,1,59,59],
+          '2046040109:00:00','2046040103:00:00','2046102807:59:59','2046102801:59:59' ],
+        [ [2046,10,28,8,0,0],[2046,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,4,7,8,59,59],[2047,4,7,1,59,59],
+          '2046102808:00:00','2046102801:00:00','2047040708:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,9,0,0],[2047,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,10,27,7,59,59],[2047,10,27,1,59,59],
+          '2047040709:00:00','2047040703:00:00','2047102707:59:59','2047102701:59:59' ],
+        [ [2047,10,27,8,0,0],[2047,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,4,5,8,59,59],[2048,4,5,1,59,59],
+          '2047102708:00:00','2047102701:00:00','2048040508:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,9,0,0],[2048,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,10,25,7,59,59],[2048,10,25,1,59,59],
+          '2048040509:00:00','2048040503:00:00','2048102507:59:59','2048102501:59:59' ],
+        [ [2048,10,25,8,0,0],[2048,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,4,4,8,59,59],[2049,4,4,1,59,59],
+          '2048102508:00:00','2048102501:00:00','2049040408:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,9,0,0],[2049,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,10,31,7,59,59],[2049,10,31,1,59,59],
+          '2049040409:00:00','2049040403:00:00','2049103107:59:59','2049103101:59:59' ],
+        [ [2049,10,31,8,0,0],[2049,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,4,3,8,59,59],[2050,4,3,1,59,59],
+          '2049103108:00:00','2049103101:00:00','2050040308:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,9,0,0],[2050,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,10,30,7,59,59],[2050,10,30,1,59,59],
+          '2050040309:00:00','2050040303:00:00','2050103007:59:59','2050103001:59:59' ],
+        [ [2050,10,30,8,0,0],[2050,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,4,2,8,59,59],[2051,4,2,1,59,59],
+          '2050103008:00:00','2050103001:00:00','2051040208:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,9,0,0],[2051,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,10,29,7,59,59],[2051,10,29,1,59,59],
+          '2051040209:00:00','2051040203:00:00','2051102907:59:59','2051102901:59:59' ],
+        [ [2051,10,29,8,0,0],[2051,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,4,7,8,59,59],[2052,4,7,1,59,59],
+          '2051102908:00:00','2051102901:00:00','2052040708:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,9,0,0],[2052,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,10,27,7,59,59],[2052,10,27,1,59,59],
+          '2052040709:00:00','2052040703:00:00','2052102707:59:59','2052102701:59:59' ],
+        [ [2052,10,27,8,0,0],[2052,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,4,6,8,59,59],[2053,4,6,1,59,59],
+          '2052102708:00:00','2052102701:00:00','2053040608:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,9,0,0],[2053,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,10,26,7,59,59],[2053,10,26,1,59,59],
+          '2053040609:00:00','2053040603:00:00','2053102607:59:59','2053102601:59:59' ],
+        [ [2053,10,26,8,0,0],[2053,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,4,5,8,59,59],[2054,4,5,1,59,59],
+          '2053102608:00:00','2053102601:00:00','2054040508:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,9,0,0],[2054,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,10,25,7,59,59],[2054,10,25,1,59,59],
+          '2054040509:00:00','2054040503:00:00','2054102507:59:59','2054102501:59:59' ],
+        [ [2054,10,25,8,0,0],[2054,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,4,4,8,59,59],[2055,4,4,1,59,59],
+          '2054102508:00:00','2054102501:00:00','2055040408:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,9,0,0],[2055,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,10,31,7,59,59],[2055,10,31,1,59,59],
+          '2055040409:00:00','2055040403:00:00','2055103107:59:59','2055103101:59:59' ],
+        [ [2055,10,31,8,0,0],[2055,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,4,2,8,59,59],[2056,4,2,1,59,59],
+          '2055103108:00:00','2055103101:00:00','2056040208:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,9,0,0],[2056,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,10,29,7,59,59],[2056,10,29,1,59,59],
+          '2056040209:00:00','2056040203:00:00','2056102907:59:59','2056102901:59:59' ],
+        [ [2056,10,29,8,0,0],[2056,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,4,1,8,59,59],[2057,4,1,1,59,59],
+          '2056102908:00:00','2056102901:00:00','2057040108:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,9,0,0],[2057,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,10,28,7,59,59],[2057,10,28,1,59,59],
+          '2057040109:00:00','2057040103:00:00','2057102807:59:59','2057102801:59:59' ],
+        [ [2057,10,28,8,0,0],[2057,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,4,7,8,59,59],[2058,4,7,1,59,59],
+          '2057102808:00:00','2057102801:00:00','2058040708:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,9,0,0],[2058,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,10,27,7,59,59],[2058,10,27,1,59,59],
+          '2058040709:00:00','2058040703:00:00','2058102707:59:59','2058102701:59:59' ],
+        [ [2058,10,27,8,0,0],[2058,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,4,6,8,59,59],[2059,4,6,1,59,59],
+          '2058102708:00:00','2058102701:00:00','2059040608:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,9,0,0],[2059,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,10,26,7,59,59],[2059,10,26,1,59,59],
+          '2059040609:00:00','2059040603:00:00','2059102607:59:59','2059102601:59:59' ],
+        [ [2059,10,26,8,0,0],[2059,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,4,4,8,59,59],[2060,4,4,1,59,59],
+          '2059102608:00:00','2059102601:00:00','2060040408:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,9,0,0],[2060,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,10,31,7,59,59],[2060,10,31,1,59,59],
+          '2060040409:00:00','2060040403:00:00','2060103107:59:59','2060103101:59:59' ],
+        [ [2060,10,31,8,0,0],[2060,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,4,3,8,59,59],[2061,4,3,1,59,59],
+          '2060103108:00:00','2060103101:00:00','2061040308:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,9,0,0],[2061,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,10,30,7,59,59],[2061,10,30,1,59,59],
+          '2061040309:00:00','2061040303:00:00','2061103007:59:59','2061103001:59:59' ],
+        [ [2061,10,30,8,0,0],[2061,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,4,2,8,59,59],[2062,4,2,1,59,59],
+          '2061103008:00:00','2061103001:00:00','2062040208:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,9,0,0],[2062,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,10,29,7,59,59],[2062,10,29,1,59,59],
+          '2062040209:00:00','2062040203:00:00','2062102907:59:59','2062102901:59:59' ],
+        [ [2062,10,29,8,0,0],[2062,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,4,1,8,59,59],[2063,4,1,1,59,59],
+          '2062102908:00:00','2062102901:00:00','2063040108:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,9,0,0],[2063,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,10,28,7,59,59],[2063,10,28,1,59,59],
+          '2063040109:00:00','2063040103:00:00','2063102807:59:59','2063102801:59:59' ],
+        [ [2063,10,28,8,0,0],[2063,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,4,6,8,59,59],[2064,4,6,1,59,59],
+          '2063102808:00:00','2063102801:00:00','2064040608:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,9,0,0],[2064,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,10,26,7,59,59],[2064,10,26,1,59,59],
+          '2064040609:00:00','2064040603:00:00','2064102607:59:59','2064102601:59:59' ],
+        [ [2064,10,26,8,0,0],[2064,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,4,5,8,59,59],[2065,4,5,1,59,59],
+          '2064102608:00:00','2064102601:00:00','2065040508:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,9,0,0],[2065,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,10,25,7,59,59],[2065,10,25,1,59,59],
+          '2065040509:00:00','2065040503:00:00','2065102507:59:59','2065102501:59:59' ],
+        [ [2065,10,25,8,0,0],[2065,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,4,4,8,59,59],[2066,4,4,1,59,59],
+          '2065102508:00:00','2065102501:00:00','2066040408:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,9,0,0],[2066,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,10,31,7,59,59],[2066,10,31,1,59,59],
+          '2066040409:00:00','2066040403:00:00','2066103107:59:59','2066103101:59:59' ],
+        [ [2066,10,31,8,0,0],[2066,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,4,3,8,59,59],[2067,4,3,1,59,59],
+          '2066103108:00:00','2066103101:00:00','2067040308:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,9,0,0],[2067,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,10,30,7,59,59],[2067,10,30,1,59,59],
+          '2067040309:00:00','2067040303:00:00','2067103007:59:59','2067103001:59:59' ],
+        [ [2067,10,30,8,0,0],[2067,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,4,1,8,59,59],[2068,4,1,1,59,59],
+          '2067103008:00:00','2067103001:00:00','2068040108:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammend00.pm b/lib/Date/Manip/TZ/ammend00.pm
new file mode 100644
index 0000000..ca4ea0e
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammend00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::ammend00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,24,44],'-04:35:16',[-4,-35,-16],
+          'LMT',0,[1894,10,31,4,35,15],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:24:44','1894103104:35:15','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,35,16],[1894,10,31,0,18,28],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:35:16','1894103100:18:28','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,15,3,59,59],[1990,10,14,23,59,59],
+          '1990030402:00:00','1990030322:00:00','1990101503:59:59','1990101423:59:59' ],
+        [ [1990,10,15,4,0,0],[1990,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,1,2,59,59],[1991,2,28,23,59,59],
+          '1990101504:00:00','1990101501:00:00','1991030102:59:59','1991022823:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,1,3,0,0],[1991,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,15,3,59,59],[1991,10,14,23,59,59],
+          '1991030103:00:00','1991022823:00:00','1991101503:59:59','1991101423:59:59' ],
+        [ [1991,10,15,4,0,0],[1991,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,3,1,2,59,59],[1992,2,29,23,59,59],
+          '1991101504:00:00','1991101501:00:00','1992030102:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,3,0,0],[1992,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,18,3,59,59],[1992,10,17,23,59,59],
+          '1992030103:00:00','1992022923:00:00','1992101803:59:59','1992101723:59:59' ],
+        [ [1992,10,18,4,0,0],[1992,10,18,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101804:00:00','1992101802:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,5,23,2,59,59],[2004,5,22,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004052302:59:59','2004052223:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,5,23,3,0,0],[2004,5,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,9,26,3,59,59],[2004,9,25,23,59,59],
+          '2004052303:00:00','2004052223:00:00','2004092603:59:59','2004092523:59:59' ],
+        [ [2004,9,26,4,0,0],[2004,9,26,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004092604:00:00','2004092601:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammeno00.pm b/lib/Date/Manip/TZ/ammeno00.pm
new file mode 100644
index 0000000..180f05c
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammeno00.pm
@@ -0,0 +1,985 @@
+package #
+Date::Manip::TZ::ammeno00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,9,33],'-05:50:27',[-5,-50,-27],
+          'LMT',0,[1885,9,18,17,50,26],[1885,9,18,11,59,59],
+          '0001010200:00:00','0001010118:09:33','1885091817:50:26','1885091811:59:59' ],
+     ],
+   1885 =>
+     [
+        [ [1885,9,18,17,50,27],[1885,9,18,11,50,27],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1885091817:50:27','1885091811:50:27','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1966,4,24,7,59,59],[1966,4,24,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1966042407:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,8,0,0],[1966,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1966,10,30,6,59,59],[1966,10,30,1,59,59],
+          '1966042408:00:00','1966042403:00:00','1966103006:59:59','1966103001:59:59' ],
+        [ [1966,10,30,7,0,0],[1966,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1966103007:00:00','1966103001:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1969042708:00:00','1969042703:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,6,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042902:00:00','1973102806:59:59','1973102801:59:59' ],
+        [ [1973,10,28,7,0,0],[1973,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,1,6,7,59,59],[1974,1,6,1,59,59],
+          '1973102807:00:00','1973102801:00:00','1974010607:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,8,0,0],[1974,1,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010608:00:00','1974010603:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,2,23,7,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975022307:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,8,0,0],[1975,2,23,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975022308:00:00','1975022303:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103007:00:00','1977103001:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,6,59,59],[1978,10,29,1,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102906:59:59','1978102901:59:59' ],
+        [ [1978,10,29,7,0,0],[1978,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102907:00:00','1978102901:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,6,59,59],[1979,10,28,1,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102806:59:59','1979102801:59:59' ],
+        [ [1979,10,28,7,0,0],[1979,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102807:00:00','1979102801:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,7,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001040107:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammeri00.pm b/lib/Date/Manip/TZ/ammeri00.pm
new file mode 100644
index 0000000..68044af
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammeri00.pm
@@ -0,0 +1,733 @@
+package #
+Date::Manip::TZ::ammeri00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,1,32],'-05:58:28',[-5,-58,-28],
+          'LMT',0,[1922,1,1,5,59,59],[1922,1,1,0,1,31],
+          '0001010200:00:00','0001010118:01:32','1922010105:59:59','1922010100:01:31' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,6,0,0],[1922,1,1,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,12,23,5,59,59],[1981,12,22,23,59,59],
+          '1922010106:00:00','1922010100:00:00','1981122305:59:59','1981122223:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,12,23,6,0,0],[1981,12,23,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,12,2,4,59,59],[1982,12,1,23,59,59],
+          '1981122306:00:00','1981122301:00:00','1982120204:59:59','1982120123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,12,2,5,0,0],[1982,12,1,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1982120205:00:00','1982120123:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,5,6,7,59,59],[2001,5,6,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001050607:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,8,0,0],[2001,5,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,9,30,6,59,59],[2001,9,30,1,59,59],
+          '2001050608:00:00','2001050603:00:00','2001093006:59:59','2001093001:59:59' ],
+        [ [2001,9,30,7,0,0],[2001,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001093007:00:00','2001093001:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,4,1,7,59,59],[2007,4,1,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007040107:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,8,0,0],[2007,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,10,28,6,59,59],[2007,10,28,1,59,59],
+          '2007040108:00:00','2007040103:00:00','2007102806:59:59','2007102801:59:59' ],
+        [ [2007,10,28,7,0,0],[2007,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,4,6,7,59,59],[2008,4,6,1,59,59],
+          '2007102807:00:00','2007102801:00:00','2008040607:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,8,0,0],[2008,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,10,26,6,59,59],[2008,10,26,1,59,59],
+          '2008040608:00:00','2008040603:00:00','2008102606:59:59','2008102601:59:59' ],
+        [ [2008,10,26,7,0,0],[2008,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,4,5,7,59,59],[2009,4,5,1,59,59],
+          '2008102607:00:00','2008102601:00:00','2009040507:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,8,0,0],[2009,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,10,25,6,59,59],[2009,10,25,1,59,59],
+          '2009040508:00:00','2009040503:00:00','2009102506:59:59','2009102501:59:59' ],
+        [ [2009,10,25,7,0,0],[2009,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,4,4,7,59,59],[2010,4,4,1,59,59],
+          '2009102507:00:00','2009102501:00:00','2010040407:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,8,0,0],[2010,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,10,31,6,59,59],[2010,10,31,1,59,59],
+          '2010040408:00:00','2010040403:00:00','2010103106:59:59','2010103101:59:59' ],
+        [ [2010,10,31,7,0,0],[2010,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,4,3,7,59,59],[2011,4,3,1,59,59],
+          '2010103107:00:00','2010103101:00:00','2011040307:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,8,0,0],[2011,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,10,30,6,59,59],[2011,10,30,1,59,59],
+          '2011040308:00:00','2011040303:00:00','2011103006:59:59','2011103001:59:59' ],
+        [ [2011,10,30,7,0,0],[2011,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,4,1,7,59,59],[2012,4,1,1,59,59],
+          '2011103007:00:00','2011103001:00:00','2012040107:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,8,0,0],[2012,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,10,28,6,59,59],[2012,10,28,1,59,59],
+          '2012040108:00:00','2012040103:00:00','2012102806:59:59','2012102801:59:59' ],
+        [ [2012,10,28,7,0,0],[2012,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,4,7,7,59,59],[2013,4,7,1,59,59],
+          '2012102807:00:00','2012102801:00:00','2013040707:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,8,0,0],[2013,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,10,27,6,59,59],[2013,10,27,1,59,59],
+          '2013040708:00:00','2013040703:00:00','2013102706:59:59','2013102701:59:59' ],
+        [ [2013,10,27,7,0,0],[2013,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,4,6,7,59,59],[2014,4,6,1,59,59],
+          '2013102707:00:00','2013102701:00:00','2014040607:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,8,0,0],[2014,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,10,26,6,59,59],[2014,10,26,1,59,59],
+          '2014040608:00:00','2014040603:00:00','2014102606:59:59','2014102601:59:59' ],
+        [ [2014,10,26,7,0,0],[2014,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,4,5,7,59,59],[2015,4,5,1,59,59],
+          '2014102607:00:00','2014102601:00:00','2015040507:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,8,0,0],[2015,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,10,25,6,59,59],[2015,10,25,1,59,59],
+          '2015040508:00:00','2015040503:00:00','2015102506:59:59','2015102501:59:59' ],
+        [ [2015,10,25,7,0,0],[2015,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,4,3,7,59,59],[2016,4,3,1,59,59],
+          '2015102507:00:00','2015102501:00:00','2016040307:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,8,0,0],[2016,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,10,30,6,59,59],[2016,10,30,1,59,59],
+          '2016040308:00:00','2016040303:00:00','2016103006:59:59','2016103001:59:59' ],
+        [ [2016,10,30,7,0,0],[2016,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,4,2,7,59,59],[2017,4,2,1,59,59],
+          '2016103007:00:00','2016103001:00:00','2017040207:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,8,0,0],[2017,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,10,29,6,59,59],[2017,10,29,1,59,59],
+          '2017040208:00:00','2017040203:00:00','2017102906:59:59','2017102901:59:59' ],
+        [ [2017,10,29,7,0,0],[2017,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,4,1,7,59,59],[2018,4,1,1,59,59],
+          '2017102907:00:00','2017102901:00:00','2018040107:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,8,0,0],[2018,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,10,28,6,59,59],[2018,10,28,1,59,59],
+          '2018040108:00:00','2018040103:00:00','2018102806:59:59','2018102801:59:59' ],
+        [ [2018,10,28,7,0,0],[2018,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,4,7,7,59,59],[2019,4,7,1,59,59],
+          '2018102807:00:00','2018102801:00:00','2019040707:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,8,0,0],[2019,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,10,27,6,59,59],[2019,10,27,1,59,59],
+          '2019040708:00:00','2019040703:00:00','2019102706:59:59','2019102701:59:59' ],
+        [ [2019,10,27,7,0,0],[2019,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,4,5,7,59,59],[2020,4,5,1,59,59],
+          '2019102707:00:00','2019102701:00:00','2020040507:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,8,0,0],[2020,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,10,25,6,59,59],[2020,10,25,1,59,59],
+          '2020040508:00:00','2020040503:00:00','2020102506:59:59','2020102501:59:59' ],
+        [ [2020,10,25,7,0,0],[2020,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,4,4,7,59,59],[2021,4,4,1,59,59],
+          '2020102507:00:00','2020102501:00:00','2021040407:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,8,0,0],[2021,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,10,31,6,59,59],[2021,10,31,1,59,59],
+          '2021040408:00:00','2021040403:00:00','2021103106:59:59','2021103101:59:59' ],
+        [ [2021,10,31,7,0,0],[2021,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,4,3,7,59,59],[2022,4,3,1,59,59],
+          '2021103107:00:00','2021103101:00:00','2022040307:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,8,0,0],[2022,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,10,30,6,59,59],[2022,10,30,1,59,59],
+          '2022040308:00:00','2022040303:00:00','2022103006:59:59','2022103001:59:59' ],
+        [ [2022,10,30,7,0,0],[2022,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,4,2,7,59,59],[2023,4,2,1,59,59],
+          '2022103007:00:00','2022103001:00:00','2023040207:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,8,0,0],[2023,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,10,29,6,59,59],[2023,10,29,1,59,59],
+          '2023040208:00:00','2023040203:00:00','2023102906:59:59','2023102901:59:59' ],
+        [ [2023,10,29,7,0,0],[2023,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,4,7,7,59,59],[2024,4,7,1,59,59],
+          '2023102907:00:00','2023102901:00:00','2024040707:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,8,0,0],[2024,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,10,27,6,59,59],[2024,10,27,1,59,59],
+          '2024040708:00:00','2024040703:00:00','2024102706:59:59','2024102701:59:59' ],
+        [ [2024,10,27,7,0,0],[2024,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,4,6,7,59,59],[2025,4,6,1,59,59],
+          '2024102707:00:00','2024102701:00:00','2025040607:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,8,0,0],[2025,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,10,26,6,59,59],[2025,10,26,1,59,59],
+          '2025040608:00:00','2025040603:00:00','2025102606:59:59','2025102601:59:59' ],
+        [ [2025,10,26,7,0,0],[2025,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,4,5,7,59,59],[2026,4,5,1,59,59],
+          '2025102607:00:00','2025102601:00:00','2026040507:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,8,0,0],[2026,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,10,25,6,59,59],[2026,10,25,1,59,59],
+          '2026040508:00:00','2026040503:00:00','2026102506:59:59','2026102501:59:59' ],
+        [ [2026,10,25,7,0,0],[2026,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,4,4,7,59,59],[2027,4,4,1,59,59],
+          '2026102507:00:00','2026102501:00:00','2027040407:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,8,0,0],[2027,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,10,31,6,59,59],[2027,10,31,1,59,59],
+          '2027040408:00:00','2027040403:00:00','2027103106:59:59','2027103101:59:59' ],
+        [ [2027,10,31,7,0,0],[2027,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,4,2,7,59,59],[2028,4,2,1,59,59],
+          '2027103107:00:00','2027103101:00:00','2028040207:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,8,0,0],[2028,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,10,29,6,59,59],[2028,10,29,1,59,59],
+          '2028040208:00:00','2028040203:00:00','2028102906:59:59','2028102901:59:59' ],
+        [ [2028,10,29,7,0,0],[2028,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,4,1,7,59,59],[2029,4,1,1,59,59],
+          '2028102907:00:00','2028102901:00:00','2029040107:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,8,0,0],[2029,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,10,28,6,59,59],[2029,10,28,1,59,59],
+          '2029040108:00:00','2029040103:00:00','2029102806:59:59','2029102801:59:59' ],
+        [ [2029,10,28,7,0,0],[2029,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,4,7,7,59,59],[2030,4,7,1,59,59],
+          '2029102807:00:00','2029102801:00:00','2030040707:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,8,0,0],[2030,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,10,27,6,59,59],[2030,10,27,1,59,59],
+          '2030040708:00:00','2030040703:00:00','2030102706:59:59','2030102701:59:59' ],
+        [ [2030,10,27,7,0,0],[2030,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,4,6,7,59,59],[2031,4,6,1,59,59],
+          '2030102707:00:00','2030102701:00:00','2031040607:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,8,0,0],[2031,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,10,26,6,59,59],[2031,10,26,1,59,59],
+          '2031040608:00:00','2031040603:00:00','2031102606:59:59','2031102601:59:59' ],
+        [ [2031,10,26,7,0,0],[2031,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,4,4,7,59,59],[2032,4,4,1,59,59],
+          '2031102607:00:00','2031102601:00:00','2032040407:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,8,0,0],[2032,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,10,31,6,59,59],[2032,10,31,1,59,59],
+          '2032040408:00:00','2032040403:00:00','2032103106:59:59','2032103101:59:59' ],
+        [ [2032,10,31,7,0,0],[2032,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,4,3,7,59,59],[2033,4,3,1,59,59],
+          '2032103107:00:00','2032103101:00:00','2033040307:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,8,0,0],[2033,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,10,30,6,59,59],[2033,10,30,1,59,59],
+          '2033040308:00:00','2033040303:00:00','2033103006:59:59','2033103001:59:59' ],
+        [ [2033,10,30,7,0,0],[2033,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,4,2,7,59,59],[2034,4,2,1,59,59],
+          '2033103007:00:00','2033103001:00:00','2034040207:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,8,0,0],[2034,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,10,29,6,59,59],[2034,10,29,1,59,59],
+          '2034040208:00:00','2034040203:00:00','2034102906:59:59','2034102901:59:59' ],
+        [ [2034,10,29,7,0,0],[2034,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,4,1,7,59,59],[2035,4,1,1,59,59],
+          '2034102907:00:00','2034102901:00:00','2035040107:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,8,0,0],[2035,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,10,28,6,59,59],[2035,10,28,1,59,59],
+          '2035040108:00:00','2035040103:00:00','2035102806:59:59','2035102801:59:59' ],
+        [ [2035,10,28,7,0,0],[2035,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,4,6,7,59,59],[2036,4,6,1,59,59],
+          '2035102807:00:00','2035102801:00:00','2036040607:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,8,0,0],[2036,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,10,26,6,59,59],[2036,10,26,1,59,59],
+          '2036040608:00:00','2036040603:00:00','2036102606:59:59','2036102601:59:59' ],
+        [ [2036,10,26,7,0,0],[2036,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,4,5,7,59,59],[2037,4,5,1,59,59],
+          '2036102607:00:00','2036102601:00:00','2037040507:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,8,0,0],[2037,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,10,25,6,59,59],[2037,10,25,1,59,59],
+          '2037040508:00:00','2037040503:00:00','2037102506:59:59','2037102501:59:59' ],
+        [ [2037,10,25,7,0,0],[2037,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,4,4,7,59,59],[2038,4,4,1,59,59],
+          '2037102507:00:00','2037102501:00:00','2038040407:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,8,0,0],[2038,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,10,31,6,59,59],[2038,10,31,1,59,59],
+          '2038040408:00:00','2038040403:00:00','2038103106:59:59','2038103101:59:59' ],
+        [ [2038,10,31,7,0,0],[2038,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,4,3,7,59,59],[2039,4,3,1,59,59],
+          '2038103107:00:00','2038103101:00:00','2039040307:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,8,0,0],[2039,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,10,30,6,59,59],[2039,10,30,1,59,59],
+          '2039040308:00:00','2039040303:00:00','2039103006:59:59','2039103001:59:59' ],
+        [ [2039,10,30,7,0,0],[2039,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,4,1,7,59,59],[2040,4,1,1,59,59],
+          '2039103007:00:00','2039103001:00:00','2040040107:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,8,0,0],[2040,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,10,28,6,59,59],[2040,10,28,1,59,59],
+          '2040040108:00:00','2040040103:00:00','2040102806:59:59','2040102801:59:59' ],
+        [ [2040,10,28,7,0,0],[2040,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,4,7,7,59,59],[2041,4,7,1,59,59],
+          '2040102807:00:00','2040102801:00:00','2041040707:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,8,0,0],[2041,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,10,27,6,59,59],[2041,10,27,1,59,59],
+          '2041040708:00:00','2041040703:00:00','2041102706:59:59','2041102701:59:59' ],
+        [ [2041,10,27,7,0,0],[2041,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,4,6,7,59,59],[2042,4,6,1,59,59],
+          '2041102707:00:00','2041102701:00:00','2042040607:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,8,0,0],[2042,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,10,26,6,59,59],[2042,10,26,1,59,59],
+          '2042040608:00:00','2042040603:00:00','2042102606:59:59','2042102601:59:59' ],
+        [ [2042,10,26,7,0,0],[2042,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,4,5,7,59,59],[2043,4,5,1,59,59],
+          '2042102607:00:00','2042102601:00:00','2043040507:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,8,0,0],[2043,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,10,25,6,59,59],[2043,10,25,1,59,59],
+          '2043040508:00:00','2043040503:00:00','2043102506:59:59','2043102501:59:59' ],
+        [ [2043,10,25,7,0,0],[2043,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,4,3,7,59,59],[2044,4,3,1,59,59],
+          '2043102507:00:00','2043102501:00:00','2044040307:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,8,0,0],[2044,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,10,30,6,59,59],[2044,10,30,1,59,59],
+          '2044040308:00:00','2044040303:00:00','2044103006:59:59','2044103001:59:59' ],
+        [ [2044,10,30,7,0,0],[2044,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,4,2,7,59,59],[2045,4,2,1,59,59],
+          '2044103007:00:00','2044103001:00:00','2045040207:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,8,0,0],[2045,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,10,29,6,59,59],[2045,10,29,1,59,59],
+          '2045040208:00:00','2045040203:00:00','2045102906:59:59','2045102901:59:59' ],
+        [ [2045,10,29,7,0,0],[2045,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,4,1,7,59,59],[2046,4,1,1,59,59],
+          '2045102907:00:00','2045102901:00:00','2046040107:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,8,0,0],[2046,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,10,28,6,59,59],[2046,10,28,1,59,59],
+          '2046040108:00:00','2046040103:00:00','2046102806:59:59','2046102801:59:59' ],
+        [ [2046,10,28,7,0,0],[2046,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,4,7,7,59,59],[2047,4,7,1,59,59],
+          '2046102807:00:00','2046102801:00:00','2047040707:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,8,0,0],[2047,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,10,27,6,59,59],[2047,10,27,1,59,59],
+          '2047040708:00:00','2047040703:00:00','2047102706:59:59','2047102701:59:59' ],
+        [ [2047,10,27,7,0,0],[2047,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,4,5,7,59,59],[2048,4,5,1,59,59],
+          '2047102707:00:00','2047102701:00:00','2048040507:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,8,0,0],[2048,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,10,25,6,59,59],[2048,10,25,1,59,59],
+          '2048040508:00:00','2048040503:00:00','2048102506:59:59','2048102501:59:59' ],
+        [ [2048,10,25,7,0,0],[2048,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,4,4,7,59,59],[2049,4,4,1,59,59],
+          '2048102507:00:00','2048102501:00:00','2049040407:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,8,0,0],[2049,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,10,31,6,59,59],[2049,10,31,1,59,59],
+          '2049040408:00:00','2049040403:00:00','2049103106:59:59','2049103101:59:59' ],
+        [ [2049,10,31,7,0,0],[2049,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,4,3,7,59,59],[2050,4,3,1,59,59],
+          '2049103107:00:00','2049103101:00:00','2050040307:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,8,0,0],[2050,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,10,30,6,59,59],[2050,10,30,1,59,59],
+          '2050040308:00:00','2050040303:00:00','2050103006:59:59','2050103001:59:59' ],
+        [ [2050,10,30,7,0,0],[2050,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,4,2,7,59,59],[2051,4,2,1,59,59],
+          '2050103007:00:00','2050103001:00:00','2051040207:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,8,0,0],[2051,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,10,29,6,59,59],[2051,10,29,1,59,59],
+          '2051040208:00:00','2051040203:00:00','2051102906:59:59','2051102901:59:59' ],
+        [ [2051,10,29,7,0,0],[2051,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,4,7,7,59,59],[2052,4,7,1,59,59],
+          '2051102907:00:00','2051102901:00:00','2052040707:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,8,0,0],[2052,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,10,27,6,59,59],[2052,10,27,1,59,59],
+          '2052040708:00:00','2052040703:00:00','2052102706:59:59','2052102701:59:59' ],
+        [ [2052,10,27,7,0,0],[2052,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,4,6,7,59,59],[2053,4,6,1,59,59],
+          '2052102707:00:00','2052102701:00:00','2053040607:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,8,0,0],[2053,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,10,26,6,59,59],[2053,10,26,1,59,59],
+          '2053040608:00:00','2053040603:00:00','2053102606:59:59','2053102601:59:59' ],
+        [ [2053,10,26,7,0,0],[2053,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,4,5,7,59,59],[2054,4,5,1,59,59],
+          '2053102607:00:00','2053102601:00:00','2054040507:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,8,0,0],[2054,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,10,25,6,59,59],[2054,10,25,1,59,59],
+          '2054040508:00:00','2054040503:00:00','2054102506:59:59','2054102501:59:59' ],
+        [ [2054,10,25,7,0,0],[2054,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,4,4,7,59,59],[2055,4,4,1,59,59],
+          '2054102507:00:00','2054102501:00:00','2055040407:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,8,0,0],[2055,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,10,31,6,59,59],[2055,10,31,1,59,59],
+          '2055040408:00:00','2055040403:00:00','2055103106:59:59','2055103101:59:59' ],
+        [ [2055,10,31,7,0,0],[2055,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,4,2,7,59,59],[2056,4,2,1,59,59],
+          '2055103107:00:00','2055103101:00:00','2056040207:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,8,0,0],[2056,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,10,29,6,59,59],[2056,10,29,1,59,59],
+          '2056040208:00:00','2056040203:00:00','2056102906:59:59','2056102901:59:59' ],
+        [ [2056,10,29,7,0,0],[2056,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,4,1,7,59,59],[2057,4,1,1,59,59],
+          '2056102907:00:00','2056102901:00:00','2057040107:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,8,0,0],[2057,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,10,28,6,59,59],[2057,10,28,1,59,59],
+          '2057040108:00:00','2057040103:00:00','2057102806:59:59','2057102801:59:59' ],
+        [ [2057,10,28,7,0,0],[2057,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,4,7,7,59,59],[2058,4,7,1,59,59],
+          '2057102807:00:00','2057102801:00:00','2058040707:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,8,0,0],[2058,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,10,27,6,59,59],[2058,10,27,1,59,59],
+          '2058040708:00:00','2058040703:00:00','2058102706:59:59','2058102701:59:59' ],
+        [ [2058,10,27,7,0,0],[2058,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,4,6,7,59,59],[2059,4,6,1,59,59],
+          '2058102707:00:00','2058102701:00:00','2059040607:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,8,0,0],[2059,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,10,26,6,59,59],[2059,10,26,1,59,59],
+          '2059040608:00:00','2059040603:00:00','2059102606:59:59','2059102601:59:59' ],
+        [ [2059,10,26,7,0,0],[2059,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,4,4,7,59,59],[2060,4,4,1,59,59],
+          '2059102607:00:00','2059102601:00:00','2060040407:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,8,0,0],[2060,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,10,31,6,59,59],[2060,10,31,1,59,59],
+          '2060040408:00:00','2060040403:00:00','2060103106:59:59','2060103101:59:59' ],
+        [ [2060,10,31,7,0,0],[2060,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,4,3,7,59,59],[2061,4,3,1,59,59],
+          '2060103107:00:00','2060103101:00:00','2061040307:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,8,0,0],[2061,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,10,30,6,59,59],[2061,10,30,1,59,59],
+          '2061040308:00:00','2061040303:00:00','2061103006:59:59','2061103001:59:59' ],
+        [ [2061,10,30,7,0,0],[2061,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,4,2,7,59,59],[2062,4,2,1,59,59],
+          '2061103007:00:00','2061103001:00:00','2062040207:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,8,0,0],[2062,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,10,29,6,59,59],[2062,10,29,1,59,59],
+          '2062040208:00:00','2062040203:00:00','2062102906:59:59','2062102901:59:59' ],
+        [ [2062,10,29,7,0,0],[2062,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,4,1,7,59,59],[2063,4,1,1,59,59],
+          '2062102907:00:00','2062102901:00:00','2063040107:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,8,0,0],[2063,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,10,28,6,59,59],[2063,10,28,1,59,59],
+          '2063040108:00:00','2063040103:00:00','2063102806:59:59','2063102801:59:59' ],
+        [ [2063,10,28,7,0,0],[2063,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,4,6,7,59,59],[2064,4,6,1,59,59],
+          '2063102807:00:00','2063102801:00:00','2064040607:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,8,0,0],[2064,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,10,26,6,59,59],[2064,10,26,1,59,59],
+          '2064040608:00:00','2064040603:00:00','2064102606:59:59','2064102601:59:59' ],
+        [ [2064,10,26,7,0,0],[2064,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,4,5,7,59,59],[2065,4,5,1,59,59],
+          '2064102607:00:00','2064102601:00:00','2065040507:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,8,0,0],[2065,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,10,25,6,59,59],[2065,10,25,1,59,59],
+          '2065040508:00:00','2065040503:00:00','2065102506:59:59','2065102501:59:59' ],
+        [ [2065,10,25,7,0,0],[2065,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,4,4,7,59,59],[2066,4,4,1,59,59],
+          '2065102507:00:00','2065102501:00:00','2066040407:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,8,0,0],[2066,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,10,31,6,59,59],[2066,10,31,1,59,59],
+          '2066040408:00:00','2066040403:00:00','2066103106:59:59','2066103101:59:59' ],
+        [ [2066,10,31,7,0,0],[2066,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,4,3,7,59,59],[2067,4,3,1,59,59],
+          '2066103107:00:00','2066103101:00:00','2067040307:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,8,0,0],[2067,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,10,30,6,59,59],[2067,10,30,1,59,59],
+          '2067040308:00:00','2067040303:00:00','2067103006:59:59','2067103001:59:59' ],
+        [ [2067,10,30,7,0,0],[2067,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,4,1,7,59,59],[2068,4,1,1,59,59],
+          '2067103007:00:00','2067103001:00:00','2068040107:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammetl00.pm b/lib/Date/Manip/TZ/ammetl00.pm
new file mode 100644
index 0000000..5cc2da7
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammetl00.pm
@@ -0,0 +1,703 @@
+package #
+Date::Manip::TZ::ammetl00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,15,13,42],'+15:13:42',[15,13,42],
+          'LMT',0,[1867,10,17,8,46,17],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010215:13:42','1867101708:46:17','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,8,46,18],[1867,10,17,0,0,0],'-08:46:18',[-8,-46,-18],
+          'LMT',0,[1900,8,20,20,46,17],[1900,8,20,11,59,59],
+          '1867101708:46:18','1867101700:00:00','1900082020:46:17','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,20,46,18],[1900,8,20,12,46,18],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1900082020:46:18','1900082012:46:18','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,1,6,9,59,59],[1974,1,6,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974010609:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,10,0,0],[1974,1,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974010610:00:00','1974010603:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,2,23,9,59,59],[1975,2,23,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975022309:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,10,0,0],[1975,2,23,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975022310:00:00','1975022303:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '1983103009:00:00','1983103001:00:00','2015110109:59:59','2015110101:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammexi00.pm b/lib/Date/Manip/TZ/ammexi00.pm
new file mode 100644
index 0000000..0bcdd17
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammexi00.pm
@@ -0,0 +1,790 @@
+package #
+Date::Manip::TZ::ammexi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,23,24],'-06:36:36',[-6,-36,-36],
+          'LMT',0,[1922,1,1,6,59,59],[1922,1,1,0,23,23],
+          '0001010200:00:00','0001010117:23:24','1922010106:59:59','1922010100:23:23' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1939,2,5,5,59,59],[1939,2,4,23,59,59],
+          '1932040107:00:00','1932040101:00:00','1939020505:59:59','1939020423:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,2,5,6,0,0],[1939,2,5,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1939,6,25,4,59,59],[1939,6,24,23,59,59],
+          '1939020506:00:00','1939020501:00:00','1939062504:59:59','1939062423:59:59' ],
+        [ [1939,6,25,5,0,0],[1939,6,24,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1940,12,9,5,59,59],[1940,12,8,23,59,59],
+          '1939062505:00:00','1939062423:00:00','1940120905:59:59','1940120823:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,12,9,6,0,0],[1940,12,9,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1941,4,1,4,59,59],[1941,3,31,23,59,59],
+          '1940120906:00:00','1940120901:00:00','1941040104:59:59','1941033123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,1,5,0,0],[1941,3,31,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1943,12,16,5,59,59],[1943,12,15,23,59,59],
+          '1941040105:00:00','1941033123:00:00','1943121605:59:59','1943121523:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,12,16,6,0,0],[1943,12,16,1,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1944,5,1,4,59,59],[1944,4,30,23,59,59],
+          '1943121606:00:00','1943121601:00:00','1944050104:59:59','1944043023:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,5,1,5,0,0],[1944,4,30,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,2,12,5,59,59],[1950,2,11,23,59,59],
+          '1944050105:00:00','1944043023:00:00','1950021205:59:59','1950021123:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,2,12,6,0,0],[1950,2,12,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,7,30,4,59,59],[1950,7,29,23,59,59],
+          '1950021206:00:00','1950021201:00:00','1950073004:59:59','1950072923:59:59' ],
+        [ [1950,7,30,5,0,0],[1950,7,29,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1950073005:00:00','1950072923:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,5,6,7,59,59],[2001,5,6,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001050607:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,8,0,0],[2001,5,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,9,30,6,59,59],[2001,9,30,1,59,59],
+          '2001050608:00:00','2001050603:00:00','2001093006:59:59','2001093001:59:59' ],
+        [ [2001,9,30,7,0,0],[2001,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001093007:00:00','2001093001:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,4,1,7,59,59],[2007,4,1,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007040107:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,8,0,0],[2007,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,10,28,6,59,59],[2007,10,28,1,59,59],
+          '2007040108:00:00','2007040103:00:00','2007102806:59:59','2007102801:59:59' ],
+        [ [2007,10,28,7,0,0],[2007,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,4,6,7,59,59],[2008,4,6,1,59,59],
+          '2007102807:00:00','2007102801:00:00','2008040607:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,8,0,0],[2008,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,10,26,6,59,59],[2008,10,26,1,59,59],
+          '2008040608:00:00','2008040603:00:00','2008102606:59:59','2008102601:59:59' ],
+        [ [2008,10,26,7,0,0],[2008,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,4,5,7,59,59],[2009,4,5,1,59,59],
+          '2008102607:00:00','2008102601:00:00','2009040507:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,8,0,0],[2009,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,10,25,6,59,59],[2009,10,25,1,59,59],
+          '2009040508:00:00','2009040503:00:00','2009102506:59:59','2009102501:59:59' ],
+        [ [2009,10,25,7,0,0],[2009,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,4,4,7,59,59],[2010,4,4,1,59,59],
+          '2009102507:00:00','2009102501:00:00','2010040407:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,8,0,0],[2010,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,10,31,6,59,59],[2010,10,31,1,59,59],
+          '2010040408:00:00','2010040403:00:00','2010103106:59:59','2010103101:59:59' ],
+        [ [2010,10,31,7,0,0],[2010,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,4,3,7,59,59],[2011,4,3,1,59,59],
+          '2010103107:00:00','2010103101:00:00','2011040307:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,8,0,0],[2011,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,10,30,6,59,59],[2011,10,30,1,59,59],
+          '2011040308:00:00','2011040303:00:00','2011103006:59:59','2011103001:59:59' ],
+        [ [2011,10,30,7,0,0],[2011,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,4,1,7,59,59],[2012,4,1,1,59,59],
+          '2011103007:00:00','2011103001:00:00','2012040107:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,8,0,0],[2012,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,10,28,6,59,59],[2012,10,28,1,59,59],
+          '2012040108:00:00','2012040103:00:00','2012102806:59:59','2012102801:59:59' ],
+        [ [2012,10,28,7,0,0],[2012,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,4,7,7,59,59],[2013,4,7,1,59,59],
+          '2012102807:00:00','2012102801:00:00','2013040707:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,8,0,0],[2013,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,10,27,6,59,59],[2013,10,27,1,59,59],
+          '2013040708:00:00','2013040703:00:00','2013102706:59:59','2013102701:59:59' ],
+        [ [2013,10,27,7,0,0],[2013,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,4,6,7,59,59],[2014,4,6,1,59,59],
+          '2013102707:00:00','2013102701:00:00','2014040607:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,8,0,0],[2014,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,10,26,6,59,59],[2014,10,26,1,59,59],
+          '2014040608:00:00','2014040603:00:00','2014102606:59:59','2014102601:59:59' ],
+        [ [2014,10,26,7,0,0],[2014,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,4,5,7,59,59],[2015,4,5,1,59,59],
+          '2014102607:00:00','2014102601:00:00','2015040507:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,8,0,0],[2015,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,10,25,6,59,59],[2015,10,25,1,59,59],
+          '2015040508:00:00','2015040503:00:00','2015102506:59:59','2015102501:59:59' ],
+        [ [2015,10,25,7,0,0],[2015,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,4,3,7,59,59],[2016,4,3,1,59,59],
+          '2015102507:00:00','2015102501:00:00','2016040307:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,8,0,0],[2016,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,10,30,6,59,59],[2016,10,30,1,59,59],
+          '2016040308:00:00','2016040303:00:00','2016103006:59:59','2016103001:59:59' ],
+        [ [2016,10,30,7,0,0],[2016,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,4,2,7,59,59],[2017,4,2,1,59,59],
+          '2016103007:00:00','2016103001:00:00','2017040207:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,8,0,0],[2017,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,10,29,6,59,59],[2017,10,29,1,59,59],
+          '2017040208:00:00','2017040203:00:00','2017102906:59:59','2017102901:59:59' ],
+        [ [2017,10,29,7,0,0],[2017,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,4,1,7,59,59],[2018,4,1,1,59,59],
+          '2017102907:00:00','2017102901:00:00','2018040107:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,8,0,0],[2018,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,10,28,6,59,59],[2018,10,28,1,59,59],
+          '2018040108:00:00','2018040103:00:00','2018102806:59:59','2018102801:59:59' ],
+        [ [2018,10,28,7,0,0],[2018,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,4,7,7,59,59],[2019,4,7,1,59,59],
+          '2018102807:00:00','2018102801:00:00','2019040707:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,8,0,0],[2019,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,10,27,6,59,59],[2019,10,27,1,59,59],
+          '2019040708:00:00','2019040703:00:00','2019102706:59:59','2019102701:59:59' ],
+        [ [2019,10,27,7,0,0],[2019,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,4,5,7,59,59],[2020,4,5,1,59,59],
+          '2019102707:00:00','2019102701:00:00','2020040507:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,8,0,0],[2020,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,10,25,6,59,59],[2020,10,25,1,59,59],
+          '2020040508:00:00','2020040503:00:00','2020102506:59:59','2020102501:59:59' ],
+        [ [2020,10,25,7,0,0],[2020,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,4,4,7,59,59],[2021,4,4,1,59,59],
+          '2020102507:00:00','2020102501:00:00','2021040407:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,8,0,0],[2021,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,10,31,6,59,59],[2021,10,31,1,59,59],
+          '2021040408:00:00','2021040403:00:00','2021103106:59:59','2021103101:59:59' ],
+        [ [2021,10,31,7,0,0],[2021,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,4,3,7,59,59],[2022,4,3,1,59,59],
+          '2021103107:00:00','2021103101:00:00','2022040307:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,8,0,0],[2022,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,10,30,6,59,59],[2022,10,30,1,59,59],
+          '2022040308:00:00','2022040303:00:00','2022103006:59:59','2022103001:59:59' ],
+        [ [2022,10,30,7,0,0],[2022,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,4,2,7,59,59],[2023,4,2,1,59,59],
+          '2022103007:00:00','2022103001:00:00','2023040207:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,8,0,0],[2023,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,10,29,6,59,59],[2023,10,29,1,59,59],
+          '2023040208:00:00','2023040203:00:00','2023102906:59:59','2023102901:59:59' ],
+        [ [2023,10,29,7,0,0],[2023,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,4,7,7,59,59],[2024,4,7,1,59,59],
+          '2023102907:00:00','2023102901:00:00','2024040707:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,8,0,0],[2024,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,10,27,6,59,59],[2024,10,27,1,59,59],
+          '2024040708:00:00','2024040703:00:00','2024102706:59:59','2024102701:59:59' ],
+        [ [2024,10,27,7,0,0],[2024,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,4,6,7,59,59],[2025,4,6,1,59,59],
+          '2024102707:00:00','2024102701:00:00','2025040607:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,8,0,0],[2025,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,10,26,6,59,59],[2025,10,26,1,59,59],
+          '2025040608:00:00','2025040603:00:00','2025102606:59:59','2025102601:59:59' ],
+        [ [2025,10,26,7,0,0],[2025,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,4,5,7,59,59],[2026,4,5,1,59,59],
+          '2025102607:00:00','2025102601:00:00','2026040507:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,8,0,0],[2026,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,10,25,6,59,59],[2026,10,25,1,59,59],
+          '2026040508:00:00','2026040503:00:00','2026102506:59:59','2026102501:59:59' ],
+        [ [2026,10,25,7,0,0],[2026,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,4,4,7,59,59],[2027,4,4,1,59,59],
+          '2026102507:00:00','2026102501:00:00','2027040407:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,8,0,0],[2027,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,10,31,6,59,59],[2027,10,31,1,59,59],
+          '2027040408:00:00','2027040403:00:00','2027103106:59:59','2027103101:59:59' ],
+        [ [2027,10,31,7,0,0],[2027,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,4,2,7,59,59],[2028,4,2,1,59,59],
+          '2027103107:00:00','2027103101:00:00','2028040207:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,8,0,0],[2028,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,10,29,6,59,59],[2028,10,29,1,59,59],
+          '2028040208:00:00','2028040203:00:00','2028102906:59:59','2028102901:59:59' ],
+        [ [2028,10,29,7,0,0],[2028,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,4,1,7,59,59],[2029,4,1,1,59,59],
+          '2028102907:00:00','2028102901:00:00','2029040107:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,8,0,0],[2029,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,10,28,6,59,59],[2029,10,28,1,59,59],
+          '2029040108:00:00','2029040103:00:00','2029102806:59:59','2029102801:59:59' ],
+        [ [2029,10,28,7,0,0],[2029,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,4,7,7,59,59],[2030,4,7,1,59,59],
+          '2029102807:00:00','2029102801:00:00','2030040707:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,8,0,0],[2030,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,10,27,6,59,59],[2030,10,27,1,59,59],
+          '2030040708:00:00','2030040703:00:00','2030102706:59:59','2030102701:59:59' ],
+        [ [2030,10,27,7,0,0],[2030,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,4,6,7,59,59],[2031,4,6,1,59,59],
+          '2030102707:00:00','2030102701:00:00','2031040607:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,8,0,0],[2031,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,10,26,6,59,59],[2031,10,26,1,59,59],
+          '2031040608:00:00','2031040603:00:00','2031102606:59:59','2031102601:59:59' ],
+        [ [2031,10,26,7,0,0],[2031,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,4,4,7,59,59],[2032,4,4,1,59,59],
+          '2031102607:00:00','2031102601:00:00','2032040407:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,8,0,0],[2032,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,10,31,6,59,59],[2032,10,31,1,59,59],
+          '2032040408:00:00','2032040403:00:00','2032103106:59:59','2032103101:59:59' ],
+        [ [2032,10,31,7,0,0],[2032,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,4,3,7,59,59],[2033,4,3,1,59,59],
+          '2032103107:00:00','2032103101:00:00','2033040307:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,8,0,0],[2033,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,10,30,6,59,59],[2033,10,30,1,59,59],
+          '2033040308:00:00','2033040303:00:00','2033103006:59:59','2033103001:59:59' ],
+        [ [2033,10,30,7,0,0],[2033,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,4,2,7,59,59],[2034,4,2,1,59,59],
+          '2033103007:00:00','2033103001:00:00','2034040207:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,8,0,0],[2034,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,10,29,6,59,59],[2034,10,29,1,59,59],
+          '2034040208:00:00','2034040203:00:00','2034102906:59:59','2034102901:59:59' ],
+        [ [2034,10,29,7,0,0],[2034,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,4,1,7,59,59],[2035,4,1,1,59,59],
+          '2034102907:00:00','2034102901:00:00','2035040107:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,8,0,0],[2035,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,10,28,6,59,59],[2035,10,28,1,59,59],
+          '2035040108:00:00','2035040103:00:00','2035102806:59:59','2035102801:59:59' ],
+        [ [2035,10,28,7,0,0],[2035,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,4,6,7,59,59],[2036,4,6,1,59,59],
+          '2035102807:00:00','2035102801:00:00','2036040607:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,8,0,0],[2036,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,10,26,6,59,59],[2036,10,26,1,59,59],
+          '2036040608:00:00','2036040603:00:00','2036102606:59:59','2036102601:59:59' ],
+        [ [2036,10,26,7,0,0],[2036,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,4,5,7,59,59],[2037,4,5,1,59,59],
+          '2036102607:00:00','2036102601:00:00','2037040507:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,8,0,0],[2037,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,10,25,6,59,59],[2037,10,25,1,59,59],
+          '2037040508:00:00','2037040503:00:00','2037102506:59:59','2037102501:59:59' ],
+        [ [2037,10,25,7,0,0],[2037,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,4,4,7,59,59],[2038,4,4,1,59,59],
+          '2037102507:00:00','2037102501:00:00','2038040407:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,8,0,0],[2038,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,10,31,6,59,59],[2038,10,31,1,59,59],
+          '2038040408:00:00','2038040403:00:00','2038103106:59:59','2038103101:59:59' ],
+        [ [2038,10,31,7,0,0],[2038,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,4,3,7,59,59],[2039,4,3,1,59,59],
+          '2038103107:00:00','2038103101:00:00','2039040307:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,8,0,0],[2039,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,10,30,6,59,59],[2039,10,30,1,59,59],
+          '2039040308:00:00','2039040303:00:00','2039103006:59:59','2039103001:59:59' ],
+        [ [2039,10,30,7,0,0],[2039,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,4,1,7,59,59],[2040,4,1,1,59,59],
+          '2039103007:00:00','2039103001:00:00','2040040107:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,8,0,0],[2040,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,10,28,6,59,59],[2040,10,28,1,59,59],
+          '2040040108:00:00','2040040103:00:00','2040102806:59:59','2040102801:59:59' ],
+        [ [2040,10,28,7,0,0],[2040,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,4,7,7,59,59],[2041,4,7,1,59,59],
+          '2040102807:00:00','2040102801:00:00','2041040707:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,8,0,0],[2041,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,10,27,6,59,59],[2041,10,27,1,59,59],
+          '2041040708:00:00','2041040703:00:00','2041102706:59:59','2041102701:59:59' ],
+        [ [2041,10,27,7,0,0],[2041,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,4,6,7,59,59],[2042,4,6,1,59,59],
+          '2041102707:00:00','2041102701:00:00','2042040607:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,8,0,0],[2042,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,10,26,6,59,59],[2042,10,26,1,59,59],
+          '2042040608:00:00','2042040603:00:00','2042102606:59:59','2042102601:59:59' ],
+        [ [2042,10,26,7,0,0],[2042,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,4,5,7,59,59],[2043,4,5,1,59,59],
+          '2042102607:00:00','2042102601:00:00','2043040507:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,8,0,0],[2043,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,10,25,6,59,59],[2043,10,25,1,59,59],
+          '2043040508:00:00','2043040503:00:00','2043102506:59:59','2043102501:59:59' ],
+        [ [2043,10,25,7,0,0],[2043,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,4,3,7,59,59],[2044,4,3,1,59,59],
+          '2043102507:00:00','2043102501:00:00','2044040307:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,8,0,0],[2044,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,10,30,6,59,59],[2044,10,30,1,59,59],
+          '2044040308:00:00','2044040303:00:00','2044103006:59:59','2044103001:59:59' ],
+        [ [2044,10,30,7,0,0],[2044,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,4,2,7,59,59],[2045,4,2,1,59,59],
+          '2044103007:00:00','2044103001:00:00','2045040207:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,8,0,0],[2045,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,10,29,6,59,59],[2045,10,29,1,59,59],
+          '2045040208:00:00','2045040203:00:00','2045102906:59:59','2045102901:59:59' ],
+        [ [2045,10,29,7,0,0],[2045,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,4,1,7,59,59],[2046,4,1,1,59,59],
+          '2045102907:00:00','2045102901:00:00','2046040107:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,8,0,0],[2046,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,10,28,6,59,59],[2046,10,28,1,59,59],
+          '2046040108:00:00','2046040103:00:00','2046102806:59:59','2046102801:59:59' ],
+        [ [2046,10,28,7,0,0],[2046,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,4,7,7,59,59],[2047,4,7,1,59,59],
+          '2046102807:00:00','2046102801:00:00','2047040707:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,8,0,0],[2047,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,10,27,6,59,59],[2047,10,27,1,59,59],
+          '2047040708:00:00','2047040703:00:00','2047102706:59:59','2047102701:59:59' ],
+        [ [2047,10,27,7,0,0],[2047,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,4,5,7,59,59],[2048,4,5,1,59,59],
+          '2047102707:00:00','2047102701:00:00','2048040507:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,8,0,0],[2048,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,10,25,6,59,59],[2048,10,25,1,59,59],
+          '2048040508:00:00','2048040503:00:00','2048102506:59:59','2048102501:59:59' ],
+        [ [2048,10,25,7,0,0],[2048,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,4,4,7,59,59],[2049,4,4,1,59,59],
+          '2048102507:00:00','2048102501:00:00','2049040407:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,8,0,0],[2049,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,10,31,6,59,59],[2049,10,31,1,59,59],
+          '2049040408:00:00','2049040403:00:00','2049103106:59:59','2049103101:59:59' ],
+        [ [2049,10,31,7,0,0],[2049,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,4,3,7,59,59],[2050,4,3,1,59,59],
+          '2049103107:00:00','2049103101:00:00','2050040307:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,8,0,0],[2050,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,10,30,6,59,59],[2050,10,30,1,59,59],
+          '2050040308:00:00','2050040303:00:00','2050103006:59:59','2050103001:59:59' ],
+        [ [2050,10,30,7,0,0],[2050,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,4,2,7,59,59],[2051,4,2,1,59,59],
+          '2050103007:00:00','2050103001:00:00','2051040207:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,8,0,0],[2051,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,10,29,6,59,59],[2051,10,29,1,59,59],
+          '2051040208:00:00','2051040203:00:00','2051102906:59:59','2051102901:59:59' ],
+        [ [2051,10,29,7,0,0],[2051,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,4,7,7,59,59],[2052,4,7,1,59,59],
+          '2051102907:00:00','2051102901:00:00','2052040707:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,8,0,0],[2052,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,10,27,6,59,59],[2052,10,27,1,59,59],
+          '2052040708:00:00','2052040703:00:00','2052102706:59:59','2052102701:59:59' ],
+        [ [2052,10,27,7,0,0],[2052,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,4,6,7,59,59],[2053,4,6,1,59,59],
+          '2052102707:00:00','2052102701:00:00','2053040607:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,8,0,0],[2053,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,10,26,6,59,59],[2053,10,26,1,59,59],
+          '2053040608:00:00','2053040603:00:00','2053102606:59:59','2053102601:59:59' ],
+        [ [2053,10,26,7,0,0],[2053,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,4,5,7,59,59],[2054,4,5,1,59,59],
+          '2053102607:00:00','2053102601:00:00','2054040507:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,8,0,0],[2054,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,10,25,6,59,59],[2054,10,25,1,59,59],
+          '2054040508:00:00','2054040503:00:00','2054102506:59:59','2054102501:59:59' ],
+        [ [2054,10,25,7,0,0],[2054,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,4,4,7,59,59],[2055,4,4,1,59,59],
+          '2054102507:00:00','2054102501:00:00','2055040407:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,8,0,0],[2055,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,10,31,6,59,59],[2055,10,31,1,59,59],
+          '2055040408:00:00','2055040403:00:00','2055103106:59:59','2055103101:59:59' ],
+        [ [2055,10,31,7,0,0],[2055,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,4,2,7,59,59],[2056,4,2,1,59,59],
+          '2055103107:00:00','2055103101:00:00','2056040207:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,8,0,0],[2056,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,10,29,6,59,59],[2056,10,29,1,59,59],
+          '2056040208:00:00','2056040203:00:00','2056102906:59:59','2056102901:59:59' ],
+        [ [2056,10,29,7,0,0],[2056,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,4,1,7,59,59],[2057,4,1,1,59,59],
+          '2056102907:00:00','2056102901:00:00','2057040107:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,8,0,0],[2057,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,10,28,6,59,59],[2057,10,28,1,59,59],
+          '2057040108:00:00','2057040103:00:00','2057102806:59:59','2057102801:59:59' ],
+        [ [2057,10,28,7,0,0],[2057,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,4,7,7,59,59],[2058,4,7,1,59,59],
+          '2057102807:00:00','2057102801:00:00','2058040707:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,8,0,0],[2058,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,10,27,6,59,59],[2058,10,27,1,59,59],
+          '2058040708:00:00','2058040703:00:00','2058102706:59:59','2058102701:59:59' ],
+        [ [2058,10,27,7,0,0],[2058,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,4,6,7,59,59],[2059,4,6,1,59,59],
+          '2058102707:00:00','2058102701:00:00','2059040607:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,8,0,0],[2059,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,10,26,6,59,59],[2059,10,26,1,59,59],
+          '2059040608:00:00','2059040603:00:00','2059102606:59:59','2059102601:59:59' ],
+        [ [2059,10,26,7,0,0],[2059,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,4,4,7,59,59],[2060,4,4,1,59,59],
+          '2059102607:00:00','2059102601:00:00','2060040407:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,8,0,0],[2060,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,10,31,6,59,59],[2060,10,31,1,59,59],
+          '2060040408:00:00','2060040403:00:00','2060103106:59:59','2060103101:59:59' ],
+        [ [2060,10,31,7,0,0],[2060,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,4,3,7,59,59],[2061,4,3,1,59,59],
+          '2060103107:00:00','2060103101:00:00','2061040307:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,8,0,0],[2061,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,10,30,6,59,59],[2061,10,30,1,59,59],
+          '2061040308:00:00','2061040303:00:00','2061103006:59:59','2061103001:59:59' ],
+        [ [2061,10,30,7,0,0],[2061,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,4,2,7,59,59],[2062,4,2,1,59,59],
+          '2061103007:00:00','2061103001:00:00','2062040207:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,8,0,0],[2062,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,10,29,6,59,59],[2062,10,29,1,59,59],
+          '2062040208:00:00','2062040203:00:00','2062102906:59:59','2062102901:59:59' ],
+        [ [2062,10,29,7,0,0],[2062,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,4,1,7,59,59],[2063,4,1,1,59,59],
+          '2062102907:00:00','2062102901:00:00','2063040107:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,8,0,0],[2063,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,10,28,6,59,59],[2063,10,28,1,59,59],
+          '2063040108:00:00','2063040103:00:00','2063102806:59:59','2063102801:59:59' ],
+        [ [2063,10,28,7,0,0],[2063,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,4,6,7,59,59],[2064,4,6,1,59,59],
+          '2063102807:00:00','2063102801:00:00','2064040607:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,8,0,0],[2064,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,10,26,6,59,59],[2064,10,26,1,59,59],
+          '2064040608:00:00','2064040603:00:00','2064102606:59:59','2064102601:59:59' ],
+        [ [2064,10,26,7,0,0],[2064,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,4,5,7,59,59],[2065,4,5,1,59,59],
+          '2064102607:00:00','2064102601:00:00','2065040507:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,8,0,0],[2065,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,10,25,6,59,59],[2065,10,25,1,59,59],
+          '2065040508:00:00','2065040503:00:00','2065102506:59:59','2065102501:59:59' ],
+        [ [2065,10,25,7,0,0],[2065,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,4,4,7,59,59],[2066,4,4,1,59,59],
+          '2065102507:00:00','2065102501:00:00','2066040407:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,8,0,0],[2066,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,10,31,6,59,59],[2066,10,31,1,59,59],
+          '2066040408:00:00','2066040403:00:00','2066103106:59:59','2066103101:59:59' ],
+        [ [2066,10,31,7,0,0],[2066,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,4,3,7,59,59],[2067,4,3,1,59,59],
+          '2066103107:00:00','2066103101:00:00','2067040307:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,8,0,0],[2067,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,10,30,6,59,59],[2067,10,30,1,59,59],
+          '2067040308:00:00','2067040303:00:00','2067103006:59:59','2067103001:59:59' ],
+        [ [2067,10,30,7,0,0],[2067,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,4,1,7,59,59],[2068,4,1,1,59,59],
+          '2067103007:00:00','2067103001:00:00','2068040107:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammiqu00.pm b/lib/Date/Manip/TZ/ammiqu00.pm
new file mode 100644
index 0000000..b3605f7
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammiqu00.pm
@@ -0,0 +1,808 @@
+package #
+Date::Manip::TZ::ammiqu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,15,20],'-03:44:40',[-3,-44,-40],
+          'LMT',0,[1911,5,15,3,44,39],[1911,5,14,23,59,59],
+          '0001010200:00:00','0001010120:15:20','1911051503:44:39','1911051423:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,5,15,3,44,40],[1911,5,14,23,44,40],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,5,1,3,59,59],[1980,4,30,23,59,59],
+          '1911051503:44:40','1911051423:44:40','1980050103:59:59','1980043023:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,5,1,4,0,0],[1980,5,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,4,5,4,59,59],[1987,4,5,1,59,59],
+          '1980050104:00:00','1980050101:00:00','1987040504:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,5,0,0],[1987,4,5,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,10,25,3,59,59],[1987,10,25,1,59,59],
+          '1987040505:00:00','1987040503:00:00','1987102503:59:59','1987102501:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,4,3,4,59,59],[1988,4,3,1,59,59],
+          '1987102504:00:00','1987102501:00:00','1988040304:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,5,0,0],[1988,4,3,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,10,30,3,59,59],[1988,10,30,1,59,59],
+          '1988040305:00:00','1988040303:00:00','1988103003:59:59','1988103001:59:59' ],
+        [ [1988,10,30,4,0,0],[1988,10,30,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,4,2,4,59,59],[1989,4,2,1,59,59],
+          '1988103004:00:00','1988103001:00:00','1989040204:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,5,0,0],[1989,4,2,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,10,29,3,59,59],[1989,10,29,1,59,59],
+          '1989040205:00:00','1989040203:00:00','1989102903:59:59','1989102901:59:59' ],
+        [ [1989,10,29,4,0,0],[1989,10,29,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,4,1,4,59,59],[1990,4,1,1,59,59],
+          '1989102904:00:00','1989102901:00:00','1990040104:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,5,0,0],[1990,4,1,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,10,28,3,59,59],[1990,10,28,1,59,59],
+          '1990040105:00:00','1990040103:00:00','1990102803:59:59','1990102801:59:59' ],
+        [ [1990,10,28,4,0,0],[1990,10,28,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,4,7,4,59,59],[1991,4,7,1,59,59],
+          '1990102804:00:00','1990102801:00:00','1991040704:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,5,0,0],[1991,4,7,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,10,27,3,59,59],[1991,10,27,1,59,59],
+          '1991040705:00:00','1991040703:00:00','1991102703:59:59','1991102701:59:59' ],
+        [ [1991,10,27,4,0,0],[1991,10,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,4,5,4,59,59],[1992,4,5,1,59,59],
+          '1991102704:00:00','1991102701:00:00','1992040504:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,5,0,0],[1992,4,5,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,10,25,3,59,59],[1992,10,25,1,59,59],
+          '1992040505:00:00','1992040503:00:00','1992102503:59:59','1992102501:59:59' ],
+        [ [1992,10,25,4,0,0],[1992,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1993,4,4,4,59,59],[1993,4,4,1,59,59],
+          '1992102504:00:00','1992102501:00:00','1993040404:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,5,0,0],[1993,4,4,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,10,31,3,59,59],[1993,10,31,1,59,59],
+          '1993040405:00:00','1993040403:00:00','1993103103:59:59','1993103101:59:59' ],
+        [ [1993,10,31,4,0,0],[1993,10,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1994,4,3,4,59,59],[1994,4,3,1,59,59],
+          '1993103104:00:00','1993103101:00:00','1994040304:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,5,0,0],[1994,4,3,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1994,10,30,3,59,59],[1994,10,30,1,59,59],
+          '1994040305:00:00','1994040303:00:00','1994103003:59:59','1994103001:59:59' ],
+        [ [1994,10,30,4,0,0],[1994,10,30,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,4,2,4,59,59],[1995,4,2,1,59,59],
+          '1994103004:00:00','1994103001:00:00','1995040204:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,5,0,0],[1995,4,2,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1995,10,29,3,59,59],[1995,10,29,1,59,59],
+          '1995040205:00:00','1995040203:00:00','1995102903:59:59','1995102901:59:59' ],
+        [ [1995,10,29,4,0,0],[1995,10,29,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,4,7,4,59,59],[1996,4,7,1,59,59],
+          '1995102904:00:00','1995102901:00:00','1996040704:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,5,0,0],[1996,4,7,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,10,27,3,59,59],[1996,10,27,1,59,59],
+          '1996040705:00:00','1996040703:00:00','1996102703:59:59','1996102701:59:59' ],
+        [ [1996,10,27,4,0,0],[1996,10,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1997,4,6,4,59,59],[1997,4,6,1,59,59],
+          '1996102704:00:00','1996102701:00:00','1997040604:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,5,0,0],[1997,4,6,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1997,10,26,3,59,59],[1997,10,26,1,59,59],
+          '1997040605:00:00','1997040603:00:00','1997102603:59:59','1997102601:59:59' ],
+        [ [1997,10,26,4,0,0],[1997,10,26,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1998,4,5,4,59,59],[1998,4,5,1,59,59],
+          '1997102604:00:00','1997102601:00:00','1998040504:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,5,0,0],[1998,4,5,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1998,10,25,3,59,59],[1998,10,25,1,59,59],
+          '1998040505:00:00','1998040503:00:00','1998102503:59:59','1998102501:59:59' ],
+        [ [1998,10,25,4,0,0],[1998,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,4,4,4,59,59],[1999,4,4,1,59,59],
+          '1998102504:00:00','1998102501:00:00','1999040404:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,5,0,0],[1999,4,4,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1999,10,31,3,59,59],[1999,10,31,1,59,59],
+          '1999040405:00:00','1999040403:00:00','1999103103:59:59','1999103101:59:59' ],
+        [ [1999,10,31,4,0,0],[1999,10,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,4,2,4,59,59],[2000,4,2,1,59,59],
+          '1999103104:00:00','1999103101:00:00','2000040204:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,5,0,0],[2000,4,2,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,10,29,3,59,59],[2000,10,29,1,59,59],
+          '2000040205:00:00','2000040203:00:00','2000102903:59:59','2000102901:59:59' ],
+        [ [2000,10,29,4,0,0],[2000,10,29,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,4,1,4,59,59],[2001,4,1,1,59,59],
+          '2000102904:00:00','2000102901:00:00','2001040104:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,5,0,0],[2001,4,1,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2001,10,28,3,59,59],[2001,10,28,1,59,59],
+          '2001040105:00:00','2001040103:00:00','2001102803:59:59','2001102801:59:59' ],
+        [ [2001,10,28,4,0,0],[2001,10,28,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2002,4,7,4,59,59],[2002,4,7,1,59,59],
+          '2001102804:00:00','2001102801:00:00','2002040704:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,5,0,0],[2002,4,7,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,10,27,3,59,59],[2002,10,27,1,59,59],
+          '2002040705:00:00','2002040703:00:00','2002102703:59:59','2002102701:59:59' ],
+        [ [2002,10,27,4,0,0],[2002,10,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2003,4,6,4,59,59],[2003,4,6,1,59,59],
+          '2002102704:00:00','2002102701:00:00','2003040604:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,5,0,0],[2003,4,6,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2003,10,26,3,59,59],[2003,10,26,1,59,59],
+          '2003040605:00:00','2003040603:00:00','2003102603:59:59','2003102601:59:59' ],
+        [ [2003,10,26,4,0,0],[2003,10,26,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,4,4,4,59,59],[2004,4,4,1,59,59],
+          '2003102604:00:00','2003102601:00:00','2004040404:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,5,0,0],[2004,4,4,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2004,10,31,3,59,59],[2004,10,31,1,59,59],
+          '2004040405:00:00','2004040403:00:00','2004103103:59:59','2004103101:59:59' ],
+        [ [2004,10,31,4,0,0],[2004,10,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2005,4,3,4,59,59],[2005,4,3,1,59,59],
+          '2004103104:00:00','2004103101:00:00','2005040304:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,5,0,0],[2005,4,3,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2005,10,30,3,59,59],[2005,10,30,1,59,59],
+          '2005040305:00:00','2005040303:00:00','2005103003:59:59','2005103001:59:59' ],
+        [ [2005,10,30,4,0,0],[2005,10,30,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2006,4,2,4,59,59],[2006,4,2,1,59,59],
+          '2005103004:00:00','2005103001:00:00','2006040204:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,5,0,0],[2006,4,2,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2006,10,29,3,59,59],[2006,10,29,1,59,59],
+          '2006040205:00:00','2006040203:00:00','2006102903:59:59','2006102901:59:59' ],
+        [ [2006,10,29,4,0,0],[2006,10,29,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,3,11,4,59,59],[2007,3,11,1,59,59],
+          '2006102904:00:00','2006102901:00:00','2007031104:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,5,0,0],[2007,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2007,11,4,3,59,59],[2007,11,4,1,59,59],
+          '2007031105:00:00','2007031103:00:00','2007110403:59:59','2007110401:59:59' ],
+        [ [2007,11,4,4,0,0],[2007,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,3,9,4,59,59],[2008,3,9,1,59,59],
+          '2007110404:00:00','2007110401:00:00','2008030904:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,5,0,0],[2008,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,11,2,3,59,59],[2008,11,2,1,59,59],
+          '2008030905:00:00','2008030903:00:00','2008110203:59:59','2008110201:59:59' ],
+        [ [2008,11,2,4,0,0],[2008,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2009,3,8,4,59,59],[2009,3,8,1,59,59],
+          '2008110204:00:00','2008110201:00:00','2009030804:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,5,0,0],[2009,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,11,1,3,59,59],[2009,11,1,1,59,59],
+          '2009030805:00:00','2009030803:00:00','2009110103:59:59','2009110101:59:59' ],
+        [ [2009,11,1,4,0,0],[2009,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2010,3,14,4,59,59],[2010,3,14,1,59,59],
+          '2009110104:00:00','2009110101:00:00','2010031404:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,5,0,0],[2010,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2010,11,7,3,59,59],[2010,11,7,1,59,59],
+          '2010031405:00:00','2010031403:00:00','2010110703:59:59','2010110701:59:59' ],
+        [ [2010,11,7,4,0,0],[2010,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2011,3,13,4,59,59],[2011,3,13,1,59,59],
+          '2010110704:00:00','2010110701:00:00','2011031304:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,5,0,0],[2011,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2011,11,6,3,59,59],[2011,11,6,1,59,59],
+          '2011031305:00:00','2011031303:00:00','2011110603:59:59','2011110601:59:59' ],
+        [ [2011,11,6,4,0,0],[2011,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2012,3,11,4,59,59],[2012,3,11,1,59,59],
+          '2011110604:00:00','2011110601:00:00','2012031104:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,5,0,0],[2012,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2012,11,4,3,59,59],[2012,11,4,1,59,59],
+          '2012031105:00:00','2012031103:00:00','2012110403:59:59','2012110401:59:59' ],
+        [ [2012,11,4,4,0,0],[2012,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2013,3,10,4,59,59],[2013,3,10,1,59,59],
+          '2012110404:00:00','2012110401:00:00','2013031004:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,5,0,0],[2013,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2013,11,3,3,59,59],[2013,11,3,1,59,59],
+          '2013031005:00:00','2013031003:00:00','2013110303:59:59','2013110301:59:59' ],
+        [ [2013,11,3,4,0,0],[2013,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2014,3,9,4,59,59],[2014,3,9,1,59,59],
+          '2013110304:00:00','2013110301:00:00','2014030904:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,5,0,0],[2014,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2014,11,2,3,59,59],[2014,11,2,1,59,59],
+          '2014030905:00:00','2014030903:00:00','2014110203:59:59','2014110201:59:59' ],
+        [ [2014,11,2,4,0,0],[2014,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2015,3,8,4,59,59],[2015,3,8,1,59,59],
+          '2014110204:00:00','2014110201:00:00','2015030804:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,5,0,0],[2015,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2015,11,1,3,59,59],[2015,11,1,1,59,59],
+          '2015030805:00:00','2015030803:00:00','2015110103:59:59','2015110101:59:59' ],
+        [ [2015,11,1,4,0,0],[2015,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2016,3,13,4,59,59],[2016,3,13,1,59,59],
+          '2015110104:00:00','2015110101:00:00','2016031304:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,5,0,0],[2016,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2016,11,6,3,59,59],[2016,11,6,1,59,59],
+          '2016031305:00:00','2016031303:00:00','2016110603:59:59','2016110601:59:59' ],
+        [ [2016,11,6,4,0,0],[2016,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2017,3,12,4,59,59],[2017,3,12,1,59,59],
+          '2016110604:00:00','2016110601:00:00','2017031204:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,5,0,0],[2017,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2017,11,5,3,59,59],[2017,11,5,1,59,59],
+          '2017031205:00:00','2017031203:00:00','2017110503:59:59','2017110501:59:59' ],
+        [ [2017,11,5,4,0,0],[2017,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2018,3,11,4,59,59],[2018,3,11,1,59,59],
+          '2017110504:00:00','2017110501:00:00','2018031104:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,5,0,0],[2018,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2018,11,4,3,59,59],[2018,11,4,1,59,59],
+          '2018031105:00:00','2018031103:00:00','2018110403:59:59','2018110401:59:59' ],
+        [ [2018,11,4,4,0,0],[2018,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2019,3,10,4,59,59],[2019,3,10,1,59,59],
+          '2018110404:00:00','2018110401:00:00','2019031004:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,5,0,0],[2019,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2019,11,3,3,59,59],[2019,11,3,1,59,59],
+          '2019031005:00:00','2019031003:00:00','2019110303:59:59','2019110301:59:59' ],
+        [ [2019,11,3,4,0,0],[2019,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2020,3,8,4,59,59],[2020,3,8,1,59,59],
+          '2019110304:00:00','2019110301:00:00','2020030804:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,5,0,0],[2020,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2020,11,1,3,59,59],[2020,11,1,1,59,59],
+          '2020030805:00:00','2020030803:00:00','2020110103:59:59','2020110101:59:59' ],
+        [ [2020,11,1,4,0,0],[2020,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2021,3,14,4,59,59],[2021,3,14,1,59,59],
+          '2020110104:00:00','2020110101:00:00','2021031404:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,5,0,0],[2021,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2021,11,7,3,59,59],[2021,11,7,1,59,59],
+          '2021031405:00:00','2021031403:00:00','2021110703:59:59','2021110701:59:59' ],
+        [ [2021,11,7,4,0,0],[2021,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2022,3,13,4,59,59],[2022,3,13,1,59,59],
+          '2021110704:00:00','2021110701:00:00','2022031304:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,5,0,0],[2022,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2022,11,6,3,59,59],[2022,11,6,1,59,59],
+          '2022031305:00:00','2022031303:00:00','2022110603:59:59','2022110601:59:59' ],
+        [ [2022,11,6,4,0,0],[2022,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2023,3,12,4,59,59],[2023,3,12,1,59,59],
+          '2022110604:00:00','2022110601:00:00','2023031204:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,5,0,0],[2023,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2023,11,5,3,59,59],[2023,11,5,1,59,59],
+          '2023031205:00:00','2023031203:00:00','2023110503:59:59','2023110501:59:59' ],
+        [ [2023,11,5,4,0,0],[2023,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2024,3,10,4,59,59],[2024,3,10,1,59,59],
+          '2023110504:00:00','2023110501:00:00','2024031004:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,5,0,0],[2024,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2024,11,3,3,59,59],[2024,11,3,1,59,59],
+          '2024031005:00:00','2024031003:00:00','2024110303:59:59','2024110301:59:59' ],
+        [ [2024,11,3,4,0,0],[2024,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2025,3,9,4,59,59],[2025,3,9,1,59,59],
+          '2024110304:00:00','2024110301:00:00','2025030904:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,5,0,0],[2025,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2025,11,2,3,59,59],[2025,11,2,1,59,59],
+          '2025030905:00:00','2025030903:00:00','2025110203:59:59','2025110201:59:59' ],
+        [ [2025,11,2,4,0,0],[2025,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2026,3,8,4,59,59],[2026,3,8,1,59,59],
+          '2025110204:00:00','2025110201:00:00','2026030804:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,5,0,0],[2026,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2026,11,1,3,59,59],[2026,11,1,1,59,59],
+          '2026030805:00:00','2026030803:00:00','2026110103:59:59','2026110101:59:59' ],
+        [ [2026,11,1,4,0,0],[2026,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2027,3,14,4,59,59],[2027,3,14,1,59,59],
+          '2026110104:00:00','2026110101:00:00','2027031404:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,5,0,0],[2027,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2027,11,7,3,59,59],[2027,11,7,1,59,59],
+          '2027031405:00:00','2027031403:00:00','2027110703:59:59','2027110701:59:59' ],
+        [ [2027,11,7,4,0,0],[2027,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2028,3,12,4,59,59],[2028,3,12,1,59,59],
+          '2027110704:00:00','2027110701:00:00','2028031204:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,5,0,0],[2028,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2028,11,5,3,59,59],[2028,11,5,1,59,59],
+          '2028031205:00:00','2028031203:00:00','2028110503:59:59','2028110501:59:59' ],
+        [ [2028,11,5,4,0,0],[2028,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2029,3,11,4,59,59],[2029,3,11,1,59,59],
+          '2028110504:00:00','2028110501:00:00','2029031104:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,5,0,0],[2029,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2029,11,4,3,59,59],[2029,11,4,1,59,59],
+          '2029031105:00:00','2029031103:00:00','2029110403:59:59','2029110401:59:59' ],
+        [ [2029,11,4,4,0,0],[2029,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2030,3,10,4,59,59],[2030,3,10,1,59,59],
+          '2029110404:00:00','2029110401:00:00','2030031004:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,5,0,0],[2030,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2030,11,3,3,59,59],[2030,11,3,1,59,59],
+          '2030031005:00:00','2030031003:00:00','2030110303:59:59','2030110301:59:59' ],
+        [ [2030,11,3,4,0,0],[2030,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2031,3,9,4,59,59],[2031,3,9,1,59,59],
+          '2030110304:00:00','2030110301:00:00','2031030904:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,5,0,0],[2031,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2031,11,2,3,59,59],[2031,11,2,1,59,59],
+          '2031030905:00:00','2031030903:00:00','2031110203:59:59','2031110201:59:59' ],
+        [ [2031,11,2,4,0,0],[2031,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2032,3,14,4,59,59],[2032,3,14,1,59,59],
+          '2031110204:00:00','2031110201:00:00','2032031404:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,5,0,0],[2032,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2032,11,7,3,59,59],[2032,11,7,1,59,59],
+          '2032031405:00:00','2032031403:00:00','2032110703:59:59','2032110701:59:59' ],
+        [ [2032,11,7,4,0,0],[2032,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2033,3,13,4,59,59],[2033,3,13,1,59,59],
+          '2032110704:00:00','2032110701:00:00','2033031304:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,5,0,0],[2033,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2033,11,6,3,59,59],[2033,11,6,1,59,59],
+          '2033031305:00:00','2033031303:00:00','2033110603:59:59','2033110601:59:59' ],
+        [ [2033,11,6,4,0,0],[2033,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2034,3,12,4,59,59],[2034,3,12,1,59,59],
+          '2033110604:00:00','2033110601:00:00','2034031204:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,5,0,0],[2034,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2034,11,5,3,59,59],[2034,11,5,1,59,59],
+          '2034031205:00:00','2034031203:00:00','2034110503:59:59','2034110501:59:59' ],
+        [ [2034,11,5,4,0,0],[2034,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2035,3,11,4,59,59],[2035,3,11,1,59,59],
+          '2034110504:00:00','2034110501:00:00','2035031104:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,5,0,0],[2035,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2035,11,4,3,59,59],[2035,11,4,1,59,59],
+          '2035031105:00:00','2035031103:00:00','2035110403:59:59','2035110401:59:59' ],
+        [ [2035,11,4,4,0,0],[2035,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2036,3,9,4,59,59],[2036,3,9,1,59,59],
+          '2035110404:00:00','2035110401:00:00','2036030904:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,5,0,0],[2036,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2036,11,2,3,59,59],[2036,11,2,1,59,59],
+          '2036030905:00:00','2036030903:00:00','2036110203:59:59','2036110201:59:59' ],
+        [ [2036,11,2,4,0,0],[2036,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2037,3,8,4,59,59],[2037,3,8,1,59,59],
+          '2036110204:00:00','2036110201:00:00','2037030804:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,5,0,0],[2037,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2037,11,1,3,59,59],[2037,11,1,1,59,59],
+          '2037030805:00:00','2037030803:00:00','2037110103:59:59','2037110101:59:59' ],
+        [ [2037,11,1,4,0,0],[2037,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2038,3,14,4,59,59],[2038,3,14,1,59,59],
+          '2037110104:00:00','2037110101:00:00','2038031404:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,5,0,0],[2038,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2038,11,7,3,59,59],[2038,11,7,1,59,59],
+          '2038031405:00:00','2038031403:00:00','2038110703:59:59','2038110701:59:59' ],
+        [ [2038,11,7,4,0,0],[2038,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2039,3,13,4,59,59],[2039,3,13,1,59,59],
+          '2038110704:00:00','2038110701:00:00','2039031304:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,5,0,0],[2039,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2039,11,6,3,59,59],[2039,11,6,1,59,59],
+          '2039031305:00:00','2039031303:00:00','2039110603:59:59','2039110601:59:59' ],
+        [ [2039,11,6,4,0,0],[2039,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2040,3,11,4,59,59],[2040,3,11,1,59,59],
+          '2039110604:00:00','2039110601:00:00','2040031104:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,5,0,0],[2040,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2040,11,4,3,59,59],[2040,11,4,1,59,59],
+          '2040031105:00:00','2040031103:00:00','2040110403:59:59','2040110401:59:59' ],
+        [ [2040,11,4,4,0,0],[2040,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2041,3,10,4,59,59],[2041,3,10,1,59,59],
+          '2040110404:00:00','2040110401:00:00','2041031004:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,5,0,0],[2041,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2041,11,3,3,59,59],[2041,11,3,1,59,59],
+          '2041031005:00:00','2041031003:00:00','2041110303:59:59','2041110301:59:59' ],
+        [ [2041,11,3,4,0,0],[2041,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2042,3,9,4,59,59],[2042,3,9,1,59,59],
+          '2041110304:00:00','2041110301:00:00','2042030904:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,5,0,0],[2042,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2042,11,2,3,59,59],[2042,11,2,1,59,59],
+          '2042030905:00:00','2042030903:00:00','2042110203:59:59','2042110201:59:59' ],
+        [ [2042,11,2,4,0,0],[2042,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2043,3,8,4,59,59],[2043,3,8,1,59,59],
+          '2042110204:00:00','2042110201:00:00','2043030804:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,5,0,0],[2043,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2043,11,1,3,59,59],[2043,11,1,1,59,59],
+          '2043030805:00:00','2043030803:00:00','2043110103:59:59','2043110101:59:59' ],
+        [ [2043,11,1,4,0,0],[2043,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2044,3,13,4,59,59],[2044,3,13,1,59,59],
+          '2043110104:00:00','2043110101:00:00','2044031304:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,5,0,0],[2044,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2044,11,6,3,59,59],[2044,11,6,1,59,59],
+          '2044031305:00:00','2044031303:00:00','2044110603:59:59','2044110601:59:59' ],
+        [ [2044,11,6,4,0,0],[2044,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2045,3,12,4,59,59],[2045,3,12,1,59,59],
+          '2044110604:00:00','2044110601:00:00','2045031204:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,5,0,0],[2045,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2045,11,5,3,59,59],[2045,11,5,1,59,59],
+          '2045031205:00:00','2045031203:00:00','2045110503:59:59','2045110501:59:59' ],
+        [ [2045,11,5,4,0,0],[2045,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2046,3,11,4,59,59],[2046,3,11,1,59,59],
+          '2045110504:00:00','2045110501:00:00','2046031104:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,5,0,0],[2046,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2046,11,4,3,59,59],[2046,11,4,1,59,59],
+          '2046031105:00:00','2046031103:00:00','2046110403:59:59','2046110401:59:59' ],
+        [ [2046,11,4,4,0,0],[2046,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2047,3,10,4,59,59],[2047,3,10,1,59,59],
+          '2046110404:00:00','2046110401:00:00','2047031004:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,5,0,0],[2047,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2047,11,3,3,59,59],[2047,11,3,1,59,59],
+          '2047031005:00:00','2047031003:00:00','2047110303:59:59','2047110301:59:59' ],
+        [ [2047,11,3,4,0,0],[2047,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2048,3,8,4,59,59],[2048,3,8,1,59,59],
+          '2047110304:00:00','2047110301:00:00','2048030804:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,5,0,0],[2048,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2048,11,1,3,59,59],[2048,11,1,1,59,59],
+          '2048030805:00:00','2048030803:00:00','2048110103:59:59','2048110101:59:59' ],
+        [ [2048,11,1,4,0,0],[2048,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2049,3,14,4,59,59],[2049,3,14,1,59,59],
+          '2048110104:00:00','2048110101:00:00','2049031404:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,5,0,0],[2049,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2049,11,7,3,59,59],[2049,11,7,1,59,59],
+          '2049031405:00:00','2049031403:00:00','2049110703:59:59','2049110701:59:59' ],
+        [ [2049,11,7,4,0,0],[2049,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2050,3,13,4,59,59],[2050,3,13,1,59,59],
+          '2049110704:00:00','2049110701:00:00','2050031304:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,5,0,0],[2050,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2050,11,6,3,59,59],[2050,11,6,1,59,59],
+          '2050031305:00:00','2050031303:00:00','2050110603:59:59','2050110601:59:59' ],
+        [ [2050,11,6,4,0,0],[2050,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2051,3,12,4,59,59],[2051,3,12,1,59,59],
+          '2050110604:00:00','2050110601:00:00','2051031204:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,5,0,0],[2051,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2051,11,5,3,59,59],[2051,11,5,1,59,59],
+          '2051031205:00:00','2051031203:00:00','2051110503:59:59','2051110501:59:59' ],
+        [ [2051,11,5,4,0,0],[2051,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2052,3,10,4,59,59],[2052,3,10,1,59,59],
+          '2051110504:00:00','2051110501:00:00','2052031004:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,5,0,0],[2052,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2052,11,3,3,59,59],[2052,11,3,1,59,59],
+          '2052031005:00:00','2052031003:00:00','2052110303:59:59','2052110301:59:59' ],
+        [ [2052,11,3,4,0,0],[2052,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2053,3,9,4,59,59],[2053,3,9,1,59,59],
+          '2052110304:00:00','2052110301:00:00','2053030904:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,5,0,0],[2053,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2053,11,2,3,59,59],[2053,11,2,1,59,59],
+          '2053030905:00:00','2053030903:00:00','2053110203:59:59','2053110201:59:59' ],
+        [ [2053,11,2,4,0,0],[2053,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2054,3,8,4,59,59],[2054,3,8,1,59,59],
+          '2053110204:00:00','2053110201:00:00','2054030804:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,5,0,0],[2054,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2054,11,1,3,59,59],[2054,11,1,1,59,59],
+          '2054030805:00:00','2054030803:00:00','2054110103:59:59','2054110101:59:59' ],
+        [ [2054,11,1,4,0,0],[2054,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2055,3,14,4,59,59],[2055,3,14,1,59,59],
+          '2054110104:00:00','2054110101:00:00','2055031404:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,5,0,0],[2055,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2055,11,7,3,59,59],[2055,11,7,1,59,59],
+          '2055031405:00:00','2055031403:00:00','2055110703:59:59','2055110701:59:59' ],
+        [ [2055,11,7,4,0,0],[2055,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2056,3,12,4,59,59],[2056,3,12,1,59,59],
+          '2055110704:00:00','2055110701:00:00','2056031204:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,5,0,0],[2056,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2056,11,5,3,59,59],[2056,11,5,1,59,59],
+          '2056031205:00:00','2056031203:00:00','2056110503:59:59','2056110501:59:59' ],
+        [ [2056,11,5,4,0,0],[2056,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2057,3,11,4,59,59],[2057,3,11,1,59,59],
+          '2056110504:00:00','2056110501:00:00','2057031104:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,5,0,0],[2057,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2057,11,4,3,59,59],[2057,11,4,1,59,59],
+          '2057031105:00:00','2057031103:00:00','2057110403:59:59','2057110401:59:59' ],
+        [ [2057,11,4,4,0,0],[2057,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2058,3,10,4,59,59],[2058,3,10,1,59,59],
+          '2057110404:00:00','2057110401:00:00','2058031004:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,5,0,0],[2058,3,10,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2058,11,3,3,59,59],[2058,11,3,1,59,59],
+          '2058031005:00:00','2058031003:00:00','2058110303:59:59','2058110301:59:59' ],
+        [ [2058,11,3,4,0,0],[2058,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2059,3,9,4,59,59],[2059,3,9,1,59,59],
+          '2058110304:00:00','2058110301:00:00','2059030904:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,5,0,0],[2059,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2059,11,2,3,59,59],[2059,11,2,1,59,59],
+          '2059030905:00:00','2059030903:00:00','2059110203:59:59','2059110201:59:59' ],
+        [ [2059,11,2,4,0,0],[2059,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2060,3,14,4,59,59],[2060,3,14,1,59,59],
+          '2059110204:00:00','2059110201:00:00','2060031404:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,5,0,0],[2060,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2060,11,7,3,59,59],[2060,11,7,1,59,59],
+          '2060031405:00:00','2060031403:00:00','2060110703:59:59','2060110701:59:59' ],
+        [ [2060,11,7,4,0,0],[2060,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2061,3,13,4,59,59],[2061,3,13,1,59,59],
+          '2060110704:00:00','2060110701:00:00','2061031304:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,5,0,0],[2061,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2061,11,6,3,59,59],[2061,11,6,1,59,59],
+          '2061031305:00:00','2061031303:00:00','2061110603:59:59','2061110601:59:59' ],
+        [ [2061,11,6,4,0,0],[2061,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2062,3,12,4,59,59],[2062,3,12,1,59,59],
+          '2061110604:00:00','2061110601:00:00','2062031204:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,5,0,0],[2062,3,12,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2062,11,5,3,59,59],[2062,11,5,1,59,59],
+          '2062031205:00:00','2062031203:00:00','2062110503:59:59','2062110501:59:59' ],
+        [ [2062,11,5,4,0,0],[2062,11,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2063,3,11,4,59,59],[2063,3,11,1,59,59],
+          '2062110504:00:00','2062110501:00:00','2063031104:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,5,0,0],[2063,3,11,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2063,11,4,3,59,59],[2063,11,4,1,59,59],
+          '2063031105:00:00','2063031103:00:00','2063110403:59:59','2063110401:59:59' ],
+        [ [2063,11,4,4,0,0],[2063,11,4,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2064,3,9,4,59,59],[2064,3,9,1,59,59],
+          '2063110404:00:00','2063110401:00:00','2064030904:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,5,0,0],[2064,3,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2064,11,2,3,59,59],[2064,11,2,1,59,59],
+          '2064030905:00:00','2064030903:00:00','2064110203:59:59','2064110201:59:59' ],
+        [ [2064,11,2,4,0,0],[2064,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2065,3,8,4,59,59],[2065,3,8,1,59,59],
+          '2064110204:00:00','2064110201:00:00','2065030804:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,5,0,0],[2065,3,8,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2065,11,1,3,59,59],[2065,11,1,1,59,59],
+          '2065030805:00:00','2065030803:00:00','2065110103:59:59','2065110101:59:59' ],
+        [ [2065,11,1,4,0,0],[2065,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2066,3,14,4,59,59],[2066,3,14,1,59,59],
+          '2065110104:00:00','2065110101:00:00','2066031404:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,5,0,0],[2066,3,14,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2066,11,7,3,59,59],[2066,11,7,1,59,59],
+          '2066031405:00:00','2066031403:00:00','2066110703:59:59','2066110701:59:59' ],
+        [ [2066,11,7,4,0,0],[2066,11,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2067,3,13,4,59,59],[2067,3,13,1,59,59],
+          '2066110704:00:00','2066110701:00:00','2067031304:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,5,0,0],[2067,3,13,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2067,11,6,3,59,59],[2067,11,6,1,59,59],
+          '2067031305:00:00','2067031303:00:00','2067110603:59:59','2067110601:59:59' ],
+        [ [2067,11,6,4,0,0],[2067,11,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2068,3,11,4,59,59],[2068,3,11,1,59,59],
+          '2067110604:00:00','2067110601:00:00','2068031104:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-02:00:00',
+                'stdoff' => '-03:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-02',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammonc00.pm b/lib/Date/Manip/TZ/ammonc00.pm
new file mode 100644
index 0000000..2902b69
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammonc00.pm
@@ -0,0 +1,1273 @@
+package #
+Date::Manip::TZ::ammonc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,40,52],'-04:19:08',[-4,-19,-8],
+          'LMT',0,[1883,12,9,4,19,7],[1883,12,8,23,59,59],
+          '0001010200:00:00','0001010119:40:52','1883120904:19:07','1883120823:59:59' ],
+     ],
+   1883 =>
+     [
+        [ [1883,12,9,4,19,8],[1883,12,8,23,19,8],'-05:00:00',[-5,0,0],
+          'EST',0,[1902,6,15,4,59,59],[1902,6,14,23,59,59],
+          '1883120904:19:08','1883120823:19:08','1902061504:59:59','1902061423:59:59' ],
+     ],
+   1902 =>
+     [
+        [ [1902,6,15,5,0,0],[1902,6,15,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1918,4,14,5,59,59],[1918,4,14,1,59,59],
+          '1902061505:00:00','1902061501:00:00','1918041405:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,6,0,0],[1918,4,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1918,10,27,4,59,59],[1918,10,27,1,59,59],
+          '1918041406:00:00','1918041403:00:00','1918102704:59:59','1918102701:59:59' ],
+        [ [1918,10,27,5,0,0],[1918,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1933,6,11,4,59,59],[1933,6,11,0,59,59],
+          '1918102705:00:00','1918102701:00:00','1933061104:59:59','1933061100:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,6,11,5,0,0],[1933,6,11,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1933,9,10,3,59,59],[1933,9,10,0,59,59],
+          '1933061105:00:00','1933061102:00:00','1933091003:59:59','1933091000:59:59' ],
+        [ [1933,9,10,4,0,0],[1933,9,10,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1934,6,10,4,59,59],[1934,6,10,0,59,59],
+          '1933091004:00:00','1933091000:00:00','1934061004:59:59','1934061000:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,6,10,5,0,0],[1934,6,10,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1934,9,9,3,59,59],[1934,9,9,0,59,59],
+          '1934061005:00:00','1934061002:00:00','1934090903:59:59','1934090900:59:59' ],
+        [ [1934,9,9,4,0,0],[1934,9,9,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1935,6,9,4,59,59],[1935,6,9,0,59,59],
+          '1934090904:00:00','1934090900:00:00','1935060904:59:59','1935060900:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,6,9,5,0,0],[1935,6,9,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1935,9,8,3,59,59],[1935,9,8,0,59,59],
+          '1935060905:00:00','1935060902:00:00','1935090803:59:59','1935090800:59:59' ],
+        [ [1935,9,8,4,0,0],[1935,9,8,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1936,6,7,4,59,59],[1936,6,7,0,59,59],
+          '1935090804:00:00','1935090800:00:00','1936060704:59:59','1936060700:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,6,7,5,0,0],[1936,6,7,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1936,9,6,3,59,59],[1936,9,6,0,59,59],
+          '1936060705:00:00','1936060702:00:00','1936090603:59:59','1936090600:59:59' ],
+        [ [1936,9,6,4,0,0],[1936,9,6,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1937,6,6,4,59,59],[1937,6,6,0,59,59],
+          '1936090604:00:00','1936090600:00:00','1937060604:59:59','1937060600:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,6,6,5,0,0],[1937,6,6,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1937,9,5,3,59,59],[1937,9,5,0,59,59],
+          '1937060605:00:00','1937060602:00:00','1937090503:59:59','1937090500:59:59' ],
+        [ [1937,9,5,4,0,0],[1937,9,5,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1938,6,5,4,59,59],[1938,6,5,0,59,59],
+          '1937090504:00:00','1937090500:00:00','1938060504:59:59','1938060500:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,6,5,5,0,0],[1938,6,5,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1938,9,4,3,59,59],[1938,9,4,0,59,59],
+          '1938060505:00:00','1938060502:00:00','1938090403:59:59','1938090400:59:59' ],
+        [ [1938,9,4,4,0,0],[1938,9,4,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1939,5,27,4,59,59],[1939,5,27,0,59,59],
+          '1938090404:00:00','1938090400:00:00','1939052704:59:59','1939052700:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,5,27,5,0,0],[1939,5,27,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1939,9,23,3,59,59],[1939,9,23,0,59,59],
+          '1939052705:00:00','1939052702:00:00','1939092303:59:59','1939092300:59:59' ],
+        [ [1939,9,23,4,0,0],[1939,9,23,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1940,5,19,4,59,59],[1940,5,19,0,59,59],
+          '1939092304:00:00','1939092300:00:00','1940051904:59:59','1940051900:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,19,5,0,0],[1940,5,19,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1940,9,21,3,59,59],[1940,9,21,0,59,59],
+          '1940051905:00:00','1940051902:00:00','1940092103:59:59','1940092100:59:59' ],
+        [ [1940,9,21,4,0,0],[1940,9,21,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1941,5,4,4,59,59],[1941,5,4,0,59,59],
+          '1940092104:00:00','1940092100:00:00','1941050404:59:59','1941050400:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,4,5,0,0],[1941,5,4,2,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1941,9,27,3,59,59],[1941,9,27,0,59,59],
+          '1941050405:00:00','1941050402:00:00','1941092703:59:59','1941092700:59:59' ],
+        [ [1941,9,27,4,0,0],[1941,9,27,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,2,9,5,59,59],[1942,2,9,1,59,59],
+          '1941092704:00:00','1941092700:00:00','1942020905:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,6,0,0],[1942,2,9,3,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942020906:00:00','1942020903:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1946,4,28,5,59,59],[1946,4,28,1,59,59],
+          '1945093005:00:00','1945093001:00:00','1946042805:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,6,0,0],[1946,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1946,9,29,4,59,59],[1946,9,29,1,59,59],
+          '1946042806:00:00','1946042803:00:00','1946092904:59:59','1946092901:59:59' ],
+        [ [1946,9,29,5,0,0],[1946,9,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1947,4,27,5,59,59],[1947,4,27,1,59,59],
+          '1946092905:00:00','1946092901:00:00','1947042705:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,6,0,0],[1947,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1947,9,28,4,59,59],[1947,9,28,1,59,59],
+          '1947042706:00:00','1947042703:00:00','1947092804:59:59','1947092801:59:59' ],
+        [ [1947,9,28,5,0,0],[1947,9,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1948,4,25,5,59,59],[1948,4,25,1,59,59],
+          '1947092805:00:00','1947092801:00:00','1948042505:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,6,0,0],[1948,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1948,9,26,4,59,59],[1948,9,26,1,59,59],
+          '1948042506:00:00','1948042503:00:00','1948092604:59:59','1948092601:59:59' ],
+        [ [1948,9,26,5,0,0],[1948,9,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1949,4,24,5,59,59],[1949,4,24,1,59,59],
+          '1948092605:00:00','1948092601:00:00','1949042405:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,6,0,0],[1949,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1949,9,25,4,59,59],[1949,9,25,1,59,59],
+          '1949042406:00:00','1949042403:00:00','1949092504:59:59','1949092501:59:59' ],
+        [ [1949,9,25,5,0,0],[1949,9,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1950,4,30,5,59,59],[1950,4,30,1,59,59],
+          '1949092505:00:00','1949092501:00:00','1950043005:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,6,0,0],[1950,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1950,9,24,4,59,59],[1950,9,24,1,59,59],
+          '1950043006:00:00','1950043003:00:00','1950092404:59:59','1950092401:59:59' ],
+        [ [1950,9,24,5,0,0],[1950,9,24,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1951,4,29,5,59,59],[1951,4,29,1,59,59],
+          '1950092405:00:00','1950092401:00:00','1951042905:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,6,0,0],[1951,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1951,9,30,4,59,59],[1951,9,30,1,59,59],
+          '1951042906:00:00','1951042903:00:00','1951093004:59:59','1951093001:59:59' ],
+        [ [1951,9,30,5,0,0],[1951,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1952,4,27,5,59,59],[1952,4,27,1,59,59],
+          '1951093005:00:00','1951093001:00:00','1952042705:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,6,0,0],[1952,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1952,9,28,4,59,59],[1952,9,28,1,59,59],
+          '1952042706:00:00','1952042703:00:00','1952092804:59:59','1952092801:59:59' ],
+        [ [1952,9,28,5,0,0],[1952,9,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1953,4,26,5,59,59],[1953,4,26,1,59,59],
+          '1952092805:00:00','1952092801:00:00','1953042605:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,6,0,0],[1953,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1953,9,27,4,59,59],[1953,9,27,1,59,59],
+          '1953042606:00:00','1953042603:00:00','1953092704:59:59','1953092701:59:59' ],
+        [ [1953,9,27,5,0,0],[1953,9,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1954,4,25,5,59,59],[1954,4,25,1,59,59],
+          '1953092705:00:00','1953092701:00:00','1954042505:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,6,0,0],[1954,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1954,9,26,4,59,59],[1954,9,26,1,59,59],
+          '1954042506:00:00','1954042503:00:00','1954092604:59:59','1954092601:59:59' ],
+        [ [1954,9,26,5,0,0],[1954,9,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1955,4,24,5,59,59],[1955,4,24,1,59,59],
+          '1954092605:00:00','1954092601:00:00','1955042405:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,6,0,0],[1955,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1955,9,25,4,59,59],[1955,9,25,1,59,59],
+          '1955042406:00:00','1955042403:00:00','1955092504:59:59','1955092501:59:59' ],
+        [ [1955,9,25,5,0,0],[1955,9,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1956,4,29,5,59,59],[1956,4,29,1,59,59],
+          '1955092505:00:00','1955092501:00:00','1956042905:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,6,0,0],[1956,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1956,9,30,4,59,59],[1956,9,30,1,59,59],
+          '1956042906:00:00','1956042903:00:00','1956093004:59:59','1956093001:59:59' ],
+        [ [1956,9,30,5,0,0],[1956,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1957,4,28,5,59,59],[1957,4,28,1,59,59],
+          '1956093005:00:00','1956093001:00:00','1957042805:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,6,0,0],[1957,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1957,10,27,4,59,59],[1957,10,27,1,59,59],
+          '1957042806:00:00','1957042803:00:00','1957102704:59:59','1957102701:59:59' ],
+        [ [1957,10,27,5,0,0],[1957,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1958,4,27,5,59,59],[1958,4,27,1,59,59],
+          '1957102705:00:00','1957102701:00:00','1958042705:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,6,0,0],[1958,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1958,10,26,4,59,59],[1958,10,26,1,59,59],
+          '1958042706:00:00','1958042703:00:00','1958102604:59:59','1958102601:59:59' ],
+        [ [1958,10,26,5,0,0],[1958,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1959,4,26,5,59,59],[1959,4,26,1,59,59],
+          '1958102605:00:00','1958102601:00:00','1959042605:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,6,0,0],[1959,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1959,10,25,4,59,59],[1959,10,25,1,59,59],
+          '1959042606:00:00','1959042603:00:00','1959102504:59:59','1959102501:59:59' ],
+        [ [1959,10,25,5,0,0],[1959,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1960,4,24,5,59,59],[1960,4,24,1,59,59],
+          '1959102505:00:00','1959102501:00:00','1960042405:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,6,0,0],[1960,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1960,10,30,4,59,59],[1960,10,30,1,59,59],
+          '1960042406:00:00','1960042403:00:00','1960103004:59:59','1960103001:59:59' ],
+        [ [1960,10,30,5,0,0],[1960,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1961,4,30,5,59,59],[1961,4,30,1,59,59],
+          '1960103005:00:00','1960103001:00:00','1961043005:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,6,0,0],[1961,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1961,10,29,4,59,59],[1961,10,29,1,59,59],
+          '1961043006:00:00','1961043003:00:00','1961102904:59:59','1961102901:59:59' ],
+        [ [1961,10,29,5,0,0],[1961,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1962,4,29,5,59,59],[1962,4,29,1,59,59],
+          '1961102905:00:00','1961102901:00:00','1962042905:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,6,0,0],[1962,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1962,10,28,4,59,59],[1962,10,28,1,59,59],
+          '1962042906:00:00','1962042903:00:00','1962102804:59:59','1962102801:59:59' ],
+        [ [1962,10,28,5,0,0],[1962,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1963,4,28,5,59,59],[1963,4,28,1,59,59],
+          '1962102805:00:00','1962102801:00:00','1963042805:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,6,0,0],[1963,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1963,10,27,4,59,59],[1963,10,27,1,59,59],
+          '1963042806:00:00','1963042803:00:00','1963102704:59:59','1963102701:59:59' ],
+        [ [1963,10,27,5,0,0],[1963,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1964,4,26,5,59,59],[1964,4,26,1,59,59],
+          '1963102705:00:00','1963102701:00:00','1964042605:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,6,0,0],[1964,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1964,10,25,4,59,59],[1964,10,25,1,59,59],
+          '1964042606:00:00','1964042603:00:00','1964102504:59:59','1964102501:59:59' ],
+        [ [1964,10,25,5,0,0],[1964,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1965,4,25,5,59,59],[1965,4,25,1,59,59],
+          '1964102505:00:00','1964102501:00:00','1965042505:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,6,0,0],[1965,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1965,10,31,4,59,59],[1965,10,31,1,59,59],
+          '1965042506:00:00','1965042503:00:00','1965103104:59:59','1965103101:59:59' ],
+        [ [1965,10,31,5,0,0],[1965,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1966,4,24,5,59,59],[1966,4,24,1,59,59],
+          '1965103105:00:00','1965103101:00:00','1966042405:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,6,0,0],[1966,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1966,10,30,4,59,59],[1966,10,30,1,59,59],
+          '1966042406:00:00','1966042403:00:00','1966103004:59:59','1966103001:59:59' ],
+        [ [1966,10,30,5,0,0],[1966,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1967,4,30,5,59,59],[1967,4,30,1,59,59],
+          '1966103005:00:00','1966103001:00:00','1967043005:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,6,0,0],[1967,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1967,10,29,4,59,59],[1967,10,29,1,59,59],
+          '1967043006:00:00','1967043003:00:00','1967102904:59:59','1967102901:59:59' ],
+        [ [1967,10,29,5,0,0],[1967,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1968,4,28,5,59,59],[1968,4,28,1,59,59],
+          '1967102905:00:00','1967102901:00:00','1968042805:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,6,0,0],[1968,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1968,10,27,4,59,59],[1968,10,27,1,59,59],
+          '1968042806:00:00','1968042803:00:00','1968102704:59:59','1968102701:59:59' ],
+        [ [1968,10,27,5,0,0],[1968,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1969,4,27,5,59,59],[1969,4,27,1,59,59],
+          '1968102705:00:00','1968102701:00:00','1969042705:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,6,0,0],[1969,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1969,10,26,4,59,59],[1969,10,26,1,59,59],
+          '1969042706:00:00','1969042703:00:00','1969102604:59:59','1969102601:59:59' ],
+        [ [1969,10,26,5,0,0],[1969,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1970,4,26,5,59,59],[1970,4,26,1,59,59],
+          '1969102605:00:00','1969102601:00:00','1970042605:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,6,0,0],[1970,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1970,10,25,4,59,59],[1970,10,25,1,59,59],
+          '1970042606:00:00','1970042603:00:00','1970102504:59:59','1970102501:59:59' ],
+        [ [1970,10,25,5,0,0],[1970,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1971,4,25,5,59,59],[1971,4,25,1,59,59],
+          '1970102505:00:00','1970102501:00:00','1971042505:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,6,0,0],[1971,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1971,10,31,4,59,59],[1971,10,31,1,59,59],
+          '1971042506:00:00','1971042503:00:00','1971103104:59:59','1971103101:59:59' ],
+        [ [1971,10,31,5,0,0],[1971,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1972,4,30,5,59,59],[1972,4,30,1,59,59],
+          '1971103105:00:00','1971103101:00:00','1972043005:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,6,0,0],[1972,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1972,10,29,4,59,59],[1972,10,29,1,59,59],
+          '1972043006:00:00','1972043003:00:00','1972102904:59:59','1972102901:59:59' ],
+        [ [1972,10,29,5,0,0],[1972,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1974,4,28,5,59,59],[1974,4,28,1,59,59],
+          '1972102905:00:00','1972102901:00:00','1974042805:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,6,0,0],[1974,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1974,10,27,4,59,59],[1974,10,27,1,59,59],
+          '1974042806:00:00','1974042803:00:00','1974102704:59:59','1974102701:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1975,4,27,5,59,59],[1975,4,27,1,59,59],
+          '1974102705:00:00','1974102701:00:00','1975042705:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,6,0,0],[1975,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1975,10,26,4,59,59],[1975,10,26,1,59,59],
+          '1975042706:00:00','1975042703:00:00','1975102604:59:59','1975102601:59:59' ],
+        [ [1975,10,26,5,0,0],[1975,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1976,4,25,5,59,59],[1976,4,25,1,59,59],
+          '1975102605:00:00','1975102601:00:00','1976042505:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,6,0,0],[1976,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1976,10,31,4,59,59],[1976,10,31,1,59,59],
+          '1976042506:00:00','1976042503:00:00','1976103104:59:59','1976103101:59:59' ],
+        [ [1976,10,31,5,0,0],[1976,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,4,24,5,59,59],[1977,4,24,1,59,59],
+          '1976103105:00:00','1976103101:00:00','1977042405:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,6,0,0],[1977,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,30,4,59,59],[1977,10,30,1,59,59],
+          '1977042406:00:00','1977042403:00:00','1977103004:59:59','1977103001:59:59' ],
+        [ [1977,10,30,5,0,0],[1977,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,30,5,59,59],[1978,4,30,1,59,59],
+          '1977103005:00:00','1977103001:00:00','1978043005:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,6,0,0],[1978,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,29,4,59,59],[1978,10,29,1,59,59],
+          '1978043006:00:00','1978043003:00:00','1978102904:59:59','1978102901:59:59' ],
+        [ [1978,10,29,5,0,0],[1978,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,29,5,59,59],[1979,4,29,1,59,59],
+          '1978102905:00:00','1978102901:00:00','1979042905:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,6,0,0],[1979,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,10,28,4,59,59],[1979,10,28,1,59,59],
+          '1979042906:00:00','1979042903:00:00','1979102804:59:59','1979102801:59:59' ],
+        [ [1979,10,28,5,0,0],[1979,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1979102805:00:00','1979102801:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,5,59,59],[1987,4,5,1,59,59],
+          '1986102605:00:00','1986102601:00:00','1987040505:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,6,0,0],[1987,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,4,59,59],[1987,10,25,1,59,59],
+          '1987040506:00:00','1987040503:00:00','1987102504:59:59','1987102501:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,5,59,59],[1988,4,3,1,59,59],
+          '1987102505:00:00','1987102501:00:00','1988040305:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1988,10,30,4,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040303:00:00','1988103004:59:59','1988103001:59:59' ],
+        [ [1988,10,30,5,0,0],[1988,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,5,59,59],[1989,4,2,1,59,59],
+          '1988103005:00:00','1988103001:00:00','1989040205:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,4,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040203:00:00','1989102904:59:59','1989102901:59:59' ],
+        [ [1989,10,29,5,0,0],[1989,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,5,59,59],[1990,4,1,1,59,59],
+          '1989102905:00:00','1989102901:00:00','1990040105:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,4,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040103:00:00','1990102804:59:59','1990102801:59:59' ],
+        [ [1990,10,28,5,0,0],[1990,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,5,59,59],[1991,4,7,1,59,59],
+          '1990102805:00:00','1990102801:00:00','1991040705:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,4,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040703:00:00','1991102704:59:59','1991102701:59:59' ],
+        [ [1991,10,27,5,0,0],[1991,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,5,59,59],[1992,4,5,1,59,59],
+          '1991102705:00:00','1991102701:00:00','1992040505:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,4,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040503:00:00','1992102504:59:59','1992102501:59:59' ],
+        [ [1992,10,25,5,0,0],[1992,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,4,0,59],[1993,4,4,0,0,59],
+          '1992102505:00:00','1992102501:00:00','1993040404:00:59','1993040400:00:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,4,1,0],[1993,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,3,0,59],[1993,10,31,0,0,59],
+          '1993040404:01:00','1993040401:01:00','1993103103:00:59','1993103100:00:59' ],
+        [ [1993,10,31,3,1,0],[1993,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,4,0,59],[1994,4,3,0,0,59],
+          '1993103103:01:00','1993103023:01:00','1994040304:00:59','1994040300:00:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,4,1,0],[1994,4,3,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,3,0,59],[1994,10,30,0,0,59],
+          '1994040304:01:00','1994040301:01:00','1994103003:00:59','1994103000:00:59' ],
+        [ [1994,10,30,3,1,0],[1994,10,29,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,4,0,59],[1995,4,2,0,0,59],
+          '1994103003:01:00','1994102923:01:00','1995040204:00:59','1995040200:00:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,4,1,0],[1995,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,3,0,59],[1995,10,29,0,0,59],
+          '1995040204:01:00','1995040201:01:00','1995102903:00:59','1995102900:00:59' ],
+        [ [1995,10,29,3,1,0],[1995,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,4,0,59],[1996,4,7,0,0,59],
+          '1995102903:01:00','1995102823:01:00','1996040704:00:59','1996040700:00:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,4,1,0],[1996,4,7,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,3,0,59],[1996,10,27,0,0,59],
+          '1996040704:01:00','1996040701:01:00','1996102703:00:59','1996102700:00:59' ],
+        [ [1996,10,27,3,1,0],[1996,10,26,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,4,0,59],[1997,4,6,0,0,59],
+          '1996102703:01:00','1996102623:01:00','1997040604:00:59','1997040600:00:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,4,1,0],[1997,4,6,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,3,0,59],[1997,10,26,0,0,59],
+          '1997040604:01:00','1997040601:01:00','1997102603:00:59','1997102600:00:59' ],
+        [ [1997,10,26,3,1,0],[1997,10,25,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,4,0,59],[1998,4,5,0,0,59],
+          '1997102603:01:00','1997102523:01:00','1998040504:00:59','1998040500:00:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,4,1,0],[1998,4,5,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,3,0,59],[1998,10,25,0,0,59],
+          '1998040504:01:00','1998040501:01:00','1998102503:00:59','1998102500:00:59' ],
+        [ [1998,10,25,3,1,0],[1998,10,24,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,4,0,59],[1999,4,4,0,0,59],
+          '1998102503:01:00','1998102423:01:00','1999040404:00:59','1999040400:00:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,4,1,0],[1999,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,3,0,59],[1999,10,31,0,0,59],
+          '1999040404:01:00','1999040401:01:00','1999103103:00:59','1999103100:00:59' ],
+        [ [1999,10,31,3,1,0],[1999,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,4,0,59],[2000,4,2,0,0,59],
+          '1999103103:01:00','1999103023:01:00','2000040204:00:59','2000040200:00:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,4,1,0],[2000,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,3,0,59],[2000,10,29,0,0,59],
+          '2000040204:01:00','2000040201:01:00','2000102903:00:59','2000102900:00:59' ],
+        [ [2000,10,29,3,1,0],[2000,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,4,0,59],[2001,4,1,0,0,59],
+          '2000102903:01:00','2000102823:01:00','2001040104:00:59','2001040100:00:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,4,1,0],[2001,4,1,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,3,0,59],[2001,10,28,0,0,59],
+          '2001040104:01:00','2001040101:01:00','2001102803:00:59','2001102800:00:59' ],
+        [ [2001,10,28,3,1,0],[2001,10,27,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,4,0,59],[2002,4,7,0,0,59],
+          '2001102803:01:00','2001102723:01:00','2002040704:00:59','2002040700:00:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,4,1,0],[2002,4,7,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,3,0,59],[2002,10,27,0,0,59],
+          '2002040704:01:00','2002040701:01:00','2002102703:00:59','2002102700:00:59' ],
+        [ [2002,10,27,3,1,0],[2002,10,26,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,4,0,59],[2003,4,6,0,0,59],
+          '2002102703:01:00','2002102623:01:00','2003040604:00:59','2003040600:00:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,4,1,0],[2003,4,6,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,3,0,59],[2003,10,26,0,0,59],
+          '2003040604:01:00','2003040601:01:00','2003102603:00:59','2003102600:00:59' ],
+        [ [2003,10,26,3,1,0],[2003,10,25,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,4,0,59],[2004,4,4,0,0,59],
+          '2003102603:01:00','2003102523:01:00','2004040404:00:59','2004040400:00:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,4,1,0],[2004,4,4,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,3,0,59],[2004,10,31,0,0,59],
+          '2004040404:01:00','2004040401:01:00','2004103103:00:59','2004103100:00:59' ],
+        [ [2004,10,31,3,1,0],[2004,10,30,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,4,0,59],[2005,4,3,0,0,59],
+          '2004103103:01:00','2004103023:01:00','2005040304:00:59','2005040300:00:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,4,1,0],[2005,4,3,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,3,0,59],[2005,10,30,0,0,59],
+          '2005040304:01:00','2005040301:01:00','2005103003:00:59','2005103000:00:59' ],
+        [ [2005,10,30,3,1,0],[2005,10,29,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,4,0,59],[2006,4,2,0,0,59],
+          '2005103003:01:00','2005102923:01:00','2006040204:00:59','2006040200:00:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,4,1,0],[2006,4,2,1,1,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,3,0,59],[2006,10,29,0,0,59],
+          '2006040204:01:00','2006040201:01:00','2006102903:00:59','2006102900:00:59' ],
+        [ [2006,10,29,3,1,0],[2006,10,28,23,1,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,5,59,59],[2007,3,11,1,59,59],
+          '2006102903:01:00','2006102823:01:00','2007031105:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,6,0,0],[2007,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,4,59,59],[2007,11,4,1,59,59],
+          '2007031106:00:00','2007031103:00:00','2007110404:59:59','2007110401:59:59' ],
+        [ [2007,11,4,5,0,0],[2007,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,5,59,59],[2008,3,9,1,59,59],
+          '2007110405:00:00','2007110401:00:00','2008030905:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,6,0,0],[2008,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,4,59,59],[2008,11,2,1,59,59],
+          '2008030906:00:00','2008030903:00:00','2008110204:59:59','2008110201:59:59' ],
+        [ [2008,11,2,5,0,0],[2008,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,5,59,59],[2009,3,8,1,59,59],
+          '2008110205:00:00','2008110201:00:00','2009030805:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,6,0,0],[2009,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,4,59,59],[2009,11,1,1,59,59],
+          '2009030806:00:00','2009030803:00:00','2009110104:59:59','2009110101:59:59' ],
+        [ [2009,11,1,5,0,0],[2009,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,5,59,59],[2010,3,14,1,59,59],
+          '2009110105:00:00','2009110101:00:00','2010031405:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,6,0,0],[2010,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,4,59,59],[2010,11,7,1,59,59],
+          '2010031406:00:00','2010031403:00:00','2010110704:59:59','2010110701:59:59' ],
+        [ [2010,11,7,5,0,0],[2010,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,5,59,59],[2011,3,13,1,59,59],
+          '2010110705:00:00','2010110701:00:00','2011031305:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,6,0,0],[2011,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031306:00:00','2011031303:00:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammont00.pm b/lib/Date/Manip/TZ/ammont00.pm
new file mode 100644
index 0000000..ce7d425
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammont00.pm
@@ -0,0 +1,1006 @@
+package #
+Date::Manip::TZ::ammont00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,20,36],'-05:39:24',[-5,-39,-24],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,20,35],
+          '0001010200:00:00','0001010118:20:36','1883111817:59:59','1883111812:20:35' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1968,4,28,7,59,59],[1968,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1968042807:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,8,0,0],[1968,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1968,10,27,6,59,59],[1968,10,27,1,59,59],
+          '1968042808:00:00','1968042803:00:00','1968102706:59:59','1968102701:59:59' ],
+        [ [1968,10,27,7,0,0],[1968,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1968102707:00:00','1968102701:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1969,10,26,6,59,59],[1969,10,26,1,59,59],
+          '1969042708:00:00','1969042703:00:00','1969102606:59:59','1969102601:59:59' ],
+        [ [1969,10,26,7,0,0],[1969,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1970,4,26,7,59,59],[1970,4,26,1,59,59],
+          '1969102607:00:00','1969102601:00:00','1970042607:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,8,0,0],[1970,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1970,10,25,6,59,59],[1970,10,25,1,59,59],
+          '1970042608:00:00','1970042603:00:00','1970102506:59:59','1970102501:59:59' ],
+        [ [1970,10,25,7,0,0],[1970,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1971,4,25,7,59,59],[1971,4,25,1,59,59],
+          '1970102507:00:00','1970102501:00:00','1971042507:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,8,0,0],[1971,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1971,10,31,6,59,59],[1971,10,31,1,59,59],
+          '1971042508:00:00','1971042503:00:00','1971103106:59:59','1971103101:59:59' ],
+        [ [1971,10,31,7,0,0],[1971,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1972,4,30,7,59,59],[1972,4,30,1,59,59],
+          '1971103107:00:00','1971103101:00:00','1972043007:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,8,0,0],[1972,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1972,10,29,6,59,59],[1972,10,29,1,59,59],
+          '1972043008:00:00','1972043003:00:00','1972102906:59:59','1972102901:59:59' ],
+        [ [1972,10,29,7,0,0],[1972,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,4,29,7,59,59],[1973,4,29,1,59,59],
+          '1972102907:00:00','1972102901:00:00','1973042907:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,8,0,0],[1973,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,6,59,59],[1973,10,28,1,59,59],
+          '1973042908:00:00','1973042903:00:00','1973102806:59:59','1973102801:59:59' ],
+        [ [1973,10,28,7,0,0],[1973,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,1,6,7,59,59],[1974,1,6,1,59,59],
+          '1973102807:00:00','1973102801:00:00','1974010607:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,8,0,0],[1974,1,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010608:00:00','1974010603:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,2,23,7,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975022307:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,8,0,0],[1975,2,23,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975022308:00:00','1975022303:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103007:00:00','1977103001:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,6,59,59],[1978,10,29,1,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102906:59:59','1978102901:59:59' ],
+        [ [1978,10,29,7,0,0],[1978,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102907:00:00','1978102901:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,6,59,59],[1979,10,28,1,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102806:59:59','1979102801:59:59' ],
+        [ [1979,10,28,7,0,0],[1979,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102807:00:00','1979102801:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102902:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammont01.pm b/lib/Date/Manip/TZ/ammont01.pm
new file mode 100644
index 0000000..b7a4964
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammont01.pm
@@ -0,0 +1,730 @@
+package #
+Date::Manip::TZ::ammont01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,18,44],'-06:41:16',[-6,-41,-16],
+          'LMT',0,[1922,1,1,5,59,59],[1921,12,31,23,18,43],
+          '0001010200:00:00','0001010117:18:44','1922010105:59:59','1921123123:18:43' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,6,0,0],[1922,1,1,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1922010106:00:00','1922010100:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,5,6,7,59,59],[2001,5,6,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001050607:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,8,0,0],[2001,5,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,9,30,6,59,59],[2001,9,30,1,59,59],
+          '2001050608:00:00','2001050603:00:00','2001093006:59:59','2001093001:59:59' ],
+        [ [2001,9,30,7,0,0],[2001,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001093007:00:00','2001093001:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,4,1,7,59,59],[2007,4,1,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007040107:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,8,0,0],[2007,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,10,28,6,59,59],[2007,10,28,1,59,59],
+          '2007040108:00:00','2007040103:00:00','2007102806:59:59','2007102801:59:59' ],
+        [ [2007,10,28,7,0,0],[2007,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,4,6,7,59,59],[2008,4,6,1,59,59],
+          '2007102807:00:00','2007102801:00:00','2008040607:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,8,0,0],[2008,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,10,26,6,59,59],[2008,10,26,1,59,59],
+          '2008040608:00:00','2008040603:00:00','2008102606:59:59','2008102601:59:59' ],
+        [ [2008,10,26,7,0,0],[2008,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,4,5,7,59,59],[2009,4,5,1,59,59],
+          '2008102607:00:00','2008102601:00:00','2009040507:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,8,0,0],[2009,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,10,25,6,59,59],[2009,10,25,1,59,59],
+          '2009040508:00:00','2009040503:00:00','2009102506:59:59','2009102501:59:59' ],
+        [ [2009,10,25,7,0,0],[2009,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,4,4,7,59,59],[2010,4,4,1,59,59],
+          '2009102507:00:00','2009102501:00:00','2010040407:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,8,0,0],[2010,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,10,31,6,59,59],[2010,10,31,1,59,59],
+          '2010040408:00:00','2010040403:00:00','2010103106:59:59','2010103101:59:59' ],
+        [ [2010,10,31,7,0,0],[2010,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,4,3,7,59,59],[2011,4,3,1,59,59],
+          '2010103107:00:00','2010103101:00:00','2011040307:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,3,8,0,0],[2011,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,10,30,6,59,59],[2011,10,30,1,59,59],
+          '2011040308:00:00','2011040303:00:00','2011103006:59:59','2011103001:59:59' ],
+        [ [2011,10,30,7,0,0],[2011,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,4,1,7,59,59],[2012,4,1,1,59,59],
+          '2011103007:00:00','2011103001:00:00','2012040107:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,1,8,0,0],[2012,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,10,28,6,59,59],[2012,10,28,1,59,59],
+          '2012040108:00:00','2012040103:00:00','2012102806:59:59','2012102801:59:59' ],
+        [ [2012,10,28,7,0,0],[2012,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,4,7,7,59,59],[2013,4,7,1,59,59],
+          '2012102807:00:00','2012102801:00:00','2013040707:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,7,8,0,0],[2013,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,10,27,6,59,59],[2013,10,27,1,59,59],
+          '2013040708:00:00','2013040703:00:00','2013102706:59:59','2013102701:59:59' ],
+        [ [2013,10,27,7,0,0],[2013,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,4,6,7,59,59],[2014,4,6,1,59,59],
+          '2013102707:00:00','2013102701:00:00','2014040607:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,6,8,0,0],[2014,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,10,26,6,59,59],[2014,10,26,1,59,59],
+          '2014040608:00:00','2014040603:00:00','2014102606:59:59','2014102601:59:59' ],
+        [ [2014,10,26,7,0,0],[2014,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,4,5,7,59,59],[2015,4,5,1,59,59],
+          '2014102607:00:00','2014102601:00:00','2015040507:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,5,8,0,0],[2015,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,10,25,6,59,59],[2015,10,25,1,59,59],
+          '2015040508:00:00','2015040503:00:00','2015102506:59:59','2015102501:59:59' ],
+        [ [2015,10,25,7,0,0],[2015,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,4,3,7,59,59],[2016,4,3,1,59,59],
+          '2015102507:00:00','2015102501:00:00','2016040307:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,3,8,0,0],[2016,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,10,30,6,59,59],[2016,10,30,1,59,59],
+          '2016040308:00:00','2016040303:00:00','2016103006:59:59','2016103001:59:59' ],
+        [ [2016,10,30,7,0,0],[2016,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,4,2,7,59,59],[2017,4,2,1,59,59],
+          '2016103007:00:00','2016103001:00:00','2017040207:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,2,8,0,0],[2017,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,10,29,6,59,59],[2017,10,29,1,59,59],
+          '2017040208:00:00','2017040203:00:00','2017102906:59:59','2017102901:59:59' ],
+        [ [2017,10,29,7,0,0],[2017,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,4,1,7,59,59],[2018,4,1,1,59,59],
+          '2017102907:00:00','2017102901:00:00','2018040107:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,4,1,8,0,0],[2018,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,10,28,6,59,59],[2018,10,28,1,59,59],
+          '2018040108:00:00','2018040103:00:00','2018102806:59:59','2018102801:59:59' ],
+        [ [2018,10,28,7,0,0],[2018,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,4,7,7,59,59],[2019,4,7,1,59,59],
+          '2018102807:00:00','2018102801:00:00','2019040707:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,7,8,0,0],[2019,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,10,27,6,59,59],[2019,10,27,1,59,59],
+          '2019040708:00:00','2019040703:00:00','2019102706:59:59','2019102701:59:59' ],
+        [ [2019,10,27,7,0,0],[2019,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,4,5,7,59,59],[2020,4,5,1,59,59],
+          '2019102707:00:00','2019102701:00:00','2020040507:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,5,8,0,0],[2020,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,10,25,6,59,59],[2020,10,25,1,59,59],
+          '2020040508:00:00','2020040503:00:00','2020102506:59:59','2020102501:59:59' ],
+        [ [2020,10,25,7,0,0],[2020,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,4,4,7,59,59],[2021,4,4,1,59,59],
+          '2020102507:00:00','2020102501:00:00','2021040407:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,4,8,0,0],[2021,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,10,31,6,59,59],[2021,10,31,1,59,59],
+          '2021040408:00:00','2021040403:00:00','2021103106:59:59','2021103101:59:59' ],
+        [ [2021,10,31,7,0,0],[2021,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,4,3,7,59,59],[2022,4,3,1,59,59],
+          '2021103107:00:00','2021103101:00:00','2022040307:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,3,8,0,0],[2022,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,10,30,6,59,59],[2022,10,30,1,59,59],
+          '2022040308:00:00','2022040303:00:00','2022103006:59:59','2022103001:59:59' ],
+        [ [2022,10,30,7,0,0],[2022,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,4,2,7,59,59],[2023,4,2,1,59,59],
+          '2022103007:00:00','2022103001:00:00','2023040207:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,2,8,0,0],[2023,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,10,29,6,59,59],[2023,10,29,1,59,59],
+          '2023040208:00:00','2023040203:00:00','2023102906:59:59','2023102901:59:59' ],
+        [ [2023,10,29,7,0,0],[2023,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,4,7,7,59,59],[2024,4,7,1,59,59],
+          '2023102907:00:00','2023102901:00:00','2024040707:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,7,8,0,0],[2024,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,10,27,6,59,59],[2024,10,27,1,59,59],
+          '2024040708:00:00','2024040703:00:00','2024102706:59:59','2024102701:59:59' ],
+        [ [2024,10,27,7,0,0],[2024,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,4,6,7,59,59],[2025,4,6,1,59,59],
+          '2024102707:00:00','2024102701:00:00','2025040607:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,6,8,0,0],[2025,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,10,26,6,59,59],[2025,10,26,1,59,59],
+          '2025040608:00:00','2025040603:00:00','2025102606:59:59','2025102601:59:59' ],
+        [ [2025,10,26,7,0,0],[2025,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,4,5,7,59,59],[2026,4,5,1,59,59],
+          '2025102607:00:00','2025102601:00:00','2026040507:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,5,8,0,0],[2026,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,10,25,6,59,59],[2026,10,25,1,59,59],
+          '2026040508:00:00','2026040503:00:00','2026102506:59:59','2026102501:59:59' ],
+        [ [2026,10,25,7,0,0],[2026,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,4,4,7,59,59],[2027,4,4,1,59,59],
+          '2026102507:00:00','2026102501:00:00','2027040407:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,4,8,0,0],[2027,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,10,31,6,59,59],[2027,10,31,1,59,59],
+          '2027040408:00:00','2027040403:00:00','2027103106:59:59','2027103101:59:59' ],
+        [ [2027,10,31,7,0,0],[2027,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,4,2,7,59,59],[2028,4,2,1,59,59],
+          '2027103107:00:00','2027103101:00:00','2028040207:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,2,8,0,0],[2028,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,10,29,6,59,59],[2028,10,29,1,59,59],
+          '2028040208:00:00','2028040203:00:00','2028102906:59:59','2028102901:59:59' ],
+        [ [2028,10,29,7,0,0],[2028,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,4,1,7,59,59],[2029,4,1,1,59,59],
+          '2028102907:00:00','2028102901:00:00','2029040107:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,4,1,8,0,0],[2029,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,10,28,6,59,59],[2029,10,28,1,59,59],
+          '2029040108:00:00','2029040103:00:00','2029102806:59:59','2029102801:59:59' ],
+        [ [2029,10,28,7,0,0],[2029,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,4,7,7,59,59],[2030,4,7,1,59,59],
+          '2029102807:00:00','2029102801:00:00','2030040707:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,7,8,0,0],[2030,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,10,27,6,59,59],[2030,10,27,1,59,59],
+          '2030040708:00:00','2030040703:00:00','2030102706:59:59','2030102701:59:59' ],
+        [ [2030,10,27,7,0,0],[2030,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,4,6,7,59,59],[2031,4,6,1,59,59],
+          '2030102707:00:00','2030102701:00:00','2031040607:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,6,8,0,0],[2031,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,10,26,6,59,59],[2031,10,26,1,59,59],
+          '2031040608:00:00','2031040603:00:00','2031102606:59:59','2031102601:59:59' ],
+        [ [2031,10,26,7,0,0],[2031,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,4,4,7,59,59],[2032,4,4,1,59,59],
+          '2031102607:00:00','2031102601:00:00','2032040407:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,4,8,0,0],[2032,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,10,31,6,59,59],[2032,10,31,1,59,59],
+          '2032040408:00:00','2032040403:00:00','2032103106:59:59','2032103101:59:59' ],
+        [ [2032,10,31,7,0,0],[2032,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,4,3,7,59,59],[2033,4,3,1,59,59],
+          '2032103107:00:00','2032103101:00:00','2033040307:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,3,8,0,0],[2033,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,10,30,6,59,59],[2033,10,30,1,59,59],
+          '2033040308:00:00','2033040303:00:00','2033103006:59:59','2033103001:59:59' ],
+        [ [2033,10,30,7,0,0],[2033,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,4,2,7,59,59],[2034,4,2,1,59,59],
+          '2033103007:00:00','2033103001:00:00','2034040207:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,2,8,0,0],[2034,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,10,29,6,59,59],[2034,10,29,1,59,59],
+          '2034040208:00:00','2034040203:00:00','2034102906:59:59','2034102901:59:59' ],
+        [ [2034,10,29,7,0,0],[2034,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,4,1,7,59,59],[2035,4,1,1,59,59],
+          '2034102907:00:00','2034102901:00:00','2035040107:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,4,1,8,0,0],[2035,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,10,28,6,59,59],[2035,10,28,1,59,59],
+          '2035040108:00:00','2035040103:00:00','2035102806:59:59','2035102801:59:59' ],
+        [ [2035,10,28,7,0,0],[2035,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,4,6,7,59,59],[2036,4,6,1,59,59],
+          '2035102807:00:00','2035102801:00:00','2036040607:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,6,8,0,0],[2036,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,10,26,6,59,59],[2036,10,26,1,59,59],
+          '2036040608:00:00','2036040603:00:00','2036102606:59:59','2036102601:59:59' ],
+        [ [2036,10,26,7,0,0],[2036,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,4,5,7,59,59],[2037,4,5,1,59,59],
+          '2036102607:00:00','2036102601:00:00','2037040507:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,5,8,0,0],[2037,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,10,25,6,59,59],[2037,10,25,1,59,59],
+          '2037040508:00:00','2037040503:00:00','2037102506:59:59','2037102501:59:59' ],
+        [ [2037,10,25,7,0,0],[2037,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,4,4,7,59,59],[2038,4,4,1,59,59],
+          '2037102507:00:00','2037102501:00:00','2038040407:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,4,8,0,0],[2038,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,10,31,6,59,59],[2038,10,31,1,59,59],
+          '2038040408:00:00','2038040403:00:00','2038103106:59:59','2038103101:59:59' ],
+        [ [2038,10,31,7,0,0],[2038,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,4,3,7,59,59],[2039,4,3,1,59,59],
+          '2038103107:00:00','2038103101:00:00','2039040307:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,3,8,0,0],[2039,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,10,30,6,59,59],[2039,10,30,1,59,59],
+          '2039040308:00:00','2039040303:00:00','2039103006:59:59','2039103001:59:59' ],
+        [ [2039,10,30,7,0,0],[2039,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,4,1,7,59,59],[2040,4,1,1,59,59],
+          '2039103007:00:00','2039103001:00:00','2040040107:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,4,1,8,0,0],[2040,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,10,28,6,59,59],[2040,10,28,1,59,59],
+          '2040040108:00:00','2040040103:00:00','2040102806:59:59','2040102801:59:59' ],
+        [ [2040,10,28,7,0,0],[2040,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,4,7,7,59,59],[2041,4,7,1,59,59],
+          '2040102807:00:00','2040102801:00:00','2041040707:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,7,8,0,0],[2041,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,10,27,6,59,59],[2041,10,27,1,59,59],
+          '2041040708:00:00','2041040703:00:00','2041102706:59:59','2041102701:59:59' ],
+        [ [2041,10,27,7,0,0],[2041,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,4,6,7,59,59],[2042,4,6,1,59,59],
+          '2041102707:00:00','2041102701:00:00','2042040607:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,6,8,0,0],[2042,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,10,26,6,59,59],[2042,10,26,1,59,59],
+          '2042040608:00:00','2042040603:00:00','2042102606:59:59','2042102601:59:59' ],
+        [ [2042,10,26,7,0,0],[2042,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,4,5,7,59,59],[2043,4,5,1,59,59],
+          '2042102607:00:00','2042102601:00:00','2043040507:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,5,8,0,0],[2043,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,10,25,6,59,59],[2043,10,25,1,59,59],
+          '2043040508:00:00','2043040503:00:00','2043102506:59:59','2043102501:59:59' ],
+        [ [2043,10,25,7,0,0],[2043,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,4,3,7,59,59],[2044,4,3,1,59,59],
+          '2043102507:00:00','2043102501:00:00','2044040307:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,3,8,0,0],[2044,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,10,30,6,59,59],[2044,10,30,1,59,59],
+          '2044040308:00:00','2044040303:00:00','2044103006:59:59','2044103001:59:59' ],
+        [ [2044,10,30,7,0,0],[2044,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,4,2,7,59,59],[2045,4,2,1,59,59],
+          '2044103007:00:00','2044103001:00:00','2045040207:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,2,8,0,0],[2045,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,10,29,6,59,59],[2045,10,29,1,59,59],
+          '2045040208:00:00','2045040203:00:00','2045102906:59:59','2045102901:59:59' ],
+        [ [2045,10,29,7,0,0],[2045,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,4,1,7,59,59],[2046,4,1,1,59,59],
+          '2045102907:00:00','2045102901:00:00','2046040107:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,4,1,8,0,0],[2046,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,10,28,6,59,59],[2046,10,28,1,59,59],
+          '2046040108:00:00','2046040103:00:00','2046102806:59:59','2046102801:59:59' ],
+        [ [2046,10,28,7,0,0],[2046,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,4,7,7,59,59],[2047,4,7,1,59,59],
+          '2046102807:00:00','2046102801:00:00','2047040707:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,7,8,0,0],[2047,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,10,27,6,59,59],[2047,10,27,1,59,59],
+          '2047040708:00:00','2047040703:00:00','2047102706:59:59','2047102701:59:59' ],
+        [ [2047,10,27,7,0,0],[2047,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,4,5,7,59,59],[2048,4,5,1,59,59],
+          '2047102707:00:00','2047102701:00:00','2048040507:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,5,8,0,0],[2048,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,10,25,6,59,59],[2048,10,25,1,59,59],
+          '2048040508:00:00','2048040503:00:00','2048102506:59:59','2048102501:59:59' ],
+        [ [2048,10,25,7,0,0],[2048,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,4,4,7,59,59],[2049,4,4,1,59,59],
+          '2048102507:00:00','2048102501:00:00','2049040407:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,4,8,0,0],[2049,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,10,31,6,59,59],[2049,10,31,1,59,59],
+          '2049040408:00:00','2049040403:00:00','2049103106:59:59','2049103101:59:59' ],
+        [ [2049,10,31,7,0,0],[2049,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,4,3,7,59,59],[2050,4,3,1,59,59],
+          '2049103107:00:00','2049103101:00:00','2050040307:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,3,8,0,0],[2050,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,10,30,6,59,59],[2050,10,30,1,59,59],
+          '2050040308:00:00','2050040303:00:00','2050103006:59:59','2050103001:59:59' ],
+        [ [2050,10,30,7,0,0],[2050,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,4,2,7,59,59],[2051,4,2,1,59,59],
+          '2050103007:00:00','2050103001:00:00','2051040207:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,2,8,0,0],[2051,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,10,29,6,59,59],[2051,10,29,1,59,59],
+          '2051040208:00:00','2051040203:00:00','2051102906:59:59','2051102901:59:59' ],
+        [ [2051,10,29,7,0,0],[2051,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,4,7,7,59,59],[2052,4,7,1,59,59],
+          '2051102907:00:00','2051102901:00:00','2052040707:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,7,8,0,0],[2052,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,10,27,6,59,59],[2052,10,27,1,59,59],
+          '2052040708:00:00','2052040703:00:00','2052102706:59:59','2052102701:59:59' ],
+        [ [2052,10,27,7,0,0],[2052,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,4,6,7,59,59],[2053,4,6,1,59,59],
+          '2052102707:00:00','2052102701:00:00','2053040607:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,6,8,0,0],[2053,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,10,26,6,59,59],[2053,10,26,1,59,59],
+          '2053040608:00:00','2053040603:00:00','2053102606:59:59','2053102601:59:59' ],
+        [ [2053,10,26,7,0,0],[2053,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,4,5,7,59,59],[2054,4,5,1,59,59],
+          '2053102607:00:00','2053102601:00:00','2054040507:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,5,8,0,0],[2054,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,10,25,6,59,59],[2054,10,25,1,59,59],
+          '2054040508:00:00','2054040503:00:00','2054102506:59:59','2054102501:59:59' ],
+        [ [2054,10,25,7,0,0],[2054,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,4,4,7,59,59],[2055,4,4,1,59,59],
+          '2054102507:00:00','2054102501:00:00','2055040407:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,4,8,0,0],[2055,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,10,31,6,59,59],[2055,10,31,1,59,59],
+          '2055040408:00:00','2055040403:00:00','2055103106:59:59','2055103101:59:59' ],
+        [ [2055,10,31,7,0,0],[2055,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,4,2,7,59,59],[2056,4,2,1,59,59],
+          '2055103107:00:00','2055103101:00:00','2056040207:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,2,8,0,0],[2056,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,10,29,6,59,59],[2056,10,29,1,59,59],
+          '2056040208:00:00','2056040203:00:00','2056102906:59:59','2056102901:59:59' ],
+        [ [2056,10,29,7,0,0],[2056,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,4,1,7,59,59],[2057,4,1,1,59,59],
+          '2056102907:00:00','2056102901:00:00','2057040107:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,4,1,8,0,0],[2057,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,10,28,6,59,59],[2057,10,28,1,59,59],
+          '2057040108:00:00','2057040103:00:00','2057102806:59:59','2057102801:59:59' ],
+        [ [2057,10,28,7,0,0],[2057,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,4,7,7,59,59],[2058,4,7,1,59,59],
+          '2057102807:00:00','2057102801:00:00','2058040707:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,7,8,0,0],[2058,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,10,27,6,59,59],[2058,10,27,1,59,59],
+          '2058040708:00:00','2058040703:00:00','2058102706:59:59','2058102701:59:59' ],
+        [ [2058,10,27,7,0,0],[2058,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,4,6,7,59,59],[2059,4,6,1,59,59],
+          '2058102707:00:00','2058102701:00:00','2059040607:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,6,8,0,0],[2059,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,10,26,6,59,59],[2059,10,26,1,59,59],
+          '2059040608:00:00','2059040603:00:00','2059102606:59:59','2059102601:59:59' ],
+        [ [2059,10,26,7,0,0],[2059,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,4,4,7,59,59],[2060,4,4,1,59,59],
+          '2059102607:00:00','2059102601:00:00','2060040407:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,4,8,0,0],[2060,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,10,31,6,59,59],[2060,10,31,1,59,59],
+          '2060040408:00:00','2060040403:00:00','2060103106:59:59','2060103101:59:59' ],
+        [ [2060,10,31,7,0,0],[2060,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,4,3,7,59,59],[2061,4,3,1,59,59],
+          '2060103107:00:00','2060103101:00:00','2061040307:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,3,8,0,0],[2061,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,10,30,6,59,59],[2061,10,30,1,59,59],
+          '2061040308:00:00','2061040303:00:00','2061103006:59:59','2061103001:59:59' ],
+        [ [2061,10,30,7,0,0],[2061,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,4,2,7,59,59],[2062,4,2,1,59,59],
+          '2061103007:00:00','2061103001:00:00','2062040207:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,2,8,0,0],[2062,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,10,29,6,59,59],[2062,10,29,1,59,59],
+          '2062040208:00:00','2062040203:00:00','2062102906:59:59','2062102901:59:59' ],
+        [ [2062,10,29,7,0,0],[2062,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,4,1,7,59,59],[2063,4,1,1,59,59],
+          '2062102907:00:00','2062102901:00:00','2063040107:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,4,1,8,0,0],[2063,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,10,28,6,59,59],[2063,10,28,1,59,59],
+          '2063040108:00:00','2063040103:00:00','2063102806:59:59','2063102801:59:59' ],
+        [ [2063,10,28,7,0,0],[2063,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,4,6,7,59,59],[2064,4,6,1,59,59],
+          '2063102807:00:00','2063102801:00:00','2064040607:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,6,8,0,0],[2064,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,10,26,6,59,59],[2064,10,26,1,59,59],
+          '2064040608:00:00','2064040603:00:00','2064102606:59:59','2064102601:59:59' ],
+        [ [2064,10,26,7,0,0],[2064,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,4,5,7,59,59],[2065,4,5,1,59,59],
+          '2064102607:00:00','2064102601:00:00','2065040507:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,5,8,0,0],[2065,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,10,25,6,59,59],[2065,10,25,1,59,59],
+          '2065040508:00:00','2065040503:00:00','2065102506:59:59','2065102501:59:59' ],
+        [ [2065,10,25,7,0,0],[2065,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,4,4,7,59,59],[2066,4,4,1,59,59],
+          '2065102507:00:00','2065102501:00:00','2066040407:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,4,8,0,0],[2066,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,10,31,6,59,59],[2066,10,31,1,59,59],
+          '2066040408:00:00','2066040403:00:00','2066103106:59:59','2066103101:59:59' ],
+        [ [2066,10,31,7,0,0],[2066,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,4,3,7,59,59],[2067,4,3,1,59,59],
+          '2066103107:00:00','2066103101:00:00','2067040307:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,3,8,0,0],[2067,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,10,30,6,59,59],[2067,10,30,1,59,59],
+          '2067040308:00:00','2067040303:00:00','2067103006:59:59','2067103001:59:59' ],
+        [ [2067,10,30,7,0,0],[2067,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,4,1,7,59,59],[2068,4,1,1,59,59],
+          '2067103007:00:00','2067103001:00:00','2068040107:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ammont02.pm b/lib/Date/Manip/TZ/ammont02.pm
new file mode 100644
index 0000000..aa71398
--- /dev/null
+++ b/lib/Date/Manip/TZ/ammont02.pm
@@ -0,0 +1,457 @@
+package #
+Date::Manip::TZ::ammont02;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,15,16],'-03:44:44',[-3,-44,-44],
+          'LMT',0,[1898,6,28,3,44,43],[1898,6,27,23,59,59],
+          '0001010200:00:00','0001010120:15:16','1898062803:44:43','1898062723:59:59' ],
+     ],
+   1898 =>
+     [
+        [ [1898,6,28,3,44,44],[1898,6,28,0,0,0],'-03:44:44',[-3,-44,-44],
+          'MMT',0,[1920,5,1,3,44,43],[1920,4,30,23,59,59],
+          '1898062803:44:44','1898062800:00:00','1920050103:44:43','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,3,44,44],[1920,5,1,0,14,44],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1923,10,2,3,29,59],[1923,10,1,23,59,59],
+          '1920050103:44:44','1920050100:14:44','1923100203:29:59','1923100123:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,10,2,3,30,0],[1923,10,2,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1924,4,1,2,59,59],[1924,3,31,23,59,59],
+          '1923100203:30:00','1923100200:30:00','1924040102:59:59','1924033123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,1,3,0,0],[1924,3,31,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1924,10,1,3,29,59],[1924,9,30,23,59,59],
+          '1924040103:00:00','1924033123:30:00','1924100103:29:59','1924093023:59:59' ],
+        [ [1924,10,1,3,30,0],[1924,10,1,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1925,4,1,2,59,59],[1925,3,31,23,59,59],
+          '1924100103:30:00','1924100100:30:00','1925040102:59:59','1925033123:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,1,3,0,0],[1925,3,31,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1925,10,1,3,29,59],[1925,9,30,23,59,59],
+          '1925040103:00:00','1925033123:30:00','1925100103:29:59','1925093023:59:59' ],
+        [ [1925,10,1,3,30,0],[1925,10,1,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1926,4,1,2,59,59],[1926,3,31,23,59,59],
+          '1925100103:30:00','1925100100:30:00','1926040102:59:59','1926033123:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,1,3,0,0],[1926,3,31,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1933,10,29,3,29,59],[1933,10,28,23,59,59],
+          '1926040103:00:00','1926033123:30:00','1933102903:29:59','1933102823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,10,29,3,30,0],[1933,10,29,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,4,1,2,59,59],[1934,3,31,23,59,59],
+          '1933102903:30:00','1933102900:30:00','1934040102:59:59','1934033123:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,1,3,0,0],[1934,3,31,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1934,10,28,3,29,59],[1934,10,27,23,59,59],
+          '1934040103:00:00','1934033123:30:00','1934102803:29:59','1934102723:59:59' ],
+        [ [1934,10,28,3,30,0],[1934,10,28,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,31,2,59,59],[1935,3,30,23,59,59],
+          '1934102803:30:00','1934102800:30:00','1935033102:59:59','1935033023:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,31,3,0,0],[1935,3,30,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1935,10,27,3,29,59],[1935,10,26,23,59,59],
+          '1935033103:00:00','1935033023:30:00','1935102703:29:59','1935102623:59:59' ],
+        [ [1935,10,27,3,30,0],[1935,10,27,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,29,2,59,59],[1936,3,28,23,59,59],
+          '1935102703:30:00','1935102700:30:00','1936032902:59:59','1936032823:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,29,3,0,0],[1936,3,28,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1936,11,1,3,29,59],[1936,10,31,23,59,59],
+          '1936032903:00:00','1936032823:30:00','1936110103:29:59','1936103123:59:59' ],
+        [ [1936,11,1,3,30,0],[1936,11,1,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,28,2,59,59],[1937,3,27,23,59,59],
+          '1936110103:30:00','1936110100:30:00','1937032802:59:59','1937032723:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,28,3,0,0],[1937,3,27,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1937,10,31,3,29,59],[1937,10,30,23,59,59],
+          '1937032803:00:00','1937032723:30:00','1937103103:29:59','1937103023:59:59' ],
+        [ [1937,10,31,3,30,0],[1937,10,31,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,27,2,59,59],[1938,3,26,23,59,59],
+          '1937103103:30:00','1937103100:30:00','1938032702:59:59','1938032623:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,27,3,0,0],[1938,3,26,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1938,10,30,3,29,59],[1938,10,29,23,59,59],
+          '1938032703:00:00','1938032623:30:00','1938103003:29:59','1938102923:59:59' ],
+        [ [1938,10,30,3,30,0],[1938,10,30,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,26,2,59,59],[1939,3,25,23,59,59],
+          '1938103003:30:00','1938103000:30:00','1939032602:59:59','1939032523:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,26,3,0,0],[1939,3,25,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1939,10,29,3,29,59],[1939,10,28,23,59,59],
+          '1939032603:00:00','1939032523:30:00','1939102903:29:59','1939102823:59:59' ],
+        [ [1939,10,29,3,30,0],[1939,10,29,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,31,2,59,59],[1940,3,30,23,59,59],
+          '1939102903:30:00','1939102900:30:00','1940033102:59:59','1940033023:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,31,3,0,0],[1940,3,30,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1940,10,27,3,29,59],[1940,10,26,23,59,59],
+          '1940033103:00:00','1940033023:30:00','1940102703:29:59','1940102623:59:59' ],
+        [ [1940,10,27,3,30,0],[1940,10,27,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,3,30,2,59,59],[1941,3,29,23,59,59],
+          '1940102703:30:00','1940102700:30:00','1941033002:59:59','1941032923:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,3,30,3,0,0],[1941,3,29,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1941,8,1,3,29,59],[1941,7,31,23,59,59],
+          '1941033003:00:00','1941032923:30:00','1941080103:29:59','1941073123:59:59' ],
+        [ [1941,8,1,3,30,0],[1941,8,1,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1942,1,1,2,59,59],[1941,12,31,23,59,59],
+          '1941080103:30:00','1941080100:30:00','1942010102:59:59','1941123123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,1,1,3,0,0],[1941,12,31,23,30,0],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1942,12,14,3,29,59],[1942,12,13,23,59,59],
+          '1942010103:00:00','1941123123:30:00','1942121403:29:59','1942121323:59:59' ],
+        [ [1942,12,14,3,30,0],[1942,12,14,1,30,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1943,3,14,1,59,59],[1943,3,13,23,59,59],
+          '1942121403:30:00','1942121401:30:00','1943031401:59:59','1943031323:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,14,2,0,0],[1943,3,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1959,5,24,2,59,59],[1959,5,23,23,59,59],
+          '1943031402:00:00','1943031323:00:00','1959052402:59:59','1959052323:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,5,24,3,0,0],[1959,5,24,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1959,11,15,1,59,59],[1959,11,14,23,59,59],
+          '1959052403:00:00','1959052401:00:00','1959111501:59:59','1959111423:59:59' ],
+        [ [1959,11,15,2,0,0],[1959,11,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1960,1,17,2,59,59],[1960,1,16,23,59,59],
+          '1959111502:00:00','1959111423:00:00','1960011702:59:59','1960011623:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,1,17,3,0,0],[1960,1,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1960,3,6,1,59,59],[1960,3,5,23,59,59],
+          '1960011703:00:00','1960011701:00:00','1960030601:59:59','1960030523:59:59' ],
+        [ [1960,3,6,2,0,0],[1960,3,5,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,4,4,2,59,59],[1965,4,3,23,59,59],
+          '1960030602:00:00','1960030523:00:00','1965040402:59:59','1965040323:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,4,3,0,0],[1965,4,4,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,9,26,1,59,59],[1965,9,25,23,59,59],
+          '1965040403:00:00','1965040401:00:00','1965092601:59:59','1965092523:59:59' ],
+        [ [1965,9,26,2,0,0],[1965,9,25,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,4,3,2,59,59],[1966,4,2,23,59,59],
+          '1965092602:00:00','1965092523:00:00','1966040302:59:59','1966040223:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,3,3,0,0],[1966,4,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,10,31,1,59,59],[1966,10,30,23,59,59],
+          '1966040303:00:00','1966040301:00:00','1966103101:59:59','1966103023:59:59' ],
+        [ [1966,10,31,2,0,0],[1966,10,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966103102:00:00','1966103023:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,10,31,1,59,59],[1967,10,30,23,59,59],
+          '1967040203:00:00','1967040201:00:00','1967103101:59:59','1967103023:59:59' ],
+        [ [1967,10,31,2,0,0],[1967,10,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1968,5,27,2,59,59],[1968,5,26,23,59,59],
+          '1967103102:00:00','1967103023:00:00','1968052702:59:59','1968052623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,5,27,3,0,0],[1968,5,27,0,30,0],'-02:30:00',[-2,-30,0],
+          '-0230',1,[1968,12,2,2,29,59],[1968,12,1,23,59,59],
+          '1968052703:00:00','1968052700:30:00','1968120202:29:59','1968120123:59:59' ],
+        [ [1968,12,2,2,30,0],[1968,12,1,23,30,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1969,5,27,2,59,59],[1969,5,26,23,59,59],
+          '1968120202:30:00','1968120123:30:00','1969052702:59:59','1969052623:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,5,27,3,0,0],[1969,5,27,0,30,0],'-02:30:00',[-2,-30,0],
+          '-0230',1,[1969,12,2,2,29,59],[1969,12,1,23,59,59],
+          '1969052703:00:00','1969052700:30:00','1969120202:29:59','1969120123:59:59' ],
+        [ [1969,12,2,2,30,0],[1969,12,1,23,30,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1970,5,27,2,59,59],[1970,5,26,23,59,59],
+          '1969120202:30:00','1969120123:30:00','1970052702:59:59','1970052623:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,5,27,3,0,0],[1970,5,27,0,30,0],'-02:30:00',[-2,-30,0],
+          '-0230',1,[1970,12,2,2,29,59],[1970,12,1,23,59,59],
+          '1970052703:00:00','1970052700:30:00','1970120202:29:59','1970120123:59:59' ],
+        [ [1970,12,2,2,30,0],[1970,12,1,23,30,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1972,4,24,2,59,59],[1972,4,23,23,59,59],
+          '1970120202:30:00','1970120123:30:00','1972042402:59:59','1972042323:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,24,3,0,0],[1972,4,24,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1972,8,15,1,59,59],[1972,8,14,23,59,59],
+          '1972042403:00:00','1972042401:00:00','1972081501:59:59','1972081423:59:59' ],
+        [ [1972,8,15,2,0,0],[1972,8,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,3,10,2,59,59],[1974,3,9,23,59,59],
+          '1972081502:00:00','1972081423:00:00','1974031002:59:59','1974030923:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,10,3,0,0],[1974,3,10,0,30,0],'-02:30:00',[-2,-30,0],
+          '-0230',1,[1974,12,22,2,29,59],[1974,12,21,23,59,59],
+          '1974031003:00:00','1974031000:30:00','1974122202:29:59','1974122123:59:59' ],
+        [ [1974,12,22,2,30,0],[1974,12,22,0,30,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1976,10,1,1,59,59],[1976,9,30,23,59,59],
+          '1974122202:30:00','1974122200:30:00','1976100101:59:59','1976093023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,10,1,2,0,0],[1976,9,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1977,12,4,2,59,59],[1977,12,3,23,59,59],
+          '1976100102:00:00','1976093023:00:00','1977120402:59:59','1977120323:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,12,4,3,0,0],[1977,12,4,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1978,4,1,1,59,59],[1978,3,31,23,59,59],
+          '1977120403:00:00','1977120401:00:00','1978040101:59:59','1978033123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,1,2,0,0],[1978,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1979,10,1,2,59,59],[1979,9,30,23,59,59],
+          '1978040102:00:00','1978033123:00:00','1979100102:59:59','1979093023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,1,3,0,0],[1979,10,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1980,5,1,1,59,59],[1980,4,30,23,59,59],
+          '1979100103:00:00','1979100101:00:00','1980050101:59:59','1980043023:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,5,1,2,0,0],[1980,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,12,14,2,59,59],[1987,12,13,23,59,59],
+          '1980050102:00:00','1980043023:00:00','1987121402:59:59','1987121323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,12,14,3,0,0],[1987,12,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,3,14,1,59,59],[1988,3,13,23,59,59],
+          '1987121403:00:00','1987121401:00:00','1988031401:59:59','1988031323:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,14,2,0,0],[1988,3,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,11,2,59,59],[1988,12,10,23,59,59],
+          '1988031402:00:00','1988031323:00:00','1988121102:59:59','1988121023:59:59' ],
+        [ [1988,12,11,3,0,0],[1988,12,11,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,12,1,59,59],[1989,3,11,23,59,59],
+          '1988121103:00:00','1988121101:00:00','1989031201:59:59','1989031123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,12,2,0,0],[1989,3,11,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,29,2,59,59],[1989,10,28,23,59,59],
+          '1989031202:00:00','1989031123:00:00','1989102902:59:59','1989102823:59:59' ],
+        [ [1989,10,29,3,0,0],[1989,10,29,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989102903:00:00','1989102901:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,27,2,59,59],[1991,10,26,23,59,59],
+          '1991030302:00:00','1991030223:00:00','1991102702:59:59','1991102623:59:59' ],
+        [ [1991,10,27,3,0,0],[1991,10,27,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102703:00:00','1991102701:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,2,28,1,59,59],[1993,2,27,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993022801:59:59','1993022723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,2,28,2,0,0],[1993,2,27,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,9,19,2,59,59],[2004,9,18,23,59,59],
+          '1993022802:00:00','1993022723:00:00','2004091902:59:59','2004091823:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,9,19,3,0,0],[2004,9,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2005,3,27,3,59,59],[2005,3,27,1,59,59],
+          '2004091903:00:00','2004091901:00:00','2005032703:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,4,0,0],[2005,3,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2005,10,9,4,59,59],[2005,10,9,1,59,59],
+          '2005032704:00:00','2005032701:00:00','2005100904:59:59','2005100901:59:59' ],
+        [ [2005,10,9,5,0,0],[2005,10,9,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2006,3,12,3,59,59],[2006,3,12,1,59,59],
+          '2005100905:00:00','2005100903:00:00','2006031203:59:59','2006031201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,4,0,0],[2006,3,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2006,10,1,4,59,59],[2006,10,1,1,59,59],
+          '2006031204:00:00','2006031201:00:00','2006100104:59:59','2006100101:59:59' ],
+        [ [2006,10,1,5,0,0],[2006,10,1,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2007,3,11,3,59,59],[2007,3,11,1,59,59],
+          '2006100105:00:00','2006100103:00:00','2007031103:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,4,0,0],[2007,3,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,10,7,4,59,59],[2007,10,7,1,59,59],
+          '2007031104:00:00','2007031101:00:00','2007100704:59:59','2007100701:59:59' ],
+        [ [2007,10,7,5,0,0],[2007,10,7,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,9,3,59,59],[2008,3,9,1,59,59],
+          '2007100705:00:00','2007100703:00:00','2008030903:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,4,0,0],[2008,3,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,10,5,4,59,59],[2008,10,5,1,59,59],
+          '2008030904:00:00','2008030901:00:00','2008100504:59:59','2008100501:59:59' ],
+        [ [2008,10,5,5,0,0],[2008,10,5,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,3,8,3,59,59],[2009,3,8,1,59,59],
+          '2008100505:00:00','2008100503:00:00','2009030803:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,4,0,0],[2009,3,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2009,10,4,4,59,59],[2009,10,4,1,59,59],
+          '2009030804:00:00','2009030801:00:00','2009100404:59:59','2009100401:59:59' ],
+        [ [2009,10,4,5,0,0],[2009,10,4,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2010,3,14,3,59,59],[2010,3,14,1,59,59],
+          '2009100405:00:00','2009100403:00:00','2010031403:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,4,0,0],[2010,3,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2010,10,3,4,59,59],[2010,10,3,1,59,59],
+          '2010031404:00:00','2010031401:00:00','2010100304:59:59','2010100301:59:59' ],
+        [ [2010,10,3,5,0,0],[2010,10,3,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2011,3,13,3,59,59],[2011,3,13,1,59,59],
+          '2010100305:00:00','2010100303:00:00','2011031303:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,4,0,0],[2011,3,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2011,10,2,4,59,59],[2011,10,2,1,59,59],
+          '2011031304:00:00','2011031301:00:00','2011100204:59:59','2011100201:59:59' ],
+        [ [2011,10,2,5,0,0],[2011,10,2,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2012,3,11,3,59,59],[2012,3,11,1,59,59],
+          '2011100205:00:00','2011100203:00:00','2012031103:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,4,0,0],[2012,3,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2012,10,7,4,59,59],[2012,10,7,1,59,59],
+          '2012031104:00:00','2012031101:00:00','2012100704:59:59','2012100701:59:59' ],
+        [ [2012,10,7,5,0,0],[2012,10,7,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2013,3,10,3,59,59],[2013,3,10,1,59,59],
+          '2012100705:00:00','2012100703:00:00','2013031003:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,4,0,0],[2013,3,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2013,10,6,4,59,59],[2013,10,6,1,59,59],
+          '2013031004:00:00','2013031001:00:00','2013100604:59:59','2013100601:59:59' ],
+        [ [2013,10,6,5,0,0],[2013,10,6,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2014,3,9,3,59,59],[2014,3,9,1,59,59],
+          '2013100605:00:00','2013100603:00:00','2014030903:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,4,0,0],[2014,3,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2014,10,5,4,59,59],[2014,10,5,1,59,59],
+          '2014030904:00:00','2014030901:00:00','2014100504:59:59','2014100501:59:59' ],
+        [ [2014,10,5,5,0,0],[2014,10,5,3,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2015,3,8,3,59,59],[2015,3,8,1,59,59],
+          '2014100505:00:00','2014100503:00:00','2015030803:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,4,0,0],[2015,3,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2015030804:00:00','2015030801:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnass00.pm b/lib/Date/Manip/TZ/amnass00.pm
new file mode 100644
index 0000000..e6fbb0b
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnass00.pm
@@ -0,0 +1,1009 @@
+package #
+Date::Manip::TZ::amnass00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,50,30],'-05:09:30',[-5,-9,-30],
+          'LMT',0,[1912,3,2,5,9,29],[1912,3,1,23,59,59],
+          '0001010200:00:00','0001010118:50:30','1912030205:09:29','1912030123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,3,2,5,9,30],[1912,3,2,0,9,30],'-05:00:00',[-5,0,0],
+          'EST',0,[1964,4,26,6,59,59],[1964,4,26,1,59,59],
+          '1912030205:09:30','1912030200:09:30','1964042606:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,7,0,0],[1964,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1964,10,25,5,59,59],[1964,10,25,1,59,59],
+          '1964042607:00:00','1964042603:00:00','1964102505:59:59','1964102501:59:59' ],
+        [ [1964,10,25,6,0,0],[1964,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1965,4,25,6,59,59],[1965,4,25,1,59,59],
+          '1964102506:00:00','1964102501:00:00','1965042506:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,7,0,0],[1965,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1965,10,31,5,59,59],[1965,10,31,1,59,59],
+          '1965042507:00:00','1965042503:00:00','1965103105:59:59','1965103101:59:59' ],
+        [ [1965,10,31,6,0,0],[1965,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1966,4,24,6,59,59],[1966,4,24,1,59,59],
+          '1965103106:00:00','1965103101:00:00','1966042406:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,7,0,0],[1966,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1966,10,30,5,59,59],[1966,10,30,1,59,59],
+          '1966042407:00:00','1966042403:00:00','1966103005:59:59','1966103001:59:59' ],
+        [ [1966,10,30,6,0,0],[1966,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1967,4,30,6,59,59],[1967,4,30,1,59,59],
+          '1966103006:00:00','1966103001:00:00','1967043006:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,7,0,0],[1967,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1967,10,29,5,59,59],[1967,10,29,1,59,59],
+          '1967043007:00:00','1967043003:00:00','1967102905:59:59','1967102901:59:59' ],
+        [ [1967,10,29,6,0,0],[1967,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1968,4,28,6,59,59],[1968,4,28,1,59,59],
+          '1967102906:00:00','1967102901:00:00','1968042806:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,7,0,0],[1968,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1968,10,27,5,59,59],[1968,10,27,1,59,59],
+          '1968042807:00:00','1968042803:00:00','1968102705:59:59','1968102701:59:59' ],
+        [ [1968,10,27,6,0,0],[1968,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1968102706:00:00','1968102701:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,4,28,6,59,59],[1974,4,28,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974042806:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,7,0,0],[1974,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974042807:00:00','1974042803:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,4,27,6,59,59],[1975,4,27,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975042706:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,7,0,0],[1975,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975042707:00:00','1975042703:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnew_00.pm b/lib/Date/Manip/TZ/amnew_00.pm
new file mode 100644
index 0000000..f89bd19
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnew_00.pm
@@ -0,0 +1,1402 @@
+package #
+Date::Manip::TZ::amnew_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,3,58],'-04:56:02',[-4,-56,-2],
+          'LMT',0,[1883,11,18,16,59,59],[1883,11,18,12,3,57],
+          '0001010200:00:00','0001010119:03:58','1883111816:59:59','1883111812:03:57' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,17,0,0],[1883,11,18,12,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1918,3,31,6,59,59],[1918,3,31,1,59,59],
+          '1883111817:00:00','1883111812:00:00','1918033106:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,7,0,0],[1918,3,31,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1918,10,27,5,59,59],[1918,10,27,1,59,59],
+          '1918033107:00:00','1918033103:00:00','1918102705:59:59','1918102701:59:59' ],
+        [ [1918,10,27,6,0,0],[1918,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1919,3,30,6,59,59],[1919,3,30,1,59,59],
+          '1918102706:00:00','1918102701:00:00','1919033006:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,7,0,0],[1919,3,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1919,10,26,5,59,59],[1919,10,26,1,59,59],
+          '1919033007:00:00','1919033003:00:00','1919102605:59:59','1919102601:59:59' ],
+        [ [1919,10,26,6,0,0],[1919,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1920,3,28,6,59,59],[1920,3,28,1,59,59],
+          '1919102606:00:00','1919102601:00:00','1920032806:59:59','1920032801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,28,7,0,0],[1920,3,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1920,10,31,5,59,59],[1920,10,31,1,59,59],
+          '1920032807:00:00','1920032803:00:00','1920103105:59:59','1920103101:59:59' ],
+        [ [1920,10,31,6,0,0],[1920,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1921,4,24,6,59,59],[1921,4,24,1,59,59],
+          '1920103106:00:00','1920103101:00:00','1921042406:59:59','1921042401:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,24,7,0,0],[1921,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1921,9,25,5,59,59],[1921,9,25,1,59,59],
+          '1921042407:00:00','1921042403:00:00','1921092505:59:59','1921092501:59:59' ],
+        [ [1921,9,25,6,0,0],[1921,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1922,4,30,6,59,59],[1922,4,30,1,59,59],
+          '1921092506:00:00','1921092501:00:00','1922043006:59:59','1922043001:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,4,30,7,0,0],[1922,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1922,9,24,5,59,59],[1922,9,24,1,59,59],
+          '1922043007:00:00','1922043003:00:00','1922092405:59:59','1922092401:59:59' ],
+        [ [1922,9,24,6,0,0],[1922,9,24,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1923,4,29,6,59,59],[1923,4,29,1,59,59],
+          '1922092406:00:00','1922092401:00:00','1923042906:59:59','1923042901:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,29,7,0,0],[1923,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1923,9,30,5,59,59],[1923,9,30,1,59,59],
+          '1923042907:00:00','1923042903:00:00','1923093005:59:59','1923093001:59:59' ],
+        [ [1923,9,30,6,0,0],[1923,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1924,4,27,6,59,59],[1924,4,27,1,59,59],
+          '1923093006:00:00','1923093001:00:00','1924042706:59:59','1924042701:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,27,7,0,0],[1924,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1924,9,28,5,59,59],[1924,9,28,1,59,59],
+          '1924042707:00:00','1924042703:00:00','1924092805:59:59','1924092801:59:59' ],
+        [ [1924,9,28,6,0,0],[1924,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1925,4,26,6,59,59],[1925,4,26,1,59,59],
+          '1924092806:00:00','1924092801:00:00','1925042606:59:59','1925042601:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,26,7,0,0],[1925,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1925,9,27,5,59,59],[1925,9,27,1,59,59],
+          '1925042607:00:00','1925042603:00:00','1925092705:59:59','1925092701:59:59' ],
+        [ [1925,9,27,6,0,0],[1925,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1926,4,25,6,59,59],[1926,4,25,1,59,59],
+          '1925092706:00:00','1925092701:00:00','1926042506:59:59','1926042501:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,25,7,0,0],[1926,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1926,9,26,5,59,59],[1926,9,26,1,59,59],
+          '1926042507:00:00','1926042503:00:00','1926092605:59:59','1926092601:59:59' ],
+        [ [1926,9,26,6,0,0],[1926,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1927,4,24,6,59,59],[1927,4,24,1,59,59],
+          '1926092606:00:00','1926092601:00:00','1927042406:59:59','1927042401:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,24,7,0,0],[1927,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1927,9,25,5,59,59],[1927,9,25,1,59,59],
+          '1927042407:00:00','1927042403:00:00','1927092505:59:59','1927092501:59:59' ],
+        [ [1927,9,25,6,0,0],[1927,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1928,4,29,6,59,59],[1928,4,29,1,59,59],
+          '1927092506:00:00','1927092501:00:00','1928042906:59:59','1928042901:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,29,7,0,0],[1928,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1928,9,30,5,59,59],[1928,9,30,1,59,59],
+          '1928042907:00:00','1928042903:00:00','1928093005:59:59','1928093001:59:59' ],
+        [ [1928,9,30,6,0,0],[1928,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1929,4,28,6,59,59],[1929,4,28,1,59,59],
+          '1928093006:00:00','1928093001:00:00','1929042806:59:59','1929042801:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,28,7,0,0],[1929,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1929,9,29,5,59,59],[1929,9,29,1,59,59],
+          '1929042807:00:00','1929042803:00:00','1929092905:59:59','1929092901:59:59' ],
+        [ [1929,9,29,6,0,0],[1929,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1930,4,27,6,59,59],[1930,4,27,1,59,59],
+          '1929092906:00:00','1929092901:00:00','1930042706:59:59','1930042701:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,27,7,0,0],[1930,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1930,9,28,5,59,59],[1930,9,28,1,59,59],
+          '1930042707:00:00','1930042703:00:00','1930092805:59:59','1930092801:59:59' ],
+        [ [1930,9,28,6,0,0],[1930,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1931,4,26,6,59,59],[1931,4,26,1,59,59],
+          '1930092806:00:00','1930092801:00:00','1931042606:59:59','1931042601:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,26,7,0,0],[1931,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1931,9,27,5,59,59],[1931,9,27,1,59,59],
+          '1931042607:00:00','1931042603:00:00','1931092705:59:59','1931092701:59:59' ],
+        [ [1931,9,27,6,0,0],[1931,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1932,4,24,6,59,59],[1932,4,24,1,59,59],
+          '1931092706:00:00','1931092701:00:00','1932042406:59:59','1932042401:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,24,7,0,0],[1932,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1932,9,25,5,59,59],[1932,9,25,1,59,59],
+          '1932042407:00:00','1932042403:00:00','1932092505:59:59','1932092501:59:59' ],
+        [ [1932,9,25,6,0,0],[1932,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1933,4,30,6,59,59],[1933,4,30,1,59,59],
+          '1932092506:00:00','1932092501:00:00','1933043006:59:59','1933043001:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,30,7,0,0],[1933,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1933,9,24,5,59,59],[1933,9,24,1,59,59],
+          '1933043007:00:00','1933043003:00:00','1933092405:59:59','1933092401:59:59' ],
+        [ [1933,9,24,6,0,0],[1933,9,24,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1934,4,29,6,59,59],[1934,4,29,1,59,59],
+          '1933092406:00:00','1933092401:00:00','1934042906:59:59','1934042901:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,29,7,0,0],[1934,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1934,9,30,5,59,59],[1934,9,30,1,59,59],
+          '1934042907:00:00','1934042903:00:00','1934093005:59:59','1934093001:59:59' ],
+        [ [1934,9,30,6,0,0],[1934,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1935,4,28,6,59,59],[1935,4,28,1,59,59],
+          '1934093006:00:00','1934093001:00:00','1935042806:59:59','1935042801:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,28,7,0,0],[1935,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1935,9,29,5,59,59],[1935,9,29,1,59,59],
+          '1935042807:00:00','1935042803:00:00','1935092905:59:59','1935092901:59:59' ],
+        [ [1935,9,29,6,0,0],[1935,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1936,4,26,6,59,59],[1936,4,26,1,59,59],
+          '1935092906:00:00','1935092901:00:00','1936042606:59:59','1936042601:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,26,7,0,0],[1936,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1936,9,27,5,59,59],[1936,9,27,1,59,59],
+          '1936042607:00:00','1936042603:00:00','1936092705:59:59','1936092701:59:59' ],
+        [ [1936,9,27,6,0,0],[1936,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1937,4,25,6,59,59],[1937,4,25,1,59,59],
+          '1936092706:00:00','1936092701:00:00','1937042506:59:59','1937042501:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,25,7,0,0],[1937,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1937,9,26,5,59,59],[1937,9,26,1,59,59],
+          '1937042507:00:00','1937042503:00:00','1937092605:59:59','1937092601:59:59' ],
+        [ [1937,9,26,6,0,0],[1937,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1938,4,24,6,59,59],[1938,4,24,1,59,59],
+          '1937092606:00:00','1937092601:00:00','1938042406:59:59','1938042401:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,24,7,0,0],[1938,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1938,9,25,5,59,59],[1938,9,25,1,59,59],
+          '1938042407:00:00','1938042403:00:00','1938092505:59:59','1938092501:59:59' ],
+        [ [1938,9,25,6,0,0],[1938,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1939,4,30,6,59,59],[1939,4,30,1,59,59],
+          '1938092506:00:00','1938092501:00:00','1939043006:59:59','1939043001:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,30,7,0,0],[1939,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1939,9,24,5,59,59],[1939,9,24,1,59,59],
+          '1939043007:00:00','1939043003:00:00','1939092405:59:59','1939092401:59:59' ],
+        [ [1939,9,24,6,0,0],[1939,9,24,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1940,4,28,6,59,59],[1940,4,28,1,59,59],
+          '1939092406:00:00','1939092401:00:00','1940042806:59:59','1940042801:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,28,7,0,0],[1940,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1940,9,29,5,59,59],[1940,9,29,1,59,59],
+          '1940042807:00:00','1940042803:00:00','1940092905:59:59','1940092901:59:59' ],
+        [ [1940,9,29,6,0,0],[1940,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1941,4,27,6,59,59],[1941,4,27,1,59,59],
+          '1940092906:00:00','1940092901:00:00','1941042706:59:59','1941042701:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,27,7,0,0],[1941,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1941,9,28,5,59,59],[1941,9,28,1,59,59],
+          '1941042707:00:00','1941042703:00:00','1941092805:59:59','1941092801:59:59' ],
+        [ [1941,9,28,6,0,0],[1941,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1942,2,9,6,59,59],[1942,2,9,1,59,59],
+          '1941092806:00:00','1941092801:00:00','1942020906:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,7,0,0],[1942,2,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942020907:00:00','1942020903:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1946,4,28,6,59,59],[1946,4,28,1,59,59],
+          '1945093006:00:00','1945093001:00:00','1946042806:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,7,0,0],[1946,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1946,9,29,5,59,59],[1946,9,29,1,59,59],
+          '1946042807:00:00','1946042803:00:00','1946092905:59:59','1946092901:59:59' ],
+        [ [1946,9,29,6,0,0],[1946,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1947,4,27,6,59,59],[1947,4,27,1,59,59],
+          '1946092906:00:00','1946092901:00:00','1947042706:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,7,0,0],[1947,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1947,9,28,5,59,59],[1947,9,28,1,59,59],
+          '1947042707:00:00','1947042703:00:00','1947092805:59:59','1947092801:59:59' ],
+        [ [1947,9,28,6,0,0],[1947,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1948,4,25,6,59,59],[1948,4,25,1,59,59],
+          '1947092806:00:00','1947092801:00:00','1948042506:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,7,0,0],[1948,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1948,9,26,5,59,59],[1948,9,26,1,59,59],
+          '1948042507:00:00','1948042503:00:00','1948092605:59:59','1948092601:59:59' ],
+        [ [1948,9,26,6,0,0],[1948,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1949,4,24,6,59,59],[1949,4,24,1,59,59],
+          '1948092606:00:00','1948092601:00:00','1949042406:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,7,0,0],[1949,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1949,9,25,5,59,59],[1949,9,25,1,59,59],
+          '1949042407:00:00','1949042403:00:00','1949092505:59:59','1949092501:59:59' ],
+        [ [1949,9,25,6,0,0],[1949,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1950,4,30,6,59,59],[1950,4,30,1,59,59],
+          '1949092506:00:00','1949092501:00:00','1950043006:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,7,0,0],[1950,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1950,9,24,5,59,59],[1950,9,24,1,59,59],
+          '1950043007:00:00','1950043003:00:00','1950092405:59:59','1950092401:59:59' ],
+        [ [1950,9,24,6,0,0],[1950,9,24,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1951,4,29,6,59,59],[1951,4,29,1,59,59],
+          '1950092406:00:00','1950092401:00:00','1951042906:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,7,0,0],[1951,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1951,9,30,5,59,59],[1951,9,30,1,59,59],
+          '1951042907:00:00','1951042903:00:00','1951093005:59:59','1951093001:59:59' ],
+        [ [1951,9,30,6,0,0],[1951,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1952,4,27,6,59,59],[1952,4,27,1,59,59],
+          '1951093006:00:00','1951093001:00:00','1952042706:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,7,0,0],[1952,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1952,9,28,5,59,59],[1952,9,28,1,59,59],
+          '1952042707:00:00','1952042703:00:00','1952092805:59:59','1952092801:59:59' ],
+        [ [1952,9,28,6,0,0],[1952,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1953,4,26,6,59,59],[1953,4,26,1,59,59],
+          '1952092806:00:00','1952092801:00:00','1953042606:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,7,0,0],[1953,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1953,9,27,5,59,59],[1953,9,27,1,59,59],
+          '1953042607:00:00','1953042603:00:00','1953092705:59:59','1953092701:59:59' ],
+        [ [1953,9,27,6,0,0],[1953,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1954,4,25,6,59,59],[1954,4,25,1,59,59],
+          '1953092706:00:00','1953092701:00:00','1954042506:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,7,0,0],[1954,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1954,9,26,5,59,59],[1954,9,26,1,59,59],
+          '1954042507:00:00','1954042503:00:00','1954092605:59:59','1954092601:59:59' ],
+        [ [1954,9,26,6,0,0],[1954,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1955,4,24,6,59,59],[1955,4,24,1,59,59],
+          '1954092606:00:00','1954092601:00:00','1955042406:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,7,0,0],[1955,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1955,10,30,5,59,59],[1955,10,30,1,59,59],
+          '1955042407:00:00','1955042403:00:00','1955103005:59:59','1955103001:59:59' ],
+        [ [1955,10,30,6,0,0],[1955,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1956,4,29,6,59,59],[1956,4,29,1,59,59],
+          '1955103006:00:00','1955103001:00:00','1956042906:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,7,0,0],[1956,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1956,10,28,5,59,59],[1956,10,28,1,59,59],
+          '1956042907:00:00','1956042903:00:00','1956102805:59:59','1956102801:59:59' ],
+        [ [1956,10,28,6,0,0],[1956,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1957,4,28,6,59,59],[1957,4,28,1,59,59],
+          '1956102806:00:00','1956102801:00:00','1957042806:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,7,0,0],[1957,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1957,10,27,5,59,59],[1957,10,27,1,59,59],
+          '1957042807:00:00','1957042803:00:00','1957102705:59:59','1957102701:59:59' ],
+        [ [1957,10,27,6,0,0],[1957,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1958,4,27,6,59,59],[1958,4,27,1,59,59],
+          '1957102706:00:00','1957102701:00:00','1958042706:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,7,0,0],[1958,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1958,10,26,5,59,59],[1958,10,26,1,59,59],
+          '1958042707:00:00','1958042703:00:00','1958102605:59:59','1958102601:59:59' ],
+        [ [1958,10,26,6,0,0],[1958,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1959,4,26,6,59,59],[1959,4,26,1,59,59],
+          '1958102606:00:00','1958102601:00:00','1959042606:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,7,0,0],[1959,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1959,10,25,5,59,59],[1959,10,25,1,59,59],
+          '1959042607:00:00','1959042603:00:00','1959102505:59:59','1959102501:59:59' ],
+        [ [1959,10,25,6,0,0],[1959,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1960,4,24,6,59,59],[1960,4,24,1,59,59],
+          '1959102506:00:00','1959102501:00:00','1960042406:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,7,0,0],[1960,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1960,10,30,5,59,59],[1960,10,30,1,59,59],
+          '1960042407:00:00','1960042403:00:00','1960103005:59:59','1960103001:59:59' ],
+        [ [1960,10,30,6,0,0],[1960,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1961,4,30,6,59,59],[1961,4,30,1,59,59],
+          '1960103006:00:00','1960103001:00:00','1961043006:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,7,0,0],[1961,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1961,10,29,5,59,59],[1961,10,29,1,59,59],
+          '1961043007:00:00','1961043003:00:00','1961102905:59:59','1961102901:59:59' ],
+        [ [1961,10,29,6,0,0],[1961,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1962,4,29,6,59,59],[1962,4,29,1,59,59],
+          '1961102906:00:00','1961102901:00:00','1962042906:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,7,0,0],[1962,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1962,10,28,5,59,59],[1962,10,28,1,59,59],
+          '1962042907:00:00','1962042903:00:00','1962102805:59:59','1962102801:59:59' ],
+        [ [1962,10,28,6,0,0],[1962,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1963,4,28,6,59,59],[1963,4,28,1,59,59],
+          '1962102806:00:00','1962102801:00:00','1963042806:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,7,0,0],[1963,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1963,10,27,5,59,59],[1963,10,27,1,59,59],
+          '1963042807:00:00','1963042803:00:00','1963102705:59:59','1963102701:59:59' ],
+        [ [1963,10,27,6,0,0],[1963,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1964,4,26,6,59,59],[1964,4,26,1,59,59],
+          '1963102706:00:00','1963102701:00:00','1964042606:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,7,0,0],[1964,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1964,10,25,5,59,59],[1964,10,25,1,59,59],
+          '1964042607:00:00','1964042603:00:00','1964102505:59:59','1964102501:59:59' ],
+        [ [1964,10,25,6,0,0],[1964,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1965,4,25,6,59,59],[1965,4,25,1,59,59],
+          '1964102506:00:00','1964102501:00:00','1965042506:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,7,0,0],[1965,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1965,10,31,5,59,59],[1965,10,31,1,59,59],
+          '1965042507:00:00','1965042503:00:00','1965103105:59:59','1965103101:59:59' ],
+        [ [1965,10,31,6,0,0],[1965,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1966,4,24,6,59,59],[1966,4,24,1,59,59],
+          '1965103106:00:00','1965103101:00:00','1966042406:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,7,0,0],[1966,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1966,10,30,5,59,59],[1966,10,30,1,59,59],
+          '1966042407:00:00','1966042403:00:00','1966103005:59:59','1966103001:59:59' ],
+        [ [1966,10,30,6,0,0],[1966,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1967,4,30,6,59,59],[1967,4,30,1,59,59],
+          '1966103006:00:00','1966103001:00:00','1967043006:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,7,0,0],[1967,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1967,10,29,5,59,59],[1967,10,29,1,59,59],
+          '1967043007:00:00','1967043003:00:00','1967102905:59:59','1967102901:59:59' ],
+        [ [1967,10,29,6,0,0],[1967,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1968,4,28,6,59,59],[1968,4,28,1,59,59],
+          '1967102906:00:00','1967102901:00:00','1968042806:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,7,0,0],[1968,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1968,10,27,5,59,59],[1968,10,27,1,59,59],
+          '1968042807:00:00','1968042803:00:00','1968102705:59:59','1968102701:59:59' ],
+        [ [1968,10,27,6,0,0],[1968,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1968102706:00:00','1968102701:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,1,6,6,59,59],[1974,1,6,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974010606:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,7,0,0],[1974,1,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974010607:00:00','1974010603:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,2,23,6,59,59],[1975,2,23,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975022306:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,7,0,0],[1975,2,23,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975022307:00:00','1975022303:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnew_01.pm b/lib/Date/Manip/TZ/amnew_01.pm
new file mode 100644
index 0000000..323cc0e
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnew_01.pm
@@ -0,0 +1,1015 @@
+package #
+Date::Manip::TZ::amnew_01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,14,21],'-06:45:39',[-6,-45,-39],
+          'LMT',0,[1883,11,18,18,59,59],[1883,11,18,12,14,20],
+          '0001010200:00:00','0001010117:14:21','1883111818:59:59','1883111812:14:20' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,19,0,0],[1883,11,18,12,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,3,31,8,59,59],[1918,3,31,1,59,59],
+          '1883111819:00:00','1883111812:00:00','1918033108:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,9,0,0],[1918,3,31,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918033109:00:00','1918033103:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,3,30,8,59,59],[1919,3,30,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919033008:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,9,0,0],[1919,3,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,10,26,7,59,59],[1919,10,26,1,59,59],
+          '1919033009:00:00','1919033003:00:00','1919102607:59:59','1919102601:59:59' ],
+        [ [1919,10,26,8,0,0],[1919,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1919102608:00:00','1919102601:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1968,4,28,8,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102901:00:00','1968042808:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,9,0,0],[1968,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1968,10,27,7,59,59],[1968,10,27,1,59,59],
+          '1968042809:00:00','1968042803:00:00','1968102707:59:59','1968102701:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1969,4,27,8,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102701:00:00','1969042708:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,9,0,0],[1969,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1969,10,26,7,59,59],[1969,10,26,1,59,59],
+          '1969042709:00:00','1969042703:00:00','1969102607:59:59','1969102601:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1970,4,26,8,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102601:00:00','1970042608:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,9,0,0],[1970,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1970,10,25,7,59,59],[1970,10,25,1,59,59],
+          '1970042609:00:00','1970042603:00:00','1970102507:59:59','1970102501:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1971,4,25,8,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102501:00:00','1971042508:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,9,0,0],[1971,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1971,10,31,7,59,59],[1971,10,31,1,59,59],
+          '1971042509:00:00','1971042503:00:00','1971103107:59:59','1971103101:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103101:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1972,10,29,7,59,59],[1972,10,29,1,59,59],
+          '1972043009:00:00','1972043003:00:00','1972102907:59:59','1972102901:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1973,4,29,8,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102901:00:00','1973042908:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,9,0,0],[1973,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1973,10,28,7,59,59],[1973,10,28,1,59,59],
+          '1973042909:00:00','1973042903:00:00','1973102807:59:59','1973102801:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1974,1,6,8,59,59],[1974,1,6,1,59,59],
+          '1973102808:00:00','1973102801:00:00','1974010608:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,9,0,0],[1974,1,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1974,10,27,7,59,59],[1974,10,27,1,59,59],
+          '1974010609:00:00','1974010603:00:00','1974102707:59:59','1974102701:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1975,2,23,8,59,59],[1975,2,23,1,59,59],
+          '1974102708:00:00','1974102701:00:00','1975022308:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,9,0,0],[1975,2,23,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1975,10,26,7,59,59],[1975,10,26,1,59,59],
+          '1975022309:00:00','1975022303:00:00','1975102607:59:59','1975102601:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1976,4,25,8,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102601:00:00','1976042508:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,9,0,0],[1976,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1976,10,31,7,59,59],[1976,10,31,1,59,59],
+          '1976042509:00:00','1976042503:00:00','1976103107:59:59','1976103101:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1977,4,24,8,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103101:00:00','1977042408:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,9,0,0],[1977,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1977,10,30,7,59,59],[1977,10,30,1,59,59],
+          '1977042409:00:00','1977042403:00:00','1977103007:59:59','1977103001:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1978,4,30,8,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103001:00:00','1978043008:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,9,0,0],[1978,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1978,10,29,7,59,59],[1978,10,29,1,59,59],
+          '1978043009:00:00','1978043003:00:00','1978102907:59:59','1978102901:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1979,4,29,8,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102901:00:00','1979042908:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,9,0,0],[1979,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1979,10,28,7,59,59],[1979,10,28,1,59,59],
+          '1979042909:00:00','1979042903:00:00','1979102807:59:59','1979102801:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102801:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102602:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnipi00.pm b/lib/Date/Manip/TZ/amnipi00.pm
new file mode 100644
index 0000000..293b323
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnipi00.pm
@@ -0,0 +1,949 @@
+package #
+Date::Manip::TZ::amnipi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,6,56],'-05:53:04',[-5,-53,-4],
+          'LMT',0,[1895,1,1,5,53,3],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010118:06:56','1895010105:53:03','1894123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,1,5,53,4],[1895,1,1,0,53,4],'-05:00:00',[-5,0,0],
+          'EST',0,[1918,4,14,6,59,59],[1918,4,14,1,59,59],
+          '1895010105:53:04','1895010100:53:04','1918041406:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,7,0,0],[1918,4,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1918,10,27,5,59,59],[1918,10,27,1,59,59],
+          '1918041407:00:00','1918041403:00:00','1918102705:59:59','1918102701:59:59' ],
+        [ [1918,10,27,6,0,0],[1918,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1940,9,29,4,59,59],[1940,9,28,23,59,59],
+          '1918102706:00:00','1918102701:00:00','1940092904:59:59','1940092823:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,9,29,5,0,0],[1940,9,29,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1942,2,9,6,59,59],[1942,2,9,2,59,59],
+          '1940092905:00:00','1940092901:00:00','1942020906:59:59','1942020902:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,7,0,0],[1942,2,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942020907:00:00','1942020903:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,4,28,6,59,59],[1974,4,28,1,59,59],
+          '1945093006:00:00','1945093001:00:00','1974042806:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,7,0,0],[1974,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974042807:00:00','1974042803:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,4,27,6,59,59],[1975,4,27,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975042706:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,7,0,0],[1975,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975042707:00:00','1975042703:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnome00.pm b/lib/Date/Manip/TZ/amnome00.pm
new file mode 100644
index 0000000..1e748d8
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnome00.pm
@@ -0,0 +1,994 @@
+package #
+Date::Manip::TZ::amnome00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,58,21],'+12:58:21',[12,58,21],
+          'LMT',0,[1867,10,17,11,1,38],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010212:58:21','1867101711:01:38','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,11,1,39],[1867,10,17,0,0,1],'-11:01:38',[-11,-1,-38],
+          'LMT',0,[1900,8,20,23,1,37],[1900,8,20,11,59,59],
+          '1867101711:01:39','1867101700:00:01','1900082023:01:37','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,23,1,38],[1900,8,20,12,1,38],'-11:00:00',[-11,0,0],
+          'NST',0,[1942,2,9,12,59,59],[1942,2,9,1,59,59],
+          '1900082023:01:38','1900082012:01:38','1942020912:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,13,0,0],[1942,2,9,3,0,0],'-10:00:00',[-10,0,0],
+          'NWT',1,[1945,8,14,22,59,59],[1945,8,14,12,59,59],
+          '1942020913:00:00','1942020903:00:00','1945081422:59:59','1945081412:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,13,0,0],'-10:00:00',[-10,0,0],
+          'NPT',1,[1945,9,30,11,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081413:00:00','1945093011:59:59','1945093001:59:59' ],
+        [ [1945,9,30,12,0,0],[1945,9,30,1,0,0],'-11:00:00',[-11,0,0],
+          'NST',0,[1967,4,1,10,59,59],[1967,3,31,23,59,59],
+          '1945093012:00:00','1945093001:00:00','1967040110:59:59','1967033123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,1,11,0,0],[1967,4,1,0,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1969,4,27,12,59,59],[1969,4,27,1,59,59],
+          '1967040111:00:00','1967040100:00:00','1969042712:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,13,0,0],[1969,4,27,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1969,10,26,11,59,59],[1969,10,26,1,59,59],
+          '1969042713:00:00','1969042703:00:00','1969102611:59:59','1969102601:59:59' ],
+        [ [1969,10,26,12,0,0],[1969,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1970,4,26,12,59,59],[1970,4,26,1,59,59],
+          '1969102612:00:00','1969102601:00:00','1970042612:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,13,0,0],[1970,4,26,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1970,10,25,11,59,59],[1970,10,25,1,59,59],
+          '1970042613:00:00','1970042603:00:00','1970102511:59:59','1970102501:59:59' ],
+        [ [1970,10,25,12,0,0],[1970,10,25,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1971,4,25,12,59,59],[1971,4,25,1,59,59],
+          '1970102512:00:00','1970102501:00:00','1971042512:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,13,0,0],[1971,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1971,10,31,11,59,59],[1971,10,31,1,59,59],
+          '1971042513:00:00','1971042503:00:00','1971103111:59:59','1971103101:59:59' ],
+        [ [1971,10,31,12,0,0],[1971,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1972,4,30,12,59,59],[1972,4,30,1,59,59],
+          '1971103112:00:00','1971103101:00:00','1972043012:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,13,0,0],[1972,4,30,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1972,10,29,11,59,59],[1972,10,29,1,59,59],
+          '1972043013:00:00','1972043003:00:00','1972102911:59:59','1972102901:59:59' ],
+        [ [1972,10,29,12,0,0],[1972,10,29,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1973,4,29,12,59,59],[1973,4,29,1,59,59],
+          '1972102912:00:00','1972102901:00:00','1973042912:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,13,0,0],[1973,4,29,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1973,10,28,11,59,59],[1973,10,28,1,59,59],
+          '1973042913:00:00','1973042903:00:00','1973102811:59:59','1973102801:59:59' ],
+        [ [1973,10,28,12,0,0],[1973,10,28,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1974,1,6,12,59,59],[1974,1,6,1,59,59],
+          '1973102812:00:00','1973102801:00:00','1974010612:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,13,0,0],[1974,1,6,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1974,10,27,11,59,59],[1974,10,27,1,59,59],
+          '1974010613:00:00','1974010603:00:00','1974102711:59:59','1974102701:59:59' ],
+        [ [1974,10,27,12,0,0],[1974,10,27,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1975,2,23,12,59,59],[1975,2,23,1,59,59],
+          '1974102712:00:00','1974102701:00:00','1975022312:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,13,0,0],[1975,2,23,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1975,10,26,11,59,59],[1975,10,26,1,59,59],
+          '1975022313:00:00','1975022303:00:00','1975102611:59:59','1975102601:59:59' ],
+        [ [1975,10,26,12,0,0],[1975,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1976,4,25,12,59,59],[1976,4,25,1,59,59],
+          '1975102612:00:00','1975102601:00:00','1976042512:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,13,0,0],[1976,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1976,10,31,11,59,59],[1976,10,31,1,59,59],
+          '1976042513:00:00','1976042503:00:00','1976103111:59:59','1976103101:59:59' ],
+        [ [1976,10,31,12,0,0],[1976,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1977,4,24,12,59,59],[1977,4,24,1,59,59],
+          '1976103112:00:00','1976103101:00:00','1977042412:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,13,0,0],[1977,4,24,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1977,10,30,11,59,59],[1977,10,30,1,59,59],
+          '1977042413:00:00','1977042403:00:00','1977103011:59:59','1977103001:59:59' ],
+        [ [1977,10,30,12,0,0],[1977,10,30,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1978,4,30,12,59,59],[1978,4,30,1,59,59],
+          '1977103012:00:00','1977103001:00:00','1978043012:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,13,0,0],[1978,4,30,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1978,10,29,11,59,59],[1978,10,29,1,59,59],
+          '1978043013:00:00','1978043003:00:00','1978102911:59:59','1978102901:59:59' ],
+        [ [1978,10,29,12,0,0],[1978,10,29,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1979,4,29,12,59,59],[1979,4,29,1,59,59],
+          '1978102912:00:00','1978102901:00:00','1979042912:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,13,0,0],[1979,4,29,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1979,10,28,11,59,59],[1979,10,28,1,59,59],
+          '1979042913:00:00','1979042903:00:00','1979102811:59:59','1979102801:59:59' ],
+        [ [1979,10,28,12,0,0],[1979,10,28,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1980,4,27,12,59,59],[1980,4,27,1,59,59],
+          '1979102812:00:00','1979102801:00:00','1980042712:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,13,0,0],[1980,4,27,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1980,10,26,11,59,59],[1980,10,26,1,59,59],
+          '1980042713:00:00','1980042703:00:00','1980102611:59:59','1980102601:59:59' ],
+        [ [1980,10,26,12,0,0],[1980,10,26,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1981,4,26,12,59,59],[1981,4,26,1,59,59],
+          '1980102612:00:00','1980102601:00:00','1981042612:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,13,0,0],[1981,4,26,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1981,10,25,11,59,59],[1981,10,25,1,59,59],
+          '1981042613:00:00','1981042603:00:00','1981102511:59:59','1981102501:59:59' ],
+        [ [1981,10,25,12,0,0],[1981,10,25,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1982,4,25,12,59,59],[1982,4,25,1,59,59],
+          '1981102512:00:00','1981102501:00:00','1982042512:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,13,0,0],[1982,4,25,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1982,10,31,11,59,59],[1982,10,31,1,59,59],
+          '1982042513:00:00','1982042503:00:00','1982103111:59:59','1982103101:59:59' ],
+        [ [1982,10,31,12,0,0],[1982,10,31,1,0,0],'-11:00:00',[-11,0,0],
+          'BST',0,[1983,4,24,12,59,59],[1983,4,24,1,59,59],
+          '1982103112:00:00','1982103101:00:00','1983042412:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,13,0,0],[1983,4,24,3,0,0],'-10:00:00',[-10,0,0],
+          'BDT',1,[1983,10,30,11,59,59],[1983,10,30,1,59,59],
+          '1983042413:00:00','1983042403:00:00','1983103011:59:59','1983103001:59:59' ],
+        [ [1983,10,30,12,0,0],[1983,10,30,3,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,11,30,8,59,59],[1983,11,29,23,59,59],
+          '1983103012:00:00','1983103003:00:00','1983113008:59:59','1983112923:59:59' ],
+        [ [1983,11,30,9,0,0],[1983,11,30,0,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1984,4,29,10,59,59],[1984,4,29,1,59,59],
+          '1983113009:00:00','1983113000:00:00','1984042910:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,11,0,0],[1984,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1984,10,28,9,59,59],[1984,10,28,1,59,59],
+          '1984042911:00:00','1984042903:00:00','1984102809:59:59','1984102801:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1985,4,28,10,59,59],[1985,4,28,1,59,59],
+          '1984102810:00:00','1984102801:00:00','1985042810:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,11,0,0],[1985,4,28,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1985,10,27,9,59,59],[1985,10,27,1,59,59],
+          '1985042811:00:00','1985042803:00:00','1985102709:59:59','1985102701:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1986,4,27,10,59,59],[1986,4,27,1,59,59],
+          '1985102710:00:00','1985102701:00:00','1986042710:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,11,0,0],[1986,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1986,10,26,9,59,59],[1986,10,26,1,59,59],
+          '1986042711:00:00','1986042703:00:00','1986102609:59:59','1986102601:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1987,4,5,10,59,59],[1987,4,5,1,59,59],
+          '1986102610:00:00','1986102601:00:00','1987040510:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,11,0,0],[1987,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1987,10,25,9,59,59],[1987,10,25,1,59,59],
+          '1987040511:00:00','1987040503:00:00','1987102509:59:59','1987102501:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1988,4,3,10,59,59],[1988,4,3,1,59,59],
+          '1987102510:00:00','1987102501:00:00','1988040310:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,11,0,0],[1988,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1988,10,30,9,59,59],[1988,10,30,1,59,59],
+          '1988040311:00:00','1988040303:00:00','1988103009:59:59','1988103001:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1989,4,2,10,59,59],[1989,4,2,1,59,59],
+          '1988103010:00:00','1988103001:00:00','1989040210:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,11,0,0],[1989,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1989,10,29,9,59,59],[1989,10,29,1,59,59],
+          '1989040211:00:00','1989040203:00:00','1989102909:59:59','1989102901:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1990,4,1,10,59,59],[1990,4,1,1,59,59],
+          '1989102910:00:00','1989102901:00:00','1990040110:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,11,0,0],[1990,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1990,10,28,9,59,59],[1990,10,28,1,59,59],
+          '1990040111:00:00','1990040103:00:00','1990102809:59:59','1990102801:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1991,4,7,10,59,59],[1991,4,7,1,59,59],
+          '1990102810:00:00','1990102801:00:00','1991040710:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,11,0,0],[1991,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1991,10,27,9,59,59],[1991,10,27,1,59,59],
+          '1991040711:00:00','1991040703:00:00','1991102709:59:59','1991102701:59:59' ],
+        [ [1991,10,27,10,0,0],[1991,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1992,4,5,10,59,59],[1992,4,5,1,59,59],
+          '1991102710:00:00','1991102701:00:00','1992040510:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,11,0,0],[1992,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1992,10,25,9,59,59],[1992,10,25,1,59,59],
+          '1992040511:00:00','1992040503:00:00','1992102509:59:59','1992102501:59:59' ],
+        [ [1992,10,25,10,0,0],[1992,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1993,4,4,10,59,59],[1993,4,4,1,59,59],
+          '1992102510:00:00','1992102501:00:00','1993040410:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,11,0,0],[1993,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1993,10,31,9,59,59],[1993,10,31,1,59,59],
+          '1993040411:00:00','1993040403:00:00','1993103109:59:59','1993103101:59:59' ],
+        [ [1993,10,31,10,0,0],[1993,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1994,4,3,10,59,59],[1994,4,3,1,59,59],
+          '1993103110:00:00','1993103101:00:00','1994040310:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,11,0,0],[1994,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1994,10,30,9,59,59],[1994,10,30,1,59,59],
+          '1994040311:00:00','1994040303:00:00','1994103009:59:59','1994103001:59:59' ],
+        [ [1994,10,30,10,0,0],[1994,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1995,4,2,10,59,59],[1995,4,2,1,59,59],
+          '1994103010:00:00','1994103001:00:00','1995040210:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,11,0,0],[1995,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1995,10,29,9,59,59],[1995,10,29,1,59,59],
+          '1995040211:00:00','1995040203:00:00','1995102909:59:59','1995102901:59:59' ],
+        [ [1995,10,29,10,0,0],[1995,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1996,4,7,10,59,59],[1996,4,7,1,59,59],
+          '1995102910:00:00','1995102901:00:00','1996040710:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,11,0,0],[1996,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1996,10,27,9,59,59],[1996,10,27,1,59,59],
+          '1996040711:00:00','1996040703:00:00','1996102709:59:59','1996102701:59:59' ],
+        [ [1996,10,27,10,0,0],[1996,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1997,4,6,10,59,59],[1997,4,6,1,59,59],
+          '1996102710:00:00','1996102701:00:00','1997040610:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,11,0,0],[1997,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1997,10,26,9,59,59],[1997,10,26,1,59,59],
+          '1997040611:00:00','1997040603:00:00','1997102609:59:59','1997102601:59:59' ],
+        [ [1997,10,26,10,0,0],[1997,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1998,4,5,10,59,59],[1998,4,5,1,59,59],
+          '1997102610:00:00','1997102601:00:00','1998040510:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,11,0,0],[1998,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1998,10,25,9,59,59],[1998,10,25,1,59,59],
+          '1998040511:00:00','1998040503:00:00','1998102509:59:59','1998102501:59:59' ],
+        [ [1998,10,25,10,0,0],[1998,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1999,4,4,10,59,59],[1999,4,4,1,59,59],
+          '1998102510:00:00','1998102501:00:00','1999040410:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,11,0,0],[1999,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1999,10,31,9,59,59],[1999,10,31,1,59,59],
+          '1999040411:00:00','1999040403:00:00','1999103109:59:59','1999103101:59:59' ],
+        [ [1999,10,31,10,0,0],[1999,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2000,4,2,10,59,59],[2000,4,2,1,59,59],
+          '1999103110:00:00','1999103101:00:00','2000040210:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,11,0,0],[2000,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2000,10,29,9,59,59],[2000,10,29,1,59,59],
+          '2000040211:00:00','2000040203:00:00','2000102909:59:59','2000102901:59:59' ],
+        [ [2000,10,29,10,0,0],[2000,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2001,4,1,10,59,59],[2001,4,1,1,59,59],
+          '2000102910:00:00','2000102901:00:00','2001040110:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,11,0,0],[2001,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2001,10,28,9,59,59],[2001,10,28,1,59,59],
+          '2001040111:00:00','2001040103:00:00','2001102809:59:59','2001102801:59:59' ],
+        [ [2001,10,28,10,0,0],[2001,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2002,4,7,10,59,59],[2002,4,7,1,59,59],
+          '2001102810:00:00','2001102801:00:00','2002040710:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,11,0,0],[2002,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2002,10,27,9,59,59],[2002,10,27,1,59,59],
+          '2002040711:00:00','2002040703:00:00','2002102709:59:59','2002102701:59:59' ],
+        [ [2002,10,27,10,0,0],[2002,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2003,4,6,10,59,59],[2003,4,6,1,59,59],
+          '2002102710:00:00','2002102701:00:00','2003040610:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,11,0,0],[2003,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2003,10,26,9,59,59],[2003,10,26,1,59,59],
+          '2003040611:00:00','2003040603:00:00','2003102609:59:59','2003102601:59:59' ],
+        [ [2003,10,26,10,0,0],[2003,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2004,4,4,10,59,59],[2004,4,4,1,59,59],
+          '2003102610:00:00','2003102601:00:00','2004040410:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,11,0,0],[2004,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2004,10,31,9,59,59],[2004,10,31,1,59,59],
+          '2004040411:00:00','2004040403:00:00','2004103109:59:59','2004103101:59:59' ],
+        [ [2004,10,31,10,0,0],[2004,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2005,4,3,10,59,59],[2005,4,3,1,59,59],
+          '2004103110:00:00','2004103101:00:00','2005040310:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,11,0,0],[2005,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2005,10,30,9,59,59],[2005,10,30,1,59,59],
+          '2005040311:00:00','2005040303:00:00','2005103009:59:59','2005103001:59:59' ],
+        [ [2005,10,30,10,0,0],[2005,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2006,4,2,10,59,59],[2006,4,2,1,59,59],
+          '2005103010:00:00','2005103001:00:00','2006040210:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,11,0,0],[2006,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2006,10,29,9,59,59],[2006,10,29,1,59,59],
+          '2006040211:00:00','2006040203:00:00','2006102909:59:59','2006102901:59:59' ],
+        [ [2006,10,29,10,0,0],[2006,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2007,3,11,10,59,59],[2007,3,11,1,59,59],
+          '2006102910:00:00','2006102901:00:00','2007031110:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,11,0,0],[2007,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2007,11,4,9,59,59],[2007,11,4,1,59,59],
+          '2007031111:00:00','2007031103:00:00','2007110409:59:59','2007110401:59:59' ],
+        [ [2007,11,4,10,0,0],[2007,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2008,3,9,10,59,59],[2008,3,9,1,59,59],
+          '2007110410:00:00','2007110401:00:00','2008030910:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,11,0,0],[2008,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2008,11,2,9,59,59],[2008,11,2,1,59,59],
+          '2008030911:00:00','2008030903:00:00','2008110209:59:59','2008110201:59:59' ],
+        [ [2008,11,2,10,0,0],[2008,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2009,3,8,10,59,59],[2009,3,8,1,59,59],
+          '2008110210:00:00','2008110201:00:00','2009030810:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,11,0,0],[2009,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2009,11,1,9,59,59],[2009,11,1,1,59,59],
+          '2009030811:00:00','2009030803:00:00','2009110109:59:59','2009110101:59:59' ],
+        [ [2009,11,1,10,0,0],[2009,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2010,3,14,10,59,59],[2010,3,14,1,59,59],
+          '2009110110:00:00','2009110101:00:00','2010031410:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,11,0,0],[2010,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2010,11,7,9,59,59],[2010,11,7,1,59,59],
+          '2010031411:00:00','2010031403:00:00','2010110709:59:59','2010110701:59:59' ],
+        [ [2010,11,7,10,0,0],[2010,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2011,3,13,10,59,59],[2011,3,13,1,59,59],
+          '2010110710:00:00','2010110701:00:00','2011031310:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,11,0,0],[2011,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2011,11,6,9,59,59],[2011,11,6,1,59,59],
+          '2011031311:00:00','2011031303:00:00','2011110609:59:59','2011110601:59:59' ],
+        [ [2011,11,6,10,0,0],[2011,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2012,3,11,10,59,59],[2012,3,11,1,59,59],
+          '2011110610:00:00','2011110601:00:00','2012031110:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,11,0,0],[2012,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2012,11,4,9,59,59],[2012,11,4,1,59,59],
+          '2012031111:00:00','2012031103:00:00','2012110409:59:59','2012110401:59:59' ],
+        [ [2012,11,4,10,0,0],[2012,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2013,3,10,10,59,59],[2013,3,10,1,59,59],
+          '2012110410:00:00','2012110401:00:00','2013031010:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,11,0,0],[2013,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2013,11,3,9,59,59],[2013,11,3,1,59,59],
+          '2013031011:00:00','2013031003:00:00','2013110309:59:59','2013110301:59:59' ],
+        [ [2013,11,3,10,0,0],[2013,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2014,3,9,10,59,59],[2014,3,9,1,59,59],
+          '2013110310:00:00','2013110301:00:00','2014030910:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,11,0,0],[2014,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2014,11,2,9,59,59],[2014,11,2,1,59,59],
+          '2014030911:00:00','2014030903:00:00','2014110209:59:59','2014110201:59:59' ],
+        [ [2014,11,2,10,0,0],[2014,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2015,3,8,10,59,59],[2015,3,8,1,59,59],
+          '2014110210:00:00','2014110201:00:00','2015030810:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,11,0,0],[2015,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '2015030811:00:00','2015030803:00:00','2015110109:59:59','2015110101:59:59' ],
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amnoro00.pm b/lib/Date/Manip/TZ/amnoro00.pm
new file mode 100644
index 0000000..e9a91e7
--- /dev/null
+++ b/lib/Date/Manip/TZ/amnoro00.pm
@@ -0,0 +1,235 @@
+package #
+Date::Manip::TZ::amnoro00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,50,20],'-02:09:40',[-2,-9,-40],
+          'LMT',0,[1914,1,1,2,9,39],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010121:50:20','1914010102:09:39','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,2,9,40],[1914,1,1,0,9,40],'-02:00:00',[-2,0,0],
+          '-02',0,[1931,10,3,12,59,59],[1931,10,3,10,59,59],
+          '1914010102:09:40','1914010100:09:40','1931100312:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,13,0,0],[1931,10,3,12,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1932,4,1,0,59,59],[1932,3,31,23,59,59],
+          '1931100313:00:00','1931100312:00:00','1932040100:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,1,0,0],[1932,3,31,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1932,10,3,1,59,59],[1932,10,2,23,59,59],
+          '1932040101:00:00','1932033123:00:00','1932100301:59:59','1932100223:59:59' ],
+        [ [1932,10,3,2,0,0],[1932,10,3,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1933,4,1,0,59,59],[1933,3,31,23,59,59],
+          '1932100302:00:00','1932100301:00:00','1933040100:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,1,0,0],[1933,3,31,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1949,12,1,1,59,59],[1949,11,30,23,59,59],
+          '1933040101:00:00','1933033123:00:00','1949120101:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,2,0,0],[1949,12,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1950,4,16,1,59,59],[1950,4,16,0,59,59],
+          '1949120102:00:00','1949120101:00:00','1950041601:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,2,0,0],[1950,4,16,0,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1950,12,1,1,59,59],[1950,11,30,23,59,59],
+          '1950041602:00:00','1950041600:00:00','1950120101:59:59','1950113023:59:59' ],
+        [ [1950,12,1,2,0,0],[1950,12,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1951,4,1,0,59,59],[1951,3,31,23,59,59],
+          '1950120102:00:00','1950120101:00:00','1951040100:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,1,0,0],[1951,3,31,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1951,12,1,1,59,59],[1951,11,30,23,59,59],
+          '1951040101:00:00','1951033123:00:00','1951120101:59:59','1951113023:59:59' ],
+        [ [1951,12,1,2,0,0],[1951,12,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1952,4,1,0,59,59],[1952,3,31,23,59,59],
+          '1951120102:00:00','1951120101:00:00','1952040100:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,1,0,0],[1952,3,31,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1952,12,1,1,59,59],[1952,11,30,23,59,59],
+          '1952040101:00:00','1952033123:00:00','1952120101:59:59','1952113023:59:59' ],
+        [ [1952,12,1,2,0,0],[1952,12,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1953,3,1,0,59,59],[1953,2,28,23,59,59],
+          '1952120102:00:00','1952120101:00:00','1953030100:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,1,0,0],[1953,2,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1963,12,9,1,59,59],[1963,12,8,23,59,59],
+          '1953030101:00:00','1953022823:00:00','1963120901:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,2,0,0],[1963,12,9,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1964,3,1,0,59,59],[1964,2,29,23,59,59],
+          '1963120902:00:00','1963120901:00:00','1964030100:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,1,0,0],[1964,2,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1965,1,31,1,59,59],[1965,1,30,23,59,59],
+          '1964030101:00:00','1964022923:00:00','1965013101:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,2,0,0],[1965,1,31,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1965,3,31,0,59,59],[1965,3,30,23,59,59],
+          '1965013102:00:00','1965013101:00:00','1965033100:59:59','1965033023:59:59' ],
+        [ [1965,3,31,1,0,0],[1965,3,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1965,12,1,1,59,59],[1965,11,30,23,59,59],
+          '1965033101:00:00','1965033023:00:00','1965120101:59:59','1965113023:59:59' ],
+        [ [1965,12,1,2,0,0],[1965,12,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1966,3,1,0,59,59],[1966,2,28,23,59,59],
+          '1965120102:00:00','1965120101:00:00','1966030100:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,1,0,0],[1966,2,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1966,11,1,1,59,59],[1966,10,31,23,59,59],
+          '1966030101:00:00','1966022823:00:00','1966110101:59:59','1966103123:59:59' ],
+        [ [1966,11,1,2,0,0],[1966,11,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1967,3,1,0,59,59],[1967,2,28,23,59,59],
+          '1966110102:00:00','1966110101:00:00','1967030100:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,1,0,0],[1967,2,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1967,11,1,1,59,59],[1967,10,31,23,59,59],
+          '1967030101:00:00','1967022823:00:00','1967110101:59:59','1967103123:59:59' ],
+        [ [1967,11,1,2,0,0],[1967,11,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1968,3,1,0,59,59],[1968,2,29,23,59,59],
+          '1967110102:00:00','1967110101:00:00','1968030100:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,1,0,0],[1968,2,29,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1985,11,2,1,59,59],[1985,11,1,23,59,59],
+          '1968030101:00:00','1968022923:00:00','1985110201:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,2,0,0],[1985,11,2,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1986,3,15,0,59,59],[1986,3,14,23,59,59],
+          '1985110202:00:00','1985110201:00:00','1986031500:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,1,0,0],[1986,3,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1986,10,25,1,59,59],[1986,10,24,23,59,59],
+          '1986031501:00:00','1986031423:00:00','1986102501:59:59','1986102423:59:59' ],
+        [ [1986,10,25,2,0,0],[1986,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1987,2,14,0,59,59],[1987,2,13,23,59,59],
+          '1986102502:00:00','1986102501:00:00','1987021400:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,1,0,0],[1987,2,13,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1987,10,25,1,59,59],[1987,10,24,23,59,59],
+          '1987021401:00:00','1987021323:00:00','1987102501:59:59','1987102423:59:59' ],
+        [ [1987,10,25,2,0,0],[1987,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1988,2,7,0,59,59],[1988,2,6,23,59,59],
+          '1987102502:00:00','1987102501:00:00','1988020700:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,1,0,0],[1988,2,6,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1988,10,16,1,59,59],[1988,10,15,23,59,59],
+          '1988020701:00:00','1988020623:00:00','1988101601:59:59','1988101523:59:59' ],
+        [ [1988,10,16,2,0,0],[1988,10,16,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1989,1,29,0,59,59],[1989,1,28,23,59,59],
+          '1988101602:00:00','1988101601:00:00','1989012900:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,1,0,0],[1989,1,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1989,10,15,1,59,59],[1989,10,14,23,59,59],
+          '1989012901:00:00','1989012823:00:00','1989101501:59:59','1989101423:59:59' ],
+        [ [1989,10,15,2,0,0],[1989,10,15,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1990,2,11,0,59,59],[1990,2,10,23,59,59],
+          '1989101502:00:00','1989101501:00:00','1990021100:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,1,0,0],[1990,2,10,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1999,10,3,1,59,59],[1999,10,2,23,59,59],
+          '1990021101:00:00','1990021023:00:00','1999100301:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,2,0,0],[1999,10,3,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[2000,2,27,0,59,59],[2000,2,26,23,59,59],
+          '1999100302:00:00','1999100301:00:00','2000022700:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,1,0,0],[2000,2,26,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[2000,10,8,1,59,59],[2000,10,7,23,59,59],
+          '2000022701:00:00','2000022623:00:00','2000100801:59:59','2000100723:59:59' ],
+        [ [2000,10,8,2,0,0],[2000,10,8,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[2000,10,15,0,59,59],[2000,10,14,23,59,59],
+          '2000100802:00:00','2000100801:00:00','2000101500:59:59','2000101423:59:59' ],
+        [ [2000,10,15,1,0,0],[2000,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[2001,10,14,1,59,59],[2001,10,13,23,59,59],
+          '2000101501:00:00','2000101423:00:00','2001101401:59:59','2001101323:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,10,14,2,0,0],[2001,10,14,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[2002,2,17,0,59,59],[2002,2,16,23,59,59],
+          '2001101402:00:00','2001101401:00:00','2002021700:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,1,0,0],[2002,2,16,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[9999,12,31,0,0,0],[9999,12,30,22,0,0],
+          '2002021701:00:00','2002021623:00:00','9999123100:00:00','9999123022:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amojin00.pm b/lib/Date/Manip/TZ/amojin00.pm
new file mode 100644
index 0000000..5107cf4
--- /dev/null
+++ b/lib/Date/Manip/TZ/amojin00.pm
@@ -0,0 +1,748 @@
+package #
+Date::Manip::TZ::amojin00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,2,20],'-06:57:40',[-6,-57,-40],
+          'LMT',0,[1922,1,1,6,59,59],[1922,1,1,0,2,19],
+          '0001010200:00:00','0001010117:02:20','1922010106:59:59','1922010100:02:19' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,7,0,0],[1922,1,1,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1927,6,11,5,59,59],[1927,6,10,22,59,59],
+          '1922010107:00:00','1922010100:00:00','1927061105:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,6,0,0],[1927,6,11,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1930,11,15,5,59,59],[1930,11,14,23,59,59],
+          '1927061106:00:00','1927061100:00:00','1930111505:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,6,0,0],[1930,11,14,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,2,5,59,59],[1931,5,1,22,59,59],
+          '1930111506:00:00','1930111423:00:00','1931050205:59:59','1931050122:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,2,6,0,0],[1931,5,2,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1931,10,1,5,59,59],[1931,9,30,23,59,59],
+          '1931050206:00:00','1931050200:00:00','1931100105:59:59','1931093023:59:59' ],
+        [ [1931,10,1,6,0,0],[1931,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,4,1,6,59,59],[1932,3,31,23,59,59],
+          '1931100106:00:00','1931093023:00:00','1932040106:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,7,0,0],[1932,4,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1932040107:00:00','1932040101:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,8,59,59],[1998,4,5,2,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040508:59:59','1998040502:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,5,6,8,59,59],[2001,5,6,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001050608:59:59','2001050601:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,5,6,9,0,0],[2001,5,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,9,30,7,59,59],[2001,9,30,1,59,59],
+          '2001050609:00:00','2001050603:00:00','2001093007:59:59','2001093001:59:59' ],
+        [ [2001,9,30,8,0,0],[2001,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001093008:00:00','2001093001:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,4,1,8,59,59],[2007,4,1,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007040108:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,9,0,0],[2007,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,10,28,7,59,59],[2007,10,28,1,59,59],
+          '2007040109:00:00','2007040103:00:00','2007102807:59:59','2007102801:59:59' ],
+        [ [2007,10,28,8,0,0],[2007,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,4,6,8,59,59],[2008,4,6,1,59,59],
+          '2007102808:00:00','2007102801:00:00','2008040608:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,9,0,0],[2008,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,10,26,7,59,59],[2008,10,26,1,59,59],
+          '2008040609:00:00','2008040603:00:00','2008102607:59:59','2008102601:59:59' ],
+        [ [2008,10,26,8,0,0],[2008,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,4,5,8,59,59],[2009,4,5,1,59,59],
+          '2008102608:00:00','2008102601:00:00','2009040508:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,9,0,0],[2009,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,10,25,7,59,59],[2009,10,25,1,59,59],
+          '2009040509:00:00','2009040503:00:00','2009102507:59:59','2009102501:59:59' ],
+        [ [2009,10,25,8,0,0],[2009,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009102508:00:00','2009102501:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampana00.pm b/lib/Date/Manip/TZ/ampana00.pm
new file mode 100644
index 0000000..00f2934
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampana00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::ampana00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,41,52],'-05:18:08',[-5,-18,-8],
+          'LMT',0,[1890,1,1,5,18,7],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010118:41:52','1890010105:18:07','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,5,18,8],[1889,12,31,23,58,32],'-05:19:36',[-5,-19,-36],
+          'CMT',0,[1908,4,22,5,19,35],[1908,4,21,23,59,59],
+          '1890010105:18:08','1889123123:58:32','1908042205:19:35','1908042123:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,4,22,5,19,36],[1908,4,22,0,19,36],'-05:00:00',[-5,0,0],
+          'EST',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '1908042205:19:36','1908042200:19:36','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampang00.pm b/lib/Date/Manip/TZ/ampang00.pm
new file mode 100644
index 0000000..057146c
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampang00.pm
@@ -0,0 +1,889 @@
+package #
+Date::Manip::TZ::ampang00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1920,12,31,23,59,59],[1920,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1920123123:59:59','1920123123:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,1,1,0,0,0],[1920,12,31,20,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,2,9,5,59,59],[1942,2,9,1,59,59],
+          '1921010100:00:00','1920123120:00:00','1942020905:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,6,0,0],[1942,2,9,3,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942020906:00:00','1942020903:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1965,4,25,3,59,59],[1965,4,24,23,59,59],
+          '1945093005:00:00','1945093001:00:00','1965042503:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,4,0,0],[1965,4,25,2,0,0],'-02:00:00',[-2,0,0],
+          'ADDT',1,[1965,10,31,3,59,59],[1965,10,31,1,59,59],
+          '1965042504:00:00','1965042502:00:00','1965103103:59:59','1965103101:59:59' ],
+        [ [1965,10,31,4,0,0],[1965,10,31,0,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1965103104:00:00','1965103100:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,5,59,59],[1987,4,5,1,59,59],
+          '1986102605:00:00','1986102601:00:00','1987040505:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,6,0,0],[1987,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,4,59,59],[1987,10,25,1,59,59],
+          '1987040506:00:00','1987040503:00:00','1987102504:59:59','1987102501:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,5,59,59],[1988,4,3,1,59,59],
+          '1987102505:00:00','1987102501:00:00','1988040305:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1988,10,30,4,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040303:00:00','1988103004:59:59','1988103001:59:59' ],
+        [ [1988,10,30,5,0,0],[1988,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,5,59,59],[1989,4,2,1,59,59],
+          '1988103005:00:00','1988103001:00:00','1989040205:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,4,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040203:00:00','1989102904:59:59','1989102901:59:59' ],
+        [ [1989,10,29,5,0,0],[1989,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,5,59,59],[1990,4,1,1,59,59],
+          '1989102905:00:00','1989102901:00:00','1990040105:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,4,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040103:00:00','1990102804:59:59','1990102801:59:59' ],
+        [ [1990,10,28,5,0,0],[1990,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,5,59,59],[1991,4,7,1,59,59],
+          '1990102805:00:00','1990102801:00:00','1991040705:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,4,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040703:00:00','1991102704:59:59','1991102701:59:59' ],
+        [ [1991,10,27,5,0,0],[1991,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,5,59,59],[1992,4,5,1,59,59],
+          '1991102705:00:00','1991102701:00:00','1992040505:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,4,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040503:00:00','1992102504:59:59','1992102501:59:59' ],
+        [ [1992,10,25,5,0,0],[1992,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,5,59,59],[1993,4,4,1,59,59],
+          '1992102505:00:00','1992102501:00:00','1993040405:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,4,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040403:00:00','1993103104:59:59','1993103101:59:59' ],
+        [ [1993,10,31,5,0,0],[1993,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,5,59,59],[1994,4,3,1,59,59],
+          '1993103105:00:00','1993103101:00:00','1994040305:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,4,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040303:00:00','1994103004:59:59','1994103001:59:59' ],
+        [ [1994,10,30,5,0,0],[1994,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,5,59,59],[1995,4,2,1,59,59],
+          '1994103005:00:00','1994103001:00:00','1995040205:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040202:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103100:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102902:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampara00.pm b/lib/Date/Manip/TZ/ampara00.pm
new file mode 100644
index 0000000..9cfa9c5
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampara00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::ampara00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,19,20],'-03:40:40',[-3,-40,-40],
+          'LMT',0,[1911,1,1,3,40,39],[1910,12,31,23,59,59],
+          '0001010200:00:00','0001010120:19:20','1911010103:40:39','1910123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,1,1,3,40,40],[1910,12,31,23,59,48],'-03:40:52',[-3,-40,-52],
+          'PMT',0,[1935,1,1,3,40,51],[1934,12,31,23,59,59],
+          '1911010103:40:40','1910123123:59:48','1935010103:40:51','1934123123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,1,1,3,40,52],[1935,1,1,0,0,16],'-03:40:36',[-3,-40,-36],
+          'PMT',0,[1945,10,1,3,40,35],[1945,9,30,23,59,59],
+          '1935010103:40:52','1935010100:00:16','1945100103:40:35','1945093023:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,10,1,3,40,36],[1945,10,1,0,10,36],'-03:30:00',[-3,-30,0],
+          '-0330',0,[1984,10,1,3,29,59],[1984,9,30,23,59,59],
+          '1945100103:40:36','1945100100:10:36','1984100103:29:59','1984093023:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,10,1,3,30,0],[1984,10,1,0,30,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '1984100103:30:00','1984100100:30:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampete00.pm b/lib/Date/Manip/TZ/ampete00.pm
new file mode 100644
index 0000000..9346dd0
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampete00.pm
@@ -0,0 +1,865 @@
+package #
+Date::Manip::TZ::ampete00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,10,53],'-05:49:07',[-5,-49,-7],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,10,52],
+          '0001010200:00:00','0001010118:10:53','1883111817:59:59','1883111812:10:52' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,5,1,5,59,59],[1955,4,30,23,59,59],
+          '1945093007:00:00','1945093001:00:00','1955050105:59:59','1955043023:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,5,1,6,0,0],[1955,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955050106:00:00','1955050101:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,9,30,6,59,59],[1956,9,30,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956093006:59:59','1956093001:59:59' ],
+        [ [1956,9,30,7,0,0],[1956,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956093007:00:00','1956093001:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,9,27,6,59,59],[1959,9,27,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959092706:59:59','1959092701:59:59' ],
+        [ [1959,9,27,7,0,0],[1959,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959092707:00:00','1959092701:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,9,25,6,59,59],[1960,9,25,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960092506:59:59','1960092501:59:59' ],
+        [ [1960,9,25,7,0,0],[1960,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960092507:00:00','1960092501:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,10,29,6,59,59],[1961,10,29,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961102906:59:59','1961102901:59:59' ],
+        [ [1961,10,29,7,0,0],[1961,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1962,4,29,7,59,59],[1962,4,29,1,59,59],
+          '1961102907:00:00','1961102901:00:00','1962042907:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,8,0,0],[1962,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1962,10,28,6,59,59],[1962,10,28,1,59,59],
+          '1962042908:00:00','1962042903:00:00','1962102806:59:59','1962102801:59:59' ],
+        [ [1962,10,28,7,0,0],[1962,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1963,4,28,7,59,59],[1963,4,28,1,59,59],
+          '1962102807:00:00','1962102801:00:00','1963042807:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,8,0,0],[1963,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1963,10,27,6,59,59],[1963,10,27,1,59,59],
+          '1963042808:00:00','1963042803:00:00','1963102706:59:59','1963102701:59:59' ],
+        [ [1963,10,27,7,0,0],[1963,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1964,4,26,7,59,59],[1964,4,26,1,59,59],
+          '1963102707:00:00','1963102701:00:00','1964042607:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,8,0,0],[1964,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1964,10,25,6,59,59],[1964,10,25,1,59,59],
+          '1964042608:00:00','1964042603:00:00','1964102506:59:59','1964102501:59:59' ],
+        [ [1964,10,25,7,0,0],[1964,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1965,4,25,7,59,59],[1965,4,25,1,59,59],
+          '1964102507:00:00','1964102501:00:00','1965042507:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,8,0,0],[1965,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1966,10,30,6,59,59],[1966,10,30,1,59,59],
+          '1965042508:00:00','1965042503:00:00','1966103006:59:59','1966103001:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,10,30,7,0,0],[1966,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1967,4,30,7,59,59],[1967,4,30,1,59,59],
+          '1966103007:00:00','1966103001:00:00','1967043007:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,8,0,0],[1967,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1967,10,29,6,59,59],[1967,10,29,1,59,59],
+          '1967043008:00:00','1967043003:00:00','1967102906:59:59','1967102901:59:59' ],
+        [ [1967,10,29,7,0,0],[1967,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1968,4,28,7,59,59],[1968,4,28,1,59,59],
+          '1967102907:00:00','1967102901:00:00','1968042807:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,8,0,0],[1968,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1968,10,27,6,59,59],[1968,10,27,1,59,59],
+          '1968042808:00:00','1968042803:00:00','1968102706:59:59','1968102701:59:59' ],
+        [ [1968,10,27,7,0,0],[1968,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1968102707:00:00','1968102701:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1969,10,26,6,59,59],[1969,10,26,1,59,59],
+          '1969042708:00:00','1969042703:00:00','1969102606:59:59','1969102601:59:59' ],
+        [ [1969,10,26,7,0,0],[1969,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1970,4,26,7,59,59],[1970,4,26,1,59,59],
+          '1969102607:00:00','1969102601:00:00','1970042607:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,8,0,0],[1970,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1970,10,25,6,59,59],[1970,10,25,1,59,59],
+          '1970042608:00:00','1970042603:00:00','1970102506:59:59','1970102501:59:59' ],
+        [ [1970,10,25,7,0,0],[1970,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1971,4,25,7,59,59],[1971,4,25,1,59,59],
+          '1970102507:00:00','1970102501:00:00','1971042507:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,8,0,0],[1971,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1971,10,31,6,59,59],[1971,10,31,1,59,59],
+          '1971042508:00:00','1971042503:00:00','1971103106:59:59','1971103101:59:59' ],
+        [ [1971,10,31,7,0,0],[1971,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1972,4,30,7,59,59],[1972,4,30,1,59,59],
+          '1971103107:00:00','1971103101:00:00','1972043007:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,8,0,0],[1972,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1972,10,29,6,59,59],[1972,10,29,1,59,59],
+          '1972043008:00:00','1972043003:00:00','1972102906:59:59','1972102901:59:59' ],
+        [ [1972,10,29,7,0,0],[1972,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,4,29,7,59,59],[1973,4,29,1,59,59],
+          '1972102907:00:00','1972102901:00:00','1973042907:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,8,0,0],[1973,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,6,59,59],[1973,10,28,1,59,59],
+          '1973042908:00:00','1973042903:00:00','1973102806:59:59','1973102801:59:59' ],
+        [ [1973,10,28,7,0,0],[1973,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,1,6,7,59,59],[1974,1,6,1,59,59],
+          '1973102807:00:00','1973102801:00:00','1974010607:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,8,0,0],[1974,1,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974010608:00:00','1974010603:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,2,23,7,59,59],[1975,2,23,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975022307:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,8,0,0],[1975,2,23,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975022308:00:00','1975022303:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1977103007:00:00','1977103002:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040202:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110402:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amphoe00.pm b/lib/Date/Manip/TZ/amphoe00.pm
new file mode 100644
index 0000000..fd71e43
--- /dev/null
+++ b/lib/Date/Manip/TZ/amphoe00.pm
@@ -0,0 +1,94 @@
+package #
+Date::Manip::TZ::amphoe00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,31,42],'-07:28:18',[-7,-28,-18],
+          'LMT',0,[1883,11,18,18,59,59],[1883,11,18,11,31,41],
+          '0001010200:00:00','0001010116:31:42','1883111818:59:59','1883111811:31:41' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,19,0,0],[1883,11,18,12,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,3,31,8,59,59],[1918,3,31,1,59,59],
+          '1883111819:00:00','1883111812:00:00','1918033108:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,9,0,0],[1918,3,31,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918033109:00:00','1918033103:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1919,3,30,8,59,59],[1919,3,30,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1919033008:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,9,0,0],[1919,3,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1919,10,26,7,59,59],[1919,10,26,1,59,59],
+          '1919033009:00:00','1919033003:00:00','1919102607:59:59','1919102601:59:59' ],
+        [ [1919,10,26,8,0,0],[1919,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1919102608:00:00','1919102601:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1944,1,1,6,0,59],[1944,1,1,0,0,59],
+          '1942020909:00:00','1942020903:00:00','1944010106:00:59','1944010100:00:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,1,1,6,1,0],[1943,12,31,23,1,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1944,4,1,7,0,59],[1944,4,1,0,0,59],
+          '1944010106:01:00','1943123123:01:00','1944040107:00:59','1944040100:00:59' ],
+        [ [1944,4,1,7,1,0],[1944,4,1,1,1,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1944,10,1,6,0,59],[1944,10,1,0,0,59],
+          '1944040107:01:00','1944040101:01:00','1944100106:00:59','1944100100:00:59' ],
+        [ [1944,10,1,6,1,0],[1944,9,30,23,1,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1967,4,30,8,59,59],[1967,4,30,1,59,59],
+          '1944100106:01:00','1944093023:01:00','1967043008:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,9,0,0],[1967,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1967,10,29,7,59,59],[1967,10,29,1,59,59],
+          '1967043009:00:00','1967043003:00:00','1967102907:59:59','1967102901:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '1967102908:00:00','1967102901:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amport00.pm b/lib/Date/Manip/TZ/amport00.pm
new file mode 100644
index 0000000..9cfa38c
--- /dev/null
+++ b/lib/Date/Manip/TZ/amport00.pm
@@ -0,0 +1,727 @@
+package #
+Date::Manip::TZ::amport00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,10,40],'-04:49:20',[-4,-49,-20],
+          'LMT',0,[1890,1,1,4,49,19],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:10:40','1890010104:49:19','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,49,20],[1890,1,1,0,0,20],'-04:49:00',[-4,-49,0],
+          'PPMT',0,[1917,1,24,16,48,59],[1917,1,24,11,59,59],
+          '1890010104:49:20','1890010100:00:20','1917012416:48:59','1917012411:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,1,24,16,49,0],[1917,1,24,11,49,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,5,8,4,59,59],[1983,5,7,23,59,59],
+          '1917012416:49:00','1917012411:49:00','1983050804:59:59','1983050723:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,5,8,5,0,0],[1983,5,8,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,3,59,59],[1983,10,29,23,59,59],
+          '1983050805:00:00','1983050801:00:00','1983103003:59:59','1983102923:59:59' ],
+        [ [1983,10,30,4,0,0],[1983,10,29,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,4,59,59],[1984,4,28,23,59,59],
+          '1983103004:00:00','1983102923:00:00','1984042904:59:59','1984042823:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,5,0,0],[1984,4,29,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,3,59,59],[1984,10,27,23,59,59],
+          '1984042905:00:00','1984042901:00:00','1984102803:59:59','1984102723:59:59' ],
+        [ [1984,10,28,4,0,0],[1984,10,27,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,4,59,59],[1985,4,27,23,59,59],
+          '1984102804:00:00','1984102723:00:00','1985042804:59:59','1985042723:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,5,0,0],[1985,4,28,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,3,59,59],[1985,10,26,23,59,59],
+          '1985042805:00:00','1985042801:00:00','1985102703:59:59','1985102623:59:59' ],
+        [ [1985,10,27,4,0,0],[1985,10,26,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,4,59,59],[1986,4,26,23,59,59],
+          '1985102704:00:00','1985102623:00:00','1986042704:59:59','1986042623:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,5,0,0],[1986,4,27,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,3,59,59],[1986,10,25,23,59,59],
+          '1986042705:00:00','1986042701:00:00','1986102603:59:59','1986102523:59:59' ],
+        [ [1986,10,26,4,0,0],[1986,10,25,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,26,4,59,59],[1987,4,25,23,59,59],
+          '1986102604:00:00','1986102523:00:00','1987042604:59:59','1987042523:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,26,5,0,0],[1987,4,26,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987042605:00:00','1987042601:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,24,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,5,59,59],[1988,4,3,0,59,59],
+          '1987102504:00:00','1987102423:00:00','1988040305:59:59','1988040300:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040302:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,5,59,59],[1989,4,2,0,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040205:59:59','1989040200:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040202:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,5,59,59],[1990,4,1,0,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040105:59:59','1990040100:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040102:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,5,59,59],[1991,4,7,0,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040705:59:59','1991040700:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040702:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,5,59,59],[1992,4,5,0,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040505:59:59','1992040500:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040502:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,5,59,59],[1993,4,4,0,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040405:59:59','1993040400:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040402:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,5,59,59],[1994,4,3,0,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040305:59:59','1994040300:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040302:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,5,59,59],[1995,4,2,0,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040205:59:59','1995040200:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040202:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,5,59,59],[1996,4,7,0,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040705:59:59','1996040700:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,6,0,0],[1996,4,7,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040706:00:00','1996040702:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,5,59,59],[1997,4,6,0,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040605:59:59','1997040600:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,6,0,0],[1997,4,6,2,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040606:00:00','1997040602:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,4,59,59],[2005,4,2,23,59,59],
+          '1997102606:00:00','1997102601:00:00','2005040304:59:59','2005040223:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,5,0,0],[2005,4,3,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,3,59,59],[2005,10,29,23,59,59],
+          '2005040305:00:00','2005040301:00:00','2005103003:59:59','2005102923:59:59' ],
+        [ [2005,10,30,4,0,0],[2005,10,29,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,4,59,59],[2006,4,1,23,59,59],
+          '2005103004:00:00','2005102923:00:00','2006040204:59:59','2006040123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,5,0,0],[2006,4,2,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,3,59,59],[2006,10,28,23,59,59],
+          '2006040205:00:00','2006040201:00:00','2006102903:59:59','2006102823:59:59' ],
+        [ [2006,10,29,4,0,0],[2006,10,28,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2006102904:00:00','2006102823:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amport01.pm b/lib/Date/Manip/TZ/amport01.pm
new file mode 100644
index 0000000..55ab395
--- /dev/null
+++ b/lib/Date/Manip/TZ/amport01.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::amport01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,53,56],'-04:06:04',[-4,-6,-4],
+          'LMT',0,[1912,3,2,4,6,3],[1912,3,1,23,59,59],
+          '0001010200:00:00','0001010119:53:56','1912030204:06:03','1912030123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,3,2,4,6,4],[1912,3,2,0,6,4],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1912030204:06:04','1912030200:06:04','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amport02.pm b/lib/Date/Manip/TZ/amport02.pm
new file mode 100644
index 0000000..74c008f
--- /dev/null
+++ b/lib/Date/Manip/TZ/amport02.pm
@@ -0,0 +1,187 @@
+package #
+Date::Manip::TZ::amport02;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,44,24],'-04:15:36',[-4,-15,-36],
+          'LMT',0,[1914,1,1,4,15,35],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010119:44:24','1914010104:15:35','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,4,15,36],[1914,1,1,0,15,36],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010104:15:36','1914010100:15:36','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1988020703:00:00','1988020623:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampuer00.pm b/lib/Date/Manip/TZ/ampuer00.pm
new file mode 100644
index 0000000..4a0dd08
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampuer00.pm
@@ -0,0 +1,64 @@
+package #
+Date::Manip::TZ::ampuer00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,35,35],'-04:24:25',[-4,-24,-25],
+          'LMT',0,[1899,3,28,16,24,24],[1899,3,28,11,59,59],
+          '0001010200:00:00','0001010119:35:35','1899032816:24:24','1899032811:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,3,28,16,24,25],[1899,3,28,12,24,25],'-04:00:00',[-4,0,0],
+          'AST',0,[1942,5,3,3,59,59],[1942,5,2,23,59,59],
+          '1899032816:24:25','1899032812:24:25','1942050303:59:59','1942050223:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,3,4,0,0],[1942,5,3,1,0,0],'-03:00:00',[-3,0,0],
+          'AWT',1,[1945,8,14,22,59,59],[1945,8,14,19,59,59],
+          '1942050304:00:00','1942050301:00:00','1945081422:59:59','1945081419:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,0,0],'-03:00:00',[-3,0,0],
+          'APT',1,[1945,9,30,4,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:00:00','1945093004:59:59','1945093001:59:59' ],
+        [ [1945,9,30,5,0,0],[1945,9,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '1945093005:00:00','1945093001:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ampunt00.pm b/lib/Date/Manip/TZ/ampunt00.pm
new file mode 100644
index 0000000..8a017d5
--- /dev/null
+++ b/lib/Date/Manip/TZ/ampunt00.pm
@@ -0,0 +1,574 @@
+package #
+Date::Manip::TZ::ampunt00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,16,20],'-04:43:40',[-4,-43,-40],
+          'LMT',0,[1890,1,1,4,43,39],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:16:20','1890010104:43:39','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,43,40],[1890,1,1,0,0,54],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1910,1,10,4,42,45],[1910,1,9,23,59,59],
+          '1890010104:43:40','1890010100:00:54','1910011004:42:45','1910010923:59:59' ],
+     ],
+   1910 =>
+     [
+        [ [1910,1,10,4,42,46],[1910,1,9,23,42,46],'-05:00:00',[-5,0,0],
+          '-05',0,[1916,7,1,4,59,59],[1916,6,30,23,59,59],
+          '1910011004:42:46','1910010923:42:46','1916070104:59:59','1916063023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,1,5,0,0],[1916,7,1,0,17,14],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1918,9,10,4,42,45],[1918,9,9,23,59,59],
+          '1916070105:00:00','1916070100:17:14','1918091004:42:45','1918090923:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,9,10,4,42,46],[1918,9,10,0,42,46],'-04:00:00',[-4,0,0],
+          '-04',0,[1919,7,1,3,59,59],[1919,6,30,23,59,59],
+          '1918091004:42:46','1918091000:42:46','1919070103:59:59','1919063023:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,4,0,0],[1919,6,30,23,17,14],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1927,9,1,4,42,45],[1927,8,31,23,59,59],
+          '1919070104:00:00','1919063023:17:14','1927090104:42:45','1927083123:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,9,1,4,42,46],[1927,9,1,0,42,46],'-04:00:00',[-4,0,0],
+          '-04',1,[1928,4,1,3,59,59],[1928,3,31,23,59,59],
+          '1927090104:42:46','1927090100:42:46','1928040103:59:59','1928033123:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,1,4,0,0],[1928,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1928,9,1,4,59,59],[1928,8,31,23,59,59],
+          '1928040104:00:00','1928033123:00:00','1928090104:59:59','1928083123:59:59' ],
+        [ [1928,9,1,5,0,0],[1928,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1929,4,1,3,59,59],[1929,3,31,23,59,59],
+          '1928090105:00:00','1928090101:00:00','1929040103:59:59','1929033123:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,1,4,0,0],[1929,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1929,9,1,4,59,59],[1929,8,31,23,59,59],
+          '1929040104:00:00','1929033123:00:00','1929090104:59:59','1929083123:59:59' ],
+        [ [1929,9,1,5,0,0],[1929,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1930,4,1,3,59,59],[1930,3,31,23,59,59],
+          '1929090105:00:00','1929090101:00:00','1930040103:59:59','1930033123:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,1,4,0,0],[1930,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1930,9,1,4,59,59],[1930,8,31,23,59,59],
+          '1930040104:00:00','1930033123:00:00','1930090104:59:59','1930083123:59:59' ],
+        [ [1930,9,1,5,0,0],[1930,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1931,4,1,3,59,59],[1931,3,31,23,59,59],
+          '1930090105:00:00','1930090101:00:00','1931040103:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,4,0,0],[1931,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1931,9,1,4,59,59],[1931,8,31,23,59,59],
+          '1931040104:00:00','1931033123:00:00','1931090104:59:59','1931083123:59:59' ],
+        [ [1931,9,1,5,0,0],[1931,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1932,4,1,3,59,59],[1932,3,31,23,59,59],
+          '1931090105:00:00','1931090101:00:00','1932040103:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,4,0,0],[1932,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1932,9,1,4,59,59],[1932,8,31,23,59,59],
+          '1932040104:00:00','1932033123:00:00','1932090104:59:59','1932083123:59:59' ],
+        [ [1932,9,1,5,0,0],[1932,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1942,6,1,3,59,59],[1942,5,31,23,59,59],
+          '1932090105:00:00','1932090101:00:00','1942060103:59:59','1942053123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,6,1,4,0,0],[1942,5,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1942,8,1,4,59,59],[1942,7,31,23,59,59],
+          '1942060104:00:00','1942053123:00:00','1942080104:59:59','1942073123:59:59' ],
+        [ [1942,8,1,5,0,0],[1942,8,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1947,4,1,3,59,59],[1947,3,31,23,59,59],
+          '1942080105:00:00','1942080101:00:00','1947040103:59:59','1947033123:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,1,4,0,0],[1947,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1947,5,22,3,59,59],[1947,5,21,22,59,59],
+          '1947040104:00:00','1947033123:00:00','1947052203:59:59','1947052122:59:59' ],
+        [ [1947,5,22,4,0,0],[1947,5,22,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,11,3,3,59,59],[1968,11,2,23,59,59],
+          '1947052204:00:00','1947052200:00:00','1968110303:59:59','1968110223:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,11,3,4,0,0],[1968,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,3,30,2,59,59],[1969,3,29,23,59,59],
+          '1968110304:00:00','1968110301:00:00','1969033002:59:59','1969032923:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,3,30,3,0,0],[1969,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,11,23,3,59,59],[1969,11,22,23,59,59],
+          '1969033003:00:00','1969032923:00:00','1969112303:59:59','1969112223:59:59' ],
+        [ [1969,11,23,4,0,0],[1969,11,23,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1970,3,29,2,59,59],[1970,3,28,23,59,59],
+          '1969112304:00:00','1969112301:00:00','1970032902:59:59','1970032823:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,3,29,3,0,0],[1970,3,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1970,10,11,3,59,59],[1970,10,10,23,59,59],
+          '1970032903:00:00','1970032823:00:00','1970101103:59:59','1970101023:59:59' ],
+        [ [1970,10,11,4,0,0],[1970,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1971,3,14,2,59,59],[1971,3,13,23,59,59],
+          '1970101104:00:00','1970101101:00:00','1971031402:59:59','1971031323:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,14,3,0,0],[1971,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1971,10,10,3,59,59],[1971,10,9,23,59,59],
+          '1971031403:00:00','1971031323:00:00','1971101003:59:59','1971100923:59:59' ],
+        [ [1971,10,10,4,0,0],[1971,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1972,3,12,2,59,59],[1972,3,11,23,59,59],
+          '1971101004:00:00','1971101001:00:00','1972031202:59:59','1972031123:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,3,12,3,0,0],[1972,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1972,10,15,3,59,59],[1972,10,14,23,59,59],
+          '1972031203:00:00','1972031123:00:00','1972101503:59:59','1972101423:59:59' ],
+        [ [1972,10,15,4,0,0],[1972,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1973,3,11,2,59,59],[1973,3,10,23,59,59],
+          '1972101504:00:00','1972101501:00:00','1973031102:59:59','1973031023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,11,3,0,0],[1973,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1973,9,30,3,59,59],[1973,9,29,23,59,59],
+          '1973031103:00:00','1973031023:00:00','1973093003:59:59','1973092923:59:59' ],
+        [ [1973,9,30,4,0,0],[1973,9,30,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1974,3,10,2,59,59],[1974,3,9,23,59,59],
+          '1973093004:00:00','1973093001:00:00','1974031002:59:59','1974030923:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,10,3,0,0],[1974,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1974,10,13,3,59,59],[1974,10,12,23,59,59],
+          '1974031003:00:00','1974030923:00:00','1974101303:59:59','1974101223:59:59' ],
+        [ [1974,10,13,4,0,0],[1974,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1975,3,9,2,59,59],[1975,3,8,23,59,59],
+          '1974101304:00:00','1974101301:00:00','1975030902:59:59','1975030823:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,9,3,0,0],[1975,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1975,10,12,3,59,59],[1975,10,11,23,59,59],
+          '1975030903:00:00','1975030823:00:00','1975101203:59:59','1975101123:59:59' ],
+        [ [1975,10,12,4,0,0],[1975,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1976,3,14,2,59,59],[1976,3,13,23,59,59],
+          '1975101204:00:00','1975101201:00:00','1976031402:59:59','1976031323:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,14,3,0,0],[1976,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1976,10,10,3,59,59],[1976,10,9,23,59,59],
+          '1976031403:00:00','1976031323:00:00','1976101003:59:59','1976100923:59:59' ],
+        [ [1976,10,10,4,0,0],[1976,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1977,3,13,2,59,59],[1977,3,12,23,59,59],
+          '1976101004:00:00','1976101001:00:00','1977031302:59:59','1977031223:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,13,3,0,0],[1977,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1977,10,9,3,59,59],[1977,10,8,23,59,59],
+          '1977031303:00:00','1977031223:00:00','1977100903:59:59','1977100823:59:59' ],
+        [ [1977,10,9,4,0,0],[1977,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1978,3,12,2,59,59],[1978,3,11,23,59,59],
+          '1977100904:00:00','1977100901:00:00','1978031202:59:59','1978031123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,12,3,0,0],[1978,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1978,10,15,3,59,59],[1978,10,14,23,59,59],
+          '1978031203:00:00','1978031123:00:00','1978101503:59:59','1978101423:59:59' ],
+        [ [1978,10,15,4,0,0],[1978,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1979,3,11,2,59,59],[1979,3,10,23,59,59],
+          '1978101504:00:00','1978101501:00:00','1979031102:59:59','1979031023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,11,3,0,0],[1979,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1979,10,14,3,59,59],[1979,10,13,23,59,59],
+          '1979031103:00:00','1979031023:00:00','1979101403:59:59','1979101323:59:59' ],
+        [ [1979,10,14,4,0,0],[1979,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1980,3,9,2,59,59],[1980,3,8,23,59,59],
+          '1979101404:00:00','1979101401:00:00','1980030902:59:59','1980030823:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,9,3,0,0],[1980,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1980,10,12,3,59,59],[1980,10,11,23,59,59],
+          '1980030903:00:00','1980030823:00:00','1980101203:59:59','1980101123:59:59' ],
+        [ [1980,10,12,4,0,0],[1980,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1981,3,15,2,59,59],[1981,3,14,23,59,59],
+          '1980101204:00:00','1980101201:00:00','1981031502:59:59','1981031423:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,15,3,0,0],[1981,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1981,10,11,3,59,59],[1981,10,10,23,59,59],
+          '1981031503:00:00','1981031423:00:00','1981101103:59:59','1981101023:59:59' ],
+        [ [1981,10,11,4,0,0],[1981,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1982,3,14,2,59,59],[1982,3,13,23,59,59],
+          '1981101104:00:00','1981101101:00:00','1982031402:59:59','1982031323:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,14,3,0,0],[1982,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1982,10,10,3,59,59],[1982,10,9,23,59,59],
+          '1982031403:00:00','1982031323:00:00','1982101003:59:59','1982100923:59:59' ],
+        [ [1982,10,10,4,0,0],[1982,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1983,3,13,2,59,59],[1983,3,12,23,59,59],
+          '1982101004:00:00','1982101001:00:00','1983031302:59:59','1983031223:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,13,3,0,0],[1983,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1983,10,9,3,59,59],[1983,10,8,23,59,59],
+          '1983031303:00:00','1983031223:00:00','1983100903:59:59','1983100823:59:59' ],
+        [ [1983,10,9,4,0,0],[1983,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1984,3,11,2,59,59],[1984,3,10,23,59,59],
+          '1983100904:00:00','1983100901:00:00','1984031102:59:59','1984031023:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,11,3,0,0],[1984,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1984,10,14,3,59,59],[1984,10,13,23,59,59],
+          '1984031103:00:00','1984031023:00:00','1984101403:59:59','1984101323:59:59' ],
+        [ [1984,10,14,4,0,0],[1984,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1985,3,10,2,59,59],[1985,3,9,23,59,59],
+          '1984101404:00:00','1984101401:00:00','1985031002:59:59','1985030923:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,10,3,0,0],[1985,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,10,13,3,59,59],[1985,10,12,23,59,59],
+          '1985031003:00:00','1985030923:00:00','1985101303:59:59','1985101223:59:59' ],
+        [ [1985,10,13,4,0,0],[1985,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,9,2,59,59],[1986,3,8,23,59,59],
+          '1985101304:00:00','1985101301:00:00','1986030902:59:59','1986030823:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,9,3,0,0],[1986,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,12,3,59,59],[1986,10,11,23,59,59],
+          '1986030903:00:00','1986030823:00:00','1986101203:59:59','1986101123:59:59' ],
+        [ [1986,10,12,4,0,0],[1986,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,4,12,2,59,59],[1987,4,11,23,59,59],
+          '1986101204:00:00','1986101201:00:00','1987041202:59:59','1987041123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,12,3,0,0],[1987,4,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,11,3,59,59],[1987,10,10,23,59,59],
+          '1987041203:00:00','1987041123:00:00','1987101103:59:59','1987101023:59:59' ],
+        [ [1987,10,11,4,0,0],[1987,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,3,13,2,59,59],[1988,3,12,23,59,59],
+          '1987101104:00:00','1987101101:00:00','1988031302:59:59','1988031223:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,13,3,0,0],[1988,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,9,3,59,59],[1988,10,8,23,59,59],
+          '1988031303:00:00','1988031223:00:00','1988100903:59:59','1988100823:59:59' ],
+        [ [1988,10,9,4,0,0],[1988,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,3,12,2,59,59],[1989,3,11,23,59,59],
+          '1988100904:00:00','1988100901:00:00','1989031202:59:59','1989031123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,12,3,0,0],[1989,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,15,3,59,59],[1989,10,14,23,59,59],
+          '1989031203:00:00','1989031123:00:00','1989101503:59:59','1989101423:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,3,11,2,59,59],[1990,3,10,23,59,59],
+          '1989101504:00:00','1989101501:00:00','1990031102:59:59','1990031023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,11,3,0,0],[1990,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,9,16,3,59,59],[1990,9,15,23,59,59],
+          '1990031103:00:00','1990031023:00:00','1990091603:59:59','1990091523:59:59' ],
+        [ [1990,9,16,4,0,0],[1990,9,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,10,2,59,59],[1991,3,9,23,59,59],
+          '1990091604:00:00','1990091601:00:00','1991031002:59:59','1991030923:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,10,3,0,0],[1991,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,13,3,59,59],[1991,10,12,23,59,59],
+          '1991031003:00:00','1991030923:00:00','1991101303:59:59','1991101223:59:59' ],
+        [ [1991,10,13,4,0,0],[1991,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,3,15,2,59,59],[1992,3,14,23,59,59],
+          '1991101304:00:00','1991101301:00:00','1992031502:59:59','1992031423:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,15,3,0,0],[1992,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,11,3,59,59],[1992,10,10,23,59,59],
+          '1992031503:00:00','1992031423:00:00','1992101103:59:59','1992101023:59:59' ],
+        [ [1992,10,11,4,0,0],[1992,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,3,14,2,59,59],[1993,3,13,23,59,59],
+          '1992101104:00:00','1992101101:00:00','1993031402:59:59','1993031323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,14,3,0,0],[1993,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,10,3,59,59],[1993,10,9,23,59,59],
+          '1993031403:00:00','1993031323:00:00','1993101003:59:59','1993100923:59:59' ],
+        [ [1993,10,10,4,0,0],[1993,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,3,13,2,59,59],[1994,3,12,23,59,59],
+          '1993101004:00:00','1993101001:00:00','1994031302:59:59','1994031223:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,13,3,0,0],[1994,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,9,3,59,59],[1994,10,8,23,59,59],
+          '1994031303:00:00','1994031223:00:00','1994100903:59:59','1994100823:59:59' ],
+        [ [1994,10,9,4,0,0],[1994,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,3,12,2,59,59],[1995,3,11,23,59,59],
+          '1994100904:00:00','1994100901:00:00','1995031202:59:59','1995031123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,12,3,0,0],[1995,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,15,3,59,59],[1995,10,14,23,59,59],
+          '1995031203:00:00','1995031123:00:00','1995101503:59:59','1995101423:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,3,10,2,59,59],[1996,3,9,23,59,59],
+          '1995101504:00:00','1995101501:00:00','1996031002:59:59','1996030923:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,10,3,0,0],[1996,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,13,3,59,59],[1996,10,12,23,59,59],
+          '1996031003:00:00','1996030923:00:00','1996101303:59:59','1996101223:59:59' ],
+        [ [1996,10,13,4,0,0],[1996,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,3,30,2,59,59],[1997,3,29,23,59,59],
+          '1996101304:00:00','1996101301:00:00','1997033002:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,3,0,0],[1997,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,12,3,59,59],[1997,10,11,23,59,59],
+          '1997033003:00:00','1997032923:00:00','1997101203:59:59','1997101123:59:59' ],
+        [ [1997,10,12,4,0,0],[1997,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,15,2,59,59],[1998,3,14,23,59,59],
+          '1997101204:00:00','1997101201:00:00','1998031502:59:59','1998031423:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,15,3,0,0],[1998,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,9,27,3,59,59],[1998,9,26,23,59,59],
+          '1998031503:00:00','1998031423:00:00','1998092703:59:59','1998092623:59:59' ],
+        [ [1998,9,27,4,0,0],[1998,9,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,4,4,2,59,59],[1999,4,3,23,59,59],
+          '1998092704:00:00','1998092701:00:00','1999040402:59:59','1999040323:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,3,0,0],[1999,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,10,3,59,59],[1999,10,9,23,59,59],
+          '1999040403:00:00','1999040323:00:00','1999101003:59:59','1999100923:59:59' ],
+        [ [1999,10,10,4,0,0],[1999,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,12,2,59,59],[2000,3,11,23,59,59],
+          '1999101004:00:00','1999101001:00:00','2000031202:59:59','2000031123:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,12,3,0,0],[2000,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,15,3,59,59],[2000,10,14,23,59,59],
+          '2000031203:00:00','2000031123:00:00','2000101503:59:59','2000101423:59:59' ],
+        [ [2000,10,15,4,0,0],[2000,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,3,11,2,59,59],[2001,3,10,23,59,59],
+          '2000101504:00:00','2000101501:00:00','2001031102:59:59','2001031023:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,11,3,0,0],[2001,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,14,3,59,59],[2001,10,13,23,59,59],
+          '2001031103:00:00','2001031023:00:00','2001101403:59:59','2001101323:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,3,10,2,59,59],[2002,3,9,23,59,59],
+          '2001101404:00:00','2001101401:00:00','2002031002:59:59','2002030923:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,10,3,0,0],[2002,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,10,13,3,59,59],[2002,10,12,23,59,59],
+          '2002031003:00:00','2002030923:00:00','2002101303:59:59','2002101223:59:59' ],
+        [ [2002,10,13,4,0,0],[2002,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,3,9,2,59,59],[2003,3,8,23,59,59],
+          '2002101304:00:00','2002101301:00:00','2003030902:59:59','2003030823:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,9,3,0,0],[2003,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,10,12,3,59,59],[2003,10,11,23,59,59],
+          '2003030903:00:00','2003030823:00:00','2003101203:59:59','2003101123:59:59' ],
+        [ [2003,10,12,4,0,0],[2003,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,3,14,2,59,59],[2004,3,13,23,59,59],
+          '2003101204:00:00','2003101201:00:00','2004031402:59:59','2004031323:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,14,3,0,0],[2004,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,10,10,3,59,59],[2004,10,9,23,59,59],
+          '2004031403:00:00','2004031323:00:00','2004101003:59:59','2004100923:59:59' ],
+        [ [2004,10,10,4,0,0],[2004,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,3,13,2,59,59],[2005,3,12,23,59,59],
+          '2004101004:00:00','2004101001:00:00','2005031302:59:59','2005031223:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,13,3,0,0],[2005,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,9,3,59,59],[2005,10,8,23,59,59],
+          '2005031303:00:00','2005031223:00:00','2005100903:59:59','2005100823:59:59' ],
+        [ [2005,10,9,4,0,0],[2005,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,3,12,2,59,59],[2006,3,11,23,59,59],
+          '2005100904:00:00','2005100901:00:00','2006031202:59:59','2006031123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,3,0,0],[2006,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,10,15,3,59,59],[2006,10,14,23,59,59],
+          '2006031203:00:00','2006031123:00:00','2006101503:59:59','2006101423:59:59' ],
+        [ [2006,10,15,4,0,0],[2006,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,3,11,2,59,59],[2007,3,10,23,59,59],
+          '2006101504:00:00','2006101501:00:00','2007031102:59:59','2007031023:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,0,0],[2007,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,14,3,59,59],[2007,10,13,23,59,59],
+          '2007031103:00:00','2007031023:00:00','2007101403:59:59','2007101323:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,3,30,2,59,59],[2008,3,29,23,59,59],
+          '2007101404:00:00','2007101401:00:00','2008033002:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,3,0,0],[2008,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,12,3,59,59],[2008,10,11,23,59,59],
+          '2008033003:00:00','2008032923:00:00','2008101203:59:59','2008101123:59:59' ],
+        [ [2008,10,12,4,0,0],[2008,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,3,15,2,59,59],[2009,3,14,23,59,59],
+          '2008101204:00:00','2008101201:00:00','2009031502:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,3,0,0],[2009,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,11,3,59,59],[2009,10,10,23,59,59],
+          '2009031503:00:00','2009031423:00:00','2009101103:59:59','2009101023:59:59' ],
+        [ [2009,10,11,4,0,0],[2009,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,4,4,2,59,59],[2010,4,3,23,59,59],
+          '2009101104:00:00','2009101101:00:00','2010040402:59:59','2010040323:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,3,0,0],[2010,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,10,3,59,59],[2010,10,9,23,59,59],
+          '2010040403:00:00','2010040323:00:00','2010101003:59:59','2010100923:59:59' ],
+        [ [2010,10,10,4,0,0],[2010,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,5,8,2,59,59],[2011,5,7,23,59,59],
+          '2010101004:00:00','2010101001:00:00','2011050802:59:59','2011050723:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,5,8,3,0,0],[2011,5,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,8,21,3,59,59],[2011,8,20,23,59,59],
+          '2011050803:00:00','2011050723:00:00','2011082103:59:59','2011082023:59:59' ],
+        [ [2011,8,21,4,0,0],[2011,8,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,4,29,2,59,59],[2012,4,28,23,59,59],
+          '2011082104:00:00','2011082101:00:00','2012042902:59:59','2012042823:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,3,0,0],[2012,4,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,9,2,3,59,59],[2012,9,1,23,59,59],
+          '2012042903:00:00','2012042823:00:00','2012090203:59:59','2012090123:59:59' ],
+        [ [2012,9,2,4,0,0],[2012,9,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,4,28,2,59,59],[2013,4,27,23,59,59],
+          '2012090204:00:00','2012090201:00:00','2013042802:59:59','2013042723:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,3,0,0],[2013,4,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,9,8,3,59,59],[2013,9,7,23,59,59],
+          '2013042803:00:00','2013042723:00:00','2013090803:59:59','2013090723:59:59' ],
+        [ [2013,9,8,4,0,0],[2013,9,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,4,27,2,59,59],[2014,4,26,23,59,59],
+          '2013090804:00:00','2013090801:00:00','2014042702:59:59','2014042623:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,27,3,0,0],[2014,4,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,9,7,3,59,59],[2014,9,6,23,59,59],
+          '2014042703:00:00','2014042623:00:00','2014090703:59:59','2014090623:59:59' ],
+        [ [2014,9,7,4,0,0],[2014,9,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,5,15,2,59,59],[2016,5,14,23,59,59],
+          '2014090704:00:00','2014090701:00:00','2016051502:59:59','2016051423:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,15,3,0,0],[2016,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,8,14,3,59,59],[2016,8,13,23,59,59],
+          '2016051503:00:00','2016051423:00:00','2016081403:59:59','2016081323:59:59' ],
+        [ [2016,8,14,4,0,0],[2016,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,12,4,2,59,59],[2016,12,3,23,59,59],
+          '2016081404:00:00','2016081401:00:00','2016120402:59:59','2016120323:59:59' ],
+        [ [2016,12,4,3,0,0],[2016,12,4,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2016120403:00:00','2016120400:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amrain00.pm b/lib/Date/Manip/TZ/amrain00.pm
new file mode 100644
index 0000000..93803cb
--- /dev/null
+++ b/lib/Date/Manip/TZ/amrain00.pm
@@ -0,0 +1,949 @@
+package #
+Date::Manip::TZ::amrain00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,41,44],'-06:18:16',[-6,-18,-16],
+          'LMT',0,[1895,1,1,6,18,15],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010117:41:44','1895010106:18:15','1894123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,1,6,18,16],[1895,1,1,0,18,16],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,4,14,7,59,59],[1918,4,14,1,59,59],
+          '1895010106:18:16','1895010100:18:16','1918041407:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,8,0,0],[1918,4,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918041408:00:00','1918041403:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1940,9,29,5,59,59],[1940,9,28,23,59,59],
+          '1918102707:00:00','1918102701:00:00','1940092905:59:59','1940092823:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,9,29,6,0,0],[1940,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1942,2,9,7,59,59],[1942,2,9,2,59,59],
+          '1940092906:00:00','1940092901:00:00','1942020907:59:59','1942020902:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,4,28,7,59,59],[1974,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1974042807:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,8,0,0],[1974,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,6,59,59],[1974,10,27,1,59,59],
+          '1974042808:00:00','1974042803:00:00','1974102706:59:59','1974102701:59:59' ],
+        [ [1974,10,27,7,0,0],[1974,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,4,27,7,59,59],[1975,4,27,1,59,59],
+          '1974102707:00:00','1974102701:00:00','1975042707:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,8,0,0],[1975,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,6,59,59],[1975,10,26,1,59,59],
+          '1975042708:00:00','1975042703:00:00','1975102606:59:59','1975102601:59:59' ],
+        [ [1975,10,26,7,0,0],[1975,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102607:00:00','1975102601:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,6,59,59],[1976,10,31,1,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103106:59:59','1976103101:59:59' ],
+        [ [1976,10,31,7,0,0],[1976,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103107:00:00','1976103101:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,6,59,59],[1977,10,30,1,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103006:59:59','1977103001:59:59' ],
+        [ [1977,10,30,7,0,0],[1977,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103007:00:00','1977103001:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,6,59,59],[1978,10,29,1,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102906:59:59','1978102901:59:59' ],
+        [ [1978,10,29,7,0,0],[1978,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102907:00:00','1978102901:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,6,59,59],[1979,10,28,1,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102806:59:59','1979102801:59:59' ],
+        [ [1979,10,28,7,0,0],[1979,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102807:00:00','1979102801:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,7,59,59],[2001,4,1,1,59,59],
+          '2000102907:00:00','2000102901:00:00','2001040107:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amrank00.pm b/lib/Date/Manip/TZ/amrank00.pm
new file mode 100644
index 0000000..a8b2e52
--- /dev/null
+++ b/lib/Date/Manip/TZ/amrank00.pm
@@ -0,0 +1,874 @@
+package #
+Date::Manip::TZ::amrank00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1956,12,31,23,59,59],[1956,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1956123123:59:59','1956123123:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,1,1,0,0,0],[1956,12,31,18,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1965,4,25,5,59,59],[1965,4,24,23,59,59],
+          '1957010100:00:00','1956123118:00:00','1965042505:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,6,0,0],[1965,4,25,2,0,0],'-04:00:00',[-4,0,0],
+          'CDDT',1,[1965,10,31,5,59,59],[1965,10,31,1,59,59],
+          '1965042506:00:00','1965042502:00:00','1965103105:59:59','1965103101:59:59' ],
+        [ [1965,10,31,6,0,0],[1965,10,31,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1965103106:00:00','1965103100:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,7,59,59],[2001,4,1,2,59,59],
+          '2000102907:00:00','2000102902:00:00','2001040107:59:59','2001040102:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amreci00.pm b/lib/Date/Manip/TZ/amreci00.pm
new file mode 100644
index 0000000..f73268d
--- /dev/null
+++ b/lib/Date/Manip/TZ/amreci00.pm
@@ -0,0 +1,235 @@
+package #
+Date::Manip::TZ::amreci00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,40,24],'-02:19:36',[-2,-19,-36],
+          'LMT',0,[1914,1,1,2,19,35],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010121:40:24','1914010102:19:35','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,2,19,36],[1913,12,31,23,19,36],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010102:19:36','1913123123:19:36','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,12,9,2,59,59],[1963,12,8,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963120902:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,3,0,0],[1963,12,9,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963120903:00:00','1963120901:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,10,15,1,59,59],[2000,10,14,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2000101501:59:59','2000101423:59:59' ],
+        [ [2000,10,15,2,0,0],[2000,10,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2000101502:00:00','2000101423:00:00','2001101402:59:59','2001101323:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2002021702:00:00','2002021623:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amregi00.pm b/lib/Date/Manip/TZ/amregi00.pm
new file mode 100644
index 0000000..d9dc12a
--- /dev/null
+++ b/lib/Date/Manip/TZ/amregi00.pm
@@ -0,0 +1,286 @@
+package #
+Date::Manip::TZ::amregi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,1,24],'-06:58:36',[-6,-58,-36],
+          'LMT',0,[1905,9,1,6,58,35],[1905,8,31,23,59,59],
+          '0001010200:00:00','0001010117:01:24','1905090106:58:35','1905083123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,9,1,6,58,36],[1905,8,31,23,58,36],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,4,14,8,59,59],[1918,4,14,1,59,59],
+          '1905090106:58:36','1905083123:58:36','1918041408:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,9,0,0],[1918,4,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918041409:00:00','1918041403:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1930,5,4,6,59,59],[1930,5,3,23,59,59],
+          '1918102708:00:00','1918102701:00:00','1930050406:59:59','1930050323:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,5,4,7,0,0],[1930,5,4,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1930,10,5,5,59,59],[1930,10,4,23,59,59],
+          '1930050407:00:00','1930050401:00:00','1930100505:59:59','1930100423:59:59' ],
+        [ [1930,10,5,6,0,0],[1930,10,4,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1931,5,3,6,59,59],[1931,5,2,23,59,59],
+          '1930100506:00:00','1930100423:00:00','1931050306:59:59','1931050223:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,3,7,0,0],[1931,5,3,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1931,10,4,5,59,59],[1931,10,3,23,59,59],
+          '1931050307:00:00','1931050301:00:00','1931100405:59:59','1931100323:59:59' ],
+        [ [1931,10,4,6,0,0],[1931,10,3,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1932,5,1,6,59,59],[1932,4,30,23,59,59],
+          '1931100406:00:00','1931100323:00:00','1932050106:59:59','1932043023:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,1,7,0,0],[1932,5,1,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1932,10,2,5,59,59],[1932,10,1,23,59,59],
+          '1932050107:00:00','1932050101:00:00','1932100205:59:59','1932100123:59:59' ],
+        [ [1932,10,2,6,0,0],[1932,10,1,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1933,5,7,6,59,59],[1933,5,6,23,59,59],
+          '1932100206:00:00','1932100123:00:00','1933050706:59:59','1933050623:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,5,7,7,0,0],[1933,5,7,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1933,10,1,5,59,59],[1933,9,30,23,59,59],
+          '1933050707:00:00','1933050701:00:00','1933100105:59:59','1933093023:59:59' ],
+        [ [1933,10,1,6,0,0],[1933,9,30,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1934,5,6,6,59,59],[1934,5,5,23,59,59],
+          '1933100106:00:00','1933093023:00:00','1934050606:59:59','1934050523:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,5,6,7,0,0],[1934,5,6,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1934,10,7,5,59,59],[1934,10,6,23,59,59],
+          '1934050607:00:00','1934050601:00:00','1934100705:59:59','1934100623:59:59' ],
+        [ [1934,10,7,6,0,0],[1934,10,6,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1937,4,11,6,59,59],[1937,4,10,23,59,59],
+          '1934100706:00:00','1934100623:00:00','1937041106:59:59','1937041023:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,11,7,0,0],[1937,4,11,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1937,10,10,5,59,59],[1937,10,9,23,59,59],
+          '1937041107:00:00','1937041101:00:00','1937101005:59:59','1937100923:59:59' ],
+        [ [1937,10,10,6,0,0],[1937,10,9,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1938,4,10,6,59,59],[1938,4,9,23,59,59],
+          '1937101006:00:00','1937100923:00:00','1938041006:59:59','1938040923:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,10,7,0,0],[1938,4,10,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1938,10,2,5,59,59],[1938,10,1,23,59,59],
+          '1938041007:00:00','1938041001:00:00','1938100205:59:59','1938100123:59:59' ],
+        [ [1938,10,2,6,0,0],[1938,10,1,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1939,4,9,6,59,59],[1939,4,8,23,59,59],
+          '1938100206:00:00','1938100123:00:00','1939040906:59:59','1939040823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,9,7,0,0],[1939,4,9,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1939,10,8,5,59,59],[1939,10,7,23,59,59],
+          '1939040907:00:00','1939040901:00:00','1939100805:59:59','1939100723:59:59' ],
+        [ [1939,10,8,6,0,0],[1939,10,7,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1940,4,14,6,59,59],[1940,4,13,23,59,59],
+          '1939100806:00:00','1939100723:00:00','1940041406:59:59','1940041323:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,14,7,0,0],[1940,4,14,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1940,10,13,5,59,59],[1940,10,12,23,59,59],
+          '1940041407:00:00','1940041401:00:00','1940101305:59:59','1940101223:59:59' ],
+        [ [1940,10,13,6,0,0],[1940,10,12,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1941,4,13,6,59,59],[1941,4,12,23,59,59],
+          '1940101306:00:00','1940101223:00:00','1941041306:59:59','1941041223:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,13,7,0,0],[1941,4,13,1,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1941,10,12,5,59,59],[1941,10,11,23,59,59],
+          '1941041307:00:00','1941041301:00:00','1941101205:59:59','1941101123:59:59' ],
+        [ [1941,10,12,6,0,0],[1941,10,11,23,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1941101206:00:00','1941101123:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1946,4,14,8,59,59],[1946,4,14,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1946041408:59:59','1946041401:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,14,9,0,0],[1946,4,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1946,10,13,7,59,59],[1946,10,13,1,59,59],
+          '1946041409:00:00','1946041403:00:00','1946101307:59:59','1946101301:59:59' ],
+        [ [1946,10,13,8,0,0],[1946,10,13,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1947,4,27,8,59,59],[1947,4,27,1,59,59],
+          '1946101308:00:00','1946101301:00:00','1947042708:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,9,0,0],[1947,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1947,9,28,7,59,59],[1947,9,28,1,59,59],
+          '1947042709:00:00','1947042703:00:00','1947092807:59:59','1947092801:59:59' ],
+        [ [1947,9,28,8,0,0],[1947,9,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1948,4,25,8,59,59],[1948,4,25,1,59,59],
+          '1947092808:00:00','1947092801:00:00','1948042508:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,9,0,0],[1948,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1948,9,26,7,59,59],[1948,9,26,1,59,59],
+          '1948042509:00:00','1948042503:00:00','1948092607:59:59','1948092601:59:59' ],
+        [ [1948,9,26,8,0,0],[1948,9,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1949,4,24,8,59,59],[1949,4,24,1,59,59],
+          '1948092608:00:00','1948092601:00:00','1949042408:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,9,0,0],[1949,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1949,9,25,7,59,59],[1949,9,25,1,59,59],
+          '1949042409:00:00','1949042403:00:00','1949092507:59:59','1949092501:59:59' ],
+        [ [1949,9,25,8,0,0],[1949,9,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1950,4,30,8,59,59],[1950,4,30,1,59,59],
+          '1949092508:00:00','1949092501:00:00','1950043008:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,9,0,0],[1950,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1950,9,24,7,59,59],[1950,9,24,1,59,59],
+          '1950043009:00:00','1950043003:00:00','1950092407:59:59','1950092401:59:59' ],
+        [ [1950,9,24,8,0,0],[1950,9,24,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1951,4,29,8,59,59],[1951,4,29,1,59,59],
+          '1950092408:00:00','1950092401:00:00','1951042908:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,9,0,0],[1951,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1951,9,30,7,59,59],[1951,9,30,1,59,59],
+          '1951042909:00:00','1951042903:00:00','1951093007:59:59','1951093001:59:59' ],
+        [ [1951,9,30,8,0,0],[1951,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1952,4,27,8,59,59],[1952,4,27,1,59,59],
+          '1951093008:00:00','1951093001:00:00','1952042708:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,9,0,0],[1952,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1952,9,28,7,59,59],[1952,9,28,1,59,59],
+          '1952042709:00:00','1952042703:00:00','1952092807:59:59','1952092801:59:59' ],
+        [ [1952,9,28,8,0,0],[1952,9,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1953,4,26,8,59,59],[1953,4,26,1,59,59],
+          '1952092808:00:00','1952092801:00:00','1953042608:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,9,0,0],[1953,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1953,9,27,7,59,59],[1953,9,27,1,59,59],
+          '1953042609:00:00','1953042603:00:00','1953092707:59:59','1953092701:59:59' ],
+        [ [1953,9,27,8,0,0],[1953,9,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1954,4,25,8,59,59],[1954,4,25,1,59,59],
+          '1953092708:00:00','1953092701:00:00','1954042508:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,9,0,0],[1954,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1954,9,26,7,59,59],[1954,9,26,1,59,59],
+          '1954042509:00:00','1954042503:00:00','1954092607:59:59','1954092601:59:59' ],
+        [ [1954,9,26,8,0,0],[1954,9,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1955,4,24,8,59,59],[1955,4,24,1,59,59],
+          '1954092608:00:00','1954092601:00:00','1955042408:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,9,0,0],[1955,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1955,9,25,7,59,59],[1955,9,25,1,59,59],
+          '1955042409:00:00','1955042403:00:00','1955092507:59:59','1955092501:59:59' ],
+        [ [1955,9,25,8,0,0],[1955,9,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1956,4,29,8,59,59],[1956,4,29,1,59,59],
+          '1955092508:00:00','1955092501:00:00','1956042908:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,9,0,0],[1956,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1956,9,30,7,59,59],[1956,9,30,1,59,59],
+          '1956042909:00:00','1956042903:00:00','1956093007:59:59','1956093001:59:59' ],
+        [ [1956,9,30,8,0,0],[1956,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1957,4,28,8,59,59],[1957,4,28,1,59,59],
+          '1956093008:00:00','1956093001:00:00','1957042808:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,9,0,0],[1957,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1957,9,29,7,59,59],[1957,9,29,1,59,59],
+          '1957042809:00:00','1957042803:00:00','1957092907:59:59','1957092901:59:59' ],
+        [ [1957,9,29,8,0,0],[1957,9,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1959,4,26,8,59,59],[1959,4,26,1,59,59],
+          '1957092908:00:00','1957092901:00:00','1959042608:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,9,0,0],[1959,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1959,10,25,7,59,59],[1959,10,25,1,59,59],
+          '1959042609:00:00','1959042603:00:00','1959102507:59:59','1959102501:59:59' ],
+        [ [1959,10,25,8,0,0],[1959,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1960,4,24,8,59,59],[1960,4,24,1,59,59],
+          '1959102508:00:00','1959102501:00:00','1960042408:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,9,0,0],[1960,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1960042409:00:00','1960042403:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amreso00.pm b/lib/Date/Manip/TZ/amreso00.pm
new file mode 100644
index 0000000..9635e10
--- /dev/null
+++ b/lib/Date/Manip/TZ/amreso00.pm
@@ -0,0 +1,874 @@
+package #
+Date::Manip::TZ::amreso00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1947,8,30,23,59,59],[1947,8,30,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1947083023:59:59','1947083023:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,8,31,0,0,0],[1947,8,30,18,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1965,4,25,5,59,59],[1965,4,24,23,59,59],
+          '1947083100:00:00','1947083018:00:00','1965042505:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,6,0,0],[1965,4,25,2,0,0],'-04:00:00',[-4,0,0],
+          'CDDT',1,[1965,10,31,5,59,59],[1965,10,31,1,59,59],
+          '1965042506:00:00','1965042502:00:00','1965103105:59:59','1965103101:59:59' ],
+        [ [1965,10,31,6,0,0],[1965,10,31,0,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1965103106:00:00','1965103100:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,6,59,59],[1980,10,26,1,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102606:59:59','1980102601:59:59' ],
+        [ [1980,10,26,7,0,0],[1980,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102607:00:00','1980102601:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,6,59,59],[1981,10,25,1,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102506:59:59','1981102501:59:59' ],
+        [ [1981,10,25,7,0,0],[1981,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102507:00:00','1981102501:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,6,59,59],[1982,10,31,1,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103106:59:59','1982103101:59:59' ],
+        [ [1982,10,31,7,0,0],[1982,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103107:00:00','1982103101:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,6,59,59],[1983,10,30,1,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103006:59:59','1983103001:59:59' ],
+        [ [1983,10,30,7,0,0],[1983,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103007:00:00','1983103001:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,6,59,59],[1984,10,28,1,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102806:59:59','1984102801:59:59' ],
+        [ [1984,10,28,7,0,0],[1984,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102807:00:00','1984102801:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,6,59,59],[1985,10,27,1,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102706:59:59','1985102701:59:59' ],
+        [ [1985,10,27,7,0,0],[1985,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102707:00:00','1985102701:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,6,59,59],[1986,10,26,1,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102606:59:59','1986102601:59:59' ],
+        [ [1986,10,26,7,0,0],[1986,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102607:00:00','1986102601:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,6,59,59],[1987,10,25,1,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102506:59:59','1987102501:59:59' ],
+        [ [1987,10,25,7,0,0],[1987,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102507:00:00','1987102501:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,6,59,59],[1988,10,30,1,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103006:59:59','1988103001:59:59' ],
+        [ [1988,10,30,7,0,0],[1988,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103007:00:00','1988103001:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,6,59,59],[1989,10,29,1,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102906:59:59','1989102901:59:59' ],
+        [ [1989,10,29,7,0,0],[1989,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102907:00:00','1989102901:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,6,59,59],[1990,10,28,1,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102806:59:59','1990102801:59:59' ],
+        [ [1990,10,28,7,0,0],[1990,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102807:00:00','1990102801:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,6,59,59],[1991,10,27,1,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102706:59:59','1991102701:59:59' ],
+        [ [1991,10,27,7,0,0],[1991,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102707:00:00','1991102701:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,6,59,59],[1992,10,25,1,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102506:59:59','1992102501:59:59' ],
+        [ [1992,10,25,7,0,0],[1992,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102507:00:00','1992102501:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,6,59,59],[1993,10,31,1,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103106:59:59','1993103101:59:59' ],
+        [ [1993,10,31,7,0,0],[1993,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103107:00:00','1993103101:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,6,59,59],[1994,10,30,1,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103006:59:59','1994103001:59:59' ],
+        [ [1994,10,30,7,0,0],[1994,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103007:00:00','1994103001:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,6,59,59],[1995,10,29,1,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102906:59:59','1995102901:59:59' ],
+        [ [1995,10,29,7,0,0],[1995,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102907:00:00','1995102901:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,6,59,59],[1996,10,27,1,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102706:59:59','1996102701:59:59' ],
+        [ [1996,10,27,7,0,0],[1996,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102707:00:00','1996102701:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,6,59,59],[1997,10,26,1,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102606:59:59','1997102601:59:59' ],
+        [ [1997,10,26,7,0,0],[1997,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102607:00:00','1997102601:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,6,59,59],[1998,10,25,1,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102506:59:59','1998102501:59:59' ],
+        [ [1998,10,25,7,0,0],[1998,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102507:00:00','1998102501:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,6,59,59],[1999,10,31,1,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103106:59:59','1999103101:59:59' ],
+        [ [1999,10,31,7,0,0],[1999,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103107:00:00','1999103101:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,6,59,59],[2000,10,29,1,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102906:59:59','2000102901:59:59' ],
+        [ [2000,10,29,7,0,0],[2000,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,7,59,59],[2001,4,1,2,59,59],
+          '2000102907:00:00','2000102902:00:00','2001040107:59:59','2001040102:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,6,59,59],[2001,10,28,1,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102806:59:59','2001102801:59:59' ],
+        [ [2001,10,28,7,0,0],[2001,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102807:00:00','2001102801:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,6,59,59],[2002,10,27,1,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102706:59:59','2002102701:59:59' ],
+        [ [2002,10,27,7,0,0],[2002,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102707:00:00','2002102701:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,6,59,59],[2003,10,26,1,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102606:59:59','2003102601:59:59' ],
+        [ [2003,10,26,7,0,0],[2003,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102607:00:00','2003102601:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,6,59,59],[2004,10,31,1,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103106:59:59','2004103101:59:59' ],
+        [ [2004,10,31,7,0,0],[2004,10,31,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103107:00:00','2004103101:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,6,59,59],[2005,10,30,1,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103006:59:59','2005103001:59:59' ],
+        [ [2005,10,30,7,0,0],[2005,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103007:00:00','2005103001:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,7,59,59],[2007,3,11,2,59,59],
+          '2006102907:00:00','2006102902:00:00','2007031107:59:59','2007031102:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amrio_00.pm b/lib/Date/Manip/TZ/amrio_00.pm
new file mode 100644
index 0000000..a72257a
--- /dev/null
+++ b/lib/Date/Manip/TZ/amrio_00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::amrio_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,23,8],'-04:36:52',[-4,-36,-52],
+          'LMT',0,[1894,10,31,4,36,51],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:23:08','1894103104:36:51','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,36,52],[1894,10,31,0,20,4],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:36:52','1894103100:20:04','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030223:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,6,1,2,59,59],[2004,5,31,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004060102:59:59','2004053123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,6,1,3,0,0],[2004,5,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,6,20,3,59,59],[2004,6,19,23,59,59],
+          '2004060103:00:00','2004053123:00:00','2004062003:59:59','2004061923:59:59' ],
+        [ [2004,6,20,4,0,0],[2004,6,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004062004:00:00','2004062001:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amrio_01.pm b/lib/Date/Manip/TZ/amrio_01.pm
new file mode 100644
index 0000000..f6e75db
--- /dev/null
+++ b/lib/Date/Manip/TZ/amrio_01.pm
@@ -0,0 +1,199 @@
+package #
+Date::Manip::TZ::amrio_01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,28,48],'-04:31:12',[-4,-31,-12],
+          'LMT',0,[1914,1,1,4,31,11],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010119:28:48','1914010104:31:11','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,4,31,12],[1913,12,31,23,31,12],'-05:00:00',[-5,0,0],
+          '-05',0,[1931,10,3,15,59,59],[1931,10,3,10,59,59],
+          '1914010104:31:12','1913123123:31:12','1931100315:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,16,0,0],[1931,10,3,12,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1932,4,1,3,59,59],[1932,3,31,23,59,59],
+          '1931100316:00:00','1931100312:00:00','1932040103:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,4,0,0],[1932,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1932,10,3,4,59,59],[1932,10,2,23,59,59],
+          '1932040104:00:00','1932033123:00:00','1932100304:59:59','1932100223:59:59' ],
+        [ [1932,10,3,5,0,0],[1932,10,3,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1933,4,1,3,59,59],[1933,3,31,23,59,59],
+          '1932100305:00:00','1932100301:00:00','1933040103:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,4,0,0],[1933,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1949,12,1,4,59,59],[1949,11,30,23,59,59],
+          '1933040104:00:00','1933033123:00:00','1949120104:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,5,0,0],[1949,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1950,4,16,4,59,59],[1950,4,16,0,59,59],
+          '1949120105:00:00','1949120101:00:00','1950041604:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,5,0,0],[1950,4,16,0,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1950,12,1,4,59,59],[1950,11,30,23,59,59],
+          '1950041605:00:00','1950041600:00:00','1950120104:59:59','1950113023:59:59' ],
+        [ [1950,12,1,5,0,0],[1950,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1951,4,1,3,59,59],[1951,3,31,23,59,59],
+          '1950120105:00:00','1950120101:00:00','1951040103:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,4,0,0],[1951,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1951,12,1,4,59,59],[1951,11,30,23,59,59],
+          '1951040104:00:00','1951033123:00:00','1951120104:59:59','1951113023:59:59' ],
+        [ [1951,12,1,5,0,0],[1951,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1952,4,1,3,59,59],[1952,3,31,23,59,59],
+          '1951120105:00:00','1951120101:00:00','1952040103:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,4,0,0],[1952,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1952,12,1,4,59,59],[1952,11,30,23,59,59],
+          '1952040104:00:00','1952033123:00:00','1952120104:59:59','1952113023:59:59' ],
+        [ [1952,12,1,5,0,0],[1952,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1953,3,1,3,59,59],[1953,2,28,23,59,59],
+          '1952120105:00:00','1952120101:00:00','1953030103:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,4,0,0],[1953,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1963,12,9,4,59,59],[1963,12,8,23,59,59],
+          '1953030104:00:00','1953022823:00:00','1963120904:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,5,0,0],[1963,12,9,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1964,3,1,3,59,59],[1964,2,29,23,59,59],
+          '1963120905:00:00','1963120901:00:00','1964030103:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,4,0,0],[1964,2,29,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1965,1,31,4,59,59],[1965,1,30,23,59,59],
+          '1964030104:00:00','1964022923:00:00','1965013104:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,5,0,0],[1965,1,31,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1965,3,31,3,59,59],[1965,3,30,23,59,59],
+          '1965013105:00:00','1965013101:00:00','1965033103:59:59','1965033023:59:59' ],
+        [ [1965,3,31,4,0,0],[1965,3,30,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1965,12,1,4,59,59],[1965,11,30,23,59,59],
+          '1965033104:00:00','1965033023:00:00','1965120104:59:59','1965113023:59:59' ],
+        [ [1965,12,1,5,0,0],[1965,12,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1966,3,1,3,59,59],[1966,2,28,23,59,59],
+          '1965120105:00:00','1965120101:00:00','1966030103:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,4,0,0],[1966,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1966,11,1,4,59,59],[1966,10,31,23,59,59],
+          '1966030104:00:00','1966022823:00:00','1966110104:59:59','1966103123:59:59' ],
+        [ [1966,11,1,5,0,0],[1966,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1967,3,1,3,59,59],[1967,2,28,23,59,59],
+          '1966110105:00:00','1966110101:00:00','1967030103:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,4,0,0],[1967,2,28,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1967,11,1,4,59,59],[1967,10,31,23,59,59],
+          '1967030104:00:00','1967022823:00:00','1967110104:59:59','1967103123:59:59' ],
+        [ [1967,11,1,5,0,0],[1967,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1968,3,1,3,59,59],[1968,2,29,23,59,59],
+          '1967110105:00:00','1967110101:00:00','1968030103:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,4,0,0],[1968,2,29,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1985,11,2,4,59,59],[1985,11,1,23,59,59],
+          '1968030104:00:00','1968022923:00:00','1985110204:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,5,0,0],[1985,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1986,3,15,3,59,59],[1986,3,14,23,59,59],
+          '1985110205:00:00','1985110201:00:00','1986031503:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,4,0,0],[1986,3,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1986,10,25,4,59,59],[1986,10,24,23,59,59],
+          '1986031504:00:00','1986031423:00:00','1986102504:59:59','1986102423:59:59' ],
+        [ [1986,10,25,5,0,0],[1986,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1987,2,14,3,59,59],[1987,2,13,23,59,59],
+          '1986102505:00:00','1986102501:00:00','1987021403:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,4,0,0],[1987,2,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1987,10,25,4,59,59],[1987,10,24,23,59,59],
+          '1987021404:00:00','1987021323:00:00','1987102504:59:59','1987102423:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1988,2,7,3,59,59],[1988,2,6,23,59,59],
+          '1987102505:00:00','1987102501:00:00','1988020703:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,4,0,0],[1988,2,6,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[2008,6,24,4,59,59],[2008,6,23,23,59,59],
+          '1988020704:00:00','1988020623:00:00','2008062404:59:59','2008062323:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,6,24,5,0,0],[2008,6,24,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,11,10,3,59,59],[2013,11,9,23,59,59],
+          '2008062405:00:00','2008062401:00:00','2013111003:59:59','2013110923:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,11,10,4,0,0],[2013,11,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '2013111004:00:00','2013110923:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsalt00.pm b/lib/Date/Manip/TZ/amsalt00.pm
new file mode 100644
index 0000000..71bd93e
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsalt00.pm
@@ -0,0 +1,322 @@
+package #
+Date::Manip::TZ::amsalt00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,38,20],'-04:21:40',[-4,-21,-40],
+          'LMT',0,[1894,10,31,4,21,39],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:38:20','1894103104:21:39','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,21,40],[1894,10,31,0,4,52],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:21:40','1894103100:04:52','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030222:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102004:00:00','1991102002:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsan_00.pm b/lib/Date/Manip/TZ/amsan_00.pm
new file mode 100644
index 0000000..e0e0426
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsan_00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::amsan_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,25,56],'-04:34:04',[-4,-34,-4],
+          'LMT',0,[1894,10,31,4,34,3],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:25:56','1894103104:34:03','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,34,4],[1894,10,31,0,17,16],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:34:04','1894103100:17:16','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,1,1,59,59],[1991,2,28,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030101:59:59','1991022823:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,1,2,0,0],[1991,2,28,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,5,7,3,59,59],[1991,5,6,23,59,59],
+          '1991030102:00:00','1991022822:00:00','1991050703:59:59','1991050623:59:59' ],
+        [ [1991,5,7,4,0,0],[1991,5,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991050704:00:00','1991050701:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,5,31,2,59,59],[2004,5,30,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004053102:59:59','2004053023:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,5,31,3,0,0],[2004,5,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,7,25,3,59,59],[2004,7,24,23,59,59],
+          '2004053103:00:00','2004053023:00:00','2004072503:59:59','2004072423:59:59' ],
+        [ [2004,7,25,4,0,0],[2004,7,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004072504:00:00','2004072501:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsan_01.pm b/lib/Date/Manip/TZ/amsan_01.pm
new file mode 100644
index 0000000..bd2d1ab
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsan_01.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::amsan_01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,34,36],'-04:25:24',[-4,-25,-24],
+          'LMT',0,[1894,10,31,4,25,23],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:34:36','1894103104:25:23','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,25,24],[1894,10,31,0,8,36],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:25:24','1894103100:08:36','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,14,1,59,59],[1990,3,13,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990031401:59:59','1990031323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,14,2,0,0],[1990,3,13,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,10,15,3,59,59],[1990,10,14,23,59,59],
+          '1990031402:00:00','1990031322:00:00','1990101503:59:59','1990101423:59:59' ],
+        [ [1990,10,15,4,0,0],[1990,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,1,2,59,59],[1991,2,28,23,59,59],
+          '1990101504:00:00','1990101501:00:00','1991030102:59:59','1991022823:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,1,3,0,0],[1991,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,6,1,3,59,59],[1991,5,31,23,59,59],
+          '1991030103:00:00','1991022823:00:00','1991060103:59:59','1991053123:59:59' ],
+        [ [1991,6,1,4,0,0],[1991,6,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1991060104:00:00','1991060101:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,5,31,2,59,59],[2004,5,30,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004053102:59:59','2004053023:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,5,31,3,0,0],[2004,5,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,7,25,3,59,59],[2004,7,24,23,59,59],
+          '2004053103:00:00','2004053023:00:00','2004072503:59:59','2004072423:59:59' ],
+        [ [2004,7,25,4,0,0],[2004,7,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004072504:00:00','2004072501:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,1,21,1,59,59],[2008,1,20,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008012101:59:59','2008012023:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,1,21,2,0,0],[2008,1,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,3,9,2,59,59],[2008,3,8,23,59,59],
+          '2008012102:00:00','2008012023:00:00','2008030902:59:59','2008030823:59:59' ],
+        [ [2008,3,9,3,0,0],[2008,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,12,3,59,59],[2008,10,11,23,59,59],
+          '2008030903:00:00','2008030823:00:00','2008101203:59:59','2008101123:59:59' ],
+        [ [2008,10,12,4,0,0],[2008,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,3,8,2,59,59],[2009,3,7,23,59,59],
+          '2008101204:00:00','2008101201:00:00','2009030802:59:59','2009030723:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,3,0,0],[2009,3,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,11,3,59,59],[2009,10,10,23,59,59],
+          '2009030803:00:00','2009030723:00:00','2009101103:59:59','2009101023:59:59' ],
+        [ [2009,10,11,4,0,0],[2009,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2009101104:00:00','2009101101:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsant00.pm b/lib/Date/Manip/TZ/amsant00.pm
new file mode 100644
index 0000000..ea258c1
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsant00.pm
@@ -0,0 +1,193 @@
+package #
+Date::Manip::TZ::amsant00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,21,12],'-03:38:48',[-3,-38,-48],
+          'LMT',0,[1914,1,1,3,38,47],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:21:12','1914010103:38:47','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,38,48],[1913,12,31,23,38,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,3,14,59,59],[1931,10,3,10,59,59],
+          '1914010103:38:48','1913123123:38:48','1931100314:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,15,0,0],[1931,10,3,12,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,4,1,2,59,59],[1932,3,31,23,59,59],
+          '1931100315:00:00','1931100312:00:00','1932040102:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,3,0,0],[1932,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,10,3,3,59,59],[1932,10,2,23,59,59],
+          '1932040103:00:00','1932033123:00:00','1932100303:59:59','1932100223:59:59' ],
+        [ [1932,10,3,4,0,0],[1932,10,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,4,1,2,59,59],[1933,3,31,23,59,59],
+          '1932100304:00:00','1932100301:00:00','1933040102:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,3,0,0],[1933,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1949,12,1,3,59,59],[1949,11,30,23,59,59],
+          '1933040103:00:00','1933033123:00:00','1949120103:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,4,0,0],[1949,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1950,4,16,3,59,59],[1950,4,16,0,59,59],
+          '1949120104:00:00','1949120101:00:00','1950041603:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,4,0,0],[1950,4,16,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1950,12,1,3,59,59],[1950,11,30,23,59,59],
+          '1950041604:00:00','1950041600:00:00','1950120103:59:59','1950113023:59:59' ],
+        [ [1950,12,1,4,0,0],[1950,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1951,4,1,2,59,59],[1951,3,31,23,59,59],
+          '1950120104:00:00','1950120101:00:00','1951040102:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1951,12,1,3,59,59],[1951,11,30,23,59,59],
+          '1951040103:00:00','1951033123:00:00','1951120103:59:59','1951113023:59:59' ],
+        [ [1951,12,1,4,0,0],[1951,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1952,4,1,2,59,59],[1952,3,31,23,59,59],
+          '1951120104:00:00','1951120101:00:00','1952040102:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,3,0,0],[1952,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1952,12,1,3,59,59],[1952,11,30,23,59,59],
+          '1952040103:00:00','1952033123:00:00','1952120103:59:59','1952113023:59:59' ],
+        [ [1952,12,1,4,0,0],[1952,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1953,3,1,2,59,59],[1953,2,28,23,59,59],
+          '1952120104:00:00','1952120101:00:00','1953030102:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,3,0,0],[1953,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,9,3,59,59],[1963,12,8,23,59,59],
+          '1953030103:00:00','1953022823:00:00','1963120903:59:59','1963120823:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,9,4,0,0],[1963,12,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963120904:00:00','1963120901:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,1,31,3,59,59],[1965,1,30,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1965013103:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,4,0,0],[1965,1,31,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,31,2,59,59],[1965,3,30,23,59,59],
+          '1965013104:00:00','1965013101:00:00','1965033102:59:59','1965033023:59:59' ],
+        [ [1965,3,31,3,0,0],[1965,3,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,12,1,3,59,59],[1965,11,30,23,59,59],
+          '1965033103:00:00','1965033023:00:00','1965120103:59:59','1965113023:59:59' ],
+        [ [1965,12,1,4,0,0],[1965,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965120104:00:00','1965120101:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,11,1,3,59,59],[1966,10,31,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966110103:59:59','1966103123:59:59' ],
+        [ [1966,11,1,4,0,0],[1966,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,3,1,2,59,59],[1967,2,28,23,59,59],
+          '1966110104:00:00','1966110101:00:00','1967030102:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,3,0,0],[1967,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,11,1,3,59,59],[1967,10,31,23,59,59],
+          '1967030103:00:00','1967022823:00:00','1967110103:59:59','1967103123:59:59' ],
+        [ [1967,11,1,4,0,0],[1967,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,3,1,2,59,59],[1968,2,29,23,59,59],
+          '1967110104:00:00','1967110101:00:00','1968030102:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,3,0,0],[1968,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,11,2,3,59,59],[1985,11,1,23,59,59],
+          '1968030103:00:00','1968022923:00:00','1985110203:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,4,0,0],[1985,11,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,15,2,59,59],[1986,3,14,23,59,59],
+          '1985110204:00:00','1985110201:00:00','1986031502:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,3,0,0],[1986,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,25,3,59,59],[1986,10,24,23,59,59],
+          '1986031503:00:00','1986031423:00:00','1986102503:59:59','1986102423:59:59' ],
+        [ [1986,10,25,4,0,0],[1986,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,2,14,2,59,59],[1987,2,13,23,59,59],
+          '1986102504:00:00','1986102501:00:00','1987021402:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,3,0,0],[1987,2,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,25,3,59,59],[1987,10,24,23,59,59],
+          '1987021403:00:00','1987021323:00:00','1987102503:59:59','1987102423:59:59' ],
+        [ [1987,10,25,4,0,0],[1987,10,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,2,7,2,59,59],[1988,2,6,23,59,59],
+          '1987102504:00:00','1987102501:00:00','1988020702:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,3,0,0],[1988,2,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,6,24,3,59,59],[2008,6,23,23,59,59],
+          '1988020703:00:00','1988020623:00:00','2008062403:59:59','2008062323:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,6,24,4,0,0],[2008,6,24,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008062404:00:00','2008062401:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsant01.pm b/lib/Date/Manip/TZ/amsant01.pm
new file mode 100644
index 0000000..7476add
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsant01.pm
@@ -0,0 +1,1063 @@
+package #
+Date::Manip::TZ::amsant01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,17,14],'-04:42:46',[-4,-42,-46],
+          'LMT',0,[1890,1,1,4,42,45],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:17:14','1890010104:42:45','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,42,46],[1890,1,1,0,0,0],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1910,1,10,4,42,45],[1910,1,9,23,59,59],
+          '1890010104:42:46','1890010100:00:00','1910011004:42:45','1910010923:59:59' ],
+     ],
+   1910 =>
+     [
+        [ [1910,1,10,4,42,46],[1910,1,9,23,42,46],'-05:00:00',[-5,0,0],
+          '-05',0,[1916,7,1,4,59,59],[1916,6,30,23,59,59],
+          '1910011004:42:46','1910010923:42:46','1916070104:59:59','1916063023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,1,5,0,0],[1916,7,1,0,17,14],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1918,9,10,4,42,45],[1918,9,9,23,59,59],
+          '1916070105:00:00','1916070100:17:14','1918091004:42:45','1918090923:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,9,10,4,42,46],[1918,9,10,0,42,46],'-04:00:00',[-4,0,0],
+          '-04',0,[1919,7,1,3,59,59],[1919,6,30,23,59,59],
+          '1918091004:42:46','1918091000:42:46','1919070103:59:59','1919063023:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,4,0,0],[1919,6,30,23,17,14],'-04:42:46',[-4,-42,-46],
+          'SMT',0,[1927,9,1,4,42,45],[1927,8,31,23,59,59],
+          '1919070104:00:00','1919063023:17:14','1927090104:42:45','1927083123:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,9,1,4,42,46],[1927,9,1,0,42,46],'-04:00:00',[-4,0,0],
+          '-04',1,[1928,4,1,3,59,59],[1928,3,31,23,59,59],
+          '1927090104:42:46','1927090100:42:46','1928040103:59:59','1928033123:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,1,4,0,0],[1928,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1928,9,1,4,59,59],[1928,8,31,23,59,59],
+          '1928040104:00:00','1928033123:00:00','1928090104:59:59','1928083123:59:59' ],
+        [ [1928,9,1,5,0,0],[1928,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1929,4,1,3,59,59],[1929,3,31,23,59,59],
+          '1928090105:00:00','1928090101:00:00','1929040103:59:59','1929033123:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,1,4,0,0],[1929,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1929,9,1,4,59,59],[1929,8,31,23,59,59],
+          '1929040104:00:00','1929033123:00:00','1929090104:59:59','1929083123:59:59' ],
+        [ [1929,9,1,5,0,0],[1929,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1930,4,1,3,59,59],[1930,3,31,23,59,59],
+          '1929090105:00:00','1929090101:00:00','1930040103:59:59','1930033123:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,1,4,0,0],[1930,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1930,9,1,4,59,59],[1930,8,31,23,59,59],
+          '1930040104:00:00','1930033123:00:00','1930090104:59:59','1930083123:59:59' ],
+        [ [1930,9,1,5,0,0],[1930,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1931,4,1,3,59,59],[1931,3,31,23,59,59],
+          '1930090105:00:00','1930090101:00:00','1931040103:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,4,0,0],[1931,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1931,9,1,4,59,59],[1931,8,31,23,59,59],
+          '1931040104:00:00','1931033123:00:00','1931090104:59:59','1931083123:59:59' ],
+        [ [1931,9,1,5,0,0],[1931,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',1,[1932,4,1,3,59,59],[1932,3,31,23,59,59],
+          '1931090105:00:00','1931090101:00:00','1932040103:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,4,0,0],[1932,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1932,9,1,4,59,59],[1932,8,31,23,59,59],
+          '1932040104:00:00','1932033123:00:00','1932090104:59:59','1932083123:59:59' ],
+        [ [1932,9,1,5,0,0],[1932,9,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1942,6,1,3,59,59],[1942,5,31,23,59,59],
+          '1932090105:00:00','1932090101:00:00','1942060103:59:59','1942053123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,6,1,4,0,0],[1942,5,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1942,8,1,4,59,59],[1942,7,31,23,59,59],
+          '1942060104:00:00','1942053123:00:00','1942080104:59:59','1942073123:59:59' ],
+        [ [1942,8,1,5,0,0],[1942,8,1,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,7,15,3,59,59],[1946,7,14,23,59,59],
+          '1942080105:00:00','1942080101:00:00','1946071503:59:59','1946071423:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,7,15,4,0,0],[1946,7,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,9,1,2,59,59],[1946,8,31,23,59,59],
+          '1946071504:00:00','1946071501:00:00','1946090102:59:59','1946083123:59:59' ],
+        [ [1946,9,1,3,0,0],[1946,8,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1947,4,1,3,59,59],[1947,3,31,23,59,59],
+          '1946090103:00:00','1946083123:00:00','1947040103:59:59','1947033123:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,1,4,0,0],[1947,3,31,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',0,[1947,5,22,3,59,59],[1947,5,21,22,59,59],
+          '1947040104:00:00','1947033123:00:00','1947052203:59:59','1947052122:59:59' ],
+        [ [1947,5,22,4,0,0],[1947,5,22,0,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,11,3,3,59,59],[1968,11,2,23,59,59],
+          '1947052204:00:00','1947052200:00:00','1968110303:59:59','1968110223:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,11,3,4,0,0],[1968,11,3,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,3,30,2,59,59],[1969,3,29,23,59,59],
+          '1968110304:00:00','1968110301:00:00','1969033002:59:59','1969032923:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,3,30,3,0,0],[1969,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,11,23,3,59,59],[1969,11,22,23,59,59],
+          '1969033003:00:00','1969032923:00:00','1969112303:59:59','1969112223:59:59' ],
+        [ [1969,11,23,4,0,0],[1969,11,23,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1970,3,29,2,59,59],[1970,3,28,23,59,59],
+          '1969112304:00:00','1969112301:00:00','1970032902:59:59','1970032823:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,3,29,3,0,0],[1970,3,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1970,10,11,3,59,59],[1970,10,10,23,59,59],
+          '1970032903:00:00','1970032823:00:00','1970101103:59:59','1970101023:59:59' ],
+        [ [1970,10,11,4,0,0],[1970,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1971,3,14,2,59,59],[1971,3,13,23,59,59],
+          '1970101104:00:00','1970101101:00:00','1971031402:59:59','1971031323:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,14,3,0,0],[1971,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1971,10,10,3,59,59],[1971,10,9,23,59,59],
+          '1971031403:00:00','1971031323:00:00','1971101003:59:59','1971100923:59:59' ],
+        [ [1971,10,10,4,0,0],[1971,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1972,3,12,2,59,59],[1972,3,11,23,59,59],
+          '1971101004:00:00','1971101001:00:00','1972031202:59:59','1972031123:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,3,12,3,0,0],[1972,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1972,10,15,3,59,59],[1972,10,14,23,59,59],
+          '1972031203:00:00','1972031123:00:00','1972101503:59:59','1972101423:59:59' ],
+        [ [1972,10,15,4,0,0],[1972,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1973,3,11,2,59,59],[1973,3,10,23,59,59],
+          '1972101504:00:00','1972101501:00:00','1973031102:59:59','1973031023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,11,3,0,0],[1973,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1973,9,30,3,59,59],[1973,9,29,23,59,59],
+          '1973031103:00:00','1973031023:00:00','1973093003:59:59','1973092923:59:59' ],
+        [ [1973,9,30,4,0,0],[1973,9,30,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1974,3,10,2,59,59],[1974,3,9,23,59,59],
+          '1973093004:00:00','1973093001:00:00','1974031002:59:59','1974030923:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,10,3,0,0],[1974,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1974,10,13,3,59,59],[1974,10,12,23,59,59],
+          '1974031003:00:00','1974030923:00:00','1974101303:59:59','1974101223:59:59' ],
+        [ [1974,10,13,4,0,0],[1974,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1975,3,9,2,59,59],[1975,3,8,23,59,59],
+          '1974101304:00:00','1974101301:00:00','1975030902:59:59','1975030823:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,9,3,0,0],[1975,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1975,10,12,3,59,59],[1975,10,11,23,59,59],
+          '1975030903:00:00','1975030823:00:00','1975101203:59:59','1975101123:59:59' ],
+        [ [1975,10,12,4,0,0],[1975,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1976,3,14,2,59,59],[1976,3,13,23,59,59],
+          '1975101204:00:00','1975101201:00:00','1976031402:59:59','1976031323:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,14,3,0,0],[1976,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1976,10,10,3,59,59],[1976,10,9,23,59,59],
+          '1976031403:00:00','1976031323:00:00','1976101003:59:59','1976100923:59:59' ],
+        [ [1976,10,10,4,0,0],[1976,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1977,3,13,2,59,59],[1977,3,12,23,59,59],
+          '1976101004:00:00','1976101001:00:00','1977031302:59:59','1977031223:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,13,3,0,0],[1977,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1977,10,9,3,59,59],[1977,10,8,23,59,59],
+          '1977031303:00:00','1977031223:00:00','1977100903:59:59','1977100823:59:59' ],
+        [ [1977,10,9,4,0,0],[1977,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1978,3,12,2,59,59],[1978,3,11,23,59,59],
+          '1977100904:00:00','1977100901:00:00','1978031202:59:59','1978031123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,12,3,0,0],[1978,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1978,10,15,3,59,59],[1978,10,14,23,59,59],
+          '1978031203:00:00','1978031123:00:00','1978101503:59:59','1978101423:59:59' ],
+        [ [1978,10,15,4,0,0],[1978,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1979,3,11,2,59,59],[1979,3,10,23,59,59],
+          '1978101504:00:00','1978101501:00:00','1979031102:59:59','1979031023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,11,3,0,0],[1979,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1979,10,14,3,59,59],[1979,10,13,23,59,59],
+          '1979031103:00:00','1979031023:00:00','1979101403:59:59','1979101323:59:59' ],
+        [ [1979,10,14,4,0,0],[1979,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1980,3,9,2,59,59],[1980,3,8,23,59,59],
+          '1979101404:00:00','1979101401:00:00','1980030902:59:59','1980030823:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,9,3,0,0],[1980,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1980,10,12,3,59,59],[1980,10,11,23,59,59],
+          '1980030903:00:00','1980030823:00:00','1980101203:59:59','1980101123:59:59' ],
+        [ [1980,10,12,4,0,0],[1980,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1981,3,15,2,59,59],[1981,3,14,23,59,59],
+          '1980101204:00:00','1980101201:00:00','1981031502:59:59','1981031423:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,15,3,0,0],[1981,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1981,10,11,3,59,59],[1981,10,10,23,59,59],
+          '1981031503:00:00','1981031423:00:00','1981101103:59:59','1981101023:59:59' ],
+        [ [1981,10,11,4,0,0],[1981,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1982,3,14,2,59,59],[1982,3,13,23,59,59],
+          '1981101104:00:00','1981101101:00:00','1982031402:59:59','1982031323:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,14,3,0,0],[1982,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1982,10,10,3,59,59],[1982,10,9,23,59,59],
+          '1982031403:00:00','1982031323:00:00','1982101003:59:59','1982100923:59:59' ],
+        [ [1982,10,10,4,0,0],[1982,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1983,3,13,2,59,59],[1983,3,12,23,59,59],
+          '1982101004:00:00','1982101001:00:00','1983031302:59:59','1983031223:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,13,3,0,0],[1983,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1983,10,9,3,59,59],[1983,10,8,23,59,59],
+          '1983031303:00:00','1983031223:00:00','1983100903:59:59','1983100823:59:59' ],
+        [ [1983,10,9,4,0,0],[1983,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1984,3,11,2,59,59],[1984,3,10,23,59,59],
+          '1983100904:00:00','1983100901:00:00','1984031102:59:59','1984031023:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,11,3,0,0],[1984,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1984,10,14,3,59,59],[1984,10,13,23,59,59],
+          '1984031103:00:00','1984031023:00:00','1984101403:59:59','1984101323:59:59' ],
+        [ [1984,10,14,4,0,0],[1984,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1985,3,10,2,59,59],[1985,3,9,23,59,59],
+          '1984101404:00:00','1984101401:00:00','1985031002:59:59','1985030923:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,10,3,0,0],[1985,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,10,13,3,59,59],[1985,10,12,23,59,59],
+          '1985031003:00:00','1985030923:00:00','1985101303:59:59','1985101223:59:59' ],
+        [ [1985,10,13,4,0,0],[1985,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,9,2,59,59],[1986,3,8,23,59,59],
+          '1985101304:00:00','1985101301:00:00','1986030902:59:59','1986030823:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,9,3,0,0],[1986,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,12,3,59,59],[1986,10,11,23,59,59],
+          '1986030903:00:00','1986030823:00:00','1986101203:59:59','1986101123:59:59' ],
+        [ [1986,10,12,4,0,0],[1986,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,4,12,2,59,59],[1987,4,11,23,59,59],
+          '1986101204:00:00','1986101201:00:00','1987041202:59:59','1987041123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,12,3,0,0],[1987,4,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,11,3,59,59],[1987,10,10,23,59,59],
+          '1987041203:00:00','1987041123:00:00','1987101103:59:59','1987101023:59:59' ],
+        [ [1987,10,11,4,0,0],[1987,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,3,13,2,59,59],[1988,3,12,23,59,59],
+          '1987101104:00:00','1987101101:00:00','1988031302:59:59','1988031223:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,13,3,0,0],[1988,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,9,3,59,59],[1988,10,8,23,59,59],
+          '1988031303:00:00','1988031223:00:00','1988100903:59:59','1988100823:59:59' ],
+        [ [1988,10,9,4,0,0],[1988,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,3,12,2,59,59],[1989,3,11,23,59,59],
+          '1988100904:00:00','1988100901:00:00','1989031202:59:59','1989031123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,12,3,0,0],[1989,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,15,3,59,59],[1989,10,14,23,59,59],
+          '1989031203:00:00','1989031123:00:00','1989101503:59:59','1989101423:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,3,11,2,59,59],[1990,3,10,23,59,59],
+          '1989101504:00:00','1989101501:00:00','1990031102:59:59','1990031023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,11,3,0,0],[1990,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,9,16,3,59,59],[1990,9,15,23,59,59],
+          '1990031103:00:00','1990031023:00:00','1990091603:59:59','1990091523:59:59' ],
+        [ [1990,9,16,4,0,0],[1990,9,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,10,2,59,59],[1991,3,9,23,59,59],
+          '1990091604:00:00','1990091601:00:00','1991031002:59:59','1991030923:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,10,3,0,0],[1991,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,13,3,59,59],[1991,10,12,23,59,59],
+          '1991031003:00:00','1991030923:00:00','1991101303:59:59','1991101223:59:59' ],
+        [ [1991,10,13,4,0,0],[1991,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,3,15,2,59,59],[1992,3,14,23,59,59],
+          '1991101304:00:00','1991101301:00:00','1992031502:59:59','1992031423:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,15,3,0,0],[1992,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,11,3,59,59],[1992,10,10,23,59,59],
+          '1992031503:00:00','1992031423:00:00','1992101103:59:59','1992101023:59:59' ],
+        [ [1992,10,11,4,0,0],[1992,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,3,14,2,59,59],[1993,3,13,23,59,59],
+          '1992101104:00:00','1992101101:00:00','1993031402:59:59','1993031323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,14,3,0,0],[1993,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,10,3,59,59],[1993,10,9,23,59,59],
+          '1993031403:00:00','1993031323:00:00','1993101003:59:59','1993100923:59:59' ],
+        [ [1993,10,10,4,0,0],[1993,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,3,13,2,59,59],[1994,3,12,23,59,59],
+          '1993101004:00:00','1993101001:00:00','1994031302:59:59','1994031223:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,13,3,0,0],[1994,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,9,3,59,59],[1994,10,8,23,59,59],
+          '1994031303:00:00','1994031223:00:00','1994100903:59:59','1994100823:59:59' ],
+        [ [1994,10,9,4,0,0],[1994,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,3,12,2,59,59],[1995,3,11,23,59,59],
+          '1994100904:00:00','1994100901:00:00','1995031202:59:59','1995031123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,12,3,0,0],[1995,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,15,3,59,59],[1995,10,14,23,59,59],
+          '1995031203:00:00','1995031123:00:00','1995101503:59:59','1995101423:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,3,10,2,59,59],[1996,3,9,23,59,59],
+          '1995101504:00:00','1995101501:00:00','1996031002:59:59','1996030923:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,10,3,0,0],[1996,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,13,3,59,59],[1996,10,12,23,59,59],
+          '1996031003:00:00','1996030923:00:00','1996101303:59:59','1996101223:59:59' ],
+        [ [1996,10,13,4,0,0],[1996,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,3,30,2,59,59],[1997,3,29,23,59,59],
+          '1996101304:00:00','1996101301:00:00','1997033002:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,3,0,0],[1997,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,12,3,59,59],[1997,10,11,23,59,59],
+          '1997033003:00:00','1997032923:00:00','1997101203:59:59','1997101123:59:59' ],
+        [ [1997,10,12,4,0,0],[1997,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,15,2,59,59],[1998,3,14,23,59,59],
+          '1997101204:00:00','1997101201:00:00','1998031502:59:59','1998031423:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,15,3,0,0],[1998,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,9,27,3,59,59],[1998,9,26,23,59,59],
+          '1998031503:00:00','1998031423:00:00','1998092703:59:59','1998092623:59:59' ],
+        [ [1998,9,27,4,0,0],[1998,9,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,4,4,2,59,59],[1999,4,3,23,59,59],
+          '1998092704:00:00','1998092701:00:00','1999040402:59:59','1999040323:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,3,0,0],[1999,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,10,3,59,59],[1999,10,9,23,59,59],
+          '1999040403:00:00','1999040323:00:00','1999101003:59:59','1999100923:59:59' ],
+        [ [1999,10,10,4,0,0],[1999,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,12,2,59,59],[2000,3,11,23,59,59],
+          '1999101004:00:00','1999101001:00:00','2000031202:59:59','2000031123:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,12,3,0,0],[2000,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,15,3,59,59],[2000,10,14,23,59,59],
+          '2000031203:00:00','2000031123:00:00','2000101503:59:59','2000101423:59:59' ],
+        [ [2000,10,15,4,0,0],[2000,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,3,11,2,59,59],[2001,3,10,23,59,59],
+          '2000101504:00:00','2000101501:00:00','2001031102:59:59','2001031023:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,11,3,0,0],[2001,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,14,3,59,59],[2001,10,13,23,59,59],
+          '2001031103:00:00','2001031023:00:00','2001101403:59:59','2001101323:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,3,10,2,59,59],[2002,3,9,23,59,59],
+          '2001101404:00:00','2001101401:00:00','2002031002:59:59','2002030923:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,10,3,0,0],[2002,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,10,13,3,59,59],[2002,10,12,23,59,59],
+          '2002031003:00:00','2002030923:00:00','2002101303:59:59','2002101223:59:59' ],
+        [ [2002,10,13,4,0,0],[2002,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,3,9,2,59,59],[2003,3,8,23,59,59],
+          '2002101304:00:00','2002101301:00:00','2003030902:59:59','2003030823:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,9,3,0,0],[2003,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,10,12,3,59,59],[2003,10,11,23,59,59],
+          '2003030903:00:00','2003030823:00:00','2003101203:59:59','2003101123:59:59' ],
+        [ [2003,10,12,4,0,0],[2003,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,3,14,2,59,59],[2004,3,13,23,59,59],
+          '2003101204:00:00','2003101201:00:00','2004031402:59:59','2004031323:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,14,3,0,0],[2004,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,10,10,3,59,59],[2004,10,9,23,59,59],
+          '2004031403:00:00','2004031323:00:00','2004101003:59:59','2004100923:59:59' ],
+        [ [2004,10,10,4,0,0],[2004,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,3,13,2,59,59],[2005,3,12,23,59,59],
+          '2004101004:00:00','2004101001:00:00','2005031302:59:59','2005031223:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,13,3,0,0],[2005,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,9,3,59,59],[2005,10,8,23,59,59],
+          '2005031303:00:00','2005031223:00:00','2005100903:59:59','2005100823:59:59' ],
+        [ [2005,10,9,4,0,0],[2005,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,3,12,2,59,59],[2006,3,11,23,59,59],
+          '2005100904:00:00','2005100901:00:00','2006031202:59:59','2006031123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,3,0,0],[2006,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,10,15,3,59,59],[2006,10,14,23,59,59],
+          '2006031203:00:00','2006031123:00:00','2006101503:59:59','2006101423:59:59' ],
+        [ [2006,10,15,4,0,0],[2006,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,3,11,2,59,59],[2007,3,10,23,59,59],
+          '2006101504:00:00','2006101501:00:00','2007031102:59:59','2007031023:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,0,0],[2007,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,14,3,59,59],[2007,10,13,23,59,59],
+          '2007031103:00:00','2007031023:00:00','2007101403:59:59','2007101323:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,3,30,2,59,59],[2008,3,29,23,59,59],
+          '2007101404:00:00','2007101401:00:00','2008033002:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,3,0,0],[2008,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,12,3,59,59],[2008,10,11,23,59,59],
+          '2008033003:00:00','2008032923:00:00','2008101203:59:59','2008101123:59:59' ],
+        [ [2008,10,12,4,0,0],[2008,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,3,15,2,59,59],[2009,3,14,23,59,59],
+          '2008101204:00:00','2008101201:00:00','2009031502:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,3,0,0],[2009,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,11,3,59,59],[2009,10,10,23,59,59],
+          '2009031503:00:00','2009031423:00:00','2009101103:59:59','2009101023:59:59' ],
+        [ [2009,10,11,4,0,0],[2009,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,4,4,2,59,59],[2010,4,3,23,59,59],
+          '2009101104:00:00','2009101101:00:00','2010040402:59:59','2010040323:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,3,0,0],[2010,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,10,3,59,59],[2010,10,9,23,59,59],
+          '2010040403:00:00','2010040323:00:00','2010101003:59:59','2010100923:59:59' ],
+        [ [2010,10,10,4,0,0],[2010,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,5,8,2,59,59],[2011,5,7,23,59,59],
+          '2010101004:00:00','2010101001:00:00','2011050802:59:59','2011050723:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,5,8,3,0,0],[2011,5,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,8,21,3,59,59],[2011,8,20,23,59,59],
+          '2011050803:00:00','2011050723:00:00','2011082103:59:59','2011082023:59:59' ],
+        [ [2011,8,21,4,0,0],[2011,8,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,4,29,2,59,59],[2012,4,28,23,59,59],
+          '2011082104:00:00','2011082101:00:00','2012042902:59:59','2012042823:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,3,0,0],[2012,4,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,9,2,3,59,59],[2012,9,1,23,59,59],
+          '2012042903:00:00','2012042823:00:00','2012090203:59:59','2012090123:59:59' ],
+        [ [2012,9,2,4,0,0],[2012,9,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,4,28,2,59,59],[2013,4,27,23,59,59],
+          '2012090204:00:00','2012090201:00:00','2013042802:59:59','2013042723:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,3,0,0],[2013,4,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,9,8,3,59,59],[2013,9,7,23,59,59],
+          '2013042803:00:00','2013042723:00:00','2013090803:59:59','2013090723:59:59' ],
+        [ [2013,9,8,4,0,0],[2013,9,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,4,27,2,59,59],[2014,4,26,23,59,59],
+          '2013090804:00:00','2013090801:00:00','2014042702:59:59','2014042623:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,27,3,0,0],[2014,4,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,9,7,3,59,59],[2014,9,6,23,59,59],
+          '2014042703:00:00','2014042623:00:00','2014090703:59:59','2014090623:59:59' ],
+        [ [2014,9,7,4,0,0],[2014,9,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,5,15,2,59,59],[2016,5,14,23,59,59],
+          '2014090704:00:00','2014090701:00:00','2016051502:59:59','2016051423:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,15,3,0,0],[2016,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,8,14,3,59,59],[2016,8,13,23,59,59],
+          '2016051503:00:00','2016051423:00:00','2016081403:59:59','2016081323:59:59' ],
+        [ [2016,8,14,4,0,0],[2016,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2017,5,14,2,59,59],[2017,5,13,23,59,59],
+          '2016081404:00:00','2016081401:00:00','2017051402:59:59','2017051323:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,5,14,3,0,0],[2017,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2017,8,13,3,59,59],[2017,8,12,23,59,59],
+          '2017051403:00:00','2017051323:00:00','2017081303:59:59','2017081223:59:59' ],
+        [ [2017,8,13,4,0,0],[2017,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2018,5,13,2,59,59],[2018,5,12,23,59,59],
+          '2017081304:00:00','2017081301:00:00','2018051302:59:59','2018051223:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,5,13,3,0,0],[2018,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2018,8,12,3,59,59],[2018,8,11,23,59,59],
+          '2018051303:00:00','2018051223:00:00','2018081203:59:59','2018081123:59:59' ],
+        [ [2018,8,12,4,0,0],[2018,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2019,5,12,2,59,59],[2019,5,11,23,59,59],
+          '2018081204:00:00','2018081201:00:00','2019051202:59:59','2019051123:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,5,12,3,0,0],[2019,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2019,8,11,3,59,59],[2019,8,10,23,59,59],
+          '2019051203:00:00','2019051123:00:00','2019081103:59:59','2019081023:59:59' ],
+        [ [2019,8,11,4,0,0],[2019,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2020,5,10,2,59,59],[2020,5,9,23,59,59],
+          '2019081104:00:00','2019081101:00:00','2020051002:59:59','2020050923:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,5,10,3,0,0],[2020,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2020,8,9,3,59,59],[2020,8,8,23,59,59],
+          '2020051003:00:00','2020050923:00:00','2020080903:59:59','2020080823:59:59' ],
+        [ [2020,8,9,4,0,0],[2020,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2021,5,9,2,59,59],[2021,5,8,23,59,59],
+          '2020080904:00:00','2020080901:00:00','2021050902:59:59','2021050823:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,5,9,3,0,0],[2021,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2021,8,15,3,59,59],[2021,8,14,23,59,59],
+          '2021050903:00:00','2021050823:00:00','2021081503:59:59','2021081423:59:59' ],
+        [ [2021,8,15,4,0,0],[2021,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2022,5,15,2,59,59],[2022,5,14,23,59,59],
+          '2021081504:00:00','2021081501:00:00','2022051502:59:59','2022051423:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,5,15,3,0,0],[2022,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2022,8,14,3,59,59],[2022,8,13,23,59,59],
+          '2022051503:00:00','2022051423:00:00','2022081403:59:59','2022081323:59:59' ],
+        [ [2022,8,14,4,0,0],[2022,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2023,5,14,2,59,59],[2023,5,13,23,59,59],
+          '2022081404:00:00','2022081401:00:00','2023051402:59:59','2023051323:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,5,14,3,0,0],[2023,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2023,8,13,3,59,59],[2023,8,12,23,59,59],
+          '2023051403:00:00','2023051323:00:00','2023081303:59:59','2023081223:59:59' ],
+        [ [2023,8,13,4,0,0],[2023,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2024,5,12,2,59,59],[2024,5,11,23,59,59],
+          '2023081304:00:00','2023081301:00:00','2024051202:59:59','2024051123:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,5,12,3,0,0],[2024,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2024,8,11,3,59,59],[2024,8,10,23,59,59],
+          '2024051203:00:00','2024051123:00:00','2024081103:59:59','2024081023:59:59' ],
+        [ [2024,8,11,4,0,0],[2024,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2025,5,11,2,59,59],[2025,5,10,23,59,59],
+          '2024081104:00:00','2024081101:00:00','2025051102:59:59','2025051023:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,5,11,3,0,0],[2025,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2025,8,10,3,59,59],[2025,8,9,23,59,59],
+          '2025051103:00:00','2025051023:00:00','2025081003:59:59','2025080923:59:59' ],
+        [ [2025,8,10,4,0,0],[2025,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2026,5,10,2,59,59],[2026,5,9,23,59,59],
+          '2025081004:00:00','2025081001:00:00','2026051002:59:59','2026050923:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,5,10,3,0,0],[2026,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2026,8,9,3,59,59],[2026,8,8,23,59,59],
+          '2026051003:00:00','2026050923:00:00','2026080903:59:59','2026080823:59:59' ],
+        [ [2026,8,9,4,0,0],[2026,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2027,5,9,2,59,59],[2027,5,8,23,59,59],
+          '2026080904:00:00','2026080901:00:00','2027050902:59:59','2027050823:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,5,9,3,0,0],[2027,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2027,8,15,3,59,59],[2027,8,14,23,59,59],
+          '2027050903:00:00','2027050823:00:00','2027081503:59:59','2027081423:59:59' ],
+        [ [2027,8,15,4,0,0],[2027,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2028,5,14,2,59,59],[2028,5,13,23,59,59],
+          '2027081504:00:00','2027081501:00:00','2028051402:59:59','2028051323:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,5,14,3,0,0],[2028,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2028,8,13,3,59,59],[2028,8,12,23,59,59],
+          '2028051403:00:00','2028051323:00:00','2028081303:59:59','2028081223:59:59' ],
+        [ [2028,8,13,4,0,0],[2028,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2029,5,13,2,59,59],[2029,5,12,23,59,59],
+          '2028081304:00:00','2028081301:00:00','2029051302:59:59','2029051223:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,5,13,3,0,0],[2029,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2029,8,12,3,59,59],[2029,8,11,23,59,59],
+          '2029051303:00:00','2029051223:00:00','2029081203:59:59','2029081123:59:59' ],
+        [ [2029,8,12,4,0,0],[2029,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2030,5,12,2,59,59],[2030,5,11,23,59,59],
+          '2029081204:00:00','2029081201:00:00','2030051202:59:59','2030051123:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,5,12,3,0,0],[2030,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2030,8,11,3,59,59],[2030,8,10,23,59,59],
+          '2030051203:00:00','2030051123:00:00','2030081103:59:59','2030081023:59:59' ],
+        [ [2030,8,11,4,0,0],[2030,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2031,5,11,2,59,59],[2031,5,10,23,59,59],
+          '2030081104:00:00','2030081101:00:00','2031051102:59:59','2031051023:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,5,11,3,0,0],[2031,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2031,8,10,3,59,59],[2031,8,9,23,59,59],
+          '2031051103:00:00','2031051023:00:00','2031081003:59:59','2031080923:59:59' ],
+        [ [2031,8,10,4,0,0],[2031,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2032,5,9,2,59,59],[2032,5,8,23,59,59],
+          '2031081004:00:00','2031081001:00:00','2032050902:59:59','2032050823:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,5,9,3,0,0],[2032,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2032,8,15,3,59,59],[2032,8,14,23,59,59],
+          '2032050903:00:00','2032050823:00:00','2032081503:59:59','2032081423:59:59' ],
+        [ [2032,8,15,4,0,0],[2032,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2033,5,15,2,59,59],[2033,5,14,23,59,59],
+          '2032081504:00:00','2032081501:00:00','2033051502:59:59','2033051423:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,5,15,3,0,0],[2033,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2033,8,14,3,59,59],[2033,8,13,23,59,59],
+          '2033051503:00:00','2033051423:00:00','2033081403:59:59','2033081323:59:59' ],
+        [ [2033,8,14,4,0,0],[2033,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2034,5,14,2,59,59],[2034,5,13,23,59,59],
+          '2033081404:00:00','2033081401:00:00','2034051402:59:59','2034051323:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,5,14,3,0,0],[2034,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2034,8,13,3,59,59],[2034,8,12,23,59,59],
+          '2034051403:00:00','2034051323:00:00','2034081303:59:59','2034081223:59:59' ],
+        [ [2034,8,13,4,0,0],[2034,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2035,5,13,2,59,59],[2035,5,12,23,59,59],
+          '2034081304:00:00','2034081301:00:00','2035051302:59:59','2035051223:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,5,13,3,0,0],[2035,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2035,8,12,3,59,59],[2035,8,11,23,59,59],
+          '2035051303:00:00','2035051223:00:00','2035081203:59:59','2035081123:59:59' ],
+        [ [2035,8,12,4,0,0],[2035,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2036,5,11,2,59,59],[2036,5,10,23,59,59],
+          '2035081204:00:00','2035081201:00:00','2036051102:59:59','2036051023:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,5,11,3,0,0],[2036,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2036,8,10,3,59,59],[2036,8,9,23,59,59],
+          '2036051103:00:00','2036051023:00:00','2036081003:59:59','2036080923:59:59' ],
+        [ [2036,8,10,4,0,0],[2036,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2037,5,10,2,59,59],[2037,5,9,23,59,59],
+          '2036081004:00:00','2036081001:00:00','2037051002:59:59','2037050923:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,5,10,3,0,0],[2037,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2037,8,9,3,59,59],[2037,8,8,23,59,59],
+          '2037051003:00:00','2037050923:00:00','2037080903:59:59','2037080823:59:59' ],
+        [ [2037,8,9,4,0,0],[2037,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2038,5,9,2,59,59],[2038,5,8,23,59,59],
+          '2037080904:00:00','2037080901:00:00','2038050902:59:59','2038050823:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,5,9,3,0,0],[2038,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2038,8,15,3,59,59],[2038,8,14,23,59,59],
+          '2038050903:00:00','2038050823:00:00','2038081503:59:59','2038081423:59:59' ],
+        [ [2038,8,15,4,0,0],[2038,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2039,5,15,2,59,59],[2039,5,14,23,59,59],
+          '2038081504:00:00','2038081501:00:00','2039051502:59:59','2039051423:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,5,15,3,0,0],[2039,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2039,8,14,3,59,59],[2039,8,13,23,59,59],
+          '2039051503:00:00','2039051423:00:00','2039081403:59:59','2039081323:59:59' ],
+        [ [2039,8,14,4,0,0],[2039,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2040,5,13,2,59,59],[2040,5,12,23,59,59],
+          '2039081404:00:00','2039081401:00:00','2040051302:59:59','2040051223:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,5,13,3,0,0],[2040,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2040,8,12,3,59,59],[2040,8,11,23,59,59],
+          '2040051303:00:00','2040051223:00:00','2040081203:59:59','2040081123:59:59' ],
+        [ [2040,8,12,4,0,0],[2040,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2041,5,12,2,59,59],[2041,5,11,23,59,59],
+          '2040081204:00:00','2040081201:00:00','2041051202:59:59','2041051123:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,5,12,3,0,0],[2041,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2041,8,11,3,59,59],[2041,8,10,23,59,59],
+          '2041051203:00:00','2041051123:00:00','2041081103:59:59','2041081023:59:59' ],
+        [ [2041,8,11,4,0,0],[2041,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2042,5,11,2,59,59],[2042,5,10,23,59,59],
+          '2041081104:00:00','2041081101:00:00','2042051102:59:59','2042051023:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,5,11,3,0,0],[2042,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2042,8,10,3,59,59],[2042,8,9,23,59,59],
+          '2042051103:00:00','2042051023:00:00','2042081003:59:59','2042080923:59:59' ],
+        [ [2042,8,10,4,0,0],[2042,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2043,5,10,2,59,59],[2043,5,9,23,59,59],
+          '2042081004:00:00','2042081001:00:00','2043051002:59:59','2043050923:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,5,10,3,0,0],[2043,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2043,8,9,3,59,59],[2043,8,8,23,59,59],
+          '2043051003:00:00','2043050923:00:00','2043080903:59:59','2043080823:59:59' ],
+        [ [2043,8,9,4,0,0],[2043,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2044,5,15,2,59,59],[2044,5,14,23,59,59],
+          '2043080904:00:00','2043080901:00:00','2044051502:59:59','2044051423:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,5,15,3,0,0],[2044,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2044,8,14,3,59,59],[2044,8,13,23,59,59],
+          '2044051503:00:00','2044051423:00:00','2044081403:59:59','2044081323:59:59' ],
+        [ [2044,8,14,4,0,0],[2044,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2045,5,14,2,59,59],[2045,5,13,23,59,59],
+          '2044081404:00:00','2044081401:00:00','2045051402:59:59','2045051323:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,5,14,3,0,0],[2045,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2045,8,13,3,59,59],[2045,8,12,23,59,59],
+          '2045051403:00:00','2045051323:00:00','2045081303:59:59','2045081223:59:59' ],
+        [ [2045,8,13,4,0,0],[2045,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2046,5,13,2,59,59],[2046,5,12,23,59,59],
+          '2045081304:00:00','2045081301:00:00','2046051302:59:59','2046051223:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,5,13,3,0,0],[2046,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2046,8,12,3,59,59],[2046,8,11,23,59,59],
+          '2046051303:00:00','2046051223:00:00','2046081203:59:59','2046081123:59:59' ],
+        [ [2046,8,12,4,0,0],[2046,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2047,5,12,2,59,59],[2047,5,11,23,59,59],
+          '2046081204:00:00','2046081201:00:00','2047051202:59:59','2047051123:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,5,12,3,0,0],[2047,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2047,8,11,3,59,59],[2047,8,10,23,59,59],
+          '2047051203:00:00','2047051123:00:00','2047081103:59:59','2047081023:59:59' ],
+        [ [2047,8,11,4,0,0],[2047,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2048,5,10,2,59,59],[2048,5,9,23,59,59],
+          '2047081104:00:00','2047081101:00:00','2048051002:59:59','2048050923:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,5,10,3,0,0],[2048,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2048,8,9,3,59,59],[2048,8,8,23,59,59],
+          '2048051003:00:00','2048050923:00:00','2048080903:59:59','2048080823:59:59' ],
+        [ [2048,8,9,4,0,0],[2048,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2049,5,9,2,59,59],[2049,5,8,23,59,59],
+          '2048080904:00:00','2048080901:00:00','2049050902:59:59','2049050823:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,5,9,3,0,0],[2049,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2049,8,15,3,59,59],[2049,8,14,23,59,59],
+          '2049050903:00:00','2049050823:00:00','2049081503:59:59','2049081423:59:59' ],
+        [ [2049,8,15,4,0,0],[2049,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2050,5,15,2,59,59],[2050,5,14,23,59,59],
+          '2049081504:00:00','2049081501:00:00','2050051502:59:59','2050051423:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,5,15,3,0,0],[2050,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2050,8,14,3,59,59],[2050,8,13,23,59,59],
+          '2050051503:00:00','2050051423:00:00','2050081403:59:59','2050081323:59:59' ],
+        [ [2050,8,14,4,0,0],[2050,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2051,5,14,2,59,59],[2051,5,13,23,59,59],
+          '2050081404:00:00','2050081401:00:00','2051051402:59:59','2051051323:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,5,14,3,0,0],[2051,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2051,8,13,3,59,59],[2051,8,12,23,59,59],
+          '2051051403:00:00','2051051323:00:00','2051081303:59:59','2051081223:59:59' ],
+        [ [2051,8,13,4,0,0],[2051,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2052,5,12,2,59,59],[2052,5,11,23,59,59],
+          '2051081304:00:00','2051081301:00:00','2052051202:59:59','2052051123:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,5,12,3,0,0],[2052,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2052,8,11,3,59,59],[2052,8,10,23,59,59],
+          '2052051203:00:00','2052051123:00:00','2052081103:59:59','2052081023:59:59' ],
+        [ [2052,8,11,4,0,0],[2052,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2053,5,11,2,59,59],[2053,5,10,23,59,59],
+          '2052081104:00:00','2052081101:00:00','2053051102:59:59','2053051023:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,5,11,3,0,0],[2053,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2053,8,10,3,59,59],[2053,8,9,23,59,59],
+          '2053051103:00:00','2053051023:00:00','2053081003:59:59','2053080923:59:59' ],
+        [ [2053,8,10,4,0,0],[2053,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2054,5,10,2,59,59],[2054,5,9,23,59,59],
+          '2053081004:00:00','2053081001:00:00','2054051002:59:59','2054050923:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,5,10,3,0,0],[2054,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2054,8,9,3,59,59],[2054,8,8,23,59,59],
+          '2054051003:00:00','2054050923:00:00','2054080903:59:59','2054080823:59:59' ],
+        [ [2054,8,9,4,0,0],[2054,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2055,5,9,2,59,59],[2055,5,8,23,59,59],
+          '2054080904:00:00','2054080901:00:00','2055050902:59:59','2055050823:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,5,9,3,0,0],[2055,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2055,8,15,3,59,59],[2055,8,14,23,59,59],
+          '2055050903:00:00','2055050823:00:00','2055081503:59:59','2055081423:59:59' ],
+        [ [2055,8,15,4,0,0],[2055,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2056,5,14,2,59,59],[2056,5,13,23,59,59],
+          '2055081504:00:00','2055081501:00:00','2056051402:59:59','2056051323:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,5,14,3,0,0],[2056,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2056,8,13,3,59,59],[2056,8,12,23,59,59],
+          '2056051403:00:00','2056051323:00:00','2056081303:59:59','2056081223:59:59' ],
+        [ [2056,8,13,4,0,0],[2056,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2057,5,13,2,59,59],[2057,5,12,23,59,59],
+          '2056081304:00:00','2056081301:00:00','2057051302:59:59','2057051223:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,5,13,3,0,0],[2057,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2057,8,12,3,59,59],[2057,8,11,23,59,59],
+          '2057051303:00:00','2057051223:00:00','2057081203:59:59','2057081123:59:59' ],
+        [ [2057,8,12,4,0,0],[2057,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2058,5,12,2,59,59],[2058,5,11,23,59,59],
+          '2057081204:00:00','2057081201:00:00','2058051202:59:59','2058051123:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,5,12,3,0,0],[2058,5,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2058,8,11,3,59,59],[2058,8,10,23,59,59],
+          '2058051203:00:00','2058051123:00:00','2058081103:59:59','2058081023:59:59' ],
+        [ [2058,8,11,4,0,0],[2058,8,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2059,5,11,2,59,59],[2059,5,10,23,59,59],
+          '2058081104:00:00','2058081101:00:00','2059051102:59:59','2059051023:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,5,11,3,0,0],[2059,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2059,8,10,3,59,59],[2059,8,9,23,59,59],
+          '2059051103:00:00','2059051023:00:00','2059081003:59:59','2059080923:59:59' ],
+        [ [2059,8,10,4,0,0],[2059,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2060,5,9,2,59,59],[2060,5,8,23,59,59],
+          '2059081004:00:00','2059081001:00:00','2060050902:59:59','2060050823:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,5,9,3,0,0],[2060,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2060,8,15,3,59,59],[2060,8,14,23,59,59],
+          '2060050903:00:00','2060050823:00:00','2060081503:59:59','2060081423:59:59' ],
+        [ [2060,8,15,4,0,0],[2060,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2061,5,15,2,59,59],[2061,5,14,23,59,59],
+          '2060081504:00:00','2060081501:00:00','2061051502:59:59','2061051423:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,5,15,3,0,0],[2061,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2061,8,14,3,59,59],[2061,8,13,23,59,59],
+          '2061051503:00:00','2061051423:00:00','2061081403:59:59','2061081323:59:59' ],
+        [ [2061,8,14,4,0,0],[2061,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2062,5,14,2,59,59],[2062,5,13,23,59,59],
+          '2061081404:00:00','2061081401:00:00','2062051402:59:59','2062051323:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,5,14,3,0,0],[2062,5,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2062,8,13,3,59,59],[2062,8,12,23,59,59],
+          '2062051403:00:00','2062051323:00:00','2062081303:59:59','2062081223:59:59' ],
+        [ [2062,8,13,4,0,0],[2062,8,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2063,5,13,2,59,59],[2063,5,12,23,59,59],
+          '2062081304:00:00','2062081301:00:00','2063051302:59:59','2063051223:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,5,13,3,0,0],[2063,5,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2063,8,12,3,59,59],[2063,8,11,23,59,59],
+          '2063051303:00:00','2063051223:00:00','2063081203:59:59','2063081123:59:59' ],
+        [ [2063,8,12,4,0,0],[2063,8,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2064,5,11,2,59,59],[2064,5,10,23,59,59],
+          '2063081204:00:00','2063081201:00:00','2064051102:59:59','2064051023:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,5,11,3,0,0],[2064,5,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2064,8,10,3,59,59],[2064,8,9,23,59,59],
+          '2064051103:00:00','2064051023:00:00','2064081003:59:59','2064080923:59:59' ],
+        [ [2064,8,10,4,0,0],[2064,8,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2065,5,10,2,59,59],[2065,5,9,23,59,59],
+          '2064081004:00:00','2064081001:00:00','2065051002:59:59','2065050923:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,5,10,3,0,0],[2065,5,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2065,8,9,3,59,59],[2065,8,8,23,59,59],
+          '2065051003:00:00','2065050923:00:00','2065080903:59:59','2065080823:59:59' ],
+        [ [2065,8,9,4,0,0],[2065,8,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2066,5,9,2,59,59],[2066,5,8,23,59,59],
+          '2065080904:00:00','2065080901:00:00','2066050902:59:59','2066050823:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,5,9,3,0,0],[2066,5,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2066,8,15,3,59,59],[2066,8,14,23,59,59],
+          '2066050903:00:00','2066050823:00:00','2066081503:59:59','2066081423:59:59' ],
+        [ [2066,8,15,4,0,0],[2066,8,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2067,5,15,2,59,59],[2067,5,14,23,59,59],
+          '2066081504:00:00','2066081501:00:00','2067051502:59:59','2067051423:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,5,15,3,0,0],[2067,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2067,8,14,3,59,59],[2067,8,13,23,59,59],
+          '2067051503:00:00','2067051423:00:00','2067081403:59:59','2067081323:59:59' ],
+        [ [2067,8,14,4,0,0],[2067,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2068,5,13,2,59,59],[2068,5,12,23,59,59],
+          '2067081404:00:00','2067081401:00:00','2068051302:59:59','2068051223:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '05' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '9',
+                         'type'    => 'u',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-04',
+                        },
+                '08' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '9',
+                         'type'    => 'u',
+                         'time'    => '04:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-03',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsant02.pm b/lib/Date/Manip/TZ/amsant02.pm
new file mode 100644
index 0000000..2372322
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsant02.pm
@@ -0,0 +1,127 @@
+package #
+Date::Manip::TZ::amsant02;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,20,24],'-04:39:36',[-4,-39,-36],
+          'LMT',0,[1890,1,1,4,39,35],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010119:20:24','1890010104:39:35','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,4,39,36],[1889,12,31,23,59,36],'-04:40:00',[-4,-40,0],
+          'SDMT',0,[1933,4,1,16,39,59],[1933,4,1,11,59,59],
+          '1890010104:39:36','1889123123:59:36','1933040116:39:59','1933040111:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,16,40,0],[1933,4,1,11,40,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1966,10,30,4,59,59],[1966,10,29,23,59,59],
+          '1933040116:40:00','1933040111:40:00','1966103004:59:59','1966102923:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,10,30,5,0,0],[1966,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1967,2,28,3,59,59],[1967,2,27,23,59,59],
+          '1966103005:00:00','1966103001:00:00','1967022803:59:59','1967022723:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,2,28,4,0,0],[1967,2,27,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,10,26,4,59,59],[1969,10,25,23,59,59],
+          '1967022804:00:00','1967022723:00:00','1969102604:59:59','1969102523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,10,26,5,0,0],[1969,10,26,0,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',1,[1970,2,21,4,29,59],[1970,2,20,23,59,59],
+          '1969102605:00:00','1969102600:30:00','1970022104:29:59','1970022023:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,2,21,4,30,0],[1970,2,20,23,30,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,10,25,4,59,59],[1970,10,24,23,59,59],
+          '1970022104:30:00','1970022023:30:00','1970102504:59:59','1970102423:59:59' ],
+        [ [1970,10,25,5,0,0],[1970,10,25,0,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',1,[1971,1,20,4,29,59],[1971,1,19,23,59,59],
+          '1970102505:00:00','1970102500:30:00','1971012004:29:59','1971011923:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,1,20,4,30,0],[1971,1,19,23,30,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,10,31,4,59,59],[1971,10,30,23,59,59],
+          '1971012004:30:00','1971011923:30:00','1971103104:59:59','1971103023:59:59' ],
+        [ [1971,10,31,5,0,0],[1971,10,31,0,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',1,[1972,1,21,4,29,59],[1972,1,20,23,59,59],
+          '1971103105:00:00','1971103100:30:00','1972012104:29:59','1972012023:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,1,21,4,30,0],[1972,1,20,23,30,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,10,29,4,59,59],[1972,10,28,23,59,59],
+          '1972012104:30:00','1972012023:30:00','1972102904:59:59','1972102823:59:59' ],
+        [ [1972,10,29,5,0,0],[1972,10,29,0,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',1,[1973,1,21,4,29,59],[1973,1,20,23,59,59],
+          '1972102905:00:00','1972102900:30:00','1973012104:29:59','1973012023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,1,21,4,30,0],[1973,1,20,23,30,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,10,28,4,59,59],[1973,10,27,23,59,59],
+          '1973012104:30:00','1973012023:30:00','1973102804:59:59','1973102723:59:59' ],
+        [ [1973,10,28,5,0,0],[1973,10,28,0,30,0],'-04:30:00',[-4,-30,0],
+          '-0430',1,[1974,1,21,4,29,59],[1974,1,20,23,59,59],
+          '1973102805:00:00','1973102800:30:00','1974012104:29:59','1974012023:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,21,4,30,0],[1974,1,20,23,30,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,10,27,4,59,59],[1974,10,26,23,59,59],
+          '1974012104:30:00','1974012023:30:00','1974102704:59:59','1974102623:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '1974102705:00:00','1974102701:00:00','2000102905:59:59','2000102901:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,12,3,5,59,59],[2000,12,3,0,59,59],
+          '2000102906:00:00','2000102901:00:00','2000120305:59:59','2000120300:59:59' ],
+        [ [2000,12,3,6,0,0],[2000,12,3,2,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '2000120306:00:00','2000120302:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsao_00.pm b/lib/Date/Manip/TZ/amsao_00.pm
new file mode 100644
index 0000000..f8720c5
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsao_00.pm
@@ -0,0 +1,925 @@
+package #
+Date::Manip::TZ::amsao_00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,53,32],'-03:06:28',[-3,-6,-28],
+          'LMT',0,[1914,1,1,3,6,27],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010120:53:32','1914010103:06:27','1913123123:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,1,1,3,6,28],[1914,1,1,0,6,28],'-03:00:00',[-3,0,0],
+          '-03',0,[1931,10,3,13,59,59],[1931,10,3,10,59,59],
+          '1914010103:06:28','1914010100:06:28','1931100313:59:59','1931100310:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,10,3,14,0,0],[1931,10,3,12,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1932,4,1,1,59,59],[1932,3,31,23,59,59],
+          '1931100314:00:00','1931100312:00:00','1932040101:59:59','1932033123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,1,2,0,0],[1932,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1932,10,3,2,59,59],[1932,10,2,23,59,59],
+          '1932040102:00:00','1932033123:00:00','1932100302:59:59','1932100223:59:59' ],
+        [ [1932,10,3,3,0,0],[1932,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1933,4,1,1,59,59],[1933,3,31,23,59,59],
+          '1932100303:00:00','1932100301:00:00','1933040101:59:59','1933033123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,2,0,0],[1933,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1949,12,1,2,59,59],[1949,11,30,23,59,59],
+          '1933040102:00:00','1933033123:00:00','1949120102:59:59','1949113023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,12,1,3,0,0],[1949,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1950,4,16,2,59,59],[1950,4,16,0,59,59],
+          '1949120103:00:00','1949120101:00:00','1950041602:59:59','1950041600:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,3,0,0],[1950,4,16,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1950,12,1,2,59,59],[1950,11,30,23,59,59],
+          '1950041603:00:00','1950041600:00:00','1950120102:59:59','1950113023:59:59' ],
+        [ [1950,12,1,3,0,0],[1950,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1951,4,1,1,59,59],[1951,3,31,23,59,59],
+          '1950120103:00:00','1950120101:00:00','1951040101:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1951,12,1,2,59,59],[1951,11,30,23,59,59],
+          '1951040102:00:00','1951033123:00:00','1951120102:59:59','1951113023:59:59' ],
+        [ [1951,12,1,3,0,0],[1951,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1952,4,1,1,59,59],[1952,3,31,23,59,59],
+          '1951120103:00:00','1951120101:00:00','1952040101:59:59','1952033123:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,1,2,0,0],[1952,3,31,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1952,12,1,2,59,59],[1952,11,30,23,59,59],
+          '1952040102:00:00','1952033123:00:00','1952120102:59:59','1952113023:59:59' ],
+        [ [1952,12,1,3,0,0],[1952,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1953,3,1,1,59,59],[1953,2,28,23,59,59],
+          '1952120103:00:00','1952120101:00:00','1953030101:59:59','1953022823:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,1,2,0,0],[1953,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1963,10,23,2,59,59],[1963,10,22,23,59,59],
+          '1953030102:00:00','1953022823:00:00','1963102302:59:59','1963102223:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,23,3,0,0],[1963,10,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1964,3,1,1,59,59],[1964,2,29,23,59,59],
+          '1963102303:00:00','1963102301:00:00','1964030101:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,2,0,0],[1964,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,1,31,2,59,59],[1965,1,30,23,59,59],
+          '1964030102:00:00','1964022923:00:00','1965013102:59:59','1965013023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,31,3,0,0],[1965,1,31,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1965,3,31,1,59,59],[1965,3,30,23,59,59],
+          '1965013103:00:00','1965013101:00:00','1965033101:59:59','1965033023:59:59' ],
+        [ [1965,3,31,2,0,0],[1965,3,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1965,12,1,2,59,59],[1965,11,30,23,59,59],
+          '1965033102:00:00','1965033023:00:00','1965120102:59:59','1965113023:59:59' ],
+        [ [1965,12,1,3,0,0],[1965,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1966,3,1,1,59,59],[1966,2,28,23,59,59],
+          '1965120103:00:00','1965120101:00:00','1966030101:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,2,0,0],[1966,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1966,11,1,2,59,59],[1966,10,31,23,59,59],
+          '1966030102:00:00','1966022823:00:00','1966110102:59:59','1966103123:59:59' ],
+        [ [1966,11,1,3,0,0],[1966,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1967,3,1,1,59,59],[1967,2,28,23,59,59],
+          '1966110103:00:00','1966110101:00:00','1967030101:59:59','1967022823:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,1,2,0,0],[1967,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1967,11,1,2,59,59],[1967,10,31,23,59,59],
+          '1967030102:00:00','1967022823:00:00','1967110102:59:59','1967103123:59:59' ],
+        [ [1967,11,1,3,0,0],[1967,11,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1968,3,1,1,59,59],[1968,2,29,23,59,59],
+          '1967110103:00:00','1967110101:00:00','1968030101:59:59','1968022923:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,1,2,0,0],[1968,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,11,2,2,59,59],[1985,11,1,23,59,59],
+          '1968030102:00:00','1968022923:00:00','1985110202:59:59','1985110123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,11,2,3,0,0],[1985,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1986,3,15,1,59,59],[1986,3,14,23,59,59],
+          '1985110203:00:00','1985110201:00:00','1986031501:59:59','1986031423:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,2,0,0],[1986,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1986,10,25,2,59,59],[1986,10,24,23,59,59],
+          '1986031502:00:00','1986031423:00:00','1986102502:59:59','1986102423:59:59' ],
+        [ [1986,10,25,3,0,0],[1986,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1987,2,14,1,59,59],[1987,2,13,23,59,59],
+          '1986102503:00:00','1986102501:00:00','1987021401:59:59','1987021323:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,14,2,0,0],[1987,2,13,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1987,10,25,2,59,59],[1987,10,24,23,59,59],
+          '1987021402:00:00','1987021323:00:00','1987102502:59:59','1987102423:59:59' ],
+        [ [1987,10,25,3,0,0],[1987,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1988,2,7,1,59,59],[1988,2,6,23,59,59],
+          '1987102503:00:00','1987102501:00:00','1988020701:59:59','1988020623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,2,7,2,0,0],[1988,2,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,10,16,2,59,59],[1988,10,15,23,59,59],
+          '1988020702:00:00','1988020623:00:00','1988101602:59:59','1988101523:59:59' ],
+        [ [1988,10,16,3,0,0],[1988,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,1,29,1,59,59],[1989,1,28,23,59,59],
+          '1988101603:00:00','1988101601:00:00','1989012901:59:59','1989012823:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,1,29,2,0,0],[1989,1,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989012902:00:00','1989012823:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,2,11,1,59,59],[1990,2,10,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990021101:59:59','1990021023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,2,11,2,0,0],[1990,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990021102:00:00','1990021023:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,2,17,1,59,59],[1991,2,16,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991021701:59:59','1991021623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,2,17,2,0,0],[1991,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991021702:00:00','1991021623:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,2,9,1,59,59],[1992,2,8,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992020901:59:59','1992020823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,9,2,0,0],[1992,2,8,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,25,2,59,59],[1992,10,24,23,59,59],
+          '1992020902:00:00','1992020823:00:00','1992102502:59:59','1992102423:59:59' ],
+        [ [1992,10,25,3,0,0],[1992,10,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,1,31,1,59,59],[1993,1,30,23,59,59],
+          '1992102503:00:00','1992102501:00:00','1993013101:59:59','1993013023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,31,2,0,0],[1993,1,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1993,10,17,2,59,59],[1993,10,16,23,59,59],
+          '1993013102:00:00','1993013023:00:00','1993101702:59:59','1993101623:59:59' ],
+        [ [1993,10,17,3,0,0],[1993,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1994,2,20,1,59,59],[1994,2,19,23,59,59],
+          '1993101703:00:00','1993101701:00:00','1994022001:59:59','1994021923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,2,20,2,0,0],[1994,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1994,10,16,2,59,59],[1994,10,15,23,59,59],
+          '1994022002:00:00','1994021923:00:00','1994101602:59:59','1994101523:59:59' ],
+        [ [1994,10,16,3,0,0],[1994,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1995,2,19,1,59,59],[1995,2,18,23,59,59],
+          '1994101603:00:00','1994101601:00:00','1995021901:59:59','1995021823:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,2,19,2,0,0],[1995,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1995,10,15,2,59,59],[1995,10,14,23,59,59],
+          '1995021902:00:00','1995021823:00:00','1995101502:59:59','1995101423:59:59' ],
+        [ [1995,10,15,3,0,0],[1995,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1996,2,11,1,59,59],[1996,2,10,23,59,59],
+          '1995101503:00:00','1995101501:00:00','1996021101:59:59','1996021023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,2,11,2,0,0],[1996,2,10,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1996,10,6,2,59,59],[1996,10,5,23,59,59],
+          '1996021102:00:00','1996021023:00:00','1996100602:59:59','1996100523:59:59' ],
+        [ [1996,10,6,3,0,0],[1996,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1997,2,16,1,59,59],[1997,2,15,23,59,59],
+          '1996100603:00:00','1996100601:00:00','1997021601:59:59','1997021523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,2,16,2,0,0],[1997,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1997,10,6,2,59,59],[1997,10,5,23,59,59],
+          '1997021602:00:00','1997021523:00:00','1997100602:59:59','1997100523:59:59' ],
+        [ [1997,10,6,3,0,0],[1997,10,6,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1998,3,1,1,59,59],[1998,2,28,23,59,59],
+          '1997100603:00:00','1997100601:00:00','1998030101:59:59','1998022823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,1,2,0,0],[1998,2,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1998,10,11,2,59,59],[1998,10,10,23,59,59],
+          '1998030102:00:00','1998022823:00:00','1998101102:59:59','1998101023:59:59' ],
+        [ [1998,10,11,3,0,0],[1998,10,11,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1999,2,21,1,59,59],[1999,2,20,23,59,59],
+          '1998101103:00:00','1998101101:00:00','1999022101:59:59','1999022023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,21,2,0,0],[1999,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1999022102:00:00','1999022023:00:00','1999100302:59:59','1999100223:59:59' ],
+        [ [1999,10,3,3,0,0],[1999,10,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2000,2,27,1,59,59],[2000,2,26,23,59,59],
+          '1999100303:00:00','1999100301:00:00','2000022701:59:59','2000022623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,27,2,0,0],[2000,2,26,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2000,10,8,2,59,59],[2000,10,7,23,59,59],
+          '2000022702:00:00','2000022623:00:00','2000100802:59:59','2000100723:59:59' ],
+        [ [2000,10,8,3,0,0],[2000,10,8,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2001,2,18,1,59,59],[2001,2,17,23,59,59],
+          '2000100803:00:00','2000100801:00:00','2001021801:59:59','2001021723:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,2,18,2,0,0],[2001,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2001,10,14,2,59,59],[2001,10,13,23,59,59],
+          '2001021802:00:00','2001021723:00:00','2001101402:59:59','2001101323:59:59' ],
+        [ [2001,10,14,3,0,0],[2001,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2002,2,17,1,59,59],[2002,2,16,23,59,59],
+          '2001101403:00:00','2001101401:00:00','2002021701:59:59','2002021623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,2,17,2,0,0],[2002,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2002,11,3,2,59,59],[2002,11,2,23,59,59],
+          '2002021702:00:00','2002021623:00:00','2002110302:59:59','2002110223:59:59' ],
+        [ [2002,11,3,3,0,0],[2002,11,3,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2003,2,16,1,59,59],[2003,2,15,23,59,59],
+          '2002110303:00:00','2002110301:00:00','2003021601:59:59','2003021523:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,2,16,2,0,0],[2003,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2003,10,19,2,59,59],[2003,10,18,23,59,59],
+          '2003021602:00:00','2003021523:00:00','2003101902:59:59','2003101823:59:59' ],
+        [ [2003,10,19,3,0,0],[2003,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2004,2,15,1,59,59],[2004,2,14,23,59,59],
+          '2003101903:00:00','2003101901:00:00','2004021501:59:59','2004021423:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,2,15,2,0,0],[2004,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,11,2,2,59,59],[2004,11,1,23,59,59],
+          '2004021502:00:00','2004021423:00:00','2004110202:59:59','2004110123:59:59' ],
+        [ [2004,11,2,3,0,0],[2004,11,2,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2005,2,20,1,59,59],[2005,2,19,23,59,59],
+          '2004110203:00:00','2004110201:00:00','2005022001:59:59','2005021923:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,2,20,2,0,0],[2005,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2005,10,16,2,59,59],[2005,10,15,23,59,59],
+          '2005022002:00:00','2005021923:00:00','2005101602:59:59','2005101523:59:59' ],
+        [ [2005,10,16,3,0,0],[2005,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2006,2,19,1,59,59],[2006,2,18,23,59,59],
+          '2005101603:00:00','2005101601:00:00','2006021901:59:59','2006021823:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,2,19,2,0,0],[2006,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2006,11,5,2,59,59],[2006,11,4,23,59,59],
+          '2006021902:00:00','2006021823:00:00','2006110502:59:59','2006110423:59:59' ],
+        [ [2006,11,5,3,0,0],[2006,11,5,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2007,2,25,1,59,59],[2007,2,24,23,59,59],
+          '2006110503:00:00','2006110501:00:00','2007022501:59:59','2007022423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,2,25,2,0,0],[2007,2,24,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,10,14,2,59,59],[2007,10,13,23,59,59],
+          '2007022502:00:00','2007022423:00:00','2007101402:59:59','2007101323:59:59' ],
+        [ [2007,10,14,3,0,0],[2007,10,14,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,2,17,1,59,59],[2008,2,16,23,59,59],
+          '2007101403:00:00','2007101401:00:00','2008021701:59:59','2008021623:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,2,17,2,0,0],[2008,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,10,19,2,59,59],[2008,10,18,23,59,59],
+          '2008021702:00:00','2008021623:00:00','2008101902:59:59','2008101823:59:59' ],
+        [ [2008,10,19,3,0,0],[2008,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,2,15,1,59,59],[2009,2,14,23,59,59],
+          '2008101903:00:00','2008101901:00:00','2009021501:59:59','2009021423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,2,15,2,0,0],[2009,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2009,10,18,2,59,59],[2009,10,17,23,59,59],
+          '2009021502:00:00','2009021423:00:00','2009101802:59:59','2009101723:59:59' ],
+        [ [2009,10,18,3,0,0],[2009,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2010,2,21,1,59,59],[2010,2,20,23,59,59],
+          '2009101803:00:00','2009101801:00:00','2010022101:59:59','2010022023:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,2,21,2,0,0],[2010,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2010,10,17,2,59,59],[2010,10,16,23,59,59],
+          '2010022102:00:00','2010022023:00:00','2010101702:59:59','2010101623:59:59' ],
+        [ [2010,10,17,3,0,0],[2010,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2011,2,20,1,59,59],[2011,2,19,23,59,59],
+          '2010101703:00:00','2010101701:00:00','2011022001:59:59','2011021923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,2,20,2,0,0],[2011,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2011,10,16,2,59,59],[2011,10,15,23,59,59],
+          '2011022002:00:00','2011021923:00:00','2011101602:59:59','2011101523:59:59' ],
+        [ [2011,10,16,3,0,0],[2011,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2012,2,26,1,59,59],[2012,2,25,23,59,59],
+          '2011101603:00:00','2011101601:00:00','2012022601:59:59','2012022523:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,26,2,0,0],[2012,2,25,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2012,10,21,2,59,59],[2012,10,20,23,59,59],
+          '2012022602:00:00','2012022523:00:00','2012102102:59:59','2012102023:59:59' ],
+        [ [2012,10,21,3,0,0],[2012,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2013,2,17,1,59,59],[2013,2,16,23,59,59],
+          '2012102103:00:00','2012102101:00:00','2013021701:59:59','2013021623:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,2,17,2,0,0],[2013,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2013,10,20,2,59,59],[2013,10,19,23,59,59],
+          '2013021702:00:00','2013021623:00:00','2013102002:59:59','2013101923:59:59' ],
+        [ [2013,10,20,3,0,0],[2013,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2014,2,16,1,59,59],[2014,2,15,23,59,59],
+          '2013102003:00:00','2013102001:00:00','2014021601:59:59','2014021523:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,2,16,2,0,0],[2014,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2014,10,19,2,59,59],[2014,10,18,23,59,59],
+          '2014021602:00:00','2014021523:00:00','2014101902:59:59','2014101823:59:59' ],
+        [ [2014,10,19,3,0,0],[2014,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2015,2,22,1,59,59],[2015,2,21,23,59,59],
+          '2014101903:00:00','2014101901:00:00','2015022201:59:59','2015022123:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,2,22,2,0,0],[2015,2,21,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2015,10,18,2,59,59],[2015,10,17,23,59,59],
+          '2015022202:00:00','2015022123:00:00','2015101802:59:59','2015101723:59:59' ],
+        [ [2015,10,18,3,0,0],[2015,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2016,2,21,1,59,59],[2016,2,20,23,59,59],
+          '2015101803:00:00','2015101801:00:00','2016022101:59:59','2016022023:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,2,21,2,0,0],[2016,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2016,10,16,2,59,59],[2016,10,15,23,59,59],
+          '2016022102:00:00','2016022023:00:00','2016101602:59:59','2016101523:59:59' ],
+        [ [2016,10,16,3,0,0],[2016,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2017,2,19,1,59,59],[2017,2,18,23,59,59],
+          '2016101603:00:00','2016101601:00:00','2017021901:59:59','2017021823:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,2,19,2,0,0],[2017,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2017,10,15,2,59,59],[2017,10,14,23,59,59],
+          '2017021902:00:00','2017021823:00:00','2017101502:59:59','2017101423:59:59' ],
+        [ [2017,10,15,3,0,0],[2017,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2018,2,18,1,59,59],[2018,2,17,23,59,59],
+          '2017101503:00:00','2017101501:00:00','2018021801:59:59','2018021723:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,2,18,2,0,0],[2018,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2018,10,21,2,59,59],[2018,10,20,23,59,59],
+          '2018021802:00:00','2018021723:00:00','2018102102:59:59','2018102023:59:59' ],
+        [ [2018,10,21,3,0,0],[2018,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2019,2,17,1,59,59],[2019,2,16,23,59,59],
+          '2018102103:00:00','2018102101:00:00','2019021701:59:59','2019021623:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,2,17,2,0,0],[2019,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2019,10,20,2,59,59],[2019,10,19,23,59,59],
+          '2019021702:00:00','2019021623:00:00','2019102002:59:59','2019101923:59:59' ],
+        [ [2019,10,20,3,0,0],[2019,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2020,2,16,1,59,59],[2020,2,15,23,59,59],
+          '2019102003:00:00','2019102001:00:00','2020021601:59:59','2020021523:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,2,16,2,0,0],[2020,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2020,10,18,2,59,59],[2020,10,17,23,59,59],
+          '2020021602:00:00','2020021523:00:00','2020101802:59:59','2020101723:59:59' ],
+        [ [2020,10,18,3,0,0],[2020,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2021,2,21,1,59,59],[2021,2,20,23,59,59],
+          '2020101803:00:00','2020101801:00:00','2021022101:59:59','2021022023:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,2,21,2,0,0],[2021,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2021,10,17,2,59,59],[2021,10,16,23,59,59],
+          '2021022102:00:00','2021022023:00:00','2021101702:59:59','2021101623:59:59' ],
+        [ [2021,10,17,3,0,0],[2021,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2022,2,20,1,59,59],[2022,2,19,23,59,59],
+          '2021101703:00:00','2021101701:00:00','2022022001:59:59','2022021923:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,2,20,2,0,0],[2022,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2022,10,16,2,59,59],[2022,10,15,23,59,59],
+          '2022022002:00:00','2022021923:00:00','2022101602:59:59','2022101523:59:59' ],
+        [ [2022,10,16,3,0,0],[2022,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2023,2,26,1,59,59],[2023,2,25,23,59,59],
+          '2022101603:00:00','2022101601:00:00','2023022601:59:59','2023022523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,2,26,2,0,0],[2023,2,25,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2023,10,15,2,59,59],[2023,10,14,23,59,59],
+          '2023022602:00:00','2023022523:00:00','2023101502:59:59','2023101423:59:59' ],
+        [ [2023,10,15,3,0,0],[2023,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2024,2,18,1,59,59],[2024,2,17,23,59,59],
+          '2023101503:00:00','2023101501:00:00','2024021801:59:59','2024021723:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,2,18,2,0,0],[2024,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2024,10,20,2,59,59],[2024,10,19,23,59,59],
+          '2024021802:00:00','2024021723:00:00','2024102002:59:59','2024101923:59:59' ],
+        [ [2024,10,20,3,0,0],[2024,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2025,2,16,1,59,59],[2025,2,15,23,59,59],
+          '2024102003:00:00','2024102001:00:00','2025021601:59:59','2025021523:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,2,16,2,0,0],[2025,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2025,10,19,2,59,59],[2025,10,18,23,59,59],
+          '2025021602:00:00','2025021523:00:00','2025101902:59:59','2025101823:59:59' ],
+        [ [2025,10,19,3,0,0],[2025,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2026,2,22,1,59,59],[2026,2,21,23,59,59],
+          '2025101903:00:00','2025101901:00:00','2026022201:59:59','2026022123:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,2,22,2,0,0],[2026,2,21,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2026,10,18,2,59,59],[2026,10,17,23,59,59],
+          '2026022202:00:00','2026022123:00:00','2026101802:59:59','2026101723:59:59' ],
+        [ [2026,10,18,3,0,0],[2026,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2027,2,21,1,59,59],[2027,2,20,23,59,59],
+          '2026101803:00:00','2026101801:00:00','2027022101:59:59','2027022023:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,2,21,2,0,0],[2027,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2027,10,17,2,59,59],[2027,10,16,23,59,59],
+          '2027022102:00:00','2027022023:00:00','2027101702:59:59','2027101623:59:59' ],
+        [ [2027,10,17,3,0,0],[2027,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2028,2,20,1,59,59],[2028,2,19,23,59,59],
+          '2027101703:00:00','2027101701:00:00','2028022001:59:59','2028021923:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,2,20,2,0,0],[2028,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2028,10,15,2,59,59],[2028,10,14,23,59,59],
+          '2028022002:00:00','2028021923:00:00','2028101502:59:59','2028101423:59:59' ],
+        [ [2028,10,15,3,0,0],[2028,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2029,2,18,1,59,59],[2029,2,17,23,59,59],
+          '2028101503:00:00','2028101501:00:00','2029021801:59:59','2029021723:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,2,18,2,0,0],[2029,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2029,10,21,2,59,59],[2029,10,20,23,59,59],
+          '2029021802:00:00','2029021723:00:00','2029102102:59:59','2029102023:59:59' ],
+        [ [2029,10,21,3,0,0],[2029,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2030,2,17,1,59,59],[2030,2,16,23,59,59],
+          '2029102103:00:00','2029102101:00:00','2030021701:59:59','2030021623:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,2,17,2,0,0],[2030,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2030,10,20,2,59,59],[2030,10,19,23,59,59],
+          '2030021702:00:00','2030021623:00:00','2030102002:59:59','2030101923:59:59' ],
+        [ [2030,10,20,3,0,0],[2030,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2031,2,16,1,59,59],[2031,2,15,23,59,59],
+          '2030102003:00:00','2030102001:00:00','2031021601:59:59','2031021523:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,2,16,2,0,0],[2031,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2031,10,19,2,59,59],[2031,10,18,23,59,59],
+          '2031021602:00:00','2031021523:00:00','2031101902:59:59','2031101823:59:59' ],
+        [ [2031,10,19,3,0,0],[2031,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2032,2,15,1,59,59],[2032,2,14,23,59,59],
+          '2031101903:00:00','2031101901:00:00','2032021501:59:59','2032021423:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,2,15,2,0,0],[2032,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2032,10,17,2,59,59],[2032,10,16,23,59,59],
+          '2032021502:00:00','2032021423:00:00','2032101702:59:59','2032101623:59:59' ],
+        [ [2032,10,17,3,0,0],[2032,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2033,2,20,1,59,59],[2033,2,19,23,59,59],
+          '2032101703:00:00','2032101701:00:00','2033022001:59:59','2033021923:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,2,20,2,0,0],[2033,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2033,10,16,2,59,59],[2033,10,15,23,59,59],
+          '2033022002:00:00','2033021923:00:00','2033101602:59:59','2033101523:59:59' ],
+        [ [2033,10,16,3,0,0],[2033,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2034,2,26,1,59,59],[2034,2,25,23,59,59],
+          '2033101603:00:00','2033101601:00:00','2034022601:59:59','2034022523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,2,26,2,0,0],[2034,2,25,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2034,10,15,2,59,59],[2034,10,14,23,59,59],
+          '2034022602:00:00','2034022523:00:00','2034101502:59:59','2034101423:59:59' ],
+        [ [2034,10,15,3,0,0],[2034,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2035,2,18,1,59,59],[2035,2,17,23,59,59],
+          '2034101503:00:00','2034101501:00:00','2035021801:59:59','2035021723:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,2,18,2,0,0],[2035,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2035,10,21,2,59,59],[2035,10,20,23,59,59],
+          '2035021802:00:00','2035021723:00:00','2035102102:59:59','2035102023:59:59' ],
+        [ [2035,10,21,3,0,0],[2035,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2036,2,17,1,59,59],[2036,2,16,23,59,59],
+          '2035102103:00:00','2035102101:00:00','2036021701:59:59','2036021623:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,2,17,2,0,0],[2036,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2036,10,19,2,59,59],[2036,10,18,23,59,59],
+          '2036021702:00:00','2036021623:00:00','2036101902:59:59','2036101823:59:59' ],
+        [ [2036,10,19,3,0,0],[2036,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2037,2,22,1,59,59],[2037,2,21,23,59,59],
+          '2036101903:00:00','2036101901:00:00','2037022201:59:59','2037022123:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,2,22,2,0,0],[2037,2,21,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2037,10,18,2,59,59],[2037,10,17,23,59,59],
+          '2037022202:00:00','2037022123:00:00','2037101802:59:59','2037101723:59:59' ],
+        [ [2037,10,18,3,0,0],[2037,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2038,2,21,1,59,59],[2038,2,20,23,59,59],
+          '2037101803:00:00','2037101801:00:00','2038022101:59:59','2038022023:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,2,21,2,0,0],[2038,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2038,10,17,2,59,59],[2038,10,16,23,59,59],
+          '2038022102:00:00','2038022023:00:00','2038101702:59:59','2038101623:59:59' ],
+        [ [2038,10,17,3,0,0],[2038,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2039,2,20,1,59,59],[2039,2,19,23,59,59],
+          '2038101703:00:00','2038101701:00:00','2039022001:59:59','2039021923:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,2,20,2,0,0],[2039,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2039,10,16,2,59,59],[2039,10,15,23,59,59],
+          '2039022002:00:00','2039021923:00:00','2039101602:59:59','2039101523:59:59' ],
+        [ [2039,10,16,3,0,0],[2039,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2040,2,19,1,59,59],[2040,2,18,23,59,59],
+          '2039101603:00:00','2039101601:00:00','2040021901:59:59','2040021823:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,2,19,2,0,0],[2040,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2040,10,21,2,59,59],[2040,10,20,23,59,59],
+          '2040021902:00:00','2040021823:00:00','2040102102:59:59','2040102023:59:59' ],
+        [ [2040,10,21,3,0,0],[2040,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2041,2,17,1,59,59],[2041,2,16,23,59,59],
+          '2040102103:00:00','2040102101:00:00','2041021701:59:59','2041021623:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,2,17,2,0,0],[2041,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2041,10,20,2,59,59],[2041,10,19,23,59,59],
+          '2041021702:00:00','2041021623:00:00','2041102002:59:59','2041101923:59:59' ],
+        [ [2041,10,20,3,0,0],[2041,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2042,2,16,1,59,59],[2042,2,15,23,59,59],
+          '2041102003:00:00','2041102001:00:00','2042021601:59:59','2042021523:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,2,16,2,0,0],[2042,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2042,10,19,2,59,59],[2042,10,18,23,59,59],
+          '2042021602:00:00','2042021523:00:00','2042101902:59:59','2042101823:59:59' ],
+        [ [2042,10,19,3,0,0],[2042,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2043,2,15,1,59,59],[2043,2,14,23,59,59],
+          '2042101903:00:00','2042101901:00:00','2043021501:59:59','2043021423:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,2,15,2,0,0],[2043,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2043,10,18,2,59,59],[2043,10,17,23,59,59],
+          '2043021502:00:00','2043021423:00:00','2043101802:59:59','2043101723:59:59' ],
+        [ [2043,10,18,3,0,0],[2043,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2044,2,21,1,59,59],[2044,2,20,23,59,59],
+          '2043101803:00:00','2043101801:00:00','2044022101:59:59','2044022023:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,2,21,2,0,0],[2044,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2044,10,16,2,59,59],[2044,10,15,23,59,59],
+          '2044022102:00:00','2044022023:00:00','2044101602:59:59','2044101523:59:59' ],
+        [ [2044,10,16,3,0,0],[2044,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2045,2,19,1,59,59],[2045,2,18,23,59,59],
+          '2044101603:00:00','2044101601:00:00','2045021901:59:59','2045021823:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,2,19,2,0,0],[2045,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2045,10,15,2,59,59],[2045,10,14,23,59,59],
+          '2045021902:00:00','2045021823:00:00','2045101502:59:59','2045101423:59:59' ],
+        [ [2045,10,15,3,0,0],[2045,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2046,2,18,1,59,59],[2046,2,17,23,59,59],
+          '2045101503:00:00','2045101501:00:00','2046021801:59:59','2046021723:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,2,18,2,0,0],[2046,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2046,10,21,2,59,59],[2046,10,20,23,59,59],
+          '2046021802:00:00','2046021723:00:00','2046102102:59:59','2046102023:59:59' ],
+        [ [2046,10,21,3,0,0],[2046,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2047,2,17,1,59,59],[2047,2,16,23,59,59],
+          '2046102103:00:00','2046102101:00:00','2047021701:59:59','2047021623:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,2,17,2,0,0],[2047,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2047,10,20,2,59,59],[2047,10,19,23,59,59],
+          '2047021702:00:00','2047021623:00:00','2047102002:59:59','2047101923:59:59' ],
+        [ [2047,10,20,3,0,0],[2047,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2048,2,16,1,59,59],[2048,2,15,23,59,59],
+          '2047102003:00:00','2047102001:00:00','2048021601:59:59','2048021523:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,2,16,2,0,0],[2048,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2048,10,18,2,59,59],[2048,10,17,23,59,59],
+          '2048021602:00:00','2048021523:00:00','2048101802:59:59','2048101723:59:59' ],
+        [ [2048,10,18,3,0,0],[2048,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2049,2,21,1,59,59],[2049,2,20,23,59,59],
+          '2048101803:00:00','2048101801:00:00','2049022101:59:59','2049022023:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,2,21,2,0,0],[2049,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2049,10,17,2,59,59],[2049,10,16,23,59,59],
+          '2049022102:00:00','2049022023:00:00','2049101702:59:59','2049101623:59:59' ],
+        [ [2049,10,17,3,0,0],[2049,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2050,2,20,1,59,59],[2050,2,19,23,59,59],
+          '2049101703:00:00','2049101701:00:00','2050022001:59:59','2050021923:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,2,20,2,0,0],[2050,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2050,10,16,2,59,59],[2050,10,15,23,59,59],
+          '2050022002:00:00','2050021923:00:00','2050101602:59:59','2050101523:59:59' ],
+        [ [2050,10,16,3,0,0],[2050,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2051,2,19,1,59,59],[2051,2,18,23,59,59],
+          '2050101603:00:00','2050101601:00:00','2051021901:59:59','2051021823:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,2,19,2,0,0],[2051,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2051,10,15,2,59,59],[2051,10,14,23,59,59],
+          '2051021902:00:00','2051021823:00:00','2051101502:59:59','2051101423:59:59' ],
+        [ [2051,10,15,3,0,0],[2051,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2052,2,18,1,59,59],[2052,2,17,23,59,59],
+          '2051101503:00:00','2051101501:00:00','2052021801:59:59','2052021723:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,2,18,2,0,0],[2052,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2052,10,20,2,59,59],[2052,10,19,23,59,59],
+          '2052021802:00:00','2052021723:00:00','2052102002:59:59','2052101923:59:59' ],
+        [ [2052,10,20,3,0,0],[2052,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2053,2,16,1,59,59],[2053,2,15,23,59,59],
+          '2052102003:00:00','2052102001:00:00','2053021601:59:59','2053021523:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,2,16,2,0,0],[2053,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2053,10,19,2,59,59],[2053,10,18,23,59,59],
+          '2053021602:00:00','2053021523:00:00','2053101902:59:59','2053101823:59:59' ],
+        [ [2053,10,19,3,0,0],[2053,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2054,2,15,1,59,59],[2054,2,14,23,59,59],
+          '2053101903:00:00','2053101901:00:00','2054021501:59:59','2054021423:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,2,15,2,0,0],[2054,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2054,10,18,2,59,59],[2054,10,17,23,59,59],
+          '2054021502:00:00','2054021423:00:00','2054101802:59:59','2054101723:59:59' ],
+        [ [2054,10,18,3,0,0],[2054,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2055,2,21,1,59,59],[2055,2,20,23,59,59],
+          '2054101803:00:00','2054101801:00:00','2055022101:59:59','2055022023:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,2,21,2,0,0],[2055,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2055,10,17,2,59,59],[2055,10,16,23,59,59],
+          '2055022102:00:00','2055022023:00:00','2055101702:59:59','2055101623:59:59' ],
+        [ [2055,10,17,3,0,0],[2055,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2056,2,20,1,59,59],[2056,2,19,23,59,59],
+          '2055101703:00:00','2055101701:00:00','2056022001:59:59','2056021923:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,2,20,2,0,0],[2056,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2056,10,15,2,59,59],[2056,10,14,23,59,59],
+          '2056022002:00:00','2056021923:00:00','2056101502:59:59','2056101423:59:59' ],
+        [ [2056,10,15,3,0,0],[2056,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2057,2,18,1,59,59],[2057,2,17,23,59,59],
+          '2056101503:00:00','2056101501:00:00','2057021801:59:59','2057021723:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,2,18,2,0,0],[2057,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2057,10,21,2,59,59],[2057,10,20,23,59,59],
+          '2057021802:00:00','2057021723:00:00','2057102102:59:59','2057102023:59:59' ],
+        [ [2057,10,21,3,0,0],[2057,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2058,2,17,1,59,59],[2058,2,16,23,59,59],
+          '2057102103:00:00','2057102101:00:00','2058021701:59:59','2058021623:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,2,17,2,0,0],[2058,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2058,10,20,2,59,59],[2058,10,19,23,59,59],
+          '2058021702:00:00','2058021623:00:00','2058102002:59:59','2058101923:59:59' ],
+        [ [2058,10,20,3,0,0],[2058,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2059,2,16,1,59,59],[2059,2,15,23,59,59],
+          '2058102003:00:00','2058102001:00:00','2059021601:59:59','2059021523:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,2,16,2,0,0],[2059,2,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2059,10,19,2,59,59],[2059,10,18,23,59,59],
+          '2059021602:00:00','2059021523:00:00','2059101902:59:59','2059101823:59:59' ],
+        [ [2059,10,19,3,0,0],[2059,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2060,2,15,1,59,59],[2060,2,14,23,59,59],
+          '2059101903:00:00','2059101901:00:00','2060021501:59:59','2060021423:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,2,15,2,0,0],[2060,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2060,10,17,2,59,59],[2060,10,16,23,59,59],
+          '2060021502:00:00','2060021423:00:00','2060101702:59:59','2060101623:59:59' ],
+        [ [2060,10,17,3,0,0],[2060,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2061,2,20,1,59,59],[2061,2,19,23,59,59],
+          '2060101703:00:00','2060101701:00:00','2061022001:59:59','2061021923:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,2,20,2,0,0],[2061,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2061,10,16,2,59,59],[2061,10,15,23,59,59],
+          '2061022002:00:00','2061021923:00:00','2061101602:59:59','2061101523:59:59' ],
+        [ [2061,10,16,3,0,0],[2061,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2062,2,19,1,59,59],[2062,2,18,23,59,59],
+          '2061101603:00:00','2061101601:00:00','2062021901:59:59','2062021823:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,2,19,2,0,0],[2062,2,18,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2062,10,15,2,59,59],[2062,10,14,23,59,59],
+          '2062021902:00:00','2062021823:00:00','2062101502:59:59','2062101423:59:59' ],
+        [ [2062,10,15,3,0,0],[2062,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2063,2,18,1,59,59],[2063,2,17,23,59,59],
+          '2062101503:00:00','2062101501:00:00','2063021801:59:59','2063021723:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,2,18,2,0,0],[2063,2,17,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2063,10,21,2,59,59],[2063,10,20,23,59,59],
+          '2063021802:00:00','2063021723:00:00','2063102102:59:59','2063102023:59:59' ],
+        [ [2063,10,21,3,0,0],[2063,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2064,2,17,1,59,59],[2064,2,16,23,59,59],
+          '2063102103:00:00','2063102101:00:00','2064021701:59:59','2064021623:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,2,17,2,0,0],[2064,2,16,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2064,10,19,2,59,59],[2064,10,18,23,59,59],
+          '2064021702:00:00','2064021623:00:00','2064101902:59:59','2064101823:59:59' ],
+        [ [2064,10,19,3,0,0],[2064,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2065,2,15,1,59,59],[2065,2,14,23,59,59],
+          '2064101903:00:00','2064101901:00:00','2065021501:59:59','2065021423:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,2,15,2,0,0],[2065,2,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2065,10,18,2,59,59],[2065,10,17,23,59,59],
+          '2065021502:00:00','2065021423:00:00','2065101802:59:59','2065101723:59:59' ],
+        [ [2065,10,18,3,0,0],[2065,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2066,2,21,1,59,59],[2066,2,20,23,59,59],
+          '2065101803:00:00','2065101801:00:00','2066022101:59:59','2066022023:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,2,21,2,0,0],[2066,2,20,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2066,10,17,2,59,59],[2066,10,16,23,59,59],
+          '2066022102:00:00','2066022023:00:00','2066101702:59:59','2066101623:59:59' ],
+        [ [2066,10,17,3,0,0],[2066,10,17,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2067,2,20,1,59,59],[2067,2,19,23,59,59],
+          '2066101703:00:00','2066101701:00:00','2067022001:59:59','2067021923:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,2,20,2,0,0],[2067,2,19,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2067,10,16,2,59,59],[2067,10,15,23,59,59],
+          '2067022002:00:00','2067021923:00:00','2067101602:59:59','2067101523:59:59' ],
+        [ [2067,10,16,3,0,0],[2067,10,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2068,2,19,1,59,59],[2068,2,18,23,59,59],
+          '2067101603:00:00','2067101601:00:00','2068021901:59:59','2068021823:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-02:00:00',
+                'stdoff' => '-03:00:00',
+               },
+   'rules'  => {
+                '02' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-03',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-02',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amscor00.pm b/lib/Date/Manip/TZ/amscor00.pm
new file mode 100644
index 0000000..62a8279
--- /dev/null
+++ b/lib/Date/Manip/TZ/amscor00.pm
@@ -0,0 +1,865 @@
+package #
+Date::Manip::TZ::amscor00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,32,8],'-01:27:52',[-1,-27,-52],
+          'LMT',0,[1916,7,28,1,27,51],[1916,7,27,23,59,59],
+          '0001010200:00:00','0001010122:32:08','1916072801:27:51','1916072723:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,28,1,27,52],[1916,7,27,23,27,52],'-02:00:00',[-2,0,0],
+          '-02',0,[1980,4,6,3,59,59],[1980,4,6,1,59,59],
+          '1916072801:27:52','1916072723:27:52','1980040603:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,4,0,0],[1980,4,6,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1980,9,28,3,59,59],[1980,9,28,2,59,59],
+          '1980040604:00:00','1980040603:00:00','1980092803:59:59','1980092802:59:59' ],
+        [ [1980,9,28,4,0,0],[1980,9,28,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1981,3,29,1,59,59],[1981,3,28,23,59,59],
+          '1980092804:00:00','1980092802:00:00','1981032901:59:59','1981032823:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,2,0,0],[1981,3,29,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1981,9,27,0,59,59],[1981,9,27,0,59,59],
+          '1981032902:00:00','1981032902:00:00','1981092700:59:59','1981092700:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1982,3,28,0,59,59],[1982,3,27,23,59,59],
+          '1981092701:00:00','1981092700:00:00','1982032800:59:59','1982032723:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1982,9,26,0,59,59],[1982,9,26,0,59,59],
+          '1982032801:00:00','1982032801:00:00','1982092600:59:59','1982092600:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1983,3,27,0,59,59],[1983,3,26,23,59,59],
+          '1982092601:00:00','1982092600:00:00','1983032700:59:59','1983032623:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1983,9,25,0,59,59],[1983,9,25,0,59,59],
+          '1983032701:00:00','1983032701:00:00','1983092500:59:59','1983092500:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1984,3,25,0,59,59],[1984,3,24,23,59,59],
+          '1983092501:00:00','1983092500:00:00','1984032500:59:59','1984032423:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1984,9,30,0,59,59],[1984,9,30,0,59,59],
+          '1984032501:00:00','1984032501:00:00','1984093000:59:59','1984093000:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1985,3,31,0,59,59],[1985,3,30,23,59,59],
+          '1984093001:00:00','1984093000:00:00','1985033100:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1985,9,29,0,59,59],[1985,9,29,0,59,59],
+          '1985033101:00:00','1985033101:00:00','1985092900:59:59','1985092900:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1986,3,30,0,59,59],[1986,3,29,23,59,59],
+          '1985092901:00:00','1985092900:00:00','1986033000:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1986,9,28,0,59,59],[1986,9,28,0,59,59],
+          '1986033001:00:00','1986033001:00:00','1986092800:59:59','1986092800:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1987,3,29,0,59,59],[1987,3,28,23,59,59],
+          '1986092801:00:00','1986092800:00:00','1987032900:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1987,9,27,0,59,59],[1987,9,27,0,59,59],
+          '1987032901:00:00','1987032901:00:00','1987092700:59:59','1987092700:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1988,3,27,0,59,59],[1988,3,26,23,59,59],
+          '1987092701:00:00','1987092700:00:00','1988032700:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1988,9,25,0,59,59],[1988,9,25,0,59,59],
+          '1988032701:00:00','1988032701:00:00','1988092500:59:59','1988092500:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1989,3,26,0,59,59],[1989,3,25,23,59,59],
+          '1988092501:00:00','1988092500:00:00','1989032600:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1989,9,24,0,59,59],[1989,9,24,0,59,59],
+          '1989032601:00:00','1989032601:00:00','1989092400:59:59','1989092400:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1990,3,25,0,59,59],[1990,3,24,23,59,59],
+          '1989092401:00:00','1989092400:00:00','1990032500:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1990,9,30,0,59,59],[1990,9,30,0,59,59],
+          '1990032501:00:00','1990032501:00:00','1990093000:59:59','1990093000:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1991,3,31,0,59,59],[1991,3,30,23,59,59],
+          '1990093001:00:00','1990093000:00:00','1991033100:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1991,9,29,0,59,59],[1991,9,29,0,59,59],
+          '1991033101:00:00','1991033101:00:00','1991092900:59:59','1991092900:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1992,3,29,0,59,59],[1992,3,28,23,59,59],
+          '1991092901:00:00','1991092900:00:00','1992032900:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1992,9,27,0,59,59],[1992,9,27,0,59,59],
+          '1992032901:00:00','1992032901:00:00','1992092700:59:59','1992092700:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1993,3,28,0,59,59],[1993,3,27,23,59,59],
+          '1992092701:00:00','1992092700:00:00','1993032800:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1993,9,26,0,59,59],[1993,9,26,0,59,59],
+          '1993032801:00:00','1993032801:00:00','1993092600:59:59','1993092600:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1994,3,27,0,59,59],[1994,3,26,23,59,59],
+          '1993092601:00:00','1993092600:00:00','1994032700:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1994,9,25,0,59,59],[1994,9,25,0,59,59],
+          '1994032701:00:00','1994032701:00:00','1994092500:59:59','1994092500:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1995,3,26,0,59,59],[1995,3,25,23,59,59],
+          '1994092501:00:00','1994092500:00:00','1995032600:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1995,9,24,0,59,59],[1995,9,24,0,59,59],
+          '1995032601:00:00','1995032601:00:00','1995092400:59:59','1995092400:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1996,3,31,0,59,59],[1996,3,30,23,59,59],
+          '1995092401:00:00','1995092400:00:00','1996033100:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1996,10,27,0,59,59],[1996,10,27,0,59,59],
+          '1996033101:00:00','1996033101:00:00','1996102700:59:59','1996102700:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1997,3,30,0,59,59],[1997,3,29,23,59,59],
+          '1996102701:00:00','1996102700:00:00','1997033000:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1997,10,26,0,59,59],[1997,10,26,0,59,59],
+          '1997033001:00:00','1997033001:00:00','1997102600:59:59','1997102600:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1998,3,29,0,59,59],[1998,3,28,23,59,59],
+          '1997102601:00:00','1997102600:00:00','1998032900:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1998,10,25,0,59,59],[1998,10,25,0,59,59],
+          '1998032901:00:00','1998032901:00:00','1998102500:59:59','1998102500:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1999,3,28,0,59,59],[1999,3,27,23,59,59],
+          '1998102501:00:00','1998102500:00:00','1999032800:59:59','1999032723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1999,10,31,0,59,59],[1999,10,31,0,59,59],
+          '1999032801:00:00','1999032801:00:00','1999103100:59:59','1999103100:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2000,3,26,0,59,59],[2000,3,25,23,59,59],
+          '1999103101:00:00','1999103100:00:00','2000032600:59:59','2000032523:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2000,10,29,0,59,59],[2000,10,29,0,59,59],
+          '2000032601:00:00','2000032601:00:00','2000102900:59:59','2000102900:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2001,3,25,0,59,59],[2001,3,24,23,59,59],
+          '2000102901:00:00','2000102900:00:00','2001032500:59:59','2001032423:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2001,10,28,0,59,59],[2001,10,28,0,59,59],
+          '2001032501:00:00','2001032501:00:00','2001102800:59:59','2001102800:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2002,3,31,0,59,59],[2002,3,30,23,59,59],
+          '2001102801:00:00','2001102800:00:00','2002033100:59:59','2002033023:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2002,10,27,0,59,59],[2002,10,27,0,59,59],
+          '2002033101:00:00','2002033101:00:00','2002102700:59:59','2002102700:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2003,3,30,0,59,59],[2003,3,29,23,59,59],
+          '2002102701:00:00','2002102700:00:00','2003033000:59:59','2003032923:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2003,10,26,0,59,59],[2003,10,26,0,59,59],
+          '2003033001:00:00','2003033001:00:00','2003102600:59:59','2003102600:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2004,3,28,0,59,59],[2004,3,27,23,59,59],
+          '2003102601:00:00','2003102600:00:00','2004032800:59:59','2004032723:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2004,10,31,0,59,59],[2004,10,31,0,59,59],
+          '2004032801:00:00','2004032801:00:00','2004103100:59:59','2004103100:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2005,3,27,0,59,59],[2005,3,26,23,59,59],
+          '2004103101:00:00','2004103100:00:00','2005032700:59:59','2005032623:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2005,10,30,0,59,59],[2005,10,30,0,59,59],
+          '2005032701:00:00','2005032701:00:00','2005103000:59:59','2005103000:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2006,3,26,0,59,59],[2006,3,25,23,59,59],
+          '2005103001:00:00','2005103000:00:00','2006032600:59:59','2006032523:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2006,10,29,0,59,59],[2006,10,29,0,59,59],
+          '2006032601:00:00','2006032601:00:00','2006102900:59:59','2006102900:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2007,3,25,0,59,59],[2007,3,24,23,59,59],
+          '2006102901:00:00','2006102900:00:00','2007032500:59:59','2007032423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2007,10,28,0,59,59],[2007,10,28,0,59,59],
+          '2007032501:00:00','2007032501:00:00','2007102800:59:59','2007102800:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2008,3,30,0,59,59],[2008,3,29,23,59,59],
+          '2007102801:00:00','2007102800:00:00','2008033000:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2008,10,26,0,59,59],[2008,10,26,0,59,59],
+          '2008033001:00:00','2008033001:00:00','2008102600:59:59','2008102600:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2009,3,29,0,59,59],[2009,3,28,23,59,59],
+          '2008102601:00:00','2008102600:00:00','2009032900:59:59','2009032823:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2009,10,25,0,59,59],[2009,10,25,0,59,59],
+          '2009032901:00:00','2009032901:00:00','2009102500:59:59','2009102500:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2010,3,28,0,59,59],[2010,3,27,23,59,59],
+          '2009102501:00:00','2009102500:00:00','2010032800:59:59','2010032723:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2010,10,31,0,59,59],[2010,10,31,0,59,59],
+          '2010032801:00:00','2010032801:00:00','2010103100:59:59','2010103100:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2011,3,27,0,59,59],[2011,3,26,23,59,59],
+          '2010103101:00:00','2010103100:00:00','2011032700:59:59','2011032623:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2011,10,30,0,59,59],[2011,10,30,0,59,59],
+          '2011032701:00:00','2011032701:00:00','2011103000:59:59','2011103000:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2012,3,25,0,59,59],[2012,3,24,23,59,59],
+          '2011103001:00:00','2011103000:00:00','2012032500:59:59','2012032423:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2012,10,28,0,59,59],[2012,10,28,0,59,59],
+          '2012032501:00:00','2012032501:00:00','2012102800:59:59','2012102800:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2013,3,31,0,59,59],[2013,3,30,23,59,59],
+          '2012102801:00:00','2012102800:00:00','2013033100:59:59','2013033023:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2013,10,27,0,59,59],[2013,10,27,0,59,59],
+          '2013033101:00:00','2013033101:00:00','2013102700:59:59','2013102700:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2014,3,30,0,59,59],[2014,3,29,23,59,59],
+          '2013102701:00:00','2013102700:00:00','2014033000:59:59','2014032923:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2014,10,26,0,59,59],[2014,10,26,0,59,59],
+          '2014033001:00:00','2014033001:00:00','2014102600:59:59','2014102600:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2015,3,29,0,59,59],[2015,3,28,23,59,59],
+          '2014102601:00:00','2014102600:00:00','2015032900:59:59','2015032823:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2015,10,25,0,59,59],[2015,10,25,0,59,59],
+          '2015032901:00:00','2015032901:00:00','2015102500:59:59','2015102500:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2016,3,27,0,59,59],[2016,3,26,23,59,59],
+          '2015102501:00:00','2015102500:00:00','2016032700:59:59','2016032623:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2016,10,30,0,59,59],[2016,10,30,0,59,59],
+          '2016032701:00:00','2016032701:00:00','2016103000:59:59','2016103000:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2017,3,26,0,59,59],[2017,3,25,23,59,59],
+          '2016103001:00:00','2016103000:00:00','2017032600:59:59','2017032523:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2017,10,29,0,59,59],[2017,10,29,0,59,59],
+          '2017032601:00:00','2017032601:00:00','2017102900:59:59','2017102900:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2018,3,25,0,59,59],[2018,3,24,23,59,59],
+          '2017102901:00:00','2017102900:00:00','2018032500:59:59','2018032423:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2018,10,28,0,59,59],[2018,10,28,0,59,59],
+          '2018032501:00:00','2018032501:00:00','2018102800:59:59','2018102800:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2019,3,31,0,59,59],[2019,3,30,23,59,59],
+          '2018102801:00:00','2018102800:00:00','2019033100:59:59','2019033023:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2019,10,27,0,59,59],[2019,10,27,0,59,59],
+          '2019033101:00:00','2019033101:00:00','2019102700:59:59','2019102700:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2020,3,29,0,59,59],[2020,3,28,23,59,59],
+          '2019102701:00:00','2019102700:00:00','2020032900:59:59','2020032823:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2020,10,25,0,59,59],[2020,10,25,0,59,59],
+          '2020032901:00:00','2020032901:00:00','2020102500:59:59','2020102500:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2021,3,28,0,59,59],[2021,3,27,23,59,59],
+          '2020102501:00:00','2020102500:00:00','2021032800:59:59','2021032723:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2021,10,31,0,59,59],[2021,10,31,0,59,59],
+          '2021032801:00:00','2021032801:00:00','2021103100:59:59','2021103100:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2022,3,27,0,59,59],[2022,3,26,23,59,59],
+          '2021103101:00:00','2021103100:00:00','2022032700:59:59','2022032623:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2022,10,30,0,59,59],[2022,10,30,0,59,59],
+          '2022032701:00:00','2022032701:00:00','2022103000:59:59','2022103000:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2023,3,26,0,59,59],[2023,3,25,23,59,59],
+          '2022103001:00:00','2022103000:00:00','2023032600:59:59','2023032523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2023,10,29,0,59,59],[2023,10,29,0,59,59],
+          '2023032601:00:00','2023032601:00:00','2023102900:59:59','2023102900:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2024,3,31,0,59,59],[2024,3,30,23,59,59],
+          '2023102901:00:00','2023102900:00:00','2024033100:59:59','2024033023:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2024,10,27,0,59,59],[2024,10,27,0,59,59],
+          '2024033101:00:00','2024033101:00:00','2024102700:59:59','2024102700:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2025,3,30,0,59,59],[2025,3,29,23,59,59],
+          '2024102701:00:00','2024102700:00:00','2025033000:59:59','2025032923:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2025,10,26,0,59,59],[2025,10,26,0,59,59],
+          '2025033001:00:00','2025033001:00:00','2025102600:59:59','2025102600:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2026,3,29,0,59,59],[2026,3,28,23,59,59],
+          '2025102601:00:00','2025102600:00:00','2026032900:59:59','2026032823:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2026,10,25,0,59,59],[2026,10,25,0,59,59],
+          '2026032901:00:00','2026032901:00:00','2026102500:59:59','2026102500:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2027,3,28,0,59,59],[2027,3,27,23,59,59],
+          '2026102501:00:00','2026102500:00:00','2027032800:59:59','2027032723:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2027,10,31,0,59,59],[2027,10,31,0,59,59],
+          '2027032801:00:00','2027032801:00:00','2027103100:59:59','2027103100:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2028,3,26,0,59,59],[2028,3,25,23,59,59],
+          '2027103101:00:00','2027103100:00:00','2028032600:59:59','2028032523:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2028,10,29,0,59,59],[2028,10,29,0,59,59],
+          '2028032601:00:00','2028032601:00:00','2028102900:59:59','2028102900:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2029,3,25,0,59,59],[2029,3,24,23,59,59],
+          '2028102901:00:00','2028102900:00:00','2029032500:59:59','2029032423:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2029,10,28,0,59,59],[2029,10,28,0,59,59],
+          '2029032501:00:00','2029032501:00:00','2029102800:59:59','2029102800:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2030,3,31,0,59,59],[2030,3,30,23,59,59],
+          '2029102801:00:00','2029102800:00:00','2030033100:59:59','2030033023:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2030,10,27,0,59,59],[2030,10,27,0,59,59],
+          '2030033101:00:00','2030033101:00:00','2030102700:59:59','2030102700:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2031,3,30,0,59,59],[2031,3,29,23,59,59],
+          '2030102701:00:00','2030102700:00:00','2031033000:59:59','2031032923:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2031,10,26,0,59,59],[2031,10,26,0,59,59],
+          '2031033001:00:00','2031033001:00:00','2031102600:59:59','2031102600:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2032,3,28,0,59,59],[2032,3,27,23,59,59],
+          '2031102601:00:00','2031102600:00:00','2032032800:59:59','2032032723:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2032,10,31,0,59,59],[2032,10,31,0,59,59],
+          '2032032801:00:00','2032032801:00:00','2032103100:59:59','2032103100:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2033,3,27,0,59,59],[2033,3,26,23,59,59],
+          '2032103101:00:00','2032103100:00:00','2033032700:59:59','2033032623:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2033,10,30,0,59,59],[2033,10,30,0,59,59],
+          '2033032701:00:00','2033032701:00:00','2033103000:59:59','2033103000:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2034,3,26,0,59,59],[2034,3,25,23,59,59],
+          '2033103001:00:00','2033103000:00:00','2034032600:59:59','2034032523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2034,10,29,0,59,59],[2034,10,29,0,59,59],
+          '2034032601:00:00','2034032601:00:00','2034102900:59:59','2034102900:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2035,3,25,0,59,59],[2035,3,24,23,59,59],
+          '2034102901:00:00','2034102900:00:00','2035032500:59:59','2035032423:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2035,10,28,0,59,59],[2035,10,28,0,59,59],
+          '2035032501:00:00','2035032501:00:00','2035102800:59:59','2035102800:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2036,3,30,0,59,59],[2036,3,29,23,59,59],
+          '2035102801:00:00','2035102800:00:00','2036033000:59:59','2036032923:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2036,10,26,0,59,59],[2036,10,26,0,59,59],
+          '2036033001:00:00','2036033001:00:00','2036102600:59:59','2036102600:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2037,3,29,0,59,59],[2037,3,28,23,59,59],
+          '2036102601:00:00','2036102600:00:00','2037032900:59:59','2037032823:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2037,10,25,0,59,59],[2037,10,25,0,59,59],
+          '2037032901:00:00','2037032901:00:00','2037102500:59:59','2037102500:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2038,3,28,0,59,59],[2038,3,27,23,59,59],
+          '2037102501:00:00','2037102500:00:00','2038032800:59:59','2038032723:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2038,10,31,0,59,59],[2038,10,31,0,59,59],
+          '2038032801:00:00','2038032801:00:00','2038103100:59:59','2038103100:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2039,3,27,0,59,59],[2039,3,26,23,59,59],
+          '2038103101:00:00','2038103100:00:00','2039032700:59:59','2039032623:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2039,10,30,0,59,59],[2039,10,30,0,59,59],
+          '2039032701:00:00','2039032701:00:00','2039103000:59:59','2039103000:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2040,3,25,0,59,59],[2040,3,24,23,59,59],
+          '2039103001:00:00','2039103000:00:00','2040032500:59:59','2040032423:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2040,10,28,0,59,59],[2040,10,28,0,59,59],
+          '2040032501:00:00','2040032501:00:00','2040102800:59:59','2040102800:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2041,3,31,0,59,59],[2041,3,30,23,59,59],
+          '2040102801:00:00','2040102800:00:00','2041033100:59:59','2041033023:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2041,10,27,0,59,59],[2041,10,27,0,59,59],
+          '2041033101:00:00','2041033101:00:00','2041102700:59:59','2041102700:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2042,3,30,0,59,59],[2042,3,29,23,59,59],
+          '2041102701:00:00','2041102700:00:00','2042033000:59:59','2042032923:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2042,10,26,0,59,59],[2042,10,26,0,59,59],
+          '2042033001:00:00','2042033001:00:00','2042102600:59:59','2042102600:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2043,3,29,0,59,59],[2043,3,28,23,59,59],
+          '2042102601:00:00','2042102600:00:00','2043032900:59:59','2043032823:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2043,10,25,0,59,59],[2043,10,25,0,59,59],
+          '2043032901:00:00','2043032901:00:00','2043102500:59:59','2043102500:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2044,3,27,0,59,59],[2044,3,26,23,59,59],
+          '2043102501:00:00','2043102500:00:00','2044032700:59:59','2044032623:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2044,10,30,0,59,59],[2044,10,30,0,59,59],
+          '2044032701:00:00','2044032701:00:00','2044103000:59:59','2044103000:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2045,3,26,0,59,59],[2045,3,25,23,59,59],
+          '2044103001:00:00','2044103000:00:00','2045032600:59:59','2045032523:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2045,10,29,0,59,59],[2045,10,29,0,59,59],
+          '2045032601:00:00','2045032601:00:00','2045102900:59:59','2045102900:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2046,3,25,0,59,59],[2046,3,24,23,59,59],
+          '2045102901:00:00','2045102900:00:00','2046032500:59:59','2046032423:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2046,10,28,0,59,59],[2046,10,28,0,59,59],
+          '2046032501:00:00','2046032501:00:00','2046102800:59:59','2046102800:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2047,3,31,0,59,59],[2047,3,30,23,59,59],
+          '2046102801:00:00','2046102800:00:00','2047033100:59:59','2047033023:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2047,10,27,0,59,59],[2047,10,27,0,59,59],
+          '2047033101:00:00','2047033101:00:00','2047102700:59:59','2047102700:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2048,3,29,0,59,59],[2048,3,28,23,59,59],
+          '2047102701:00:00','2047102700:00:00','2048032900:59:59','2048032823:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2048,10,25,0,59,59],[2048,10,25,0,59,59],
+          '2048032901:00:00','2048032901:00:00','2048102500:59:59','2048102500:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2049,3,28,0,59,59],[2049,3,27,23,59,59],
+          '2048102501:00:00','2048102500:00:00','2049032800:59:59','2049032723:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2049,10,31,0,59,59],[2049,10,31,0,59,59],
+          '2049032801:00:00','2049032801:00:00','2049103100:59:59','2049103100:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2050,3,27,0,59,59],[2050,3,26,23,59,59],
+          '2049103101:00:00','2049103100:00:00','2050032700:59:59','2050032623:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2050,10,30,0,59,59],[2050,10,30,0,59,59],
+          '2050032701:00:00','2050032701:00:00','2050103000:59:59','2050103000:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2051,3,26,0,59,59],[2051,3,25,23,59,59],
+          '2050103001:00:00','2050103000:00:00','2051032600:59:59','2051032523:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2051,10,29,0,59,59],[2051,10,29,0,59,59],
+          '2051032601:00:00','2051032601:00:00','2051102900:59:59','2051102900:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2052,3,31,0,59,59],[2052,3,30,23,59,59],
+          '2051102901:00:00','2051102900:00:00','2052033100:59:59','2052033023:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2052,10,27,0,59,59],[2052,10,27,0,59,59],
+          '2052033101:00:00','2052033101:00:00','2052102700:59:59','2052102700:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2053,3,30,0,59,59],[2053,3,29,23,59,59],
+          '2052102701:00:00','2052102700:00:00','2053033000:59:59','2053032923:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2053,10,26,0,59,59],[2053,10,26,0,59,59],
+          '2053033001:00:00','2053033001:00:00','2053102600:59:59','2053102600:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2054,3,29,0,59,59],[2054,3,28,23,59,59],
+          '2053102601:00:00','2053102600:00:00','2054032900:59:59','2054032823:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2054,10,25,0,59,59],[2054,10,25,0,59,59],
+          '2054032901:00:00','2054032901:00:00','2054102500:59:59','2054102500:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2055,3,28,0,59,59],[2055,3,27,23,59,59],
+          '2054102501:00:00','2054102500:00:00','2055032800:59:59','2055032723:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2055,10,31,0,59,59],[2055,10,31,0,59,59],
+          '2055032801:00:00','2055032801:00:00','2055103100:59:59','2055103100:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2056,3,26,0,59,59],[2056,3,25,23,59,59],
+          '2055103101:00:00','2055103100:00:00','2056032600:59:59','2056032523:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2056,10,29,0,59,59],[2056,10,29,0,59,59],
+          '2056032601:00:00','2056032601:00:00','2056102900:59:59','2056102900:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2057,3,25,0,59,59],[2057,3,24,23,59,59],
+          '2056102901:00:00','2056102900:00:00','2057032500:59:59','2057032423:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2057,10,28,0,59,59],[2057,10,28,0,59,59],
+          '2057032501:00:00','2057032501:00:00','2057102800:59:59','2057102800:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2058,3,31,0,59,59],[2058,3,30,23,59,59],
+          '2057102801:00:00','2057102800:00:00','2058033100:59:59','2058033023:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2058,10,27,0,59,59],[2058,10,27,0,59,59],
+          '2058033101:00:00','2058033101:00:00','2058102700:59:59','2058102700:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2059,3,30,0,59,59],[2059,3,29,23,59,59],
+          '2058102701:00:00','2058102700:00:00','2059033000:59:59','2059032923:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2059,10,26,0,59,59],[2059,10,26,0,59,59],
+          '2059033001:00:00','2059033001:00:00','2059102600:59:59','2059102600:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2060,3,28,0,59,59],[2060,3,27,23,59,59],
+          '2059102601:00:00','2059102600:00:00','2060032800:59:59','2060032723:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2060,10,31,0,59,59],[2060,10,31,0,59,59],
+          '2060032801:00:00','2060032801:00:00','2060103100:59:59','2060103100:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2061,3,27,0,59,59],[2061,3,26,23,59,59],
+          '2060103101:00:00','2060103100:00:00','2061032700:59:59','2061032623:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2061,10,30,0,59,59],[2061,10,30,0,59,59],
+          '2061032701:00:00','2061032701:00:00','2061103000:59:59','2061103000:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2062,3,26,0,59,59],[2062,3,25,23,59,59],
+          '2061103001:00:00','2061103000:00:00','2062032600:59:59','2062032523:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2062,10,29,0,59,59],[2062,10,29,0,59,59],
+          '2062032601:00:00','2062032601:00:00','2062102900:59:59','2062102900:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2063,3,25,0,59,59],[2063,3,24,23,59,59],
+          '2062102901:00:00','2062102900:00:00','2063032500:59:59','2063032423:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2063,10,28,0,59,59],[2063,10,28,0,59,59],
+          '2063032501:00:00','2063032501:00:00','2063102800:59:59','2063102800:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2064,3,30,0,59,59],[2064,3,29,23,59,59],
+          '2063102801:00:00','2063102800:00:00','2064033000:59:59','2064032923:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2064,10,26,0,59,59],[2064,10,26,0,59,59],
+          '2064033001:00:00','2064033001:00:00','2064102600:59:59','2064102600:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2065,3,29,0,59,59],[2065,3,28,23,59,59],
+          '2064102601:00:00','2064102600:00:00','2065032900:59:59','2065032823:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2065,10,25,0,59,59],[2065,10,25,0,59,59],
+          '2065032901:00:00','2065032901:00:00','2065102500:59:59','2065102500:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2066,3,28,0,59,59],[2066,3,27,23,59,59],
+          '2065102501:00:00','2065102500:00:00','2066032800:59:59','2066032723:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2066,10,31,0,59,59],[2066,10,31,0,59,59],
+          '2066032801:00:00','2066032801:00:00','2066103100:59:59','2066103100:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2067,3,27,0,59,59],[2067,3,26,23,59,59],
+          '2066103101:00:00','2066103100:00:00','2067032700:59:59','2067032623:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2067,10,30,0,59,59],[2067,10,30,0,59,59],
+          '2067032701:00:00','2067032701:00:00','2067103000:59:59','2067103000:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2068,3,25,0,59,59],[2068,3,24,23,59,59],
+          '2067103001:00:00','2067103000:00:00','2068032500:59:59','2068032423:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+00:00:00',
+                'stdoff' => '-01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+00',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-01',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amsitk00.pm b/lib/Date/Manip/TZ/amsitk00.pm
new file mode 100644
index 0000000..0030746
--- /dev/null
+++ b/lib/Date/Manip/TZ/amsitk00.pm
@@ -0,0 +1,988 @@
+package #
+Date::Manip::TZ::amsitk00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,14,58,47],'+14:58:47',[14,58,47],
+          'LMT',0,[1867,10,17,9,1,12],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010214:58:47','1867101709:01:12','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,9,1,13],[1867,10,17,0,0,0],'-09:01:13',[-9,-1,-13],
+          'LMT',0,[1900,8,20,21,1,12],[1900,8,20,11,59,59],
+          '1867101709:01:13','1867101700:00:00','1900082021:01:12','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,21,1,13],[1900,8,20,13,1,13],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1900082021:01:13','1900082013:01:13','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,1,6,9,59,59],[1974,1,6,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974010609:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,10,0,0],[1974,1,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974010610:00:00','1974010603:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,2,23,9,59,59],[1975,2,23,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975022309:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,10,0,0],[1975,2,23,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975022310:00:00','1975022303:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,0,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,11,30,8,59,59],[1983,11,29,23,59,59],
+          '1983103009:00:00','1983103000:00:00','1983113008:59:59','1983112923:59:59' ],
+        [ [1983,11,30,9,0,0],[1983,11,30,0,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1984,4,29,10,59,59],[1984,4,29,1,59,59],
+          '1983113009:00:00','1983113000:00:00','1984042910:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,11,0,0],[1984,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1984,10,28,9,59,59],[1984,10,28,1,59,59],
+          '1984042911:00:00','1984042903:00:00','1984102809:59:59','1984102801:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1985,4,28,10,59,59],[1985,4,28,1,59,59],
+          '1984102810:00:00','1984102801:00:00','1985042810:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,11,0,0],[1985,4,28,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1985,10,27,9,59,59],[1985,10,27,1,59,59],
+          '1985042811:00:00','1985042803:00:00','1985102709:59:59','1985102701:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1986,4,27,10,59,59],[1986,4,27,1,59,59],
+          '1985102710:00:00','1985102701:00:00','1986042710:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,11,0,0],[1986,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1986,10,26,9,59,59],[1986,10,26,1,59,59],
+          '1986042711:00:00','1986042703:00:00','1986102609:59:59','1986102601:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1987,4,5,10,59,59],[1987,4,5,1,59,59],
+          '1986102610:00:00','1986102601:00:00','1987040510:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,11,0,0],[1987,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1987,10,25,9,59,59],[1987,10,25,1,59,59],
+          '1987040511:00:00','1987040503:00:00','1987102509:59:59','1987102501:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1988,4,3,10,59,59],[1988,4,3,1,59,59],
+          '1987102510:00:00','1987102501:00:00','1988040310:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,11,0,0],[1988,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1988,10,30,9,59,59],[1988,10,30,1,59,59],
+          '1988040311:00:00','1988040303:00:00','1988103009:59:59','1988103001:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1989,4,2,10,59,59],[1989,4,2,1,59,59],
+          '1988103010:00:00','1988103001:00:00','1989040210:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,11,0,0],[1989,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1989,10,29,9,59,59],[1989,10,29,1,59,59],
+          '1989040211:00:00','1989040203:00:00','1989102909:59:59','1989102901:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1990,4,1,10,59,59],[1990,4,1,1,59,59],
+          '1989102910:00:00','1989102901:00:00','1990040110:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,11,0,0],[1990,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1990,10,28,9,59,59],[1990,10,28,1,59,59],
+          '1990040111:00:00','1990040103:00:00','1990102809:59:59','1990102801:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1991,4,7,10,59,59],[1991,4,7,1,59,59],
+          '1990102810:00:00','1990102801:00:00','1991040710:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,11,0,0],[1991,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1991,10,27,9,59,59],[1991,10,27,1,59,59],
+          '1991040711:00:00','1991040703:00:00','1991102709:59:59','1991102701:59:59' ],
+        [ [1991,10,27,10,0,0],[1991,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1992,4,5,10,59,59],[1992,4,5,1,59,59],
+          '1991102710:00:00','1991102701:00:00','1992040510:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,11,0,0],[1992,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1992,10,25,9,59,59],[1992,10,25,1,59,59],
+          '1992040511:00:00','1992040503:00:00','1992102509:59:59','1992102501:59:59' ],
+        [ [1992,10,25,10,0,0],[1992,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1993,4,4,10,59,59],[1993,4,4,1,59,59],
+          '1992102510:00:00','1992102501:00:00','1993040410:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,11,0,0],[1993,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1993,10,31,9,59,59],[1993,10,31,1,59,59],
+          '1993040411:00:00','1993040403:00:00','1993103109:59:59','1993103101:59:59' ],
+        [ [1993,10,31,10,0,0],[1993,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1994,4,3,10,59,59],[1994,4,3,1,59,59],
+          '1993103110:00:00','1993103101:00:00','1994040310:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,11,0,0],[1994,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1994,10,30,9,59,59],[1994,10,30,1,59,59],
+          '1994040311:00:00','1994040303:00:00','1994103009:59:59','1994103001:59:59' ],
+        [ [1994,10,30,10,0,0],[1994,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1995,4,2,10,59,59],[1995,4,2,1,59,59],
+          '1994103010:00:00','1994103001:00:00','1995040210:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,11,0,0],[1995,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1995,10,29,9,59,59],[1995,10,29,1,59,59],
+          '1995040211:00:00','1995040203:00:00','1995102909:59:59','1995102901:59:59' ],
+        [ [1995,10,29,10,0,0],[1995,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1996,4,7,10,59,59],[1996,4,7,1,59,59],
+          '1995102910:00:00','1995102901:00:00','1996040710:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,11,0,0],[1996,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1996,10,27,9,59,59],[1996,10,27,1,59,59],
+          '1996040711:00:00','1996040703:00:00','1996102709:59:59','1996102701:59:59' ],
+        [ [1996,10,27,10,0,0],[1996,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1997,4,6,10,59,59],[1997,4,6,1,59,59],
+          '1996102710:00:00','1996102701:00:00','1997040610:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,11,0,0],[1997,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1997,10,26,9,59,59],[1997,10,26,1,59,59],
+          '1997040611:00:00','1997040603:00:00','1997102609:59:59','1997102601:59:59' ],
+        [ [1997,10,26,10,0,0],[1997,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1998,4,5,10,59,59],[1998,4,5,1,59,59],
+          '1997102610:00:00','1997102601:00:00','1998040510:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,11,0,0],[1998,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1998,10,25,9,59,59],[1998,10,25,1,59,59],
+          '1998040511:00:00','1998040503:00:00','1998102509:59:59','1998102501:59:59' ],
+        [ [1998,10,25,10,0,0],[1998,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1999,4,4,10,59,59],[1999,4,4,1,59,59],
+          '1998102510:00:00','1998102501:00:00','1999040410:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,11,0,0],[1999,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1999,10,31,9,59,59],[1999,10,31,1,59,59],
+          '1999040411:00:00','1999040403:00:00','1999103109:59:59','1999103101:59:59' ],
+        [ [1999,10,31,10,0,0],[1999,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2000,4,2,10,59,59],[2000,4,2,1,59,59],
+          '1999103110:00:00','1999103101:00:00','2000040210:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,11,0,0],[2000,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2000,10,29,9,59,59],[2000,10,29,1,59,59],
+          '2000040211:00:00','2000040203:00:00','2000102909:59:59','2000102901:59:59' ],
+        [ [2000,10,29,10,0,0],[2000,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2001,4,1,10,59,59],[2001,4,1,1,59,59],
+          '2000102910:00:00','2000102901:00:00','2001040110:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,11,0,0],[2001,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2001,10,28,9,59,59],[2001,10,28,1,59,59],
+          '2001040111:00:00','2001040103:00:00','2001102809:59:59','2001102801:59:59' ],
+        [ [2001,10,28,10,0,0],[2001,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2002,4,7,10,59,59],[2002,4,7,1,59,59],
+          '2001102810:00:00','2001102801:00:00','2002040710:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,11,0,0],[2002,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2002,10,27,9,59,59],[2002,10,27,1,59,59],
+          '2002040711:00:00','2002040703:00:00','2002102709:59:59','2002102701:59:59' ],
+        [ [2002,10,27,10,0,0],[2002,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2003,4,6,10,59,59],[2003,4,6,1,59,59],
+          '2002102710:00:00','2002102701:00:00','2003040610:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,11,0,0],[2003,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2003,10,26,9,59,59],[2003,10,26,1,59,59],
+          '2003040611:00:00','2003040603:00:00','2003102609:59:59','2003102601:59:59' ],
+        [ [2003,10,26,10,0,0],[2003,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2004,4,4,10,59,59],[2004,4,4,1,59,59],
+          '2003102610:00:00','2003102601:00:00','2004040410:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,11,0,0],[2004,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2004,10,31,9,59,59],[2004,10,31,1,59,59],
+          '2004040411:00:00','2004040403:00:00','2004103109:59:59','2004103101:59:59' ],
+        [ [2004,10,31,10,0,0],[2004,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2005,4,3,10,59,59],[2005,4,3,1,59,59],
+          '2004103110:00:00','2004103101:00:00','2005040310:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,11,0,0],[2005,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2005,10,30,9,59,59],[2005,10,30,1,59,59],
+          '2005040311:00:00','2005040303:00:00','2005103009:59:59','2005103001:59:59' ],
+        [ [2005,10,30,10,0,0],[2005,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2006,4,2,10,59,59],[2006,4,2,1,59,59],
+          '2005103010:00:00','2005103001:00:00','2006040210:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,11,0,0],[2006,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2006,10,29,9,59,59],[2006,10,29,1,59,59],
+          '2006040211:00:00','2006040203:00:00','2006102909:59:59','2006102901:59:59' ],
+        [ [2006,10,29,10,0,0],[2006,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2007,3,11,10,59,59],[2007,3,11,1,59,59],
+          '2006102910:00:00','2006102901:00:00','2007031110:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,11,0,0],[2007,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2007,11,4,9,59,59],[2007,11,4,1,59,59],
+          '2007031111:00:00','2007031103:00:00','2007110409:59:59','2007110401:59:59' ],
+        [ [2007,11,4,10,0,0],[2007,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2008,3,9,10,59,59],[2008,3,9,1,59,59],
+          '2007110410:00:00','2007110401:00:00','2008030910:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,11,0,0],[2008,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2008,11,2,9,59,59],[2008,11,2,1,59,59],
+          '2008030911:00:00','2008030903:00:00','2008110209:59:59','2008110201:59:59' ],
+        [ [2008,11,2,10,0,0],[2008,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2009,3,8,10,59,59],[2009,3,8,1,59,59],
+          '2008110210:00:00','2008110201:00:00','2009030810:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,11,0,0],[2009,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2009,11,1,9,59,59],[2009,11,1,1,59,59],
+          '2009030811:00:00','2009030803:00:00','2009110109:59:59','2009110101:59:59' ],
+        [ [2009,11,1,10,0,0],[2009,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2010,3,14,10,59,59],[2010,3,14,1,59,59],
+          '2009110110:00:00','2009110101:00:00','2010031410:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,11,0,0],[2010,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2010,11,7,9,59,59],[2010,11,7,1,59,59],
+          '2010031411:00:00','2010031403:00:00','2010110709:59:59','2010110701:59:59' ],
+        [ [2010,11,7,10,0,0],[2010,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2011,3,13,10,59,59],[2011,3,13,1,59,59],
+          '2010110710:00:00','2010110701:00:00','2011031310:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,11,0,0],[2011,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2011,11,6,9,59,59],[2011,11,6,1,59,59],
+          '2011031311:00:00','2011031303:00:00','2011110609:59:59','2011110601:59:59' ],
+        [ [2011,11,6,10,0,0],[2011,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2012,3,11,10,59,59],[2012,3,11,1,59,59],
+          '2011110610:00:00','2011110601:00:00','2012031110:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,11,0,0],[2012,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2012,11,4,9,59,59],[2012,11,4,1,59,59],
+          '2012031111:00:00','2012031103:00:00','2012110409:59:59','2012110401:59:59' ],
+        [ [2012,11,4,10,0,0],[2012,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2013,3,10,10,59,59],[2013,3,10,1,59,59],
+          '2012110410:00:00','2012110401:00:00','2013031010:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,11,0,0],[2013,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2013,11,3,9,59,59],[2013,11,3,1,59,59],
+          '2013031011:00:00','2013031003:00:00','2013110309:59:59','2013110301:59:59' ],
+        [ [2013,11,3,10,0,0],[2013,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2014,3,9,10,59,59],[2014,3,9,1,59,59],
+          '2013110310:00:00','2013110301:00:00','2014030910:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,11,0,0],[2014,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2014,11,2,9,59,59],[2014,11,2,1,59,59],
+          '2014030911:00:00','2014030903:00:00','2014110209:59:59','2014110201:59:59' ],
+        [ [2014,11,2,10,0,0],[2014,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2015,3,8,10,59,59],[2015,3,8,1,59,59],
+          '2014110210:00:00','2014110201:00:00','2015030810:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,11,0,0],[2015,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '2015030811:00:00','2015030803:00:00','2015110109:59:59','2015110101:59:59' ],
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amst_j00.pm b/lib/Date/Manip/TZ/amst_j00.pm
new file mode 100644
index 0000000..0e685e2
--- /dev/null
+++ b/lib/Date/Manip/TZ/amst_j00.pm
@@ -0,0 +1,1414 @@
+package #
+Date::Manip::TZ::amst_j00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,29,8],'-03:30:52',[-3,-30,-52],
+          'LMT',0,[1884,1,1,3,30,51],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010120:29:08','1884010103:30:51','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,3,30,52],[1884,1,1,0,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1917,4,8,5,30,51],[1917,4,8,1,59,59],
+          '1884010103:30:52','1884010100:00:00','1917040805:30:51','1917040801:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,8,5,30,52],[1917,4,8,3,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1917,9,17,4,30,51],[1917,9,17,1,59,59],
+          '1917040805:30:52','1917040803:00:00','1917091704:30:51','1917091701:59:59' ],
+        [ [1917,9,17,4,30,52],[1917,9,17,1,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1918,4,14,5,30,51],[1918,4,14,1,59,59],
+          '1917091704:30:52','1917091701:00:00','1918041405:30:51','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,5,30,52],[1918,4,14,3,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1918,10,27,4,30,51],[1918,10,27,1,59,59],
+          '1918041405:30:52','1918041403:00:00','1918102704:30:51','1918102701:59:59' ],
+        [ [1918,10,27,4,30,52],[1918,10,27,1,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1919,5,6,2,30,51],[1919,5,5,22,59,59],
+          '1918102704:30:52','1918102701:00:00','1919050602:30:51','1919050522:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,5,6,2,30,52],[1919,5,6,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1919,8,13,1,30,51],[1919,8,12,22,59,59],
+          '1919050602:30:52','1919050600:00:00','1919081301:30:51','1919081222:59:59' ],
+        [ [1919,8,13,1,30,52],[1919,8,12,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1920,5,3,2,30,51],[1920,5,2,22,59,59],
+          '1919081301:30:52','1919081222:00:00','1920050302:30:51','1920050222:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,3,2,30,52],[1920,5,3,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1920,11,1,1,30,51],[1920,10,31,22,59,59],
+          '1920050302:30:52','1920050300:00:00','1920110101:30:51','1920103122:59:59' ],
+        [ [1920,11,1,1,30,52],[1920,10,31,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1921,5,2,2,30,51],[1921,5,1,22,59,59],
+          '1920110101:30:52','1920103122:00:00','1921050202:30:51','1921050122:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,5,2,2,30,52],[1921,5,2,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1921,10,31,1,30,51],[1921,10,30,22,59,59],
+          '1921050202:30:52','1921050200:00:00','1921103101:30:51','1921103022:59:59' ],
+        [ [1921,10,31,1,30,52],[1921,10,30,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1922,5,8,2,30,51],[1922,5,7,22,59,59],
+          '1921103101:30:52','1921103022:00:00','1922050802:30:51','1922050722:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,5,8,2,30,52],[1922,5,8,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1922,10,30,1,30,51],[1922,10,29,22,59,59],
+          '1922050802:30:52','1922050800:00:00','1922103001:30:51','1922102922:59:59' ],
+        [ [1922,10,30,1,30,52],[1922,10,29,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1923,5,7,2,30,51],[1923,5,6,22,59,59],
+          '1922103001:30:52','1922102922:00:00','1923050702:30:51','1923050622:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,7,2,30,52],[1923,5,7,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1923,10,29,1,30,51],[1923,10,28,22,59,59],
+          '1923050702:30:52','1923050700:00:00','1923102901:30:51','1923102822:59:59' ],
+        [ [1923,10,29,1,30,52],[1923,10,28,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1924,5,5,2,30,51],[1924,5,4,22,59,59],
+          '1923102901:30:52','1923102822:00:00','1924050502:30:51','1924050422:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,5,2,30,52],[1924,5,5,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1924,10,27,1,30,51],[1924,10,26,22,59,59],
+          '1924050502:30:52','1924050500:00:00','1924102701:30:51','1924102622:59:59' ],
+        [ [1924,10,27,1,30,52],[1924,10,26,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1925,5,4,2,30,51],[1925,5,3,22,59,59],
+          '1924102701:30:52','1924102622:00:00','1925050402:30:51','1925050322:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,5,4,2,30,52],[1925,5,4,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1925,10,26,1,30,51],[1925,10,25,22,59,59],
+          '1925050402:30:52','1925050400:00:00','1925102601:30:51','1925102522:59:59' ],
+        [ [1925,10,26,1,30,52],[1925,10,25,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1926,5,3,2,30,51],[1926,5,2,22,59,59],
+          '1925102601:30:52','1925102522:00:00','1926050302:30:51','1926050222:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,5,3,2,30,52],[1926,5,3,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1926,11,1,1,30,51],[1926,10,31,22,59,59],
+          '1926050302:30:52','1926050300:00:00','1926110101:30:51','1926103122:59:59' ],
+        [ [1926,11,1,1,30,52],[1926,10,31,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1927,5,2,2,30,51],[1927,5,1,22,59,59],
+          '1926110101:30:52','1926103122:00:00','1927050202:30:51','1927050122:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,5,2,2,30,52],[1927,5,2,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1927,10,31,1,30,51],[1927,10,30,22,59,59],
+          '1927050202:30:52','1927050200:00:00','1927103101:30:51','1927103022:59:59' ],
+        [ [1927,10,31,1,30,52],[1927,10,30,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1928,5,7,2,30,51],[1928,5,6,22,59,59],
+          '1927103101:30:52','1927103022:00:00','1928050702:30:51','1928050622:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,5,7,2,30,52],[1928,5,7,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1928,10,29,1,30,51],[1928,10,28,22,59,59],
+          '1928050702:30:52','1928050700:00:00','1928102901:30:51','1928102822:59:59' ],
+        [ [1928,10,29,1,30,52],[1928,10,28,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1929,5,6,2,30,51],[1929,5,5,22,59,59],
+          '1928102901:30:52','1928102822:00:00','1929050602:30:51','1929050522:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,5,6,2,30,52],[1929,5,6,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1929,10,28,1,30,51],[1929,10,27,22,59,59],
+          '1929050602:30:52','1929050600:00:00','1929102801:30:51','1929102722:59:59' ],
+        [ [1929,10,28,1,30,52],[1929,10,27,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1930,5,5,2,30,51],[1930,5,4,22,59,59],
+          '1929102801:30:52','1929102722:00:00','1930050502:30:51','1930050422:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,5,5,2,30,52],[1930,5,5,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1930,10,27,1,30,51],[1930,10,26,22,59,59],
+          '1930050502:30:52','1930050500:00:00','1930102701:30:51','1930102622:59:59' ],
+        [ [1930,10,27,1,30,52],[1930,10,26,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1931,5,4,2,30,51],[1931,5,3,22,59,59],
+          '1930102701:30:52','1930102622:00:00','1931050402:30:51','1931050322:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,4,2,30,52],[1931,5,4,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1931,10,26,1,30,51],[1931,10,25,22,59,59],
+          '1931050402:30:52','1931050400:00:00','1931102601:30:51','1931102522:59:59' ],
+        [ [1931,10,26,1,30,52],[1931,10,25,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1932,5,2,2,30,51],[1932,5,1,22,59,59],
+          '1931102601:30:52','1931102522:00:00','1932050202:30:51','1932050122:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,2,2,30,52],[1932,5,2,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1932,10,31,1,30,51],[1932,10,30,22,59,59],
+          '1932050202:30:52','1932050200:00:00','1932103101:30:51','1932103022:59:59' ],
+        [ [1932,10,31,1,30,52],[1932,10,30,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1933,5,8,2,30,51],[1933,5,7,22,59,59],
+          '1932103101:30:52','1932103022:00:00','1933050802:30:51','1933050722:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,5,8,2,30,52],[1933,5,8,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1933,10,30,1,30,51],[1933,10,29,22,59,59],
+          '1933050802:30:52','1933050800:00:00','1933103001:30:51','1933102922:59:59' ],
+        [ [1933,10,30,1,30,52],[1933,10,29,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1934,5,7,2,30,51],[1934,5,6,22,59,59],
+          '1933103001:30:52','1933102922:00:00','1934050702:30:51','1934050622:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,5,7,2,30,52],[1934,5,7,0,0,0],'-02:30:52',[-2,-30,-52],
+          'NDT',1,[1934,10,29,1,30,51],[1934,10,28,22,59,59],
+          '1934050702:30:52','1934050700:00:00','1934102901:30:51','1934102822:59:59' ],
+        [ [1934,10,29,1,30,52],[1934,10,28,22,0,0],'-03:30:52',[-3,-30,-52],
+          'NST',0,[1935,3,30,3,30,51],[1935,3,29,23,59,59],
+          '1934102901:30:52','1934102822:00:00','1935033003:30:51','1935032923:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,30,3,30,52],[1935,3,30,0,0,52],'-03:30:00',[-3,-30,0],
+          'NST',0,[1935,5,6,2,29,59],[1935,5,5,22,59,59],
+          '1935033003:30:52','1935033000:00:52','1935050602:29:59','1935050522:59:59' ],
+        [ [1935,5,6,2,30,0],[1935,5,6,0,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1935,10,28,1,29,59],[1935,10,27,22,59,59],
+          '1935050602:30:00','1935050600:00:00','1935102801:29:59','1935102722:59:59' ],
+        [ [1935,10,28,1,30,0],[1935,10,27,22,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1936,5,11,3,29,59],[1936,5,10,23,59,59],
+          '1935102801:30:00','1935102722:00:00','1936051103:29:59','1936051023:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,5,11,3,30,0],[1936,5,11,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1936,10,5,2,29,59],[1936,10,4,23,59,59],
+          '1936051103:30:00','1936051101:00:00','1936100502:29:59','1936100423:59:59' ],
+        [ [1936,10,5,2,30,0],[1936,10,4,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1937,5,10,3,29,59],[1937,5,9,23,59,59],
+          '1936100502:30:00','1936100423:00:00','1937051003:29:59','1937050923:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,5,10,3,30,0],[1937,5,10,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1937,10,4,2,29,59],[1937,10,3,23,59,59],
+          '1937051003:30:00','1937051001:00:00','1937100402:29:59','1937100323:59:59' ],
+        [ [1937,10,4,2,30,0],[1937,10,3,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1938,5,9,3,29,59],[1938,5,8,23,59,59],
+          '1937100402:30:00','1937100323:00:00','1938050903:29:59','1938050823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,5,9,3,30,0],[1938,5,9,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1938,10,3,2,29,59],[1938,10,2,23,59,59],
+          '1938050903:30:00','1938050901:00:00','1938100302:29:59','1938100223:59:59' ],
+        [ [1938,10,3,2,30,0],[1938,10,2,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1939,5,15,3,29,59],[1939,5,14,23,59,59],
+          '1938100302:30:00','1938100223:00:00','1939051503:29:59','1939051423:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,5,15,3,30,0],[1939,5,15,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1939,10,2,2,29,59],[1939,10,1,23,59,59],
+          '1939051503:30:00','1939051501:00:00','1939100202:29:59','1939100123:59:59' ],
+        [ [1939,10,2,2,30,0],[1939,10,1,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1940,5,13,3,29,59],[1940,5,12,23,59,59],
+          '1939100202:30:00','1939100123:00:00','1940051303:29:59','1940051223:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,13,3,30,0],[1940,5,13,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1940,10,7,2,29,59],[1940,10,6,23,59,59],
+          '1940051303:30:00','1940051301:00:00','1940100702:29:59','1940100623:59:59' ],
+        [ [1940,10,7,2,30,0],[1940,10,6,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1941,5,12,3,29,59],[1941,5,11,23,59,59],
+          '1940100702:30:00','1940100623:00:00','1941051203:29:59','1941051123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,12,3,30,0],[1941,5,12,1,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1941,10,6,2,29,59],[1941,10,5,23,59,59],
+          '1941051203:30:00','1941051201:00:00','1941100602:29:59','1941100523:59:59' ],
+        [ [1941,10,6,2,30,0],[1941,10,5,23,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1942,5,11,3,29,59],[1942,5,10,23,59,59],
+          '1941100602:30:00','1941100523:00:00','1942051103:29:59','1942051023:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,11,3,30,0],[1942,5,11,1,0,0],'-02:30:00',[-2,-30,0],
+          'NWT',1,[1945,8,14,22,59,59],[1945,8,14,20,29,59],
+          '1942051103:30:00','1942051101:00:00','1945081422:59:59','1945081420:29:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,20,30,0],'-02:30:00',[-2,-30,0],
+          'NPT',1,[1945,9,30,4,29,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081420:30:00','1945093004:29:59','1945093001:59:59' ],
+        [ [1945,9,30,4,30,0],[1945,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1946,5,12,5,29,59],[1946,5,12,1,59,59],
+          '1945093004:30:00','1945093001:00:00','1946051205:29:59','1946051201:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,12,5,30,0],[1946,5,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1946,10,6,4,29,59],[1946,10,6,1,59,59],
+          '1946051205:30:00','1946051203:00:00','1946100604:29:59','1946100601:59:59' ],
+        [ [1946,10,6,4,30,0],[1946,10,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1947,5,11,5,29,59],[1947,5,11,1,59,59],
+          '1946100604:30:00','1946100601:00:00','1947051105:29:59','1947051101:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,5,11,5,30,0],[1947,5,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1947,10,5,4,29,59],[1947,10,5,1,59,59],
+          '1947051105:30:00','1947051103:00:00','1947100504:29:59','1947100501:59:59' ],
+        [ [1947,10,5,4,30,0],[1947,10,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1948,5,9,5,29,59],[1948,5,9,1,59,59],
+          '1947100504:30:00','1947100501:00:00','1948050905:29:59','1948050901:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,9,5,30,0],[1948,5,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1948,10,3,4,29,59],[1948,10,3,1,59,59],
+          '1948050905:30:00','1948050903:00:00','1948100304:29:59','1948100301:59:59' ],
+        [ [1948,10,3,4,30,0],[1948,10,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1949,5,8,5,29,59],[1949,5,8,1,59,59],
+          '1948100304:30:00','1948100301:00:00','1949050805:29:59','1949050801:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,5,8,5,30,0],[1949,5,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1949,10,2,4,29,59],[1949,10,2,1,59,59],
+          '1949050805:30:00','1949050803:00:00','1949100204:29:59','1949100201:59:59' ],
+        [ [1949,10,2,4,30,0],[1949,10,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1950,5,14,5,29,59],[1950,5,14,1,59,59],
+          '1949100204:30:00','1949100201:00:00','1950051405:29:59','1950051401:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,5,14,5,30,0],[1950,5,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1950,10,8,4,29,59],[1950,10,8,1,59,59],
+          '1950051405:30:00','1950051403:00:00','1950100804:29:59','1950100801:59:59' ],
+        [ [1950,10,8,4,30,0],[1950,10,8,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1951,4,29,5,29,59],[1951,4,29,1,59,59],
+          '1950100804:30:00','1950100801:00:00','1951042905:29:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,5,30,0],[1951,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1951,9,30,4,29,59],[1951,9,30,1,59,59],
+          '1951042905:30:00','1951042903:00:00','1951093004:29:59','1951093001:59:59' ],
+        [ [1951,9,30,4,30,0],[1951,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1952,4,27,5,29,59],[1952,4,27,1,59,59],
+          '1951093004:30:00','1951093001:00:00','1952042705:29:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,5,30,0],[1952,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1952,9,28,4,29,59],[1952,9,28,1,59,59],
+          '1952042705:30:00','1952042703:00:00','1952092804:29:59','1952092801:59:59' ],
+        [ [1952,9,28,4,30,0],[1952,9,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1953,4,26,5,29,59],[1953,4,26,1,59,59],
+          '1952092804:30:00','1952092801:00:00','1953042605:29:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,5,30,0],[1953,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1953,9,27,4,29,59],[1953,9,27,1,59,59],
+          '1953042605:30:00','1953042603:00:00','1953092704:29:59','1953092701:59:59' ],
+        [ [1953,9,27,4,30,0],[1953,9,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1954,4,25,5,29,59],[1954,4,25,1,59,59],
+          '1953092704:30:00','1953092701:00:00','1954042505:29:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,5,30,0],[1954,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1954,9,26,4,29,59],[1954,9,26,1,59,59],
+          '1954042505:30:00','1954042503:00:00','1954092604:29:59','1954092601:59:59' ],
+        [ [1954,9,26,4,30,0],[1954,9,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1955,4,24,5,29,59],[1955,4,24,1,59,59],
+          '1954092604:30:00','1954092601:00:00','1955042405:29:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,5,30,0],[1955,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1955,9,25,4,29,59],[1955,9,25,1,59,59],
+          '1955042405:30:00','1955042403:00:00','1955092504:29:59','1955092501:59:59' ],
+        [ [1955,9,25,4,30,0],[1955,9,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1956,4,29,5,29,59],[1956,4,29,1,59,59],
+          '1955092504:30:00','1955092501:00:00','1956042905:29:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,5,30,0],[1956,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1956,9,30,4,29,59],[1956,9,30,1,59,59],
+          '1956042905:30:00','1956042903:00:00','1956093004:29:59','1956093001:59:59' ],
+        [ [1956,9,30,4,30,0],[1956,9,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1957,4,28,5,29,59],[1957,4,28,1,59,59],
+          '1956093004:30:00','1956093001:00:00','1957042805:29:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,5,30,0],[1957,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1957,9,29,4,29,59],[1957,9,29,1,59,59],
+          '1957042805:30:00','1957042803:00:00','1957092904:29:59','1957092901:59:59' ],
+        [ [1957,9,29,4,30,0],[1957,9,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1958,4,27,5,29,59],[1958,4,27,1,59,59],
+          '1957092904:30:00','1957092901:00:00','1958042705:29:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,5,30,0],[1958,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1958,9,28,4,29,59],[1958,9,28,1,59,59],
+          '1958042705:30:00','1958042703:00:00','1958092804:29:59','1958092801:59:59' ],
+        [ [1958,9,28,4,30,0],[1958,9,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1959,4,26,5,29,59],[1959,4,26,1,59,59],
+          '1958092804:30:00','1958092801:00:00','1959042605:29:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,5,30,0],[1959,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1959,9,27,4,29,59],[1959,9,27,1,59,59],
+          '1959042605:30:00','1959042603:00:00','1959092704:29:59','1959092701:59:59' ],
+        [ [1959,9,27,4,30,0],[1959,9,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1960,4,24,5,29,59],[1960,4,24,1,59,59],
+          '1959092704:30:00','1959092701:00:00','1960042405:29:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,5,30,0],[1960,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1960,10,30,4,29,59],[1960,10,30,1,59,59],
+          '1960042405:30:00','1960042403:00:00','1960103004:29:59','1960103001:59:59' ],
+        [ [1960,10,30,4,30,0],[1960,10,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1961,4,30,5,29,59],[1961,4,30,1,59,59],
+          '1960103004:30:00','1960103001:00:00','1961043005:29:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,5,30,0],[1961,4,30,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1961,10,29,4,29,59],[1961,10,29,1,59,59],
+          '1961043005:30:00','1961043003:00:00','1961102904:29:59','1961102901:59:59' ],
+        [ [1961,10,29,4,30,0],[1961,10,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1962,4,29,5,29,59],[1962,4,29,1,59,59],
+          '1961102904:30:00','1961102901:00:00','1962042905:29:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,5,30,0],[1962,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1962,10,28,4,29,59],[1962,10,28,1,59,59],
+          '1962042905:30:00','1962042903:00:00','1962102804:29:59','1962102801:59:59' ],
+        [ [1962,10,28,4,30,0],[1962,10,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1963,4,28,5,29,59],[1963,4,28,1,59,59],
+          '1962102804:30:00','1962102801:00:00','1963042805:29:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,5,30,0],[1963,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1963,10,27,4,29,59],[1963,10,27,1,59,59],
+          '1963042805:30:00','1963042803:00:00','1963102704:29:59','1963102701:59:59' ],
+        [ [1963,10,27,4,30,0],[1963,10,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1964,4,26,5,29,59],[1964,4,26,1,59,59],
+          '1963102704:30:00','1963102701:00:00','1964042605:29:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,5,30,0],[1964,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1964,10,25,4,29,59],[1964,10,25,1,59,59],
+          '1964042605:30:00','1964042603:00:00','1964102504:29:59','1964102501:59:59' ],
+        [ [1964,10,25,4,30,0],[1964,10,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1965,4,25,5,29,59],[1965,4,25,1,59,59],
+          '1964102504:30:00','1964102501:00:00','1965042505:29:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,5,30,0],[1965,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1965,10,31,4,29,59],[1965,10,31,1,59,59],
+          '1965042505:30:00','1965042503:00:00','1965103104:29:59','1965103101:59:59' ],
+        [ [1965,10,31,4,30,0],[1965,10,31,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1966,4,24,5,29,59],[1966,4,24,1,59,59],
+          '1965103104:30:00','1965103101:00:00','1966042405:29:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,5,30,0],[1966,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1966,10,30,4,29,59],[1966,10,30,1,59,59],
+          '1966042405:30:00','1966042403:00:00','1966103004:29:59','1966103001:59:59' ],
+        [ [1966,10,30,4,30,0],[1966,10,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1967,4,30,5,29,59],[1967,4,30,1,59,59],
+          '1966103004:30:00','1966103001:00:00','1967043005:29:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,5,30,0],[1967,4,30,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1967,10,29,4,29,59],[1967,10,29,1,59,59],
+          '1967043005:30:00','1967043003:00:00','1967102904:29:59','1967102901:59:59' ],
+        [ [1967,10,29,4,30,0],[1967,10,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1968,4,28,5,29,59],[1968,4,28,1,59,59],
+          '1967102904:30:00','1967102901:00:00','1968042805:29:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,5,30,0],[1968,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1968,10,27,4,29,59],[1968,10,27,1,59,59],
+          '1968042805:30:00','1968042803:00:00','1968102704:29:59','1968102701:59:59' ],
+        [ [1968,10,27,4,30,0],[1968,10,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1969,4,27,5,29,59],[1969,4,27,1,59,59],
+          '1968102704:30:00','1968102701:00:00','1969042705:29:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,5,30,0],[1969,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1969,10,26,4,29,59],[1969,10,26,1,59,59],
+          '1969042705:30:00','1969042703:00:00','1969102604:29:59','1969102601:59:59' ],
+        [ [1969,10,26,4,30,0],[1969,10,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1970,4,26,5,29,59],[1970,4,26,1,59,59],
+          '1969102604:30:00','1969102601:00:00','1970042605:29:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,5,30,0],[1970,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1970,10,25,4,29,59],[1970,10,25,1,59,59],
+          '1970042605:30:00','1970042603:00:00','1970102504:29:59','1970102501:59:59' ],
+        [ [1970,10,25,4,30,0],[1970,10,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1971,4,25,5,29,59],[1971,4,25,1,59,59],
+          '1970102504:30:00','1970102501:00:00','1971042505:29:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,5,30,0],[1971,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1971,10,31,4,29,59],[1971,10,31,1,59,59],
+          '1971042505:30:00','1971042503:00:00','1971103104:29:59','1971103101:59:59' ],
+        [ [1971,10,31,4,30,0],[1971,10,31,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1972,4,30,5,29,59],[1972,4,30,1,59,59],
+          '1971103104:30:00','1971103101:00:00','1972043005:29:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,5,30,0],[1972,4,30,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1972,10,29,4,29,59],[1972,10,29,1,59,59],
+          '1972043005:30:00','1972043003:00:00','1972102904:29:59','1972102901:59:59' ],
+        [ [1972,10,29,4,30,0],[1972,10,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1973,4,29,5,29,59],[1973,4,29,1,59,59],
+          '1972102904:30:00','1972102901:00:00','1973042905:29:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,5,30,0],[1973,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1973,10,28,4,29,59],[1973,10,28,1,59,59],
+          '1973042905:30:00','1973042903:00:00','1973102804:29:59','1973102801:59:59' ],
+        [ [1973,10,28,4,30,0],[1973,10,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1974,4,28,5,29,59],[1974,4,28,1,59,59],
+          '1973102804:30:00','1973102801:00:00','1974042805:29:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,5,30,0],[1974,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1974,10,27,4,29,59],[1974,10,27,1,59,59],
+          '1974042805:30:00','1974042803:00:00','1974102704:29:59','1974102701:59:59' ],
+        [ [1974,10,27,4,30,0],[1974,10,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1975,4,27,5,29,59],[1975,4,27,1,59,59],
+          '1974102704:30:00','1974102701:00:00','1975042705:29:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,5,30,0],[1975,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1975,10,26,4,29,59],[1975,10,26,1,59,59],
+          '1975042705:30:00','1975042703:00:00','1975102604:29:59','1975102601:59:59' ],
+        [ [1975,10,26,4,30,0],[1975,10,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1976,4,25,5,29,59],[1976,4,25,1,59,59],
+          '1975102604:30:00','1975102601:00:00','1976042505:29:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,5,30,0],[1976,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1976,10,31,4,29,59],[1976,10,31,1,59,59],
+          '1976042505:30:00','1976042503:00:00','1976103104:29:59','1976103101:59:59' ],
+        [ [1976,10,31,4,30,0],[1976,10,31,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1977,4,24,5,29,59],[1977,4,24,1,59,59],
+          '1976103104:30:00','1976103101:00:00','1977042405:29:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,5,30,0],[1977,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1977,10,30,4,29,59],[1977,10,30,1,59,59],
+          '1977042405:30:00','1977042403:00:00','1977103004:29:59','1977103001:59:59' ],
+        [ [1977,10,30,4,30,0],[1977,10,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1978,4,30,5,29,59],[1978,4,30,1,59,59],
+          '1977103004:30:00','1977103001:00:00','1978043005:29:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,5,30,0],[1978,4,30,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1978,10,29,4,29,59],[1978,10,29,1,59,59],
+          '1978043005:30:00','1978043003:00:00','1978102904:29:59','1978102901:59:59' ],
+        [ [1978,10,29,4,30,0],[1978,10,29,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1979,4,29,5,29,59],[1979,4,29,1,59,59],
+          '1978102904:30:00','1978102901:00:00','1979042905:29:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,5,30,0],[1979,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1979,10,28,4,29,59],[1979,10,28,1,59,59],
+          '1979042905:30:00','1979042903:00:00','1979102804:29:59','1979102801:59:59' ],
+        [ [1979,10,28,4,30,0],[1979,10,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1980,4,27,5,29,59],[1980,4,27,1,59,59],
+          '1979102804:30:00','1979102801:00:00','1980042705:29:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,5,30,0],[1980,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1980,10,26,4,29,59],[1980,10,26,1,59,59],
+          '1980042705:30:00','1980042703:00:00','1980102604:29:59','1980102601:59:59' ],
+        [ [1980,10,26,4,30,0],[1980,10,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1981,4,26,5,29,59],[1981,4,26,1,59,59],
+          '1980102604:30:00','1980102601:00:00','1981042605:29:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,5,30,0],[1981,4,26,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1981,10,25,4,29,59],[1981,10,25,1,59,59],
+          '1981042605:30:00','1981042603:00:00','1981102504:29:59','1981102501:59:59' ],
+        [ [1981,10,25,4,30,0],[1981,10,25,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1982,4,25,5,29,59],[1982,4,25,1,59,59],
+          '1981102504:30:00','1981102501:00:00','1982042505:29:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,5,30,0],[1982,4,25,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1982,10,31,4,29,59],[1982,10,31,1,59,59],
+          '1982042505:30:00','1982042503:00:00','1982103104:29:59','1982103101:59:59' ],
+        [ [1982,10,31,4,30,0],[1982,10,31,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1983,4,24,5,29,59],[1983,4,24,1,59,59],
+          '1982103104:30:00','1982103101:00:00','1983042405:29:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,5,30,0],[1983,4,24,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1983,10,30,4,29,59],[1983,10,30,1,59,59],
+          '1983042405:30:00','1983042403:00:00','1983103004:29:59','1983103001:59:59' ],
+        [ [1983,10,30,4,30,0],[1983,10,30,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1984,4,29,5,29,59],[1984,4,29,1,59,59],
+          '1983103004:30:00','1983103001:00:00','1984042905:29:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,5,30,0],[1984,4,29,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1984,10,28,4,29,59],[1984,10,28,1,59,59],
+          '1984042905:30:00','1984042903:00:00','1984102804:29:59','1984102801:59:59' ],
+        [ [1984,10,28,4,30,0],[1984,10,28,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1985,4,28,5,29,59],[1985,4,28,1,59,59],
+          '1984102804:30:00','1984102801:00:00','1985042805:29:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,5,30,0],[1985,4,28,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1985,10,27,4,29,59],[1985,10,27,1,59,59],
+          '1985042805:30:00','1985042803:00:00','1985102704:29:59','1985102701:59:59' ],
+        [ [1985,10,27,4,30,0],[1985,10,27,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1986,4,27,5,29,59],[1986,4,27,1,59,59],
+          '1985102704:30:00','1985102701:00:00','1986042705:29:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,5,30,0],[1986,4,27,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1986,10,26,4,29,59],[1986,10,26,1,59,59],
+          '1986042705:30:00','1986042703:00:00','1986102604:29:59','1986102601:59:59' ],
+        [ [1986,10,26,4,30,0],[1986,10,26,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1987,4,5,3,30,59],[1987,4,5,0,0,59],
+          '1986102604:30:00','1986102601:00:00','1987040503:30:59','1987040500:00:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,3,31,0],[1987,4,5,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1987,10,25,2,30,59],[1987,10,25,0,0,59],
+          '1987040503:31:00','1987040501:01:00','1987102502:30:59','1987102500:00:59' ],
+        [ [1987,10,25,2,31,0],[1987,10,24,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1988,4,3,3,30,59],[1988,4,3,0,0,59],
+          '1987102502:31:00','1987102423:01:00','1988040303:30:59','1988040300:00:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,3,31,0],[1988,4,3,2,1,0],'-01:30:00',[-1,-30,0],
+          'NDDT',1,[1988,10,30,1,30,59],[1988,10,30,0,0,59],
+          '1988040303:31:00','1988040302:01:00','1988103001:30:59','1988103000:00:59' ],
+        [ [1988,10,30,1,31,0],[1988,10,29,22,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1989,4,2,3,30,59],[1989,4,2,0,0,59],
+          '1988103001:31:00','1988102922:01:00','1989040203:30:59','1989040200:00:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,3,31,0],[1989,4,2,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1989,10,29,2,30,59],[1989,10,29,0,0,59],
+          '1989040203:31:00','1989040201:01:00','1989102902:30:59','1989102900:00:59' ],
+        [ [1989,10,29,2,31,0],[1989,10,28,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1990,4,1,3,30,59],[1990,4,1,0,0,59],
+          '1989102902:31:00','1989102823:01:00','1990040103:30:59','1990040100:00:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,3,31,0],[1990,4,1,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1990,10,28,2,30,59],[1990,10,28,0,0,59],
+          '1990040103:31:00','1990040101:01:00','1990102802:30:59','1990102800:00:59' ],
+        [ [1990,10,28,2,31,0],[1990,10,27,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1991,4,7,3,30,59],[1991,4,7,0,0,59],
+          '1990102802:31:00','1990102723:01:00','1991040703:30:59','1991040700:00:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,3,31,0],[1991,4,7,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1991,10,27,2,30,59],[1991,10,27,0,0,59],
+          '1991040703:31:00','1991040701:01:00','1991102702:30:59','1991102700:00:59' ],
+        [ [1991,10,27,2,31,0],[1991,10,26,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1992,4,5,3,30,59],[1992,4,5,0,0,59],
+          '1991102702:31:00','1991102623:01:00','1992040503:30:59','1992040500:00:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,3,31,0],[1992,4,5,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1992,10,25,2,30,59],[1992,10,25,0,0,59],
+          '1992040503:31:00','1992040501:01:00','1992102502:30:59','1992102500:00:59' ],
+        [ [1992,10,25,2,31,0],[1992,10,24,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1993,4,4,3,30,59],[1993,4,4,0,0,59],
+          '1992102502:31:00','1992102423:01:00','1993040403:30:59','1993040400:00:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,3,31,0],[1993,4,4,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1993,10,31,2,30,59],[1993,10,31,0,0,59],
+          '1993040403:31:00','1993040401:01:00','1993103102:30:59','1993103100:00:59' ],
+        [ [1993,10,31,2,31,0],[1993,10,30,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1994,4,3,3,30,59],[1994,4,3,0,0,59],
+          '1993103102:31:00','1993103023:01:00','1994040303:30:59','1994040300:00:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,3,31,0],[1994,4,3,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1994,10,30,2,30,59],[1994,10,30,0,0,59],
+          '1994040303:31:00','1994040301:01:00','1994103002:30:59','1994103000:00:59' ],
+        [ [1994,10,30,2,31,0],[1994,10,29,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1995,4,2,3,30,59],[1995,4,2,0,0,59],
+          '1994103002:31:00','1994102923:01:00','1995040203:30:59','1995040200:00:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,3,31,0],[1995,4,2,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1995,10,29,2,30,59],[1995,10,29,0,0,59],
+          '1995040203:31:00','1995040201:01:00','1995102902:30:59','1995102900:00:59' ],
+        [ [1995,10,29,2,31,0],[1995,10,28,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1996,4,7,3,30,59],[1996,4,7,0,0,59],
+          '1995102902:31:00','1995102823:01:00','1996040703:30:59','1996040700:00:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,3,31,0],[1996,4,7,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1996,10,27,2,30,59],[1996,10,27,0,0,59],
+          '1996040703:31:00','1996040701:01:00','1996102702:30:59','1996102700:00:59' ],
+        [ [1996,10,27,2,31,0],[1996,10,26,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1997,4,6,3,30,59],[1997,4,6,0,0,59],
+          '1996102702:31:00','1996102623:01:00','1997040603:30:59','1997040600:00:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,3,31,0],[1997,4,6,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1997,10,26,2,30,59],[1997,10,26,0,0,59],
+          '1997040603:31:00','1997040601:01:00','1997102602:30:59','1997102600:00:59' ],
+        [ [1997,10,26,2,31,0],[1997,10,25,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1998,4,5,3,30,59],[1998,4,5,0,0,59],
+          '1997102602:31:00','1997102523:01:00','1998040503:30:59','1998040500:00:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,3,31,0],[1998,4,5,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1998,10,25,2,30,59],[1998,10,25,0,0,59],
+          '1998040503:31:00','1998040501:01:00','1998102502:30:59','1998102500:00:59' ],
+        [ [1998,10,25,2,31,0],[1998,10,24,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[1999,4,4,3,30,59],[1999,4,4,0,0,59],
+          '1998102502:31:00','1998102423:01:00','1999040403:30:59','1999040400:00:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,3,31,0],[1999,4,4,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[1999,10,31,2,30,59],[1999,10,31,0,0,59],
+          '1999040403:31:00','1999040401:01:00','1999103102:30:59','1999103100:00:59' ],
+        [ [1999,10,31,2,31,0],[1999,10,30,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2000,4,2,3,30,59],[2000,4,2,0,0,59],
+          '1999103102:31:00','1999103023:01:00','2000040203:30:59','2000040200:00:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,3,31,0],[2000,4,2,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2000,10,29,2,30,59],[2000,10,29,0,0,59],
+          '2000040203:31:00','2000040201:01:00','2000102902:30:59','2000102900:00:59' ],
+        [ [2000,10,29,2,31,0],[2000,10,28,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2001,4,1,3,30,59],[2001,4,1,0,0,59],
+          '2000102902:31:00','2000102823:01:00','2001040103:30:59','2001040100:00:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,3,31,0],[2001,4,1,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2001,10,28,2,30,59],[2001,10,28,0,0,59],
+          '2001040103:31:00','2001040101:01:00','2001102802:30:59','2001102800:00:59' ],
+        [ [2001,10,28,2,31,0],[2001,10,27,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2002,4,7,3,30,59],[2002,4,7,0,0,59],
+          '2001102802:31:00','2001102723:01:00','2002040703:30:59','2002040700:00:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,3,31,0],[2002,4,7,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2002,10,27,2,30,59],[2002,10,27,0,0,59],
+          '2002040703:31:00','2002040701:01:00','2002102702:30:59','2002102700:00:59' ],
+        [ [2002,10,27,2,31,0],[2002,10,26,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2003,4,6,3,30,59],[2003,4,6,0,0,59],
+          '2002102702:31:00','2002102623:01:00','2003040603:30:59','2003040600:00:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,3,31,0],[2003,4,6,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2003,10,26,2,30,59],[2003,10,26,0,0,59],
+          '2003040603:31:00','2003040601:01:00','2003102602:30:59','2003102600:00:59' ],
+        [ [2003,10,26,2,31,0],[2003,10,25,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2004,4,4,3,30,59],[2004,4,4,0,0,59],
+          '2003102602:31:00','2003102523:01:00','2004040403:30:59','2004040400:00:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,3,31,0],[2004,4,4,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2004,10,31,2,30,59],[2004,10,31,0,0,59],
+          '2004040403:31:00','2004040401:01:00','2004103102:30:59','2004103100:00:59' ],
+        [ [2004,10,31,2,31,0],[2004,10,30,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2005,4,3,3,30,59],[2005,4,3,0,0,59],
+          '2004103102:31:00','2004103023:01:00','2005040303:30:59','2005040300:00:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,3,31,0],[2005,4,3,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2005,10,30,2,30,59],[2005,10,30,0,0,59],
+          '2005040303:31:00','2005040301:01:00','2005103002:30:59','2005103000:00:59' ],
+        [ [2005,10,30,2,31,0],[2005,10,29,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2006,4,2,3,30,59],[2006,4,2,0,0,59],
+          '2005103002:31:00','2005102923:01:00','2006040203:30:59','2006040200:00:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,3,31,0],[2006,4,2,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2006,10,29,2,30,59],[2006,10,29,0,0,59],
+          '2006040203:31:00','2006040201:01:00','2006102902:30:59','2006102900:00:59' ],
+        [ [2006,10,29,2,31,0],[2006,10,28,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2007,3,11,3,30,59],[2007,3,11,0,0,59],
+          '2006102902:31:00','2006102823:01:00','2007031103:30:59','2007031100:00:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,31,0],[2007,3,11,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2007,11,4,2,30,59],[2007,11,4,0,0,59],
+          '2007031103:31:00','2007031101:01:00','2007110402:30:59','2007110400:00:59' ],
+        [ [2007,11,4,2,31,0],[2007,11,3,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2008,3,9,3,30,59],[2008,3,9,0,0,59],
+          '2007110402:31:00','2007110323:01:00','2008030903:30:59','2008030900:00:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,3,31,0],[2008,3,9,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2008,11,2,2,30,59],[2008,11,2,0,0,59],
+          '2008030903:31:00','2008030901:01:00','2008110202:30:59','2008110200:00:59' ],
+        [ [2008,11,2,2,31,0],[2008,11,1,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2009,3,8,3,30,59],[2009,3,8,0,0,59],
+          '2008110202:31:00','2008110123:01:00','2009030803:30:59','2009030800:00:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,3,31,0],[2009,3,8,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2009,11,1,2,30,59],[2009,11,1,0,0,59],
+          '2009030803:31:00','2009030801:01:00','2009110102:30:59','2009110100:00:59' ],
+        [ [2009,11,1,2,31,0],[2009,10,31,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2010,3,14,3,30,59],[2010,3,14,0,0,59],
+          '2009110102:31:00','2009103123:01:00','2010031403:30:59','2010031400:00:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,3,31,0],[2010,3,14,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2010,11,7,2,30,59],[2010,11,7,0,0,59],
+          '2010031403:31:00','2010031401:01:00','2010110702:30:59','2010110700:00:59' ],
+        [ [2010,11,7,2,31,0],[2010,11,6,23,1,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2011,3,13,3,30,59],[2011,3,13,0,0,59],
+          '2010110702:31:00','2010110623:01:00','2011031303:30:59','2011031300:00:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,3,31,0],[2011,3,13,1,1,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2011,11,6,4,29,59],[2011,11,6,1,59,59],
+          '2011031303:31:00','2011031301:01:00','2011110604:29:59','2011110601:59:59' ],
+        [ [2011,11,6,4,30,0],[2011,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2012,3,11,5,29,59],[2012,3,11,1,59,59],
+          '2011110604:30:00','2011110601:00:00','2012031105:29:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,5,30,0],[2012,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2012,11,4,4,29,59],[2012,11,4,1,59,59],
+          '2012031105:30:00','2012031103:00:00','2012110404:29:59','2012110401:59:59' ],
+        [ [2012,11,4,4,30,0],[2012,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2013,3,10,5,29,59],[2013,3,10,1,59,59],
+          '2012110404:30:00','2012110401:00:00','2013031005:29:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,5,30,0],[2013,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2013,11,3,4,29,59],[2013,11,3,1,59,59],
+          '2013031005:30:00','2013031003:00:00','2013110304:29:59','2013110301:59:59' ],
+        [ [2013,11,3,4,30,0],[2013,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2014,3,9,5,29,59],[2014,3,9,1,59,59],
+          '2013110304:30:00','2013110301:00:00','2014030905:29:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,5,30,0],[2014,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2014,11,2,4,29,59],[2014,11,2,1,59,59],
+          '2014030905:30:00','2014030903:00:00','2014110204:29:59','2014110201:59:59' ],
+        [ [2014,11,2,4,30,0],[2014,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2015,3,8,5,29,59],[2015,3,8,1,59,59],
+          '2014110204:30:00','2014110201:00:00','2015030805:29:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,5,30,0],[2015,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2015,11,1,4,29,59],[2015,11,1,1,59,59],
+          '2015030805:30:00','2015030803:00:00','2015110104:29:59','2015110101:59:59' ],
+        [ [2015,11,1,4,30,0],[2015,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2016,3,13,5,29,59],[2016,3,13,1,59,59],
+          '2015110104:30:00','2015110101:00:00','2016031305:29:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,5,30,0],[2016,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2016,11,6,4,29,59],[2016,11,6,1,59,59],
+          '2016031305:30:00','2016031303:00:00','2016110604:29:59','2016110601:59:59' ],
+        [ [2016,11,6,4,30,0],[2016,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2017,3,12,5,29,59],[2017,3,12,1,59,59],
+          '2016110604:30:00','2016110601:00:00','2017031205:29:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,5,30,0],[2017,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2017,11,5,4,29,59],[2017,11,5,1,59,59],
+          '2017031205:30:00','2017031203:00:00','2017110504:29:59','2017110501:59:59' ],
+        [ [2017,11,5,4,30,0],[2017,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2018,3,11,5,29,59],[2018,3,11,1,59,59],
+          '2017110504:30:00','2017110501:00:00','2018031105:29:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,5,30,0],[2018,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2018,11,4,4,29,59],[2018,11,4,1,59,59],
+          '2018031105:30:00','2018031103:00:00','2018110404:29:59','2018110401:59:59' ],
+        [ [2018,11,4,4,30,0],[2018,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2019,3,10,5,29,59],[2019,3,10,1,59,59],
+          '2018110404:30:00','2018110401:00:00','2019031005:29:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,5,30,0],[2019,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2019,11,3,4,29,59],[2019,11,3,1,59,59],
+          '2019031005:30:00','2019031003:00:00','2019110304:29:59','2019110301:59:59' ],
+        [ [2019,11,3,4,30,0],[2019,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2020,3,8,5,29,59],[2020,3,8,1,59,59],
+          '2019110304:30:00','2019110301:00:00','2020030805:29:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,5,30,0],[2020,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2020,11,1,4,29,59],[2020,11,1,1,59,59],
+          '2020030805:30:00','2020030803:00:00','2020110104:29:59','2020110101:59:59' ],
+        [ [2020,11,1,4,30,0],[2020,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2021,3,14,5,29,59],[2021,3,14,1,59,59],
+          '2020110104:30:00','2020110101:00:00','2021031405:29:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,5,30,0],[2021,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2021,11,7,4,29,59],[2021,11,7,1,59,59],
+          '2021031405:30:00','2021031403:00:00','2021110704:29:59','2021110701:59:59' ],
+        [ [2021,11,7,4,30,0],[2021,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2022,3,13,5,29,59],[2022,3,13,1,59,59],
+          '2021110704:30:00','2021110701:00:00','2022031305:29:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,5,30,0],[2022,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2022,11,6,4,29,59],[2022,11,6,1,59,59],
+          '2022031305:30:00','2022031303:00:00','2022110604:29:59','2022110601:59:59' ],
+        [ [2022,11,6,4,30,0],[2022,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2023,3,12,5,29,59],[2023,3,12,1,59,59],
+          '2022110604:30:00','2022110601:00:00','2023031205:29:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,5,30,0],[2023,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2023,11,5,4,29,59],[2023,11,5,1,59,59],
+          '2023031205:30:00','2023031203:00:00','2023110504:29:59','2023110501:59:59' ],
+        [ [2023,11,5,4,30,0],[2023,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2024,3,10,5,29,59],[2024,3,10,1,59,59],
+          '2023110504:30:00','2023110501:00:00','2024031005:29:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,5,30,0],[2024,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2024,11,3,4,29,59],[2024,11,3,1,59,59],
+          '2024031005:30:00','2024031003:00:00','2024110304:29:59','2024110301:59:59' ],
+        [ [2024,11,3,4,30,0],[2024,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2025,3,9,5,29,59],[2025,3,9,1,59,59],
+          '2024110304:30:00','2024110301:00:00','2025030905:29:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,5,30,0],[2025,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2025,11,2,4,29,59],[2025,11,2,1,59,59],
+          '2025030905:30:00','2025030903:00:00','2025110204:29:59','2025110201:59:59' ],
+        [ [2025,11,2,4,30,0],[2025,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2026,3,8,5,29,59],[2026,3,8,1,59,59],
+          '2025110204:30:00','2025110201:00:00','2026030805:29:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,5,30,0],[2026,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2026,11,1,4,29,59],[2026,11,1,1,59,59],
+          '2026030805:30:00','2026030803:00:00','2026110104:29:59','2026110101:59:59' ],
+        [ [2026,11,1,4,30,0],[2026,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2027,3,14,5,29,59],[2027,3,14,1,59,59],
+          '2026110104:30:00','2026110101:00:00','2027031405:29:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,5,30,0],[2027,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2027,11,7,4,29,59],[2027,11,7,1,59,59],
+          '2027031405:30:00','2027031403:00:00','2027110704:29:59','2027110701:59:59' ],
+        [ [2027,11,7,4,30,0],[2027,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2028,3,12,5,29,59],[2028,3,12,1,59,59],
+          '2027110704:30:00','2027110701:00:00','2028031205:29:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,5,30,0],[2028,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2028,11,5,4,29,59],[2028,11,5,1,59,59],
+          '2028031205:30:00','2028031203:00:00','2028110504:29:59','2028110501:59:59' ],
+        [ [2028,11,5,4,30,0],[2028,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2029,3,11,5,29,59],[2029,3,11,1,59,59],
+          '2028110504:30:00','2028110501:00:00','2029031105:29:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,5,30,0],[2029,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2029,11,4,4,29,59],[2029,11,4,1,59,59],
+          '2029031105:30:00','2029031103:00:00','2029110404:29:59','2029110401:59:59' ],
+        [ [2029,11,4,4,30,0],[2029,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2030,3,10,5,29,59],[2030,3,10,1,59,59],
+          '2029110404:30:00','2029110401:00:00','2030031005:29:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,5,30,0],[2030,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2030,11,3,4,29,59],[2030,11,3,1,59,59],
+          '2030031005:30:00','2030031003:00:00','2030110304:29:59','2030110301:59:59' ],
+        [ [2030,11,3,4,30,0],[2030,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2031,3,9,5,29,59],[2031,3,9,1,59,59],
+          '2030110304:30:00','2030110301:00:00','2031030905:29:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,5,30,0],[2031,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2031,11,2,4,29,59],[2031,11,2,1,59,59],
+          '2031030905:30:00','2031030903:00:00','2031110204:29:59','2031110201:59:59' ],
+        [ [2031,11,2,4,30,0],[2031,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2032,3,14,5,29,59],[2032,3,14,1,59,59],
+          '2031110204:30:00','2031110201:00:00','2032031405:29:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,5,30,0],[2032,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2032,11,7,4,29,59],[2032,11,7,1,59,59],
+          '2032031405:30:00','2032031403:00:00','2032110704:29:59','2032110701:59:59' ],
+        [ [2032,11,7,4,30,0],[2032,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2033,3,13,5,29,59],[2033,3,13,1,59,59],
+          '2032110704:30:00','2032110701:00:00','2033031305:29:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,5,30,0],[2033,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2033,11,6,4,29,59],[2033,11,6,1,59,59],
+          '2033031305:30:00','2033031303:00:00','2033110604:29:59','2033110601:59:59' ],
+        [ [2033,11,6,4,30,0],[2033,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2034,3,12,5,29,59],[2034,3,12,1,59,59],
+          '2033110604:30:00','2033110601:00:00','2034031205:29:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,5,30,0],[2034,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2034,11,5,4,29,59],[2034,11,5,1,59,59],
+          '2034031205:30:00','2034031203:00:00','2034110504:29:59','2034110501:59:59' ],
+        [ [2034,11,5,4,30,0],[2034,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2035,3,11,5,29,59],[2035,3,11,1,59,59],
+          '2034110504:30:00','2034110501:00:00','2035031105:29:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,5,30,0],[2035,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2035,11,4,4,29,59],[2035,11,4,1,59,59],
+          '2035031105:30:00','2035031103:00:00','2035110404:29:59','2035110401:59:59' ],
+        [ [2035,11,4,4,30,0],[2035,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2036,3,9,5,29,59],[2036,3,9,1,59,59],
+          '2035110404:30:00','2035110401:00:00','2036030905:29:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,5,30,0],[2036,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2036,11,2,4,29,59],[2036,11,2,1,59,59],
+          '2036030905:30:00','2036030903:00:00','2036110204:29:59','2036110201:59:59' ],
+        [ [2036,11,2,4,30,0],[2036,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2037,3,8,5,29,59],[2037,3,8,1,59,59],
+          '2036110204:30:00','2036110201:00:00','2037030805:29:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,5,30,0],[2037,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2037,11,1,4,29,59],[2037,11,1,1,59,59],
+          '2037030805:30:00','2037030803:00:00','2037110104:29:59','2037110101:59:59' ],
+        [ [2037,11,1,4,30,0],[2037,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2038,3,14,5,29,59],[2038,3,14,1,59,59],
+          '2037110104:30:00','2037110101:00:00','2038031405:29:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,5,30,0],[2038,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2038,11,7,4,29,59],[2038,11,7,1,59,59],
+          '2038031405:30:00','2038031403:00:00','2038110704:29:59','2038110701:59:59' ],
+        [ [2038,11,7,4,30,0],[2038,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2039,3,13,5,29,59],[2039,3,13,1,59,59],
+          '2038110704:30:00','2038110701:00:00','2039031305:29:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,5,30,0],[2039,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2039,11,6,4,29,59],[2039,11,6,1,59,59],
+          '2039031305:30:00','2039031303:00:00','2039110604:29:59','2039110601:59:59' ],
+        [ [2039,11,6,4,30,0],[2039,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2040,3,11,5,29,59],[2040,3,11,1,59,59],
+          '2039110604:30:00','2039110601:00:00','2040031105:29:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,5,30,0],[2040,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2040,11,4,4,29,59],[2040,11,4,1,59,59],
+          '2040031105:30:00','2040031103:00:00','2040110404:29:59','2040110401:59:59' ],
+        [ [2040,11,4,4,30,0],[2040,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2041,3,10,5,29,59],[2041,3,10,1,59,59],
+          '2040110404:30:00','2040110401:00:00','2041031005:29:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,5,30,0],[2041,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2041,11,3,4,29,59],[2041,11,3,1,59,59],
+          '2041031005:30:00','2041031003:00:00','2041110304:29:59','2041110301:59:59' ],
+        [ [2041,11,3,4,30,0],[2041,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2042,3,9,5,29,59],[2042,3,9,1,59,59],
+          '2041110304:30:00','2041110301:00:00','2042030905:29:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,5,30,0],[2042,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2042,11,2,4,29,59],[2042,11,2,1,59,59],
+          '2042030905:30:00','2042030903:00:00','2042110204:29:59','2042110201:59:59' ],
+        [ [2042,11,2,4,30,0],[2042,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2043,3,8,5,29,59],[2043,3,8,1,59,59],
+          '2042110204:30:00','2042110201:00:00','2043030805:29:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,5,30,0],[2043,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2043,11,1,4,29,59],[2043,11,1,1,59,59],
+          '2043030805:30:00','2043030803:00:00','2043110104:29:59','2043110101:59:59' ],
+        [ [2043,11,1,4,30,0],[2043,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2044,3,13,5,29,59],[2044,3,13,1,59,59],
+          '2043110104:30:00','2043110101:00:00','2044031305:29:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,5,30,0],[2044,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2044,11,6,4,29,59],[2044,11,6,1,59,59],
+          '2044031305:30:00','2044031303:00:00','2044110604:29:59','2044110601:59:59' ],
+        [ [2044,11,6,4,30,0],[2044,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2045,3,12,5,29,59],[2045,3,12,1,59,59],
+          '2044110604:30:00','2044110601:00:00','2045031205:29:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,5,30,0],[2045,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2045,11,5,4,29,59],[2045,11,5,1,59,59],
+          '2045031205:30:00','2045031203:00:00','2045110504:29:59','2045110501:59:59' ],
+        [ [2045,11,5,4,30,0],[2045,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2046,3,11,5,29,59],[2046,3,11,1,59,59],
+          '2045110504:30:00','2045110501:00:00','2046031105:29:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,5,30,0],[2046,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2046,11,4,4,29,59],[2046,11,4,1,59,59],
+          '2046031105:30:00','2046031103:00:00','2046110404:29:59','2046110401:59:59' ],
+        [ [2046,11,4,4,30,0],[2046,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2047,3,10,5,29,59],[2047,3,10,1,59,59],
+          '2046110404:30:00','2046110401:00:00','2047031005:29:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,5,30,0],[2047,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2047,11,3,4,29,59],[2047,11,3,1,59,59],
+          '2047031005:30:00','2047031003:00:00','2047110304:29:59','2047110301:59:59' ],
+        [ [2047,11,3,4,30,0],[2047,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2048,3,8,5,29,59],[2048,3,8,1,59,59],
+          '2047110304:30:00','2047110301:00:00','2048030805:29:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,5,30,0],[2048,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2048,11,1,4,29,59],[2048,11,1,1,59,59],
+          '2048030805:30:00','2048030803:00:00','2048110104:29:59','2048110101:59:59' ],
+        [ [2048,11,1,4,30,0],[2048,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2049,3,14,5,29,59],[2049,3,14,1,59,59],
+          '2048110104:30:00','2048110101:00:00','2049031405:29:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,5,30,0],[2049,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2049,11,7,4,29,59],[2049,11,7,1,59,59],
+          '2049031405:30:00','2049031403:00:00','2049110704:29:59','2049110701:59:59' ],
+        [ [2049,11,7,4,30,0],[2049,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2050,3,13,5,29,59],[2050,3,13,1,59,59],
+          '2049110704:30:00','2049110701:00:00','2050031305:29:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,5,30,0],[2050,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2050,11,6,4,29,59],[2050,11,6,1,59,59],
+          '2050031305:30:00','2050031303:00:00','2050110604:29:59','2050110601:59:59' ],
+        [ [2050,11,6,4,30,0],[2050,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2051,3,12,5,29,59],[2051,3,12,1,59,59],
+          '2050110604:30:00','2050110601:00:00','2051031205:29:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,5,30,0],[2051,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2051,11,5,4,29,59],[2051,11,5,1,59,59],
+          '2051031205:30:00','2051031203:00:00','2051110504:29:59','2051110501:59:59' ],
+        [ [2051,11,5,4,30,0],[2051,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2052,3,10,5,29,59],[2052,3,10,1,59,59],
+          '2051110504:30:00','2051110501:00:00','2052031005:29:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,5,30,0],[2052,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2052,11,3,4,29,59],[2052,11,3,1,59,59],
+          '2052031005:30:00','2052031003:00:00','2052110304:29:59','2052110301:59:59' ],
+        [ [2052,11,3,4,30,0],[2052,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2053,3,9,5,29,59],[2053,3,9,1,59,59],
+          '2052110304:30:00','2052110301:00:00','2053030905:29:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,5,30,0],[2053,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2053,11,2,4,29,59],[2053,11,2,1,59,59],
+          '2053030905:30:00','2053030903:00:00','2053110204:29:59','2053110201:59:59' ],
+        [ [2053,11,2,4,30,0],[2053,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2054,3,8,5,29,59],[2054,3,8,1,59,59],
+          '2053110204:30:00','2053110201:00:00','2054030805:29:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,5,30,0],[2054,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2054,11,1,4,29,59],[2054,11,1,1,59,59],
+          '2054030805:30:00','2054030803:00:00','2054110104:29:59','2054110101:59:59' ],
+        [ [2054,11,1,4,30,0],[2054,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2055,3,14,5,29,59],[2055,3,14,1,59,59],
+          '2054110104:30:00','2054110101:00:00','2055031405:29:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,5,30,0],[2055,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2055,11,7,4,29,59],[2055,11,7,1,59,59],
+          '2055031405:30:00','2055031403:00:00','2055110704:29:59','2055110701:59:59' ],
+        [ [2055,11,7,4,30,0],[2055,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2056,3,12,5,29,59],[2056,3,12,1,59,59],
+          '2055110704:30:00','2055110701:00:00','2056031205:29:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,5,30,0],[2056,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2056,11,5,4,29,59],[2056,11,5,1,59,59],
+          '2056031205:30:00','2056031203:00:00','2056110504:29:59','2056110501:59:59' ],
+        [ [2056,11,5,4,30,0],[2056,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2057,3,11,5,29,59],[2057,3,11,1,59,59],
+          '2056110504:30:00','2056110501:00:00','2057031105:29:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,5,30,0],[2057,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2057,11,4,4,29,59],[2057,11,4,1,59,59],
+          '2057031105:30:00','2057031103:00:00','2057110404:29:59','2057110401:59:59' ],
+        [ [2057,11,4,4,30,0],[2057,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2058,3,10,5,29,59],[2058,3,10,1,59,59],
+          '2057110404:30:00','2057110401:00:00','2058031005:29:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,5,30,0],[2058,3,10,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2058,11,3,4,29,59],[2058,11,3,1,59,59],
+          '2058031005:30:00','2058031003:00:00','2058110304:29:59','2058110301:59:59' ],
+        [ [2058,11,3,4,30,0],[2058,11,3,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2059,3,9,5,29,59],[2059,3,9,1,59,59],
+          '2058110304:30:00','2058110301:00:00','2059030905:29:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,5,30,0],[2059,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2059,11,2,4,29,59],[2059,11,2,1,59,59],
+          '2059030905:30:00','2059030903:00:00','2059110204:29:59','2059110201:59:59' ],
+        [ [2059,11,2,4,30,0],[2059,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2060,3,14,5,29,59],[2060,3,14,1,59,59],
+          '2059110204:30:00','2059110201:00:00','2060031405:29:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,5,30,0],[2060,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2060,11,7,4,29,59],[2060,11,7,1,59,59],
+          '2060031405:30:00','2060031403:00:00','2060110704:29:59','2060110701:59:59' ],
+        [ [2060,11,7,4,30,0],[2060,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2061,3,13,5,29,59],[2061,3,13,1,59,59],
+          '2060110704:30:00','2060110701:00:00','2061031305:29:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,5,30,0],[2061,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2061,11,6,4,29,59],[2061,11,6,1,59,59],
+          '2061031305:30:00','2061031303:00:00','2061110604:29:59','2061110601:59:59' ],
+        [ [2061,11,6,4,30,0],[2061,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2062,3,12,5,29,59],[2062,3,12,1,59,59],
+          '2061110604:30:00','2061110601:00:00','2062031205:29:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,5,30,0],[2062,3,12,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2062,11,5,4,29,59],[2062,11,5,1,59,59],
+          '2062031205:30:00','2062031203:00:00','2062110504:29:59','2062110501:59:59' ],
+        [ [2062,11,5,4,30,0],[2062,11,5,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2063,3,11,5,29,59],[2063,3,11,1,59,59],
+          '2062110504:30:00','2062110501:00:00','2063031105:29:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,5,30,0],[2063,3,11,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2063,11,4,4,29,59],[2063,11,4,1,59,59],
+          '2063031105:30:00','2063031103:00:00','2063110404:29:59','2063110401:59:59' ],
+        [ [2063,11,4,4,30,0],[2063,11,4,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2064,3,9,5,29,59],[2064,3,9,1,59,59],
+          '2063110404:30:00','2063110401:00:00','2064030905:29:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,5,30,0],[2064,3,9,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2064,11,2,4,29,59],[2064,11,2,1,59,59],
+          '2064030905:30:00','2064030903:00:00','2064110204:29:59','2064110201:59:59' ],
+        [ [2064,11,2,4,30,0],[2064,11,2,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2065,3,8,5,29,59],[2065,3,8,1,59,59],
+          '2064110204:30:00','2064110201:00:00','2065030805:29:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,5,30,0],[2065,3,8,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2065,11,1,4,29,59],[2065,11,1,1,59,59],
+          '2065030805:30:00','2065030803:00:00','2065110104:29:59','2065110101:59:59' ],
+        [ [2065,11,1,4,30,0],[2065,11,1,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2066,3,14,5,29,59],[2066,3,14,1,59,59],
+          '2065110104:30:00','2065110101:00:00','2066031405:29:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,5,30,0],[2066,3,14,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2066,11,7,4,29,59],[2066,11,7,1,59,59],
+          '2066031405:30:00','2066031403:00:00','2066110704:29:59','2066110701:59:59' ],
+        [ [2066,11,7,4,30,0],[2066,11,7,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2067,3,13,5,29,59],[2067,3,13,1,59,59],
+          '2066110704:30:00','2066110701:00:00','2067031305:29:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,5,30,0],[2067,3,13,3,0,0],'-02:30:00',[-2,-30,0],
+          'NDT',1,[2067,11,6,4,29,59],[2067,11,6,1,59,59],
+          '2067031305:30:00','2067031303:00:00','2067110604:29:59','2067110601:59:59' ],
+        [ [2067,11,6,4,30,0],[2067,11,6,1,0,0],'-03:30:00',[-3,-30,0],
+          'NST',0,[2068,3,11,5,29,59],[2068,3,11,1,59,59],
+          '2067110604:30:00','2067110601:00:00','2068031105:29:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-02:30:00',
+                'stdoff' => '-03:30:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'NDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'NST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amswif00.pm b/lib/Date/Manip/TZ/amswif00.pm
new file mode 100644
index 0000000..03645e3
--- /dev/null
+++ b/lib/Date/Manip/TZ/amswif00.pm
@@ -0,0 +1,151 @@
+package #
+Date::Manip::TZ::amswif00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,48,40],'-07:11:20',[-7,-11,-20],
+          'LMT',0,[1905,9,1,7,11,19],[1905,8,31,23,59,59],
+          '0001010200:00:00','0001010116:48:40','1905090107:11:19','1905083123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,9,1,7,11,20],[1905,9,1,0,11,20],'-07:00:00',[-7,0,0],
+          'MST',0,[1918,4,14,8,59,59],[1918,4,14,1,59,59],
+          '1905090107:11:20','1905090100:11:20','1918041408:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,9,0,0],[1918,4,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1918,10,27,7,59,59],[1918,10,27,1,59,59],
+          '1918041409:00:00','1918041403:00:00','1918102707:59:59','1918102701:59:59' ],
+        [ [1918,10,27,8,0,0],[1918,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1918102708:00:00','1918102701:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1946,4,28,8,59,59],[1946,4,28,1,59,59],
+          '1945093008:00:00','1945093001:00:00','1946042808:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,9,0,0],[1946,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1946,10,13,7,59,59],[1946,10,13,1,59,59],
+          '1946042809:00:00','1946042803:00:00','1946101307:59:59','1946101301:59:59' ],
+        [ [1946,10,13,8,0,0],[1946,10,13,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1947,4,27,8,59,59],[1947,4,27,1,59,59],
+          '1946101308:00:00','1946101301:00:00','1947042708:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,9,0,0],[1947,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1947,9,28,7,59,59],[1947,9,28,1,59,59],
+          '1947042709:00:00','1947042703:00:00','1947092807:59:59','1947092801:59:59' ],
+        [ [1947,9,28,8,0,0],[1947,9,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1948,4,25,8,59,59],[1948,4,25,1,59,59],
+          '1947092808:00:00','1947092801:00:00','1948042508:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,9,0,0],[1948,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1948,9,26,7,59,59],[1948,9,26,1,59,59],
+          '1948042509:00:00','1948042503:00:00','1948092607:59:59','1948092601:59:59' ],
+        [ [1948,9,26,8,0,0],[1948,9,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1949,4,24,8,59,59],[1949,4,24,1,59,59],
+          '1948092608:00:00','1948092601:00:00','1949042408:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,9,0,0],[1949,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1949,9,25,7,59,59],[1949,9,25,1,59,59],
+          '1949042409:00:00','1949042403:00:00','1949092507:59:59','1949092501:59:59' ],
+        [ [1949,9,25,8,0,0],[1949,9,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1957,4,28,8,59,59],[1957,4,28,1,59,59],
+          '1949092508:00:00','1949092501:00:00','1957042808:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,9,0,0],[1957,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1957,10,27,7,59,59],[1957,10,27,1,59,59],
+          '1957042809:00:00','1957042803:00:00','1957102707:59:59','1957102701:59:59' ],
+        [ [1957,10,27,8,0,0],[1957,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1959,4,26,8,59,59],[1959,4,26,1,59,59],
+          '1957102708:00:00','1957102701:00:00','1959042608:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,9,0,0],[1959,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1959,10,25,7,59,59],[1959,10,25,1,59,59],
+          '1959042609:00:00','1959042603:00:00','1959102507:59:59','1959102501:59:59' ],
+        [ [1959,10,25,8,0,0],[1959,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1960,4,24,8,59,59],[1960,4,24,1,59,59],
+          '1959102508:00:00','1959102501:00:00','1960042408:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,9,0,0],[1960,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1960,9,25,7,59,59],[1960,9,25,1,59,59],
+          '1960042409:00:00','1960042403:00:00','1960092507:59:59','1960092501:59:59' ],
+        [ [1960,9,25,8,0,0],[1960,9,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1961,4,30,8,59,59],[1961,4,30,1,59,59],
+          '1960092508:00:00','1960092501:00:00','1961043008:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,9,0,0],[1961,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1961,9,24,7,59,59],[1961,9,24,1,59,59],
+          '1961043009:00:00','1961043003:00:00','1961092407:59:59','1961092401:59:59' ],
+        [ [1961,9,24,8,0,0],[1961,9,24,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1972,4,30,8,59,59],[1972,4,30,1,59,59],
+          '1961092408:00:00','1961092401:00:00','1972043008:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,9,0,0],[1972,4,30,3,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1972043009:00:00','1972043003:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amtegu00.pm b/lib/Date/Manip/TZ/amtegu00.pm
new file mode 100644
index 0000000..0b93995
--- /dev/null
+++ b/lib/Date/Manip/TZ/amtegu00.pm
@@ -0,0 +1,76 @@
+package #
+Date::Manip::TZ::amtegu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,11,8],'-05:48:52',[-5,-48,-52],
+          'LMT',0,[1921,4,1,5,48,51],[1921,3,31,23,59,59],
+          '0001010200:00:00','0001010118:11:08','1921040105:48:51','1921033123:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,1,5,48,52],[1921,3,31,23,48,52],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,5,3,5,59,59],[1987,5,2,23,59,59],
+          '1921040105:48:52','1921033123:48:52','1987050305:59:59','1987050223:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,5,3,6,0,0],[1987,5,3,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,9,27,4,59,59],[1987,9,26,23,59,59],
+          '1987050306:00:00','1987050301:00:00','1987092704:59:59','1987092623:59:59' ],
+        [ [1987,9,27,5,0,0],[1987,9,26,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,5,1,5,59,59],[1988,4,30,23,59,59],
+          '1987092705:00:00','1987092623:00:00','1988050105:59:59','1988043023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,5,1,6,0,0],[1988,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,9,25,4,59,59],[1988,9,24,23,59,59],
+          '1988050106:00:00','1988050101:00:00','1988092504:59:59','1988092423:59:59' ],
+        [ [1988,9,25,5,0,0],[1988,9,24,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,5,7,5,59,59],[2006,5,6,23,59,59],
+          '1988092505:00:00','1988092423:00:00','2006050705:59:59','2006050623:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,5,7,6,0,0],[2006,5,7,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,8,7,4,59,59],[2006,8,6,23,59,59],
+          '2006050706:00:00','2006050701:00:00','2006080704:59:59','2006080623:59:59' ],
+        [ [2006,8,7,5,0,0],[2006,8,6,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '2006080705:00:00','2006080623:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amtell00.pm b/lib/Date/Manip/TZ/amtell00.pm
new file mode 100644
index 0000000..41f0fec
--- /dev/null
+++ b/lib/Date/Manip/TZ/amtell00.pm
@@ -0,0 +1,796 @@
+package #
+Date::Manip::TZ::amtell00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,12,57],'-05:47:03',[-5,-47,-3],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,12,56],
+          '0001010200:00:00','0001010118:12:57','1883111817:59:59','1883111812:12:56' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,5,1,5,59,59],[1955,4,30,23,59,59],
+          '1954092607:00:00','1954092601:00:00','1955050105:59:59','1955043023:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,5,1,6,0,0],[1955,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955050106:00:00','1955050101:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,9,30,6,59,59],[1956,9,30,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956093006:59:59','1956093001:59:59' ],
+        [ [1956,9,30,7,0,0],[1956,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956093007:00:00','1956093001:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,9,27,6,59,59],[1959,9,27,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959092706:59:59','1959092701:59:59' ],
+        [ [1959,9,27,7,0,0],[1959,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959092707:00:00','1959092701:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,10,30,6,59,59],[1960,10,30,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960103006:59:59','1960103001:59:59' ],
+        [ [1960,10,30,7,0,0],[1960,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960103007:00:00','1960103001:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,9,24,6,59,59],[1961,9,24,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961092406:59:59','1961092401:59:59' ],
+        [ [1961,9,24,7,0,0],[1961,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1962,4,29,7,59,59],[1962,4,29,1,59,59],
+          '1961092407:00:00','1961092401:00:00','1962042907:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,8,0,0],[1962,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1962,10,28,6,59,59],[1962,10,28,1,59,59],
+          '1962042908:00:00','1962042903:00:00','1962102806:59:59','1962102801:59:59' ],
+        [ [1962,10,28,7,0,0],[1962,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1963,4,28,7,59,59],[1963,4,28,1,59,59],
+          '1962102807:00:00','1962102801:00:00','1963042807:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,8,0,0],[1963,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1963,10,27,6,59,59],[1963,10,27,1,59,59],
+          '1963042808:00:00','1963042803:00:00','1963102706:59:59','1963102701:59:59' ],
+        [ [1963,10,27,7,0,0],[1963,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1964,4,26,7,59,59],[1964,4,26,1,59,59],
+          '1963102707:00:00','1963102701:00:00','1964042607:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,8,0,0],[1964,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1964042608:00:00','1964042603:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1970102506:00:00','1970102501:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040202:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amthul00.pm b/lib/Date/Manip/TZ/amthul00.pm
new file mode 100644
index 0000000..653057d
--- /dev/null
+++ b/lib/Date/Manip/TZ/amthul00.pm
@@ -0,0 +1,766 @@
+package #
+Date::Manip::TZ::amthul00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,24,52],'-04:35:08',[-4,-35,-8],
+          'LMT',0,[1916,7,28,4,35,7],[1916,7,27,23,59,59],
+          '0001010200:00:00','0001010119:24:52','1916072804:35:07','1916072723:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,28,4,35,8],[1916,7,28,0,35,8],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,3,31,5,59,59],[1991,3,31,1,59,59],
+          '1916072804:35:08','1916072800:35:08','1991033105:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,6,0,0],[1991,3,31,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,9,29,4,59,59],[1991,9,29,1,59,59],
+          '1991033106:00:00','1991033103:00:00','1991092904:59:59','1991092901:59:59' ],
+        [ [1991,9,29,5,0,0],[1991,9,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,3,29,5,59,59],[1992,3,29,1,59,59],
+          '1991092905:00:00','1991092901:00:00','1992032905:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,6,0,0],[1992,3,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,9,27,4,59,59],[1992,9,27,1,59,59],
+          '1992032906:00:00','1992032903:00:00','1992092704:59:59','1992092701:59:59' ],
+        [ [1992,9,27,5,0,0],[1992,9,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,5,59,59],[1993,4,4,1,59,59],
+          '1992092705:00:00','1992092701:00:00','1993040405:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,4,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040403:00:00','1993103104:59:59','1993103101:59:59' ],
+        [ [1993,10,31,5,0,0],[1993,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,5,59,59],[1994,4,3,1,59,59],
+          '1993103105:00:00','1993103101:00:00','1994040305:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,4,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040303:00:00','1994103004:59:59','1994103001:59:59' ],
+        [ [1994,10,30,5,0,0],[1994,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,5,59,59],[1995,4,2,1,59,59],
+          '1994103005:00:00','1994103001:00:00','1995040205:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,4,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040203:00:00','1995102904:59:59','1995102901:59:59' ],
+        [ [1995,10,29,5,0,0],[1995,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,5,59,59],[1996,4,7,1,59,59],
+          '1995102905:00:00','1995102901:00:00','1996040705:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,6,0,0],[1996,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,4,59,59],[1996,10,27,1,59,59],
+          '1996040706:00:00','1996040703:00:00','1996102704:59:59','1996102701:59:59' ],
+        [ [1996,10,27,5,0,0],[1996,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,5,59,59],[1997,4,6,1,59,59],
+          '1996102705:00:00','1996102701:00:00','1997040605:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,6,0,0],[1997,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,4,59,59],[1997,10,26,1,59,59],
+          '1997040606:00:00','1997040603:00:00','1997102604:59:59','1997102601:59:59' ],
+        [ [1997,10,26,5,0,0],[1997,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,5,59,59],[1998,4,5,1,59,59],
+          '1997102605:00:00','1997102601:00:00','1998040505:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,6,0,0],[1998,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,4,59,59],[1998,10,25,1,59,59],
+          '1998040506:00:00','1998040503:00:00','1998102504:59:59','1998102501:59:59' ],
+        [ [1998,10,25,5,0,0],[1998,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,5,59,59],[1999,4,4,1,59,59],
+          '1998102505:00:00','1998102501:00:00','1999040405:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,6,0,0],[1999,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,4,59,59],[1999,10,31,1,59,59],
+          '1999040406:00:00','1999040403:00:00','1999103104:59:59','1999103101:59:59' ],
+        [ [1999,10,31,5,0,0],[1999,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,5,59,59],[2000,4,2,1,59,59],
+          '1999103105:00:00','1999103101:00:00','2000040205:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,6,0,0],[2000,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,4,59,59],[2000,10,29,1,59,59],
+          '2000040206:00:00','2000040203:00:00','2000102904:59:59','2000102901:59:59' ],
+        [ [2000,10,29,5,0,0],[2000,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,5,59,59],[2001,4,1,1,59,59],
+          '2000102905:00:00','2000102901:00:00','2001040105:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,6,0,0],[2001,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,4,59,59],[2001,10,28,1,59,59],
+          '2001040106:00:00','2001040103:00:00','2001102804:59:59','2001102801:59:59' ],
+        [ [2001,10,28,5,0,0],[2001,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,5,59,59],[2002,4,7,1,59,59],
+          '2001102805:00:00','2001102801:00:00','2002040705:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,6,0,0],[2002,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,4,59,59],[2002,10,27,1,59,59],
+          '2002040706:00:00','2002040703:00:00','2002102704:59:59','2002102701:59:59' ],
+        [ [2002,10,27,5,0,0],[2002,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,5,59,59],[2003,4,6,1,59,59],
+          '2002102705:00:00','2002102701:00:00','2003040605:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,6,0,0],[2003,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,4,59,59],[2003,10,26,1,59,59],
+          '2003040606:00:00','2003040603:00:00','2003102604:59:59','2003102601:59:59' ],
+        [ [2003,10,26,5,0,0],[2003,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,5,59,59],[2004,4,4,1,59,59],
+          '2003102605:00:00','2003102601:00:00','2004040405:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,6,0,0],[2004,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,4,59,59],[2004,10,31,1,59,59],
+          '2004040406:00:00','2004040403:00:00','2004103104:59:59','2004103101:59:59' ],
+        [ [2004,10,31,5,0,0],[2004,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,5,59,59],[2005,4,3,1,59,59],
+          '2004103105:00:00','2004103101:00:00','2005040305:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,6,0,0],[2005,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,4,59,59],[2005,10,30,1,59,59],
+          '2005040306:00:00','2005040303:00:00','2005103004:59:59','2005103001:59:59' ],
+        [ [2005,10,30,5,0,0],[2005,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,5,59,59],[2006,4,2,1,59,59],
+          '2005103005:00:00','2005103001:00:00','2006040205:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,6,0,0],[2006,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,4,59,59],[2006,10,29,1,59,59],
+          '2006040206:00:00','2006040203:00:00','2006102904:59:59','2006102901:59:59' ],
+        [ [2006,10,29,5,0,0],[2006,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,5,59,59],[2007,3,11,1,59,59],
+          '2006102905:00:00','2006102901:00:00','2007031105:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,6,0,0],[2007,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,4,59,59],[2007,11,4,1,59,59],
+          '2007031106:00:00','2007031103:00:00','2007110404:59:59','2007110401:59:59' ],
+        [ [2007,11,4,5,0,0],[2007,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,5,59,59],[2008,3,9,1,59,59],
+          '2007110405:00:00','2007110401:00:00','2008030905:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,6,0,0],[2008,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,4,59,59],[2008,11,2,1,59,59],
+          '2008030906:00:00','2008030903:00:00','2008110204:59:59','2008110201:59:59' ],
+        [ [2008,11,2,5,0,0],[2008,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,5,59,59],[2009,3,8,1,59,59],
+          '2008110205:00:00','2008110201:00:00','2009030805:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,6,0,0],[2009,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,4,59,59],[2009,11,1,1,59,59],
+          '2009030806:00:00','2009030803:00:00','2009110104:59:59','2009110101:59:59' ],
+        [ [2009,11,1,5,0,0],[2009,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,5,59,59],[2010,3,14,1,59,59],
+          '2009110105:00:00','2009110101:00:00','2010031405:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,6,0,0],[2010,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,4,59,59],[2010,11,7,1,59,59],
+          '2010031406:00:00','2010031403:00:00','2010110704:59:59','2010110701:59:59' ],
+        [ [2010,11,7,5,0,0],[2010,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,5,59,59],[2011,3,13,1,59,59],
+          '2010110705:00:00','2010110701:00:00','2011031305:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,6,0,0],[2011,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031306:00:00','2011031303:00:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amthun00.pm b/lib/Date/Manip/TZ/amthun00.pm
new file mode 100644
index 0000000..b7173ae
--- /dev/null
+++ b/lib/Date/Manip/TZ/amthun00.pm
@@ -0,0 +1,967 @@
+package #
+Date::Manip::TZ::amthun00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,3,0],'-05:57:00',[-5,-57,0],
+          'LMT',0,[1895,1,1,5,56,59],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010118:03:00','1895010105:56:59','1894123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,1,5,57,0],[1894,12,31,23,57,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1910,1,1,5,59,59],[1909,12,31,23,59,59],
+          '1895010105:57:00','1894123123:57:00','1910010105:59:59','1909123123:59:59' ],
+     ],
+   1910 =>
+     [
+        [ [1910,1,1,6,0,0],[1910,1,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1942,2,9,6,59,59],[1942,2,9,1,59,59],
+          '1910010106:00:00','1910010101:00:00','1942020906:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,7,0,0],[1942,2,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942020907:00:00','1942020903:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1945093006:00:00','1945093001:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,4,28,6,59,59],[1974,4,28,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1974042806:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,7,0,0],[1974,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974042807:00:00','1974042803:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,4,27,6,59,59],[1975,4,27,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975042706:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,7,0,0],[1975,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975042707:00:00','1975042703:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amtiju00.pm b/lib/Date/Manip/TZ/amtiju00.pm
new file mode 100644
index 0000000..79f6c72
--- /dev/null
+++ b/lib/Date/Manip/TZ/amtiju00.pm
@@ -0,0 +1,1018 @@
+package #
+Date::Manip::TZ::amtiju00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,11,56],'-07:48:04',[-7,-48,-4],
+          'LMT',0,[1922,1,1,7,59,59],[1922,1,1,0,11,55],
+          '0001010200:00:00','0001010116:11:56','1922010107:59:59','1922010100:11:55' ],
+     ],
+   1922 =>
+     [
+        [ [1922,1,1,8,0,0],[1922,1,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1924,1,1,6,59,59],[1923,12,31,23,59,59],
+          '1922010108:00:00','1922010101:00:00','1924010106:59:59','1923123123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,1,1,7,0,0],[1923,12,31,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1927,6,11,6,59,59],[1927,6,10,22,59,59],
+          '1924010107:00:00','1923123123:00:00','1927061106:59:59','1927061022:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,6,11,7,0,0],[1927,6,11,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1930,11,15,6,59,59],[1930,11,14,23,59,59],
+          '1927061107:00:00','1927061100:00:00','1930111506:59:59','1930111423:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,11,15,7,0,0],[1930,11,14,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1931,4,1,7,59,59],[1931,3,31,23,59,59],
+          '1930111507:00:00','1930111423:00:00','1931040107:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,8,0,0],[1931,4,1,1,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1931,9,30,6,59,59],[1931,9,29,23,59,59],
+          '1931040108:00:00','1931040101:00:00','1931093006:59:59','1931092923:59:59' ],
+        [ [1931,9,30,7,0,0],[1931,9,29,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,4,24,7,59,59],[1942,4,23,23,59,59],
+          '1931093007:00:00','1931092923:00:00','1942042407:59:59','1942042323:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,24,8,0,0],[1942,4,24,1,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942042408:00:00','1942042401:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,11,12,6,59,59],[1945,11,11,23,59,59],
+          '1945081423:00:00','1945081416:00:00','1945111206:59:59','1945111123:59:59' ],
+        [ [1945,11,12,7,0,0],[1945,11,11,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1948,4,5,7,59,59],[1948,4,4,23,59,59],
+          '1945111207:00:00','1945111123:00:00','1948040507:59:59','1948040423:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,5,8,0,0],[1948,4,5,1,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1949,1,14,6,59,59],[1949,1,13,23,59,59],
+          '1948040508:00:00','1948040501:00:00','1949011406:59:59','1949011323:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,1,14,7,0,0],[1949,1,13,23,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1954,4,25,8,59,59],[1954,4,25,0,59,59],
+          '1949011407:00:00','1949011323:00:00','1954042508:59:59','1954042500:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,9,0,0],[1954,4,25,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1954,9,26,8,59,59],[1954,9,26,1,59,59],
+          '1954042509:00:00','1954042502:00:00','1954092608:59:59','1954092601:59:59' ],
+        [ [1954,9,26,9,0,0],[1954,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1955,4,24,8,59,59],[1955,4,24,0,59,59],
+          '1954092609:00:00','1954092601:00:00','1955042408:59:59','1955042400:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,9,0,0],[1955,4,24,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1955,9,25,8,59,59],[1955,9,25,1,59,59],
+          '1955042409:00:00','1955042402:00:00','1955092508:59:59','1955092501:59:59' ],
+        [ [1955,9,25,9,0,0],[1955,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1956,4,29,8,59,59],[1956,4,29,0,59,59],
+          '1955092509:00:00','1955092501:00:00','1956042908:59:59','1956042900:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,9,0,0],[1956,4,29,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1956,9,30,8,59,59],[1956,9,30,1,59,59],
+          '1956042909:00:00','1956042902:00:00','1956093008:59:59','1956093001:59:59' ],
+        [ [1956,9,30,9,0,0],[1956,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1957,4,28,8,59,59],[1957,4,28,0,59,59],
+          '1956093009:00:00','1956093001:00:00','1957042808:59:59','1957042800:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,9,0,0],[1957,4,28,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1957,9,29,8,59,59],[1957,9,29,1,59,59],
+          '1957042809:00:00','1957042802:00:00','1957092908:59:59','1957092901:59:59' ],
+        [ [1957,9,29,9,0,0],[1957,9,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1958,4,27,8,59,59],[1958,4,27,0,59,59],
+          '1957092909:00:00','1957092901:00:00','1958042708:59:59','1958042700:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,9,0,0],[1958,4,27,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1958,9,28,8,59,59],[1958,9,28,1,59,59],
+          '1958042709:00:00','1958042702:00:00','1958092808:59:59','1958092801:59:59' ],
+        [ [1958,9,28,9,0,0],[1958,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1959,4,26,8,59,59],[1959,4,26,0,59,59],
+          '1958092809:00:00','1958092801:00:00','1959042608:59:59','1959042600:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,9,0,0],[1959,4,26,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1959,9,27,8,59,59],[1959,9,27,1,59,59],
+          '1959042609:00:00','1959042602:00:00','1959092708:59:59','1959092701:59:59' ],
+        [ [1959,9,27,9,0,0],[1959,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1960,4,24,8,59,59],[1960,4,24,0,59,59],
+          '1959092709:00:00','1959092701:00:00','1960042408:59:59','1960042400:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,9,0,0],[1960,4,24,2,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1960,9,25,8,59,59],[1960,9,25,1,59,59],
+          '1960042409:00:00','1960042402:00:00','1960092508:59:59','1960092501:59:59' ],
+        [ [1960,9,25,9,0,0],[1960,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1960092509:00:00','1960092501:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,4,1,9,59,59],[2007,4,1,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007040109:59:59','2007040101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,10,0,0],[2007,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,10,28,8,59,59],[2007,10,28,1,59,59],
+          '2007040110:00:00','2007040103:00:00','2007102808:59:59','2007102801:59:59' ],
+        [ [2007,10,28,9,0,0],[2007,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,4,6,9,59,59],[2008,4,6,1,59,59],
+          '2007102809:00:00','2007102801:00:00','2008040609:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,6,10,0,0],[2008,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,10,26,8,59,59],[2008,10,26,1,59,59],
+          '2008040610:00:00','2008040603:00:00','2008102608:59:59','2008102601:59:59' ],
+        [ [2008,10,26,9,0,0],[2008,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,4,5,9,59,59],[2009,4,5,1,59,59],
+          '2008102609:00:00','2008102601:00:00','2009040509:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,5,10,0,0],[2009,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,10,25,8,59,59],[2009,10,25,1,59,59],
+          '2009040510:00:00','2009040503:00:00','2009102508:59:59','2009102501:59:59' ],
+        [ [2009,10,25,9,0,0],[2009,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009102509:00:00','2009102501:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2015,11,1,8,59,59],[2015,11,1,1,59,59],
+          '2015030810:00:00','2015030803:00:00','2015110108:59:59','2015110101:59:59' ],
+        [ [2015,11,1,9,0,0],[2015,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2016,3,13,9,59,59],[2016,3,13,1,59,59],
+          '2015110109:00:00','2015110101:00:00','2016031309:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,10,0,0],[2016,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2016,11,6,8,59,59],[2016,11,6,1,59,59],
+          '2016031310:00:00','2016031303:00:00','2016110608:59:59','2016110601:59:59' ],
+        [ [2016,11,6,9,0,0],[2016,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2017,3,12,9,59,59],[2017,3,12,1,59,59],
+          '2016110609:00:00','2016110601:00:00','2017031209:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,10,0,0],[2017,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2017,11,5,8,59,59],[2017,11,5,1,59,59],
+          '2017031210:00:00','2017031203:00:00','2017110508:59:59','2017110501:59:59' ],
+        [ [2017,11,5,9,0,0],[2017,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2018,3,11,9,59,59],[2018,3,11,1,59,59],
+          '2017110509:00:00','2017110501:00:00','2018031109:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,10,0,0],[2018,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2018,11,4,8,59,59],[2018,11,4,1,59,59],
+          '2018031110:00:00','2018031103:00:00','2018110408:59:59','2018110401:59:59' ],
+        [ [2018,11,4,9,0,0],[2018,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2019,3,10,9,59,59],[2019,3,10,1,59,59],
+          '2018110409:00:00','2018110401:00:00','2019031009:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,10,0,0],[2019,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2019,11,3,8,59,59],[2019,11,3,1,59,59],
+          '2019031010:00:00','2019031003:00:00','2019110308:59:59','2019110301:59:59' ],
+        [ [2019,11,3,9,0,0],[2019,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2020,3,8,9,59,59],[2020,3,8,1,59,59],
+          '2019110309:00:00','2019110301:00:00','2020030809:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,10,0,0],[2020,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2020,11,1,8,59,59],[2020,11,1,1,59,59],
+          '2020030810:00:00','2020030803:00:00','2020110108:59:59','2020110101:59:59' ],
+        [ [2020,11,1,9,0,0],[2020,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2021,3,14,9,59,59],[2021,3,14,1,59,59],
+          '2020110109:00:00','2020110101:00:00','2021031409:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,10,0,0],[2021,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2021,11,7,8,59,59],[2021,11,7,1,59,59],
+          '2021031410:00:00','2021031403:00:00','2021110708:59:59','2021110701:59:59' ],
+        [ [2021,11,7,9,0,0],[2021,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2022,3,13,9,59,59],[2022,3,13,1,59,59],
+          '2021110709:00:00','2021110701:00:00','2022031309:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,10,0,0],[2022,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2022,11,6,8,59,59],[2022,11,6,1,59,59],
+          '2022031310:00:00','2022031303:00:00','2022110608:59:59','2022110601:59:59' ],
+        [ [2022,11,6,9,0,0],[2022,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2023,3,12,9,59,59],[2023,3,12,1,59,59],
+          '2022110609:00:00','2022110601:00:00','2023031209:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,10,0,0],[2023,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2023,11,5,8,59,59],[2023,11,5,1,59,59],
+          '2023031210:00:00','2023031203:00:00','2023110508:59:59','2023110501:59:59' ],
+        [ [2023,11,5,9,0,0],[2023,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2024,3,10,9,59,59],[2024,3,10,1,59,59],
+          '2023110509:00:00','2023110501:00:00','2024031009:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,10,0,0],[2024,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2024,11,3,8,59,59],[2024,11,3,1,59,59],
+          '2024031010:00:00','2024031003:00:00','2024110308:59:59','2024110301:59:59' ],
+        [ [2024,11,3,9,0,0],[2024,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2025,3,9,9,59,59],[2025,3,9,1,59,59],
+          '2024110309:00:00','2024110301:00:00','2025030909:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,10,0,0],[2025,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2025,11,2,8,59,59],[2025,11,2,1,59,59],
+          '2025030910:00:00','2025030903:00:00','2025110208:59:59','2025110201:59:59' ],
+        [ [2025,11,2,9,0,0],[2025,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2026,3,8,9,59,59],[2026,3,8,1,59,59],
+          '2025110209:00:00','2025110201:00:00','2026030809:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,10,0,0],[2026,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2026,11,1,8,59,59],[2026,11,1,1,59,59],
+          '2026030810:00:00','2026030803:00:00','2026110108:59:59','2026110101:59:59' ],
+        [ [2026,11,1,9,0,0],[2026,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2027,3,14,9,59,59],[2027,3,14,1,59,59],
+          '2026110109:00:00','2026110101:00:00','2027031409:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,10,0,0],[2027,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2027,11,7,8,59,59],[2027,11,7,1,59,59],
+          '2027031410:00:00','2027031403:00:00','2027110708:59:59','2027110701:59:59' ],
+        [ [2027,11,7,9,0,0],[2027,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2028,3,12,9,59,59],[2028,3,12,1,59,59],
+          '2027110709:00:00','2027110701:00:00','2028031209:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,10,0,0],[2028,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2028,11,5,8,59,59],[2028,11,5,1,59,59],
+          '2028031210:00:00','2028031203:00:00','2028110508:59:59','2028110501:59:59' ],
+        [ [2028,11,5,9,0,0],[2028,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2029,3,11,9,59,59],[2029,3,11,1,59,59],
+          '2028110509:00:00','2028110501:00:00','2029031109:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,10,0,0],[2029,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2029,11,4,8,59,59],[2029,11,4,1,59,59],
+          '2029031110:00:00','2029031103:00:00','2029110408:59:59','2029110401:59:59' ],
+        [ [2029,11,4,9,0,0],[2029,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2030,3,10,9,59,59],[2030,3,10,1,59,59],
+          '2029110409:00:00','2029110401:00:00','2030031009:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,10,0,0],[2030,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2030,11,3,8,59,59],[2030,11,3,1,59,59],
+          '2030031010:00:00','2030031003:00:00','2030110308:59:59','2030110301:59:59' ],
+        [ [2030,11,3,9,0,0],[2030,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2031,3,9,9,59,59],[2031,3,9,1,59,59],
+          '2030110309:00:00','2030110301:00:00','2031030909:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,10,0,0],[2031,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2031,11,2,8,59,59],[2031,11,2,1,59,59],
+          '2031030910:00:00','2031030903:00:00','2031110208:59:59','2031110201:59:59' ],
+        [ [2031,11,2,9,0,0],[2031,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2032,3,14,9,59,59],[2032,3,14,1,59,59],
+          '2031110209:00:00','2031110201:00:00','2032031409:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,10,0,0],[2032,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2032,11,7,8,59,59],[2032,11,7,1,59,59],
+          '2032031410:00:00','2032031403:00:00','2032110708:59:59','2032110701:59:59' ],
+        [ [2032,11,7,9,0,0],[2032,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2033,3,13,9,59,59],[2033,3,13,1,59,59],
+          '2032110709:00:00','2032110701:00:00','2033031309:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,10,0,0],[2033,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2033,11,6,8,59,59],[2033,11,6,1,59,59],
+          '2033031310:00:00','2033031303:00:00','2033110608:59:59','2033110601:59:59' ],
+        [ [2033,11,6,9,0,0],[2033,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2034,3,12,9,59,59],[2034,3,12,1,59,59],
+          '2033110609:00:00','2033110601:00:00','2034031209:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,10,0,0],[2034,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2034,11,5,8,59,59],[2034,11,5,1,59,59],
+          '2034031210:00:00','2034031203:00:00','2034110508:59:59','2034110501:59:59' ],
+        [ [2034,11,5,9,0,0],[2034,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2035,3,11,9,59,59],[2035,3,11,1,59,59],
+          '2034110509:00:00','2034110501:00:00','2035031109:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,10,0,0],[2035,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2035,11,4,8,59,59],[2035,11,4,1,59,59],
+          '2035031110:00:00','2035031103:00:00','2035110408:59:59','2035110401:59:59' ],
+        [ [2035,11,4,9,0,0],[2035,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2036,3,9,9,59,59],[2036,3,9,1,59,59],
+          '2035110409:00:00','2035110401:00:00','2036030909:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,10,0,0],[2036,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2036,11,2,8,59,59],[2036,11,2,1,59,59],
+          '2036030910:00:00','2036030903:00:00','2036110208:59:59','2036110201:59:59' ],
+        [ [2036,11,2,9,0,0],[2036,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2037,3,8,9,59,59],[2037,3,8,1,59,59],
+          '2036110209:00:00','2036110201:00:00','2037030809:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,10,0,0],[2037,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2037,11,1,8,59,59],[2037,11,1,1,59,59],
+          '2037030810:00:00','2037030803:00:00','2037110108:59:59','2037110101:59:59' ],
+        [ [2037,11,1,9,0,0],[2037,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2038,3,14,9,59,59],[2038,3,14,1,59,59],
+          '2037110109:00:00','2037110101:00:00','2038031409:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,10,0,0],[2038,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2038,11,7,8,59,59],[2038,11,7,1,59,59],
+          '2038031410:00:00','2038031403:00:00','2038110708:59:59','2038110701:59:59' ],
+        [ [2038,11,7,9,0,0],[2038,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2039,3,13,9,59,59],[2039,3,13,1,59,59],
+          '2038110709:00:00','2038110701:00:00','2039031309:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,10,0,0],[2039,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2039,11,6,8,59,59],[2039,11,6,1,59,59],
+          '2039031310:00:00','2039031303:00:00','2039110608:59:59','2039110601:59:59' ],
+        [ [2039,11,6,9,0,0],[2039,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2040,3,11,9,59,59],[2040,3,11,1,59,59],
+          '2039110609:00:00','2039110601:00:00','2040031109:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,10,0,0],[2040,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2040,11,4,8,59,59],[2040,11,4,1,59,59],
+          '2040031110:00:00','2040031103:00:00','2040110408:59:59','2040110401:59:59' ],
+        [ [2040,11,4,9,0,0],[2040,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2041,3,10,9,59,59],[2041,3,10,1,59,59],
+          '2040110409:00:00','2040110401:00:00','2041031009:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,10,0,0],[2041,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2041,11,3,8,59,59],[2041,11,3,1,59,59],
+          '2041031010:00:00','2041031003:00:00','2041110308:59:59','2041110301:59:59' ],
+        [ [2041,11,3,9,0,0],[2041,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2042,3,9,9,59,59],[2042,3,9,1,59,59],
+          '2041110309:00:00','2041110301:00:00','2042030909:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,10,0,0],[2042,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2042,11,2,8,59,59],[2042,11,2,1,59,59],
+          '2042030910:00:00','2042030903:00:00','2042110208:59:59','2042110201:59:59' ],
+        [ [2042,11,2,9,0,0],[2042,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2043,3,8,9,59,59],[2043,3,8,1,59,59],
+          '2042110209:00:00','2042110201:00:00','2043030809:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,10,0,0],[2043,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2043,11,1,8,59,59],[2043,11,1,1,59,59],
+          '2043030810:00:00','2043030803:00:00','2043110108:59:59','2043110101:59:59' ],
+        [ [2043,11,1,9,0,0],[2043,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2044,3,13,9,59,59],[2044,3,13,1,59,59],
+          '2043110109:00:00','2043110101:00:00','2044031309:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,10,0,0],[2044,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2044,11,6,8,59,59],[2044,11,6,1,59,59],
+          '2044031310:00:00','2044031303:00:00','2044110608:59:59','2044110601:59:59' ],
+        [ [2044,11,6,9,0,0],[2044,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2045,3,12,9,59,59],[2045,3,12,1,59,59],
+          '2044110609:00:00','2044110601:00:00','2045031209:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,10,0,0],[2045,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2045,11,5,8,59,59],[2045,11,5,1,59,59],
+          '2045031210:00:00','2045031203:00:00','2045110508:59:59','2045110501:59:59' ],
+        [ [2045,11,5,9,0,0],[2045,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2046,3,11,9,59,59],[2046,3,11,1,59,59],
+          '2045110509:00:00','2045110501:00:00','2046031109:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,10,0,0],[2046,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2046,11,4,8,59,59],[2046,11,4,1,59,59],
+          '2046031110:00:00','2046031103:00:00','2046110408:59:59','2046110401:59:59' ],
+        [ [2046,11,4,9,0,0],[2046,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2047,3,10,9,59,59],[2047,3,10,1,59,59],
+          '2046110409:00:00','2046110401:00:00','2047031009:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,10,0,0],[2047,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2047,11,3,8,59,59],[2047,11,3,1,59,59],
+          '2047031010:00:00','2047031003:00:00','2047110308:59:59','2047110301:59:59' ],
+        [ [2047,11,3,9,0,0],[2047,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2048,3,8,9,59,59],[2048,3,8,1,59,59],
+          '2047110309:00:00','2047110301:00:00','2048030809:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,10,0,0],[2048,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2048,11,1,8,59,59],[2048,11,1,1,59,59],
+          '2048030810:00:00','2048030803:00:00','2048110108:59:59','2048110101:59:59' ],
+        [ [2048,11,1,9,0,0],[2048,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2049,3,14,9,59,59],[2049,3,14,1,59,59],
+          '2048110109:00:00','2048110101:00:00','2049031409:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,10,0,0],[2049,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2049,11,7,8,59,59],[2049,11,7,1,59,59],
+          '2049031410:00:00','2049031403:00:00','2049110708:59:59','2049110701:59:59' ],
+        [ [2049,11,7,9,0,0],[2049,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2050,3,13,9,59,59],[2050,3,13,1,59,59],
+          '2049110709:00:00','2049110701:00:00','2050031309:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,10,0,0],[2050,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2050,11,6,8,59,59],[2050,11,6,1,59,59],
+          '2050031310:00:00','2050031303:00:00','2050110608:59:59','2050110601:59:59' ],
+        [ [2050,11,6,9,0,0],[2050,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2051,3,12,9,59,59],[2051,3,12,1,59,59],
+          '2050110609:00:00','2050110601:00:00','2051031209:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,10,0,0],[2051,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2051,11,5,8,59,59],[2051,11,5,1,59,59],
+          '2051031210:00:00','2051031203:00:00','2051110508:59:59','2051110501:59:59' ],
+        [ [2051,11,5,9,0,0],[2051,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2052,3,10,9,59,59],[2052,3,10,1,59,59],
+          '2051110509:00:00','2051110501:00:00','2052031009:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,10,0,0],[2052,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2052,11,3,8,59,59],[2052,11,3,1,59,59],
+          '2052031010:00:00','2052031003:00:00','2052110308:59:59','2052110301:59:59' ],
+        [ [2052,11,3,9,0,0],[2052,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2053,3,9,9,59,59],[2053,3,9,1,59,59],
+          '2052110309:00:00','2052110301:00:00','2053030909:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,10,0,0],[2053,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2053,11,2,8,59,59],[2053,11,2,1,59,59],
+          '2053030910:00:00','2053030903:00:00','2053110208:59:59','2053110201:59:59' ],
+        [ [2053,11,2,9,0,0],[2053,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2054,3,8,9,59,59],[2054,3,8,1,59,59],
+          '2053110209:00:00','2053110201:00:00','2054030809:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,10,0,0],[2054,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2054,11,1,8,59,59],[2054,11,1,1,59,59],
+          '2054030810:00:00','2054030803:00:00','2054110108:59:59','2054110101:59:59' ],
+        [ [2054,11,1,9,0,0],[2054,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2055,3,14,9,59,59],[2055,3,14,1,59,59],
+          '2054110109:00:00','2054110101:00:00','2055031409:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,10,0,0],[2055,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2055,11,7,8,59,59],[2055,11,7,1,59,59],
+          '2055031410:00:00','2055031403:00:00','2055110708:59:59','2055110701:59:59' ],
+        [ [2055,11,7,9,0,0],[2055,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2056,3,12,9,59,59],[2056,3,12,1,59,59],
+          '2055110709:00:00','2055110701:00:00','2056031209:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,10,0,0],[2056,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2056,11,5,8,59,59],[2056,11,5,1,59,59],
+          '2056031210:00:00','2056031203:00:00','2056110508:59:59','2056110501:59:59' ],
+        [ [2056,11,5,9,0,0],[2056,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2057,3,11,9,59,59],[2057,3,11,1,59,59],
+          '2056110509:00:00','2056110501:00:00','2057031109:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,10,0,0],[2057,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2057,11,4,8,59,59],[2057,11,4,1,59,59],
+          '2057031110:00:00','2057031103:00:00','2057110408:59:59','2057110401:59:59' ],
+        [ [2057,11,4,9,0,0],[2057,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2058,3,10,9,59,59],[2058,3,10,1,59,59],
+          '2057110409:00:00','2057110401:00:00','2058031009:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,10,0,0],[2058,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2058,11,3,8,59,59],[2058,11,3,1,59,59],
+          '2058031010:00:00','2058031003:00:00','2058110308:59:59','2058110301:59:59' ],
+        [ [2058,11,3,9,0,0],[2058,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2059,3,9,9,59,59],[2059,3,9,1,59,59],
+          '2058110309:00:00','2058110301:00:00','2059030909:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,10,0,0],[2059,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2059,11,2,8,59,59],[2059,11,2,1,59,59],
+          '2059030910:00:00','2059030903:00:00','2059110208:59:59','2059110201:59:59' ],
+        [ [2059,11,2,9,0,0],[2059,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2060,3,14,9,59,59],[2060,3,14,1,59,59],
+          '2059110209:00:00','2059110201:00:00','2060031409:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,10,0,0],[2060,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2060,11,7,8,59,59],[2060,11,7,1,59,59],
+          '2060031410:00:00','2060031403:00:00','2060110708:59:59','2060110701:59:59' ],
+        [ [2060,11,7,9,0,0],[2060,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2061,3,13,9,59,59],[2061,3,13,1,59,59],
+          '2060110709:00:00','2060110701:00:00','2061031309:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,10,0,0],[2061,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2061,11,6,8,59,59],[2061,11,6,1,59,59],
+          '2061031310:00:00','2061031303:00:00','2061110608:59:59','2061110601:59:59' ],
+        [ [2061,11,6,9,0,0],[2061,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2062,3,12,9,59,59],[2062,3,12,1,59,59],
+          '2061110609:00:00','2061110601:00:00','2062031209:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,10,0,0],[2062,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2062,11,5,8,59,59],[2062,11,5,1,59,59],
+          '2062031210:00:00','2062031203:00:00','2062110508:59:59','2062110501:59:59' ],
+        [ [2062,11,5,9,0,0],[2062,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2063,3,11,9,59,59],[2063,3,11,1,59,59],
+          '2062110509:00:00','2062110501:00:00','2063031109:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,10,0,0],[2063,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2063,11,4,8,59,59],[2063,11,4,1,59,59],
+          '2063031110:00:00','2063031103:00:00','2063110408:59:59','2063110401:59:59' ],
+        [ [2063,11,4,9,0,0],[2063,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2064,3,9,9,59,59],[2064,3,9,1,59,59],
+          '2063110409:00:00','2063110401:00:00','2064030909:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,10,0,0],[2064,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2064,11,2,8,59,59],[2064,11,2,1,59,59],
+          '2064030910:00:00','2064030903:00:00','2064110208:59:59','2064110201:59:59' ],
+        [ [2064,11,2,9,0,0],[2064,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2065,3,8,9,59,59],[2065,3,8,1,59,59],
+          '2064110209:00:00','2064110201:00:00','2065030809:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,10,0,0],[2065,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2065,11,1,8,59,59],[2065,11,1,1,59,59],
+          '2065030810:00:00','2065030803:00:00','2065110108:59:59','2065110101:59:59' ],
+        [ [2065,11,1,9,0,0],[2065,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2066,3,14,9,59,59],[2066,3,14,1,59,59],
+          '2065110109:00:00','2065110101:00:00','2066031409:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,10,0,0],[2066,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2066,11,7,8,59,59],[2066,11,7,1,59,59],
+          '2066031410:00:00','2066031403:00:00','2066110708:59:59','2066110701:59:59' ],
+        [ [2066,11,7,9,0,0],[2066,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2067,3,13,9,59,59],[2067,3,13,1,59,59],
+          '2066110709:00:00','2066110701:00:00','2067031309:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,10,0,0],[2067,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2067,11,6,8,59,59],[2067,11,6,1,59,59],
+          '2067031310:00:00','2067031303:00:00','2067110608:59:59','2067110601:59:59' ],
+        [ [2067,11,6,9,0,0],[2067,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2068,3,11,9,59,59],[2068,3,11,1,59,59],
+          '2067110609:00:00','2067110601:00:00','2068031109:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-07:00:00',
+                'stdoff' => '-08:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'PDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'PST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amtoro00.pm b/lib/Date/Manip/TZ/amtoro00.pm
new file mode 100644
index 0000000..30be4c8
--- /dev/null
+++ b/lib/Date/Manip/TZ/amtoro00.pm
@@ -0,0 +1,1390 @@
+package #
+Date::Manip::TZ::amtoro00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,42,28],'-05:17:32',[-5,-17,-32],
+          'LMT',0,[1895,1,1,5,17,31],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010118:42:28','1895010105:17:31','1894123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,1,5,17,32],[1895,1,1,0,17,32],'-05:00:00',[-5,0,0],
+          'EST',0,[1918,4,14,6,59,59],[1918,4,14,1,59,59],
+          '1895010105:17:32','1895010100:17:32','1918041406:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,7,0,0],[1918,4,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1918,10,27,5,59,59],[1918,10,27,1,59,59],
+          '1918041407:00:00','1918041403:00:00','1918102705:59:59','1918102701:59:59' ],
+        [ [1918,10,27,6,0,0],[1918,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1919,3,31,4,29,59],[1919,3,30,23,29,59],
+          '1918102706:00:00','1918102701:00:00','1919033104:29:59','1919033023:29:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,31,4,30,0],[1919,3,31,0,30,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1919,10,26,3,59,59],[1919,10,25,23,59,59],
+          '1919033104:30:00','1919033100:30:00','1919102603:59:59','1919102523:59:59' ],
+        [ [1919,10,26,4,0,0],[1919,10,25,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1920,5,2,6,59,59],[1920,5,2,1,59,59],
+          '1919102604:00:00','1919102523:00:00','1920050206:59:59','1920050201:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,2,7,0,0],[1920,5,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1920,9,26,3,59,59],[1920,9,25,23,59,59],
+          '1920050207:00:00','1920050203:00:00','1920092603:59:59','1920092523:59:59' ],
+        [ [1920,9,26,4,0,0],[1920,9,25,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1921,5,15,6,59,59],[1921,5,15,1,59,59],
+          '1920092604:00:00','1920092523:00:00','1921051506:59:59','1921051501:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,5,15,7,0,0],[1921,5,15,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1921,9,15,5,59,59],[1921,9,15,1,59,59],
+          '1921051507:00:00','1921051503:00:00','1921091505:59:59','1921091501:59:59' ],
+        [ [1921,9,15,6,0,0],[1921,9,15,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1922,5,14,6,59,59],[1922,5,14,1,59,59],
+          '1921091506:00:00','1921091501:00:00','1922051406:59:59','1922051401:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,5,14,7,0,0],[1922,5,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1922,9,17,5,59,59],[1922,9,17,1,59,59],
+          '1922051407:00:00','1922051403:00:00','1922091705:59:59','1922091701:59:59' ],
+        [ [1922,9,17,6,0,0],[1922,9,17,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1923,5,13,6,59,59],[1923,5,13,1,59,59],
+          '1922091706:00:00','1922091701:00:00','1923051306:59:59','1923051301:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,13,7,0,0],[1923,5,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1923,9,16,5,59,59],[1923,9,16,1,59,59],
+          '1923051307:00:00','1923051303:00:00','1923091605:59:59','1923091601:59:59' ],
+        [ [1923,9,16,6,0,0],[1923,9,16,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1924,5,4,6,59,59],[1924,5,4,1,59,59],
+          '1923091606:00:00','1923091601:00:00','1924050406:59:59','1924050401:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,4,7,0,0],[1924,5,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1924,9,21,5,59,59],[1924,9,21,1,59,59],
+          '1924050407:00:00','1924050403:00:00','1924092105:59:59','1924092101:59:59' ],
+        [ [1924,9,21,6,0,0],[1924,9,21,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1925,5,3,6,59,59],[1925,5,3,1,59,59],
+          '1924092106:00:00','1924092101:00:00','1925050306:59:59','1925050301:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,5,3,7,0,0],[1925,5,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1925,9,20,5,59,59],[1925,9,20,1,59,59],
+          '1925050307:00:00','1925050303:00:00','1925092005:59:59','1925092001:59:59' ],
+        [ [1925,9,20,6,0,0],[1925,9,20,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1926,5,2,6,59,59],[1926,5,2,1,59,59],
+          '1925092006:00:00','1925092001:00:00','1926050206:59:59','1926050201:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,5,2,7,0,0],[1926,5,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1926,9,19,5,59,59],[1926,9,19,1,59,59],
+          '1926050207:00:00','1926050203:00:00','1926091905:59:59','1926091901:59:59' ],
+        [ [1926,9,19,6,0,0],[1926,9,19,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1927,5,1,6,59,59],[1927,5,1,1,59,59],
+          '1926091906:00:00','1926091901:00:00','1927050106:59:59','1927050101:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,5,1,7,0,0],[1927,5,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1927,9,25,5,59,59],[1927,9,25,1,59,59],
+          '1927050107:00:00','1927050103:00:00','1927092505:59:59','1927092501:59:59' ],
+        [ [1927,9,25,6,0,0],[1927,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1928,4,29,6,59,59],[1928,4,29,1,59,59],
+          '1927092506:00:00','1927092501:00:00','1928042906:59:59','1928042901:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,29,7,0,0],[1928,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1928,9,30,5,59,59],[1928,9,30,1,59,59],
+          '1928042907:00:00','1928042903:00:00','1928093005:59:59','1928093001:59:59' ],
+        [ [1928,9,30,6,0,0],[1928,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1929,4,28,6,59,59],[1929,4,28,1,59,59],
+          '1928093006:00:00','1928093001:00:00','1929042806:59:59','1929042801:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,28,7,0,0],[1929,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1929,9,29,5,59,59],[1929,9,29,1,59,59],
+          '1929042807:00:00','1929042803:00:00','1929092905:59:59','1929092901:59:59' ],
+        [ [1929,9,29,6,0,0],[1929,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1930,4,27,6,59,59],[1930,4,27,1,59,59],
+          '1929092906:00:00','1929092901:00:00','1930042706:59:59','1930042701:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,27,7,0,0],[1930,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1930,9,28,5,59,59],[1930,9,28,1,59,59],
+          '1930042707:00:00','1930042703:00:00','1930092805:59:59','1930092801:59:59' ],
+        [ [1930,9,28,6,0,0],[1930,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1931,4,26,6,59,59],[1931,4,26,1,59,59],
+          '1930092806:00:00','1930092801:00:00','1931042606:59:59','1931042601:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,26,7,0,0],[1931,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1931,9,27,5,59,59],[1931,9,27,1,59,59],
+          '1931042607:00:00','1931042603:00:00','1931092705:59:59','1931092701:59:59' ],
+        [ [1931,9,27,6,0,0],[1931,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1932,5,1,6,59,59],[1932,5,1,1,59,59],
+          '1931092706:00:00','1931092701:00:00','1932050106:59:59','1932050101:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,1,7,0,0],[1932,5,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1932,9,25,5,59,59],[1932,9,25,1,59,59],
+          '1932050107:00:00','1932050103:00:00','1932092505:59:59','1932092501:59:59' ],
+        [ [1932,9,25,6,0,0],[1932,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1933,4,30,6,59,59],[1933,4,30,1,59,59],
+          '1932092506:00:00','1932092501:00:00','1933043006:59:59','1933043001:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,30,7,0,0],[1933,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1933,10,1,5,59,59],[1933,10,1,1,59,59],
+          '1933043007:00:00','1933043003:00:00','1933100105:59:59','1933100101:59:59' ],
+        [ [1933,10,1,6,0,0],[1933,10,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1934,4,29,6,59,59],[1934,4,29,1,59,59],
+          '1933100106:00:00','1933100101:00:00','1934042906:59:59','1934042901:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,29,7,0,0],[1934,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1934,9,30,5,59,59],[1934,9,30,1,59,59],
+          '1934042907:00:00','1934042903:00:00','1934093005:59:59','1934093001:59:59' ],
+        [ [1934,9,30,6,0,0],[1934,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1935,4,28,6,59,59],[1935,4,28,1,59,59],
+          '1934093006:00:00','1934093001:00:00','1935042806:59:59','1935042801:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,28,7,0,0],[1935,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1935,9,29,5,59,59],[1935,9,29,1,59,59],
+          '1935042807:00:00','1935042803:00:00','1935092905:59:59','1935092901:59:59' ],
+        [ [1935,9,29,6,0,0],[1935,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1936,4,26,6,59,59],[1936,4,26,1,59,59],
+          '1935092906:00:00','1935092901:00:00','1936042606:59:59','1936042601:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,26,7,0,0],[1936,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1936,9,27,5,59,59],[1936,9,27,1,59,59],
+          '1936042607:00:00','1936042603:00:00','1936092705:59:59','1936092701:59:59' ],
+        [ [1936,9,27,6,0,0],[1936,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1937,4,25,6,59,59],[1937,4,25,1,59,59],
+          '1936092706:00:00','1936092701:00:00','1937042506:59:59','1937042501:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,25,7,0,0],[1937,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1937,9,26,5,59,59],[1937,9,26,1,59,59],
+          '1937042507:00:00','1937042503:00:00','1937092605:59:59','1937092601:59:59' ],
+        [ [1937,9,26,6,0,0],[1937,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1938,4,24,6,59,59],[1938,4,24,1,59,59],
+          '1937092606:00:00','1937092601:00:00','1938042406:59:59','1938042401:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,24,7,0,0],[1938,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1938,9,25,5,59,59],[1938,9,25,1,59,59],
+          '1938042407:00:00','1938042403:00:00','1938092505:59:59','1938092501:59:59' ],
+        [ [1938,9,25,6,0,0],[1938,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1939,4,30,6,59,59],[1939,4,30,1,59,59],
+          '1938092506:00:00','1938092501:00:00','1939043006:59:59','1939043001:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,30,7,0,0],[1939,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1939,9,24,5,59,59],[1939,9,24,1,59,59],
+          '1939043007:00:00','1939043003:00:00','1939092405:59:59','1939092401:59:59' ],
+        [ [1939,9,24,6,0,0],[1939,9,24,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1940,4,28,6,59,59],[1940,4,28,1,59,59],
+          '1939092406:00:00','1939092401:00:00','1940042806:59:59','1940042801:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,28,7,0,0],[1940,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1942,2,9,6,59,59],[1942,2,9,2,59,59],
+          '1940042807:00:00','1940042803:00:00','1942020906:59:59','1942020902:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,7,0,0],[1942,2,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EWT',1,[1945,8,14,22,59,59],[1945,8,14,18,59,59],
+          '1942020907:00:00','1942020903:00:00','1945081422:59:59','1945081418:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,19,0,0],'-04:00:00',[-4,0,0],
+          'EPT',1,[1945,9,30,5,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081419:00:00','1945093005:59:59','1945093001:59:59' ],
+        [ [1945,9,30,6,0,0],[1945,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1946,4,28,6,59,59],[1946,4,28,1,59,59],
+          '1945093006:00:00','1945093001:00:00','1946042806:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,7,0,0],[1946,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1946,9,29,5,59,59],[1946,9,29,1,59,59],
+          '1946042807:00:00','1946042803:00:00','1946092905:59:59','1946092901:59:59' ],
+        [ [1946,9,29,6,0,0],[1946,9,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1947,4,27,4,59,59],[1947,4,26,23,59,59],
+          '1946092906:00:00','1946092901:00:00','1947042704:59:59','1947042623:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,5,0,0],[1947,4,27,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1947,9,28,3,59,59],[1947,9,27,23,59,59],
+          '1947042705:00:00','1947042701:00:00','1947092803:59:59','1947092723:59:59' ],
+        [ [1947,9,28,4,0,0],[1947,9,27,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1948,4,25,4,59,59],[1948,4,24,23,59,59],
+          '1947092804:00:00','1947092723:00:00','1948042504:59:59','1948042423:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,5,0,0],[1948,4,25,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1948,9,26,3,59,59],[1948,9,25,23,59,59],
+          '1948042505:00:00','1948042501:00:00','1948092603:59:59','1948092523:59:59' ],
+        [ [1948,9,26,4,0,0],[1948,9,25,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1949,4,24,4,59,59],[1949,4,23,23,59,59],
+          '1948092604:00:00','1948092523:00:00','1949042404:59:59','1949042323:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,5,0,0],[1949,4,24,1,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1949,11,27,3,59,59],[1949,11,26,23,59,59],
+          '1949042405:00:00','1949042401:00:00','1949112703:59:59','1949112623:59:59' ],
+        [ [1949,11,27,4,0,0],[1949,11,26,23,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1950,4,30,6,59,59],[1950,4,30,1,59,59],
+          '1949112704:00:00','1949112623:00:00','1950043006:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,7,0,0],[1950,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1950,11,26,5,59,59],[1950,11,26,1,59,59],
+          '1950043007:00:00','1950043003:00:00','1950112605:59:59','1950112601:59:59' ],
+        [ [1950,11,26,6,0,0],[1950,11,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1951,4,29,6,59,59],[1951,4,29,1,59,59],
+          '1950112606:00:00','1950112601:00:00','1951042906:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,7,0,0],[1951,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1951,9,30,5,59,59],[1951,9,30,1,59,59],
+          '1951042907:00:00','1951042903:00:00','1951093005:59:59','1951093001:59:59' ],
+        [ [1951,9,30,6,0,0],[1951,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1952,4,27,6,59,59],[1952,4,27,1,59,59],
+          '1951093006:00:00','1951093001:00:00','1952042706:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,7,0,0],[1952,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1952,9,28,5,59,59],[1952,9,28,1,59,59],
+          '1952042707:00:00','1952042703:00:00','1952092805:59:59','1952092801:59:59' ],
+        [ [1952,9,28,6,0,0],[1952,9,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1953,4,26,6,59,59],[1953,4,26,1,59,59],
+          '1952092806:00:00','1952092801:00:00','1953042606:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,7,0,0],[1953,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1953,9,27,5,59,59],[1953,9,27,1,59,59],
+          '1953042607:00:00','1953042603:00:00','1953092705:59:59','1953092701:59:59' ],
+        [ [1953,9,27,6,0,0],[1953,9,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1954,4,25,6,59,59],[1954,4,25,1,59,59],
+          '1953092706:00:00','1953092701:00:00','1954042506:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,7,0,0],[1954,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1954,9,26,5,59,59],[1954,9,26,1,59,59],
+          '1954042507:00:00','1954042503:00:00','1954092605:59:59','1954092601:59:59' ],
+        [ [1954,9,26,6,0,0],[1954,9,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1955,4,24,6,59,59],[1955,4,24,1,59,59],
+          '1954092606:00:00','1954092601:00:00','1955042406:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,7,0,0],[1955,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1955,9,25,5,59,59],[1955,9,25,1,59,59],
+          '1955042407:00:00','1955042403:00:00','1955092505:59:59','1955092501:59:59' ],
+        [ [1955,9,25,6,0,0],[1955,9,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1956,4,29,6,59,59],[1956,4,29,1,59,59],
+          '1955092506:00:00','1955092501:00:00','1956042906:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,7,0,0],[1956,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1956,9,30,5,59,59],[1956,9,30,1,59,59],
+          '1956042907:00:00','1956042903:00:00','1956093005:59:59','1956093001:59:59' ],
+        [ [1956,9,30,6,0,0],[1956,9,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1957,4,28,6,59,59],[1957,4,28,1,59,59],
+          '1956093006:00:00','1956093001:00:00','1957042806:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,7,0,0],[1957,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1957,10,27,5,59,59],[1957,10,27,1,59,59],
+          '1957042807:00:00','1957042803:00:00','1957102705:59:59','1957102701:59:59' ],
+        [ [1957,10,27,6,0,0],[1957,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1958,4,27,6,59,59],[1958,4,27,1,59,59],
+          '1957102706:00:00','1957102701:00:00','1958042706:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,7,0,0],[1958,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1958,10,26,5,59,59],[1958,10,26,1,59,59],
+          '1958042707:00:00','1958042703:00:00','1958102605:59:59','1958102601:59:59' ],
+        [ [1958,10,26,6,0,0],[1958,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1959,4,26,6,59,59],[1959,4,26,1,59,59],
+          '1958102606:00:00','1958102601:00:00','1959042606:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,7,0,0],[1959,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1959,10,25,5,59,59],[1959,10,25,1,59,59],
+          '1959042607:00:00','1959042603:00:00','1959102505:59:59','1959102501:59:59' ],
+        [ [1959,10,25,6,0,0],[1959,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1960,4,24,6,59,59],[1960,4,24,1,59,59],
+          '1959102506:00:00','1959102501:00:00','1960042406:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,7,0,0],[1960,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1960,10,30,5,59,59],[1960,10,30,1,59,59],
+          '1960042407:00:00','1960042403:00:00','1960103005:59:59','1960103001:59:59' ],
+        [ [1960,10,30,6,0,0],[1960,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1961,4,30,6,59,59],[1961,4,30,1,59,59],
+          '1960103006:00:00','1960103001:00:00','1961043006:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,7,0,0],[1961,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1961,10,29,5,59,59],[1961,10,29,1,59,59],
+          '1961043007:00:00','1961043003:00:00','1961102905:59:59','1961102901:59:59' ],
+        [ [1961,10,29,6,0,0],[1961,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1962,4,29,6,59,59],[1962,4,29,1,59,59],
+          '1961102906:00:00','1961102901:00:00','1962042906:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,7,0,0],[1962,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1962,10,28,5,59,59],[1962,10,28,1,59,59],
+          '1962042907:00:00','1962042903:00:00','1962102805:59:59','1962102801:59:59' ],
+        [ [1962,10,28,6,0,0],[1962,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1963,4,28,6,59,59],[1963,4,28,1,59,59],
+          '1962102806:00:00','1962102801:00:00','1963042806:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,7,0,0],[1963,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1963,10,27,5,59,59],[1963,10,27,1,59,59],
+          '1963042807:00:00','1963042803:00:00','1963102705:59:59','1963102701:59:59' ],
+        [ [1963,10,27,6,0,0],[1963,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1964,4,26,6,59,59],[1964,4,26,1,59,59],
+          '1963102706:00:00','1963102701:00:00','1964042606:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,7,0,0],[1964,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1964,10,25,5,59,59],[1964,10,25,1,59,59],
+          '1964042607:00:00','1964042603:00:00','1964102505:59:59','1964102501:59:59' ],
+        [ [1964,10,25,6,0,0],[1964,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1965,4,25,6,59,59],[1965,4,25,1,59,59],
+          '1964102506:00:00','1964102501:00:00','1965042506:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,7,0,0],[1965,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1965,10,31,5,59,59],[1965,10,31,1,59,59],
+          '1965042507:00:00','1965042503:00:00','1965103105:59:59','1965103101:59:59' ],
+        [ [1965,10,31,6,0,0],[1965,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1966,4,24,6,59,59],[1966,4,24,1,59,59],
+          '1965103106:00:00','1965103101:00:00','1966042406:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,7,0,0],[1966,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1966,10,30,5,59,59],[1966,10,30,1,59,59],
+          '1966042407:00:00','1966042403:00:00','1966103005:59:59','1966103001:59:59' ],
+        [ [1966,10,30,6,0,0],[1966,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1967,4,30,6,59,59],[1967,4,30,1,59,59],
+          '1966103006:00:00','1966103001:00:00','1967043006:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,7,0,0],[1967,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1967,10,29,5,59,59],[1967,10,29,1,59,59],
+          '1967043007:00:00','1967043003:00:00','1967102905:59:59','1967102901:59:59' ],
+        [ [1967,10,29,6,0,0],[1967,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1968,4,28,6,59,59],[1968,4,28,1,59,59],
+          '1967102906:00:00','1967102901:00:00','1968042806:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,7,0,0],[1968,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1968,10,27,5,59,59],[1968,10,27,1,59,59],
+          '1968042807:00:00','1968042803:00:00','1968102705:59:59','1968102701:59:59' ],
+        [ [1968,10,27,6,0,0],[1968,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1968102706:00:00','1968102701:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1973,4,29,6,59,59],[1973,4,29,1,59,59],
+          '1972102906:00:00','1972102901:00:00','1973042906:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,7,0,0],[1973,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1973,10,28,5,59,59],[1973,10,28,1,59,59],
+          '1973042907:00:00','1973042903:00:00','1973102805:59:59','1973102801:59:59' ],
+        [ [1973,10,28,6,0,0],[1973,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1974,4,28,6,59,59],[1974,4,28,1,59,59],
+          '1973102806:00:00','1973102801:00:00','1974042806:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,7,0,0],[1974,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1974,10,27,5,59,59],[1974,10,27,1,59,59],
+          '1974042807:00:00','1974042803:00:00','1974102705:59:59','1974102701:59:59' ],
+        [ [1974,10,27,6,0,0],[1974,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1975,4,27,6,59,59],[1975,4,27,1,59,59],
+          '1974102706:00:00','1974102701:00:00','1975042706:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,7,0,0],[1975,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1975,10,26,5,59,59],[1975,10,26,1,59,59],
+          '1975042707:00:00','1975042703:00:00','1975102605:59:59','1975102601:59:59' ],
+        [ [1975,10,26,6,0,0],[1975,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1976,4,25,6,59,59],[1976,4,25,1,59,59],
+          '1975102606:00:00','1975102601:00:00','1976042506:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,7,0,0],[1976,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1976,10,31,5,59,59],[1976,10,31,1,59,59],
+          '1976042507:00:00','1976042503:00:00','1976103105:59:59','1976103101:59:59' ],
+        [ [1976,10,31,6,0,0],[1976,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1977,4,24,6,59,59],[1977,4,24,1,59,59],
+          '1976103106:00:00','1976103101:00:00','1977042406:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,7,0,0],[1977,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1977,10,30,5,59,59],[1977,10,30,1,59,59],
+          '1977042407:00:00','1977042403:00:00','1977103005:59:59','1977103001:59:59' ],
+        [ [1977,10,30,6,0,0],[1977,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1978,4,30,6,59,59],[1978,4,30,1,59,59],
+          '1977103006:00:00','1977103001:00:00','1978043006:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,7,0,0],[1978,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1978,10,29,5,59,59],[1978,10,29,1,59,59],
+          '1978043007:00:00','1978043003:00:00','1978102905:59:59','1978102901:59:59' ],
+        [ [1978,10,29,6,0,0],[1978,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1979,4,29,6,59,59],[1979,4,29,1,59,59],
+          '1978102906:00:00','1978102901:00:00','1979042906:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,7,0,0],[1979,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1979,10,28,5,59,59],[1979,10,28,1,59,59],
+          '1979042907:00:00','1979042903:00:00','1979102805:59:59','1979102801:59:59' ],
+        [ [1979,10,28,6,0,0],[1979,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1980,4,27,6,59,59],[1980,4,27,1,59,59],
+          '1979102806:00:00','1979102801:00:00','1980042706:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,7,0,0],[1980,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1980,10,26,5,59,59],[1980,10,26,1,59,59],
+          '1980042707:00:00','1980042703:00:00','1980102605:59:59','1980102601:59:59' ],
+        [ [1980,10,26,6,0,0],[1980,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1981,4,26,6,59,59],[1981,4,26,1,59,59],
+          '1980102606:00:00','1980102601:00:00','1981042606:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,7,0,0],[1981,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1981,10,25,5,59,59],[1981,10,25,1,59,59],
+          '1981042607:00:00','1981042603:00:00','1981102505:59:59','1981102501:59:59' ],
+        [ [1981,10,25,6,0,0],[1981,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1982,4,25,6,59,59],[1982,4,25,1,59,59],
+          '1981102506:00:00','1981102501:00:00','1982042506:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,7,0,0],[1982,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1982,10,31,5,59,59],[1982,10,31,1,59,59],
+          '1982042507:00:00','1982042503:00:00','1982103105:59:59','1982103101:59:59' ],
+        [ [1982,10,31,6,0,0],[1982,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1983,4,24,6,59,59],[1983,4,24,1,59,59],
+          '1982103106:00:00','1982103101:00:00','1983042406:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,7,0,0],[1983,4,24,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1983,10,30,5,59,59],[1983,10,30,1,59,59],
+          '1983042407:00:00','1983042403:00:00','1983103005:59:59','1983103001:59:59' ],
+        [ [1983,10,30,6,0,0],[1983,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1984,4,29,6,59,59],[1984,4,29,1,59,59],
+          '1983103006:00:00','1983103001:00:00','1984042906:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,7,0,0],[1984,4,29,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1984,10,28,5,59,59],[1984,10,28,1,59,59],
+          '1984042907:00:00','1984042903:00:00','1984102805:59:59','1984102801:59:59' ],
+        [ [1984,10,28,6,0,0],[1984,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1985,4,28,6,59,59],[1985,4,28,1,59,59],
+          '1984102806:00:00','1984102801:00:00','1985042806:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,7,0,0],[1985,4,28,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1985,10,27,5,59,59],[1985,10,27,1,59,59],
+          '1985042807:00:00','1985042803:00:00','1985102705:59:59','1985102701:59:59' ],
+        [ [1985,10,27,6,0,0],[1985,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1986,4,27,6,59,59],[1986,4,27,1,59,59],
+          '1985102706:00:00','1985102701:00:00','1986042706:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,7,0,0],[1986,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1986,10,26,5,59,59],[1986,10,26,1,59,59],
+          '1986042707:00:00','1986042703:00:00','1986102605:59:59','1986102601:59:59' ],
+        [ [1986,10,26,6,0,0],[1986,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1987,4,5,6,59,59],[1987,4,5,1,59,59],
+          '1986102606:00:00','1986102601:00:00','1987040506:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,7,0,0],[1987,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1987,10,25,5,59,59],[1987,10,25,1,59,59],
+          '1987040507:00:00','1987040503:00:00','1987102505:59:59','1987102501:59:59' ],
+        [ [1987,10,25,6,0,0],[1987,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1988,4,3,6,59,59],[1988,4,3,1,59,59],
+          '1987102506:00:00','1987102501:00:00','1988040306:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,7,0,0],[1988,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1988,10,30,5,59,59],[1988,10,30,1,59,59],
+          '1988040307:00:00','1988040303:00:00','1988103005:59:59','1988103001:59:59' ],
+        [ [1988,10,30,6,0,0],[1988,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1989,4,2,6,59,59],[1989,4,2,1,59,59],
+          '1988103006:00:00','1988103001:00:00','1989040206:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,7,0,0],[1989,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1989,10,29,5,59,59],[1989,10,29,1,59,59],
+          '1989040207:00:00','1989040203:00:00','1989102905:59:59','1989102901:59:59' ],
+        [ [1989,10,29,6,0,0],[1989,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1990,4,1,6,59,59],[1990,4,1,1,59,59],
+          '1989102906:00:00','1989102901:00:00','1990040106:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,7,0,0],[1990,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1990,10,28,5,59,59],[1990,10,28,1,59,59],
+          '1990040107:00:00','1990040103:00:00','1990102805:59:59','1990102801:59:59' ],
+        [ [1990,10,28,6,0,0],[1990,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1991,4,7,6,59,59],[1991,4,7,1,59,59],
+          '1990102806:00:00','1990102801:00:00','1991040706:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,7,0,0],[1991,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1991,10,27,5,59,59],[1991,10,27,1,59,59],
+          '1991040707:00:00','1991040703:00:00','1991102705:59:59','1991102701:59:59' ],
+        [ [1991,10,27,6,0,0],[1991,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1992,4,5,6,59,59],[1992,4,5,1,59,59],
+          '1991102706:00:00','1991102701:00:00','1992040506:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,7,0,0],[1992,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1992,10,25,5,59,59],[1992,10,25,1,59,59],
+          '1992040507:00:00','1992040503:00:00','1992102505:59:59','1992102501:59:59' ],
+        [ [1992,10,25,6,0,0],[1992,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1993,4,4,6,59,59],[1993,4,4,1,59,59],
+          '1992102506:00:00','1992102501:00:00','1993040406:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,7,0,0],[1993,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1993,10,31,5,59,59],[1993,10,31,1,59,59],
+          '1993040407:00:00','1993040403:00:00','1993103105:59:59','1993103101:59:59' ],
+        [ [1993,10,31,6,0,0],[1993,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1994,4,3,6,59,59],[1994,4,3,1,59,59],
+          '1993103106:00:00','1993103101:00:00','1994040306:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,7,0,0],[1994,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1994,10,30,5,59,59],[1994,10,30,1,59,59],
+          '1994040307:00:00','1994040303:00:00','1994103005:59:59','1994103001:59:59' ],
+        [ [1994,10,30,6,0,0],[1994,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1995,4,2,6,59,59],[1995,4,2,1,59,59],
+          '1994103006:00:00','1994103001:00:00','1995040206:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,7,0,0],[1995,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1995,10,29,5,59,59],[1995,10,29,1,59,59],
+          '1995040207:00:00','1995040203:00:00','1995102905:59:59','1995102901:59:59' ],
+        [ [1995,10,29,6,0,0],[1995,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1996,4,7,6,59,59],[1996,4,7,1,59,59],
+          '1995102906:00:00','1995102901:00:00','1996040706:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,7,0,0],[1996,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1996,10,27,5,59,59],[1996,10,27,1,59,59],
+          '1996040707:00:00','1996040703:00:00','1996102705:59:59','1996102701:59:59' ],
+        [ [1996,10,27,6,0,0],[1996,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1997,4,6,6,59,59],[1997,4,6,1,59,59],
+          '1996102706:00:00','1996102701:00:00','1997040606:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,7,0,0],[1997,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1997,10,26,5,59,59],[1997,10,26,1,59,59],
+          '1997040607:00:00','1997040603:00:00','1997102605:59:59','1997102601:59:59' ],
+        [ [1997,10,26,6,0,0],[1997,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1998,4,5,6,59,59],[1998,4,5,1,59,59],
+          '1997102606:00:00','1997102601:00:00','1998040506:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,7,0,0],[1998,4,5,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1998,10,25,5,59,59],[1998,10,25,1,59,59],
+          '1998040507:00:00','1998040503:00:00','1998102505:59:59','1998102501:59:59' ],
+        [ [1998,10,25,6,0,0],[1998,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1999,4,4,6,59,59],[1999,4,4,1,59,59],
+          '1998102506:00:00','1998102501:00:00','1999040406:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,7,0,0],[1999,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1999,10,31,5,59,59],[1999,10,31,1,59,59],
+          '1999040407:00:00','1999040403:00:00','1999103105:59:59','1999103101:59:59' ],
+        [ [1999,10,31,6,0,0],[1999,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2000,4,2,6,59,59],[2000,4,2,1,59,59],
+          '1999103106:00:00','1999103101:00:00','2000040206:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,7,0,0],[2000,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2000,10,29,5,59,59],[2000,10,29,1,59,59],
+          '2000040207:00:00','2000040203:00:00','2000102905:59:59','2000102901:59:59' ],
+        [ [2000,10,29,6,0,0],[2000,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2001,4,1,6,59,59],[2001,4,1,1,59,59],
+          '2000102906:00:00','2000102901:00:00','2001040106:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,7,0,0],[2001,4,1,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2001,10,28,5,59,59],[2001,10,28,1,59,59],
+          '2001040107:00:00','2001040103:00:00','2001102805:59:59','2001102801:59:59' ],
+        [ [2001,10,28,6,0,0],[2001,10,28,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2002,4,7,6,59,59],[2002,4,7,1,59,59],
+          '2001102806:00:00','2001102801:00:00','2002040706:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,7,0,0],[2002,4,7,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2002,10,27,5,59,59],[2002,10,27,1,59,59],
+          '2002040707:00:00','2002040703:00:00','2002102705:59:59','2002102701:59:59' ],
+        [ [2002,10,27,6,0,0],[2002,10,27,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2003,4,6,6,59,59],[2003,4,6,1,59,59],
+          '2002102706:00:00','2002102701:00:00','2003040606:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,7,0,0],[2003,4,6,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2003,10,26,5,59,59],[2003,10,26,1,59,59],
+          '2003040607:00:00','2003040603:00:00','2003102605:59:59','2003102601:59:59' ],
+        [ [2003,10,26,6,0,0],[2003,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2004,4,4,6,59,59],[2004,4,4,1,59,59],
+          '2003102606:00:00','2003102601:00:00','2004040406:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,7,0,0],[2004,4,4,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2004,10,31,5,59,59],[2004,10,31,1,59,59],
+          '2004040407:00:00','2004040403:00:00','2004103105:59:59','2004103101:59:59' ],
+        [ [2004,10,31,6,0,0],[2004,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2005,4,3,6,59,59],[2005,4,3,1,59,59],
+          '2004103106:00:00','2004103101:00:00','2005040306:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,7,0,0],[2005,4,3,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2005,10,30,5,59,59],[2005,10,30,1,59,59],
+          '2005040307:00:00','2005040303:00:00','2005103005:59:59','2005103001:59:59' ],
+        [ [2005,10,30,6,0,0],[2005,10,30,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '2005103006:00:00','2005103001:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amtucu00.pm b/lib/Date/Manip/TZ/amtucu00.pm
new file mode 100644
index 0000000..b4ca3a8
--- /dev/null
+++ b/lib/Date/Manip/TZ/amtucu00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::amtucu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,39,8],'-04:20:52',[-4,-20,-52],
+          'LMT',0,[1894,10,31,4,20,51],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:39:08','1894103104:20:51','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,20,52],[1894,10,31,0,4,4],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:20:52','1894103100:04:04','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,22,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,20,3,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030222:00:00','1991102003:59:59','1991101923:59:59' ],
+        [ [1991,10,20,4,0,0],[1991,10,20,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102004:00:00','1991102002:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,6,1,2,59,59],[2004,5,31,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004060102:59:59','2004053123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,6,1,3,0,0],[2004,5,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,6,13,3,59,59],[2004,6,12,23,59,59],
+          '2004060103:00:00','2004053123:00:00','2004061303:59:59','2004061223:59:59' ],
+        [ [2004,6,13,4,0,0],[2004,6,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004061304:00:00','2004061301:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2008,10,19,2,59,59],[2008,10,18,23,59,59],
+          '2008031602:00:00','2008031523:00:00','2008101902:59:59','2008101823:59:59' ],
+        [ [2008,10,19,3,0,0],[2008,10,19,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2009,3,15,1,59,59],[2009,3,14,23,59,59],
+          '2008101903:00:00','2008101901:00:00','2009031501:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,2,0,0],[2009,3,14,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2009031502:00:00','2009031423:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amushu00.pm b/lib/Date/Manip/TZ/amushu00.pm
new file mode 100644
index 0000000..9c0ed09
--- /dev/null
+++ b/lib/Date/Manip/TZ/amushu00.pm
@@ -0,0 +1,331 @@
+package #
+Date::Manip::TZ::amushu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,26,48],'-04:33:12',[-4,-33,-12],
+          'LMT',0,[1894,10,31,4,33,11],[1894,10,30,23,59,59],
+          '0001010200:00:00','0001010119:26:48','1894103104:33:11','1894103023:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,10,31,4,33,12],[1894,10,31,0,16,24],'-04:16:48',[-4,-16,-48],
+          'CMT',0,[1920,5,1,4,16,47],[1920,4,30,23,59,59],
+          '1894103104:33:12','1894103100:16:24','1920050104:16:47','1920043023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,5,1,4,16,48],[1920,5,1,0,16,48],'-04:00:00',[-4,0,0],
+          '-04',0,[1930,12,1,3,59,59],[1930,11,30,23,59,59],
+          '1920050104:16:48','1920050100:16:48','1930120103:59:59','1930113023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,1,4,0,0],[1930,12,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1931,4,1,2,59,59],[1931,3,31,23,59,59],
+          '1930120104:00:00','1930120101:00:00','1931040102:59:59','1931033123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,1,3,0,0],[1931,3,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1931,10,15,3,59,59],[1931,10,14,23,59,59],
+          '1931040103:00:00','1931033123:00:00','1931101503:59:59','1931101423:59:59' ],
+        [ [1931,10,15,4,0,0],[1931,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1932,3,1,2,59,59],[1932,2,29,23,59,59],
+          '1931101504:00:00','1931101501:00:00','1932030102:59:59','1932022923:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,1,3,0,0],[1932,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1932,11,1,3,59,59],[1932,10,31,23,59,59],
+          '1932030103:00:00','1932022923:00:00','1932110103:59:59','1932103123:59:59' ],
+        [ [1932,11,1,4,0,0],[1932,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1933,3,1,2,59,59],[1933,2,28,23,59,59],
+          '1932110104:00:00','1932110101:00:00','1933030102:59:59','1933022823:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,1,3,0,0],[1933,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1933,11,1,3,59,59],[1933,10,31,23,59,59],
+          '1933030103:00:00','1933022823:00:00','1933110103:59:59','1933103123:59:59' ],
+        [ [1933,11,1,4,0,0],[1933,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1934,3,1,2,59,59],[1934,2,28,23,59,59],
+          '1933110104:00:00','1933110101:00:00','1934030102:59:59','1934022823:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,3,1,3,0,0],[1934,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1934,11,1,3,59,59],[1934,10,31,23,59,59],
+          '1934030103:00:00','1934022823:00:00','1934110103:59:59','1934103123:59:59' ],
+        [ [1934,11,1,4,0,0],[1934,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1935,3,1,2,59,59],[1935,2,28,23,59,59],
+          '1934110104:00:00','1934110101:00:00','1935030102:59:59','1935022823:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,1,3,0,0],[1935,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1935,11,1,3,59,59],[1935,10,31,23,59,59],
+          '1935030103:00:00','1935022823:00:00','1935110103:59:59','1935103123:59:59' ],
+        [ [1935,11,1,4,0,0],[1935,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1936,3,1,2,59,59],[1936,2,29,23,59,59],
+          '1935110104:00:00','1935110101:00:00','1936030102:59:59','1936022923:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,3,1,3,0,0],[1936,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1936,11,1,3,59,59],[1936,10,31,23,59,59],
+          '1936030103:00:00','1936022923:00:00','1936110103:59:59','1936103123:59:59' ],
+        [ [1936,11,1,4,0,0],[1936,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1937,3,1,2,59,59],[1937,2,28,23,59,59],
+          '1936110104:00:00','1936110101:00:00','1937030102:59:59','1937022823:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,3,1,3,0,0],[1937,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,11,1,3,59,59],[1937,10,31,23,59,59],
+          '1937030103:00:00','1937022823:00:00','1937110103:59:59','1937103123:59:59' ],
+        [ [1937,11,1,4,0,0],[1937,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,1,2,59,59],[1938,2,28,23,59,59],
+          '1937110104:00:00','1937110101:00:00','1938030102:59:59','1938022823:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,1,3,0,0],[1938,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,11,1,3,59,59],[1938,10,31,23,59,59],
+          '1938030103:00:00','1938022823:00:00','1938110103:59:59','1938103123:59:59' ],
+        [ [1938,11,1,4,0,0],[1938,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,1,2,59,59],[1939,2,28,23,59,59],
+          '1938110104:00:00','1938110101:00:00','1939030102:59:59','1939022823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,1,3,0,0],[1939,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,11,1,3,59,59],[1939,10,31,23,59,59],
+          '1939030103:00:00','1939022823:00:00','1939110103:59:59','1939103123:59:59' ],
+        [ [1939,11,1,4,0,0],[1939,11,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,1,2,59,59],[1940,2,29,23,59,59],
+          '1939110104:00:00','1939110101:00:00','1940030102:59:59','1940022923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,1,3,0,0],[1940,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,7,1,3,59,59],[1940,6,30,23,59,59],
+          '1940030103:00:00','1940022923:00:00','1940070103:59:59','1940063023:59:59' ],
+        [ [1940,7,1,4,0,0],[1940,7,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,6,15,2,59,59],[1941,6,14,23,59,59],
+          '1940070104:00:00','1940070101:00:00','1941061502:59:59','1941061423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,15,3,0,0],[1941,6,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,10,15,3,59,59],[1941,10,14,23,59,59],
+          '1941061503:00:00','1941061423:00:00','1941101503:59:59','1941101423:59:59' ],
+        [ [1941,10,15,4,0,0],[1941,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,8,1,2,59,59],[1943,7,31,23,59,59],
+          '1941101504:00:00','1941101501:00:00','1943080102:59:59','1943073123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,8,1,3,0,0],[1943,7,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1943,10,15,3,59,59],[1943,10,14,23,59,59],
+          '1943080103:00:00','1943073123:00:00','1943101503:59:59','1943101423:59:59' ],
+        [ [1943,10,15,4,0,0],[1943,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1946,3,1,2,59,59],[1946,2,28,23,59,59],
+          '1943101504:00:00','1943101501:00:00','1946030102:59:59','1946022823:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,1,3,0,0],[1946,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1946,10,1,3,59,59],[1946,9,30,23,59,59],
+          '1946030103:00:00','1946022823:00:00','1946100103:59:59','1946093023:59:59' ],
+        [ [1946,10,1,4,0,0],[1946,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1963,10,1,2,59,59],[1963,9,30,23,59,59],
+          '1946100104:00:00','1946100101:00:00','1963100102:59:59','1963093023:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,10,1,3,0,0],[1963,9,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1963,12,15,3,59,59],[1963,12,14,23,59,59],
+          '1963100103:00:00','1963093023:00:00','1963121503:59:59','1963121423:59:59' ],
+        [ [1963,12,15,4,0,0],[1963,12,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1964,3,1,2,59,59],[1964,2,29,23,59,59],
+          '1963121504:00:00','1963121501:00:00','1964030102:59:59','1964022923:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,1,3,0,0],[1964,2,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1964,10,15,3,59,59],[1964,10,14,23,59,59],
+          '1964030103:00:00','1964022923:00:00','1964101503:59:59','1964101423:59:59' ],
+        [ [1964,10,15,4,0,0],[1964,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1964101504:00:00','1964101501:00:00','1965030102:59:59','1965022823:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1988,12,1,2,59,59],[1988,11,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1988120102:59:59','1988113023:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,12,1,3,0,0],[1988,12,1,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1989,3,5,1,59,59],[1989,3,4,23,59,59],
+          '1988120103:00:00','1988120101:00:00','1989030501:59:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,2,0,0],[1989,3,4,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1989,10,15,2,59,59],[1989,10,14,23,59,59],
+          '1989030502:00:00','1989030423:00:00','1989101502:59:59','1989101423:59:59' ],
+        [ [1989,10,15,3,0,0],[1989,10,15,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1990,3,4,1,59,59],[1990,3,3,23,59,59],
+          '1989101503:00:00','1989101501:00:00','1990030401:59:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,2,0,0],[1990,3,3,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1990,10,21,2,59,59],[1990,10,20,23,59,59],
+          '1990030402:00:00','1990030323:00:00','1990102102:59:59','1990102023:59:59' ],
+        [ [1990,10,21,3,0,0],[1990,10,21,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1991,3,3,1,59,59],[1991,3,2,23,59,59],
+          '1990102103:00:00','1990102101:00:00','1991030301:59:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,2,0,0],[1991,3,2,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1991,10,20,2,59,59],[1991,10,19,23,59,59],
+          '1991030302:00:00','1991030223:00:00','1991102002:59:59','1991101923:59:59' ],
+        [ [1991,10,20,3,0,0],[1991,10,20,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1992,3,1,1,59,59],[1992,2,29,23,59,59],
+          '1991102003:00:00','1991102001:00:00','1992030101:59:59','1992022923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,1,2,0,0],[1992,2,29,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1992,10,18,2,59,59],[1992,10,17,23,59,59],
+          '1992030102:00:00','1992022923:00:00','1992101802:59:59','1992101723:59:59' ],
+        [ [1992,10,18,3,0,0],[1992,10,18,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1993,3,7,1,59,59],[1993,3,6,23,59,59],
+          '1992101803:00:00','1992101801:00:00','1993030701:59:59','1993030623:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,7,2,0,0],[1993,3,6,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1999,10,3,2,59,59],[1999,10,2,23,59,59],
+          '1993030702:00:00','1993030623:00:00','1999100302:59:59','1999100223:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,3,3,0,0],[1999,10,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,3,2,59,59],[2000,3,2,23,59,59],
+          '1999100303:00:00','1999100300:00:00','2000030302:59:59','2000030223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,3,3,0,0],[2000,3,3,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2004,5,30,2,59,59],[2004,5,29,23,59,59],
+          '2000030303:00:00','2000030300:00:00','2004053002:59:59','2004052923:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,5,30,3,0,0],[2004,5,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,6,20,3,59,59],[2004,6,19,23,59,59],
+          '2004053003:00:00','2004052923:00:00','2004062003:59:59','2004061923:59:59' ],
+        [ [2004,6,20,4,0,0],[2004,6,20,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[2007,12,30,2,59,59],[2007,12,29,23,59,59],
+          '2004062004:00:00','2004062001:00:00','2007123002:59:59','2007122923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,12,30,3,0,0],[2007,12,30,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[2008,3,16,1,59,59],[2008,3,15,23,59,59],
+          '2007123003:00:00','2007123001:00:00','2008031601:59:59','2008031523:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,16,2,0,0],[2008,3,15,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2008031602:00:00','2008031523:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amvanc00.pm b/lib/Date/Manip/TZ/amvanc00.pm
new file mode 100644
index 0000000..2d81d3e
--- /dev/null
+++ b/lib/Date/Manip/TZ/amvanc00.pm
@@ -0,0 +1,1195 @@
+package #
+Date::Manip::TZ::amvanc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,47,32],'-08:12:28',[-8,-12,-28],
+          'LMT',0,[1884,1,1,8,12,27],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010115:47:32','1884010108:12:27','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,8,12,28],[1884,1,1,0,12,28],'-08:00:00',[-8,0,0],
+          'PST',0,[1918,4,14,9,59,59],[1918,4,14,1,59,59],
+          '1884010108:12:28','1884010100:12:28','1918041409:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,10,0,0],[1918,4,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1918,10,27,8,59,59],[1918,10,27,1,59,59],
+          '1918041410:00:00','1918041403:00:00','1918102708:59:59','1918102701:59:59' ],
+        [ [1918,10,27,9,0,0],[1918,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1942,2,9,9,59,59],[1942,2,9,1,59,59],
+          '1918102709:00:00','1918102701:00:00','1942020909:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,10,0,0],[1942,2,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PWT',1,[1945,8,14,22,59,59],[1945,8,14,15,59,59],
+          '1942020910:00:00','1942020903:00:00','1945081422:59:59','1945081415:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,16,0,0],'-07:00:00',[-7,0,0],
+          'PPT',1,[1945,9,30,8,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081416:00:00','1945093008:59:59','1945093001:59:59' ],
+        [ [1945,9,30,9,0,0],[1945,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1946,4,28,9,59,59],[1946,4,28,1,59,59],
+          '1945093009:00:00','1945093001:00:00','1946042809:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,10,0,0],[1946,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1946,10,13,8,59,59],[1946,10,13,1,59,59],
+          '1946042810:00:00','1946042803:00:00','1946101308:59:59','1946101301:59:59' ],
+        [ [1946,10,13,9,0,0],[1946,10,13,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1947,4,27,9,59,59],[1947,4,27,1,59,59],
+          '1946101309:00:00','1946101301:00:00','1947042709:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,10,0,0],[1947,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1947,9,28,8,59,59],[1947,9,28,1,59,59],
+          '1947042710:00:00','1947042703:00:00','1947092808:59:59','1947092801:59:59' ],
+        [ [1947,9,28,9,0,0],[1947,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1948,4,25,9,59,59],[1948,4,25,1,59,59],
+          '1947092809:00:00','1947092801:00:00','1948042509:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,10,0,0],[1948,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1948,9,26,8,59,59],[1948,9,26,1,59,59],
+          '1948042510:00:00','1948042503:00:00','1948092608:59:59','1948092601:59:59' ],
+        [ [1948,9,26,9,0,0],[1948,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1949,4,24,9,59,59],[1949,4,24,1,59,59],
+          '1948092609:00:00','1948092601:00:00','1949042409:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,10,0,0],[1949,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1949,9,25,8,59,59],[1949,9,25,1,59,59],
+          '1949042410:00:00','1949042403:00:00','1949092508:59:59','1949092501:59:59' ],
+        [ [1949,9,25,9,0,0],[1949,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1950,4,30,9,59,59],[1950,4,30,1,59,59],
+          '1949092509:00:00','1949092501:00:00','1950043009:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,10,0,0],[1950,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1950,9,24,8,59,59],[1950,9,24,1,59,59],
+          '1950043010:00:00','1950043003:00:00','1950092408:59:59','1950092401:59:59' ],
+        [ [1950,9,24,9,0,0],[1950,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1951,4,29,9,59,59],[1951,4,29,1,59,59],
+          '1950092409:00:00','1950092401:00:00','1951042909:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,10,0,0],[1951,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1951,9,30,8,59,59],[1951,9,30,1,59,59],
+          '1951042910:00:00','1951042903:00:00','1951093008:59:59','1951093001:59:59' ],
+        [ [1951,9,30,9,0,0],[1951,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1952,4,27,9,59,59],[1952,4,27,1,59,59],
+          '1951093009:00:00','1951093001:00:00','1952042709:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,10,0,0],[1952,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1952,9,28,8,59,59],[1952,9,28,1,59,59],
+          '1952042710:00:00','1952042703:00:00','1952092808:59:59','1952092801:59:59' ],
+        [ [1952,9,28,9,0,0],[1952,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1953,4,26,9,59,59],[1953,4,26,1,59,59],
+          '1952092809:00:00','1952092801:00:00','1953042609:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,10,0,0],[1953,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1953,9,27,8,59,59],[1953,9,27,1,59,59],
+          '1953042610:00:00','1953042603:00:00','1953092708:59:59','1953092701:59:59' ],
+        [ [1953,9,27,9,0,0],[1953,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1954,4,25,9,59,59],[1954,4,25,1,59,59],
+          '1953092709:00:00','1953092701:00:00','1954042509:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,10,0,0],[1954,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1954,9,26,8,59,59],[1954,9,26,1,59,59],
+          '1954042510:00:00','1954042503:00:00','1954092608:59:59','1954092601:59:59' ],
+        [ [1954,9,26,9,0,0],[1954,9,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1955,4,24,9,59,59],[1955,4,24,1,59,59],
+          '1954092609:00:00','1954092601:00:00','1955042409:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,10,0,0],[1955,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1955,9,25,8,59,59],[1955,9,25,1,59,59],
+          '1955042410:00:00','1955042403:00:00','1955092508:59:59','1955092501:59:59' ],
+        [ [1955,9,25,9,0,0],[1955,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1956,4,29,9,59,59],[1956,4,29,1,59,59],
+          '1955092509:00:00','1955092501:00:00','1956042909:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,10,0,0],[1956,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1956,9,30,8,59,59],[1956,9,30,1,59,59],
+          '1956042910:00:00','1956042903:00:00','1956093008:59:59','1956093001:59:59' ],
+        [ [1956,9,30,9,0,0],[1956,9,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1957,4,28,9,59,59],[1957,4,28,1,59,59],
+          '1956093009:00:00','1956093001:00:00','1957042809:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,10,0,0],[1957,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1957,9,29,8,59,59],[1957,9,29,1,59,59],
+          '1957042810:00:00','1957042803:00:00','1957092908:59:59','1957092901:59:59' ],
+        [ [1957,9,29,9,0,0],[1957,9,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1958,4,27,9,59,59],[1958,4,27,1,59,59],
+          '1957092909:00:00','1957092901:00:00','1958042709:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,10,0,0],[1958,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1958,9,28,8,59,59],[1958,9,28,1,59,59],
+          '1958042710:00:00','1958042703:00:00','1958092808:59:59','1958092801:59:59' ],
+        [ [1958,9,28,9,0,0],[1958,9,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1959,4,26,9,59,59],[1959,4,26,1,59,59],
+          '1958092809:00:00','1958092801:00:00','1959042609:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,10,0,0],[1959,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1959,9,27,8,59,59],[1959,9,27,1,59,59],
+          '1959042610:00:00','1959042603:00:00','1959092708:59:59','1959092701:59:59' ],
+        [ [1959,9,27,9,0,0],[1959,9,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1960,4,24,9,59,59],[1960,4,24,1,59,59],
+          '1959092709:00:00','1959092701:00:00','1960042409:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,10,0,0],[1960,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1960,9,25,8,59,59],[1960,9,25,1,59,59],
+          '1960042410:00:00','1960042403:00:00','1960092508:59:59','1960092501:59:59' ],
+        [ [1960,9,25,9,0,0],[1960,9,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1961,4,30,9,59,59],[1961,4,30,1,59,59],
+          '1960092509:00:00','1960092501:00:00','1961043009:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,10,0,0],[1961,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1961,9,24,8,59,59],[1961,9,24,1,59,59],
+          '1961043010:00:00','1961043003:00:00','1961092408:59:59','1961092401:59:59' ],
+        [ [1961,9,24,9,0,0],[1961,9,24,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1962,4,29,9,59,59],[1962,4,29,1,59,59],
+          '1961092409:00:00','1961092401:00:00','1962042909:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,10,0,0],[1962,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1962,10,28,8,59,59],[1962,10,28,1,59,59],
+          '1962042910:00:00','1962042903:00:00','1962102808:59:59','1962102801:59:59' ],
+        [ [1962,10,28,9,0,0],[1962,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1963,4,28,9,59,59],[1963,4,28,1,59,59],
+          '1962102809:00:00','1962102801:00:00','1963042809:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,10,0,0],[1963,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1963,10,27,8,59,59],[1963,10,27,1,59,59],
+          '1963042810:00:00','1963042803:00:00','1963102708:59:59','1963102701:59:59' ],
+        [ [1963,10,27,9,0,0],[1963,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1964,4,26,9,59,59],[1964,4,26,1,59,59],
+          '1963102709:00:00','1963102701:00:00','1964042609:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,10,0,0],[1964,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1964,10,25,8,59,59],[1964,10,25,1,59,59],
+          '1964042610:00:00','1964042603:00:00','1964102508:59:59','1964102501:59:59' ],
+        [ [1964,10,25,9,0,0],[1964,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1965,4,25,9,59,59],[1965,4,25,1,59,59],
+          '1964102509:00:00','1964102501:00:00','1965042509:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,10,0,0],[1965,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042510:00:00','1965042503:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1966,4,24,9,59,59],[1966,4,24,1,59,59],
+          '1965103109:00:00','1965103101:00:00','1966042409:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,10,0,0],[1966,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1966,10,30,8,59,59],[1966,10,30,1,59,59],
+          '1966042410:00:00','1966042403:00:00','1966103008:59:59','1966103001:59:59' ],
+        [ [1966,10,30,9,0,0],[1966,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1967,4,30,9,59,59],[1967,4,30,1,59,59],
+          '1966103009:00:00','1966103001:00:00','1967043009:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,10,0,0],[1967,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1967,10,29,8,59,59],[1967,10,29,1,59,59],
+          '1967043010:00:00','1967043003:00:00','1967102908:59:59','1967102901:59:59' ],
+        [ [1967,10,29,9,0,0],[1967,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1968,4,28,9,59,59],[1968,4,28,1,59,59],
+          '1967102909:00:00','1967102901:00:00','1968042809:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,10,0,0],[1968,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1968,10,27,8,59,59],[1968,10,27,1,59,59],
+          '1968042810:00:00','1968042803:00:00','1968102708:59:59','1968102701:59:59' ],
+        [ [1968,10,27,9,0,0],[1968,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1969,4,27,9,59,59],[1969,4,27,1,59,59],
+          '1968102709:00:00','1968102701:00:00','1969042709:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,10,0,0],[1969,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1969,10,26,8,59,59],[1969,10,26,1,59,59],
+          '1969042710:00:00','1969042703:00:00','1969102608:59:59','1969102601:59:59' ],
+        [ [1969,10,26,9,0,0],[1969,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1970,4,26,9,59,59],[1970,4,26,1,59,59],
+          '1969102609:00:00','1969102601:00:00','1970042609:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,10,0,0],[1970,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1970,10,25,8,59,59],[1970,10,25,1,59,59],
+          '1970042610:00:00','1970042603:00:00','1970102508:59:59','1970102501:59:59' ],
+        [ [1970,10,25,9,0,0],[1970,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1971,4,25,9,59,59],[1971,4,25,1,59,59],
+          '1970102509:00:00','1970102501:00:00','1971042509:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,10,0,0],[1971,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1971,10,31,8,59,59],[1971,10,31,1,59,59],
+          '1971042510:00:00','1971042503:00:00','1971103108:59:59','1971103101:59:59' ],
+        [ [1971,10,31,9,0,0],[1971,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1972,4,30,9,59,59],[1972,4,30,1,59,59],
+          '1971103109:00:00','1971103101:00:00','1972043009:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,10,0,0],[1972,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1972,10,29,8,59,59],[1972,10,29,1,59,59],
+          '1972043010:00:00','1972043003:00:00','1972102908:59:59','1972102901:59:59' ],
+        [ [1972,10,29,9,0,0],[1972,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1973,4,29,9,59,59],[1973,4,29,1,59,59],
+          '1972102909:00:00','1972102901:00:00','1973042909:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,10,0,0],[1973,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1973,10,28,8,59,59],[1973,10,28,1,59,59],
+          '1973042910:00:00','1973042903:00:00','1973102808:59:59','1973102801:59:59' ],
+        [ [1973,10,28,9,0,0],[1973,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1974,4,28,9,59,59],[1974,4,28,1,59,59],
+          '1973102809:00:00','1973102801:00:00','1974042809:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,10,0,0],[1974,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1974,10,27,8,59,59],[1974,10,27,1,59,59],
+          '1974042810:00:00','1974042803:00:00','1974102708:59:59','1974102701:59:59' ],
+        [ [1974,10,27,9,0,0],[1974,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1975,4,27,9,59,59],[1975,4,27,1,59,59],
+          '1974102709:00:00','1974102701:00:00','1975042709:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,10,0,0],[1975,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1975,10,26,8,59,59],[1975,10,26,1,59,59],
+          '1975042710:00:00','1975042703:00:00','1975102608:59:59','1975102601:59:59' ],
+        [ [1975,10,26,9,0,0],[1975,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1976,4,25,9,59,59],[1976,4,25,1,59,59],
+          '1975102609:00:00','1975102601:00:00','1976042509:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,10,0,0],[1976,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1976,10,31,8,59,59],[1976,10,31,1,59,59],
+          '1976042510:00:00','1976042503:00:00','1976103108:59:59','1976103101:59:59' ],
+        [ [1976,10,31,9,0,0],[1976,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1977,4,24,9,59,59],[1977,4,24,1,59,59],
+          '1976103109:00:00','1976103101:00:00','1977042409:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,10,0,0],[1977,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1977,10,30,8,59,59],[1977,10,30,1,59,59],
+          '1977042410:00:00','1977042403:00:00','1977103008:59:59','1977103001:59:59' ],
+        [ [1977,10,30,9,0,0],[1977,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1978,4,30,9,59,59],[1978,4,30,1,59,59],
+          '1977103009:00:00','1977103001:00:00','1978043009:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,10,0,0],[1978,4,30,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1978,10,29,8,59,59],[1978,10,29,1,59,59],
+          '1978043010:00:00','1978043003:00:00','1978102908:59:59','1978102901:59:59' ],
+        [ [1978,10,29,9,0,0],[1978,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1979,4,29,9,59,59],[1979,4,29,1,59,59],
+          '1978102909:00:00','1978102901:00:00','1979042909:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,10,0,0],[1979,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1979,10,28,8,59,59],[1979,10,28,1,59,59],
+          '1979042910:00:00','1979042903:00:00','1979102808:59:59','1979102801:59:59' ],
+        [ [1979,10,28,9,0,0],[1979,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1979102809:00:00','1979102801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,3,11,9,59,59],[2007,3,11,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007031109:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,10,0,0],[2007,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,11,4,8,59,59],[2007,11,4,1,59,59],
+          '2007031110:00:00','2007031103:00:00','2007110408:59:59','2007110401:59:59' ],
+        [ [2007,11,4,9,0,0],[2007,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,3,9,9,59,59],[2008,3,9,1,59,59],
+          '2007110409:00:00','2007110401:00:00','2008030909:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,10,0,0],[2008,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,11,2,8,59,59],[2008,11,2,1,59,59],
+          '2008030910:00:00','2008030903:00:00','2008110208:59:59','2008110201:59:59' ],
+        [ [2008,11,2,9,0,0],[2008,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,3,8,9,59,59],[2009,3,8,1,59,59],
+          '2008110209:00:00','2008110201:00:00','2009030809:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,10,0,0],[2009,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,11,1,8,59,59],[2009,11,1,1,59,59],
+          '2009030810:00:00','2009030803:00:00','2009110108:59:59','2009110101:59:59' ],
+        [ [2009,11,1,9,0,0],[2009,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009110109:00:00','2009110101:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2015,11,1,8,59,59],[2015,11,1,1,59,59],
+          '2015030810:00:00','2015030803:00:00','2015110108:59:59','2015110101:59:59' ],
+        [ [2015,11,1,9,0,0],[2015,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2016,3,13,9,59,59],[2016,3,13,1,59,59],
+          '2015110109:00:00','2015110101:00:00','2016031309:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,10,0,0],[2016,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2016,11,6,8,59,59],[2016,11,6,1,59,59],
+          '2016031310:00:00','2016031303:00:00','2016110608:59:59','2016110601:59:59' ],
+        [ [2016,11,6,9,0,0],[2016,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2017,3,12,9,59,59],[2017,3,12,1,59,59],
+          '2016110609:00:00','2016110601:00:00','2017031209:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,10,0,0],[2017,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2017,11,5,8,59,59],[2017,11,5,1,59,59],
+          '2017031210:00:00','2017031203:00:00','2017110508:59:59','2017110501:59:59' ],
+        [ [2017,11,5,9,0,0],[2017,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2018,3,11,9,59,59],[2018,3,11,1,59,59],
+          '2017110509:00:00','2017110501:00:00','2018031109:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,10,0,0],[2018,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2018,11,4,8,59,59],[2018,11,4,1,59,59],
+          '2018031110:00:00','2018031103:00:00','2018110408:59:59','2018110401:59:59' ],
+        [ [2018,11,4,9,0,0],[2018,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2019,3,10,9,59,59],[2019,3,10,1,59,59],
+          '2018110409:00:00','2018110401:00:00','2019031009:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,10,0,0],[2019,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2019,11,3,8,59,59],[2019,11,3,1,59,59],
+          '2019031010:00:00','2019031003:00:00','2019110308:59:59','2019110301:59:59' ],
+        [ [2019,11,3,9,0,0],[2019,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2020,3,8,9,59,59],[2020,3,8,1,59,59],
+          '2019110309:00:00','2019110301:00:00','2020030809:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,10,0,0],[2020,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2020,11,1,8,59,59],[2020,11,1,1,59,59],
+          '2020030810:00:00','2020030803:00:00','2020110108:59:59','2020110101:59:59' ],
+        [ [2020,11,1,9,0,0],[2020,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2021,3,14,9,59,59],[2021,3,14,1,59,59],
+          '2020110109:00:00','2020110101:00:00','2021031409:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,10,0,0],[2021,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2021,11,7,8,59,59],[2021,11,7,1,59,59],
+          '2021031410:00:00','2021031403:00:00','2021110708:59:59','2021110701:59:59' ],
+        [ [2021,11,7,9,0,0],[2021,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2022,3,13,9,59,59],[2022,3,13,1,59,59],
+          '2021110709:00:00','2021110701:00:00','2022031309:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,10,0,0],[2022,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2022,11,6,8,59,59],[2022,11,6,1,59,59],
+          '2022031310:00:00','2022031303:00:00','2022110608:59:59','2022110601:59:59' ],
+        [ [2022,11,6,9,0,0],[2022,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2023,3,12,9,59,59],[2023,3,12,1,59,59],
+          '2022110609:00:00','2022110601:00:00','2023031209:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,10,0,0],[2023,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2023,11,5,8,59,59],[2023,11,5,1,59,59],
+          '2023031210:00:00','2023031203:00:00','2023110508:59:59','2023110501:59:59' ],
+        [ [2023,11,5,9,0,0],[2023,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2024,3,10,9,59,59],[2024,3,10,1,59,59],
+          '2023110509:00:00','2023110501:00:00','2024031009:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,10,0,0],[2024,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2024,11,3,8,59,59],[2024,11,3,1,59,59],
+          '2024031010:00:00','2024031003:00:00','2024110308:59:59','2024110301:59:59' ],
+        [ [2024,11,3,9,0,0],[2024,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2025,3,9,9,59,59],[2025,3,9,1,59,59],
+          '2024110309:00:00','2024110301:00:00','2025030909:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,10,0,0],[2025,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2025,11,2,8,59,59],[2025,11,2,1,59,59],
+          '2025030910:00:00','2025030903:00:00','2025110208:59:59','2025110201:59:59' ],
+        [ [2025,11,2,9,0,0],[2025,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2026,3,8,9,59,59],[2026,3,8,1,59,59],
+          '2025110209:00:00','2025110201:00:00','2026030809:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,10,0,0],[2026,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2026,11,1,8,59,59],[2026,11,1,1,59,59],
+          '2026030810:00:00','2026030803:00:00','2026110108:59:59','2026110101:59:59' ],
+        [ [2026,11,1,9,0,0],[2026,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2027,3,14,9,59,59],[2027,3,14,1,59,59],
+          '2026110109:00:00','2026110101:00:00','2027031409:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,10,0,0],[2027,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2027,11,7,8,59,59],[2027,11,7,1,59,59],
+          '2027031410:00:00','2027031403:00:00','2027110708:59:59','2027110701:59:59' ],
+        [ [2027,11,7,9,0,0],[2027,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2028,3,12,9,59,59],[2028,3,12,1,59,59],
+          '2027110709:00:00','2027110701:00:00','2028031209:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,10,0,0],[2028,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2028,11,5,8,59,59],[2028,11,5,1,59,59],
+          '2028031210:00:00','2028031203:00:00','2028110508:59:59','2028110501:59:59' ],
+        [ [2028,11,5,9,0,0],[2028,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2029,3,11,9,59,59],[2029,3,11,1,59,59],
+          '2028110509:00:00','2028110501:00:00','2029031109:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,10,0,0],[2029,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2029,11,4,8,59,59],[2029,11,4,1,59,59],
+          '2029031110:00:00','2029031103:00:00','2029110408:59:59','2029110401:59:59' ],
+        [ [2029,11,4,9,0,0],[2029,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2030,3,10,9,59,59],[2030,3,10,1,59,59],
+          '2029110409:00:00','2029110401:00:00','2030031009:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,10,0,0],[2030,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2030,11,3,8,59,59],[2030,11,3,1,59,59],
+          '2030031010:00:00','2030031003:00:00','2030110308:59:59','2030110301:59:59' ],
+        [ [2030,11,3,9,0,0],[2030,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2031,3,9,9,59,59],[2031,3,9,1,59,59],
+          '2030110309:00:00','2030110301:00:00','2031030909:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,10,0,0],[2031,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2031,11,2,8,59,59],[2031,11,2,1,59,59],
+          '2031030910:00:00','2031030903:00:00','2031110208:59:59','2031110201:59:59' ],
+        [ [2031,11,2,9,0,0],[2031,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2032,3,14,9,59,59],[2032,3,14,1,59,59],
+          '2031110209:00:00','2031110201:00:00','2032031409:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,10,0,0],[2032,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2032,11,7,8,59,59],[2032,11,7,1,59,59],
+          '2032031410:00:00','2032031403:00:00','2032110708:59:59','2032110701:59:59' ],
+        [ [2032,11,7,9,0,0],[2032,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2033,3,13,9,59,59],[2033,3,13,1,59,59],
+          '2032110709:00:00','2032110701:00:00','2033031309:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,10,0,0],[2033,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2033,11,6,8,59,59],[2033,11,6,1,59,59],
+          '2033031310:00:00','2033031303:00:00','2033110608:59:59','2033110601:59:59' ],
+        [ [2033,11,6,9,0,0],[2033,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2034,3,12,9,59,59],[2034,3,12,1,59,59],
+          '2033110609:00:00','2033110601:00:00','2034031209:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,10,0,0],[2034,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2034,11,5,8,59,59],[2034,11,5,1,59,59],
+          '2034031210:00:00','2034031203:00:00','2034110508:59:59','2034110501:59:59' ],
+        [ [2034,11,5,9,0,0],[2034,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2035,3,11,9,59,59],[2035,3,11,1,59,59],
+          '2034110509:00:00','2034110501:00:00','2035031109:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,10,0,0],[2035,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2035,11,4,8,59,59],[2035,11,4,1,59,59],
+          '2035031110:00:00','2035031103:00:00','2035110408:59:59','2035110401:59:59' ],
+        [ [2035,11,4,9,0,0],[2035,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2036,3,9,9,59,59],[2036,3,9,1,59,59],
+          '2035110409:00:00','2035110401:00:00','2036030909:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,10,0,0],[2036,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2036,11,2,8,59,59],[2036,11,2,1,59,59],
+          '2036030910:00:00','2036030903:00:00','2036110208:59:59','2036110201:59:59' ],
+        [ [2036,11,2,9,0,0],[2036,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2037,3,8,9,59,59],[2037,3,8,1,59,59],
+          '2036110209:00:00','2036110201:00:00','2037030809:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,10,0,0],[2037,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2037,11,1,8,59,59],[2037,11,1,1,59,59],
+          '2037030810:00:00','2037030803:00:00','2037110108:59:59','2037110101:59:59' ],
+        [ [2037,11,1,9,0,0],[2037,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2038,3,14,9,59,59],[2038,3,14,1,59,59],
+          '2037110109:00:00','2037110101:00:00','2038031409:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,10,0,0],[2038,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2038,11,7,8,59,59],[2038,11,7,1,59,59],
+          '2038031410:00:00','2038031403:00:00','2038110708:59:59','2038110701:59:59' ],
+        [ [2038,11,7,9,0,0],[2038,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2039,3,13,9,59,59],[2039,3,13,1,59,59],
+          '2038110709:00:00','2038110701:00:00','2039031309:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,10,0,0],[2039,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2039,11,6,8,59,59],[2039,11,6,1,59,59],
+          '2039031310:00:00','2039031303:00:00','2039110608:59:59','2039110601:59:59' ],
+        [ [2039,11,6,9,0,0],[2039,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2040,3,11,9,59,59],[2040,3,11,1,59,59],
+          '2039110609:00:00','2039110601:00:00','2040031109:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,10,0,0],[2040,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2040,11,4,8,59,59],[2040,11,4,1,59,59],
+          '2040031110:00:00','2040031103:00:00','2040110408:59:59','2040110401:59:59' ],
+        [ [2040,11,4,9,0,0],[2040,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2041,3,10,9,59,59],[2041,3,10,1,59,59],
+          '2040110409:00:00','2040110401:00:00','2041031009:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,10,0,0],[2041,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2041,11,3,8,59,59],[2041,11,3,1,59,59],
+          '2041031010:00:00','2041031003:00:00','2041110308:59:59','2041110301:59:59' ],
+        [ [2041,11,3,9,0,0],[2041,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2042,3,9,9,59,59],[2042,3,9,1,59,59],
+          '2041110309:00:00','2041110301:00:00','2042030909:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,10,0,0],[2042,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2042,11,2,8,59,59],[2042,11,2,1,59,59],
+          '2042030910:00:00','2042030903:00:00','2042110208:59:59','2042110201:59:59' ],
+        [ [2042,11,2,9,0,0],[2042,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2043,3,8,9,59,59],[2043,3,8,1,59,59],
+          '2042110209:00:00','2042110201:00:00','2043030809:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,10,0,0],[2043,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2043,11,1,8,59,59],[2043,11,1,1,59,59],
+          '2043030810:00:00','2043030803:00:00','2043110108:59:59','2043110101:59:59' ],
+        [ [2043,11,1,9,0,0],[2043,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2044,3,13,9,59,59],[2044,3,13,1,59,59],
+          '2043110109:00:00','2043110101:00:00','2044031309:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,10,0,0],[2044,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2044,11,6,8,59,59],[2044,11,6,1,59,59],
+          '2044031310:00:00','2044031303:00:00','2044110608:59:59','2044110601:59:59' ],
+        [ [2044,11,6,9,0,0],[2044,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2045,3,12,9,59,59],[2045,3,12,1,59,59],
+          '2044110609:00:00','2044110601:00:00','2045031209:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,10,0,0],[2045,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2045,11,5,8,59,59],[2045,11,5,1,59,59],
+          '2045031210:00:00','2045031203:00:00','2045110508:59:59','2045110501:59:59' ],
+        [ [2045,11,5,9,0,0],[2045,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2046,3,11,9,59,59],[2046,3,11,1,59,59],
+          '2045110509:00:00','2045110501:00:00','2046031109:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,10,0,0],[2046,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2046,11,4,8,59,59],[2046,11,4,1,59,59],
+          '2046031110:00:00','2046031103:00:00','2046110408:59:59','2046110401:59:59' ],
+        [ [2046,11,4,9,0,0],[2046,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2047,3,10,9,59,59],[2047,3,10,1,59,59],
+          '2046110409:00:00','2046110401:00:00','2047031009:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,10,0,0],[2047,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2047,11,3,8,59,59],[2047,11,3,1,59,59],
+          '2047031010:00:00','2047031003:00:00','2047110308:59:59','2047110301:59:59' ],
+        [ [2047,11,3,9,0,0],[2047,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2048,3,8,9,59,59],[2048,3,8,1,59,59],
+          '2047110309:00:00','2047110301:00:00','2048030809:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,10,0,0],[2048,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2048,11,1,8,59,59],[2048,11,1,1,59,59],
+          '2048030810:00:00','2048030803:00:00','2048110108:59:59','2048110101:59:59' ],
+        [ [2048,11,1,9,0,0],[2048,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2049,3,14,9,59,59],[2049,3,14,1,59,59],
+          '2048110109:00:00','2048110101:00:00','2049031409:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,10,0,0],[2049,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2049,11,7,8,59,59],[2049,11,7,1,59,59],
+          '2049031410:00:00','2049031403:00:00','2049110708:59:59','2049110701:59:59' ],
+        [ [2049,11,7,9,0,0],[2049,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2050,3,13,9,59,59],[2050,3,13,1,59,59],
+          '2049110709:00:00','2049110701:00:00','2050031309:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,10,0,0],[2050,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2050,11,6,8,59,59],[2050,11,6,1,59,59],
+          '2050031310:00:00','2050031303:00:00','2050110608:59:59','2050110601:59:59' ],
+        [ [2050,11,6,9,0,0],[2050,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2051,3,12,9,59,59],[2051,3,12,1,59,59],
+          '2050110609:00:00','2050110601:00:00','2051031209:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,10,0,0],[2051,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2051,11,5,8,59,59],[2051,11,5,1,59,59],
+          '2051031210:00:00','2051031203:00:00','2051110508:59:59','2051110501:59:59' ],
+        [ [2051,11,5,9,0,0],[2051,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2052,3,10,9,59,59],[2052,3,10,1,59,59],
+          '2051110509:00:00','2051110501:00:00','2052031009:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,10,0,0],[2052,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2052,11,3,8,59,59],[2052,11,3,1,59,59],
+          '2052031010:00:00','2052031003:00:00','2052110308:59:59','2052110301:59:59' ],
+        [ [2052,11,3,9,0,0],[2052,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2053,3,9,9,59,59],[2053,3,9,1,59,59],
+          '2052110309:00:00','2052110301:00:00','2053030909:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,10,0,0],[2053,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2053,11,2,8,59,59],[2053,11,2,1,59,59],
+          '2053030910:00:00','2053030903:00:00','2053110208:59:59','2053110201:59:59' ],
+        [ [2053,11,2,9,0,0],[2053,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2054,3,8,9,59,59],[2054,3,8,1,59,59],
+          '2053110209:00:00','2053110201:00:00','2054030809:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,10,0,0],[2054,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2054,11,1,8,59,59],[2054,11,1,1,59,59],
+          '2054030810:00:00','2054030803:00:00','2054110108:59:59','2054110101:59:59' ],
+        [ [2054,11,1,9,0,0],[2054,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2055,3,14,9,59,59],[2055,3,14,1,59,59],
+          '2054110109:00:00','2054110101:00:00','2055031409:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,10,0,0],[2055,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2055,11,7,8,59,59],[2055,11,7,1,59,59],
+          '2055031410:00:00','2055031403:00:00','2055110708:59:59','2055110701:59:59' ],
+        [ [2055,11,7,9,0,0],[2055,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2056,3,12,9,59,59],[2056,3,12,1,59,59],
+          '2055110709:00:00','2055110701:00:00','2056031209:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,10,0,0],[2056,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2056,11,5,8,59,59],[2056,11,5,1,59,59],
+          '2056031210:00:00','2056031203:00:00','2056110508:59:59','2056110501:59:59' ],
+        [ [2056,11,5,9,0,0],[2056,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2057,3,11,9,59,59],[2057,3,11,1,59,59],
+          '2056110509:00:00','2056110501:00:00','2057031109:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,10,0,0],[2057,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2057,11,4,8,59,59],[2057,11,4,1,59,59],
+          '2057031110:00:00','2057031103:00:00','2057110408:59:59','2057110401:59:59' ],
+        [ [2057,11,4,9,0,0],[2057,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2058,3,10,9,59,59],[2058,3,10,1,59,59],
+          '2057110409:00:00','2057110401:00:00','2058031009:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,10,0,0],[2058,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2058,11,3,8,59,59],[2058,11,3,1,59,59],
+          '2058031010:00:00','2058031003:00:00','2058110308:59:59','2058110301:59:59' ],
+        [ [2058,11,3,9,0,0],[2058,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2059,3,9,9,59,59],[2059,3,9,1,59,59],
+          '2058110309:00:00','2058110301:00:00','2059030909:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,10,0,0],[2059,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2059,11,2,8,59,59],[2059,11,2,1,59,59],
+          '2059030910:00:00','2059030903:00:00','2059110208:59:59','2059110201:59:59' ],
+        [ [2059,11,2,9,0,0],[2059,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2060,3,14,9,59,59],[2060,3,14,1,59,59],
+          '2059110209:00:00','2059110201:00:00','2060031409:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,10,0,0],[2060,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2060,11,7,8,59,59],[2060,11,7,1,59,59],
+          '2060031410:00:00','2060031403:00:00','2060110708:59:59','2060110701:59:59' ],
+        [ [2060,11,7,9,0,0],[2060,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2061,3,13,9,59,59],[2061,3,13,1,59,59],
+          '2060110709:00:00','2060110701:00:00','2061031309:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,10,0,0],[2061,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2061,11,6,8,59,59],[2061,11,6,1,59,59],
+          '2061031310:00:00','2061031303:00:00','2061110608:59:59','2061110601:59:59' ],
+        [ [2061,11,6,9,0,0],[2061,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2062,3,12,9,59,59],[2062,3,12,1,59,59],
+          '2061110609:00:00','2061110601:00:00','2062031209:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,10,0,0],[2062,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2062,11,5,8,59,59],[2062,11,5,1,59,59],
+          '2062031210:00:00','2062031203:00:00','2062110508:59:59','2062110501:59:59' ],
+        [ [2062,11,5,9,0,0],[2062,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2063,3,11,9,59,59],[2063,3,11,1,59,59],
+          '2062110509:00:00','2062110501:00:00','2063031109:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,10,0,0],[2063,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2063,11,4,8,59,59],[2063,11,4,1,59,59],
+          '2063031110:00:00','2063031103:00:00','2063110408:59:59','2063110401:59:59' ],
+        [ [2063,11,4,9,0,0],[2063,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2064,3,9,9,59,59],[2064,3,9,1,59,59],
+          '2063110409:00:00','2063110401:00:00','2064030909:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,10,0,0],[2064,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2064,11,2,8,59,59],[2064,11,2,1,59,59],
+          '2064030910:00:00','2064030903:00:00','2064110208:59:59','2064110201:59:59' ],
+        [ [2064,11,2,9,0,0],[2064,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2065,3,8,9,59,59],[2065,3,8,1,59,59],
+          '2064110209:00:00','2064110201:00:00','2065030809:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,10,0,0],[2065,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2065,11,1,8,59,59],[2065,11,1,1,59,59],
+          '2065030810:00:00','2065030803:00:00','2065110108:59:59','2065110101:59:59' ],
+        [ [2065,11,1,9,0,0],[2065,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2066,3,14,9,59,59],[2066,3,14,1,59,59],
+          '2065110109:00:00','2065110101:00:00','2066031409:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,10,0,0],[2066,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2066,11,7,8,59,59],[2066,11,7,1,59,59],
+          '2066031410:00:00','2066031403:00:00','2066110708:59:59','2066110701:59:59' ],
+        [ [2066,11,7,9,0,0],[2066,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2067,3,13,9,59,59],[2067,3,13,1,59,59],
+          '2066110709:00:00','2066110701:00:00','2067031309:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,10,0,0],[2067,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2067,11,6,8,59,59],[2067,11,6,1,59,59],
+          '2067031310:00:00','2067031303:00:00','2067110608:59:59','2067110601:59:59' ],
+        [ [2067,11,6,9,0,0],[2067,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2068,3,11,9,59,59],[2068,3,11,1,59,59],
+          '2067110609:00:00','2067110601:00:00','2068031109:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-07:00:00',
+                'stdoff' => '-08:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'PDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'PST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amveva00.pm b/lib/Date/Manip/TZ/amveva00.pm
new file mode 100644
index 0000000..24ca518
--- /dev/null
+++ b/lib/Date/Manip/TZ/amveva00.pm
@@ -0,0 +1,706 @@
+package #
+Date::Manip::TZ::amveva00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,19,44],'-05:40:16',[-5,-40,-16],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,19,43],
+          '0001010200:00:00','0001010118:19:44','1883111817:59:59','1883111812:19:43' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1971,4,25,6,59,59],[1971,4,25,1,59,59],
+          '1970102506:00:00','1970102501:00:00','1971042506:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,7,0,0],[1971,4,25,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1971,10,31,5,59,59],[1971,10,31,1,59,59],
+          '1971042507:00:00','1971042503:00:00','1971103105:59:59','1971103101:59:59' ],
+        [ [1971,10,31,6,0,0],[1971,10,31,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1972,4,30,6,59,59],[1972,4,30,1,59,59],
+          '1971103106:00:00','1971103101:00:00','1972043006:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,7,0,0],[1972,4,30,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1972,10,29,5,59,59],[1972,10,29,1,59,59],
+          '1972043007:00:00','1972043003:00:00','1972102905:59:59','1972102901:59:59' ],
+        [ [1972,10,29,6,0,0],[1972,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1972102906:00:00','1972102901:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2006,10,29,5,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040203:00:00','2006102905:59:59','2006102901:59:59' ],
+        [ [2006,10,29,6,0,0],[2006,10,29,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2007,3,11,6,59,59],[2007,3,11,1,59,59],
+          '2006102906:00:00','2006102901:00:00','2007031106:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,7,0,0],[2007,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031107:00:00','2007031103:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amvinc00.pm b/lib/Date/Manip/TZ/amvinc00.pm
new file mode 100644
index 0000000..4bd0449
--- /dev/null
+++ b/lib/Date/Manip/TZ/amvinc00.pm
@@ -0,0 +1,796 @@
+package #
+Date::Manip::TZ::amvinc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,9,53],'-05:50:07',[-5,-50,-7],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,9,52],
+          '0001010200:00:00','0001010118:09:53','1883111817:59:59','1883111812:09:52' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,5,1,5,59,59],[1955,4,30,23,59,59],
+          '1954092607:00:00','1954092601:00:00','1955050105:59:59','1955043023:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,5,1,6,0,0],[1955,5,1,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955050106:00:00','1955050101:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,9,30,6,59,59],[1956,9,30,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956093006:59:59','1956093001:59:59' ],
+        [ [1956,9,30,7,0,0],[1956,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956093007:00:00','1956093001:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,9,27,6,59,59],[1959,9,27,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959092706:59:59','1959092701:59:59' ],
+        [ [1959,9,27,7,0,0],[1959,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959092707:00:00','1959092701:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,10,30,6,59,59],[1960,10,30,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960103006:59:59','1960103001:59:59' ],
+        [ [1960,10,30,7,0,0],[1960,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960103007:00:00','1960103001:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1961,9,24,6,59,59],[1961,9,24,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1961092406:59:59','1961092401:59:59' ],
+        [ [1961,9,24,7,0,0],[1961,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1962,4,29,7,59,59],[1962,4,29,1,59,59],
+          '1961092407:00:00','1961092401:00:00','1962042907:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,8,0,0],[1962,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1962,10,28,6,59,59],[1962,10,28,1,59,59],
+          '1962042908:00:00','1962042903:00:00','1962102806:59:59','1962102801:59:59' ],
+        [ [1962,10,28,7,0,0],[1962,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1963,4,28,7,59,59],[1963,4,28,1,59,59],
+          '1962102807:00:00','1962102801:00:00','1963042807:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,8,0,0],[1963,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1963,10,27,6,59,59],[1963,10,27,1,59,59],
+          '1963042808:00:00','1963042803:00:00','1963102706:59:59','1963102701:59:59' ],
+        [ [1963,10,27,7,0,0],[1963,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1964,4,26,7,59,59],[1964,4,26,1,59,59],
+          '1963102707:00:00','1963102701:00:00','1964042607:59:59','1964042601:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,26,8,0,0],[1964,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1964042608:00:00','1964042603:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1970102506:00:00','1970102501:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040202:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,2,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110402:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amwhit00.pm b/lib/Date/Manip/TZ/amwhit00.pm
new file mode 100644
index 0000000..387da54
--- /dev/null
+++ b/lib/Date/Manip/TZ/amwhit00.pm
@@ -0,0 +1,913 @@
+package #
+Date::Manip::TZ::amwhit00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,59,48],'-09:00:12',[-9,0,-12],
+          'LMT',0,[1900,8,20,9,0,11],[1900,8,19,23,59,59],
+          '0001010200:00:00','0001010114:59:48','1900082009:00:11','1900081923:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,9,0,12],[1900,8,20,0,0,12],'-09:00:00',[-9,0,0],
+          'YST',0,[1918,4,14,10,59,59],[1918,4,14,1,59,59],
+          '1900082009:00:12','1900082000:00:12','1918041410:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,11,0,0],[1918,4,14,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1918,10,27,9,59,59],[1918,10,27,1,59,59],
+          '1918041411:00:00','1918041403:00:00','1918102709:59:59','1918102701:59:59' ],
+        [ [1918,10,27,10,0,0],[1918,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1919,5,25,10,59,59],[1919,5,25,1,59,59],
+          '1918102710:00:00','1918102701:00:00','1919052510:59:59','1919052501:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,5,25,11,0,0],[1919,5,25,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1919,11,1,7,59,59],[1919,10,31,23,59,59],
+          '1919052511:00:00','1919052503:00:00','1919110107:59:59','1919103123:59:59' ],
+        [ [1919,11,1,8,0,0],[1919,10,31,23,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1942,2,9,10,59,59],[1942,2,9,1,59,59],
+          '1919110108:00:00','1919103123:00:00','1942020910:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,11,0,0],[1942,2,9,3,0,0],'-08:00:00',[-8,0,0],
+          'YWT',1,[1945,8,14,22,59,59],[1945,8,14,14,59,59],
+          '1942020911:00:00','1942020903:00:00','1945081422:59:59','1945081414:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,15,0,0],'-08:00:00',[-8,0,0],
+          'YPT',1,[1945,9,30,9,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081415:00:00','1945093009:59:59','1945093001:59:59' ],
+        [ [1945,9,30,10,0,0],[1945,9,30,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1965,4,25,8,59,59],[1965,4,24,23,59,59],
+          '1945093010:00:00','1945093001:00:00','1965042508:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,9,0,0],[1965,4,25,2,0,0],'-07:00:00',[-7,0,0],
+          'YDDT',1,[1965,10,31,8,59,59],[1965,10,31,1,59,59],
+          '1965042509:00:00','1965042502:00:00','1965103108:59:59','1965103101:59:59' ],
+        [ [1965,10,31,9,0,0],[1965,10,31,0,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1967,5,28,8,59,59],[1967,5,27,23,59,59],
+          '1965103109:00:00','1965103100:00:00','1967052808:59:59','1967052723:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,5,28,9,0,0],[1967,5,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1980,4,27,9,59,59],[1980,4,27,1,59,59],
+          '1967052809:00:00','1967052801:00:00','1980042709:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,10,0,0],[1980,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1980,10,26,8,59,59],[1980,10,26,1,59,59],
+          '1980042710:00:00','1980042703:00:00','1980102608:59:59','1980102601:59:59' ],
+        [ [1980,10,26,9,0,0],[1980,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1981,4,26,9,59,59],[1981,4,26,1,59,59],
+          '1980102609:00:00','1980102601:00:00','1981042609:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,10,0,0],[1981,4,26,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1981,10,25,8,59,59],[1981,10,25,1,59,59],
+          '1981042610:00:00','1981042603:00:00','1981102508:59:59','1981102501:59:59' ],
+        [ [1981,10,25,9,0,0],[1981,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1982,4,25,9,59,59],[1982,4,25,1,59,59],
+          '1981102509:00:00','1981102501:00:00','1982042509:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,10,0,0],[1982,4,25,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1982,10,31,8,59,59],[1982,10,31,1,59,59],
+          '1982042510:00:00','1982042503:00:00','1982103108:59:59','1982103101:59:59' ],
+        [ [1982,10,31,9,0,0],[1982,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1983,4,24,9,59,59],[1983,4,24,1,59,59],
+          '1982103109:00:00','1982103101:00:00','1983042409:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,10,0,0],[1983,4,24,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1983,10,30,8,59,59],[1983,10,30,1,59,59],
+          '1983042410:00:00','1983042403:00:00','1983103008:59:59','1983103001:59:59' ],
+        [ [1983,10,30,9,0,0],[1983,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1984,4,29,9,59,59],[1984,4,29,1,59,59],
+          '1983103009:00:00','1983103001:00:00','1984042909:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,10,0,0],[1984,4,29,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1984,10,28,8,59,59],[1984,10,28,1,59,59],
+          '1984042910:00:00','1984042903:00:00','1984102808:59:59','1984102801:59:59' ],
+        [ [1984,10,28,9,0,0],[1984,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1985,4,28,9,59,59],[1985,4,28,1,59,59],
+          '1984102809:00:00','1984102801:00:00','1985042809:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,10,0,0],[1985,4,28,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1985,10,27,8,59,59],[1985,10,27,1,59,59],
+          '1985042810:00:00','1985042803:00:00','1985102708:59:59','1985102701:59:59' ],
+        [ [1985,10,27,9,0,0],[1985,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1986,4,27,9,59,59],[1986,4,27,1,59,59],
+          '1985102709:00:00','1985102701:00:00','1986042709:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,10,0,0],[1986,4,27,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1986,10,26,8,59,59],[1986,10,26,1,59,59],
+          '1986042710:00:00','1986042703:00:00','1986102608:59:59','1986102601:59:59' ],
+        [ [1986,10,26,9,0,0],[1986,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1987,4,5,9,59,59],[1987,4,5,1,59,59],
+          '1986102609:00:00','1986102601:00:00','1987040509:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,10,0,0],[1987,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1987,10,25,8,59,59],[1987,10,25,1,59,59],
+          '1987040510:00:00','1987040503:00:00','1987102508:59:59','1987102501:59:59' ],
+        [ [1987,10,25,9,0,0],[1987,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1988,4,3,9,59,59],[1988,4,3,1,59,59],
+          '1987102509:00:00','1987102501:00:00','1988040309:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,10,0,0],[1988,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1988,10,30,8,59,59],[1988,10,30,1,59,59],
+          '1988040310:00:00','1988040303:00:00','1988103008:59:59','1988103001:59:59' ],
+        [ [1988,10,30,9,0,0],[1988,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1989,4,2,9,59,59],[1989,4,2,1,59,59],
+          '1988103009:00:00','1988103001:00:00','1989040209:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,10,0,0],[1989,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1989,10,29,8,59,59],[1989,10,29,1,59,59],
+          '1989040210:00:00','1989040203:00:00','1989102908:59:59','1989102901:59:59' ],
+        [ [1989,10,29,9,0,0],[1989,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1990,4,1,9,59,59],[1990,4,1,1,59,59],
+          '1989102909:00:00','1989102901:00:00','1990040109:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,10,0,0],[1990,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1990,10,28,8,59,59],[1990,10,28,1,59,59],
+          '1990040110:00:00','1990040103:00:00','1990102808:59:59','1990102801:59:59' ],
+        [ [1990,10,28,9,0,0],[1990,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1991,4,7,9,59,59],[1991,4,7,1,59,59],
+          '1990102809:00:00','1990102801:00:00','1991040709:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,10,0,0],[1991,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1991,10,27,8,59,59],[1991,10,27,1,59,59],
+          '1991040710:00:00','1991040703:00:00','1991102708:59:59','1991102701:59:59' ],
+        [ [1991,10,27,9,0,0],[1991,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1992,4,5,9,59,59],[1992,4,5,1,59,59],
+          '1991102709:00:00','1991102701:00:00','1992040509:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,10,0,0],[1992,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1992,10,25,8,59,59],[1992,10,25,1,59,59],
+          '1992040510:00:00','1992040503:00:00','1992102508:59:59','1992102501:59:59' ],
+        [ [1992,10,25,9,0,0],[1992,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1993,4,4,9,59,59],[1993,4,4,1,59,59],
+          '1992102509:00:00','1992102501:00:00','1993040409:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,10,0,0],[1993,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1993,10,31,8,59,59],[1993,10,31,1,59,59],
+          '1993040410:00:00','1993040403:00:00','1993103108:59:59','1993103101:59:59' ],
+        [ [1993,10,31,9,0,0],[1993,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1994,4,3,9,59,59],[1994,4,3,1,59,59],
+          '1993103109:00:00','1993103101:00:00','1994040309:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,10,0,0],[1994,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1994,10,30,8,59,59],[1994,10,30,1,59,59],
+          '1994040310:00:00','1994040303:00:00','1994103008:59:59','1994103001:59:59' ],
+        [ [1994,10,30,9,0,0],[1994,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1995,4,2,9,59,59],[1995,4,2,1,59,59],
+          '1994103009:00:00','1994103001:00:00','1995040209:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,10,0,0],[1995,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1995,10,29,8,59,59],[1995,10,29,1,59,59],
+          '1995040210:00:00','1995040203:00:00','1995102908:59:59','1995102901:59:59' ],
+        [ [1995,10,29,9,0,0],[1995,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1996,4,7,9,59,59],[1996,4,7,1,59,59],
+          '1995102909:00:00','1995102901:00:00','1996040709:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,10,0,0],[1996,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1996,10,27,8,59,59],[1996,10,27,1,59,59],
+          '1996040710:00:00','1996040703:00:00','1996102708:59:59','1996102701:59:59' ],
+        [ [1996,10,27,9,0,0],[1996,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1997,4,6,9,59,59],[1997,4,6,1,59,59],
+          '1996102709:00:00','1996102701:00:00','1997040609:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,10,0,0],[1997,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1997,10,26,8,59,59],[1997,10,26,1,59,59],
+          '1997040610:00:00','1997040603:00:00','1997102608:59:59','1997102601:59:59' ],
+        [ [1997,10,26,9,0,0],[1997,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1998,4,5,9,59,59],[1998,4,5,1,59,59],
+          '1997102609:00:00','1997102601:00:00','1998040509:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,10,0,0],[1998,4,5,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1998,10,25,8,59,59],[1998,10,25,1,59,59],
+          '1998040510:00:00','1998040503:00:00','1998102508:59:59','1998102501:59:59' ],
+        [ [1998,10,25,9,0,0],[1998,10,25,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[1999,4,4,9,59,59],[1999,4,4,1,59,59],
+          '1998102509:00:00','1998102501:00:00','1999040409:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,10,0,0],[1999,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[1999,10,31,8,59,59],[1999,10,31,1,59,59],
+          '1999040410:00:00','1999040403:00:00','1999103108:59:59','1999103101:59:59' ],
+        [ [1999,10,31,9,0,0],[1999,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2000,4,2,9,59,59],[2000,4,2,1,59,59],
+          '1999103109:00:00','1999103101:00:00','2000040209:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,10,0,0],[2000,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2000,10,29,8,59,59],[2000,10,29,1,59,59],
+          '2000040210:00:00','2000040203:00:00','2000102908:59:59','2000102901:59:59' ],
+        [ [2000,10,29,9,0,0],[2000,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2001,4,1,9,59,59],[2001,4,1,1,59,59],
+          '2000102909:00:00','2000102901:00:00','2001040109:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,10,0,0],[2001,4,1,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2001,10,28,8,59,59],[2001,10,28,1,59,59],
+          '2001040110:00:00','2001040103:00:00','2001102808:59:59','2001102801:59:59' ],
+        [ [2001,10,28,9,0,0],[2001,10,28,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2002,4,7,9,59,59],[2002,4,7,1,59,59],
+          '2001102809:00:00','2001102801:00:00','2002040709:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,10,0,0],[2002,4,7,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2002,10,27,8,59,59],[2002,10,27,1,59,59],
+          '2002040710:00:00','2002040703:00:00','2002102708:59:59','2002102701:59:59' ],
+        [ [2002,10,27,9,0,0],[2002,10,27,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2003,4,6,9,59,59],[2003,4,6,1,59,59],
+          '2002102709:00:00','2002102701:00:00','2003040609:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,10,0,0],[2003,4,6,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2003,10,26,8,59,59],[2003,10,26,1,59,59],
+          '2003040610:00:00','2003040603:00:00','2003102608:59:59','2003102601:59:59' ],
+        [ [2003,10,26,9,0,0],[2003,10,26,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2004,4,4,9,59,59],[2004,4,4,1,59,59],
+          '2003102609:00:00','2003102601:00:00','2004040409:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,10,0,0],[2004,4,4,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2004,10,31,8,59,59],[2004,10,31,1,59,59],
+          '2004040410:00:00','2004040403:00:00','2004103108:59:59','2004103101:59:59' ],
+        [ [2004,10,31,9,0,0],[2004,10,31,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2005,4,3,9,59,59],[2005,4,3,1,59,59],
+          '2004103109:00:00','2004103101:00:00','2005040309:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,10,0,0],[2005,4,3,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2005,10,30,8,59,59],[2005,10,30,1,59,59],
+          '2005040310:00:00','2005040303:00:00','2005103008:59:59','2005103001:59:59' ],
+        [ [2005,10,30,9,0,0],[2005,10,30,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2006,4,2,9,59,59],[2006,4,2,1,59,59],
+          '2005103009:00:00','2005103001:00:00','2006040209:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,10,0,0],[2006,4,2,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2006,10,29,8,59,59],[2006,10,29,1,59,59],
+          '2006040210:00:00','2006040203:00:00','2006102908:59:59','2006102901:59:59' ],
+        [ [2006,10,29,9,0,0],[2006,10,29,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2007,3,11,9,59,59],[2007,3,11,1,59,59],
+          '2006102909:00:00','2006102901:00:00','2007031109:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,10,0,0],[2007,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2007,11,4,8,59,59],[2007,11,4,1,59,59],
+          '2007031110:00:00','2007031103:00:00','2007110408:59:59','2007110401:59:59' ],
+        [ [2007,11,4,9,0,0],[2007,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2008,3,9,9,59,59],[2008,3,9,1,59,59],
+          '2007110409:00:00','2007110401:00:00','2008030909:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,10,0,0],[2008,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2008,11,2,8,59,59],[2008,11,2,1,59,59],
+          '2008030910:00:00','2008030903:00:00','2008110208:59:59','2008110201:59:59' ],
+        [ [2008,11,2,9,0,0],[2008,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2009,3,8,9,59,59],[2009,3,8,1,59,59],
+          '2008110209:00:00','2008110201:00:00','2009030809:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,10,0,0],[2009,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2009,11,1,8,59,59],[2009,11,1,1,59,59],
+          '2009030810:00:00','2009030803:00:00','2009110108:59:59','2009110101:59:59' ],
+        [ [2009,11,1,9,0,0],[2009,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2010,3,14,9,59,59],[2010,3,14,1,59,59],
+          '2009110109:00:00','2009110101:00:00','2010031409:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,10,0,0],[2010,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2010,11,7,8,59,59],[2010,11,7,1,59,59],
+          '2010031410:00:00','2010031403:00:00','2010110708:59:59','2010110701:59:59' ],
+        [ [2010,11,7,9,0,0],[2010,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2011,3,13,9,59,59],[2011,3,13,1,59,59],
+          '2010110709:00:00','2010110701:00:00','2011031309:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,10,0,0],[2011,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2011,11,6,8,59,59],[2011,11,6,1,59,59],
+          '2011031310:00:00','2011031303:00:00','2011110608:59:59','2011110601:59:59' ],
+        [ [2011,11,6,9,0,0],[2011,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2012,3,11,9,59,59],[2012,3,11,1,59,59],
+          '2011110609:00:00','2011110601:00:00','2012031109:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,10,0,0],[2012,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2012,11,4,8,59,59],[2012,11,4,1,59,59],
+          '2012031110:00:00','2012031103:00:00','2012110408:59:59','2012110401:59:59' ],
+        [ [2012,11,4,9,0,0],[2012,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2013,3,10,9,59,59],[2013,3,10,1,59,59],
+          '2012110409:00:00','2012110401:00:00','2013031009:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,10,0,0],[2013,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2013,11,3,8,59,59],[2013,11,3,1,59,59],
+          '2013031010:00:00','2013031003:00:00','2013110308:59:59','2013110301:59:59' ],
+        [ [2013,11,3,9,0,0],[2013,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2014,3,9,9,59,59],[2014,3,9,1,59,59],
+          '2013110309:00:00','2013110301:00:00','2014030909:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,10,0,0],[2014,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2014,11,2,8,59,59],[2014,11,2,1,59,59],
+          '2014030910:00:00','2014030903:00:00','2014110208:59:59','2014110201:59:59' ],
+        [ [2014,11,2,9,0,0],[2014,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2015,3,8,9,59,59],[2015,3,8,1,59,59],
+          '2014110209:00:00','2014110201:00:00','2015030809:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,10,0,0],[2015,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2015,11,1,8,59,59],[2015,11,1,1,59,59],
+          '2015030810:00:00','2015030803:00:00','2015110108:59:59','2015110101:59:59' ],
+        [ [2015,11,1,9,0,0],[2015,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2016,3,13,9,59,59],[2016,3,13,1,59,59],
+          '2015110109:00:00','2015110101:00:00','2016031309:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,10,0,0],[2016,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2016,11,6,8,59,59],[2016,11,6,1,59,59],
+          '2016031310:00:00','2016031303:00:00','2016110608:59:59','2016110601:59:59' ],
+        [ [2016,11,6,9,0,0],[2016,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2017,3,12,9,59,59],[2017,3,12,1,59,59],
+          '2016110609:00:00','2016110601:00:00','2017031209:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,10,0,0],[2017,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2017,11,5,8,59,59],[2017,11,5,1,59,59],
+          '2017031210:00:00','2017031203:00:00','2017110508:59:59','2017110501:59:59' ],
+        [ [2017,11,5,9,0,0],[2017,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2018,3,11,9,59,59],[2018,3,11,1,59,59],
+          '2017110509:00:00','2017110501:00:00','2018031109:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,10,0,0],[2018,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2018,11,4,8,59,59],[2018,11,4,1,59,59],
+          '2018031110:00:00','2018031103:00:00','2018110408:59:59','2018110401:59:59' ],
+        [ [2018,11,4,9,0,0],[2018,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2019,3,10,9,59,59],[2019,3,10,1,59,59],
+          '2018110409:00:00','2018110401:00:00','2019031009:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,10,0,0],[2019,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2019,11,3,8,59,59],[2019,11,3,1,59,59],
+          '2019031010:00:00','2019031003:00:00','2019110308:59:59','2019110301:59:59' ],
+        [ [2019,11,3,9,0,0],[2019,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2020,3,8,9,59,59],[2020,3,8,1,59,59],
+          '2019110309:00:00','2019110301:00:00','2020030809:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,10,0,0],[2020,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2020,11,1,8,59,59],[2020,11,1,1,59,59],
+          '2020030810:00:00','2020030803:00:00','2020110108:59:59','2020110101:59:59' ],
+        [ [2020,11,1,9,0,0],[2020,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2021,3,14,9,59,59],[2021,3,14,1,59,59],
+          '2020110109:00:00','2020110101:00:00','2021031409:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,10,0,0],[2021,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2021,11,7,8,59,59],[2021,11,7,1,59,59],
+          '2021031410:00:00','2021031403:00:00','2021110708:59:59','2021110701:59:59' ],
+        [ [2021,11,7,9,0,0],[2021,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2022,3,13,9,59,59],[2022,3,13,1,59,59],
+          '2021110709:00:00','2021110701:00:00','2022031309:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,10,0,0],[2022,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2022,11,6,8,59,59],[2022,11,6,1,59,59],
+          '2022031310:00:00','2022031303:00:00','2022110608:59:59','2022110601:59:59' ],
+        [ [2022,11,6,9,0,0],[2022,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2023,3,12,9,59,59],[2023,3,12,1,59,59],
+          '2022110609:00:00','2022110601:00:00','2023031209:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,10,0,0],[2023,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2023,11,5,8,59,59],[2023,11,5,1,59,59],
+          '2023031210:00:00','2023031203:00:00','2023110508:59:59','2023110501:59:59' ],
+        [ [2023,11,5,9,0,0],[2023,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2024,3,10,9,59,59],[2024,3,10,1,59,59],
+          '2023110509:00:00','2023110501:00:00','2024031009:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,10,0,0],[2024,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2024,11,3,8,59,59],[2024,11,3,1,59,59],
+          '2024031010:00:00','2024031003:00:00','2024110308:59:59','2024110301:59:59' ],
+        [ [2024,11,3,9,0,0],[2024,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2025,3,9,9,59,59],[2025,3,9,1,59,59],
+          '2024110309:00:00','2024110301:00:00','2025030909:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,10,0,0],[2025,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2025,11,2,8,59,59],[2025,11,2,1,59,59],
+          '2025030910:00:00','2025030903:00:00','2025110208:59:59','2025110201:59:59' ],
+        [ [2025,11,2,9,0,0],[2025,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2026,3,8,9,59,59],[2026,3,8,1,59,59],
+          '2025110209:00:00','2025110201:00:00','2026030809:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,10,0,0],[2026,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2026,11,1,8,59,59],[2026,11,1,1,59,59],
+          '2026030810:00:00','2026030803:00:00','2026110108:59:59','2026110101:59:59' ],
+        [ [2026,11,1,9,0,0],[2026,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2027,3,14,9,59,59],[2027,3,14,1,59,59],
+          '2026110109:00:00','2026110101:00:00','2027031409:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,10,0,0],[2027,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2027,11,7,8,59,59],[2027,11,7,1,59,59],
+          '2027031410:00:00','2027031403:00:00','2027110708:59:59','2027110701:59:59' ],
+        [ [2027,11,7,9,0,0],[2027,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2028,3,12,9,59,59],[2028,3,12,1,59,59],
+          '2027110709:00:00','2027110701:00:00','2028031209:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,10,0,0],[2028,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2028,11,5,8,59,59],[2028,11,5,1,59,59],
+          '2028031210:00:00','2028031203:00:00','2028110508:59:59','2028110501:59:59' ],
+        [ [2028,11,5,9,0,0],[2028,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2029,3,11,9,59,59],[2029,3,11,1,59,59],
+          '2028110509:00:00','2028110501:00:00','2029031109:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,10,0,0],[2029,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2029,11,4,8,59,59],[2029,11,4,1,59,59],
+          '2029031110:00:00','2029031103:00:00','2029110408:59:59','2029110401:59:59' ],
+        [ [2029,11,4,9,0,0],[2029,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2030,3,10,9,59,59],[2030,3,10,1,59,59],
+          '2029110409:00:00','2029110401:00:00','2030031009:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,10,0,0],[2030,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2030,11,3,8,59,59],[2030,11,3,1,59,59],
+          '2030031010:00:00','2030031003:00:00','2030110308:59:59','2030110301:59:59' ],
+        [ [2030,11,3,9,0,0],[2030,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2031,3,9,9,59,59],[2031,3,9,1,59,59],
+          '2030110309:00:00','2030110301:00:00','2031030909:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,10,0,0],[2031,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2031,11,2,8,59,59],[2031,11,2,1,59,59],
+          '2031030910:00:00','2031030903:00:00','2031110208:59:59','2031110201:59:59' ],
+        [ [2031,11,2,9,0,0],[2031,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2032,3,14,9,59,59],[2032,3,14,1,59,59],
+          '2031110209:00:00','2031110201:00:00','2032031409:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,10,0,0],[2032,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2032,11,7,8,59,59],[2032,11,7,1,59,59],
+          '2032031410:00:00','2032031403:00:00','2032110708:59:59','2032110701:59:59' ],
+        [ [2032,11,7,9,0,0],[2032,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2033,3,13,9,59,59],[2033,3,13,1,59,59],
+          '2032110709:00:00','2032110701:00:00','2033031309:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,10,0,0],[2033,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2033,11,6,8,59,59],[2033,11,6,1,59,59],
+          '2033031310:00:00','2033031303:00:00','2033110608:59:59','2033110601:59:59' ],
+        [ [2033,11,6,9,0,0],[2033,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2034,3,12,9,59,59],[2034,3,12,1,59,59],
+          '2033110609:00:00','2033110601:00:00','2034031209:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,10,0,0],[2034,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2034,11,5,8,59,59],[2034,11,5,1,59,59],
+          '2034031210:00:00','2034031203:00:00','2034110508:59:59','2034110501:59:59' ],
+        [ [2034,11,5,9,0,0],[2034,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2035,3,11,9,59,59],[2035,3,11,1,59,59],
+          '2034110509:00:00','2034110501:00:00','2035031109:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,10,0,0],[2035,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2035,11,4,8,59,59],[2035,11,4,1,59,59],
+          '2035031110:00:00','2035031103:00:00','2035110408:59:59','2035110401:59:59' ],
+        [ [2035,11,4,9,0,0],[2035,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2036,3,9,9,59,59],[2036,3,9,1,59,59],
+          '2035110409:00:00','2035110401:00:00','2036030909:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,10,0,0],[2036,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2036,11,2,8,59,59],[2036,11,2,1,59,59],
+          '2036030910:00:00','2036030903:00:00','2036110208:59:59','2036110201:59:59' ],
+        [ [2036,11,2,9,0,0],[2036,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2037,3,8,9,59,59],[2037,3,8,1,59,59],
+          '2036110209:00:00','2036110201:00:00','2037030809:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,10,0,0],[2037,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2037,11,1,8,59,59],[2037,11,1,1,59,59],
+          '2037030810:00:00','2037030803:00:00','2037110108:59:59','2037110101:59:59' ],
+        [ [2037,11,1,9,0,0],[2037,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2038,3,14,9,59,59],[2038,3,14,1,59,59],
+          '2037110109:00:00','2037110101:00:00','2038031409:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,10,0,0],[2038,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2038,11,7,8,59,59],[2038,11,7,1,59,59],
+          '2038031410:00:00','2038031403:00:00','2038110708:59:59','2038110701:59:59' ],
+        [ [2038,11,7,9,0,0],[2038,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2039,3,13,9,59,59],[2039,3,13,1,59,59],
+          '2038110709:00:00','2038110701:00:00','2039031309:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,10,0,0],[2039,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2039,11,6,8,59,59],[2039,11,6,1,59,59],
+          '2039031310:00:00','2039031303:00:00','2039110608:59:59','2039110601:59:59' ],
+        [ [2039,11,6,9,0,0],[2039,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2040,3,11,9,59,59],[2040,3,11,1,59,59],
+          '2039110609:00:00','2039110601:00:00','2040031109:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,10,0,0],[2040,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2040,11,4,8,59,59],[2040,11,4,1,59,59],
+          '2040031110:00:00','2040031103:00:00','2040110408:59:59','2040110401:59:59' ],
+        [ [2040,11,4,9,0,0],[2040,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2041,3,10,9,59,59],[2041,3,10,1,59,59],
+          '2040110409:00:00','2040110401:00:00','2041031009:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,10,0,0],[2041,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2041,11,3,8,59,59],[2041,11,3,1,59,59],
+          '2041031010:00:00','2041031003:00:00','2041110308:59:59','2041110301:59:59' ],
+        [ [2041,11,3,9,0,0],[2041,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2042,3,9,9,59,59],[2042,3,9,1,59,59],
+          '2041110309:00:00','2041110301:00:00','2042030909:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,10,0,0],[2042,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2042,11,2,8,59,59],[2042,11,2,1,59,59],
+          '2042030910:00:00','2042030903:00:00','2042110208:59:59','2042110201:59:59' ],
+        [ [2042,11,2,9,0,0],[2042,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2043,3,8,9,59,59],[2043,3,8,1,59,59],
+          '2042110209:00:00','2042110201:00:00','2043030809:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,10,0,0],[2043,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2043,11,1,8,59,59],[2043,11,1,1,59,59],
+          '2043030810:00:00','2043030803:00:00','2043110108:59:59','2043110101:59:59' ],
+        [ [2043,11,1,9,0,0],[2043,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2044,3,13,9,59,59],[2044,3,13,1,59,59],
+          '2043110109:00:00','2043110101:00:00','2044031309:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,10,0,0],[2044,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2044,11,6,8,59,59],[2044,11,6,1,59,59],
+          '2044031310:00:00','2044031303:00:00','2044110608:59:59','2044110601:59:59' ],
+        [ [2044,11,6,9,0,0],[2044,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2045,3,12,9,59,59],[2045,3,12,1,59,59],
+          '2044110609:00:00','2044110601:00:00','2045031209:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,10,0,0],[2045,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2045,11,5,8,59,59],[2045,11,5,1,59,59],
+          '2045031210:00:00','2045031203:00:00','2045110508:59:59','2045110501:59:59' ],
+        [ [2045,11,5,9,0,0],[2045,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2046,3,11,9,59,59],[2046,3,11,1,59,59],
+          '2045110509:00:00','2045110501:00:00','2046031109:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,10,0,0],[2046,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2046,11,4,8,59,59],[2046,11,4,1,59,59],
+          '2046031110:00:00','2046031103:00:00','2046110408:59:59','2046110401:59:59' ],
+        [ [2046,11,4,9,0,0],[2046,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2047,3,10,9,59,59],[2047,3,10,1,59,59],
+          '2046110409:00:00','2046110401:00:00','2047031009:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,10,0,0],[2047,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2047,11,3,8,59,59],[2047,11,3,1,59,59],
+          '2047031010:00:00','2047031003:00:00','2047110308:59:59','2047110301:59:59' ],
+        [ [2047,11,3,9,0,0],[2047,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2048,3,8,9,59,59],[2048,3,8,1,59,59],
+          '2047110309:00:00','2047110301:00:00','2048030809:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,10,0,0],[2048,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2048,11,1,8,59,59],[2048,11,1,1,59,59],
+          '2048030810:00:00','2048030803:00:00','2048110108:59:59','2048110101:59:59' ],
+        [ [2048,11,1,9,0,0],[2048,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2049,3,14,9,59,59],[2049,3,14,1,59,59],
+          '2048110109:00:00','2048110101:00:00','2049031409:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,10,0,0],[2049,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2049,11,7,8,59,59],[2049,11,7,1,59,59],
+          '2049031410:00:00','2049031403:00:00','2049110708:59:59','2049110701:59:59' ],
+        [ [2049,11,7,9,0,0],[2049,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2050,3,13,9,59,59],[2050,3,13,1,59,59],
+          '2049110709:00:00','2049110701:00:00','2050031309:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,10,0,0],[2050,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2050,11,6,8,59,59],[2050,11,6,1,59,59],
+          '2050031310:00:00','2050031303:00:00','2050110608:59:59','2050110601:59:59' ],
+        [ [2050,11,6,9,0,0],[2050,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2051,3,12,9,59,59],[2051,3,12,1,59,59],
+          '2050110609:00:00','2050110601:00:00','2051031209:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,10,0,0],[2051,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2051,11,5,8,59,59],[2051,11,5,1,59,59],
+          '2051031210:00:00','2051031203:00:00','2051110508:59:59','2051110501:59:59' ],
+        [ [2051,11,5,9,0,0],[2051,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2052,3,10,9,59,59],[2052,3,10,1,59,59],
+          '2051110509:00:00','2051110501:00:00','2052031009:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,10,0,0],[2052,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2052,11,3,8,59,59],[2052,11,3,1,59,59],
+          '2052031010:00:00','2052031003:00:00','2052110308:59:59','2052110301:59:59' ],
+        [ [2052,11,3,9,0,0],[2052,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2053,3,9,9,59,59],[2053,3,9,1,59,59],
+          '2052110309:00:00','2052110301:00:00','2053030909:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,10,0,0],[2053,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2053,11,2,8,59,59],[2053,11,2,1,59,59],
+          '2053030910:00:00','2053030903:00:00','2053110208:59:59','2053110201:59:59' ],
+        [ [2053,11,2,9,0,0],[2053,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2054,3,8,9,59,59],[2054,3,8,1,59,59],
+          '2053110209:00:00','2053110201:00:00','2054030809:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,10,0,0],[2054,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2054,11,1,8,59,59],[2054,11,1,1,59,59],
+          '2054030810:00:00','2054030803:00:00','2054110108:59:59','2054110101:59:59' ],
+        [ [2054,11,1,9,0,0],[2054,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2055,3,14,9,59,59],[2055,3,14,1,59,59],
+          '2054110109:00:00','2054110101:00:00','2055031409:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,10,0,0],[2055,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2055,11,7,8,59,59],[2055,11,7,1,59,59],
+          '2055031410:00:00','2055031403:00:00','2055110708:59:59','2055110701:59:59' ],
+        [ [2055,11,7,9,0,0],[2055,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2056,3,12,9,59,59],[2056,3,12,1,59,59],
+          '2055110709:00:00','2055110701:00:00','2056031209:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,10,0,0],[2056,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2056,11,5,8,59,59],[2056,11,5,1,59,59],
+          '2056031210:00:00','2056031203:00:00','2056110508:59:59','2056110501:59:59' ],
+        [ [2056,11,5,9,0,0],[2056,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2057,3,11,9,59,59],[2057,3,11,1,59,59],
+          '2056110509:00:00','2056110501:00:00','2057031109:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,10,0,0],[2057,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2057,11,4,8,59,59],[2057,11,4,1,59,59],
+          '2057031110:00:00','2057031103:00:00','2057110408:59:59','2057110401:59:59' ],
+        [ [2057,11,4,9,0,0],[2057,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2058,3,10,9,59,59],[2058,3,10,1,59,59],
+          '2057110409:00:00','2057110401:00:00','2058031009:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,10,0,0],[2058,3,10,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2058,11,3,8,59,59],[2058,11,3,1,59,59],
+          '2058031010:00:00','2058031003:00:00','2058110308:59:59','2058110301:59:59' ],
+        [ [2058,11,3,9,0,0],[2058,11,3,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2059,3,9,9,59,59],[2059,3,9,1,59,59],
+          '2058110309:00:00','2058110301:00:00','2059030909:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,10,0,0],[2059,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2059,11,2,8,59,59],[2059,11,2,1,59,59],
+          '2059030910:00:00','2059030903:00:00','2059110208:59:59','2059110201:59:59' ],
+        [ [2059,11,2,9,0,0],[2059,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2060,3,14,9,59,59],[2060,3,14,1,59,59],
+          '2059110209:00:00','2059110201:00:00','2060031409:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,10,0,0],[2060,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2060,11,7,8,59,59],[2060,11,7,1,59,59],
+          '2060031410:00:00','2060031403:00:00','2060110708:59:59','2060110701:59:59' ],
+        [ [2060,11,7,9,0,0],[2060,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2061,3,13,9,59,59],[2061,3,13,1,59,59],
+          '2060110709:00:00','2060110701:00:00','2061031309:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,10,0,0],[2061,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2061,11,6,8,59,59],[2061,11,6,1,59,59],
+          '2061031310:00:00','2061031303:00:00','2061110608:59:59','2061110601:59:59' ],
+        [ [2061,11,6,9,0,0],[2061,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2062,3,12,9,59,59],[2062,3,12,1,59,59],
+          '2061110609:00:00','2061110601:00:00','2062031209:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,10,0,0],[2062,3,12,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2062,11,5,8,59,59],[2062,11,5,1,59,59],
+          '2062031210:00:00','2062031203:00:00','2062110508:59:59','2062110501:59:59' ],
+        [ [2062,11,5,9,0,0],[2062,11,5,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2063,3,11,9,59,59],[2063,3,11,1,59,59],
+          '2062110509:00:00','2062110501:00:00','2063031109:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,10,0,0],[2063,3,11,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2063,11,4,8,59,59],[2063,11,4,1,59,59],
+          '2063031110:00:00','2063031103:00:00','2063110408:59:59','2063110401:59:59' ],
+        [ [2063,11,4,9,0,0],[2063,11,4,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2064,3,9,9,59,59],[2064,3,9,1,59,59],
+          '2063110409:00:00','2063110401:00:00','2064030909:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,10,0,0],[2064,3,9,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2064,11,2,8,59,59],[2064,11,2,1,59,59],
+          '2064030910:00:00','2064030903:00:00','2064110208:59:59','2064110201:59:59' ],
+        [ [2064,11,2,9,0,0],[2064,11,2,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2065,3,8,9,59,59],[2065,3,8,1,59,59],
+          '2064110209:00:00','2064110201:00:00','2065030809:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,10,0,0],[2065,3,8,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2065,11,1,8,59,59],[2065,11,1,1,59,59],
+          '2065030810:00:00','2065030803:00:00','2065110108:59:59','2065110101:59:59' ],
+        [ [2065,11,1,9,0,0],[2065,11,1,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2066,3,14,9,59,59],[2066,3,14,1,59,59],
+          '2065110109:00:00','2065110101:00:00','2066031409:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,10,0,0],[2066,3,14,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2066,11,7,8,59,59],[2066,11,7,1,59,59],
+          '2066031410:00:00','2066031403:00:00','2066110708:59:59','2066110701:59:59' ],
+        [ [2066,11,7,9,0,0],[2066,11,7,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2067,3,13,9,59,59],[2067,3,13,1,59,59],
+          '2066110709:00:00','2066110701:00:00','2067031309:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,10,0,0],[2067,3,13,3,0,0],'-07:00:00',[-7,0,0],
+          'PDT',1,[2067,11,6,8,59,59],[2067,11,6,1,59,59],
+          '2067031310:00:00','2067031303:00:00','2067110608:59:59','2067110601:59:59' ],
+        [ [2067,11,6,9,0,0],[2067,11,6,1,0,0],'-08:00:00',[-8,0,0],
+          'PST',0,[2068,3,11,9,59,59],[2068,3,11,1,59,59],
+          '2067110609:00:00','2067110601:00:00','2068031109:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-07:00:00',
+                'stdoff' => '-08:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'PDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'PST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amwina00.pm b/lib/Date/Manip/TZ/amwina00.pm
new file mode 100644
index 0000000..3049c9c
--- /dev/null
+++ b/lib/Date/Manip/TZ/amwina00.pm
@@ -0,0 +1,823 @@
+package #
+Date::Manip::TZ::amwina00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,13,35],'-05:46:25',[-5,-46,-25],
+          'LMT',0,[1883,11,18,17,59,59],[1883,11,18,12,13,34],
+          '0001010200:00:00','0001010118:13:35','1883111817:59:59','1883111812:13:34' ],
+     ],
+   1883 =>
+     [
+        [ [1883,11,18,18,0,0],[1883,11,18,12,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,3,31,7,59,59],[1918,3,31,1,59,59],
+          '1883111818:00:00','1883111812:00:00','1918033107:59:59','1918033101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,31,8,0,0],[1918,3,31,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918033108:00:00','1918033103:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1919,3,30,7,59,59],[1919,3,30,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1919033007:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,8,0,0],[1919,3,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1919,10,26,6,59,59],[1919,10,26,1,59,59],
+          '1919033008:00:00','1919033003:00:00','1919102606:59:59','1919102601:59:59' ],
+        [ [1919,10,26,7,0,0],[1919,10,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1919102607:00:00','1919102601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,4,28,7,59,59],[1946,4,28,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946042807:59:59','1946042801:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,28,8,0,0],[1946,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,9,29,6,59,59],[1946,9,29,1,59,59],
+          '1946042808:00:00','1946042803:00:00','1946092906:59:59','1946092901:59:59' ],
+        [ [1946,9,29,7,0,0],[1946,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1946092907:00:00','1946092901:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1947,9,28,6,59,59],[1947,9,28,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1947092806:59:59','1947092801:59:59' ],
+        [ [1947,9,28,7,0,0],[1947,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1948,4,25,7,59,59],[1948,4,25,1,59,59],
+          '1947092807:00:00','1947092801:00:00','1948042507:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,8,0,0],[1948,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1948,9,26,6,59,59],[1948,9,26,1,59,59],
+          '1948042508:00:00','1948042503:00:00','1948092606:59:59','1948092601:59:59' ],
+        [ [1948,9,26,7,0,0],[1948,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1949,4,24,7,59,59],[1949,4,24,1,59,59],
+          '1948092607:00:00','1948092601:00:00','1949042407:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,8,0,0],[1949,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1949,9,25,6,59,59],[1949,9,25,1,59,59],
+          '1949042408:00:00','1949042403:00:00','1949092506:59:59','1949092501:59:59' ],
+        [ [1949,9,25,7,0,0],[1949,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,4,30,7,59,59],[1950,4,30,1,59,59],
+          '1949092507:00:00','1949092501:00:00','1950043007:59:59','1950043001:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,8,0,0],[1950,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,24,6,59,59],[1950,9,24,1,59,59],
+          '1950043008:00:00','1950043003:00:00','1950092406:59:59','1950092401:59:59' ],
+        [ [1950,9,24,7,0,0],[1950,9,24,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950092407:00:00','1950092401:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,10,30,6,59,59],[1955,10,30,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955103006:59:59','1955103001:59:59' ],
+        [ [1955,10,30,7,0,0],[1955,10,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955103007:00:00','1955103001:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,10,28,6,59,59],[1956,10,28,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956102806:59:59','1956102801:59:59' ],
+        [ [1956,10,28,7,0,0],[1956,10,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956102807:00:00','1956102801:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,9,27,6,59,59],[1959,9,27,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959092706:59:59','1959092701:59:59' ],
+        [ [1959,9,27,7,0,0],[1959,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959092707:00:00','1959092701:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,9,25,6,59,59],[1960,9,25,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960092506:59:59','1960092501:59:59' ],
+        [ [1960,9,25,7,0,0],[1960,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1961,4,30,7,59,59],[1961,4,30,1,59,59],
+          '1960092507:00:00','1960092501:00:00','1961043007:59:59','1961043001:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,8,0,0],[1961,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1969,4,27,6,59,59],[1969,4,27,1,59,59],
+          '1961043008:00:00','1961043003:00:00','1969042706:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,7,0,0],[1969,4,27,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1969,10,26,5,59,59],[1969,10,26,1,59,59],
+          '1969042707:00:00','1969042703:00:00','1969102605:59:59','1969102601:59:59' ],
+        [ [1969,10,26,6,0,0],[1969,10,26,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[1970,4,26,6,59,59],[1970,4,26,1,59,59],
+          '1969102606:00:00','1969102601:00:00','1970042606:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,7,0,0],[1970,4,26,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[1970,10,25,5,59,59],[1970,10,25,1,59,59],
+          '1970042607:00:00','1970042603:00:00','1970102505:59:59','1970102501:59:59' ],
+        [ [1970,10,25,6,0,0],[1970,10,25,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2006,4,2,6,59,59],[2006,4,2,1,59,59],
+          '1970102506:00:00','1970102501:00:00','2006040206:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,7,0,0],[2006,4,2,2,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040207:00:00','2006040202:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,4,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2007,11,4,5,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031104:00:00','2007110405:59:59','2007110401:59:59' ],
+        [ [2007,11,4,6,0,0],[2007,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2008,3,9,6,59,59],[2008,3,9,1,59,59],
+          '2007110406:00:00','2007110401:00:00','2008030906:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,7,0,0],[2008,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2008,11,2,5,59,59],[2008,11,2,1,59,59],
+          '2008030907:00:00','2008030903:00:00','2008110205:59:59','2008110201:59:59' ],
+        [ [2008,11,2,6,0,0],[2008,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2009,3,8,6,59,59],[2009,3,8,1,59,59],
+          '2008110206:00:00','2008110201:00:00','2009030806:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,7,0,0],[2009,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2009,11,1,5,59,59],[2009,11,1,1,59,59],
+          '2009030807:00:00','2009030803:00:00','2009110105:59:59','2009110101:59:59' ],
+        [ [2009,11,1,6,0,0],[2009,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2010,3,14,6,59,59],[2010,3,14,1,59,59],
+          '2009110106:00:00','2009110101:00:00','2010031406:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,7,0,0],[2010,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2010,11,7,5,59,59],[2010,11,7,1,59,59],
+          '2010031407:00:00','2010031403:00:00','2010110705:59:59','2010110701:59:59' ],
+        [ [2010,11,7,6,0,0],[2010,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2011,3,13,6,59,59],[2011,3,13,1,59,59],
+          '2010110706:00:00','2010110701:00:00','2011031306:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,7,0,0],[2011,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2011,11,6,5,59,59],[2011,11,6,1,59,59],
+          '2011031307:00:00','2011031303:00:00','2011110605:59:59','2011110601:59:59' ],
+        [ [2011,11,6,6,0,0],[2011,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2012,3,11,6,59,59],[2012,3,11,1,59,59],
+          '2011110606:00:00','2011110601:00:00','2012031106:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,7,0,0],[2012,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2012,11,4,5,59,59],[2012,11,4,1,59,59],
+          '2012031107:00:00','2012031103:00:00','2012110405:59:59','2012110401:59:59' ],
+        [ [2012,11,4,6,0,0],[2012,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2013,3,10,6,59,59],[2013,3,10,1,59,59],
+          '2012110406:00:00','2012110401:00:00','2013031006:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,7,0,0],[2013,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2013,11,3,5,59,59],[2013,11,3,1,59,59],
+          '2013031007:00:00','2013031003:00:00','2013110305:59:59','2013110301:59:59' ],
+        [ [2013,11,3,6,0,0],[2013,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2014,3,9,6,59,59],[2014,3,9,1,59,59],
+          '2013110306:00:00','2013110301:00:00','2014030906:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,7,0,0],[2014,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2014,11,2,5,59,59],[2014,11,2,1,59,59],
+          '2014030907:00:00','2014030903:00:00','2014110205:59:59','2014110201:59:59' ],
+        [ [2014,11,2,6,0,0],[2014,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2015,3,8,6,59,59],[2015,3,8,1,59,59],
+          '2014110206:00:00','2014110201:00:00','2015030806:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,7,0,0],[2015,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2015,11,1,5,59,59],[2015,11,1,1,59,59],
+          '2015030807:00:00','2015030803:00:00','2015110105:59:59','2015110101:59:59' ],
+        [ [2015,11,1,6,0,0],[2015,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2016,3,13,6,59,59],[2016,3,13,1,59,59],
+          '2015110106:00:00','2015110101:00:00','2016031306:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,7,0,0],[2016,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2016,11,6,5,59,59],[2016,11,6,1,59,59],
+          '2016031307:00:00','2016031303:00:00','2016110605:59:59','2016110601:59:59' ],
+        [ [2016,11,6,6,0,0],[2016,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2017,3,12,6,59,59],[2017,3,12,1,59,59],
+          '2016110606:00:00','2016110601:00:00','2017031206:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,7,0,0],[2017,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2017,11,5,5,59,59],[2017,11,5,1,59,59],
+          '2017031207:00:00','2017031203:00:00','2017110505:59:59','2017110501:59:59' ],
+        [ [2017,11,5,6,0,0],[2017,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2018,3,11,6,59,59],[2018,3,11,1,59,59],
+          '2017110506:00:00','2017110501:00:00','2018031106:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,7,0,0],[2018,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2018,11,4,5,59,59],[2018,11,4,1,59,59],
+          '2018031107:00:00','2018031103:00:00','2018110405:59:59','2018110401:59:59' ],
+        [ [2018,11,4,6,0,0],[2018,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2019,3,10,6,59,59],[2019,3,10,1,59,59],
+          '2018110406:00:00','2018110401:00:00','2019031006:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,7,0,0],[2019,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2019,11,3,5,59,59],[2019,11,3,1,59,59],
+          '2019031007:00:00','2019031003:00:00','2019110305:59:59','2019110301:59:59' ],
+        [ [2019,11,3,6,0,0],[2019,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2020,3,8,6,59,59],[2020,3,8,1,59,59],
+          '2019110306:00:00','2019110301:00:00','2020030806:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,7,0,0],[2020,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2020,11,1,5,59,59],[2020,11,1,1,59,59],
+          '2020030807:00:00','2020030803:00:00','2020110105:59:59','2020110101:59:59' ],
+        [ [2020,11,1,6,0,0],[2020,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2021,3,14,6,59,59],[2021,3,14,1,59,59],
+          '2020110106:00:00','2020110101:00:00','2021031406:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,7,0,0],[2021,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2021,11,7,5,59,59],[2021,11,7,1,59,59],
+          '2021031407:00:00','2021031403:00:00','2021110705:59:59','2021110701:59:59' ],
+        [ [2021,11,7,6,0,0],[2021,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2022,3,13,6,59,59],[2022,3,13,1,59,59],
+          '2021110706:00:00','2021110701:00:00','2022031306:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,7,0,0],[2022,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2022,11,6,5,59,59],[2022,11,6,1,59,59],
+          '2022031307:00:00','2022031303:00:00','2022110605:59:59','2022110601:59:59' ],
+        [ [2022,11,6,6,0,0],[2022,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2023,3,12,6,59,59],[2023,3,12,1,59,59],
+          '2022110606:00:00','2022110601:00:00','2023031206:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,7,0,0],[2023,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2023,11,5,5,59,59],[2023,11,5,1,59,59],
+          '2023031207:00:00','2023031203:00:00','2023110505:59:59','2023110501:59:59' ],
+        [ [2023,11,5,6,0,0],[2023,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2024,3,10,6,59,59],[2024,3,10,1,59,59],
+          '2023110506:00:00','2023110501:00:00','2024031006:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,7,0,0],[2024,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2024,11,3,5,59,59],[2024,11,3,1,59,59],
+          '2024031007:00:00','2024031003:00:00','2024110305:59:59','2024110301:59:59' ],
+        [ [2024,11,3,6,0,0],[2024,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2025,3,9,6,59,59],[2025,3,9,1,59,59],
+          '2024110306:00:00','2024110301:00:00','2025030906:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,7,0,0],[2025,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2025,11,2,5,59,59],[2025,11,2,1,59,59],
+          '2025030907:00:00','2025030903:00:00','2025110205:59:59','2025110201:59:59' ],
+        [ [2025,11,2,6,0,0],[2025,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2026,3,8,6,59,59],[2026,3,8,1,59,59],
+          '2025110206:00:00','2025110201:00:00','2026030806:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,7,0,0],[2026,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2026,11,1,5,59,59],[2026,11,1,1,59,59],
+          '2026030807:00:00','2026030803:00:00','2026110105:59:59','2026110101:59:59' ],
+        [ [2026,11,1,6,0,0],[2026,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2027,3,14,6,59,59],[2027,3,14,1,59,59],
+          '2026110106:00:00','2026110101:00:00','2027031406:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,7,0,0],[2027,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2027,11,7,5,59,59],[2027,11,7,1,59,59],
+          '2027031407:00:00','2027031403:00:00','2027110705:59:59','2027110701:59:59' ],
+        [ [2027,11,7,6,0,0],[2027,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2028,3,12,6,59,59],[2028,3,12,1,59,59],
+          '2027110706:00:00','2027110701:00:00','2028031206:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,7,0,0],[2028,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2028,11,5,5,59,59],[2028,11,5,1,59,59],
+          '2028031207:00:00','2028031203:00:00','2028110505:59:59','2028110501:59:59' ],
+        [ [2028,11,5,6,0,0],[2028,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2029,3,11,6,59,59],[2029,3,11,1,59,59],
+          '2028110506:00:00','2028110501:00:00','2029031106:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,7,0,0],[2029,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2029,11,4,5,59,59],[2029,11,4,1,59,59],
+          '2029031107:00:00','2029031103:00:00','2029110405:59:59','2029110401:59:59' ],
+        [ [2029,11,4,6,0,0],[2029,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2030,3,10,6,59,59],[2030,3,10,1,59,59],
+          '2029110406:00:00','2029110401:00:00','2030031006:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,7,0,0],[2030,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2030,11,3,5,59,59],[2030,11,3,1,59,59],
+          '2030031007:00:00','2030031003:00:00','2030110305:59:59','2030110301:59:59' ],
+        [ [2030,11,3,6,0,0],[2030,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2031,3,9,6,59,59],[2031,3,9,1,59,59],
+          '2030110306:00:00','2030110301:00:00','2031030906:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,7,0,0],[2031,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2031,11,2,5,59,59],[2031,11,2,1,59,59],
+          '2031030907:00:00','2031030903:00:00','2031110205:59:59','2031110201:59:59' ],
+        [ [2031,11,2,6,0,0],[2031,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2032,3,14,6,59,59],[2032,3,14,1,59,59],
+          '2031110206:00:00','2031110201:00:00','2032031406:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,7,0,0],[2032,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2032,11,7,5,59,59],[2032,11,7,1,59,59],
+          '2032031407:00:00','2032031403:00:00','2032110705:59:59','2032110701:59:59' ],
+        [ [2032,11,7,6,0,0],[2032,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2033,3,13,6,59,59],[2033,3,13,1,59,59],
+          '2032110706:00:00','2032110701:00:00','2033031306:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,7,0,0],[2033,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2033,11,6,5,59,59],[2033,11,6,1,59,59],
+          '2033031307:00:00','2033031303:00:00','2033110605:59:59','2033110601:59:59' ],
+        [ [2033,11,6,6,0,0],[2033,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2034,3,12,6,59,59],[2034,3,12,1,59,59],
+          '2033110606:00:00','2033110601:00:00','2034031206:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,7,0,0],[2034,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2034,11,5,5,59,59],[2034,11,5,1,59,59],
+          '2034031207:00:00','2034031203:00:00','2034110505:59:59','2034110501:59:59' ],
+        [ [2034,11,5,6,0,0],[2034,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2035,3,11,6,59,59],[2035,3,11,1,59,59],
+          '2034110506:00:00','2034110501:00:00','2035031106:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,7,0,0],[2035,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2035,11,4,5,59,59],[2035,11,4,1,59,59],
+          '2035031107:00:00','2035031103:00:00','2035110405:59:59','2035110401:59:59' ],
+        [ [2035,11,4,6,0,0],[2035,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2036,3,9,6,59,59],[2036,3,9,1,59,59],
+          '2035110406:00:00','2035110401:00:00','2036030906:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,7,0,0],[2036,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2036,11,2,5,59,59],[2036,11,2,1,59,59],
+          '2036030907:00:00','2036030903:00:00','2036110205:59:59','2036110201:59:59' ],
+        [ [2036,11,2,6,0,0],[2036,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2037,3,8,6,59,59],[2037,3,8,1,59,59],
+          '2036110206:00:00','2036110201:00:00','2037030806:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,7,0,0],[2037,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2037,11,1,5,59,59],[2037,11,1,1,59,59],
+          '2037030807:00:00','2037030803:00:00','2037110105:59:59','2037110101:59:59' ],
+        [ [2037,11,1,6,0,0],[2037,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2038,3,14,6,59,59],[2038,3,14,1,59,59],
+          '2037110106:00:00','2037110101:00:00','2038031406:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,7,0,0],[2038,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2038,11,7,5,59,59],[2038,11,7,1,59,59],
+          '2038031407:00:00','2038031403:00:00','2038110705:59:59','2038110701:59:59' ],
+        [ [2038,11,7,6,0,0],[2038,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2039,3,13,6,59,59],[2039,3,13,1,59,59],
+          '2038110706:00:00','2038110701:00:00','2039031306:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,7,0,0],[2039,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2039,11,6,5,59,59],[2039,11,6,1,59,59],
+          '2039031307:00:00','2039031303:00:00','2039110605:59:59','2039110601:59:59' ],
+        [ [2039,11,6,6,0,0],[2039,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2040,3,11,6,59,59],[2040,3,11,1,59,59],
+          '2039110606:00:00','2039110601:00:00','2040031106:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,7,0,0],[2040,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2040,11,4,5,59,59],[2040,11,4,1,59,59],
+          '2040031107:00:00','2040031103:00:00','2040110405:59:59','2040110401:59:59' ],
+        [ [2040,11,4,6,0,0],[2040,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2041,3,10,6,59,59],[2041,3,10,1,59,59],
+          '2040110406:00:00','2040110401:00:00','2041031006:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,7,0,0],[2041,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2041,11,3,5,59,59],[2041,11,3,1,59,59],
+          '2041031007:00:00','2041031003:00:00','2041110305:59:59','2041110301:59:59' ],
+        [ [2041,11,3,6,0,0],[2041,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2042,3,9,6,59,59],[2042,3,9,1,59,59],
+          '2041110306:00:00','2041110301:00:00','2042030906:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,7,0,0],[2042,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2042,11,2,5,59,59],[2042,11,2,1,59,59],
+          '2042030907:00:00','2042030903:00:00','2042110205:59:59','2042110201:59:59' ],
+        [ [2042,11,2,6,0,0],[2042,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2043,3,8,6,59,59],[2043,3,8,1,59,59],
+          '2042110206:00:00','2042110201:00:00','2043030806:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,7,0,0],[2043,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2043,11,1,5,59,59],[2043,11,1,1,59,59],
+          '2043030807:00:00','2043030803:00:00','2043110105:59:59','2043110101:59:59' ],
+        [ [2043,11,1,6,0,0],[2043,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2044,3,13,6,59,59],[2044,3,13,1,59,59],
+          '2043110106:00:00','2043110101:00:00','2044031306:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,7,0,0],[2044,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2044,11,6,5,59,59],[2044,11,6,1,59,59],
+          '2044031307:00:00','2044031303:00:00','2044110605:59:59','2044110601:59:59' ],
+        [ [2044,11,6,6,0,0],[2044,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2045,3,12,6,59,59],[2045,3,12,1,59,59],
+          '2044110606:00:00','2044110601:00:00','2045031206:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,7,0,0],[2045,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2045,11,5,5,59,59],[2045,11,5,1,59,59],
+          '2045031207:00:00','2045031203:00:00','2045110505:59:59','2045110501:59:59' ],
+        [ [2045,11,5,6,0,0],[2045,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2046,3,11,6,59,59],[2046,3,11,1,59,59],
+          '2045110506:00:00','2045110501:00:00','2046031106:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,7,0,0],[2046,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2046,11,4,5,59,59],[2046,11,4,1,59,59],
+          '2046031107:00:00','2046031103:00:00','2046110405:59:59','2046110401:59:59' ],
+        [ [2046,11,4,6,0,0],[2046,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2047,3,10,6,59,59],[2047,3,10,1,59,59],
+          '2046110406:00:00','2046110401:00:00','2047031006:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,7,0,0],[2047,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2047,11,3,5,59,59],[2047,11,3,1,59,59],
+          '2047031007:00:00','2047031003:00:00','2047110305:59:59','2047110301:59:59' ],
+        [ [2047,11,3,6,0,0],[2047,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2048,3,8,6,59,59],[2048,3,8,1,59,59],
+          '2047110306:00:00','2047110301:00:00','2048030806:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,7,0,0],[2048,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2048,11,1,5,59,59],[2048,11,1,1,59,59],
+          '2048030807:00:00','2048030803:00:00','2048110105:59:59','2048110101:59:59' ],
+        [ [2048,11,1,6,0,0],[2048,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2049,3,14,6,59,59],[2049,3,14,1,59,59],
+          '2048110106:00:00','2048110101:00:00','2049031406:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,7,0,0],[2049,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2049,11,7,5,59,59],[2049,11,7,1,59,59],
+          '2049031407:00:00','2049031403:00:00','2049110705:59:59','2049110701:59:59' ],
+        [ [2049,11,7,6,0,0],[2049,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2050,3,13,6,59,59],[2050,3,13,1,59,59],
+          '2049110706:00:00','2049110701:00:00','2050031306:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,7,0,0],[2050,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2050,11,6,5,59,59],[2050,11,6,1,59,59],
+          '2050031307:00:00','2050031303:00:00','2050110605:59:59','2050110601:59:59' ],
+        [ [2050,11,6,6,0,0],[2050,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2051,3,12,6,59,59],[2051,3,12,1,59,59],
+          '2050110606:00:00','2050110601:00:00','2051031206:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,7,0,0],[2051,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2051,11,5,5,59,59],[2051,11,5,1,59,59],
+          '2051031207:00:00','2051031203:00:00','2051110505:59:59','2051110501:59:59' ],
+        [ [2051,11,5,6,0,0],[2051,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2052,3,10,6,59,59],[2052,3,10,1,59,59],
+          '2051110506:00:00','2051110501:00:00','2052031006:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,7,0,0],[2052,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2052,11,3,5,59,59],[2052,11,3,1,59,59],
+          '2052031007:00:00','2052031003:00:00','2052110305:59:59','2052110301:59:59' ],
+        [ [2052,11,3,6,0,0],[2052,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2053,3,9,6,59,59],[2053,3,9,1,59,59],
+          '2052110306:00:00','2052110301:00:00','2053030906:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,7,0,0],[2053,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2053,11,2,5,59,59],[2053,11,2,1,59,59],
+          '2053030907:00:00','2053030903:00:00','2053110205:59:59','2053110201:59:59' ],
+        [ [2053,11,2,6,0,0],[2053,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2054,3,8,6,59,59],[2054,3,8,1,59,59],
+          '2053110206:00:00','2053110201:00:00','2054030806:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,7,0,0],[2054,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2054,11,1,5,59,59],[2054,11,1,1,59,59],
+          '2054030807:00:00','2054030803:00:00','2054110105:59:59','2054110101:59:59' ],
+        [ [2054,11,1,6,0,0],[2054,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2055,3,14,6,59,59],[2055,3,14,1,59,59],
+          '2054110106:00:00','2054110101:00:00','2055031406:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,7,0,0],[2055,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2055,11,7,5,59,59],[2055,11,7,1,59,59],
+          '2055031407:00:00','2055031403:00:00','2055110705:59:59','2055110701:59:59' ],
+        [ [2055,11,7,6,0,0],[2055,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2056,3,12,6,59,59],[2056,3,12,1,59,59],
+          '2055110706:00:00','2055110701:00:00','2056031206:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,7,0,0],[2056,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2056,11,5,5,59,59],[2056,11,5,1,59,59],
+          '2056031207:00:00','2056031203:00:00','2056110505:59:59','2056110501:59:59' ],
+        [ [2056,11,5,6,0,0],[2056,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2057,3,11,6,59,59],[2057,3,11,1,59,59],
+          '2056110506:00:00','2056110501:00:00','2057031106:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,7,0,0],[2057,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2057,11,4,5,59,59],[2057,11,4,1,59,59],
+          '2057031107:00:00','2057031103:00:00','2057110405:59:59','2057110401:59:59' ],
+        [ [2057,11,4,6,0,0],[2057,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2058,3,10,6,59,59],[2058,3,10,1,59,59],
+          '2057110406:00:00','2057110401:00:00','2058031006:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,7,0,0],[2058,3,10,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2058,11,3,5,59,59],[2058,11,3,1,59,59],
+          '2058031007:00:00','2058031003:00:00','2058110305:59:59','2058110301:59:59' ],
+        [ [2058,11,3,6,0,0],[2058,11,3,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2059,3,9,6,59,59],[2059,3,9,1,59,59],
+          '2058110306:00:00','2058110301:00:00','2059030906:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,7,0,0],[2059,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2059,11,2,5,59,59],[2059,11,2,1,59,59],
+          '2059030907:00:00','2059030903:00:00','2059110205:59:59','2059110201:59:59' ],
+        [ [2059,11,2,6,0,0],[2059,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2060,3,14,6,59,59],[2060,3,14,1,59,59],
+          '2059110206:00:00','2059110201:00:00','2060031406:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,7,0,0],[2060,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2060,11,7,5,59,59],[2060,11,7,1,59,59],
+          '2060031407:00:00','2060031403:00:00','2060110705:59:59','2060110701:59:59' ],
+        [ [2060,11,7,6,0,0],[2060,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2061,3,13,6,59,59],[2061,3,13,1,59,59],
+          '2060110706:00:00','2060110701:00:00','2061031306:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,7,0,0],[2061,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2061,11,6,5,59,59],[2061,11,6,1,59,59],
+          '2061031307:00:00','2061031303:00:00','2061110605:59:59','2061110601:59:59' ],
+        [ [2061,11,6,6,0,0],[2061,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2062,3,12,6,59,59],[2062,3,12,1,59,59],
+          '2061110606:00:00','2061110601:00:00','2062031206:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,7,0,0],[2062,3,12,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2062,11,5,5,59,59],[2062,11,5,1,59,59],
+          '2062031207:00:00','2062031203:00:00','2062110505:59:59','2062110501:59:59' ],
+        [ [2062,11,5,6,0,0],[2062,11,5,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2063,3,11,6,59,59],[2063,3,11,1,59,59],
+          '2062110506:00:00','2062110501:00:00','2063031106:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,7,0,0],[2063,3,11,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2063,11,4,5,59,59],[2063,11,4,1,59,59],
+          '2063031107:00:00','2063031103:00:00','2063110405:59:59','2063110401:59:59' ],
+        [ [2063,11,4,6,0,0],[2063,11,4,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2064,3,9,6,59,59],[2064,3,9,1,59,59],
+          '2063110406:00:00','2063110401:00:00','2064030906:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,7,0,0],[2064,3,9,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2064,11,2,5,59,59],[2064,11,2,1,59,59],
+          '2064030907:00:00','2064030903:00:00','2064110205:59:59','2064110201:59:59' ],
+        [ [2064,11,2,6,0,0],[2064,11,2,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2065,3,8,6,59,59],[2065,3,8,1,59,59],
+          '2064110206:00:00','2064110201:00:00','2065030806:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,7,0,0],[2065,3,8,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2065,11,1,5,59,59],[2065,11,1,1,59,59],
+          '2065030807:00:00','2065030803:00:00','2065110105:59:59','2065110101:59:59' ],
+        [ [2065,11,1,6,0,0],[2065,11,1,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2066,3,14,6,59,59],[2066,3,14,1,59,59],
+          '2065110106:00:00','2065110101:00:00','2066031406:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,7,0,0],[2066,3,14,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2066,11,7,5,59,59],[2066,11,7,1,59,59],
+          '2066031407:00:00','2066031403:00:00','2066110705:59:59','2066110701:59:59' ],
+        [ [2066,11,7,6,0,0],[2066,11,7,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2067,3,13,6,59,59],[2067,3,13,1,59,59],
+          '2066110706:00:00','2066110701:00:00','2067031306:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,7,0,0],[2067,3,13,3,0,0],'-04:00:00',[-4,0,0],
+          'EDT',1,[2067,11,6,5,59,59],[2067,11,6,1,59,59],
+          '2067031307:00:00','2067031303:00:00','2067110605:59:59','2067110601:59:59' ],
+        [ [2067,11,6,6,0,0],[2067,11,6,1,0,0],'-05:00:00',[-5,0,0],
+          'EST',0,[2068,3,11,6,59,59],[2068,3,11,1,59,59],
+          '2067110606:00:00','2067110601:00:00','2068031106:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-04:00:00',
+                'stdoff' => '-05:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amwinn00.pm b/lib/Date/Manip/TZ/amwinn00.pm
new file mode 100644
index 0000000..33546ed
--- /dev/null
+++ b/lib/Date/Manip/TZ/amwinn00.pm
@@ -0,0 +1,1177 @@
+package #
+Date::Manip::TZ::amwinn00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,31,24],'-06:28:36',[-6,-28,-36],
+          'LMT',0,[1887,7,16,6,28,35],[1887,7,15,23,59,59],
+          '0001010200:00:00','0001010117:31:24','1887071606:28:35','1887071523:59:59' ],
+     ],
+   1887 =>
+     [
+        [ [1887,7,16,6,28,36],[1887,7,16,0,28,36],'-06:00:00',[-6,0,0],
+          'CST',0,[1916,4,23,5,59,59],[1916,4,22,23,59,59],
+          '1887071606:28:36','1887071600:28:36','1916042305:59:59','1916042223:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,23,6,0,0],[1916,4,23,1,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1916,9,17,4,59,59],[1916,9,16,23,59,59],
+          '1916042306:00:00','1916042301:00:00','1916091704:59:59','1916091623:59:59' ],
+        [ [1916,9,17,5,0,0],[1916,9,16,23,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1918,4,14,7,59,59],[1918,4,14,1,59,59],
+          '1916091705:00:00','1916091623:00:00','1918041407:59:59','1918041401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,14,8,0,0],[1918,4,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1918,10,27,6,59,59],[1918,10,27,1,59,59],
+          '1918041408:00:00','1918041403:00:00','1918102706:59:59','1918102701:59:59' ],
+        [ [1918,10,27,7,0,0],[1918,10,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1937,5,16,7,59,59],[1937,5,16,1,59,59],
+          '1918102707:00:00','1918102701:00:00','1937051607:59:59','1937051601:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,5,16,8,0,0],[1937,5,16,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1937,9,26,6,59,59],[1937,9,26,1,59,59],
+          '1937051608:00:00','1937051603:00:00','1937092606:59:59','1937092601:59:59' ],
+        [ [1937,9,26,7,0,0],[1937,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1942,2,9,7,59,59],[1942,2,9,1,59,59],
+          '1937092607:00:00','1937092601:00:00','1942020907:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,8,0,0],[1942,2,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CWT',1,[1945,8,14,22,59,59],[1945,8,14,17,59,59],
+          '1942020908:00:00','1942020903:00:00','1945081422:59:59','1945081417:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,18,0,0],'-05:00:00',[-5,0,0],
+          'CPT',1,[1945,9,30,6,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081418:00:00','1945093006:59:59','1945093001:59:59' ],
+        [ [1945,9,30,7,0,0],[1945,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1946,5,12,7,59,59],[1946,5,12,1,59,59],
+          '1945093007:00:00','1945093001:00:00','1946051207:59:59','1946051201:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,12,8,0,0],[1946,5,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1946,10,13,6,59,59],[1946,10,13,1,59,59],
+          '1946051208:00:00','1946051203:00:00','1946101306:59:59','1946101301:59:59' ],
+        [ [1946,10,13,7,0,0],[1946,10,13,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1947,4,27,7,59,59],[1947,4,27,1,59,59],
+          '1946101307:00:00','1946101301:00:00','1947042707:59:59','1947042701:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,27,8,0,0],[1947,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1947,9,28,6,59,59],[1947,9,28,1,59,59],
+          '1947042708:00:00','1947042703:00:00','1947092806:59:59','1947092801:59:59' ],
+        [ [1947,9,28,7,0,0],[1947,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1948,4,25,7,59,59],[1948,4,25,1,59,59],
+          '1947092807:00:00','1947092801:00:00','1948042507:59:59','1948042501:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,25,8,0,0],[1948,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1948,9,26,6,59,59],[1948,9,26,1,59,59],
+          '1948042508:00:00','1948042503:00:00','1948092606:59:59','1948092601:59:59' ],
+        [ [1948,9,26,7,0,0],[1948,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1949,4,24,7,59,59],[1949,4,24,1,59,59],
+          '1948092607:00:00','1948092601:00:00','1949042407:59:59','1949042401:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,24,8,0,0],[1949,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1949,9,25,6,59,59],[1949,9,25,1,59,59],
+          '1949042408:00:00','1949042403:00:00','1949092506:59:59','1949092501:59:59' ],
+        [ [1949,9,25,7,0,0],[1949,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1950,5,1,7,59,59],[1950,5,1,1,59,59],
+          '1949092507:00:00','1949092501:00:00','1950050107:59:59','1950050101:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,5,1,8,0,0],[1950,5,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1950,9,30,6,59,59],[1950,9,30,1,59,59],
+          '1950050108:00:00','1950050103:00:00','1950093006:59:59','1950093001:59:59' ],
+        [ [1950,9,30,7,0,0],[1950,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1951,4,29,7,59,59],[1951,4,29,1,59,59],
+          '1950093007:00:00','1950093001:00:00','1951042907:59:59','1951042901:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,29,8,0,0],[1951,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1951,9,30,6,59,59],[1951,9,30,1,59,59],
+          '1951042908:00:00','1951042903:00:00','1951093006:59:59','1951093001:59:59' ],
+        [ [1951,9,30,7,0,0],[1951,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1952,4,27,7,59,59],[1952,4,27,1,59,59],
+          '1951093007:00:00','1951093001:00:00','1952042707:59:59','1952042701:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,27,8,0,0],[1952,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1952,9,28,6,59,59],[1952,9,28,1,59,59],
+          '1952042708:00:00','1952042703:00:00','1952092806:59:59','1952092801:59:59' ],
+        [ [1952,9,28,7,0,0],[1952,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1953,4,26,7,59,59],[1953,4,26,1,59,59],
+          '1952092807:00:00','1952092801:00:00','1953042607:59:59','1953042601:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,26,8,0,0],[1953,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1953,9,27,6,59,59],[1953,9,27,1,59,59],
+          '1953042608:00:00','1953042603:00:00','1953092706:59:59','1953092701:59:59' ],
+        [ [1953,9,27,7,0,0],[1953,9,27,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1954,4,25,7,59,59],[1954,4,25,1,59,59],
+          '1953092707:00:00','1953092701:00:00','1954042507:59:59','1954042501:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,25,8,0,0],[1954,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1954,9,26,6,59,59],[1954,9,26,1,59,59],
+          '1954042508:00:00','1954042503:00:00','1954092606:59:59','1954092601:59:59' ],
+        [ [1954,9,26,7,0,0],[1954,9,26,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1955,4,24,7,59,59],[1955,4,24,1,59,59],
+          '1954092607:00:00','1954092601:00:00','1955042407:59:59','1955042401:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,24,8,0,0],[1955,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1955,9,25,6,59,59],[1955,9,25,1,59,59],
+          '1955042408:00:00','1955042403:00:00','1955092506:59:59','1955092501:59:59' ],
+        [ [1955,9,25,7,0,0],[1955,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1956,4,29,7,59,59],[1956,4,29,1,59,59],
+          '1955092507:00:00','1955092501:00:00','1956042907:59:59','1956042901:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,29,8,0,0],[1956,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1956,9,30,6,59,59],[1956,9,30,1,59,59],
+          '1956042908:00:00','1956042903:00:00','1956093006:59:59','1956093001:59:59' ],
+        [ [1956,9,30,7,0,0],[1956,9,30,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1957,4,28,7,59,59],[1957,4,28,1,59,59],
+          '1956093007:00:00','1956093001:00:00','1957042807:59:59','1957042801:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,28,8,0,0],[1957,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1957,9,29,6,59,59],[1957,9,29,1,59,59],
+          '1957042808:00:00','1957042803:00:00','1957092906:59:59','1957092901:59:59' ],
+        [ [1957,9,29,7,0,0],[1957,9,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1958,4,27,7,59,59],[1958,4,27,1,59,59],
+          '1957092907:00:00','1957092901:00:00','1958042707:59:59','1958042701:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,27,8,0,0],[1958,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1958,9,28,6,59,59],[1958,9,28,1,59,59],
+          '1958042708:00:00','1958042703:00:00','1958092806:59:59','1958092801:59:59' ],
+        [ [1958,9,28,7,0,0],[1958,9,28,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1959,4,26,7,59,59],[1959,4,26,1,59,59],
+          '1958092807:00:00','1958092801:00:00','1959042607:59:59','1959042601:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,26,8,0,0],[1959,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1959,10,25,6,59,59],[1959,10,25,1,59,59],
+          '1959042608:00:00','1959042603:00:00','1959102506:59:59','1959102501:59:59' ],
+        [ [1959,10,25,7,0,0],[1959,10,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1960,4,24,7,59,59],[1960,4,24,1,59,59],
+          '1959102507:00:00','1959102501:00:00','1960042407:59:59','1960042401:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,24,8,0,0],[1960,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1960,9,25,6,59,59],[1960,9,25,1,59,59],
+          '1960042408:00:00','1960042403:00:00','1960092506:59:59','1960092501:59:59' ],
+        [ [1960,9,25,7,0,0],[1960,9,25,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1963,4,28,7,59,59],[1963,4,28,1,59,59],
+          '1960092507:00:00','1960092501:00:00','1963042807:59:59','1963042801:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,28,8,0,0],[1963,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1963,9,22,6,59,59],[1963,9,22,1,59,59],
+          '1963042808:00:00','1963042803:00:00','1963092206:59:59','1963092201:59:59' ],
+        [ [1963,9,22,7,0,0],[1963,9,22,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1966,4,24,7,59,59],[1966,4,24,1,59,59],
+          '1963092207:00:00','1963092201:00:00','1966042407:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,8,0,0],[1966,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1966,10,30,7,59,59],[1966,10,30,2,59,59],
+          '1966042408:00:00','1966042403:00:00','1966103007:59:59','1966103002:59:59' ],
+        [ [1966,10,30,8,0,0],[1966,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1967,4,30,7,59,59],[1967,4,30,1,59,59],
+          '1966103008:00:00','1966103002:00:00','1967043007:59:59','1967043001:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,8,0,0],[1967,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1967,10,29,7,59,59],[1967,10,29,2,59,59],
+          '1967043008:00:00','1967043003:00:00','1967102907:59:59','1967102902:59:59' ],
+        [ [1967,10,29,8,0,0],[1967,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1968,4,28,7,59,59],[1968,4,28,1,59,59],
+          '1967102908:00:00','1967102902:00:00','1968042807:59:59','1968042801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,28,8,0,0],[1968,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1968,10,27,7,59,59],[1968,10,27,2,59,59],
+          '1968042808:00:00','1968042803:00:00','1968102707:59:59','1968102702:59:59' ],
+        [ [1968,10,27,8,0,0],[1968,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1969,4,27,7,59,59],[1969,4,27,1,59,59],
+          '1968102708:00:00','1968102702:00:00','1969042707:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,8,0,0],[1969,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1969,10,26,7,59,59],[1969,10,26,2,59,59],
+          '1969042708:00:00','1969042703:00:00','1969102607:59:59','1969102602:59:59' ],
+        [ [1969,10,26,8,0,0],[1969,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1970,4,26,7,59,59],[1970,4,26,1,59,59],
+          '1969102608:00:00','1969102602:00:00','1970042607:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,8,0,0],[1970,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1970,10,25,7,59,59],[1970,10,25,2,59,59],
+          '1970042608:00:00','1970042603:00:00','1970102507:59:59','1970102502:59:59' ],
+        [ [1970,10,25,8,0,0],[1970,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1971,4,25,7,59,59],[1971,4,25,1,59,59],
+          '1970102508:00:00','1970102502:00:00','1971042507:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,8,0,0],[1971,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1971,10,31,7,59,59],[1971,10,31,2,59,59],
+          '1971042508:00:00','1971042503:00:00','1971103107:59:59','1971103102:59:59' ],
+        [ [1971,10,31,8,0,0],[1971,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1972,4,30,7,59,59],[1972,4,30,1,59,59],
+          '1971103108:00:00','1971103102:00:00','1972043007:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,8,0,0],[1972,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1972,10,29,7,59,59],[1972,10,29,2,59,59],
+          '1972043008:00:00','1972043003:00:00','1972102907:59:59','1972102902:59:59' ],
+        [ [1972,10,29,8,0,0],[1972,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1973,4,29,7,59,59],[1973,4,29,1,59,59],
+          '1972102908:00:00','1972102902:00:00','1973042907:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,8,0,0],[1973,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1973,10,28,7,59,59],[1973,10,28,2,59,59],
+          '1973042908:00:00','1973042903:00:00','1973102807:59:59','1973102802:59:59' ],
+        [ [1973,10,28,8,0,0],[1973,10,28,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1974,4,28,7,59,59],[1974,4,28,1,59,59],
+          '1973102808:00:00','1973102802:00:00','1974042807:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,8,0,0],[1974,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1974,10,27,7,59,59],[1974,10,27,2,59,59],
+          '1974042808:00:00','1974042803:00:00','1974102707:59:59','1974102702:59:59' ],
+        [ [1974,10,27,8,0,0],[1974,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1975,4,27,7,59,59],[1975,4,27,1,59,59],
+          '1974102708:00:00','1974102702:00:00','1975042707:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,8,0,0],[1975,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1975,10,26,7,59,59],[1975,10,26,2,59,59],
+          '1975042708:00:00','1975042703:00:00','1975102607:59:59','1975102602:59:59' ],
+        [ [1975,10,26,8,0,0],[1975,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1976,4,25,7,59,59],[1976,4,25,1,59,59],
+          '1975102608:00:00','1975102602:00:00','1976042507:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,8,0,0],[1976,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1976,10,31,7,59,59],[1976,10,31,2,59,59],
+          '1976042508:00:00','1976042503:00:00','1976103107:59:59','1976103102:59:59' ],
+        [ [1976,10,31,8,0,0],[1976,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1977,4,24,7,59,59],[1977,4,24,1,59,59],
+          '1976103108:00:00','1976103102:00:00','1977042407:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,8,0,0],[1977,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1977,10,30,7,59,59],[1977,10,30,2,59,59],
+          '1977042408:00:00','1977042403:00:00','1977103007:59:59','1977103002:59:59' ],
+        [ [1977,10,30,8,0,0],[1977,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1978,4,30,7,59,59],[1978,4,30,1,59,59],
+          '1977103008:00:00','1977103002:00:00','1978043007:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,8,0,0],[1978,4,30,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1978,10,29,7,59,59],[1978,10,29,2,59,59],
+          '1978043008:00:00','1978043003:00:00','1978102907:59:59','1978102902:59:59' ],
+        [ [1978,10,29,8,0,0],[1978,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1979,4,29,7,59,59],[1979,4,29,1,59,59],
+          '1978102908:00:00','1978102902:00:00','1979042907:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,8,0,0],[1979,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1979,10,28,7,59,59],[1979,10,28,2,59,59],
+          '1979042908:00:00','1979042903:00:00','1979102807:59:59','1979102802:59:59' ],
+        [ [1979,10,28,8,0,0],[1979,10,28,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1980,4,27,7,59,59],[1980,4,27,1,59,59],
+          '1979102808:00:00','1979102802:00:00','1980042707:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,8,0,0],[1980,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1980,10,26,7,59,59],[1980,10,26,2,59,59],
+          '1980042708:00:00','1980042703:00:00','1980102607:59:59','1980102602:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1981,4,26,7,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102602:00:00','1981042607:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,8,0,0],[1981,4,26,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1981,10,25,7,59,59],[1981,10,25,2,59,59],
+          '1981042608:00:00','1981042603:00:00','1981102507:59:59','1981102502:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1982,4,25,7,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102502:00:00','1982042507:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,8,0,0],[1982,4,25,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1982,10,31,7,59,59],[1982,10,31,2,59,59],
+          '1982042508:00:00','1982042503:00:00','1982103107:59:59','1982103102:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1983,4,24,7,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103102:00:00','1983042407:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,8,0,0],[1983,4,24,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1983,10,30,7,59,59],[1983,10,30,2,59,59],
+          '1983042408:00:00','1983042403:00:00','1983103007:59:59','1983103002:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1984,4,29,7,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103002:00:00','1984042907:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,8,0,0],[1984,4,29,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1984,10,28,7,59,59],[1984,10,28,2,59,59],
+          '1984042908:00:00','1984042903:00:00','1984102807:59:59','1984102802:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1985,4,28,7,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102802:00:00','1985042807:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,8,0,0],[1985,4,28,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1985,10,27,7,59,59],[1985,10,27,2,59,59],
+          '1985042808:00:00','1985042803:00:00','1985102707:59:59','1985102702:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1986,4,27,7,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102702:00:00','1986042707:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,8,0,0],[1986,4,27,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1986,10,26,7,59,59],[1986,10,26,2,59,59],
+          '1986042708:00:00','1986042703:00:00','1986102607:59:59','1986102602:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1987,4,5,7,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102602:00:00','1987040507:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,8,0,0],[1987,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1987,10,25,7,59,59],[1987,10,25,2,59,59],
+          '1987040508:00:00','1987040503:00:00','1987102507:59:59','1987102502:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1988,4,3,7,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102502:00:00','1988040307:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,8,0,0],[1988,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1988,10,30,7,59,59],[1988,10,30,2,59,59],
+          '1988040308:00:00','1988040303:00:00','1988103007:59:59','1988103002:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1989,4,2,7,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103002:00:00','1989040207:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,8,0,0],[1989,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1989,10,29,7,59,59],[1989,10,29,2,59,59],
+          '1989040208:00:00','1989040203:00:00','1989102907:59:59','1989102902:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1990,4,1,7,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102902:00:00','1990040107:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,8,0,0],[1990,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1990,10,28,7,59,59],[1990,10,28,2,59,59],
+          '1990040108:00:00','1990040103:00:00','1990102807:59:59','1990102802:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1991,4,7,7,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102802:00:00','1991040707:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,8,0,0],[1991,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1991,10,27,7,59,59],[1991,10,27,2,59,59],
+          '1991040708:00:00','1991040703:00:00','1991102707:59:59','1991102702:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1992,4,5,7,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102702:00:00','1992040507:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,8,0,0],[1992,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1992,10,25,7,59,59],[1992,10,25,2,59,59],
+          '1992040508:00:00','1992040503:00:00','1992102507:59:59','1992102502:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1993,4,4,7,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102502:00:00','1993040407:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,8,0,0],[1993,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1993,10,31,7,59,59],[1993,10,31,2,59,59],
+          '1993040408:00:00','1993040403:00:00','1993103107:59:59','1993103102:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1994,4,3,7,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103102:00:00','1994040307:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,8,0,0],[1994,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1994,10,30,7,59,59],[1994,10,30,2,59,59],
+          '1994040308:00:00','1994040303:00:00','1994103007:59:59','1994103002:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1995,4,2,7,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103002:00:00','1995040207:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,8,0,0],[1995,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1995,10,29,7,59,59],[1995,10,29,2,59,59],
+          '1995040208:00:00','1995040203:00:00','1995102907:59:59','1995102902:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1996,4,7,7,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102902:00:00','1996040707:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,8,0,0],[1996,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1996,10,27,7,59,59],[1996,10,27,2,59,59],
+          '1996040708:00:00','1996040703:00:00','1996102707:59:59','1996102702:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1997,4,6,7,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102702:00:00','1997040607:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,8,0,0],[1997,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1997,10,26,7,59,59],[1997,10,26,2,59,59],
+          '1997040608:00:00','1997040603:00:00','1997102607:59:59','1997102602:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1998,4,5,7,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102602:00:00','1998040507:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,8,0,0],[1998,4,5,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1998,10,25,7,59,59],[1998,10,25,2,59,59],
+          '1998040508:00:00','1998040503:00:00','1998102507:59:59','1998102502:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[1999,4,4,7,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102502:00:00','1999040407:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,8,0,0],[1999,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[1999,10,31,7,59,59],[1999,10,31,2,59,59],
+          '1999040408:00:00','1999040403:00:00','1999103107:59:59','1999103102:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2000,4,2,7,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103102:00:00','2000040207:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,8,0,0],[2000,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2000,10,29,7,59,59],[2000,10,29,2,59,59],
+          '2000040208:00:00','2000040203:00:00','2000102907:59:59','2000102902:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2001,4,1,7,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102902:00:00','2001040107:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,8,0,0],[2001,4,1,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2001,10,28,7,59,59],[2001,10,28,2,59,59],
+          '2001040108:00:00','2001040103:00:00','2001102807:59:59','2001102802:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2002,4,7,7,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102802:00:00','2002040707:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,8,0,0],[2002,4,7,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2002,10,27,7,59,59],[2002,10,27,2,59,59],
+          '2002040708:00:00','2002040703:00:00','2002102707:59:59','2002102702:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2003,4,6,7,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102702:00:00','2003040607:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,8,0,0],[2003,4,6,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2003,10,26,7,59,59],[2003,10,26,2,59,59],
+          '2003040608:00:00','2003040603:00:00','2003102607:59:59','2003102602:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2004,4,4,7,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102602:00:00','2004040407:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,8,0,0],[2004,4,4,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2004,10,31,7,59,59],[2004,10,31,2,59,59],
+          '2004040408:00:00','2004040403:00:00','2004103107:59:59','2004103102:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2005,4,3,7,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103102:00:00','2005040307:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,8,0,0],[2005,4,3,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2005,10,30,7,59,59],[2005,10,30,2,59,59],
+          '2005040308:00:00','2005040303:00:00','2005103007:59:59','2005103002:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,2,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2006,4,2,7,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103002:00:00','2006040207:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,8,0,0],[2006,4,2,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2006,10,29,6,59,59],[2006,10,29,1,59,59],
+          '2006040208:00:00','2006040203:00:00','2006102906:59:59','2006102901:59:59' ],
+        [ [2006,10,29,7,0,0],[2006,10,29,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2007,3,11,7,59,59],[2007,3,11,1,59,59],
+          '2006102907:00:00','2006102901:00:00','2007031107:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,8,0,0],[2007,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2007,11,4,6,59,59],[2007,11,4,1,59,59],
+          '2007031108:00:00','2007031103:00:00','2007110406:59:59','2007110401:59:59' ],
+        [ [2007,11,4,7,0,0],[2007,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2008,3,9,7,59,59],[2008,3,9,1,59,59],
+          '2007110407:00:00','2007110401:00:00','2008030907:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,8,0,0],[2008,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2008,11,2,6,59,59],[2008,11,2,1,59,59],
+          '2008030908:00:00','2008030903:00:00','2008110206:59:59','2008110201:59:59' ],
+        [ [2008,11,2,7,0,0],[2008,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2009,3,8,7,59,59],[2009,3,8,1,59,59],
+          '2008110207:00:00','2008110201:00:00','2009030807:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,8,0,0],[2009,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2009,11,1,6,59,59],[2009,11,1,1,59,59],
+          '2009030808:00:00','2009030803:00:00','2009110106:59:59','2009110101:59:59' ],
+        [ [2009,11,1,7,0,0],[2009,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2010,3,14,7,59,59],[2010,3,14,1,59,59],
+          '2009110107:00:00','2009110101:00:00','2010031407:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,8,0,0],[2010,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2010,11,7,6,59,59],[2010,11,7,1,59,59],
+          '2010031408:00:00','2010031403:00:00','2010110706:59:59','2010110701:59:59' ],
+        [ [2010,11,7,7,0,0],[2010,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2011,3,13,7,59,59],[2011,3,13,1,59,59],
+          '2010110707:00:00','2010110701:00:00','2011031307:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,8,0,0],[2011,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2011,11,6,6,59,59],[2011,11,6,1,59,59],
+          '2011031308:00:00','2011031303:00:00','2011110606:59:59','2011110601:59:59' ],
+        [ [2011,11,6,7,0,0],[2011,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2012,3,11,7,59,59],[2012,3,11,1,59,59],
+          '2011110607:00:00','2011110601:00:00','2012031107:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,8,0,0],[2012,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2012,11,4,6,59,59],[2012,11,4,1,59,59],
+          '2012031108:00:00','2012031103:00:00','2012110406:59:59','2012110401:59:59' ],
+        [ [2012,11,4,7,0,0],[2012,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2013,3,10,7,59,59],[2013,3,10,1,59,59],
+          '2012110407:00:00','2012110401:00:00','2013031007:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,8,0,0],[2013,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2013,11,3,6,59,59],[2013,11,3,1,59,59],
+          '2013031008:00:00','2013031003:00:00','2013110306:59:59','2013110301:59:59' ],
+        [ [2013,11,3,7,0,0],[2013,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2014,3,9,7,59,59],[2014,3,9,1,59,59],
+          '2013110307:00:00','2013110301:00:00','2014030907:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,8,0,0],[2014,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2014,11,2,6,59,59],[2014,11,2,1,59,59],
+          '2014030908:00:00','2014030903:00:00','2014110206:59:59','2014110201:59:59' ],
+        [ [2014,11,2,7,0,0],[2014,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2015,3,8,7,59,59],[2015,3,8,1,59,59],
+          '2014110207:00:00','2014110201:00:00','2015030807:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,8,0,0],[2015,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2015,11,1,6,59,59],[2015,11,1,1,59,59],
+          '2015030808:00:00','2015030803:00:00','2015110106:59:59','2015110101:59:59' ],
+        [ [2015,11,1,7,0,0],[2015,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2016,3,13,7,59,59],[2016,3,13,1,59,59],
+          '2015110107:00:00','2015110101:00:00','2016031307:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,8,0,0],[2016,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2016,11,6,6,59,59],[2016,11,6,1,59,59],
+          '2016031308:00:00','2016031303:00:00','2016110606:59:59','2016110601:59:59' ],
+        [ [2016,11,6,7,0,0],[2016,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2017,3,12,7,59,59],[2017,3,12,1,59,59],
+          '2016110607:00:00','2016110601:00:00','2017031207:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,8,0,0],[2017,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2017,11,5,6,59,59],[2017,11,5,1,59,59],
+          '2017031208:00:00','2017031203:00:00','2017110506:59:59','2017110501:59:59' ],
+        [ [2017,11,5,7,0,0],[2017,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2018,3,11,7,59,59],[2018,3,11,1,59,59],
+          '2017110507:00:00','2017110501:00:00','2018031107:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,8,0,0],[2018,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2018,11,4,6,59,59],[2018,11,4,1,59,59],
+          '2018031108:00:00','2018031103:00:00','2018110406:59:59','2018110401:59:59' ],
+        [ [2018,11,4,7,0,0],[2018,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2019,3,10,7,59,59],[2019,3,10,1,59,59],
+          '2018110407:00:00','2018110401:00:00','2019031007:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,8,0,0],[2019,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2019,11,3,6,59,59],[2019,11,3,1,59,59],
+          '2019031008:00:00','2019031003:00:00','2019110306:59:59','2019110301:59:59' ],
+        [ [2019,11,3,7,0,0],[2019,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2020,3,8,7,59,59],[2020,3,8,1,59,59],
+          '2019110307:00:00','2019110301:00:00','2020030807:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,8,0,0],[2020,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2020,11,1,6,59,59],[2020,11,1,1,59,59],
+          '2020030808:00:00','2020030803:00:00','2020110106:59:59','2020110101:59:59' ],
+        [ [2020,11,1,7,0,0],[2020,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2021,3,14,7,59,59],[2021,3,14,1,59,59],
+          '2020110107:00:00','2020110101:00:00','2021031407:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,8,0,0],[2021,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2021,11,7,6,59,59],[2021,11,7,1,59,59],
+          '2021031408:00:00','2021031403:00:00','2021110706:59:59','2021110701:59:59' ],
+        [ [2021,11,7,7,0,0],[2021,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2022,3,13,7,59,59],[2022,3,13,1,59,59],
+          '2021110707:00:00','2021110701:00:00','2022031307:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,8,0,0],[2022,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2022,11,6,6,59,59],[2022,11,6,1,59,59],
+          '2022031308:00:00','2022031303:00:00','2022110606:59:59','2022110601:59:59' ],
+        [ [2022,11,6,7,0,0],[2022,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2023,3,12,7,59,59],[2023,3,12,1,59,59],
+          '2022110607:00:00','2022110601:00:00','2023031207:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,8,0,0],[2023,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2023,11,5,6,59,59],[2023,11,5,1,59,59],
+          '2023031208:00:00','2023031203:00:00','2023110506:59:59','2023110501:59:59' ],
+        [ [2023,11,5,7,0,0],[2023,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2024,3,10,7,59,59],[2024,3,10,1,59,59],
+          '2023110507:00:00','2023110501:00:00','2024031007:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,8,0,0],[2024,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2024,11,3,6,59,59],[2024,11,3,1,59,59],
+          '2024031008:00:00','2024031003:00:00','2024110306:59:59','2024110301:59:59' ],
+        [ [2024,11,3,7,0,0],[2024,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2025,3,9,7,59,59],[2025,3,9,1,59,59],
+          '2024110307:00:00','2024110301:00:00','2025030907:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,8,0,0],[2025,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2025,11,2,6,59,59],[2025,11,2,1,59,59],
+          '2025030908:00:00','2025030903:00:00','2025110206:59:59','2025110201:59:59' ],
+        [ [2025,11,2,7,0,0],[2025,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2026,3,8,7,59,59],[2026,3,8,1,59,59],
+          '2025110207:00:00','2025110201:00:00','2026030807:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,8,0,0],[2026,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2026,11,1,6,59,59],[2026,11,1,1,59,59],
+          '2026030808:00:00','2026030803:00:00','2026110106:59:59','2026110101:59:59' ],
+        [ [2026,11,1,7,0,0],[2026,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2027,3,14,7,59,59],[2027,3,14,1,59,59],
+          '2026110107:00:00','2026110101:00:00','2027031407:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,8,0,0],[2027,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2027,11,7,6,59,59],[2027,11,7,1,59,59],
+          '2027031408:00:00','2027031403:00:00','2027110706:59:59','2027110701:59:59' ],
+        [ [2027,11,7,7,0,0],[2027,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2028,3,12,7,59,59],[2028,3,12,1,59,59],
+          '2027110707:00:00','2027110701:00:00','2028031207:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,8,0,0],[2028,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2028,11,5,6,59,59],[2028,11,5,1,59,59],
+          '2028031208:00:00','2028031203:00:00','2028110506:59:59','2028110501:59:59' ],
+        [ [2028,11,5,7,0,0],[2028,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2029,3,11,7,59,59],[2029,3,11,1,59,59],
+          '2028110507:00:00','2028110501:00:00','2029031107:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,8,0,0],[2029,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2029,11,4,6,59,59],[2029,11,4,1,59,59],
+          '2029031108:00:00','2029031103:00:00','2029110406:59:59','2029110401:59:59' ],
+        [ [2029,11,4,7,0,0],[2029,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2030,3,10,7,59,59],[2030,3,10,1,59,59],
+          '2029110407:00:00','2029110401:00:00','2030031007:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,8,0,0],[2030,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2030,11,3,6,59,59],[2030,11,3,1,59,59],
+          '2030031008:00:00','2030031003:00:00','2030110306:59:59','2030110301:59:59' ],
+        [ [2030,11,3,7,0,0],[2030,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2031,3,9,7,59,59],[2031,3,9,1,59,59],
+          '2030110307:00:00','2030110301:00:00','2031030907:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,8,0,0],[2031,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2031,11,2,6,59,59],[2031,11,2,1,59,59],
+          '2031030908:00:00','2031030903:00:00','2031110206:59:59','2031110201:59:59' ],
+        [ [2031,11,2,7,0,0],[2031,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2032,3,14,7,59,59],[2032,3,14,1,59,59],
+          '2031110207:00:00','2031110201:00:00','2032031407:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,8,0,0],[2032,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2032,11,7,6,59,59],[2032,11,7,1,59,59],
+          '2032031408:00:00','2032031403:00:00','2032110706:59:59','2032110701:59:59' ],
+        [ [2032,11,7,7,0,0],[2032,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2033,3,13,7,59,59],[2033,3,13,1,59,59],
+          '2032110707:00:00','2032110701:00:00','2033031307:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,8,0,0],[2033,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2033,11,6,6,59,59],[2033,11,6,1,59,59],
+          '2033031308:00:00','2033031303:00:00','2033110606:59:59','2033110601:59:59' ],
+        [ [2033,11,6,7,0,0],[2033,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2034,3,12,7,59,59],[2034,3,12,1,59,59],
+          '2033110607:00:00','2033110601:00:00','2034031207:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,8,0,0],[2034,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2034,11,5,6,59,59],[2034,11,5,1,59,59],
+          '2034031208:00:00','2034031203:00:00','2034110506:59:59','2034110501:59:59' ],
+        [ [2034,11,5,7,0,0],[2034,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2035,3,11,7,59,59],[2035,3,11,1,59,59],
+          '2034110507:00:00','2034110501:00:00','2035031107:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,8,0,0],[2035,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2035,11,4,6,59,59],[2035,11,4,1,59,59],
+          '2035031108:00:00','2035031103:00:00','2035110406:59:59','2035110401:59:59' ],
+        [ [2035,11,4,7,0,0],[2035,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2036,3,9,7,59,59],[2036,3,9,1,59,59],
+          '2035110407:00:00','2035110401:00:00','2036030907:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,8,0,0],[2036,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2036,11,2,6,59,59],[2036,11,2,1,59,59],
+          '2036030908:00:00','2036030903:00:00','2036110206:59:59','2036110201:59:59' ],
+        [ [2036,11,2,7,0,0],[2036,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2037,3,8,7,59,59],[2037,3,8,1,59,59],
+          '2036110207:00:00','2036110201:00:00','2037030807:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,8,0,0],[2037,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2037,11,1,6,59,59],[2037,11,1,1,59,59],
+          '2037030808:00:00','2037030803:00:00','2037110106:59:59','2037110101:59:59' ],
+        [ [2037,11,1,7,0,0],[2037,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2038,3,14,7,59,59],[2038,3,14,1,59,59],
+          '2037110107:00:00','2037110101:00:00','2038031407:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,8,0,0],[2038,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2038,11,7,6,59,59],[2038,11,7,1,59,59],
+          '2038031408:00:00','2038031403:00:00','2038110706:59:59','2038110701:59:59' ],
+        [ [2038,11,7,7,0,0],[2038,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2039,3,13,7,59,59],[2039,3,13,1,59,59],
+          '2038110707:00:00','2038110701:00:00','2039031307:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,8,0,0],[2039,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2039,11,6,6,59,59],[2039,11,6,1,59,59],
+          '2039031308:00:00','2039031303:00:00','2039110606:59:59','2039110601:59:59' ],
+        [ [2039,11,6,7,0,0],[2039,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2040,3,11,7,59,59],[2040,3,11,1,59,59],
+          '2039110607:00:00','2039110601:00:00','2040031107:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,8,0,0],[2040,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2040,11,4,6,59,59],[2040,11,4,1,59,59],
+          '2040031108:00:00','2040031103:00:00','2040110406:59:59','2040110401:59:59' ],
+        [ [2040,11,4,7,0,0],[2040,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2041,3,10,7,59,59],[2041,3,10,1,59,59],
+          '2040110407:00:00','2040110401:00:00','2041031007:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,8,0,0],[2041,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2041,11,3,6,59,59],[2041,11,3,1,59,59],
+          '2041031008:00:00','2041031003:00:00','2041110306:59:59','2041110301:59:59' ],
+        [ [2041,11,3,7,0,0],[2041,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2042,3,9,7,59,59],[2042,3,9,1,59,59],
+          '2041110307:00:00','2041110301:00:00','2042030907:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,8,0,0],[2042,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2042,11,2,6,59,59],[2042,11,2,1,59,59],
+          '2042030908:00:00','2042030903:00:00','2042110206:59:59','2042110201:59:59' ],
+        [ [2042,11,2,7,0,0],[2042,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2043,3,8,7,59,59],[2043,3,8,1,59,59],
+          '2042110207:00:00','2042110201:00:00','2043030807:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,8,0,0],[2043,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2043,11,1,6,59,59],[2043,11,1,1,59,59],
+          '2043030808:00:00','2043030803:00:00','2043110106:59:59','2043110101:59:59' ],
+        [ [2043,11,1,7,0,0],[2043,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2044,3,13,7,59,59],[2044,3,13,1,59,59],
+          '2043110107:00:00','2043110101:00:00','2044031307:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,8,0,0],[2044,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2044,11,6,6,59,59],[2044,11,6,1,59,59],
+          '2044031308:00:00','2044031303:00:00','2044110606:59:59','2044110601:59:59' ],
+        [ [2044,11,6,7,0,0],[2044,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2045,3,12,7,59,59],[2045,3,12,1,59,59],
+          '2044110607:00:00','2044110601:00:00','2045031207:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,8,0,0],[2045,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2045,11,5,6,59,59],[2045,11,5,1,59,59],
+          '2045031208:00:00','2045031203:00:00','2045110506:59:59','2045110501:59:59' ],
+        [ [2045,11,5,7,0,0],[2045,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2046,3,11,7,59,59],[2046,3,11,1,59,59],
+          '2045110507:00:00','2045110501:00:00','2046031107:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,8,0,0],[2046,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2046,11,4,6,59,59],[2046,11,4,1,59,59],
+          '2046031108:00:00','2046031103:00:00','2046110406:59:59','2046110401:59:59' ],
+        [ [2046,11,4,7,0,0],[2046,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2047,3,10,7,59,59],[2047,3,10,1,59,59],
+          '2046110407:00:00','2046110401:00:00','2047031007:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,8,0,0],[2047,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2047,11,3,6,59,59],[2047,11,3,1,59,59],
+          '2047031008:00:00','2047031003:00:00','2047110306:59:59','2047110301:59:59' ],
+        [ [2047,11,3,7,0,0],[2047,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2048,3,8,7,59,59],[2048,3,8,1,59,59],
+          '2047110307:00:00','2047110301:00:00','2048030807:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,8,0,0],[2048,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2048,11,1,6,59,59],[2048,11,1,1,59,59],
+          '2048030808:00:00','2048030803:00:00','2048110106:59:59','2048110101:59:59' ],
+        [ [2048,11,1,7,0,0],[2048,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2049,3,14,7,59,59],[2049,3,14,1,59,59],
+          '2048110107:00:00','2048110101:00:00','2049031407:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,8,0,0],[2049,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2049,11,7,6,59,59],[2049,11,7,1,59,59],
+          '2049031408:00:00','2049031403:00:00','2049110706:59:59','2049110701:59:59' ],
+        [ [2049,11,7,7,0,0],[2049,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2050,3,13,7,59,59],[2050,3,13,1,59,59],
+          '2049110707:00:00','2049110701:00:00','2050031307:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,8,0,0],[2050,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2050,11,6,6,59,59],[2050,11,6,1,59,59],
+          '2050031308:00:00','2050031303:00:00','2050110606:59:59','2050110601:59:59' ],
+        [ [2050,11,6,7,0,0],[2050,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2051,3,12,7,59,59],[2051,3,12,1,59,59],
+          '2050110607:00:00','2050110601:00:00','2051031207:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,8,0,0],[2051,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2051,11,5,6,59,59],[2051,11,5,1,59,59],
+          '2051031208:00:00','2051031203:00:00','2051110506:59:59','2051110501:59:59' ],
+        [ [2051,11,5,7,0,0],[2051,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2052,3,10,7,59,59],[2052,3,10,1,59,59],
+          '2051110507:00:00','2051110501:00:00','2052031007:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,8,0,0],[2052,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2052,11,3,6,59,59],[2052,11,3,1,59,59],
+          '2052031008:00:00','2052031003:00:00','2052110306:59:59','2052110301:59:59' ],
+        [ [2052,11,3,7,0,0],[2052,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2053,3,9,7,59,59],[2053,3,9,1,59,59],
+          '2052110307:00:00','2052110301:00:00','2053030907:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,8,0,0],[2053,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2053,11,2,6,59,59],[2053,11,2,1,59,59],
+          '2053030908:00:00','2053030903:00:00','2053110206:59:59','2053110201:59:59' ],
+        [ [2053,11,2,7,0,0],[2053,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2054,3,8,7,59,59],[2054,3,8,1,59,59],
+          '2053110207:00:00','2053110201:00:00','2054030807:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,8,0,0],[2054,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2054,11,1,6,59,59],[2054,11,1,1,59,59],
+          '2054030808:00:00','2054030803:00:00','2054110106:59:59','2054110101:59:59' ],
+        [ [2054,11,1,7,0,0],[2054,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2055,3,14,7,59,59],[2055,3,14,1,59,59],
+          '2054110107:00:00','2054110101:00:00','2055031407:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,8,0,0],[2055,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2055,11,7,6,59,59],[2055,11,7,1,59,59],
+          '2055031408:00:00','2055031403:00:00','2055110706:59:59','2055110701:59:59' ],
+        [ [2055,11,7,7,0,0],[2055,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2056,3,12,7,59,59],[2056,3,12,1,59,59],
+          '2055110707:00:00','2055110701:00:00','2056031207:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,8,0,0],[2056,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2056,11,5,6,59,59],[2056,11,5,1,59,59],
+          '2056031208:00:00','2056031203:00:00','2056110506:59:59','2056110501:59:59' ],
+        [ [2056,11,5,7,0,0],[2056,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2057,3,11,7,59,59],[2057,3,11,1,59,59],
+          '2056110507:00:00','2056110501:00:00','2057031107:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,8,0,0],[2057,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2057,11,4,6,59,59],[2057,11,4,1,59,59],
+          '2057031108:00:00','2057031103:00:00','2057110406:59:59','2057110401:59:59' ],
+        [ [2057,11,4,7,0,0],[2057,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2058,3,10,7,59,59],[2058,3,10,1,59,59],
+          '2057110407:00:00','2057110401:00:00','2058031007:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,8,0,0],[2058,3,10,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2058,11,3,6,59,59],[2058,11,3,1,59,59],
+          '2058031008:00:00','2058031003:00:00','2058110306:59:59','2058110301:59:59' ],
+        [ [2058,11,3,7,0,0],[2058,11,3,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2059,3,9,7,59,59],[2059,3,9,1,59,59],
+          '2058110307:00:00','2058110301:00:00','2059030907:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,8,0,0],[2059,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2059,11,2,6,59,59],[2059,11,2,1,59,59],
+          '2059030908:00:00','2059030903:00:00','2059110206:59:59','2059110201:59:59' ],
+        [ [2059,11,2,7,0,0],[2059,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2060,3,14,7,59,59],[2060,3,14,1,59,59],
+          '2059110207:00:00','2059110201:00:00','2060031407:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,8,0,0],[2060,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2060,11,7,6,59,59],[2060,11,7,1,59,59],
+          '2060031408:00:00','2060031403:00:00','2060110706:59:59','2060110701:59:59' ],
+        [ [2060,11,7,7,0,0],[2060,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2061,3,13,7,59,59],[2061,3,13,1,59,59],
+          '2060110707:00:00','2060110701:00:00','2061031307:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,8,0,0],[2061,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2061,11,6,6,59,59],[2061,11,6,1,59,59],
+          '2061031308:00:00','2061031303:00:00','2061110606:59:59','2061110601:59:59' ],
+        [ [2061,11,6,7,0,0],[2061,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2062,3,12,7,59,59],[2062,3,12,1,59,59],
+          '2061110607:00:00','2061110601:00:00','2062031207:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,8,0,0],[2062,3,12,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2062,11,5,6,59,59],[2062,11,5,1,59,59],
+          '2062031208:00:00','2062031203:00:00','2062110506:59:59','2062110501:59:59' ],
+        [ [2062,11,5,7,0,0],[2062,11,5,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2063,3,11,7,59,59],[2063,3,11,1,59,59],
+          '2062110507:00:00','2062110501:00:00','2063031107:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,8,0,0],[2063,3,11,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2063,11,4,6,59,59],[2063,11,4,1,59,59],
+          '2063031108:00:00','2063031103:00:00','2063110406:59:59','2063110401:59:59' ],
+        [ [2063,11,4,7,0,0],[2063,11,4,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2064,3,9,7,59,59],[2064,3,9,1,59,59],
+          '2063110407:00:00','2063110401:00:00','2064030907:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,8,0,0],[2064,3,9,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2064,11,2,6,59,59],[2064,11,2,1,59,59],
+          '2064030908:00:00','2064030903:00:00','2064110206:59:59','2064110201:59:59' ],
+        [ [2064,11,2,7,0,0],[2064,11,2,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2065,3,8,7,59,59],[2065,3,8,1,59,59],
+          '2064110207:00:00','2064110201:00:00','2065030807:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,8,0,0],[2065,3,8,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2065,11,1,6,59,59],[2065,11,1,1,59,59],
+          '2065030808:00:00','2065030803:00:00','2065110106:59:59','2065110101:59:59' ],
+        [ [2065,11,1,7,0,0],[2065,11,1,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2066,3,14,7,59,59],[2066,3,14,1,59,59],
+          '2065110107:00:00','2065110101:00:00','2066031407:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,8,0,0],[2066,3,14,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2066,11,7,6,59,59],[2066,11,7,1,59,59],
+          '2066031408:00:00','2066031403:00:00','2066110706:59:59','2066110701:59:59' ],
+        [ [2066,11,7,7,0,0],[2066,11,7,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2067,3,13,7,59,59],[2067,3,13,1,59,59],
+          '2066110707:00:00','2066110701:00:00','2067031307:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,8,0,0],[2067,3,13,3,0,0],'-05:00:00',[-5,0,0],
+          'CDT',1,[2067,11,6,6,59,59],[2067,11,6,1,59,59],
+          '2067031308:00:00','2067031303:00:00','2067110606:59:59','2067110601:59:59' ],
+        [ [2067,11,6,7,0,0],[2067,11,6,1,0,0],'-06:00:00',[-6,0,0],
+          'CST',0,[2068,3,11,7,59,59],[2068,3,11,1,59,59],
+          '2067110607:00:00','2067110601:00:00','2068031107:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amyaku00.pm b/lib/Date/Manip/TZ/amyaku00.pm
new file mode 100644
index 0000000..3191105
--- /dev/null
+++ b/lib/Date/Manip/TZ/amyaku00.pm
@@ -0,0 +1,988 @@
+package #
+Date::Manip::TZ::amyaku00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,14,41,5],'+14:41:05',[14,41,5],
+          'LMT',0,[1867,10,17,9,18,54],[1867,10,17,23,59,59],
+          '0001010200:00:00','0001010214:41:05','1867101709:18:54','1867101723:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,10,17,9,18,55],[1867,10,17,0,0,0],'-09:18:55',[-9,-18,-55],
+          'LMT',0,[1900,8,20,21,18,54],[1900,8,20,11,59,59],
+          '1867101709:18:55','1867101700:00:00','1900082021:18:54','1900082011:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,8,20,21,18,55],[1900,8,20,12,18,55],'-09:00:00',[-9,0,0],
+          'YST',0,[1942,2,9,10,59,59],[1942,2,9,1,59,59],
+          '1900082021:18:55','1900082012:18:55','1942020910:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,11,0,0],[1942,2,9,3,0,0],'-08:00:00',[-8,0,0],
+          'YWT',1,[1945,8,14,22,59,59],[1945,8,14,14,59,59],
+          '1942020911:00:00','1942020903:00:00','1945081422:59:59','1945081414:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,15,0,0],'-08:00:00',[-8,0,0],
+          'YPT',1,[1945,9,30,9,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081415:00:00','1945093009:59:59','1945093001:59:59' ],
+        [ [1945,9,30,10,0,0],[1945,9,30,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1969,4,27,10,59,59],[1969,4,27,1,59,59],
+          '1945093010:00:00','1945093001:00:00','1969042710:59:59','1969042701:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,27,11,0,0],[1969,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1969,10,26,9,59,59],[1969,10,26,1,59,59],
+          '1969042711:00:00','1969042703:00:00','1969102609:59:59','1969102601:59:59' ],
+        [ [1969,10,26,10,0,0],[1969,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1970,4,26,10,59,59],[1970,4,26,1,59,59],
+          '1969102610:00:00','1969102601:00:00','1970042610:59:59','1970042601:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,26,11,0,0],[1970,4,26,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1970,10,25,9,59,59],[1970,10,25,1,59,59],
+          '1970042611:00:00','1970042603:00:00','1970102509:59:59','1970102501:59:59' ],
+        [ [1970,10,25,10,0,0],[1970,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1971,4,25,10,59,59],[1971,4,25,1,59,59],
+          '1970102510:00:00','1970102501:00:00','1971042510:59:59','1971042501:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,25,11,0,0],[1971,4,25,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1971,10,31,9,59,59],[1971,10,31,1,59,59],
+          '1971042511:00:00','1971042503:00:00','1971103109:59:59','1971103101:59:59' ],
+        [ [1971,10,31,10,0,0],[1971,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1972,4,30,10,59,59],[1972,4,30,1,59,59],
+          '1971103110:00:00','1971103101:00:00','1972043010:59:59','1972043001:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,30,11,0,0],[1972,4,30,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1972,10,29,9,59,59],[1972,10,29,1,59,59],
+          '1972043011:00:00','1972043003:00:00','1972102909:59:59','1972102901:59:59' ],
+        [ [1972,10,29,10,0,0],[1972,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1973,4,29,10,59,59],[1973,4,29,1,59,59],
+          '1972102910:00:00','1972102901:00:00','1973042910:59:59','1973042901:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,29,11,0,0],[1973,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1973,10,28,9,59,59],[1973,10,28,1,59,59],
+          '1973042911:00:00','1973042903:00:00','1973102809:59:59','1973102801:59:59' ],
+        [ [1973,10,28,10,0,0],[1973,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1974,1,6,10,59,59],[1974,1,6,1,59,59],
+          '1973102810:00:00','1973102801:00:00','1974010610:59:59','1974010601:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,6,11,0,0],[1974,1,6,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1974,10,27,9,59,59],[1974,10,27,1,59,59],
+          '1974010611:00:00','1974010603:00:00','1974102709:59:59','1974102701:59:59' ],
+        [ [1974,10,27,10,0,0],[1974,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1975,2,23,10,59,59],[1975,2,23,1,59,59],
+          '1974102710:00:00','1974102701:00:00','1975022310:59:59','1975022301:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,23,11,0,0],[1975,2,23,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1975,10,26,9,59,59],[1975,10,26,1,59,59],
+          '1975022311:00:00','1975022303:00:00','1975102609:59:59','1975102601:59:59' ],
+        [ [1975,10,26,10,0,0],[1975,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1976,4,25,10,59,59],[1976,4,25,1,59,59],
+          '1975102610:00:00','1975102601:00:00','1976042510:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,11,0,0],[1976,4,25,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1976,10,31,9,59,59],[1976,10,31,1,59,59],
+          '1976042511:00:00','1976042503:00:00','1976103109:59:59','1976103101:59:59' ],
+        [ [1976,10,31,10,0,0],[1976,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1977,4,24,10,59,59],[1977,4,24,1,59,59],
+          '1976103110:00:00','1976103101:00:00','1977042410:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,11,0,0],[1977,4,24,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1977,10,30,9,59,59],[1977,10,30,1,59,59],
+          '1977042411:00:00','1977042403:00:00','1977103009:59:59','1977103001:59:59' ],
+        [ [1977,10,30,10,0,0],[1977,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1978,4,30,10,59,59],[1978,4,30,1,59,59],
+          '1977103010:00:00','1977103001:00:00','1978043010:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,11,0,0],[1978,4,30,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1978,10,29,9,59,59],[1978,10,29,1,59,59],
+          '1978043011:00:00','1978043003:00:00','1978102909:59:59','1978102901:59:59' ],
+        [ [1978,10,29,10,0,0],[1978,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1979,4,29,10,59,59],[1979,4,29,1,59,59],
+          '1978102910:00:00','1978102901:00:00','1979042910:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,11,0,0],[1979,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1979,10,28,9,59,59],[1979,10,28,1,59,59],
+          '1979042911:00:00','1979042903:00:00','1979102809:59:59','1979102801:59:59' ],
+        [ [1979,10,28,10,0,0],[1979,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1980,4,27,10,59,59],[1980,4,27,1,59,59],
+          '1979102810:00:00','1979102801:00:00','1980042710:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,11,0,0],[1980,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1980,10,26,9,59,59],[1980,10,26,1,59,59],
+          '1980042711:00:00','1980042703:00:00','1980102609:59:59','1980102601:59:59' ],
+        [ [1980,10,26,10,0,0],[1980,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1981,4,26,10,59,59],[1981,4,26,1,59,59],
+          '1980102610:00:00','1980102601:00:00','1981042610:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,11,0,0],[1981,4,26,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1981,10,25,9,59,59],[1981,10,25,1,59,59],
+          '1981042611:00:00','1981042603:00:00','1981102509:59:59','1981102501:59:59' ],
+        [ [1981,10,25,10,0,0],[1981,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1982,4,25,10,59,59],[1982,4,25,1,59,59],
+          '1981102510:00:00','1981102501:00:00','1982042510:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,11,0,0],[1982,4,25,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1982,10,31,9,59,59],[1982,10,31,1,59,59],
+          '1982042511:00:00','1982042503:00:00','1982103109:59:59','1982103101:59:59' ],
+        [ [1982,10,31,10,0,0],[1982,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,4,24,10,59,59],[1983,4,24,1,59,59],
+          '1982103110:00:00','1982103101:00:00','1983042410:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,11,0,0],[1983,4,24,3,0,0],'-08:00:00',[-8,0,0],
+          'YDT',1,[1983,10,30,9,59,59],[1983,10,30,1,59,59],
+          '1983042411:00:00','1983042403:00:00','1983103009:59:59','1983103001:59:59' ],
+        [ [1983,10,30,10,0,0],[1983,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'YST',0,[1983,11,30,8,59,59],[1983,11,29,23,59,59],
+          '1983103010:00:00','1983103001:00:00','1983113008:59:59','1983112923:59:59' ],
+        [ [1983,11,30,9,0,0],[1983,11,30,0,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1984,4,29,10,59,59],[1984,4,29,1,59,59],
+          '1983113009:00:00','1983113000:00:00','1984042910:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,11,0,0],[1984,4,29,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1984,10,28,9,59,59],[1984,10,28,1,59,59],
+          '1984042911:00:00','1984042903:00:00','1984102809:59:59','1984102801:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1985,4,28,10,59,59],[1985,4,28,1,59,59],
+          '1984102810:00:00','1984102801:00:00','1985042810:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,11,0,0],[1985,4,28,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1985,10,27,9,59,59],[1985,10,27,1,59,59],
+          '1985042811:00:00','1985042803:00:00','1985102709:59:59','1985102701:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1986,4,27,10,59,59],[1986,4,27,1,59,59],
+          '1985102710:00:00','1985102701:00:00','1986042710:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,11,0,0],[1986,4,27,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1986,10,26,9,59,59],[1986,10,26,1,59,59],
+          '1986042711:00:00','1986042703:00:00','1986102609:59:59','1986102601:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1987,4,5,10,59,59],[1987,4,5,1,59,59],
+          '1986102610:00:00','1986102601:00:00','1987040510:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,11,0,0],[1987,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1987,10,25,9,59,59],[1987,10,25,1,59,59],
+          '1987040511:00:00','1987040503:00:00','1987102509:59:59','1987102501:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1988,4,3,10,59,59],[1988,4,3,1,59,59],
+          '1987102510:00:00','1987102501:00:00','1988040310:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,11,0,0],[1988,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1988,10,30,9,59,59],[1988,10,30,1,59,59],
+          '1988040311:00:00','1988040303:00:00','1988103009:59:59','1988103001:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1989,4,2,10,59,59],[1989,4,2,1,59,59],
+          '1988103010:00:00','1988103001:00:00','1989040210:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,11,0,0],[1989,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1989,10,29,9,59,59],[1989,10,29,1,59,59],
+          '1989040211:00:00','1989040203:00:00','1989102909:59:59','1989102901:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1990,4,1,10,59,59],[1990,4,1,1,59,59],
+          '1989102910:00:00','1989102901:00:00','1990040110:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,11,0,0],[1990,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1990,10,28,9,59,59],[1990,10,28,1,59,59],
+          '1990040111:00:00','1990040103:00:00','1990102809:59:59','1990102801:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1991,4,7,10,59,59],[1991,4,7,1,59,59],
+          '1990102810:00:00','1990102801:00:00','1991040710:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,11,0,0],[1991,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1991,10,27,9,59,59],[1991,10,27,1,59,59],
+          '1991040711:00:00','1991040703:00:00','1991102709:59:59','1991102701:59:59' ],
+        [ [1991,10,27,10,0,0],[1991,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1992,4,5,10,59,59],[1992,4,5,1,59,59],
+          '1991102710:00:00','1991102701:00:00','1992040510:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,11,0,0],[1992,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1992,10,25,9,59,59],[1992,10,25,1,59,59],
+          '1992040511:00:00','1992040503:00:00','1992102509:59:59','1992102501:59:59' ],
+        [ [1992,10,25,10,0,0],[1992,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1993,4,4,10,59,59],[1993,4,4,1,59,59],
+          '1992102510:00:00','1992102501:00:00','1993040410:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,11,0,0],[1993,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1993,10,31,9,59,59],[1993,10,31,1,59,59],
+          '1993040411:00:00','1993040403:00:00','1993103109:59:59','1993103101:59:59' ],
+        [ [1993,10,31,10,0,0],[1993,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1994,4,3,10,59,59],[1994,4,3,1,59,59],
+          '1993103110:00:00','1993103101:00:00','1994040310:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,11,0,0],[1994,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1994,10,30,9,59,59],[1994,10,30,1,59,59],
+          '1994040311:00:00','1994040303:00:00','1994103009:59:59','1994103001:59:59' ],
+        [ [1994,10,30,10,0,0],[1994,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1995,4,2,10,59,59],[1995,4,2,1,59,59],
+          '1994103010:00:00','1994103001:00:00','1995040210:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,11,0,0],[1995,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1995,10,29,9,59,59],[1995,10,29,1,59,59],
+          '1995040211:00:00','1995040203:00:00','1995102909:59:59','1995102901:59:59' ],
+        [ [1995,10,29,10,0,0],[1995,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1996,4,7,10,59,59],[1996,4,7,1,59,59],
+          '1995102910:00:00','1995102901:00:00','1996040710:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,11,0,0],[1996,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1996,10,27,9,59,59],[1996,10,27,1,59,59],
+          '1996040711:00:00','1996040703:00:00','1996102709:59:59','1996102701:59:59' ],
+        [ [1996,10,27,10,0,0],[1996,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1997,4,6,10,59,59],[1997,4,6,1,59,59],
+          '1996102710:00:00','1996102701:00:00','1997040610:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,11,0,0],[1997,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1997,10,26,9,59,59],[1997,10,26,1,59,59],
+          '1997040611:00:00','1997040603:00:00','1997102609:59:59','1997102601:59:59' ],
+        [ [1997,10,26,10,0,0],[1997,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1998,4,5,10,59,59],[1998,4,5,1,59,59],
+          '1997102610:00:00','1997102601:00:00','1998040510:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,11,0,0],[1998,4,5,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1998,10,25,9,59,59],[1998,10,25,1,59,59],
+          '1998040511:00:00','1998040503:00:00','1998102509:59:59','1998102501:59:59' ],
+        [ [1998,10,25,10,0,0],[1998,10,25,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[1999,4,4,10,59,59],[1999,4,4,1,59,59],
+          '1998102510:00:00','1998102501:00:00','1999040410:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,11,0,0],[1999,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[1999,10,31,9,59,59],[1999,10,31,1,59,59],
+          '1999040411:00:00','1999040403:00:00','1999103109:59:59','1999103101:59:59' ],
+        [ [1999,10,31,10,0,0],[1999,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2000,4,2,10,59,59],[2000,4,2,1,59,59],
+          '1999103110:00:00','1999103101:00:00','2000040210:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,11,0,0],[2000,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2000,10,29,9,59,59],[2000,10,29,1,59,59],
+          '2000040211:00:00','2000040203:00:00','2000102909:59:59','2000102901:59:59' ],
+        [ [2000,10,29,10,0,0],[2000,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2001,4,1,10,59,59],[2001,4,1,1,59,59],
+          '2000102910:00:00','2000102901:00:00','2001040110:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,11,0,0],[2001,4,1,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2001,10,28,9,59,59],[2001,10,28,1,59,59],
+          '2001040111:00:00','2001040103:00:00','2001102809:59:59','2001102801:59:59' ],
+        [ [2001,10,28,10,0,0],[2001,10,28,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2002,4,7,10,59,59],[2002,4,7,1,59,59],
+          '2001102810:00:00','2001102801:00:00','2002040710:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,11,0,0],[2002,4,7,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2002,10,27,9,59,59],[2002,10,27,1,59,59],
+          '2002040711:00:00','2002040703:00:00','2002102709:59:59','2002102701:59:59' ],
+        [ [2002,10,27,10,0,0],[2002,10,27,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2003,4,6,10,59,59],[2003,4,6,1,59,59],
+          '2002102710:00:00','2002102701:00:00','2003040610:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,11,0,0],[2003,4,6,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2003,10,26,9,59,59],[2003,10,26,1,59,59],
+          '2003040611:00:00','2003040603:00:00','2003102609:59:59','2003102601:59:59' ],
+        [ [2003,10,26,10,0,0],[2003,10,26,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2004,4,4,10,59,59],[2004,4,4,1,59,59],
+          '2003102610:00:00','2003102601:00:00','2004040410:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,11,0,0],[2004,4,4,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2004,10,31,9,59,59],[2004,10,31,1,59,59],
+          '2004040411:00:00','2004040403:00:00','2004103109:59:59','2004103101:59:59' ],
+        [ [2004,10,31,10,0,0],[2004,10,31,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2005,4,3,10,59,59],[2005,4,3,1,59,59],
+          '2004103110:00:00','2004103101:00:00','2005040310:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,11,0,0],[2005,4,3,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2005,10,30,9,59,59],[2005,10,30,1,59,59],
+          '2005040311:00:00','2005040303:00:00','2005103009:59:59','2005103001:59:59' ],
+        [ [2005,10,30,10,0,0],[2005,10,30,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2006,4,2,10,59,59],[2006,4,2,1,59,59],
+          '2005103010:00:00','2005103001:00:00','2006040210:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,11,0,0],[2006,4,2,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2006,10,29,9,59,59],[2006,10,29,1,59,59],
+          '2006040211:00:00','2006040203:00:00','2006102909:59:59','2006102901:59:59' ],
+        [ [2006,10,29,10,0,0],[2006,10,29,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2007,3,11,10,59,59],[2007,3,11,1,59,59],
+          '2006102910:00:00','2006102901:00:00','2007031110:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,11,0,0],[2007,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2007,11,4,9,59,59],[2007,11,4,1,59,59],
+          '2007031111:00:00','2007031103:00:00','2007110409:59:59','2007110401:59:59' ],
+        [ [2007,11,4,10,0,0],[2007,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2008,3,9,10,59,59],[2008,3,9,1,59,59],
+          '2007110410:00:00','2007110401:00:00','2008030910:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,11,0,0],[2008,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2008,11,2,9,59,59],[2008,11,2,1,59,59],
+          '2008030911:00:00','2008030903:00:00','2008110209:59:59','2008110201:59:59' ],
+        [ [2008,11,2,10,0,0],[2008,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2009,3,8,10,59,59],[2009,3,8,1,59,59],
+          '2008110210:00:00','2008110201:00:00','2009030810:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,11,0,0],[2009,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2009,11,1,9,59,59],[2009,11,1,1,59,59],
+          '2009030811:00:00','2009030803:00:00','2009110109:59:59','2009110101:59:59' ],
+        [ [2009,11,1,10,0,0],[2009,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2010,3,14,10,59,59],[2010,3,14,1,59,59],
+          '2009110110:00:00','2009110101:00:00','2010031410:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,11,0,0],[2010,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2010,11,7,9,59,59],[2010,11,7,1,59,59],
+          '2010031411:00:00','2010031403:00:00','2010110709:59:59','2010110701:59:59' ],
+        [ [2010,11,7,10,0,0],[2010,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2011,3,13,10,59,59],[2011,3,13,1,59,59],
+          '2010110710:00:00','2010110701:00:00','2011031310:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,11,0,0],[2011,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2011,11,6,9,59,59],[2011,11,6,1,59,59],
+          '2011031311:00:00','2011031303:00:00','2011110609:59:59','2011110601:59:59' ],
+        [ [2011,11,6,10,0,0],[2011,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2012,3,11,10,59,59],[2012,3,11,1,59,59],
+          '2011110610:00:00','2011110601:00:00','2012031110:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,11,0,0],[2012,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2012,11,4,9,59,59],[2012,11,4,1,59,59],
+          '2012031111:00:00','2012031103:00:00','2012110409:59:59','2012110401:59:59' ],
+        [ [2012,11,4,10,0,0],[2012,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2013,3,10,10,59,59],[2013,3,10,1,59,59],
+          '2012110410:00:00','2012110401:00:00','2013031010:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,11,0,0],[2013,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2013,11,3,9,59,59],[2013,11,3,1,59,59],
+          '2013031011:00:00','2013031003:00:00','2013110309:59:59','2013110301:59:59' ],
+        [ [2013,11,3,10,0,0],[2013,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2014,3,9,10,59,59],[2014,3,9,1,59,59],
+          '2013110310:00:00','2013110301:00:00','2014030910:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,11,0,0],[2014,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2014,11,2,9,59,59],[2014,11,2,1,59,59],
+          '2014030911:00:00','2014030903:00:00','2014110209:59:59','2014110201:59:59' ],
+        [ [2014,11,2,10,0,0],[2014,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2015,3,8,10,59,59],[2015,3,8,1,59,59],
+          '2014110210:00:00','2014110201:00:00','2015030810:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,11,0,0],[2015,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2015,11,1,9,59,59],[2015,11,1,1,59,59],
+          '2015030811:00:00','2015030803:00:00','2015110109:59:59','2015110101:59:59' ],
+        [ [2015,11,1,10,0,0],[2015,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2016,3,13,10,59,59],[2016,3,13,1,59,59],
+          '2015110110:00:00','2015110101:00:00','2016031310:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,11,0,0],[2016,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2016,11,6,9,59,59],[2016,11,6,1,59,59],
+          '2016031311:00:00','2016031303:00:00','2016110609:59:59','2016110601:59:59' ],
+        [ [2016,11,6,10,0,0],[2016,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2017,3,12,10,59,59],[2017,3,12,1,59,59],
+          '2016110610:00:00','2016110601:00:00','2017031210:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,11,0,0],[2017,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2017,11,5,9,59,59],[2017,11,5,1,59,59],
+          '2017031211:00:00','2017031203:00:00','2017110509:59:59','2017110501:59:59' ],
+        [ [2017,11,5,10,0,0],[2017,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2018,3,11,10,59,59],[2018,3,11,1,59,59],
+          '2017110510:00:00','2017110501:00:00','2018031110:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,11,0,0],[2018,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2018,11,4,9,59,59],[2018,11,4,1,59,59],
+          '2018031111:00:00','2018031103:00:00','2018110409:59:59','2018110401:59:59' ],
+        [ [2018,11,4,10,0,0],[2018,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2019,3,10,10,59,59],[2019,3,10,1,59,59],
+          '2018110410:00:00','2018110401:00:00','2019031010:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,11,0,0],[2019,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2019,11,3,9,59,59],[2019,11,3,1,59,59],
+          '2019031011:00:00','2019031003:00:00','2019110309:59:59','2019110301:59:59' ],
+        [ [2019,11,3,10,0,0],[2019,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2020,3,8,10,59,59],[2020,3,8,1,59,59],
+          '2019110310:00:00','2019110301:00:00','2020030810:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,11,0,0],[2020,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2020,11,1,9,59,59],[2020,11,1,1,59,59],
+          '2020030811:00:00','2020030803:00:00','2020110109:59:59','2020110101:59:59' ],
+        [ [2020,11,1,10,0,0],[2020,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2021,3,14,10,59,59],[2021,3,14,1,59,59],
+          '2020110110:00:00','2020110101:00:00','2021031410:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,11,0,0],[2021,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2021,11,7,9,59,59],[2021,11,7,1,59,59],
+          '2021031411:00:00','2021031403:00:00','2021110709:59:59','2021110701:59:59' ],
+        [ [2021,11,7,10,0,0],[2021,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2022,3,13,10,59,59],[2022,3,13,1,59,59],
+          '2021110710:00:00','2021110701:00:00','2022031310:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,11,0,0],[2022,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2022,11,6,9,59,59],[2022,11,6,1,59,59],
+          '2022031311:00:00','2022031303:00:00','2022110609:59:59','2022110601:59:59' ],
+        [ [2022,11,6,10,0,0],[2022,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2023,3,12,10,59,59],[2023,3,12,1,59,59],
+          '2022110610:00:00','2022110601:00:00','2023031210:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,11,0,0],[2023,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2023,11,5,9,59,59],[2023,11,5,1,59,59],
+          '2023031211:00:00','2023031203:00:00','2023110509:59:59','2023110501:59:59' ],
+        [ [2023,11,5,10,0,0],[2023,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2024,3,10,10,59,59],[2024,3,10,1,59,59],
+          '2023110510:00:00','2023110501:00:00','2024031010:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,11,0,0],[2024,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2024,11,3,9,59,59],[2024,11,3,1,59,59],
+          '2024031011:00:00','2024031003:00:00','2024110309:59:59','2024110301:59:59' ],
+        [ [2024,11,3,10,0,0],[2024,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2025,3,9,10,59,59],[2025,3,9,1,59,59],
+          '2024110310:00:00','2024110301:00:00','2025030910:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,11,0,0],[2025,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2025,11,2,9,59,59],[2025,11,2,1,59,59],
+          '2025030911:00:00','2025030903:00:00','2025110209:59:59','2025110201:59:59' ],
+        [ [2025,11,2,10,0,0],[2025,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2026,3,8,10,59,59],[2026,3,8,1,59,59],
+          '2025110210:00:00','2025110201:00:00','2026030810:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,11,0,0],[2026,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2026,11,1,9,59,59],[2026,11,1,1,59,59],
+          '2026030811:00:00','2026030803:00:00','2026110109:59:59','2026110101:59:59' ],
+        [ [2026,11,1,10,0,0],[2026,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2027,3,14,10,59,59],[2027,3,14,1,59,59],
+          '2026110110:00:00','2026110101:00:00','2027031410:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,11,0,0],[2027,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2027,11,7,9,59,59],[2027,11,7,1,59,59],
+          '2027031411:00:00','2027031403:00:00','2027110709:59:59','2027110701:59:59' ],
+        [ [2027,11,7,10,0,0],[2027,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2028,3,12,10,59,59],[2028,3,12,1,59,59],
+          '2027110710:00:00','2027110701:00:00','2028031210:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,11,0,0],[2028,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2028,11,5,9,59,59],[2028,11,5,1,59,59],
+          '2028031211:00:00','2028031203:00:00','2028110509:59:59','2028110501:59:59' ],
+        [ [2028,11,5,10,0,0],[2028,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2029,3,11,10,59,59],[2029,3,11,1,59,59],
+          '2028110510:00:00','2028110501:00:00','2029031110:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,11,0,0],[2029,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2029,11,4,9,59,59],[2029,11,4,1,59,59],
+          '2029031111:00:00','2029031103:00:00','2029110409:59:59','2029110401:59:59' ],
+        [ [2029,11,4,10,0,0],[2029,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2030,3,10,10,59,59],[2030,3,10,1,59,59],
+          '2029110410:00:00','2029110401:00:00','2030031010:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,11,0,0],[2030,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2030,11,3,9,59,59],[2030,11,3,1,59,59],
+          '2030031011:00:00','2030031003:00:00','2030110309:59:59','2030110301:59:59' ],
+        [ [2030,11,3,10,0,0],[2030,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2031,3,9,10,59,59],[2031,3,9,1,59,59],
+          '2030110310:00:00','2030110301:00:00','2031030910:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,11,0,0],[2031,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2031,11,2,9,59,59],[2031,11,2,1,59,59],
+          '2031030911:00:00','2031030903:00:00','2031110209:59:59','2031110201:59:59' ],
+        [ [2031,11,2,10,0,0],[2031,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2032,3,14,10,59,59],[2032,3,14,1,59,59],
+          '2031110210:00:00','2031110201:00:00','2032031410:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,11,0,0],[2032,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2032,11,7,9,59,59],[2032,11,7,1,59,59],
+          '2032031411:00:00','2032031403:00:00','2032110709:59:59','2032110701:59:59' ],
+        [ [2032,11,7,10,0,0],[2032,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2033,3,13,10,59,59],[2033,3,13,1,59,59],
+          '2032110710:00:00','2032110701:00:00','2033031310:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,11,0,0],[2033,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2033,11,6,9,59,59],[2033,11,6,1,59,59],
+          '2033031311:00:00','2033031303:00:00','2033110609:59:59','2033110601:59:59' ],
+        [ [2033,11,6,10,0,0],[2033,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2034,3,12,10,59,59],[2034,3,12,1,59,59],
+          '2033110610:00:00','2033110601:00:00','2034031210:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,11,0,0],[2034,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2034,11,5,9,59,59],[2034,11,5,1,59,59],
+          '2034031211:00:00','2034031203:00:00','2034110509:59:59','2034110501:59:59' ],
+        [ [2034,11,5,10,0,0],[2034,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2035,3,11,10,59,59],[2035,3,11,1,59,59],
+          '2034110510:00:00','2034110501:00:00','2035031110:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,11,0,0],[2035,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2035,11,4,9,59,59],[2035,11,4,1,59,59],
+          '2035031111:00:00','2035031103:00:00','2035110409:59:59','2035110401:59:59' ],
+        [ [2035,11,4,10,0,0],[2035,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2036,3,9,10,59,59],[2036,3,9,1,59,59],
+          '2035110410:00:00','2035110401:00:00','2036030910:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,11,0,0],[2036,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2036,11,2,9,59,59],[2036,11,2,1,59,59],
+          '2036030911:00:00','2036030903:00:00','2036110209:59:59','2036110201:59:59' ],
+        [ [2036,11,2,10,0,0],[2036,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2037,3,8,10,59,59],[2037,3,8,1,59,59],
+          '2036110210:00:00','2036110201:00:00','2037030810:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,11,0,0],[2037,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2037,11,1,9,59,59],[2037,11,1,1,59,59],
+          '2037030811:00:00','2037030803:00:00','2037110109:59:59','2037110101:59:59' ],
+        [ [2037,11,1,10,0,0],[2037,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2038,3,14,10,59,59],[2038,3,14,1,59,59],
+          '2037110110:00:00','2037110101:00:00','2038031410:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,11,0,0],[2038,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2038,11,7,9,59,59],[2038,11,7,1,59,59],
+          '2038031411:00:00','2038031403:00:00','2038110709:59:59','2038110701:59:59' ],
+        [ [2038,11,7,10,0,0],[2038,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2039,3,13,10,59,59],[2039,3,13,1,59,59],
+          '2038110710:00:00','2038110701:00:00','2039031310:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,11,0,0],[2039,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2039,11,6,9,59,59],[2039,11,6,1,59,59],
+          '2039031311:00:00','2039031303:00:00','2039110609:59:59','2039110601:59:59' ],
+        [ [2039,11,6,10,0,0],[2039,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2040,3,11,10,59,59],[2040,3,11,1,59,59],
+          '2039110610:00:00','2039110601:00:00','2040031110:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,11,0,0],[2040,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2040,11,4,9,59,59],[2040,11,4,1,59,59],
+          '2040031111:00:00','2040031103:00:00','2040110409:59:59','2040110401:59:59' ],
+        [ [2040,11,4,10,0,0],[2040,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2041,3,10,10,59,59],[2041,3,10,1,59,59],
+          '2040110410:00:00','2040110401:00:00','2041031010:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,11,0,0],[2041,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2041,11,3,9,59,59],[2041,11,3,1,59,59],
+          '2041031011:00:00','2041031003:00:00','2041110309:59:59','2041110301:59:59' ],
+        [ [2041,11,3,10,0,0],[2041,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2042,3,9,10,59,59],[2042,3,9,1,59,59],
+          '2041110310:00:00','2041110301:00:00','2042030910:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,11,0,0],[2042,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2042,11,2,9,59,59],[2042,11,2,1,59,59],
+          '2042030911:00:00','2042030903:00:00','2042110209:59:59','2042110201:59:59' ],
+        [ [2042,11,2,10,0,0],[2042,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2043,3,8,10,59,59],[2043,3,8,1,59,59],
+          '2042110210:00:00','2042110201:00:00','2043030810:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,11,0,0],[2043,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2043,11,1,9,59,59],[2043,11,1,1,59,59],
+          '2043030811:00:00','2043030803:00:00','2043110109:59:59','2043110101:59:59' ],
+        [ [2043,11,1,10,0,0],[2043,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2044,3,13,10,59,59],[2044,3,13,1,59,59],
+          '2043110110:00:00','2043110101:00:00','2044031310:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,11,0,0],[2044,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2044,11,6,9,59,59],[2044,11,6,1,59,59],
+          '2044031311:00:00','2044031303:00:00','2044110609:59:59','2044110601:59:59' ],
+        [ [2044,11,6,10,0,0],[2044,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2045,3,12,10,59,59],[2045,3,12,1,59,59],
+          '2044110610:00:00','2044110601:00:00','2045031210:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,11,0,0],[2045,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2045,11,5,9,59,59],[2045,11,5,1,59,59],
+          '2045031211:00:00','2045031203:00:00','2045110509:59:59','2045110501:59:59' ],
+        [ [2045,11,5,10,0,0],[2045,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2046,3,11,10,59,59],[2046,3,11,1,59,59],
+          '2045110510:00:00','2045110501:00:00','2046031110:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,11,0,0],[2046,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2046,11,4,9,59,59],[2046,11,4,1,59,59],
+          '2046031111:00:00','2046031103:00:00','2046110409:59:59','2046110401:59:59' ],
+        [ [2046,11,4,10,0,0],[2046,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2047,3,10,10,59,59],[2047,3,10,1,59,59],
+          '2046110410:00:00','2046110401:00:00','2047031010:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,11,0,0],[2047,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2047,11,3,9,59,59],[2047,11,3,1,59,59],
+          '2047031011:00:00','2047031003:00:00','2047110309:59:59','2047110301:59:59' ],
+        [ [2047,11,3,10,0,0],[2047,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2048,3,8,10,59,59],[2048,3,8,1,59,59],
+          '2047110310:00:00','2047110301:00:00','2048030810:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,11,0,0],[2048,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2048,11,1,9,59,59],[2048,11,1,1,59,59],
+          '2048030811:00:00','2048030803:00:00','2048110109:59:59','2048110101:59:59' ],
+        [ [2048,11,1,10,0,0],[2048,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2049,3,14,10,59,59],[2049,3,14,1,59,59],
+          '2048110110:00:00','2048110101:00:00','2049031410:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,11,0,0],[2049,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2049,11,7,9,59,59],[2049,11,7,1,59,59],
+          '2049031411:00:00','2049031403:00:00','2049110709:59:59','2049110701:59:59' ],
+        [ [2049,11,7,10,0,0],[2049,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2050,3,13,10,59,59],[2050,3,13,1,59,59],
+          '2049110710:00:00','2049110701:00:00','2050031310:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,11,0,0],[2050,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2050,11,6,9,59,59],[2050,11,6,1,59,59],
+          '2050031311:00:00','2050031303:00:00','2050110609:59:59','2050110601:59:59' ],
+        [ [2050,11,6,10,0,0],[2050,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2051,3,12,10,59,59],[2051,3,12,1,59,59],
+          '2050110610:00:00','2050110601:00:00','2051031210:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,11,0,0],[2051,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2051,11,5,9,59,59],[2051,11,5,1,59,59],
+          '2051031211:00:00','2051031203:00:00','2051110509:59:59','2051110501:59:59' ],
+        [ [2051,11,5,10,0,0],[2051,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2052,3,10,10,59,59],[2052,3,10,1,59,59],
+          '2051110510:00:00','2051110501:00:00','2052031010:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,11,0,0],[2052,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2052,11,3,9,59,59],[2052,11,3,1,59,59],
+          '2052031011:00:00','2052031003:00:00','2052110309:59:59','2052110301:59:59' ],
+        [ [2052,11,3,10,0,0],[2052,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2053,3,9,10,59,59],[2053,3,9,1,59,59],
+          '2052110310:00:00','2052110301:00:00','2053030910:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,11,0,0],[2053,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2053,11,2,9,59,59],[2053,11,2,1,59,59],
+          '2053030911:00:00','2053030903:00:00','2053110209:59:59','2053110201:59:59' ],
+        [ [2053,11,2,10,0,0],[2053,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2054,3,8,10,59,59],[2054,3,8,1,59,59],
+          '2053110210:00:00','2053110201:00:00','2054030810:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,11,0,0],[2054,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2054,11,1,9,59,59],[2054,11,1,1,59,59],
+          '2054030811:00:00','2054030803:00:00','2054110109:59:59','2054110101:59:59' ],
+        [ [2054,11,1,10,0,0],[2054,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2055,3,14,10,59,59],[2055,3,14,1,59,59],
+          '2054110110:00:00','2054110101:00:00','2055031410:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,11,0,0],[2055,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2055,11,7,9,59,59],[2055,11,7,1,59,59],
+          '2055031411:00:00','2055031403:00:00','2055110709:59:59','2055110701:59:59' ],
+        [ [2055,11,7,10,0,0],[2055,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2056,3,12,10,59,59],[2056,3,12,1,59,59],
+          '2055110710:00:00','2055110701:00:00','2056031210:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,11,0,0],[2056,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2056,11,5,9,59,59],[2056,11,5,1,59,59],
+          '2056031211:00:00','2056031203:00:00','2056110509:59:59','2056110501:59:59' ],
+        [ [2056,11,5,10,0,0],[2056,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2057,3,11,10,59,59],[2057,3,11,1,59,59],
+          '2056110510:00:00','2056110501:00:00','2057031110:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,11,0,0],[2057,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2057,11,4,9,59,59],[2057,11,4,1,59,59],
+          '2057031111:00:00','2057031103:00:00','2057110409:59:59','2057110401:59:59' ],
+        [ [2057,11,4,10,0,0],[2057,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2058,3,10,10,59,59],[2058,3,10,1,59,59],
+          '2057110410:00:00','2057110401:00:00','2058031010:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,11,0,0],[2058,3,10,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2058,11,3,9,59,59],[2058,11,3,1,59,59],
+          '2058031011:00:00','2058031003:00:00','2058110309:59:59','2058110301:59:59' ],
+        [ [2058,11,3,10,0,0],[2058,11,3,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2059,3,9,10,59,59],[2059,3,9,1,59,59],
+          '2058110310:00:00','2058110301:00:00','2059030910:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,11,0,0],[2059,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2059,11,2,9,59,59],[2059,11,2,1,59,59],
+          '2059030911:00:00','2059030903:00:00','2059110209:59:59','2059110201:59:59' ],
+        [ [2059,11,2,10,0,0],[2059,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2060,3,14,10,59,59],[2060,3,14,1,59,59],
+          '2059110210:00:00','2059110201:00:00','2060031410:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,11,0,0],[2060,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2060,11,7,9,59,59],[2060,11,7,1,59,59],
+          '2060031411:00:00','2060031403:00:00','2060110709:59:59','2060110701:59:59' ],
+        [ [2060,11,7,10,0,0],[2060,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2061,3,13,10,59,59],[2061,3,13,1,59,59],
+          '2060110710:00:00','2060110701:00:00','2061031310:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,11,0,0],[2061,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2061,11,6,9,59,59],[2061,11,6,1,59,59],
+          '2061031311:00:00','2061031303:00:00','2061110609:59:59','2061110601:59:59' ],
+        [ [2061,11,6,10,0,0],[2061,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2062,3,12,10,59,59],[2062,3,12,1,59,59],
+          '2061110610:00:00','2061110601:00:00','2062031210:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,11,0,0],[2062,3,12,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2062,11,5,9,59,59],[2062,11,5,1,59,59],
+          '2062031211:00:00','2062031203:00:00','2062110509:59:59','2062110501:59:59' ],
+        [ [2062,11,5,10,0,0],[2062,11,5,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2063,3,11,10,59,59],[2063,3,11,1,59,59],
+          '2062110510:00:00','2062110501:00:00','2063031110:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,11,0,0],[2063,3,11,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2063,11,4,9,59,59],[2063,11,4,1,59,59],
+          '2063031111:00:00','2063031103:00:00','2063110409:59:59','2063110401:59:59' ],
+        [ [2063,11,4,10,0,0],[2063,11,4,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2064,3,9,10,59,59],[2064,3,9,1,59,59],
+          '2063110410:00:00','2063110401:00:00','2064030910:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,11,0,0],[2064,3,9,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2064,11,2,9,59,59],[2064,11,2,1,59,59],
+          '2064030911:00:00','2064030903:00:00','2064110209:59:59','2064110201:59:59' ],
+        [ [2064,11,2,10,0,0],[2064,11,2,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2065,3,8,10,59,59],[2065,3,8,1,59,59],
+          '2064110210:00:00','2064110201:00:00','2065030810:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,11,0,0],[2065,3,8,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2065,11,1,9,59,59],[2065,11,1,1,59,59],
+          '2065030811:00:00','2065030803:00:00','2065110109:59:59','2065110101:59:59' ],
+        [ [2065,11,1,10,0,0],[2065,11,1,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2066,3,14,10,59,59],[2066,3,14,1,59,59],
+          '2065110110:00:00','2065110101:00:00','2066031410:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,11,0,0],[2066,3,14,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2066,11,7,9,59,59],[2066,11,7,1,59,59],
+          '2066031411:00:00','2066031403:00:00','2066110709:59:59','2066110701:59:59' ],
+        [ [2066,11,7,10,0,0],[2066,11,7,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2067,3,13,10,59,59],[2067,3,13,1,59,59],
+          '2066110710:00:00','2066110701:00:00','2067031310:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,11,0,0],[2067,3,13,3,0,0],'-08:00:00',[-8,0,0],
+          'AKDT',1,[2067,11,6,9,59,59],[2067,11,6,1,59,59],
+          '2067031311:00:00','2067031303:00:00','2067110609:59:59','2067110601:59:59' ],
+        [ [2067,11,6,10,0,0],[2067,11,6,1,0,0],'-09:00:00',[-9,0,0],
+          'AKST',0,[2068,3,11,10,59,59],[2068,3,11,1,59,59],
+          '2067110610:00:00','2067110601:00:00','2068031110:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-08:00:00',
+                'stdoff' => '-09:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AKDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AKST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/amyell00.pm b/lib/Date/Manip/TZ/amyell00.pm
new file mode 100644
index 0000000..f530339
--- /dev/null
+++ b/lib/Date/Manip/TZ/amyell00.pm
@@ -0,0 +1,889 @@
+package #
+Date::Manip::TZ::amyell00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1934,12,31,23,59,59],[1934,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1934123123:59:59','1934123123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,1,1,0,0,0],[1934,12,31,17,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1942,2,9,8,59,59],[1942,2,9,1,59,59],
+          '1935010100:00:00','1934123117:00:00','1942020908:59:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,9,0,0],[1942,2,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MWT',1,[1945,8,14,22,59,59],[1945,8,14,16,59,59],
+          '1942020909:00:00','1942020903:00:00','1945081422:59:59','1945081416:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,14,23,0,0],[1945,8,14,17,0,0],'-06:00:00',[-6,0,0],
+          'MPT',1,[1945,9,30,7,59,59],[1945,9,30,1,59,59],
+          '1945081423:00:00','1945081417:00:00','1945093007:59:59','1945093001:59:59' ],
+        [ [1945,9,30,8,0,0],[1945,9,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1965,4,25,6,59,59],[1965,4,24,23,59,59],
+          '1945093008:00:00','1945093001:00:00','1965042506:59:59','1965042423:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,7,0,0],[1965,4,25,2,0,0],'-05:00:00',[-5,0,0],
+          'MDDT',1,[1965,10,31,6,59,59],[1965,10,31,1,59,59],
+          '1965042507:00:00','1965042502:00:00','1965103106:59:59','1965103101:59:59' ],
+        [ [1965,10,31,7,0,0],[1965,10,31,0,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1980,4,27,8,59,59],[1980,4,27,1,59,59],
+          '1965103107:00:00','1965103100:00:00','1980042708:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,9,0,0],[1980,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1980,10,26,7,59,59],[1980,10,26,1,59,59],
+          '1980042709:00:00','1980042703:00:00','1980102607:59:59','1980102601:59:59' ],
+        [ [1980,10,26,8,0,0],[1980,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1981,4,26,8,59,59],[1981,4,26,1,59,59],
+          '1980102608:00:00','1980102601:00:00','1981042608:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,9,0,0],[1981,4,26,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1981,10,25,7,59,59],[1981,10,25,1,59,59],
+          '1981042609:00:00','1981042603:00:00','1981102507:59:59','1981102501:59:59' ],
+        [ [1981,10,25,8,0,0],[1981,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1982,4,25,8,59,59],[1982,4,25,1,59,59],
+          '1981102508:00:00','1981102501:00:00','1982042508:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,9,0,0],[1982,4,25,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1982,10,31,7,59,59],[1982,10,31,1,59,59],
+          '1982042509:00:00','1982042503:00:00','1982103107:59:59','1982103101:59:59' ],
+        [ [1982,10,31,8,0,0],[1982,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1983,4,24,8,59,59],[1983,4,24,1,59,59],
+          '1982103108:00:00','1982103101:00:00','1983042408:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,9,0,0],[1983,4,24,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1983,10,30,7,59,59],[1983,10,30,1,59,59],
+          '1983042409:00:00','1983042403:00:00','1983103007:59:59','1983103001:59:59' ],
+        [ [1983,10,30,8,0,0],[1983,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1984,4,29,8,59,59],[1984,4,29,1,59,59],
+          '1983103008:00:00','1983103001:00:00','1984042908:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,9,0,0],[1984,4,29,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1984,10,28,7,59,59],[1984,10,28,1,59,59],
+          '1984042909:00:00','1984042903:00:00','1984102807:59:59','1984102801:59:59' ],
+        [ [1984,10,28,8,0,0],[1984,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1985,4,28,8,59,59],[1985,4,28,1,59,59],
+          '1984102808:00:00','1984102801:00:00','1985042808:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,9,0,0],[1985,4,28,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1985,10,27,7,59,59],[1985,10,27,1,59,59],
+          '1985042809:00:00','1985042803:00:00','1985102707:59:59','1985102701:59:59' ],
+        [ [1985,10,27,8,0,0],[1985,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1986,4,27,8,59,59],[1986,4,27,1,59,59],
+          '1985102708:00:00','1985102701:00:00','1986042708:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,9,0,0],[1986,4,27,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1986,10,26,7,59,59],[1986,10,26,1,59,59],
+          '1986042709:00:00','1986042703:00:00','1986102607:59:59','1986102601:59:59' ],
+        [ [1986,10,26,8,0,0],[1986,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1987,4,5,8,59,59],[1987,4,5,1,59,59],
+          '1986102608:00:00','1986102601:00:00','1987040508:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,9,0,0],[1987,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1987,10,25,7,59,59],[1987,10,25,1,59,59],
+          '1987040509:00:00','1987040503:00:00','1987102507:59:59','1987102501:59:59' ],
+        [ [1987,10,25,8,0,0],[1987,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1988,4,3,8,59,59],[1988,4,3,1,59,59],
+          '1987102508:00:00','1987102501:00:00','1988040308:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,9,0,0],[1988,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1988,10,30,7,59,59],[1988,10,30,1,59,59],
+          '1988040309:00:00','1988040303:00:00','1988103007:59:59','1988103001:59:59' ],
+        [ [1988,10,30,8,0,0],[1988,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1989,4,2,8,59,59],[1989,4,2,1,59,59],
+          '1988103008:00:00','1988103001:00:00','1989040208:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,9,0,0],[1989,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1989,10,29,7,59,59],[1989,10,29,1,59,59],
+          '1989040209:00:00','1989040203:00:00','1989102907:59:59','1989102901:59:59' ],
+        [ [1989,10,29,8,0,0],[1989,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1990,4,1,8,59,59],[1990,4,1,1,59,59],
+          '1989102908:00:00','1989102901:00:00','1990040108:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,9,0,0],[1990,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1990,10,28,7,59,59],[1990,10,28,1,59,59],
+          '1990040109:00:00','1990040103:00:00','1990102807:59:59','1990102801:59:59' ],
+        [ [1990,10,28,8,0,0],[1990,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1991,4,7,8,59,59],[1991,4,7,1,59,59],
+          '1990102808:00:00','1990102801:00:00','1991040708:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,9,0,0],[1991,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1991,10,27,7,59,59],[1991,10,27,1,59,59],
+          '1991040709:00:00','1991040703:00:00','1991102707:59:59','1991102701:59:59' ],
+        [ [1991,10,27,8,0,0],[1991,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1992,4,5,8,59,59],[1992,4,5,1,59,59],
+          '1991102708:00:00','1991102701:00:00','1992040508:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,9,0,0],[1992,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1992,10,25,7,59,59],[1992,10,25,1,59,59],
+          '1992040509:00:00','1992040503:00:00','1992102507:59:59','1992102501:59:59' ],
+        [ [1992,10,25,8,0,0],[1992,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1993,4,4,8,59,59],[1993,4,4,1,59,59],
+          '1992102508:00:00','1992102501:00:00','1993040408:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,9,0,0],[1993,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1993,10,31,7,59,59],[1993,10,31,1,59,59],
+          '1993040409:00:00','1993040403:00:00','1993103107:59:59','1993103101:59:59' ],
+        [ [1993,10,31,8,0,0],[1993,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1994,4,3,8,59,59],[1994,4,3,1,59,59],
+          '1993103108:00:00','1993103101:00:00','1994040308:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,9,0,0],[1994,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1994,10,30,7,59,59],[1994,10,30,1,59,59],
+          '1994040309:00:00','1994040303:00:00','1994103007:59:59','1994103001:59:59' ],
+        [ [1994,10,30,8,0,0],[1994,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1995,4,2,8,59,59],[1995,4,2,1,59,59],
+          '1994103008:00:00','1994103001:00:00','1995040208:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,9,0,0],[1995,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1995,10,29,7,59,59],[1995,10,29,1,59,59],
+          '1995040209:00:00','1995040203:00:00','1995102907:59:59','1995102901:59:59' ],
+        [ [1995,10,29,8,0,0],[1995,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1996,4,7,8,59,59],[1996,4,7,1,59,59],
+          '1995102908:00:00','1995102901:00:00','1996040708:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,9,0,0],[1996,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1996,10,27,7,59,59],[1996,10,27,1,59,59],
+          '1996040709:00:00','1996040703:00:00','1996102707:59:59','1996102701:59:59' ],
+        [ [1996,10,27,8,0,0],[1996,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1997,4,6,8,59,59],[1997,4,6,1,59,59],
+          '1996102708:00:00','1996102701:00:00','1997040608:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,9,0,0],[1997,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1997,10,26,7,59,59],[1997,10,26,1,59,59],
+          '1997040609:00:00','1997040603:00:00','1997102607:59:59','1997102601:59:59' ],
+        [ [1997,10,26,8,0,0],[1997,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1998,4,5,8,59,59],[1998,4,5,1,59,59],
+          '1997102608:00:00','1997102601:00:00','1998040508:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,9,0,0],[1998,4,5,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1998,10,25,7,59,59],[1998,10,25,1,59,59],
+          '1998040509:00:00','1998040503:00:00','1998102507:59:59','1998102501:59:59' ],
+        [ [1998,10,25,8,0,0],[1998,10,25,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[1999,4,4,8,59,59],[1999,4,4,1,59,59],
+          '1998102508:00:00','1998102501:00:00','1999040408:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,9,0,0],[1999,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[1999,10,31,7,59,59],[1999,10,31,1,59,59],
+          '1999040409:00:00','1999040403:00:00','1999103107:59:59','1999103101:59:59' ],
+        [ [1999,10,31,8,0,0],[1999,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2000,4,2,8,59,59],[2000,4,2,1,59,59],
+          '1999103108:00:00','1999103101:00:00','2000040208:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,9,0,0],[2000,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2000,10,29,7,59,59],[2000,10,29,1,59,59],
+          '2000040209:00:00','2000040203:00:00','2000102907:59:59','2000102901:59:59' ],
+        [ [2000,10,29,8,0,0],[2000,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2001,4,1,8,59,59],[2001,4,1,1,59,59],
+          '2000102908:00:00','2000102901:00:00','2001040108:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,9,0,0],[2001,4,1,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2001,10,28,7,59,59],[2001,10,28,1,59,59],
+          '2001040109:00:00','2001040103:00:00','2001102807:59:59','2001102801:59:59' ],
+        [ [2001,10,28,8,0,0],[2001,10,28,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2002,4,7,8,59,59],[2002,4,7,1,59,59],
+          '2001102808:00:00','2001102801:00:00','2002040708:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,9,0,0],[2002,4,7,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2002,10,27,7,59,59],[2002,10,27,1,59,59],
+          '2002040709:00:00','2002040703:00:00','2002102707:59:59','2002102701:59:59' ],
+        [ [2002,10,27,8,0,0],[2002,10,27,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2003,4,6,8,59,59],[2003,4,6,1,59,59],
+          '2002102708:00:00','2002102701:00:00','2003040608:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,9,0,0],[2003,4,6,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2003,10,26,7,59,59],[2003,10,26,1,59,59],
+          '2003040609:00:00','2003040603:00:00','2003102607:59:59','2003102601:59:59' ],
+        [ [2003,10,26,8,0,0],[2003,10,26,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2004,4,4,8,59,59],[2004,4,4,1,59,59],
+          '2003102608:00:00','2003102601:00:00','2004040408:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,9,0,0],[2004,4,4,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2004,10,31,7,59,59],[2004,10,31,1,59,59],
+          '2004040409:00:00','2004040403:00:00','2004103107:59:59','2004103101:59:59' ],
+        [ [2004,10,31,8,0,0],[2004,10,31,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2005,4,3,8,59,59],[2005,4,3,1,59,59],
+          '2004103108:00:00','2004103101:00:00','2005040308:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,9,0,0],[2005,4,3,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2005,10,30,7,59,59],[2005,10,30,1,59,59],
+          '2005040309:00:00','2005040303:00:00','2005103007:59:59','2005103001:59:59' ],
+        [ [2005,10,30,8,0,0],[2005,10,30,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2006,4,2,8,59,59],[2006,4,2,1,59,59],
+          '2005103008:00:00','2005103001:00:00','2006040208:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,9,0,0],[2006,4,2,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2006,10,29,7,59,59],[2006,10,29,1,59,59],
+          '2006040209:00:00','2006040203:00:00','2006102907:59:59','2006102901:59:59' ],
+        [ [2006,10,29,8,0,0],[2006,10,29,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2007,3,11,8,59,59],[2007,3,11,1,59,59],
+          '2006102908:00:00','2006102901:00:00','2007031108:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,9,0,0],[2007,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2007,11,4,7,59,59],[2007,11,4,1,59,59],
+          '2007031109:00:00','2007031103:00:00','2007110407:59:59','2007110401:59:59' ],
+        [ [2007,11,4,8,0,0],[2007,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2008,3,9,8,59,59],[2008,3,9,1,59,59],
+          '2007110408:00:00','2007110401:00:00','2008030908:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,9,0,0],[2008,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2008,11,2,7,59,59],[2008,11,2,1,59,59],
+          '2008030909:00:00','2008030903:00:00','2008110207:59:59','2008110201:59:59' ],
+        [ [2008,11,2,8,0,0],[2008,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2009,3,8,8,59,59],[2009,3,8,1,59,59],
+          '2008110208:00:00','2008110201:00:00','2009030808:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,9,0,0],[2009,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2009,11,1,7,59,59],[2009,11,1,1,59,59],
+          '2009030809:00:00','2009030803:00:00','2009110107:59:59','2009110101:59:59' ],
+        [ [2009,11,1,8,0,0],[2009,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2010,3,14,8,59,59],[2010,3,14,1,59,59],
+          '2009110108:00:00','2009110101:00:00','2010031408:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,9,0,0],[2010,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2010,11,7,7,59,59],[2010,11,7,1,59,59],
+          '2010031409:00:00','2010031403:00:00','2010110707:59:59','2010110701:59:59' ],
+        [ [2010,11,7,8,0,0],[2010,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2011,3,13,8,59,59],[2011,3,13,1,59,59],
+          '2010110708:00:00','2010110701:00:00','2011031308:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,9,0,0],[2011,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2011,11,6,7,59,59],[2011,11,6,1,59,59],
+          '2011031309:00:00','2011031303:00:00','2011110607:59:59','2011110601:59:59' ],
+        [ [2011,11,6,8,0,0],[2011,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2012,3,11,8,59,59],[2012,3,11,1,59,59],
+          '2011110608:00:00','2011110601:00:00','2012031108:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,9,0,0],[2012,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2012,11,4,7,59,59],[2012,11,4,1,59,59],
+          '2012031109:00:00','2012031103:00:00','2012110407:59:59','2012110401:59:59' ],
+        [ [2012,11,4,8,0,0],[2012,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2013,3,10,8,59,59],[2013,3,10,1,59,59],
+          '2012110408:00:00','2012110401:00:00','2013031008:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,9,0,0],[2013,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2013,11,3,7,59,59],[2013,11,3,1,59,59],
+          '2013031009:00:00','2013031003:00:00','2013110307:59:59','2013110301:59:59' ],
+        [ [2013,11,3,8,0,0],[2013,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2014,3,9,8,59,59],[2014,3,9,1,59,59],
+          '2013110308:00:00','2013110301:00:00','2014030908:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,9,0,0],[2014,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2014,11,2,7,59,59],[2014,11,2,1,59,59],
+          '2014030909:00:00','2014030903:00:00','2014110207:59:59','2014110201:59:59' ],
+        [ [2014,11,2,8,0,0],[2014,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2015,3,8,8,59,59],[2015,3,8,1,59,59],
+          '2014110208:00:00','2014110201:00:00','2015030808:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,9,0,0],[2015,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2015,11,1,7,59,59],[2015,11,1,1,59,59],
+          '2015030809:00:00','2015030803:00:00','2015110107:59:59','2015110101:59:59' ],
+        [ [2015,11,1,8,0,0],[2015,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2016,3,13,8,59,59],[2016,3,13,1,59,59],
+          '2015110108:00:00','2015110101:00:00','2016031308:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,9,0,0],[2016,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2016,11,6,7,59,59],[2016,11,6,1,59,59],
+          '2016031309:00:00','2016031303:00:00','2016110607:59:59','2016110601:59:59' ],
+        [ [2016,11,6,8,0,0],[2016,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2017,3,12,8,59,59],[2017,3,12,1,59,59],
+          '2016110608:00:00','2016110601:00:00','2017031208:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,9,0,0],[2017,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2017,11,5,7,59,59],[2017,11,5,1,59,59],
+          '2017031209:00:00','2017031203:00:00','2017110507:59:59','2017110501:59:59' ],
+        [ [2017,11,5,8,0,0],[2017,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2018,3,11,8,59,59],[2018,3,11,1,59,59],
+          '2017110508:00:00','2017110501:00:00','2018031108:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,9,0,0],[2018,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2018,11,4,7,59,59],[2018,11,4,1,59,59],
+          '2018031109:00:00','2018031103:00:00','2018110407:59:59','2018110401:59:59' ],
+        [ [2018,11,4,8,0,0],[2018,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2019,3,10,8,59,59],[2019,3,10,1,59,59],
+          '2018110408:00:00','2018110401:00:00','2019031008:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,9,0,0],[2019,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2019,11,3,7,59,59],[2019,11,3,1,59,59],
+          '2019031009:00:00','2019031003:00:00','2019110307:59:59','2019110301:59:59' ],
+        [ [2019,11,3,8,0,0],[2019,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2020,3,8,8,59,59],[2020,3,8,1,59,59],
+          '2019110308:00:00','2019110301:00:00','2020030808:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,9,0,0],[2020,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2020,11,1,7,59,59],[2020,11,1,1,59,59],
+          '2020030809:00:00','2020030803:00:00','2020110107:59:59','2020110101:59:59' ],
+        [ [2020,11,1,8,0,0],[2020,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2021,3,14,8,59,59],[2021,3,14,1,59,59],
+          '2020110108:00:00','2020110101:00:00','2021031408:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,9,0,0],[2021,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2021,11,7,7,59,59],[2021,11,7,1,59,59],
+          '2021031409:00:00','2021031403:00:00','2021110707:59:59','2021110701:59:59' ],
+        [ [2021,11,7,8,0,0],[2021,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2022,3,13,8,59,59],[2022,3,13,1,59,59],
+          '2021110708:00:00','2021110701:00:00','2022031308:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,9,0,0],[2022,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2022,11,6,7,59,59],[2022,11,6,1,59,59],
+          '2022031309:00:00','2022031303:00:00','2022110607:59:59','2022110601:59:59' ],
+        [ [2022,11,6,8,0,0],[2022,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2023,3,12,8,59,59],[2023,3,12,1,59,59],
+          '2022110608:00:00','2022110601:00:00','2023031208:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,9,0,0],[2023,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2023,11,5,7,59,59],[2023,11,5,1,59,59],
+          '2023031209:00:00','2023031203:00:00','2023110507:59:59','2023110501:59:59' ],
+        [ [2023,11,5,8,0,0],[2023,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2024,3,10,8,59,59],[2024,3,10,1,59,59],
+          '2023110508:00:00','2023110501:00:00','2024031008:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,9,0,0],[2024,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2024,11,3,7,59,59],[2024,11,3,1,59,59],
+          '2024031009:00:00','2024031003:00:00','2024110307:59:59','2024110301:59:59' ],
+        [ [2024,11,3,8,0,0],[2024,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2025,3,9,8,59,59],[2025,3,9,1,59,59],
+          '2024110308:00:00','2024110301:00:00','2025030908:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,9,0,0],[2025,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2025,11,2,7,59,59],[2025,11,2,1,59,59],
+          '2025030909:00:00','2025030903:00:00','2025110207:59:59','2025110201:59:59' ],
+        [ [2025,11,2,8,0,0],[2025,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2026,3,8,8,59,59],[2026,3,8,1,59,59],
+          '2025110208:00:00','2025110201:00:00','2026030808:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,9,0,0],[2026,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2026,11,1,7,59,59],[2026,11,1,1,59,59],
+          '2026030809:00:00','2026030803:00:00','2026110107:59:59','2026110101:59:59' ],
+        [ [2026,11,1,8,0,0],[2026,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2027,3,14,8,59,59],[2027,3,14,1,59,59],
+          '2026110108:00:00','2026110101:00:00','2027031408:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,9,0,0],[2027,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2027,11,7,7,59,59],[2027,11,7,1,59,59],
+          '2027031409:00:00','2027031403:00:00','2027110707:59:59','2027110701:59:59' ],
+        [ [2027,11,7,8,0,0],[2027,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2028,3,12,8,59,59],[2028,3,12,1,59,59],
+          '2027110708:00:00','2027110701:00:00','2028031208:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,9,0,0],[2028,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2028,11,5,7,59,59],[2028,11,5,1,59,59],
+          '2028031209:00:00','2028031203:00:00','2028110507:59:59','2028110501:59:59' ],
+        [ [2028,11,5,8,0,0],[2028,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2029,3,11,8,59,59],[2029,3,11,1,59,59],
+          '2028110508:00:00','2028110501:00:00','2029031108:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,9,0,0],[2029,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2029,11,4,7,59,59],[2029,11,4,1,59,59],
+          '2029031109:00:00','2029031103:00:00','2029110407:59:59','2029110401:59:59' ],
+        [ [2029,11,4,8,0,0],[2029,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2030,3,10,8,59,59],[2030,3,10,1,59,59],
+          '2029110408:00:00','2029110401:00:00','2030031008:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,9,0,0],[2030,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2030,11,3,7,59,59],[2030,11,3,1,59,59],
+          '2030031009:00:00','2030031003:00:00','2030110307:59:59','2030110301:59:59' ],
+        [ [2030,11,3,8,0,0],[2030,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2031,3,9,8,59,59],[2031,3,9,1,59,59],
+          '2030110308:00:00','2030110301:00:00','2031030908:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,9,0,0],[2031,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2031,11,2,7,59,59],[2031,11,2,1,59,59],
+          '2031030909:00:00','2031030903:00:00','2031110207:59:59','2031110201:59:59' ],
+        [ [2031,11,2,8,0,0],[2031,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2032,3,14,8,59,59],[2032,3,14,1,59,59],
+          '2031110208:00:00','2031110201:00:00','2032031408:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,9,0,0],[2032,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2032,11,7,7,59,59],[2032,11,7,1,59,59],
+          '2032031409:00:00','2032031403:00:00','2032110707:59:59','2032110701:59:59' ],
+        [ [2032,11,7,8,0,0],[2032,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2033,3,13,8,59,59],[2033,3,13,1,59,59],
+          '2032110708:00:00','2032110701:00:00','2033031308:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,9,0,0],[2033,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2033,11,6,7,59,59],[2033,11,6,1,59,59],
+          '2033031309:00:00','2033031303:00:00','2033110607:59:59','2033110601:59:59' ],
+        [ [2033,11,6,8,0,0],[2033,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2034,3,12,8,59,59],[2034,3,12,1,59,59],
+          '2033110608:00:00','2033110601:00:00','2034031208:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,9,0,0],[2034,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2034,11,5,7,59,59],[2034,11,5,1,59,59],
+          '2034031209:00:00','2034031203:00:00','2034110507:59:59','2034110501:59:59' ],
+        [ [2034,11,5,8,0,0],[2034,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2035,3,11,8,59,59],[2035,3,11,1,59,59],
+          '2034110508:00:00','2034110501:00:00','2035031108:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,9,0,0],[2035,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2035,11,4,7,59,59],[2035,11,4,1,59,59],
+          '2035031109:00:00','2035031103:00:00','2035110407:59:59','2035110401:59:59' ],
+        [ [2035,11,4,8,0,0],[2035,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2036,3,9,8,59,59],[2036,3,9,1,59,59],
+          '2035110408:00:00','2035110401:00:00','2036030908:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,9,0,0],[2036,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2036,11,2,7,59,59],[2036,11,2,1,59,59],
+          '2036030909:00:00','2036030903:00:00','2036110207:59:59','2036110201:59:59' ],
+        [ [2036,11,2,8,0,0],[2036,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2037,3,8,8,59,59],[2037,3,8,1,59,59],
+          '2036110208:00:00','2036110201:00:00','2037030808:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,9,0,0],[2037,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2037,11,1,7,59,59],[2037,11,1,1,59,59],
+          '2037030809:00:00','2037030803:00:00','2037110107:59:59','2037110101:59:59' ],
+        [ [2037,11,1,8,0,0],[2037,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2038,3,14,8,59,59],[2038,3,14,1,59,59],
+          '2037110108:00:00','2037110101:00:00','2038031408:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,9,0,0],[2038,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2038,11,7,7,59,59],[2038,11,7,1,59,59],
+          '2038031409:00:00','2038031403:00:00','2038110707:59:59','2038110701:59:59' ],
+        [ [2038,11,7,8,0,0],[2038,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2039,3,13,8,59,59],[2039,3,13,1,59,59],
+          '2038110708:00:00','2038110701:00:00','2039031308:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,9,0,0],[2039,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2039,11,6,7,59,59],[2039,11,6,1,59,59],
+          '2039031309:00:00','2039031303:00:00','2039110607:59:59','2039110601:59:59' ],
+        [ [2039,11,6,8,0,0],[2039,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2040,3,11,8,59,59],[2040,3,11,1,59,59],
+          '2039110608:00:00','2039110601:00:00','2040031108:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,9,0,0],[2040,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2040,11,4,7,59,59],[2040,11,4,1,59,59],
+          '2040031109:00:00','2040031103:00:00','2040110407:59:59','2040110401:59:59' ],
+        [ [2040,11,4,8,0,0],[2040,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2041,3,10,8,59,59],[2041,3,10,1,59,59],
+          '2040110408:00:00','2040110401:00:00','2041031008:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,9,0,0],[2041,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2041,11,3,7,59,59],[2041,11,3,1,59,59],
+          '2041031009:00:00','2041031003:00:00','2041110307:59:59','2041110301:59:59' ],
+        [ [2041,11,3,8,0,0],[2041,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2042,3,9,8,59,59],[2042,3,9,1,59,59],
+          '2041110308:00:00','2041110301:00:00','2042030908:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,9,0,0],[2042,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2042,11,2,7,59,59],[2042,11,2,1,59,59],
+          '2042030909:00:00','2042030903:00:00','2042110207:59:59','2042110201:59:59' ],
+        [ [2042,11,2,8,0,0],[2042,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2043,3,8,8,59,59],[2043,3,8,1,59,59],
+          '2042110208:00:00','2042110201:00:00','2043030808:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,9,0,0],[2043,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2043,11,1,7,59,59],[2043,11,1,1,59,59],
+          '2043030809:00:00','2043030803:00:00','2043110107:59:59','2043110101:59:59' ],
+        [ [2043,11,1,8,0,0],[2043,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2044,3,13,8,59,59],[2044,3,13,1,59,59],
+          '2043110108:00:00','2043110101:00:00','2044031308:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,9,0,0],[2044,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2044,11,6,7,59,59],[2044,11,6,1,59,59],
+          '2044031309:00:00','2044031303:00:00','2044110607:59:59','2044110601:59:59' ],
+        [ [2044,11,6,8,0,0],[2044,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2045,3,12,8,59,59],[2045,3,12,1,59,59],
+          '2044110608:00:00','2044110601:00:00','2045031208:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,9,0,0],[2045,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2045,11,5,7,59,59],[2045,11,5,1,59,59],
+          '2045031209:00:00','2045031203:00:00','2045110507:59:59','2045110501:59:59' ],
+        [ [2045,11,5,8,0,0],[2045,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2046,3,11,8,59,59],[2046,3,11,1,59,59],
+          '2045110508:00:00','2045110501:00:00','2046031108:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,9,0,0],[2046,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2046,11,4,7,59,59],[2046,11,4,1,59,59],
+          '2046031109:00:00','2046031103:00:00','2046110407:59:59','2046110401:59:59' ],
+        [ [2046,11,4,8,0,0],[2046,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2047,3,10,8,59,59],[2047,3,10,1,59,59],
+          '2046110408:00:00','2046110401:00:00','2047031008:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,9,0,0],[2047,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2047,11,3,7,59,59],[2047,11,3,1,59,59],
+          '2047031009:00:00','2047031003:00:00','2047110307:59:59','2047110301:59:59' ],
+        [ [2047,11,3,8,0,0],[2047,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2048,3,8,8,59,59],[2048,3,8,1,59,59],
+          '2047110308:00:00','2047110301:00:00','2048030808:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,9,0,0],[2048,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2048,11,1,7,59,59],[2048,11,1,1,59,59],
+          '2048030809:00:00','2048030803:00:00','2048110107:59:59','2048110101:59:59' ],
+        [ [2048,11,1,8,0,0],[2048,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2049,3,14,8,59,59],[2049,3,14,1,59,59],
+          '2048110108:00:00','2048110101:00:00','2049031408:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,9,0,0],[2049,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2049,11,7,7,59,59],[2049,11,7,1,59,59],
+          '2049031409:00:00','2049031403:00:00','2049110707:59:59','2049110701:59:59' ],
+        [ [2049,11,7,8,0,0],[2049,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2050,3,13,8,59,59],[2050,3,13,1,59,59],
+          '2049110708:00:00','2049110701:00:00','2050031308:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,9,0,0],[2050,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2050,11,6,7,59,59],[2050,11,6,1,59,59],
+          '2050031309:00:00','2050031303:00:00','2050110607:59:59','2050110601:59:59' ],
+        [ [2050,11,6,8,0,0],[2050,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2051,3,12,8,59,59],[2051,3,12,1,59,59],
+          '2050110608:00:00','2050110601:00:00','2051031208:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,9,0,0],[2051,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2051,11,5,7,59,59],[2051,11,5,1,59,59],
+          '2051031209:00:00','2051031203:00:00','2051110507:59:59','2051110501:59:59' ],
+        [ [2051,11,5,8,0,0],[2051,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2052,3,10,8,59,59],[2052,3,10,1,59,59],
+          '2051110508:00:00','2051110501:00:00','2052031008:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,9,0,0],[2052,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2052,11,3,7,59,59],[2052,11,3,1,59,59],
+          '2052031009:00:00','2052031003:00:00','2052110307:59:59','2052110301:59:59' ],
+        [ [2052,11,3,8,0,0],[2052,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2053,3,9,8,59,59],[2053,3,9,1,59,59],
+          '2052110308:00:00','2052110301:00:00','2053030908:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,9,0,0],[2053,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2053,11,2,7,59,59],[2053,11,2,1,59,59],
+          '2053030909:00:00','2053030903:00:00','2053110207:59:59','2053110201:59:59' ],
+        [ [2053,11,2,8,0,0],[2053,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2054,3,8,8,59,59],[2054,3,8,1,59,59],
+          '2053110208:00:00','2053110201:00:00','2054030808:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,9,0,0],[2054,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2054,11,1,7,59,59],[2054,11,1,1,59,59],
+          '2054030809:00:00','2054030803:00:00','2054110107:59:59','2054110101:59:59' ],
+        [ [2054,11,1,8,0,0],[2054,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2055,3,14,8,59,59],[2055,3,14,1,59,59],
+          '2054110108:00:00','2054110101:00:00','2055031408:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,9,0,0],[2055,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2055,11,7,7,59,59],[2055,11,7,1,59,59],
+          '2055031409:00:00','2055031403:00:00','2055110707:59:59','2055110701:59:59' ],
+        [ [2055,11,7,8,0,0],[2055,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2056,3,12,8,59,59],[2056,3,12,1,59,59],
+          '2055110708:00:00','2055110701:00:00','2056031208:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,9,0,0],[2056,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2056,11,5,7,59,59],[2056,11,5,1,59,59],
+          '2056031209:00:00','2056031203:00:00','2056110507:59:59','2056110501:59:59' ],
+        [ [2056,11,5,8,0,0],[2056,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2057,3,11,8,59,59],[2057,3,11,1,59,59],
+          '2056110508:00:00','2056110501:00:00','2057031108:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,9,0,0],[2057,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2057,11,4,7,59,59],[2057,11,4,1,59,59],
+          '2057031109:00:00','2057031103:00:00','2057110407:59:59','2057110401:59:59' ],
+        [ [2057,11,4,8,0,0],[2057,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2058,3,10,8,59,59],[2058,3,10,1,59,59],
+          '2057110408:00:00','2057110401:00:00','2058031008:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,9,0,0],[2058,3,10,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2058,11,3,7,59,59],[2058,11,3,1,59,59],
+          '2058031009:00:00','2058031003:00:00','2058110307:59:59','2058110301:59:59' ],
+        [ [2058,11,3,8,0,0],[2058,11,3,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2059,3,9,8,59,59],[2059,3,9,1,59,59],
+          '2058110308:00:00','2058110301:00:00','2059030908:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,9,0,0],[2059,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2059,11,2,7,59,59],[2059,11,2,1,59,59],
+          '2059030909:00:00','2059030903:00:00','2059110207:59:59','2059110201:59:59' ],
+        [ [2059,11,2,8,0,0],[2059,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2060,3,14,8,59,59],[2060,3,14,1,59,59],
+          '2059110208:00:00','2059110201:00:00','2060031408:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,9,0,0],[2060,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2060,11,7,7,59,59],[2060,11,7,1,59,59],
+          '2060031409:00:00','2060031403:00:00','2060110707:59:59','2060110701:59:59' ],
+        [ [2060,11,7,8,0,0],[2060,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2061,3,13,8,59,59],[2061,3,13,1,59,59],
+          '2060110708:00:00','2060110701:00:00','2061031308:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,9,0,0],[2061,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2061,11,6,7,59,59],[2061,11,6,1,59,59],
+          '2061031309:00:00','2061031303:00:00','2061110607:59:59','2061110601:59:59' ],
+        [ [2061,11,6,8,0,0],[2061,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2062,3,12,8,59,59],[2062,3,12,1,59,59],
+          '2061110608:00:00','2061110601:00:00','2062031208:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,9,0,0],[2062,3,12,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2062,11,5,7,59,59],[2062,11,5,1,59,59],
+          '2062031209:00:00','2062031203:00:00','2062110507:59:59','2062110501:59:59' ],
+        [ [2062,11,5,8,0,0],[2062,11,5,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2063,3,11,8,59,59],[2063,3,11,1,59,59],
+          '2062110508:00:00','2062110501:00:00','2063031108:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,9,0,0],[2063,3,11,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2063,11,4,7,59,59],[2063,11,4,1,59,59],
+          '2063031109:00:00','2063031103:00:00','2063110407:59:59','2063110401:59:59' ],
+        [ [2063,11,4,8,0,0],[2063,11,4,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2064,3,9,8,59,59],[2064,3,9,1,59,59],
+          '2063110408:00:00','2063110401:00:00','2064030908:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,9,0,0],[2064,3,9,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2064,11,2,7,59,59],[2064,11,2,1,59,59],
+          '2064030909:00:00','2064030903:00:00','2064110207:59:59','2064110201:59:59' ],
+        [ [2064,11,2,8,0,0],[2064,11,2,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2065,3,8,8,59,59],[2065,3,8,1,59,59],
+          '2064110208:00:00','2064110201:00:00','2065030808:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,9,0,0],[2065,3,8,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2065,11,1,7,59,59],[2065,11,1,1,59,59],
+          '2065030809:00:00','2065030803:00:00','2065110107:59:59','2065110101:59:59' ],
+        [ [2065,11,1,8,0,0],[2065,11,1,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2066,3,14,8,59,59],[2066,3,14,1,59,59],
+          '2065110108:00:00','2065110101:00:00','2066031408:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,9,0,0],[2066,3,14,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2066,11,7,7,59,59],[2066,11,7,1,59,59],
+          '2066031409:00:00','2066031403:00:00','2066110707:59:59','2066110701:59:59' ],
+        [ [2066,11,7,8,0,0],[2066,11,7,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2067,3,13,8,59,59],[2067,3,13,1,59,59],
+          '2066110708:00:00','2066110701:00:00','2067031308:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,9,0,0],[2067,3,13,3,0,0],'-06:00:00',[-6,0,0],
+          'MDT',1,[2067,11,6,7,59,59],[2067,11,6,1,59,59],
+          '2067031309:00:00','2067031303:00:00','2067110607:59:59','2067110601:59:59' ],
+        [ [2067,11,6,8,0,0],[2067,11,6,1,0,0],'-07:00:00',[-7,0,0],
+          'MST',0,[2068,3,11,8,59,59],[2068,3,11,1,59,59],
+          '2067110608:00:00','2067110601:00:00','2068031108:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-06:00:00',
+                'stdoff' => '-07:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MDT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ancase00.pm b/lib/Date/Manip/TZ/ancase00.pm
new file mode 100644
index 0000000..a587552
--- /dev/null
+++ b/lib/Date/Manip/TZ/ancase00.pm
@@ -0,0 +1,79 @@
+package #
+Date::Manip::TZ::ancase00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1968,12,31,23,59,59],[1968,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1968123123:59:59','1968123123:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,1,1,0,0,0],[1969,1,1,8,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2009,10,17,17,59,59],[2009,10,18,1,59,59],
+          '1969010100:00:00','1969010108:00:00','2009101717:59:59','2009101801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,10,17,18,0,0],[2009,10,18,5,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2010,3,4,14,59,59],[2010,3,5,1,59,59],
+          '2009101718:00:00','2009101805:00:00','2010030414:59:59','2010030501:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,4,15,0,0],[2010,3,4,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2011,10,27,17,59,59],[2011,10,28,1,59,59],
+          '2010030415:00:00','2010030423:00:00','2011102717:59:59','2011102801:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,10,27,18,0,0],[2011,10,28,5,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2012,2,21,16,59,59],[2012,2,22,3,59,59],
+          '2011102718:00:00','2011102805:00:00','2012022116:59:59','2012022203:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,21,17,0,0],[2012,2,22,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2016,10,21,15,59,59],[2016,10,21,23,59,59],
+          '2012022117:00:00','2012022201:00:00','2016102115:59:59','2016102123:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,10,21,16,0,0],[2016,10,22,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2016102116:00:00','2016102203:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/andavi00.pm b/lib/Date/Manip/TZ/andavi00.pm
new file mode 100644
index 0000000..8ca685c
--- /dev/null
+++ b/lib/Date/Manip/TZ/andavi00.pm
@@ -0,0 +1,85 @@
+package #
+Date::Manip::TZ::andavi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1957,1,12,23,59,59],[1957,1,12,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1957011223:59:59','1957011223:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,1,13,0,0,0],[1957,1,13,7,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1964,10,31,16,59,59],[1964,10,31,23,59,59],
+          '1957011300:00:00','1957011307:00:00','1964103116:59:59','1964103123:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,10,31,17,0,0],[1964,10,31,17,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1969,1,31,23,59,59],[1969,1,31,23,59,59],
+          '1964103117:00:00','1964103117:00:00','1969013123:59:59','1969013123:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,2,1,0,0,0],[1969,2,1,7,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2009,10,17,18,59,59],[2009,10,18,1,59,59],
+          '1969020100:00:00','1969020107:00:00','2009101718:59:59','2009101801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,10,17,19,0,0],[2009,10,18,0,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2010,3,10,19,59,59],[2010,3,11,0,59,59],
+          '2009101719:00:00','2009101800:00:00','2010031019:59:59','2010031100:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,10,20,0,0],[2010,3,11,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2011,10,27,18,59,59],[2011,10,28,1,59,59],
+          '2010031020:00:00','2010031103:00:00','2011102718:59:59','2011102801:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,10,27,19,0,0],[2011,10,28,0,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2012,2,21,19,59,59],[2012,2,22,0,59,59],
+          '2011102719:00:00','2011102800:00:00','2012022119:59:59','2012022200:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,2,21,20,0,0],[2012,2,22,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2012022120:00:00','2012022203:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/andumo00.pm b/lib/Date/Manip/TZ/andumo00.pm
new file mode 100644
index 0000000..0222d83
--- /dev/null
+++ b/lib/Date/Manip/TZ/andumo00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::andumo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1946,12,31,23,59,59],[1946,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1946123123:59:59','1946123123:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,1,1,0,0,0],[1947,1,1,10,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1952,1,13,13,59,59],[1952,1,13,23,59,59],
+          '1947010100:00:00','1947010110:00:00','1952011313:59:59','1952011323:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,1,13,14,0,0],[1952,1,13,14,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1956,10,31,23,59,59],[1956,10,31,23,59,59],
+          '1952011314:00:00','1952011314:00:00','1956103123:59:59','1956103123:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,11,1,0,0,0],[1956,11,1,10,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '1956110100:00:00','1956110110:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/anmacq00.pm b/lib/Date/Manip/TZ/anmacq00.pm
new file mode 100644
index 0000000..456d5b3
--- /dev/null
+++ b/lib/Date/Manip/TZ/anmacq00.pm
@@ -0,0 +1,463 @@
+package #
+Date::Manip::TZ::anmacq00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1899,10,31,23,59,59],[1899,10,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1899103123:59:59','1899103123:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,11,1,0,0,0],[1899,11,1,10,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,9,30,15,59,59],[1916,10,1,1,59,59],
+          '1899110100:00:00','1899110110:00:00','1916093015:59:59','1916100101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,9,30,16,0,0],[1916,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916093016:00:00','1916100103:00:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1919,3,31,13,59,59],[1919,3,31,23,59,59],
+          '1917032415:00:00','1917032501:00:00','1919033113:59:59','1919033123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,31,14,0,0],[1919,3,31,14,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1948,3,24,23,59,59],[1948,3,24,23,59,59],
+          '1919033114:00:00','1919033114:00:00','1948032423:59:59','1948032423:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,3,25,0,0,0],[1948,3,25,10,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1967,9,30,15,59,59],[1967,10,1,1,59,59],
+          '1948032500:00:00','1948032510:00:00','1967093015:59:59','1967100101:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,9,30,16,0,0],[1967,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1968,3,30,15,59,59],[1968,3,31,2,59,59],
+          '1967093016:00:00','1967100103:00:00','1968033015:59:59','1968033102:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,30,16,0,0],[1968,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1968,10,26,15,59,59],[1968,10,27,1,59,59],
+          '1968033016:00:00','1968033102:00:00','1968102615:59:59','1968102701:59:59' ],
+        [ [1968,10,26,16,0,0],[1968,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1969,3,8,15,59,59],[1969,3,9,2,59,59],
+          '1968102616:00:00','1968102703:00:00','1969030815:59:59','1969030902:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,3,8,16,0,0],[1969,3,9,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1969,10,25,15,59,59],[1969,10,26,1,59,59],
+          '1969030816:00:00','1969030902:00:00','1969102515:59:59','1969102601:59:59' ],
+        [ [1969,10,25,16,0,0],[1969,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1970,3,7,15,59,59],[1970,3,8,2,59,59],
+          '1969102516:00:00','1969102603:00:00','1970030715:59:59','1970030802:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,3,7,16,0,0],[1970,3,8,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1970,10,24,15,59,59],[1970,10,25,1,59,59],
+          '1970030716:00:00','1970030802:00:00','1970102415:59:59','1970102501:59:59' ],
+        [ [1970,10,24,16,0,0],[1970,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1971,3,13,15,59,59],[1971,3,14,2,59,59],
+          '1970102416:00:00','1970102503:00:00','1971031315:59:59','1971031402:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,13,16,0,0],[1971,3,14,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1971031316:00:00','1971031402:00:00','1971103015:59:59','1971103101:59:59' ],
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1972,10,28,15,59,59],[1972,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1972102815:59:59','1972102901:59:59' ],
+        [ [1972,10,28,16,0,0],[1972,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1973,3,3,15,59,59],[1973,3,4,2,59,59],
+          '1972102816:00:00','1972102903:00:00','1973030315:59:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,0,0],[1973,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1973,10,27,15,59,59],[1973,10,28,1,59,59],
+          '1973030316:00:00','1973030402:00:00','1973102715:59:59','1973102801:59:59' ],
+        [ [1973,10,27,16,0,0],[1973,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1974,3,2,15,59,59],[1974,3,3,2,59,59],
+          '1973102716:00:00','1973102803:00:00','1974030215:59:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,0,0],[1974,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1974,10,26,15,59,59],[1974,10,27,1,59,59],
+          '1974030216:00:00','1974030302:00:00','1974102615:59:59','1974102701:59:59' ],
+        [ [1974,10,26,16,0,0],[1974,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1975,3,1,15,59,59],[1975,3,2,2,59,59],
+          '1974102616:00:00','1974102703:00:00','1975030115:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,0,0],[1975,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1975,10,25,15,59,59],[1975,10,26,1,59,59],
+          '1975030116:00:00','1975030202:00:00','1975102515:59:59','1975102601:59:59' ],
+        [ [1975,10,25,16,0,0],[1975,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1976,3,6,15,59,59],[1976,3,7,2,59,59],
+          '1975102516:00:00','1975102603:00:00','1976030615:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,0,0],[1976,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1976,10,30,15,59,59],[1976,10,31,1,59,59],
+          '1976030616:00:00','1976030702:00:00','1976103015:59:59','1976103101:59:59' ],
+        [ [1976,10,30,16,0,0],[1976,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1977,3,5,15,59,59],[1977,3,6,2,59,59],
+          '1976103016:00:00','1976103103:00:00','1977030515:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,0,0],[1977,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1977,10,29,15,59,59],[1977,10,30,1,59,59],
+          '1977030516:00:00','1977030602:00:00','1977102915:59:59','1977103001:59:59' ],
+        [ [1977,10,29,16,0,0],[1977,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1978,3,4,15,59,59],[1978,3,5,2,59,59],
+          '1977102916:00:00','1977103003:00:00','1978030415:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,0,0],[1978,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1978,10,28,15,59,59],[1978,10,29,1,59,59],
+          '1978030416:00:00','1978030502:00:00','1978102815:59:59','1978102901:59:59' ],
+        [ [1978,10,28,16,0,0],[1978,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1979,3,3,15,59,59],[1979,3,4,2,59,59],
+          '1978102816:00:00','1978102903:00:00','1979030315:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,0,0],[1979,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1979,10,27,15,59,59],[1979,10,28,1,59,59],
+          '1979030316:00:00','1979030402:00:00','1979102715:59:59','1979102801:59:59' ],
+        [ [1979,10,27,16,0,0],[1979,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1980,3,1,15,59,59],[1980,3,2,2,59,59],
+          '1979102716:00:00','1979102803:00:00','1980030115:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,0,0],[1980,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1980,10,25,15,59,59],[1980,10,26,1,59,59],
+          '1980030116:00:00','1980030202:00:00','1980102515:59:59','1980102601:59:59' ],
+        [ [1980,10,25,16,0,0],[1980,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1981,2,28,15,59,59],[1981,3,1,2,59,59],
+          '1980102516:00:00','1980102603:00:00','1981022815:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,0,0],[1981,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,10,24,15,59,59],[1981,10,25,1,59,59],
+          '1981022816:00:00','1981030102:00:00','1981102415:59:59','1981102501:59:59' ],
+        [ [1981,10,24,16,0,0],[1981,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1982,3,27,15,59,59],[1982,3,28,2,59,59],
+          '1981102416:00:00','1981102503:00:00','1982032715:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,27,16,0,0],[1982,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1982,10,30,15,59,59],[1982,10,31,1,59,59],
+          '1982032716:00:00','1982032802:00:00','1982103015:59:59','1982103101:59:59' ],
+        [ [1982,10,30,16,0,0],[1982,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1983,3,26,15,59,59],[1983,3,27,2,59,59],
+          '1982103016:00:00','1982103103:00:00','1983032615:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,26,16,0,0],[1983,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1983,10,29,15,59,59],[1983,10,30,1,59,59],
+          '1983032616:00:00','1983032702:00:00','1983102915:59:59','1983103001:59:59' ],
+        [ [1983,10,29,16,0,0],[1983,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1984,3,3,15,59,59],[1984,3,4,2,59,59],
+          '1983102916:00:00','1983103003:00:00','1984030315:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,0,0],[1984,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1984,10,27,15,59,59],[1984,10,28,1,59,59],
+          '1984030316:00:00','1984030402:00:00','1984102715:59:59','1984102801:59:59' ],
+        [ [1984,10,27,16,0,0],[1984,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1985,3,2,15,59,59],[1985,3,3,2,59,59],
+          '1984102716:00:00','1984102803:00:00','1985030215:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,0,0],[1985,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1985,10,26,15,59,59],[1985,10,27,1,59,59],
+          '1985030216:00:00','1985030302:00:00','1985102615:59:59','1985102701:59:59' ],
+        [ [1985,10,26,16,0,0],[1985,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1986,3,1,15,59,59],[1986,3,2,2,59,59],
+          '1985102616:00:00','1985102703:00:00','1986030115:59:59','1986030202:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,1,16,0,0],[1986,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1986,10,18,15,59,59],[1986,10,19,1,59,59],
+          '1986030116:00:00','1986030202:00:00','1986101815:59:59','1986101901:59:59' ],
+        [ [1986,10,18,16,0,0],[1986,10,19,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1987,3,14,15,59,59],[1987,3,15,2,59,59],
+          '1986101816:00:00','1986101903:00:00','1987031415:59:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,0,0],[1987,3,15,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1987,10,24,15,59,59],[1987,10,25,1,59,59],
+          '1987031416:00:00','1987031502:00:00','1987102415:59:59','1987102501:59:59' ],
+        [ [1987,10,24,16,0,0],[1987,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1988,3,19,15,59,59],[1988,3,20,2,59,59],
+          '1987102416:00:00','1987102503:00:00','1988031915:59:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,0,0],[1988,3,20,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1988,10,29,15,59,59],[1988,10,30,1,59,59],
+          '1988031916:00:00','1988032002:00:00','1988102915:59:59','1988103001:59:59' ],
+        [ [1988,10,29,16,0,0],[1988,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1989,3,18,15,59,59],[1989,3,19,2,59,59],
+          '1988102916:00:00','1988103003:00:00','1989031815:59:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,0,0],[1989,3,19,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1989031816:00:00','1989031902:00:00','1989102815:59:59','1989102901:59:59' ],
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,17,15,59,59],[1990,3,18,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990031715:59:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,16,0,0],[1990,3,18,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990031716:00:00','1990031802:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,30,15,59,59],[1991,3,31,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991033015:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,16,0,0],[1991,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,5,15,59,59],[1991,10,6,1,59,59],
+          '1991033016:00:00','1991033102:00:00','1991100515:59:59','1991100601:59:59' ],
+        [ [1991,10,5,16,0,0],[1991,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,3,28,15,59,59],[1992,3,29,2,59,59],
+          '1991100516:00:00','1991100603:00:00','1992032815:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,16,0,0],[1992,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,3,15,59,59],[1992,10,4,1,59,59],
+          '1992032816:00:00','1992032902:00:00','1992100315:59:59','1992100401:59:59' ],
+        [ [1992,10,3,16,0,0],[1992,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,27,15,59,59],[1993,3,28,2,59,59],
+          '1992100316:00:00','1992100403:00:00','1993032715:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,16,0,0],[1993,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,2,15,59,59],[1993,10,3,1,59,59],
+          '1993032716:00:00','1993032802:00:00','1993100215:59:59','1993100301:59:59' ],
+        [ [1993,10,2,16,0,0],[1993,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,26,15,59,59],[1994,3,27,2,59,59],
+          '1993100216:00:00','1993100303:00:00','1994032615:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,16,0,0],[1994,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1994,10,1,15,59,59],[1994,10,2,1,59,59],
+          '1994032616:00:00','1994032702:00:00','1994100115:59:59','1994100201:59:59' ],
+        [ [1994,10,1,16,0,0],[1994,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1995,3,25,15,59,59],[1995,3,26,2,59,59],
+          '1994100116:00:00','1994100203:00:00','1995032515:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1995,9,30,15,59,59],[1995,10,1,1,59,59],
+          '1995032516:00:00','1995032602:00:00','1995093015:59:59','1995100101:59:59' ],
+        [ [1995,9,30,16,0,0],[1995,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1996,3,30,15,59,59],[1996,3,31,2,59,59],
+          '1995093016:00:00','1995100103:00:00','1996033015:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1996,10,5,15,59,59],[1996,10,6,1,59,59],
+          '1996033016:00:00','1996033102:00:00','1996100515:59:59','1996100601:59:59' ],
+        [ [1996,10,5,16,0,0],[1996,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1997,3,29,15,59,59],[1997,3,30,2,59,59],
+          '1996100516:00:00','1996100603:00:00','1997032915:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1997,10,4,15,59,59],[1997,10,5,1,59,59],
+          '1997032916:00:00','1997033002:00:00','1997100415:59:59','1997100501:59:59' ],
+        [ [1997,10,4,16,0,0],[1997,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1998,3,28,15,59,59],[1998,3,29,2,59,59],
+          '1997100416:00:00','1997100503:00:00','1998032815:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1998,10,3,15,59,59],[1998,10,4,1,59,59],
+          '1998032816:00:00','1998032902:00:00','1998100315:59:59','1998100401:59:59' ],
+        [ [1998,10,3,16,0,0],[1998,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1999,3,27,15,59,59],[1999,3,28,2,59,59],
+          '1998100316:00:00','1998100403:00:00','1999032715:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1999,10,2,15,59,59],[1999,10,3,1,59,59],
+          '1999032716:00:00','1999032802:00:00','1999100215:59:59','1999100301:59:59' ],
+        [ [1999,10,2,16,0,0],[1999,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2000,3,25,15,59,59],[2000,3,26,2,59,59],
+          '1999100216:00:00','1999100303:00:00','2000032515:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2000,8,26,15,59,59],[2000,8,27,1,59,59],
+          '2000032516:00:00','2000032602:00:00','2000082615:59:59','2000082701:59:59' ],
+        [ [2000,8,26,16,0,0],[2000,8,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2001,3,24,15,59,59],[2001,3,25,2,59,59],
+          '2000082616:00:00','2000082703:00:00','2001032415:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2001,10,6,15,59,59],[2001,10,7,1,59,59],
+          '2001032416:00:00','2001032502:00:00','2001100615:59:59','2001100701:59:59' ],
+        [ [2001,10,6,16,0,0],[2001,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2002,3,30,15,59,59],[2002,3,31,2,59,59],
+          '2001100616:00:00','2001100703:00:00','2002033015:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2002,10,5,15,59,59],[2002,10,6,1,59,59],
+          '2002033016:00:00','2002033102:00:00','2002100515:59:59','2002100601:59:59' ],
+        [ [2002,10,5,16,0,0],[2002,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2003,3,29,15,59,59],[2003,3,30,2,59,59],
+          '2002100516:00:00','2002100603:00:00','2003032915:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2003,10,4,15,59,59],[2003,10,5,1,59,59],
+          '2003032916:00:00','2003033002:00:00','2003100415:59:59','2003100501:59:59' ],
+        [ [2003,10,4,16,0,0],[2003,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2004,3,27,15,59,59],[2004,3,28,2,59,59],
+          '2003100416:00:00','2003100503:00:00','2004032715:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2004,10,2,15,59,59],[2004,10,3,1,59,59],
+          '2004032716:00:00','2004032802:00:00','2004100215:59:59','2004100301:59:59' ],
+        [ [2004,10,2,16,0,0],[2004,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2005,3,26,15,59,59],[2005,3,27,2,59,59],
+          '2004100216:00:00','2004100303:00:00','2005032615:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2005,10,1,15,59,59],[2005,10,2,1,59,59],
+          '2005032616:00:00','2005032702:00:00','2005100115:59:59','2005100201:59:59' ],
+        [ [2005,10,1,16,0,0],[2005,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2006,4,1,15,59,59],[2006,4,2,2,59,59],
+          '2005100116:00:00','2005100203:00:00','2006040115:59:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,0,0],[2006,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2006,9,30,15,59,59],[2006,10,1,1,59,59],
+          '2006040116:00:00','2006040202:00:00','2006093015:59:59','2006100101:59:59' ],
+        [ [2006,9,30,16,0,0],[2006,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2007,3,24,15,59,59],[2007,3,25,2,59,59],
+          '2006093016:00:00','2006100103:00:00','2007032415:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2007,10,6,15,59,59],[2007,10,7,1,59,59],
+          '2007032416:00:00','2007032502:00:00','2007100615:59:59','2007100701:59:59' ],
+        [ [2007,10,6,16,0,0],[2007,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2008,4,5,15,59,59],[2008,4,6,2,59,59],
+          '2007100616:00:00','2007100703:00:00','2008040515:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,0,0],[2008,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2008,10,4,15,59,59],[2008,10,5,1,59,59],
+          '2008040516:00:00','2008040602:00:00','2008100415:59:59','2008100501:59:59' ],
+        [ [2008,10,4,16,0,0],[2008,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2009,4,4,15,59,59],[2009,4,5,2,59,59],
+          '2008100416:00:00','2008100503:00:00','2009040415:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,0,0],[2009,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2009,10,3,15,59,59],[2009,10,4,1,59,59],
+          '2009040416:00:00','2009040502:00:00','2009100315:59:59','2009100401:59:59' ],
+        [ [2009,10,3,16,0,0],[2009,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2010,4,3,15,59,59],[2010,4,4,2,59,59],
+          '2009100316:00:00','2009100403:00:00','2010040315:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,0,0],[2010,4,4,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2010040316:00:00','2010040403:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/anmaws00.pm b/lib/Date/Manip/TZ/anmaws00.pm
new file mode 100644
index 0000000..9d7190a
--- /dev/null
+++ b/lib/Date/Manip/TZ/anmaws00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::anmaws00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1954,2,12,23,59,59],[1954,2,12,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1954021223:59:59','1954021223:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,2,13,0,0,0],[1954,2,13,6,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,10,17,19,59,59],[2009,10,18,1,59,59],
+          '1954021300:00:00','1954021306:00:00','2009101719:59:59','2009101801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,10,17,20,0,0],[2009,10,18,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2009101720:00:00','2009101801:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/anpalm00.pm b/lib/Date/Manip/TZ/anpalm00.pm
new file mode 100644
index 0000000..f3af5b3
--- /dev/null
+++ b/lib/Date/Manip/TZ/anpalm00.pm
@@ -0,0 +1,409 @@
+package #
+Date::Manip::TZ::anpalm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1964,12,31,23,59,59],[1964,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1964123123:59:59','1964123123:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,1,1,0,0,0],[1964,12,31,21,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1965,3,1,2,59,59],[1965,2,28,23,59,59],
+          '1965010100:00:00','1964123121:00:00','1965030102:59:59','1965022823:59:59' ],
+        [ [1965,3,1,3,0,0],[1965,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1965,10,15,3,59,59],[1965,10,14,23,59,59],
+          '1965030103:00:00','1965022823:00:00','1965101503:59:59','1965101423:59:59' ],
+        [ [1965,10,15,4,0,0],[1965,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1966,3,1,2,59,59],[1966,2,28,23,59,59],
+          '1965101504:00:00','1965101501:00:00','1966030102:59:59','1966022823:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,1,3,0,0],[1966,2,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1966,10,15,3,59,59],[1966,10,14,23,59,59],
+          '1966030103:00:00','1966022823:00:00','1966101503:59:59','1966101423:59:59' ],
+        [ [1966,10,15,4,0,0],[1966,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1967,4,2,2,59,59],[1967,4,1,23,59,59],
+          '1966101504:00:00','1966101501:00:00','1967040202:59:59','1967040123:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,3,0,0],[1967,4,1,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1967,10,1,3,59,59],[1967,9,30,23,59,59],
+          '1967040203:00:00','1967040123:00:00','1967100103:59:59','1967093023:59:59' ],
+        [ [1967,10,1,4,0,0],[1967,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1968,4,7,2,59,59],[1968,4,6,23,59,59],
+          '1967100104:00:00','1967100101:00:00','1968040702:59:59','1968040623:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,3,0,0],[1968,4,6,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1968,10,6,3,59,59],[1968,10,5,23,59,59],
+          '1968040703:00:00','1968040623:00:00','1968100603:59:59','1968100523:59:59' ],
+        [ [1968,10,6,4,0,0],[1968,10,6,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1969,4,6,2,59,59],[1969,4,5,23,59,59],
+          '1968100604:00:00','1968100601:00:00','1969040602:59:59','1969040523:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,6,3,0,0],[1969,4,5,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1969,10,5,3,59,59],[1969,10,4,23,59,59],
+          '1969040603:00:00','1969040523:00:00','1969100503:59:59','1969100423:59:59' ],
+        [ [1969,10,5,4,0,0],[1969,10,5,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1974,1,23,2,59,59],[1974,1,22,23,59,59],
+          '1969100504:00:00','1969100501:00:00','1974012302:59:59','1974012223:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,1,23,3,0,0],[1974,1,23,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1974,5,1,1,59,59],[1974,4,30,23,59,59],
+          '1974012303:00:00','1974012301:00:00','1974050101:59:59','1974043023:59:59' ],
+        [ [1974,5,1,2,0,0],[1974,4,30,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1982,5,1,2,59,59],[1982,4,30,23,59,59],
+          '1974050102:00:00','1974043023:00:00','1982050102:59:59','1982043023:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,5,1,3,0,0],[1982,4,30,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1982,10,10,3,59,59],[1982,10,9,23,59,59],
+          '1982050103:00:00','1982043023:00:00','1982101003:59:59','1982100923:59:59' ],
+        [ [1982,10,10,4,0,0],[1982,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1983,3,13,2,59,59],[1983,3,12,23,59,59],
+          '1982101004:00:00','1982101001:00:00','1983031302:59:59','1983031223:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,13,3,0,0],[1983,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1983,10,9,3,59,59],[1983,10,8,23,59,59],
+          '1983031303:00:00','1983031223:00:00','1983100903:59:59','1983100823:59:59' ],
+        [ [1983,10,9,4,0,0],[1983,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1984,3,11,2,59,59],[1984,3,10,23,59,59],
+          '1983100904:00:00','1983100901:00:00','1984031102:59:59','1984031023:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,11,3,0,0],[1984,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1984,10,14,3,59,59],[1984,10,13,23,59,59],
+          '1984031103:00:00','1984031023:00:00','1984101403:59:59','1984101323:59:59' ],
+        [ [1984,10,14,4,0,0],[1984,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1985,3,10,2,59,59],[1985,3,9,23,59,59],
+          '1984101404:00:00','1984101401:00:00','1985031002:59:59','1985030923:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,10,3,0,0],[1985,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1985,10,13,3,59,59],[1985,10,12,23,59,59],
+          '1985031003:00:00','1985030923:00:00','1985101303:59:59','1985101223:59:59' ],
+        [ [1985,10,13,4,0,0],[1985,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,3,9,2,59,59],[1986,3,8,23,59,59],
+          '1985101304:00:00','1985101301:00:00','1986030902:59:59','1986030823:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,9,3,0,0],[1986,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,10,12,3,59,59],[1986,10,11,23,59,59],
+          '1986030903:00:00','1986030823:00:00','1986101203:59:59','1986101123:59:59' ],
+        [ [1986,10,12,4,0,0],[1986,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,4,12,2,59,59],[1987,4,11,23,59,59],
+          '1986101204:00:00','1986101201:00:00','1987041202:59:59','1987041123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,12,3,0,0],[1987,4,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,10,11,3,59,59],[1987,10,10,23,59,59],
+          '1987041203:00:00','1987041123:00:00','1987101103:59:59','1987101023:59:59' ],
+        [ [1987,10,11,4,0,0],[1987,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,3,13,2,59,59],[1988,3,12,23,59,59],
+          '1987101104:00:00','1987101101:00:00','1988031302:59:59','1988031223:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,13,3,0,0],[1988,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,10,9,3,59,59],[1988,10,8,23,59,59],
+          '1988031303:00:00','1988031223:00:00','1988100903:59:59','1988100823:59:59' ],
+        [ [1988,10,9,4,0,0],[1988,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,3,12,2,59,59],[1989,3,11,23,59,59],
+          '1988100904:00:00','1988100901:00:00','1989031202:59:59','1989031123:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,12,3,0,0],[1989,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,10,15,3,59,59],[1989,10,14,23,59,59],
+          '1989031203:00:00','1989031123:00:00','1989101503:59:59','1989101423:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,3,11,2,59,59],[1990,3,10,23,59,59],
+          '1989101504:00:00','1989101501:00:00','1990031102:59:59','1990031023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,11,3,0,0],[1990,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,9,16,3,59,59],[1990,9,15,23,59,59],
+          '1990031103:00:00','1990031023:00:00','1990091603:59:59','1990091523:59:59' ],
+        [ [1990,9,16,4,0,0],[1990,9,16,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,3,10,2,59,59],[1991,3,9,23,59,59],
+          '1990091604:00:00','1990091601:00:00','1991031002:59:59','1991030923:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,10,3,0,0],[1991,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,10,13,3,59,59],[1991,10,12,23,59,59],
+          '1991031003:00:00','1991030923:00:00','1991101303:59:59','1991101223:59:59' ],
+        [ [1991,10,13,4,0,0],[1991,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,3,15,2,59,59],[1992,3,14,23,59,59],
+          '1991101304:00:00','1991101301:00:00','1992031502:59:59','1992031423:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,15,3,0,0],[1992,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,10,11,3,59,59],[1992,10,10,23,59,59],
+          '1992031503:00:00','1992031423:00:00','1992101103:59:59','1992101023:59:59' ],
+        [ [1992,10,11,4,0,0],[1992,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,3,14,2,59,59],[1993,3,13,23,59,59],
+          '1992101104:00:00','1992101101:00:00','1993031402:59:59','1993031323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,14,3,0,0],[1993,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,10,10,3,59,59],[1993,10,9,23,59,59],
+          '1993031403:00:00','1993031323:00:00','1993101003:59:59','1993100923:59:59' ],
+        [ [1993,10,10,4,0,0],[1993,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,3,13,2,59,59],[1994,3,12,23,59,59],
+          '1993101004:00:00','1993101001:00:00','1994031302:59:59','1994031223:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,13,3,0,0],[1994,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,10,9,3,59,59],[1994,10,8,23,59,59],
+          '1994031303:00:00','1994031223:00:00','1994100903:59:59','1994100823:59:59' ],
+        [ [1994,10,9,4,0,0],[1994,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,3,12,2,59,59],[1995,3,11,23,59,59],
+          '1994100904:00:00','1994100901:00:00','1995031202:59:59','1995031123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,12,3,0,0],[1995,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,10,15,3,59,59],[1995,10,14,23,59,59],
+          '1995031203:00:00','1995031123:00:00','1995101503:59:59','1995101423:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,3,10,2,59,59],[1996,3,9,23,59,59],
+          '1995101504:00:00','1995101501:00:00','1996031002:59:59','1996030923:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,10,3,0,0],[1996,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,10,13,3,59,59],[1996,10,12,23,59,59],
+          '1996031003:00:00','1996030923:00:00','1996101303:59:59','1996101223:59:59' ],
+        [ [1996,10,13,4,0,0],[1996,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,3,30,2,59,59],[1997,3,29,23,59,59],
+          '1996101304:00:00','1996101301:00:00','1997033002:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,3,0,0],[1997,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,10,12,3,59,59],[1997,10,11,23,59,59],
+          '1997033003:00:00','1997032923:00:00','1997101203:59:59','1997101123:59:59' ],
+        [ [1997,10,12,4,0,0],[1997,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,3,15,2,59,59],[1998,3,14,23,59,59],
+          '1997101204:00:00','1997101201:00:00','1998031502:59:59','1998031423:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,15,3,0,0],[1998,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,9,27,3,59,59],[1998,9,26,23,59,59],
+          '1998031503:00:00','1998031423:00:00','1998092703:59:59','1998092623:59:59' ],
+        [ [1998,9,27,4,0,0],[1998,9,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,4,4,2,59,59],[1999,4,3,23,59,59],
+          '1998092704:00:00','1998092701:00:00','1999040402:59:59','1999040323:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,3,0,0],[1999,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,10,10,3,59,59],[1999,10,9,23,59,59],
+          '1999040403:00:00','1999040323:00:00','1999101003:59:59','1999100923:59:59' ],
+        [ [1999,10,10,4,0,0],[1999,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,3,12,2,59,59],[2000,3,11,23,59,59],
+          '1999101004:00:00','1999101001:00:00','2000031202:59:59','2000031123:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,12,3,0,0],[2000,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,10,15,3,59,59],[2000,10,14,23,59,59],
+          '2000031203:00:00','2000031123:00:00','2000101503:59:59','2000101423:59:59' ],
+        [ [2000,10,15,4,0,0],[2000,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,3,11,2,59,59],[2001,3,10,23,59,59],
+          '2000101504:00:00','2000101501:00:00','2001031102:59:59','2001031023:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,11,3,0,0],[2001,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,10,14,3,59,59],[2001,10,13,23,59,59],
+          '2001031103:00:00','2001031023:00:00','2001101403:59:59','2001101323:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,3,10,2,59,59],[2002,3,9,23,59,59],
+          '2001101404:00:00','2001101401:00:00','2002031002:59:59','2002030923:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,10,3,0,0],[2002,3,9,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,10,13,3,59,59],[2002,10,12,23,59,59],
+          '2002031003:00:00','2002030923:00:00','2002101303:59:59','2002101223:59:59' ],
+        [ [2002,10,13,4,0,0],[2002,10,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,3,9,2,59,59],[2003,3,8,23,59,59],
+          '2002101304:00:00','2002101301:00:00','2003030902:59:59','2003030823:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,9,3,0,0],[2003,3,8,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,10,12,3,59,59],[2003,10,11,23,59,59],
+          '2003030903:00:00','2003030823:00:00','2003101203:59:59','2003101123:59:59' ],
+        [ [2003,10,12,4,0,0],[2003,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,3,14,2,59,59],[2004,3,13,23,59,59],
+          '2003101204:00:00','2003101201:00:00','2004031402:59:59','2004031323:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,14,3,0,0],[2004,3,13,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,10,10,3,59,59],[2004,10,9,23,59,59],
+          '2004031403:00:00','2004031323:00:00','2004101003:59:59','2004100923:59:59' ],
+        [ [2004,10,10,4,0,0],[2004,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,3,13,2,59,59],[2005,3,12,23,59,59],
+          '2004101004:00:00','2004101001:00:00','2005031302:59:59','2005031223:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,13,3,0,0],[2005,3,12,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,10,9,3,59,59],[2005,10,8,23,59,59],
+          '2005031303:00:00','2005031223:00:00','2005100903:59:59','2005100823:59:59' ],
+        [ [2005,10,9,4,0,0],[2005,10,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,3,12,2,59,59],[2006,3,11,23,59,59],
+          '2005100904:00:00','2005100901:00:00','2006031202:59:59','2006031123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,3,0,0],[2006,3,11,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,10,15,3,59,59],[2006,10,14,23,59,59],
+          '2006031203:00:00','2006031123:00:00','2006101503:59:59','2006101423:59:59' ],
+        [ [2006,10,15,4,0,0],[2006,10,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,3,11,2,59,59],[2007,3,10,23,59,59],
+          '2006101504:00:00','2006101501:00:00','2007031102:59:59','2007031023:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,0,0],[2007,3,10,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,10,14,3,59,59],[2007,10,13,23,59,59],
+          '2007031103:00:00','2007031023:00:00','2007101403:59:59','2007101323:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,3,30,2,59,59],[2008,3,29,23,59,59],
+          '2007101404:00:00','2007101401:00:00','2008033002:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,3,0,0],[2008,3,29,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,10,12,3,59,59],[2008,10,11,23,59,59],
+          '2008033003:00:00','2008032923:00:00','2008101203:59:59','2008101123:59:59' ],
+        [ [2008,10,12,4,0,0],[2008,10,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,3,15,2,59,59],[2009,3,14,23,59,59],
+          '2008101204:00:00','2008101201:00:00','2009031502:59:59','2009031423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,3,0,0],[2009,3,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,10,11,3,59,59],[2009,10,10,23,59,59],
+          '2009031503:00:00','2009031423:00:00','2009101103:59:59','2009101023:59:59' ],
+        [ [2009,10,11,4,0,0],[2009,10,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,4,4,2,59,59],[2010,4,3,23,59,59],
+          '2009101104:00:00','2009101101:00:00','2010040402:59:59','2010040323:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,3,0,0],[2010,4,3,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,10,10,3,59,59],[2010,10,9,23,59,59],
+          '2010040403:00:00','2010040323:00:00','2010101003:59:59','2010100923:59:59' ],
+        [ [2010,10,10,4,0,0],[2010,10,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2011,5,8,2,59,59],[2011,5,7,23,59,59],
+          '2010101004:00:00','2010101001:00:00','2011050802:59:59','2011050723:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,5,8,3,0,0],[2011,5,7,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2011,8,21,3,59,59],[2011,8,20,23,59,59],
+          '2011050803:00:00','2011050723:00:00','2011082103:59:59','2011082023:59:59' ],
+        [ [2011,8,21,4,0,0],[2011,8,21,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2012,4,29,2,59,59],[2012,4,28,23,59,59],
+          '2011082104:00:00','2011082101:00:00','2012042902:59:59','2012042823:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,3,0,0],[2012,4,28,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2012,9,2,3,59,59],[2012,9,1,23,59,59],
+          '2012042903:00:00','2012042823:00:00','2012090203:59:59','2012090123:59:59' ],
+        [ [2012,9,2,4,0,0],[2012,9,2,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2013,4,28,2,59,59],[2013,4,27,23,59,59],
+          '2012090204:00:00','2012090201:00:00','2013042802:59:59','2013042723:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,3,0,0],[2013,4,27,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2013,9,8,3,59,59],[2013,9,7,23,59,59],
+          '2013042803:00:00','2013042723:00:00','2013090803:59:59','2013090723:59:59' ],
+        [ [2013,9,8,4,0,0],[2013,9,8,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2014,4,27,2,59,59],[2014,4,26,23,59,59],
+          '2013090804:00:00','2013090801:00:00','2014042702:59:59','2014042623:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,27,3,0,0],[2014,4,26,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2014,9,7,3,59,59],[2014,9,6,23,59,59],
+          '2014042703:00:00','2014042623:00:00','2014090703:59:59','2014090623:59:59' ],
+        [ [2014,9,7,4,0,0],[2014,9,7,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,5,15,2,59,59],[2016,5,14,23,59,59],
+          '2014090704:00:00','2014090701:00:00','2016051502:59:59','2016051423:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,15,3,0,0],[2016,5,14,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2016,8,14,3,59,59],[2016,8,13,23,59,59],
+          '2016051503:00:00','2016051423:00:00','2016081403:59:59','2016081323:59:59' ],
+        [ [2016,8,14,4,0,0],[2016,8,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2016,12,4,2,59,59],[2016,12,3,23,59,59],
+          '2016081404:00:00','2016081401:00:00','2016120402:59:59','2016120323:59:59' ],
+        [ [2016,12,4,3,0,0],[2016,12,4,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2016120403:00:00','2016120400:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/anroth00.pm b/lib/Date/Manip/TZ/anroth00.pm
new file mode 100644
index 0000000..f5ba22f
--- /dev/null
+++ b/lib/Date/Manip/TZ/anroth00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::anroth00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1976,11,30,23,59,59],[1976,11,30,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1976113023:59:59','1976113023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,12,1,0,0,0],[1976,11,30,21,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '1976120100:00:00','1976113021:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ansyow00.pm b/lib/Date/Manip/TZ/ansyow00.pm
new file mode 100644
index 0000000..1b98546
--- /dev/null
+++ b/lib/Date/Manip/TZ/ansyow00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::ansyow00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1957,1,28,23,59,59],[1957,1,28,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1957012823:59:59','1957012823:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,1,29,0,0,0],[1957,1,29,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '1957012900:00:00','1957012903:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/antrol00.pm b/lib/Date/Manip/TZ/antrol00.pm
new file mode 100644
index 0000000..c760dcc
--- /dev/null
+++ b/lib/Date/Manip/TZ/antrol00.pm
@@ -0,0 +1,637 @@
+package #
+Date::Manip::TZ::antrol00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[2005,2,11,23,59,59],[2005,2,11,23,59,59],
+          '0001010200:00:00','0001010200:00:00','2005021123:59:59','2005021123:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,2,12,0,0,0],[2005,2,12,0,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2005021200:00:00','2005021200:00:00','2005032700:59:59','2005032700:59:59' ],
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          '+02',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+02',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '+00',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/anvost00.pm b/lib/Date/Manip/TZ/anvost00.pm
new file mode 100644
index 0000000..0c5cef0
--- /dev/null
+++ b/lib/Date/Manip/TZ/anvost00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::anvost00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1957,12,15,23,59,59],[1957,12,15,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1957121523:59:59','1957121523:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,12,16,0,0,0],[1957,12,16,6,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '1957121600:00:00','1957121606:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asalma00.pm b/lib/Date/Manip/TZ/asalma00.pm
new file mode 100644
index 0000000..e4ad12c
--- /dev/null
+++ b/lib/Date/Manip/TZ/asalma00.pm
@@ -0,0 +1,274 @@
+package #
+Date::Manip::TZ::asalma00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,7,48],'+05:07:48',[5,7,48],
+          'LMT',0,[1924,5,1,18,52,11],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010205:07:48','1924050118:52:11','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,18,52,12],[1924,5,1,23,52,12],'+05:00:00',[5,0,0],
+          '+05',0,[1930,6,20,18,59,59],[1930,6,20,23,59,59],
+          '1924050118:52:12','1924050123:52:12','1930062018:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,19,0,0],[1930,6,21,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1981,3,31,17,59,59],[1981,3,31,23,59,59],
+          '1930062019:00:00','1930062101:00:00','1981033117:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,18,0,0],[1981,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1981,9,30,16,59,59],[1981,9,30,23,59,59],
+          '1981033118:00:00','1981040101:00:00','1981093016:59:59','1981093023:59:59' ],
+        [ [1981,9,30,17,0,0],[1981,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093017:00:00','1981093023:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1982,9,30,16,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040101:00:00','1982093016:59:59','1982093023:59:59' ],
+        [ [1982,9,30,17,0,0],[1982,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1983,3,31,17,59,59],[1983,3,31,23,59,59],
+          '1982093017:00:00','1982093023:00:00','1983033117:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,18,0,0],[1983,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1983,9,30,16,59,59],[1983,9,30,23,59,59],
+          '1983033118:00:00','1983040101:00:00','1983093016:59:59','1983093023:59:59' ],
+        [ [1983,9,30,17,0,0],[1983,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1984,3,31,17,59,59],[1984,3,31,23,59,59],
+          '1983093017:00:00','1983093023:00:00','1984033117:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,18,0,0],[1984,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1984,9,29,19,59,59],[1984,9,30,2,59,59],
+          '1984033118:00:00','1984040101:00:00','1984092919:59:59','1984093002:59:59' ],
+        [ [1984,9,29,20,0,0],[1984,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1985,3,30,19,59,59],[1985,3,31,1,59,59],
+          '1984092920:00:00','1984093002:00:00','1985033019:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,20,0,0],[1985,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1985,9,28,19,59,59],[1985,9,29,2,59,59],
+          '1985033020:00:00','1985033103:00:00','1985092819:59:59','1985092902:59:59' ],
+        [ [1985,9,28,20,0,0],[1985,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1986,3,29,19,59,59],[1986,3,30,1,59,59],
+          '1985092820:00:00','1985092902:00:00','1986032919:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,20,0,0],[1986,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1986,9,27,19,59,59],[1986,9,28,2,59,59],
+          '1986032920:00:00','1986033003:00:00','1986092719:59:59','1986092802:59:59' ],
+        [ [1986,9,27,20,0,0],[1986,9,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1987,3,28,19,59,59],[1987,3,29,1,59,59],
+          '1986092720:00:00','1986092802:00:00','1987032819:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,20,0,0],[1987,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1987,9,26,19,59,59],[1987,9,27,2,59,59],
+          '1987032820:00:00','1987032903:00:00','1987092619:59:59','1987092702:59:59' ],
+        [ [1987,9,26,20,0,0],[1987,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1988,3,26,19,59,59],[1988,3,27,1,59,59],
+          '1987092620:00:00','1987092702:00:00','1988032619:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,20,0,0],[1988,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1988,9,24,19,59,59],[1988,9,25,2,59,59],
+          '1988032620:00:00','1988032703:00:00','1988092419:59:59','1988092502:59:59' ],
+        [ [1988,9,24,20,0,0],[1988,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1989,3,25,19,59,59],[1989,3,26,1,59,59],
+          '1988092420:00:00','1988092502:00:00','1989032519:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,20,0,0],[1989,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1989,9,23,19,59,59],[1989,9,24,2,59,59],
+          '1989032520:00:00','1989032603:00:00','1989092319:59:59','1989092402:59:59' ],
+        [ [1989,9,23,20,0,0],[1989,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1990,3,24,19,59,59],[1990,3,25,1,59,59],
+          '1989092320:00:00','1989092402:00:00','1990032419:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,20,0,0],[1990,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1990,9,29,19,59,59],[1990,9,30,2,59,59],
+          '1990032420:00:00','1990032503:00:00','1990092919:59:59','1990093002:59:59' ],
+        [ [1990,9,29,20,0,0],[1990,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1991,3,30,19,59,59],[1991,3,31,1,59,59],
+          '1990092920:00:00','1990093002:00:00','1991033019:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,20,0,0],[1991,3,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,9,28,20,59,59],[1991,9,29,2,59,59],
+          '1991033020:00:00','1991033102:00:00','1991092820:59:59','1991092902:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,1,18,20,59,59],[1992,1,19,1,59,59],
+          '1991092821:00:00','1991092902:00:00','1992011820:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,21,0,0],[1992,1,19,3,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,3,28,19,59,59],[1992,3,29,1,59,59],
+          '1992011821:00:00','1992011903:00:00','1992032819:59:59','1992032901:59:59' ],
+        [ [1992,3,28,20,0,0],[1992,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1992,9,26,19,59,59],[1992,9,27,2,59,59],
+          '1992032820:00:00','1992032903:00:00','1992092619:59:59','1992092702:59:59' ],
+        [ [1992,9,26,20,0,0],[1992,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1993,3,27,19,59,59],[1993,3,28,1,59,59],
+          '1992092620:00:00','1992092702:00:00','1993032719:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,20,0,0],[1993,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1993,9,25,19,59,59],[1993,9,26,2,59,59],
+          '1993032720:00:00','1993032803:00:00','1993092519:59:59','1993092602:59:59' ],
+        [ [1993,9,25,20,0,0],[1993,9,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1994,3,26,19,59,59],[1994,3,27,1,59,59],
+          '1993092520:00:00','1993092602:00:00','1994032619:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,20,0,0],[1994,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1994,9,24,19,59,59],[1994,9,25,2,59,59],
+          '1994032620:00:00','1994032703:00:00','1994092419:59:59','1994092502:59:59' ],
+        [ [1994,9,24,20,0,0],[1994,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1995,3,25,19,59,59],[1995,3,26,1,59,59],
+          '1994092420:00:00','1994092502:00:00','1995032519:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,20,0,0],[1995,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1995,9,23,19,59,59],[1995,9,24,2,59,59],
+          '1995032520:00:00','1995032603:00:00','1995092319:59:59','1995092402:59:59' ],
+        [ [1995,9,23,20,0,0],[1995,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1996,3,30,19,59,59],[1996,3,31,1,59,59],
+          '1995092320:00:00','1995092402:00:00','1996033019:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,20,0,0],[1996,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1996,10,26,19,59,59],[1996,10,27,2,59,59],
+          '1996033020:00:00','1996033103:00:00','1996102619:59:59','1996102702:59:59' ],
+        [ [1996,10,26,20,0,0],[1996,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1997,3,29,19,59,59],[1997,3,30,1,59,59],
+          '1996102620:00:00','1996102702:00:00','1997032919:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,20,0,0],[1997,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1997,10,25,19,59,59],[1997,10,26,2,59,59],
+          '1997032920:00:00','1997033003:00:00','1997102519:59:59','1997102602:59:59' ],
+        [ [1997,10,25,20,0,0],[1997,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1998,3,28,19,59,59],[1998,3,29,1,59,59],
+          '1997102520:00:00','1997102602:00:00','1998032819:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,20,0,0],[1998,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1998,10,24,19,59,59],[1998,10,25,2,59,59],
+          '1998032820:00:00','1998032903:00:00','1998102419:59:59','1998102502:59:59' ],
+        [ [1998,10,24,20,0,0],[1998,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1999,3,27,19,59,59],[1999,3,28,1,59,59],
+          '1998102420:00:00','1998102502:00:00','1999032719:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,20,0,0],[1999,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1999,10,30,19,59,59],[1999,10,31,2,59,59],
+          '1999032720:00:00','1999032803:00:00','1999103019:59:59','1999103102:59:59' ],
+        [ [1999,10,30,20,0,0],[1999,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2000,3,25,19,59,59],[2000,3,26,1,59,59],
+          '1999103020:00:00','1999103102:00:00','2000032519:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,20,0,0],[2000,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2000,10,28,19,59,59],[2000,10,29,2,59,59],
+          '2000032520:00:00','2000032603:00:00','2000102819:59:59','2000102902:59:59' ],
+        [ [2000,10,28,20,0,0],[2000,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2001,3,24,19,59,59],[2001,3,25,1,59,59],
+          '2000102820:00:00','2000102902:00:00','2001032419:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,20,0,0],[2001,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2001,10,27,19,59,59],[2001,10,28,2,59,59],
+          '2001032420:00:00','2001032503:00:00','2001102719:59:59','2001102802:59:59' ],
+        [ [2001,10,27,20,0,0],[2001,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2002,3,30,19,59,59],[2002,3,31,1,59,59],
+          '2001102720:00:00','2001102802:00:00','2002033019:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,20,0,0],[2002,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2002,10,26,19,59,59],[2002,10,27,2,59,59],
+          '2002033020:00:00','2002033103:00:00','2002102619:59:59','2002102702:59:59' ],
+        [ [2002,10,26,20,0,0],[2002,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2003,3,29,19,59,59],[2003,3,30,1,59,59],
+          '2002102620:00:00','2002102702:00:00','2003032919:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2003,10,25,19,59,59],[2003,10,26,2,59,59],
+          '2003032920:00:00','2003033003:00:00','2003102519:59:59','2003102602:59:59' ],
+        [ [2003,10,25,20,0,0],[2003,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2004,3,27,19,59,59],[2004,3,28,1,59,59],
+          '2003102520:00:00','2003102602:00:00','2004032719:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2004,10,30,19,59,59],[2004,10,31,2,59,59],
+          '2004032720:00:00','2004032803:00:00','2004103019:59:59','2004103102:59:59' ],
+        [ [2004,10,30,20,0,0],[2004,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '2004103020:00:00','2004103102:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asamma00.pm b/lib/Date/Manip/TZ/asamma00.pm
new file mode 100644
index 0000000..9c58472
--- /dev/null
+++ b/lib/Date/Manip/TZ/asamma00.pm
@@ -0,0 +1,868 @@
+package #
+Date::Manip::TZ::asamma00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,23,44],'+02:23:44',[2,23,44],
+          'LMT',0,[1930,12,31,21,36,15],[1930,12,31,23,59,59],
+          '0001010200:00:00','0001010202:23:44','1930123121:36:15','1930123123:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,12,31,21,36,16],[1930,12,31,23,36,16],'+02:00:00',[2,0,0],
+          'EET',0,[1973,6,5,21,59,59],[1973,6,5,23,59,59],
+          '1930123121:36:16','1930123123:36:16','1973060521:59:59','1973060523:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,6,5,22,0,0],[1973,6,6,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1973,9,30,20,59,59],[1973,9,30,23,59,59],
+          '1973060522:00:00','1973060601:00:00','1973093020:59:59','1973093023:59:59' ],
+        [ [1973,9,30,21,0,0],[1973,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1974,4,30,21,59,59],[1974,4,30,23,59,59],
+          '1973093021:00:00','1973093023:00:00','1974043021:59:59','1974043023:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,30,22,0,0],[1974,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1974,9,30,20,59,59],[1974,9,30,23,59,59],
+          '1974043022:00:00','1974050101:00:00','1974093020:59:59','1974093023:59:59' ],
+        [ [1974,9,30,21,0,0],[1974,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,30,21,59,59],[1975,4,30,23,59,59],
+          '1974093021:00:00','1974093023:00:00','1975043021:59:59','1975043023:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,30,22,0,0],[1975,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,9,30,20,59,59],[1975,9,30,23,59,59],
+          '1975043022:00:00','1975050101:00:00','1975093020:59:59','1975093023:59:59' ],
+        [ [1975,9,30,21,0,0],[1975,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,4,30,21,59,59],[1976,4,30,23,59,59],
+          '1975093021:00:00','1975093023:00:00','1976043021:59:59','1976043023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,30,22,0,0],[1976,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,10,31,20,59,59],[1976,10,31,23,59,59],
+          '1976043022:00:00','1976050101:00:00','1976103120:59:59','1976103123:59:59' ],
+        [ [1976,10,31,21,0,0],[1976,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,30,21,59,59],[1977,4,30,23,59,59],
+          '1976103121:00:00','1976103123:00:00','1977043021:59:59','1977043023:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,30,22,0,0],[1977,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,30,20,59,59],[1977,9,30,23,59,59],
+          '1977043022:00:00','1977050101:00:00','1977093020:59:59','1977093023:59:59' ],
+        [ [1977,9,30,21,0,0],[1977,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,29,21,59,59],[1978,4,29,23,59,59],
+          '1977093021:00:00','1977093023:00:00','1978042921:59:59','1978042923:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,29,22,0,0],[1978,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,9,29,20,59,59],[1978,9,29,23,59,59],
+          '1978042922:00:00','1978043001:00:00','1978092920:59:59','1978092923:59:59' ],
+        [ [1978,9,29,21,0,0],[1978,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,31,21,59,59],[1985,3,31,23,59,59],
+          '1978092921:00:00','1978092923:00:00','1985033121:59:59','1985033123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,22,0,0],[1985,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,30,20,59,59],[1985,9,30,23,59,59],
+          '1985033122:00:00','1985040101:00:00','1985093020:59:59','1985093023:59:59' ],
+        [ [1985,9,30,21,0,0],[1985,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,4,3,21,59,59],[1986,4,3,23,59,59],
+          '1985093021:00:00','1985093023:00:00','1986040321:59:59','1986040323:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,3,22,0,0],[1986,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,10,2,20,59,59],[1986,10,2,23,59,59],
+          '1986040322:00:00','1986040401:00:00','1986100220:59:59','1986100223:59:59' ],
+        [ [1986,10,2,21,0,0],[1986,10,2,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,4,2,21,59,59],[1987,4,2,23,59,59],
+          '1986100221:00:00','1986100223:00:00','1987040221:59:59','1987040223:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,2,22,0,0],[1987,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,10,1,20,59,59],[1987,10,1,23,59,59],
+          '1987040222:00:00','1987040301:00:00','1987100120:59:59','1987100123:59:59' ],
+        [ [1987,10,1,21,0,0],[1987,10,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,31,21,59,59],[1988,3,31,23,59,59],
+          '1987100121:00:00','1987100123:00:00','1988033121:59:59','1988033123:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,31,22,0,0],[1988,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,10,6,20,59,59],[1988,10,6,23,59,59],
+          '1988033122:00:00','1988040101:00:00','1988100620:59:59','1988100623:59:59' ],
+        [ [1988,10,6,21,0,0],[1988,10,6,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,5,7,21,59,59],[1989,5,7,23,59,59],
+          '1988100621:00:00','1988100623:00:00','1989050721:59:59','1989050723:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,5,7,22,0,0],[1989,5,8,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,10,5,20,59,59],[1989,10,5,23,59,59],
+          '1989050722:00:00','1989050801:00:00','1989100520:59:59','1989100523:59:59' ],
+        [ [1989,10,5,21,0,0],[1989,10,5,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,4,26,21,59,59],[1990,4,26,23,59,59],
+          '1989100521:00:00','1989100523:00:00','1990042621:59:59','1990042623:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,26,22,0,0],[1990,4,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,10,4,20,59,59],[1990,10,4,23,59,59],
+          '1990042622:00:00','1990042701:00:00','1990100420:59:59','1990100423:59:59' ],
+        [ [1990,10,4,21,0,0],[1990,10,4,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,4,16,21,59,59],[1991,4,16,23,59,59],
+          '1990100421:00:00','1990100423:00:00','1991041621:59:59','1991041623:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,16,22,0,0],[1991,4,17,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,26,20,59,59],[1991,9,26,23,59,59],
+          '1991041622:00:00','1991041701:00:00','1991092620:59:59','1991092623:59:59' ],
+        [ [1991,9,26,21,0,0],[1991,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,4,9,21,59,59],[1992,4,9,23,59,59],
+          '1991092621:00:00','1991092623:00:00','1992040921:59:59','1992040923:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,9,22,0,0],[1992,4,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,10,1,20,59,59],[1992,10,1,23,59,59],
+          '1992040922:00:00','1992041001:00:00','1992100120:59:59','1992100123:59:59' ],
+        [ [1992,10,1,21,0,0],[1992,10,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,4,1,21,59,59],[1993,4,1,23,59,59],
+          '1992100121:00:00','1992100123:00:00','1993040121:59:59','1993040123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,1,22,0,0],[1993,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,30,20,59,59],[1993,9,30,23,59,59],
+          '1993040122:00:00','1993040201:00:00','1993093020:59:59','1993093023:59:59' ],
+        [ [1993,9,30,21,0,0],[1993,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,31,21,59,59],[1994,3,31,23,59,59],
+          '1993093021:00:00','1993093023:00:00','1994033121:59:59','1994033123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,31,22,0,0],[1994,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,15,20,59,59],[1994,9,15,23,59,59],
+          '1994033122:00:00','1994040101:00:00','1994091520:59:59','1994091523:59:59' ],
+        [ [1994,9,15,21,0,0],[1994,9,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,4,6,21,59,59],[1995,4,6,23,59,59],
+          '1994091521:00:00','1994091523:00:00','1995040621:59:59','1995040623:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,6,22,0,0],[1995,4,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,14,21,59,59],[1995,9,15,0,59,59],
+          '1995040622:00:00','1995040701:00:00','1995091421:59:59','1995091500:59:59' ],
+        [ [1995,9,14,22,0,0],[1995,9,15,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,4,4,21,59,59],[1996,4,4,23,59,59],
+          '1995091422:00:00','1995091500:00:00','1996040421:59:59','1996040423:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,4,22,0,0],[1996,4,5,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,19,21,59,59],[1996,9,20,0,59,59],
+          '1996040422:00:00','1996040501:00:00','1996091921:59:59','1996092000:59:59' ],
+        [ [1996,9,19,22,0,0],[1996,9,20,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,4,3,21,59,59],[1997,4,3,23,59,59],
+          '1996091922:00:00','1996092000:00:00','1997040321:59:59','1997040323:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,3,22,0,0],[1997,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,18,21,59,59],[1997,9,19,0,59,59],
+          '1997040322:00:00','1997040401:00:00','1997091821:59:59','1997091900:59:59' ],
+        [ [1997,9,18,22,0,0],[1997,9,19,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,4,2,21,59,59],[1998,4,2,23,59,59],
+          '1997091822:00:00','1997091900:00:00','1998040221:59:59','1998040223:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,2,22,0,0],[1998,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,17,21,59,59],[1998,9,18,0,59,59],
+          '1998040222:00:00','1998040301:00:00','1998091721:59:59','1998091800:59:59' ],
+        [ [1998,9,17,22,0,0],[1998,9,18,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,6,30,21,59,59],[1999,6,30,23,59,59],
+          '1998091722:00:00','1998091800:00:00','1999063021:59:59','1999063023:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,6,30,22,0,0],[1999,7,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,9,23,21,59,59],[1999,9,24,0,59,59],
+          '1999063022:00:00','1999070101:00:00','1999092321:59:59','1999092400:59:59' ],
+        [ [1999,9,23,22,0,0],[1999,9,24,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,29,21,59,59],[2000,3,29,23,59,59],
+          '1999092322:00:00','1999092400:00:00','2000032921:59:59','2000032923:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,29,22,0,0],[2000,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,9,28,21,59,59],[2000,9,29,0,59,59],
+          '2000032922:00:00','2000033001:00:00','2000092821:59:59','2000092900:59:59' ],
+        [ [2000,9,28,22,0,0],[2000,9,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,28,21,59,59],[2001,3,28,23,59,59],
+          '2000092822:00:00','2000092900:00:00','2001032821:59:59','2001032823:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,28,22,0,0],[2001,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,9,27,21,59,59],[2001,9,28,0,59,59],
+          '2001032822:00:00','2001032901:00:00','2001092721:59:59','2001092800:59:59' ],
+        [ [2001,9,27,22,0,0],[2001,9,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,28,21,59,59],[2002,3,28,23,59,59],
+          '2001092722:00:00','2001092800:00:00','2002032821:59:59','2002032823:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,28,22,0,0],[2002,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,9,26,21,59,59],[2002,9,27,0,59,59],
+          '2002032822:00:00','2002032901:00:00','2002092621:59:59','2002092700:59:59' ],
+        [ [2002,9,26,22,0,0],[2002,9,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,27,21,59,59],[2003,3,27,23,59,59],
+          '2002092622:00:00','2002092700:00:00','2003032721:59:59','2003032723:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,27,22,0,0],[2003,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,23,21,59,59],[2003,10,24,0,59,59],
+          '2003032722:00:00','2003032801:00:00','2003102321:59:59','2003102400:59:59' ],
+        [ [2003,10,23,22,0,0],[2003,10,24,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,25,21,59,59],[2004,3,25,23,59,59],
+          '2003102322:00:00','2003102400:00:00','2004032521:59:59','2004032523:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,25,22,0,0],[2004,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,14,21,59,59],[2004,10,15,0,59,59],
+          '2004032522:00:00','2004032601:00:00','2004101421:59:59','2004101500:59:59' ],
+        [ [2004,10,14,22,0,0],[2004,10,15,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,31,21,59,59],[2005,3,31,23,59,59],
+          '2004101422:00:00','2004101500:00:00','2005033121:59:59','2005033123:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,31,22,0,0],[2005,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,9,29,21,59,59],[2005,9,30,0,59,59],
+          '2005033122:00:00','2005040101:00:00','2005092921:59:59','2005093000:59:59' ],
+        [ [2005,9,29,22,0,0],[2005,9,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,30,21,59,59],[2006,3,30,23,59,59],
+          '2005092922:00:00','2005093000:00:00','2006033021:59:59','2006033023:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,30,22,0,0],[2006,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,26,21,59,59],[2006,10,27,0,59,59],
+          '2006033022:00:00','2006033101:00:00','2006102621:59:59','2006102700:59:59' ],
+        [ [2006,10,26,22,0,0],[2006,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,29,21,59,59],[2007,3,29,23,59,59],
+          '2006102622:00:00','2006102700:00:00','2007032921:59:59','2007032923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,29,22,0,0],[2007,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,25,21,59,59],[2007,10,26,0,59,59],
+          '2007032922:00:00','2007033001:00:00','2007102521:59:59','2007102600:59:59' ],
+        [ [2007,10,25,22,0,0],[2007,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,27,21,59,59],[2008,3,27,23,59,59],
+          '2007102522:00:00','2007102600:00:00','2008032721:59:59','2008032723:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,27,22,0,0],[2008,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,30,21,59,59],[2008,10,31,0,59,59],
+          '2008032722:00:00','2008032801:00:00','2008103021:59:59','2008103100:59:59' ],
+        [ [2008,10,30,22,0,0],[2008,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,26,21,59,59],[2009,3,26,23,59,59],
+          '2008103022:00:00','2008103100:00:00','2009032621:59:59','2009032623:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,26,22,0,0],[2009,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,29,21,59,59],[2009,10,30,0,59,59],
+          '2009032622:00:00','2009032701:00:00','2009102921:59:59','2009103000:59:59' ],
+        [ [2009,10,29,22,0,0],[2009,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,25,21,59,59],[2010,3,25,23,59,59],
+          '2009102922:00:00','2009103000:00:00','2010032521:59:59','2010032523:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,25,22,0,0],[2010,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,28,21,59,59],[2010,10,29,0,59,59],
+          '2010032522:00:00','2010032601:00:00','2010102821:59:59','2010102900:59:59' ],
+        [ [2010,10,28,22,0,0],[2010,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,31,21,59,59],[2011,3,31,23,59,59],
+          '2010102822:00:00','2010102900:00:00','2011033121:59:59','2011033123:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,31,22,0,0],[2011,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,27,21,59,59],[2011,10,28,0,59,59],
+          '2011033122:00:00','2011040101:00:00','2011102721:59:59','2011102800:59:59' ],
+        [ [2011,10,27,22,0,0],[2011,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,29,21,59,59],[2012,3,29,23,59,59],
+          '2011102722:00:00','2011102800:00:00','2012032921:59:59','2012032923:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,29,22,0,0],[2012,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,12,19,20,59,59],[2013,12,19,23,59,59],
+          '2012032922:00:00','2012033001:00:00','2013121920:59:59','2013121923:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,12,19,21,0,0],[2013,12,19,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,27,21,59,59],[2014,3,27,23,59,59],
+          '2013121921:00:00','2013121923:00:00','2014032721:59:59','2014032723:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,27,22,0,0],[2014,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,30,21,59,59],[2014,10,31,0,59,59],
+          '2014032722:00:00','2014032801:00:00','2014103021:59:59','2014103100:59:59' ],
+        [ [2014,10,30,22,0,0],[2014,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,26,21,59,59],[2015,3,26,23,59,59],
+          '2014103022:00:00','2014103100:00:00','2015032621:59:59','2015032623:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,26,22,0,0],[2015,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,29,21,59,59],[2015,10,30,0,59,59],
+          '2015032622:00:00','2015032701:00:00','2015102921:59:59','2015103000:59:59' ],
+        [ [2015,10,29,22,0,0],[2015,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,31,21,59,59],[2016,3,31,23,59,59],
+          '2015102922:00:00','2015103000:00:00','2016033121:59:59','2016033123:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,31,22,0,0],[2016,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,27,21,59,59],[2016,10,28,0,59,59],
+          '2016033122:00:00','2016040101:00:00','2016102721:59:59','2016102800:59:59' ],
+        [ [2016,10,27,22,0,0],[2016,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,30,21,59,59],[2017,3,30,23,59,59],
+          '2016102722:00:00','2016102800:00:00','2017033021:59:59','2017033023:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,30,22,0,0],[2017,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,26,21,59,59],[2017,10,27,0,59,59],
+          '2017033022:00:00','2017033101:00:00','2017102621:59:59','2017102700:59:59' ],
+        [ [2017,10,26,22,0,0],[2017,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,29,21,59,59],[2018,3,29,23,59,59],
+          '2017102622:00:00','2017102700:00:00','2018032921:59:59','2018032923:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,29,22,0,0],[2018,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,25,21,59,59],[2018,10,26,0,59,59],
+          '2018032922:00:00','2018033001:00:00','2018102521:59:59','2018102600:59:59' ],
+        [ [2018,10,25,22,0,0],[2018,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,28,21,59,59],[2019,3,28,23,59,59],
+          '2018102522:00:00','2018102600:00:00','2019032821:59:59','2019032823:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,28,22,0,0],[2019,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,24,21,59,59],[2019,10,25,0,59,59],
+          '2019032822:00:00','2019032901:00:00','2019102421:59:59','2019102500:59:59' ],
+        [ [2019,10,24,22,0,0],[2019,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,26,21,59,59],[2020,3,26,23,59,59],
+          '2019102422:00:00','2019102500:00:00','2020032621:59:59','2020032623:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,26,22,0,0],[2020,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,29,21,59,59],[2020,10,30,0,59,59],
+          '2020032622:00:00','2020032701:00:00','2020102921:59:59','2020103000:59:59' ],
+        [ [2020,10,29,22,0,0],[2020,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,25,21,59,59],[2021,3,25,23,59,59],
+          '2020102922:00:00','2020103000:00:00','2021032521:59:59','2021032523:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,25,22,0,0],[2021,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,28,21,59,59],[2021,10,29,0,59,59],
+          '2021032522:00:00','2021032601:00:00','2021102821:59:59','2021102900:59:59' ],
+        [ [2021,10,28,22,0,0],[2021,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,31,21,59,59],[2022,3,31,23,59,59],
+          '2021102822:00:00','2021102900:00:00','2022033121:59:59','2022033123:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,31,22,0,0],[2022,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,27,21,59,59],[2022,10,28,0,59,59],
+          '2022033122:00:00','2022040101:00:00','2022102721:59:59','2022102800:59:59' ],
+        [ [2022,10,27,22,0,0],[2022,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,30,21,59,59],[2023,3,30,23,59,59],
+          '2022102722:00:00','2022102800:00:00','2023033021:59:59','2023033023:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,30,22,0,0],[2023,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,26,21,59,59],[2023,10,27,0,59,59],
+          '2023033022:00:00','2023033101:00:00','2023102621:59:59','2023102700:59:59' ],
+        [ [2023,10,26,22,0,0],[2023,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,28,21,59,59],[2024,3,28,23,59,59],
+          '2023102622:00:00','2023102700:00:00','2024032821:59:59','2024032823:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,28,22,0,0],[2024,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,24,21,59,59],[2024,10,25,0,59,59],
+          '2024032822:00:00','2024032901:00:00','2024102421:59:59','2024102500:59:59' ],
+        [ [2024,10,24,22,0,0],[2024,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,27,21,59,59],[2025,3,27,23,59,59],
+          '2024102422:00:00','2024102500:00:00','2025032721:59:59','2025032723:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,27,22,0,0],[2025,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,30,21,59,59],[2025,10,31,0,59,59],
+          '2025032722:00:00','2025032801:00:00','2025103021:59:59','2025103100:59:59' ],
+        [ [2025,10,30,22,0,0],[2025,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,26,21,59,59],[2026,3,26,23,59,59],
+          '2025103022:00:00','2025103100:00:00','2026032621:59:59','2026032623:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,26,22,0,0],[2026,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,29,21,59,59],[2026,10,30,0,59,59],
+          '2026032622:00:00','2026032701:00:00','2026102921:59:59','2026103000:59:59' ],
+        [ [2026,10,29,22,0,0],[2026,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,25,21,59,59],[2027,3,25,23,59,59],
+          '2026102922:00:00','2026103000:00:00','2027032521:59:59','2027032523:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,25,22,0,0],[2027,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,28,21,59,59],[2027,10,29,0,59,59],
+          '2027032522:00:00','2027032601:00:00','2027102821:59:59','2027102900:59:59' ],
+        [ [2027,10,28,22,0,0],[2027,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,30,21,59,59],[2028,3,30,23,59,59],
+          '2027102822:00:00','2027102900:00:00','2028033021:59:59','2028033023:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,30,22,0,0],[2028,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,26,21,59,59],[2028,10,27,0,59,59],
+          '2028033022:00:00','2028033101:00:00','2028102621:59:59','2028102700:59:59' ],
+        [ [2028,10,26,22,0,0],[2028,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,29,21,59,59],[2029,3,29,23,59,59],
+          '2028102622:00:00','2028102700:00:00','2029032921:59:59','2029032923:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,29,22,0,0],[2029,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,25,21,59,59],[2029,10,26,0,59,59],
+          '2029032922:00:00','2029033001:00:00','2029102521:59:59','2029102600:59:59' ],
+        [ [2029,10,25,22,0,0],[2029,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,28,21,59,59],[2030,3,28,23,59,59],
+          '2029102522:00:00','2029102600:00:00','2030032821:59:59','2030032823:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,28,22,0,0],[2030,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,24,21,59,59],[2030,10,25,0,59,59],
+          '2030032822:00:00','2030032901:00:00','2030102421:59:59','2030102500:59:59' ],
+        [ [2030,10,24,22,0,0],[2030,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,27,21,59,59],[2031,3,27,23,59,59],
+          '2030102422:00:00','2030102500:00:00','2031032721:59:59','2031032723:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,27,22,0,0],[2031,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,30,21,59,59],[2031,10,31,0,59,59],
+          '2031032722:00:00','2031032801:00:00','2031103021:59:59','2031103100:59:59' ],
+        [ [2031,10,30,22,0,0],[2031,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,25,21,59,59],[2032,3,25,23,59,59],
+          '2031103022:00:00','2031103100:00:00','2032032521:59:59','2032032523:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,25,22,0,0],[2032,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,28,21,59,59],[2032,10,29,0,59,59],
+          '2032032522:00:00','2032032601:00:00','2032102821:59:59','2032102900:59:59' ],
+        [ [2032,10,28,22,0,0],[2032,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,31,21,59,59],[2033,3,31,23,59,59],
+          '2032102822:00:00','2032102900:00:00','2033033121:59:59','2033033123:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,31,22,0,0],[2033,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,27,21,59,59],[2033,10,28,0,59,59],
+          '2033033122:00:00','2033040101:00:00','2033102721:59:59','2033102800:59:59' ],
+        [ [2033,10,27,22,0,0],[2033,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,30,21,59,59],[2034,3,30,23,59,59],
+          '2033102722:00:00','2033102800:00:00','2034033021:59:59','2034033023:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,30,22,0,0],[2034,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,26,21,59,59],[2034,10,27,0,59,59],
+          '2034033022:00:00','2034033101:00:00','2034102621:59:59','2034102700:59:59' ],
+        [ [2034,10,26,22,0,0],[2034,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,29,21,59,59],[2035,3,29,23,59,59],
+          '2034102622:00:00','2034102700:00:00','2035032921:59:59','2035032923:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,29,22,0,0],[2035,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,25,21,59,59],[2035,10,26,0,59,59],
+          '2035032922:00:00','2035033001:00:00','2035102521:59:59','2035102600:59:59' ],
+        [ [2035,10,25,22,0,0],[2035,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,27,21,59,59],[2036,3,27,23,59,59],
+          '2035102522:00:00','2035102600:00:00','2036032721:59:59','2036032723:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,27,22,0,0],[2036,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,30,21,59,59],[2036,10,31,0,59,59],
+          '2036032722:00:00','2036032801:00:00','2036103021:59:59','2036103100:59:59' ],
+        [ [2036,10,30,22,0,0],[2036,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,26,21,59,59],[2037,3,26,23,59,59],
+          '2036103022:00:00','2036103100:00:00','2037032621:59:59','2037032623:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,26,22,0,0],[2037,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,29,21,59,59],[2037,10,30,0,59,59],
+          '2037032622:00:00','2037032701:00:00','2037102921:59:59','2037103000:59:59' ],
+        [ [2037,10,29,22,0,0],[2037,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,25,21,59,59],[2038,3,25,23,59,59],
+          '2037102922:00:00','2037103000:00:00','2038032521:59:59','2038032523:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,25,22,0,0],[2038,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,28,21,59,59],[2038,10,29,0,59,59],
+          '2038032522:00:00','2038032601:00:00','2038102821:59:59','2038102900:59:59' ],
+        [ [2038,10,28,22,0,0],[2038,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,31,21,59,59],[2039,3,31,23,59,59],
+          '2038102822:00:00','2038102900:00:00','2039033121:59:59','2039033123:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,31,22,0,0],[2039,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,27,21,59,59],[2039,10,28,0,59,59],
+          '2039033122:00:00','2039040101:00:00','2039102721:59:59','2039102800:59:59' ],
+        [ [2039,10,27,22,0,0],[2039,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,29,21,59,59],[2040,3,29,23,59,59],
+          '2039102722:00:00','2039102800:00:00','2040032921:59:59','2040032923:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,29,22,0,0],[2040,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,25,21,59,59],[2040,10,26,0,59,59],
+          '2040032922:00:00','2040033001:00:00','2040102521:59:59','2040102600:59:59' ],
+        [ [2040,10,25,22,0,0],[2040,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,28,21,59,59],[2041,3,28,23,59,59],
+          '2040102522:00:00','2040102600:00:00','2041032821:59:59','2041032823:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,28,22,0,0],[2041,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,24,21,59,59],[2041,10,25,0,59,59],
+          '2041032822:00:00','2041032901:00:00','2041102421:59:59','2041102500:59:59' ],
+        [ [2041,10,24,22,0,0],[2041,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,27,21,59,59],[2042,3,27,23,59,59],
+          '2041102422:00:00','2041102500:00:00','2042032721:59:59','2042032723:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,27,22,0,0],[2042,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,30,21,59,59],[2042,10,31,0,59,59],
+          '2042032722:00:00','2042032801:00:00','2042103021:59:59','2042103100:59:59' ],
+        [ [2042,10,30,22,0,0],[2042,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,26,21,59,59],[2043,3,26,23,59,59],
+          '2042103022:00:00','2042103100:00:00','2043032621:59:59','2043032623:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,26,22,0,0],[2043,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,29,21,59,59],[2043,10,30,0,59,59],
+          '2043032622:00:00','2043032701:00:00','2043102921:59:59','2043103000:59:59' ],
+        [ [2043,10,29,22,0,0],[2043,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,31,21,59,59],[2044,3,31,23,59,59],
+          '2043102922:00:00','2043103000:00:00','2044033121:59:59','2044033123:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,31,22,0,0],[2044,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,27,21,59,59],[2044,10,28,0,59,59],
+          '2044033122:00:00','2044040101:00:00','2044102721:59:59','2044102800:59:59' ],
+        [ [2044,10,27,22,0,0],[2044,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,30,21,59,59],[2045,3,30,23,59,59],
+          '2044102722:00:00','2044102800:00:00','2045033021:59:59','2045033023:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,30,22,0,0],[2045,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,26,21,59,59],[2045,10,27,0,59,59],
+          '2045033022:00:00','2045033101:00:00','2045102621:59:59','2045102700:59:59' ],
+        [ [2045,10,26,22,0,0],[2045,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,29,21,59,59],[2046,3,29,23,59,59],
+          '2045102622:00:00','2045102700:00:00','2046032921:59:59','2046032923:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,29,22,0,0],[2046,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,25,21,59,59],[2046,10,26,0,59,59],
+          '2046032922:00:00','2046033001:00:00','2046102521:59:59','2046102600:59:59' ],
+        [ [2046,10,25,22,0,0],[2046,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,28,21,59,59],[2047,3,28,23,59,59],
+          '2046102522:00:00','2046102600:00:00','2047032821:59:59','2047032823:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,28,22,0,0],[2047,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,24,21,59,59],[2047,10,25,0,59,59],
+          '2047032822:00:00','2047032901:00:00','2047102421:59:59','2047102500:59:59' ],
+        [ [2047,10,24,22,0,0],[2047,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,26,21,59,59],[2048,3,26,23,59,59],
+          '2047102422:00:00','2047102500:00:00','2048032621:59:59','2048032623:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,26,22,0,0],[2048,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,29,21,59,59],[2048,10,30,0,59,59],
+          '2048032622:00:00','2048032701:00:00','2048102921:59:59','2048103000:59:59' ],
+        [ [2048,10,29,22,0,0],[2048,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,25,21,59,59],[2049,3,25,23,59,59],
+          '2048102922:00:00','2048103000:00:00','2049032521:59:59','2049032523:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,25,22,0,0],[2049,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,28,21,59,59],[2049,10,29,0,59,59],
+          '2049032522:00:00','2049032601:00:00','2049102821:59:59','2049102900:59:59' ],
+        [ [2049,10,28,22,0,0],[2049,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,31,21,59,59],[2050,3,31,23,59,59],
+          '2049102822:00:00','2049102900:00:00','2050033121:59:59','2050033123:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,31,22,0,0],[2050,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,27,21,59,59],[2050,10,28,0,59,59],
+          '2050033122:00:00','2050040101:00:00','2050102721:59:59','2050102800:59:59' ],
+        [ [2050,10,27,22,0,0],[2050,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,30,21,59,59],[2051,3,30,23,59,59],
+          '2050102722:00:00','2050102800:00:00','2051033021:59:59','2051033023:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,30,22,0,0],[2051,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,26,21,59,59],[2051,10,27,0,59,59],
+          '2051033022:00:00','2051033101:00:00','2051102621:59:59','2051102700:59:59' ],
+        [ [2051,10,26,22,0,0],[2051,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,28,21,59,59],[2052,3,28,23,59,59],
+          '2051102622:00:00','2051102700:00:00','2052032821:59:59','2052032823:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,28,22,0,0],[2052,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,24,21,59,59],[2052,10,25,0,59,59],
+          '2052032822:00:00','2052032901:00:00','2052102421:59:59','2052102500:59:59' ],
+        [ [2052,10,24,22,0,0],[2052,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,27,21,59,59],[2053,3,27,23,59,59],
+          '2052102422:00:00','2052102500:00:00','2053032721:59:59','2053032723:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,27,22,0,0],[2053,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,30,21,59,59],[2053,10,31,0,59,59],
+          '2053032722:00:00','2053032801:00:00','2053103021:59:59','2053103100:59:59' ],
+        [ [2053,10,30,22,0,0],[2053,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,26,21,59,59],[2054,3,26,23,59,59],
+          '2053103022:00:00','2053103100:00:00','2054032621:59:59','2054032623:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,26,22,0,0],[2054,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,29,21,59,59],[2054,10,30,0,59,59],
+          '2054032622:00:00','2054032701:00:00','2054102921:59:59','2054103000:59:59' ],
+        [ [2054,10,29,22,0,0],[2054,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,25,21,59,59],[2055,3,25,23,59,59],
+          '2054102922:00:00','2054103000:00:00','2055032521:59:59','2055032523:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,25,22,0,0],[2055,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,28,21,59,59],[2055,10,29,0,59,59],
+          '2055032522:00:00','2055032601:00:00','2055102821:59:59','2055102900:59:59' ],
+        [ [2055,10,28,22,0,0],[2055,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,30,21,59,59],[2056,3,30,23,59,59],
+          '2055102822:00:00','2055102900:00:00','2056033021:59:59','2056033023:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,30,22,0,0],[2056,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,26,21,59,59],[2056,10,27,0,59,59],
+          '2056033022:00:00','2056033101:00:00','2056102621:59:59','2056102700:59:59' ],
+        [ [2056,10,26,22,0,0],[2056,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,29,21,59,59],[2057,3,29,23,59,59],
+          '2056102622:00:00','2056102700:00:00','2057032921:59:59','2057032923:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,29,22,0,0],[2057,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,25,21,59,59],[2057,10,26,0,59,59],
+          '2057032922:00:00','2057033001:00:00','2057102521:59:59','2057102600:59:59' ],
+        [ [2057,10,25,22,0,0],[2057,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,28,21,59,59],[2058,3,28,23,59,59],
+          '2057102522:00:00','2057102600:00:00','2058032821:59:59','2058032823:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,28,22,0,0],[2058,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,24,21,59,59],[2058,10,25,0,59,59],
+          '2058032822:00:00','2058032901:00:00','2058102421:59:59','2058102500:59:59' ],
+        [ [2058,10,24,22,0,0],[2058,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,27,21,59,59],[2059,3,27,23,59,59],
+          '2058102422:00:00','2058102500:00:00','2059032721:59:59','2059032723:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,27,22,0,0],[2059,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,30,21,59,59],[2059,10,31,0,59,59],
+          '2059032722:00:00','2059032801:00:00','2059103021:59:59','2059103100:59:59' ],
+        [ [2059,10,30,22,0,0],[2059,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,25,21,59,59],[2060,3,25,23,59,59],
+          '2059103022:00:00','2059103100:00:00','2060032521:59:59','2060032523:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,25,22,0,0],[2060,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,28,21,59,59],[2060,10,29,0,59,59],
+          '2060032522:00:00','2060032601:00:00','2060102821:59:59','2060102900:59:59' ],
+        [ [2060,10,28,22,0,0],[2060,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,31,21,59,59],[2061,3,31,23,59,59],
+          '2060102822:00:00','2060102900:00:00','2061033121:59:59','2061033123:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,31,22,0,0],[2061,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,27,21,59,59],[2061,10,28,0,59,59],
+          '2061033122:00:00','2061040101:00:00','2061102721:59:59','2061102800:59:59' ],
+        [ [2061,10,27,22,0,0],[2061,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,30,21,59,59],[2062,3,30,23,59,59],
+          '2061102722:00:00','2061102800:00:00','2062033021:59:59','2062033023:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,30,22,0,0],[2062,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,26,21,59,59],[2062,10,27,0,59,59],
+          '2062033022:00:00','2062033101:00:00','2062102621:59:59','2062102700:59:59' ],
+        [ [2062,10,26,22,0,0],[2062,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,29,21,59,59],[2063,3,29,23,59,59],
+          '2062102622:00:00','2062102700:00:00','2063032921:59:59','2063032923:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,29,22,0,0],[2063,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,25,21,59,59],[2063,10,26,0,59,59],
+          '2063032922:00:00','2063033001:00:00','2063102521:59:59','2063102600:59:59' ],
+        [ [2063,10,25,22,0,0],[2063,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,27,21,59,59],[2064,3,27,23,59,59],
+          '2063102522:00:00','2063102600:00:00','2064032721:59:59','2064032723:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,27,22,0,0],[2064,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,30,21,59,59],[2064,10,31,0,59,59],
+          '2064032722:00:00','2064032801:00:00','2064103021:59:59','2064103100:59:59' ],
+        [ [2064,10,30,22,0,0],[2064,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,26,21,59,59],[2065,3,26,23,59,59],
+          '2064103022:00:00','2064103100:00:00','2065032621:59:59','2065032623:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,26,22,0,0],[2065,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,29,21,59,59],[2065,10,30,0,59,59],
+          '2065032622:00:00','2065032701:00:00','2065102921:59:59','2065103000:59:59' ],
+        [ [2065,10,29,22,0,0],[2065,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,25,21,59,59],[2066,3,25,23,59,59],
+          '2065102922:00:00','2065103000:00:00','2066032521:59:59','2066032523:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,25,22,0,0],[2066,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,28,21,59,59],[2066,10,29,0,59,59],
+          '2066032522:00:00','2066032601:00:00','2066102821:59:59','2066102900:59:59' ],
+        [ [2066,10,28,22,0,0],[2066,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,31,21,59,59],[2067,3,31,23,59,59],
+          '2066102822:00:00','2066102900:00:00','2067033121:59:59','2067033123:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,31,22,0,0],[2067,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,27,21,59,59],[2067,10,28,0,59,59],
+          '2067033122:00:00','2067040101:00:00','2067102721:59:59','2067102800:59:59' ],
+        [ [2067,10,27,22,0,0],[2067,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,29,21,59,59],[2068,3,29,23,59,59],
+          '2067102722:00:00','2067102800:00:00','2068032921:59:59','2068032923:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '4',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '24:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '5',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asanad00.pm b/lib/Date/Manip/TZ/asanad00.pm
new file mode 100644
index 0000000..b8bf122
--- /dev/null
+++ b/lib/Date/Manip/TZ/asanad00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::asanad00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,49,56],'+11:49:56',[11,49,56],
+          'LMT',0,[1924,5,1,12,10,3],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010211:49:56','1924050112:10:03','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,12,10,4],[1924,5,2,0,10,4],'+12:00:00',[12,0,0],
+          '+12',0,[1930,6,20,11,59,59],[1930,6,20,23,59,59],
+          '1924050112:10:04','1924050200:10:04','1930062011:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,12,0,0],[1930,6,21,1,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[1981,3,31,10,59,59],[1981,3,31,23,59,59],
+          '1930062012:00:00','1930062101:00:00','1981033110:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,11,0,0],[1981,4,1,1,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[1981,9,30,9,59,59],[1981,9,30,23,59,59],
+          '1981033111:00:00','1981040101:00:00','1981093009:59:59','1981093023:59:59' ],
+        [ [1981,9,30,10,0,0],[1981,9,30,23,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[1982,3,31,10,59,59],[1982,3,31,23,59,59],
+          '1981093010:00:00','1981093023:00:00','1982033110:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,11,0,0],[1982,4,1,0,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1982,9,30,10,59,59],[1982,9,30,23,59,59],
+          '1982033111:00:00','1982040100:00:00','1982093010:59:59','1982093023:59:59' ],
+        [ [1982,9,30,11,0,0],[1982,9,30,23,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1983,3,31,11,59,59],[1983,3,31,23,59,59],
+          '1982093011:00:00','1982093023:00:00','1983033111:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,12,0,0],[1983,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1983,9,30,10,59,59],[1983,9,30,23,59,59],
+          '1983033112:00:00','1983040101:00:00','1983093010:59:59','1983093023:59:59' ],
+        [ [1983,9,30,11,0,0],[1983,9,30,23,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1984,3,31,11,59,59],[1984,3,31,23,59,59],
+          '1983093011:00:00','1983093023:00:00','1984033111:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,12,0,0],[1984,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1984,9,29,13,59,59],[1984,9,30,2,59,59],
+          '1984033112:00:00','1984040101:00:00','1984092913:59:59','1984093002:59:59' ],
+        [ [1984,9,29,14,0,0],[1984,9,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1985,3,30,13,59,59],[1985,3,31,1,59,59],
+          '1984092914:00:00','1984093002:00:00','1985033013:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,14,0,0],[1985,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1985,9,28,13,59,59],[1985,9,29,2,59,59],
+          '1985033014:00:00','1985033103:00:00','1985092813:59:59','1985092902:59:59' ],
+        [ [1985,9,28,14,0,0],[1985,9,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1986,3,29,13,59,59],[1986,3,30,1,59,59],
+          '1985092814:00:00','1985092902:00:00','1986032913:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,14,0,0],[1986,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1986,9,27,13,59,59],[1986,9,28,2,59,59],
+          '1986032914:00:00','1986033003:00:00','1986092713:59:59','1986092802:59:59' ],
+        [ [1986,9,27,14,0,0],[1986,9,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1987,3,28,13,59,59],[1987,3,29,1,59,59],
+          '1986092714:00:00','1986092802:00:00','1987032813:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,14,0,0],[1987,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1987,9,26,13,59,59],[1987,9,27,2,59,59],
+          '1987032814:00:00','1987032903:00:00','1987092613:59:59','1987092702:59:59' ],
+        [ [1987,9,26,14,0,0],[1987,9,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1988,3,26,13,59,59],[1988,3,27,1,59,59],
+          '1987092614:00:00','1987092702:00:00','1988032613:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,14,0,0],[1988,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1988,9,24,13,59,59],[1988,9,25,2,59,59],
+          '1988032614:00:00','1988032703:00:00','1988092413:59:59','1988092502:59:59' ],
+        [ [1988,9,24,14,0,0],[1988,9,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1989,3,25,13,59,59],[1989,3,26,1,59,59],
+          '1988092414:00:00','1988092502:00:00','1989032513:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,14,0,0],[1989,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1989,9,23,13,59,59],[1989,9,24,2,59,59],
+          '1989032514:00:00','1989032603:00:00','1989092313:59:59','1989092402:59:59' ],
+        [ [1989,9,23,14,0,0],[1989,9,24,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1990,3,24,13,59,59],[1990,3,25,1,59,59],
+          '1989092314:00:00','1989092402:00:00','1990032413:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,14,0,0],[1990,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1990,9,29,13,59,59],[1990,9,30,2,59,59],
+          '1990032414:00:00','1990032503:00:00','1990092913:59:59','1990093002:59:59' ],
+        [ [1990,9,29,14,0,0],[1990,9,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1991,3,30,13,59,59],[1991,3,31,1,59,59],
+          '1990092914:00:00','1990093002:00:00','1991033013:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,14,0,0],[1991,3,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1991,9,28,14,59,59],[1991,9,29,2,59,59],
+          '1991033014:00:00','1991033102:00:00','1991092814:59:59','1991092902:59:59' ],
+        [ [1991,9,28,15,0,0],[1991,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,1,18,14,59,59],[1992,1,19,1,59,59],
+          '1991092815:00:00','1991092902:00:00','1992011814:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,15,0,0],[1992,1,19,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1992,3,28,13,59,59],[1992,3,29,1,59,59],
+          '1992011815:00:00','1992011903:00:00','1992032813:59:59','1992032901:59:59' ],
+        [ [1992,3,28,14,0,0],[1992,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1992,9,26,13,59,59],[1992,9,27,2,59,59],
+          '1992032814:00:00','1992032903:00:00','1992092613:59:59','1992092702:59:59' ],
+        [ [1992,9,26,14,0,0],[1992,9,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1993,3,27,13,59,59],[1993,3,28,1,59,59],
+          '1992092614:00:00','1992092702:00:00','1993032713:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,14,0,0],[1993,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1993,9,25,13,59,59],[1993,9,26,2,59,59],
+          '1993032714:00:00','1993032803:00:00','1993092513:59:59','1993092602:59:59' ],
+        [ [1993,9,25,14,0,0],[1993,9,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1994,3,26,13,59,59],[1994,3,27,1,59,59],
+          '1993092514:00:00','1993092602:00:00','1994032613:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,14,0,0],[1994,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1994,9,24,13,59,59],[1994,9,25,2,59,59],
+          '1994032614:00:00','1994032703:00:00','1994092413:59:59','1994092502:59:59' ],
+        [ [1994,9,24,14,0,0],[1994,9,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1995,3,25,13,59,59],[1995,3,26,1,59,59],
+          '1994092414:00:00','1994092502:00:00','1995032513:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,14,0,0],[1995,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1995,9,23,13,59,59],[1995,9,24,2,59,59],
+          '1995032514:00:00','1995032603:00:00','1995092313:59:59','1995092402:59:59' ],
+        [ [1995,9,23,14,0,0],[1995,9,24,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1996,3,30,13,59,59],[1996,3,31,1,59,59],
+          '1995092314:00:00','1995092402:00:00','1996033013:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,14,0,0],[1996,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1996,10,26,13,59,59],[1996,10,27,2,59,59],
+          '1996033014:00:00','1996033103:00:00','1996102613:59:59','1996102702:59:59' ],
+        [ [1996,10,26,14,0,0],[1996,10,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1997,3,29,13,59,59],[1997,3,30,1,59,59],
+          '1996102614:00:00','1996102702:00:00','1997032913:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,14,0,0],[1997,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1997,10,25,13,59,59],[1997,10,26,2,59,59],
+          '1997032914:00:00','1997033003:00:00','1997102513:59:59','1997102602:59:59' ],
+        [ [1997,10,25,14,0,0],[1997,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1998,3,28,13,59,59],[1998,3,29,1,59,59],
+          '1997102514:00:00','1997102602:00:00','1998032813:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,14,0,0],[1998,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1998,10,24,13,59,59],[1998,10,25,2,59,59],
+          '1998032814:00:00','1998032903:00:00','1998102413:59:59','1998102502:59:59' ],
+        [ [1998,10,24,14,0,0],[1998,10,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1999,3,27,13,59,59],[1999,3,28,1,59,59],
+          '1998102414:00:00','1998102502:00:00','1999032713:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,14,0,0],[1999,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1999,10,30,13,59,59],[1999,10,31,2,59,59],
+          '1999032714:00:00','1999032803:00:00','1999103013:59:59','1999103102:59:59' ],
+        [ [1999,10,30,14,0,0],[1999,10,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2000,3,25,13,59,59],[2000,3,26,1,59,59],
+          '1999103014:00:00','1999103102:00:00','2000032513:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,14,0,0],[2000,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2000,10,28,13,59,59],[2000,10,29,2,59,59],
+          '2000032514:00:00','2000032603:00:00','2000102813:59:59','2000102902:59:59' ],
+        [ [2000,10,28,14,0,0],[2000,10,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2001,3,24,13,59,59],[2001,3,25,1,59,59],
+          '2000102814:00:00','2000102902:00:00','2001032413:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,14,0,0],[2001,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2001,10,27,13,59,59],[2001,10,28,2,59,59],
+          '2001032414:00:00','2001032503:00:00','2001102713:59:59','2001102802:59:59' ],
+        [ [2001,10,27,14,0,0],[2001,10,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2002,3,30,13,59,59],[2002,3,31,1,59,59],
+          '2001102714:00:00','2001102802:00:00','2002033013:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,14,0,0],[2002,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2002,10,26,13,59,59],[2002,10,27,2,59,59],
+          '2002033014:00:00','2002033103:00:00','2002102613:59:59','2002102702:59:59' ],
+        [ [2002,10,26,14,0,0],[2002,10,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2003,3,29,13,59,59],[2003,3,30,1,59,59],
+          '2002102614:00:00','2002102702:00:00','2003032913:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,14,0,0],[2003,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2003,10,25,13,59,59],[2003,10,26,2,59,59],
+          '2003032914:00:00','2003033003:00:00','2003102513:59:59','2003102602:59:59' ],
+        [ [2003,10,25,14,0,0],[2003,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2004,3,27,13,59,59],[2004,3,28,1,59,59],
+          '2003102514:00:00','2003102602:00:00','2004032713:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,14,0,0],[2004,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2004,10,30,13,59,59],[2004,10,31,2,59,59],
+          '2004032714:00:00','2004032803:00:00','2004103013:59:59','2004103102:59:59' ],
+        [ [2004,10,30,14,0,0],[2004,10,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2005,3,26,13,59,59],[2005,3,27,1,59,59],
+          '2004103014:00:00','2004103102:00:00','2005032613:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,14,0,0],[2005,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2005,10,29,13,59,59],[2005,10,30,2,59,59],
+          '2005032614:00:00','2005032703:00:00','2005102913:59:59','2005103002:59:59' ],
+        [ [2005,10,29,14,0,0],[2005,10,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2006,3,25,13,59,59],[2006,3,26,1,59,59],
+          '2005102914:00:00','2005103002:00:00','2006032513:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,14,0,0],[2006,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2006,10,28,13,59,59],[2006,10,29,2,59,59],
+          '2006032514:00:00','2006032603:00:00','2006102813:59:59','2006102902:59:59' ],
+        [ [2006,10,28,14,0,0],[2006,10,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2007,3,24,13,59,59],[2007,3,25,1,59,59],
+          '2006102814:00:00','2006102902:00:00','2007032413:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,14,0,0],[2007,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2007,10,27,13,59,59],[2007,10,28,2,59,59],
+          '2007032414:00:00','2007032503:00:00','2007102713:59:59','2007102802:59:59' ],
+        [ [2007,10,27,14,0,0],[2007,10,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2008,3,29,13,59,59],[2008,3,30,1,59,59],
+          '2007102714:00:00','2007102802:00:00','2008032913:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,14,0,0],[2008,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2008,10,25,13,59,59],[2008,10,26,2,59,59],
+          '2008032914:00:00','2008033003:00:00','2008102513:59:59','2008102602:59:59' ],
+        [ [2008,10,25,14,0,0],[2008,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2009,3,28,13,59,59],[2009,3,29,1,59,59],
+          '2008102514:00:00','2008102602:00:00','2009032813:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,14,0,0],[2009,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2009,10,24,13,59,59],[2009,10,25,2,59,59],
+          '2009032814:00:00','2009032903:00:00','2009102413:59:59','2009102502:59:59' ],
+        [ [2009,10,24,14,0,0],[2009,10,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2010,3,27,13,59,59],[2010,3,28,1,59,59],
+          '2009102414:00:00','2009102502:00:00','2010032713:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,14,0,0],[2010,3,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2010,10,30,14,59,59],[2010,10,31,2,59,59],
+          '2010032714:00:00','2010032802:00:00','2010103014:59:59','2010103102:59:59' ],
+        [ [2010,10,30,15,0,0],[2010,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,3,26,14,59,59],[2011,3,27,1,59,59],
+          '2010103015:00:00','2010103102:00:00','2011032614:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,15,0,0],[2011,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '2011032615:00:00','2011032703:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asaqta00.pm b/lib/Date/Manip/TZ/asaqta00.pm
new file mode 100644
index 0000000..9730f40
--- /dev/null
+++ b/lib/Date/Manip/TZ/asaqta00.pm
@@ -0,0 +1,271 @@
+package #
+Date::Manip::TZ::asaqta00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,21,4],'+03:21:04',[3,21,4],
+          'LMT',0,[1924,5,1,20,38,55],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:21:04','1924050120:38:55','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,38,56],[1924,5,2,0,38,56],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1924050120:38:56','1924050200:38:56','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981093018:59:59','1981093023:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,9,30,19,0,0],[1981,10,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981100101:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,3,28,20,59,59],[1992,3,29,1,59,59],
+          '1992011822:00:00','1992011903:00:00','1992032820:59:59','1992032901:59:59' ],
+        [ [1992,3,28,21,0,0],[1992,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,20,59,59],[1992,9,27,2,59,59],
+          '1992032821:00:00','1992032903:00:00','1992092620:59:59','1992092702:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,3,27,20,59,59],[1993,3,28,1,59,59],
+          '1992092621:00:00','1992092702:00:00','1993032720:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,20,59,59],[1993,9,26,2,59,59],
+          '1993032721:00:00','1993032803:00:00','1993092520:59:59','1993092602:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,3,26,20,59,59],[1994,3,27,1,59,59],
+          '1993092521:00:00','1993092602:00:00','1994032620:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,20,59,59],[1994,9,25,2,59,59],
+          '1994032621:00:00','1994032703:00:00','1994092420:59:59','1994092502:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,25,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1995,3,25,21,59,59],[1995,3,26,1,59,59],
+          '1994092421:00:00','1994092501:00:00','1995032521:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1995,9,23,21,59,59],[1995,9,24,2,59,59],
+          '1995032522:00:00','1995032603:00:00','1995092321:59:59','1995092402:59:59' ],
+        [ [1995,9,23,22,0,0],[1995,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1996,3,30,21,59,59],[1996,3,31,1,59,59],
+          '1995092322:00:00','1995092402:00:00','1996033021:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1996,10,26,21,59,59],[1996,10,27,2,59,59],
+          '1996033022:00:00','1996033103:00:00','1996102621:59:59','1996102702:59:59' ],
+        [ [1996,10,26,22,0,0],[1996,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1997,3,29,21,59,59],[1997,3,30,1,59,59],
+          '1996102622:00:00','1996102702:00:00','1997032921:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,21,59,59],[1997,10,26,2,59,59],
+          '1997032922:00:00','1997033003:00:00','1997102521:59:59','1997102602:59:59' ],
+        [ [1997,10,25,22,0,0],[1997,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,21,59,59],[1998,3,29,1,59,59],
+          '1997102522:00:00','1997102602:00:00','1998032821:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,21,59,59],[1998,10,25,2,59,59],
+          '1998032822:00:00','1998032903:00:00','1998102421:59:59','1998102502:59:59' ],
+        [ [1998,10,24,22,0,0],[1998,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,21,59,59],[1999,3,28,1,59,59],
+          '1998102422:00:00','1998102502:00:00','1999032721:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,22,0,0],[1999,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,21,59,59],[1999,10,31,2,59,59],
+          '1999032722:00:00','1999032803:00:00','1999103021:59:59','1999103102:59:59' ],
+        [ [1999,10,30,22,0,0],[1999,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,21,59,59],[2000,3,26,1,59,59],
+          '1999103022:00:00','1999103102:00:00','2000032521:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,21,59,59],[2000,10,29,2,59,59],
+          '2000032522:00:00','2000032603:00:00','2000102821:59:59','2000102902:59:59' ],
+        [ [2000,10,28,22,0,0],[2000,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,21,59,59],[2001,3,25,1,59,59],
+          '2000102822:00:00','2000102902:00:00','2001032421:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,21,59,59],[2001,10,28,2,59,59],
+          '2001032422:00:00','2001032503:00:00','2001102721:59:59','2001102802:59:59' ],
+        [ [2001,10,27,22,0,0],[2001,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,21,59,59],[2002,3,31,1,59,59],
+          '2001102722:00:00','2001102802:00:00','2002033021:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,21,59,59],[2002,10,27,2,59,59],
+          '2002033022:00:00','2002033103:00:00','2002102621:59:59','2002102702:59:59' ],
+        [ [2002,10,26,22,0,0],[2002,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,21,59,59],[2003,3,30,1,59,59],
+          '2002102622:00:00','2002102702:00:00','2003032921:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,21,59,59],[2003,10,26,2,59,59],
+          '2003032922:00:00','2003033003:00:00','2003102521:59:59','2003102602:59:59' ],
+        [ [2003,10,25,22,0,0],[2003,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,21,59,59],[2004,3,28,1,59,59],
+          '2003102522:00:00','2003102602:00:00','2004032721:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,21,59,59],[2004,10,31,2,59,59],
+          '2004032722:00:00','2004032803:00:00','2004103021:59:59','2004103102:59:59' ],
+        [ [2004,10,30,22,0,0],[2004,10,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2004103022:00:00','2004103103:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asaqto00.pm b/lib/Date/Manip/TZ/asaqto00.pm
new file mode 100644
index 0000000..cbc4531
--- /dev/null
+++ b/lib/Date/Manip/TZ/asaqto00.pm
@@ -0,0 +1,274 @@
+package #
+Date::Manip::TZ::asaqto00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,48,40],'+03:48:40',[3,48,40],
+          'LMT',0,[1924,5,1,20,11,19],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:48:40','1924050120:11:19','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,11,20],[1924,5,2,0,11,20],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1924050120:11:20','1924050200:11:20','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,10,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981100100:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,3,28,20,59,59],[1992,3,29,1,59,59],
+          '1992011822:00:00','1992011903:00:00','1992032820:59:59','1992032901:59:59' ],
+        [ [1992,3,28,21,0,0],[1992,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,20,59,59],[1992,9,27,2,59,59],
+          '1992032821:00:00','1992032903:00:00','1992092620:59:59','1992092702:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,3,27,20,59,59],[1993,3,28,1,59,59],
+          '1992092621:00:00','1992092702:00:00','1993032720:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,20,59,59],[1993,9,26,2,59,59],
+          '1993032721:00:00','1993032803:00:00','1993092520:59:59','1993092602:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,3,26,20,59,59],[1994,3,27,1,59,59],
+          '1993092521:00:00','1993092602:00:00','1994032620:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,20,59,59],[1994,9,25,2,59,59],
+          '1994032621:00:00','1994032703:00:00','1994092420:59:59','1994092502:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1995,3,25,20,59,59],[1995,3,26,1,59,59],
+          '1994092421:00:00','1994092502:00:00','1995032520:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,21,0,0],[1995,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1995,9,23,20,59,59],[1995,9,24,2,59,59],
+          '1995032521:00:00','1995032603:00:00','1995092320:59:59','1995092402:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1996,3,30,20,59,59],[1996,3,31,1,59,59],
+          '1995092321:00:00','1995092402:00:00','1996033020:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,21,0,0],[1996,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1996,10,26,20,59,59],[1996,10,27,2,59,59],
+          '1996033021:00:00','1996033103:00:00','1996102620:59:59','1996102702:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1997,3,29,20,59,59],[1997,3,30,1,59,59],
+          '1996102621:00:00','1996102702:00:00','1997032920:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,21,0,0],[1997,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1997,10,25,20,59,59],[1997,10,26,2,59,59],
+          '1997032921:00:00','1997033003:00:00','1997102520:59:59','1997102602:59:59' ],
+        [ [1997,10,25,21,0,0],[1997,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1998,3,28,20,59,59],[1998,3,29,1,59,59],
+          '1997102521:00:00','1997102602:00:00','1998032820:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,21,0,0],[1998,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1998,10,24,20,59,59],[1998,10,25,2,59,59],
+          '1998032821:00:00','1998032903:00:00','1998102420:59:59','1998102502:59:59' ],
+        [ [1998,10,24,21,0,0],[1998,10,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1999,3,27,20,59,59],[1999,3,28,1,59,59],
+          '1998102421:00:00','1998102502:00:00','1999032720:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,21,0,0],[1999,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1999,10,30,20,59,59],[1999,10,31,2,59,59],
+          '1999032721:00:00','1999032803:00:00','1999103020:59:59','1999103102:59:59' ],
+        [ [1999,10,30,21,0,0],[1999,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2000,3,25,20,59,59],[2000,3,26,1,59,59],
+          '1999103021:00:00','1999103102:00:00','2000032520:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,21,0,0],[2000,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2000,10,28,20,59,59],[2000,10,29,2,59,59],
+          '2000032521:00:00','2000032603:00:00','2000102820:59:59','2000102902:59:59' ],
+        [ [2000,10,28,21,0,0],[2000,10,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2001,3,24,20,59,59],[2001,3,25,1,59,59],
+          '2000102821:00:00','2000102902:00:00','2001032420:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,21,0,0],[2001,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2001,10,27,20,59,59],[2001,10,28,2,59,59],
+          '2001032421:00:00','2001032503:00:00','2001102720:59:59','2001102802:59:59' ],
+        [ [2001,10,27,21,0,0],[2001,10,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2002,3,30,20,59,59],[2002,3,31,1,59,59],
+          '2001102721:00:00','2001102802:00:00','2002033020:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,21,0,0],[2002,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2002,10,26,20,59,59],[2002,10,27,2,59,59],
+          '2002033021:00:00','2002033103:00:00','2002102620:59:59','2002102702:59:59' ],
+        [ [2002,10,26,21,0,0],[2002,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2003,3,29,20,59,59],[2003,3,30,1,59,59],
+          '2002102621:00:00','2002102702:00:00','2003032920:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,21,0,0],[2003,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2003,10,25,20,59,59],[2003,10,26,2,59,59],
+          '2003032921:00:00','2003033003:00:00','2003102520:59:59','2003102602:59:59' ],
+        [ [2003,10,25,21,0,0],[2003,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2004,3,27,20,59,59],[2004,3,28,1,59,59],
+          '2003102521:00:00','2003102602:00:00','2004032720:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,21,0,0],[2004,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2004,10,30,20,59,59],[2004,10,31,2,59,59],
+          '2004032721:00:00','2004032803:00:00','2004103020:59:59','2004103102:59:59' ],
+        [ [2004,10,30,21,0,0],[2004,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2004103021:00:00','2004103102:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asashg00.pm b/lib/Date/Manip/TZ/asashg00.pm
new file mode 100644
index 0000000..6f51f2b
--- /dev/null
+++ b/lib/Date/Manip/TZ/asashg00.pm
@@ -0,0 +1,160 @@
+package #
+Date::Manip::TZ::asashg00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,53,32],'+03:53:32',[3,53,32],
+          'LMT',0,[1924,5,1,20,6,27],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:53:32','1924050120:06:27','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,6,28],[1924,5,2,0,6,28],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1924050120:06:28','1924050200:06:28','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1982,3,31,18,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981093023:00:00','1982033118:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,19,0,0],[1982,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033119:00:00','1982040101:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1992011822:00:00','1992011903:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asatyr00.pm b/lib/Date/Manip/TZ/asatyr00.pm
new file mode 100644
index 0000000..db3bbc7
--- /dev/null
+++ b/lib/Date/Manip/TZ/asatyr00.pm
@@ -0,0 +1,271 @@
+package #
+Date::Manip::TZ::asatyr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,27,44],'+03:27:44',[3,27,44],
+          'LMT',0,[1924,5,1,20,32,15],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:27:44','1924050120:32:15','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,32,16],[1924,5,1,23,32,16],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1924050120:32:16','1924050123:32:16','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1930062021:00:00','1930062102:00:00','1981093018:59:59','1981093023:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,9,30,19,0,0],[1981,10,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981100101:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,3,28,20,59,59],[1992,3,29,1,59,59],
+          '1992011822:00:00','1992011903:00:00','1992032820:59:59','1992032901:59:59' ],
+        [ [1992,3,28,21,0,0],[1992,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,20,59,59],[1992,9,27,2,59,59],
+          '1992032821:00:00','1992032903:00:00','1992092620:59:59','1992092702:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,3,27,20,59,59],[1993,3,28,1,59,59],
+          '1992092621:00:00','1992092702:00:00','1993032720:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,20,59,59],[1993,9,26,2,59,59],
+          '1993032721:00:00','1993032803:00:00','1993092520:59:59','1993092602:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,3,26,20,59,59],[1994,3,27,1,59,59],
+          '1993092521:00:00','1993092602:00:00','1994032620:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,20,59,59],[1994,9,25,2,59,59],
+          '1994032621:00:00','1994032703:00:00','1994092420:59:59','1994092502:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1995,3,25,20,59,59],[1995,3,26,1,59,59],
+          '1994092421:00:00','1994092502:00:00','1995032520:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,21,0,0],[1995,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1995,9,23,20,59,59],[1995,9,24,2,59,59],
+          '1995032521:00:00','1995032603:00:00','1995092320:59:59','1995092402:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1996,3,30,20,59,59],[1996,3,31,1,59,59],
+          '1995092321:00:00','1995092402:00:00','1996033020:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,21,0,0],[1996,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1996,10,26,20,59,59],[1996,10,27,2,59,59],
+          '1996033021:00:00','1996033103:00:00','1996102620:59:59','1996102702:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1997,3,29,20,59,59],[1997,3,30,1,59,59],
+          '1996102621:00:00','1996102702:00:00','1997032920:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,21,0,0],[1997,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1997,10,25,20,59,59],[1997,10,26,2,59,59],
+          '1997032921:00:00','1997033003:00:00','1997102520:59:59','1997102602:59:59' ],
+        [ [1997,10,25,21,0,0],[1997,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1998,3,28,20,59,59],[1998,3,29,1,59,59],
+          '1997102521:00:00','1997102602:00:00','1998032820:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,21,0,0],[1998,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1998,10,24,20,59,59],[1998,10,25,2,59,59],
+          '1998032821:00:00','1998032903:00:00','1998102420:59:59','1998102502:59:59' ],
+        [ [1998,10,24,21,0,0],[1998,10,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1999,3,27,20,59,59],[1999,3,28,1,59,59],
+          '1998102421:00:00','1998102502:00:00','1999032720:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,21,0,0],[1999,3,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,21,59,59],[1999,10,31,2,59,59],
+          '1999032721:00:00','1999032802:00:00','1999103021:59:59','1999103102:59:59' ],
+        [ [1999,10,30,22,0,0],[1999,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,21,59,59],[2000,3,26,1,59,59],
+          '1999103022:00:00','1999103102:00:00','2000032521:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,21,59,59],[2000,10,29,2,59,59],
+          '2000032522:00:00','2000032603:00:00','2000102821:59:59','2000102902:59:59' ],
+        [ [2000,10,28,22,0,0],[2000,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,21,59,59],[2001,3,25,1,59,59],
+          '2000102822:00:00','2000102902:00:00','2001032421:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,21,59,59],[2001,10,28,2,59,59],
+          '2001032422:00:00','2001032503:00:00','2001102721:59:59','2001102802:59:59' ],
+        [ [2001,10,27,22,0,0],[2001,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,21,59,59],[2002,3,31,1,59,59],
+          '2001102722:00:00','2001102802:00:00','2002033021:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,21,59,59],[2002,10,27,2,59,59],
+          '2002033022:00:00','2002033103:00:00','2002102621:59:59','2002102702:59:59' ],
+        [ [2002,10,26,22,0,0],[2002,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,21,59,59],[2003,3,30,1,59,59],
+          '2002102622:00:00','2002102702:00:00','2003032921:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,21,59,59],[2003,10,26,2,59,59],
+          '2003032922:00:00','2003033003:00:00','2003102521:59:59','2003102602:59:59' ],
+        [ [2003,10,25,22,0,0],[2003,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,21,59,59],[2004,3,28,1,59,59],
+          '2003102522:00:00','2003102602:00:00','2004032721:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,21,59,59],[2004,10,31,2,59,59],
+          '2004032722:00:00','2004032803:00:00','2004103021:59:59','2004103102:59:59' ],
+        [ [2004,10,30,22,0,0],[2004,10,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2004103022:00:00','2004103103:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbagh00.pm b/lib/Date/Manip/TZ/asbagh00.pm
new file mode 100644
index 0000000..0cd5522
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbagh00.pm
@@ -0,0 +1,289 @@
+package #
+Date::Manip::TZ::asbagh00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,57,40],'+02:57:40',[2,57,40],
+          'LMT',0,[1889,12,31,21,2,19],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010202:57:40','1889123121:02:19','1889123123:59:59' ],
+     ],
+   1889 =>
+     [
+        [ [1889,12,31,21,2,20],[1889,12,31,23,59,56],'+02:57:36',[2,57,36],
+          'BMT',0,[1917,12,31,21,2,23],[1917,12,31,23,59,59],
+          '1889123121:02:20','1889123123:59:56','1917123121:02:23','1917123123:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,12,31,21,2,24],[1918,1,1,0,2,24],'+03:00:00',[3,0,0],
+          '+03',0,[1982,4,30,20,59,59],[1982,4,30,23,59,59],
+          '1917123121:02:24','1918010100:02:24','1982043020:59:59','1982043023:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,30,21,0,0],[1982,5,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982043021:00:00','1982050101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1983,3,30,20,59,59],[1983,3,30,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033020:59:59','1983033023:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,30,21,0,0],[1983,3,31,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033021:00:00','1983033101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1984,9,30,19,59,59],[1984,9,30,23,59,59],
+          '1984033121:00:00','1984040101:00:00','1984093019:59:59','1984093023:59:59' ],
+        [ [1984,9,30,20,0,0],[1984,9,30,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1985,3,31,20,59,59],[1985,3,31,23,59,59],
+          '1984093020:00:00','1984093023:00:00','1985033120:59:59','1985033123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,21,0,0],[1985,4,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1985,9,28,21,59,59],[1985,9,29,1,59,59],
+          '1985033121:00:00','1985040101:00:00','1985092821:59:59','1985092901:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1986,3,29,21,59,59],[1986,3,30,0,59,59],
+          '1985092822:00:00','1985092901:00:00','1986032921:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1986,9,27,21,59,59],[1986,9,28,1,59,59],
+          '1986032922:00:00','1986033002:00:00','1986092721:59:59','1986092801:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1987,3,28,21,59,59],[1987,3,29,0,59,59],
+          '1986092722:00:00','1986092801:00:00','1987032821:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1987,9,26,21,59,59],[1987,9,27,1,59,59],
+          '1987032822:00:00','1987032902:00:00','1987092621:59:59','1987092701:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1988,3,26,21,59,59],[1988,3,27,0,59,59],
+          '1987092622:00:00','1987092701:00:00','1988032621:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1988,9,24,21,59,59],[1988,9,25,1,59,59],
+          '1988032622:00:00','1988032702:00:00','1988092421:59:59','1988092501:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1989,3,25,21,59,59],[1989,3,26,0,59,59],
+          '1988092422:00:00','1988092501:00:00','1989032521:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,21,59,59],[1989,9,24,1,59,59],
+          '1989032522:00:00','1989032602:00:00','1989092321:59:59','1989092401:59:59' ],
+        [ [1989,9,23,22,0,0],[1989,9,24,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,21,59,59],[1990,3,25,0,59,59],
+          '1989092322:00:00','1989092401:00:00','1990032421:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,21,59,59],[1990,9,30,1,59,59],
+          '1990032422:00:00','1990032502:00:00','1990092921:59:59','1990093001:59:59' ],
+        [ [1990,9,29,22,0,0],[1990,9,30,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,31,23,59,59],[1991,4,1,2,59,59],
+          '1990092922:00:00','1990093001:00:00','1991033123:59:59','1991040102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,1,0,0,0],[1991,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1991,9,30,23,59,59],[1991,10,1,3,59,59],
+          '1991040100:00:00','1991040104:00:00','1991093023:59:59','1991100103:59:59' ],
+        [ [1991,10,1,0,0,0],[1991,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1992,3,31,23,59,59],[1992,4,1,2,59,59],
+          '1991100100:00:00','1991100103:00:00','1992033123:59:59','1992040102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,1,0,0,0],[1992,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,30,23,59,59],[1992,10,1,3,59,59],
+          '1992040100:00:00','1992040104:00:00','1992093023:59:59','1992100103:59:59' ],
+        [ [1992,10,1,0,0,0],[1992,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,31,23,59,59],[1993,4,1,2,59,59],
+          '1992100100:00:00','1992100103:00:00','1993033123:59:59','1993040102:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,1,0,0,0],[1993,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,30,23,59,59],[1993,10,1,3,59,59],
+          '1993040100:00:00','1993040104:00:00','1993093023:59:59','1993100103:59:59' ],
+        [ [1993,10,1,0,0,0],[1993,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,31,23,59,59],[1994,4,1,2,59,59],
+          '1993100100:00:00','1993100103:00:00','1994033123:59:59','1994040102:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,1,0,0,0],[1994,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,30,23,59,59],[1994,10,1,3,59,59],
+          '1994040100:00:00','1994040104:00:00','1994093023:59:59','1994100103:59:59' ],
+        [ [1994,10,1,0,0,0],[1994,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,31,23,59,59],[1995,4,1,2,59,59],
+          '1994100100:00:00','1994100103:00:00','1995033123:59:59','1995040102:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,1,0,0,0],[1995,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,30,23,59,59],[1995,10,1,3,59,59],
+          '1995040100:00:00','1995040104:00:00','1995093023:59:59','1995100103:59:59' ],
+        [ [1995,10,1,0,0,0],[1995,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,31,23,59,59],[1996,4,1,2,59,59],
+          '1995100100:00:00','1995100103:00:00','1996033123:59:59','1996040102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,1,0,0,0],[1996,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,9,30,23,59,59],[1996,10,1,3,59,59],
+          '1996040100:00:00','1996040104:00:00','1996093023:59:59','1996100103:59:59' ],
+        [ [1996,10,1,0,0,0],[1996,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,31,23,59,59],[1997,4,1,2,59,59],
+          '1996100100:00:00','1996100103:00:00','1997033123:59:59','1997040102:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,1,0,0,0],[1997,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,9,30,23,59,59],[1997,10,1,3,59,59],
+          '1997040100:00:00','1997040104:00:00','1997093023:59:59','1997100103:59:59' ],
+        [ [1997,10,1,0,0,0],[1997,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,31,23,59,59],[1998,4,1,2,59,59],
+          '1997100100:00:00','1997100103:00:00','1998033123:59:59','1998040102:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,1,0,0,0],[1998,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,9,30,23,59,59],[1998,10,1,3,59,59],
+          '1998040100:00:00','1998040104:00:00','1998093023:59:59','1998100103:59:59' ],
+        [ [1998,10,1,0,0,0],[1998,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,31,23,59,59],[1999,4,1,2,59,59],
+          '1998100100:00:00','1998100103:00:00','1999033123:59:59','1999040102:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,1,0,0,0],[1999,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,9,30,23,59,59],[1999,10,1,3,59,59],
+          '1999040100:00:00','1999040104:00:00','1999093023:59:59','1999100103:59:59' ],
+        [ [1999,10,1,0,0,0],[1999,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,31,23,59,59],[2000,4,1,2,59,59],
+          '1999100100:00:00','1999100103:00:00','2000033123:59:59','2000040102:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,1,0,0,0],[2000,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,9,30,23,59,59],[2000,10,1,3,59,59],
+          '2000040100:00:00','2000040104:00:00','2000093023:59:59','2000100103:59:59' ],
+        [ [2000,10,1,0,0,0],[2000,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,31,23,59,59],[2001,4,1,2,59,59],
+          '2000100100:00:00','2000100103:00:00','2001033123:59:59','2001040102:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,0,0,0],[2001,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,9,30,23,59,59],[2001,10,1,3,59,59],
+          '2001040100:00:00','2001040104:00:00','2001093023:59:59','2001100103:59:59' ],
+        [ [2001,10,1,0,0,0],[2001,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,31,23,59,59],[2002,4,1,2,59,59],
+          '2001100100:00:00','2001100103:00:00','2002033123:59:59','2002040102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,1,0,0,0],[2002,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,9,30,23,59,59],[2002,10,1,3,59,59],
+          '2002040100:00:00','2002040104:00:00','2002093023:59:59','2002100103:59:59' ],
+        [ [2002,10,1,0,0,0],[2002,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,31,23,59,59],[2003,4,1,2,59,59],
+          '2002100100:00:00','2002100103:00:00','2003033123:59:59','2003040102:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,1,0,0,0],[2003,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,9,30,23,59,59],[2003,10,1,3,59,59],
+          '2003040100:00:00','2003040104:00:00','2003093023:59:59','2003100103:59:59' ],
+        [ [2003,10,1,0,0,0],[2003,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,31,23,59,59],[2004,4,1,2,59,59],
+          '2003100100:00:00','2003100103:00:00','2004033123:59:59','2004040102:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,1,0,0,0],[2004,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,9,30,23,59,59],[2004,10,1,3,59,59],
+          '2004040100:00:00','2004040104:00:00','2004093023:59:59','2004100103:59:59' ],
+        [ [2004,10,1,0,0,0],[2004,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,31,23,59,59],[2005,4,1,2,59,59],
+          '2004100100:00:00','2004100103:00:00','2005033123:59:59','2005040102:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,1,0,0,0],[2005,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,9,30,23,59,59],[2005,10,1,3,59,59],
+          '2005040100:00:00','2005040104:00:00','2005093023:59:59','2005100103:59:59' ],
+        [ [2005,10,1,0,0,0],[2005,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,31,23,59,59],[2006,4,1,2,59,59],
+          '2005100100:00:00','2005100103:00:00','2006033123:59:59','2006040102:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,0,0,0],[2006,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,9,30,23,59,59],[2006,10,1,3,59,59],
+          '2006040100:00:00','2006040104:00:00','2006093023:59:59','2006100103:59:59' ],
+        [ [2006,10,1,0,0,0],[2006,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,31,23,59,59],[2007,4,1,2,59,59],
+          '2006100100:00:00','2006100103:00:00','2007033123:59:59','2007040102:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,1,0,0,0],[2007,4,1,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,9,30,23,59,59],[2007,10,1,3,59,59],
+          '2007040100:00:00','2007040104:00:00','2007093023:59:59','2007100103:59:59' ],
+        [ [2007,10,1,0,0,0],[2007,10,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2007100100:00:00','2007100103:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbaku00.pm b/lib/Date/Manip/TZ/asbaku00.pm
new file mode 100644
index 0000000..0c8f353
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbaku00.pm
@@ -0,0 +1,343 @@
+package #
+Date::Manip::TZ::asbaku00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,19,24],'+03:19:24',[3,19,24],
+          'LMT',0,[1924,5,1,20,40,35],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:19:24','1924050120:40:35','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,40,36],[1924,5,1,23,40,36],'+03:00:00',[3,0,0],
+          '+03',0,[1957,2,28,20,59,59],[1957,2,28,23,59,59],
+          '1924050120:40:36','1924050123:40:36','1957022820:59:59','1957022823:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,2,28,21,0,0],[1957,3,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1957022821:00:00','1957030101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1989,9,23,21,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032603:00:00','1989092321:59:59','1989092402:59:59' ],
+        [ [1989,9,23,22,0,0],[1989,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1990,3,24,21,59,59],[1990,3,25,1,59,59],
+          '1989092322:00:00','1989092402:00:00','1990032421:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1990,9,29,21,59,59],[1990,9,30,2,59,59],
+          '1990032422:00:00','1990032503:00:00','1990092921:59:59','1990093002:59:59' ],
+        [ [1990,9,29,22,0,0],[1990,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1991,3,30,21,59,59],[1991,3,31,1,59,59],
+          '1990092922:00:00','1990093002:00:00','1991033021:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1991,9,28,22,59,59],[1991,9,29,2,59,59],
+          '1991033022:00:00','1991033102:00:00','1991092822:59:59','1991092902:59:59' ],
+        [ [1991,9,28,23,0,0],[1991,9,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1992,3,28,22,59,59],[1992,3,29,1,59,59],
+          '1991092823:00:00','1991092902:00:00','1992032822:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,23,0,0],[1992,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032823:00:00','1992032903:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1996,3,31,0,59,59],[1996,3,31,4,59,59],
+          '1992092623:00:00','1992092703:00:00','1996033100:59:59','1996033104:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,6,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1996,10,27,0,59,59],[1996,10,27,5,59,59],
+          '1996033101:00:00','1996033106:00:00','1996102700:59:59','1996102705:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,5,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1997,3,29,23,59,59],[1997,3,30,3,59,59],
+          '1996102701:00:00','1996102705:00:00','1997032923:59:59','1997033003:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,23,59,59],[1997,10,26,4,59,59],
+          '1997033000:00:00','1997033005:00:00','1997102523:59:59','1997102604:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,23,59,59],[1998,3,29,3,59,59],
+          '1997102600:00:00','1997102604:00:00','1998032823:59:59','1998032903:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,0,0,0],[1998,3,29,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,23,59,59],[1998,10,25,4,59,59],
+          '1998032900:00:00','1998032905:00:00','1998102423:59:59','1998102504:59:59' ],
+        [ [1998,10,25,0,0,0],[1998,10,25,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,23,59,59],[1999,3,28,3,59,59],
+          '1998102500:00:00','1998102504:00:00','1999032723:59:59','1999032803:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,0,0,0],[1999,3,28,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,23,59,59],[1999,10,31,4,59,59],
+          '1999032800:00:00','1999032805:00:00','1999103023:59:59','1999103104:59:59' ],
+        [ [1999,10,31,0,0,0],[1999,10,31,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,23,59,59],[2000,3,26,3,59,59],
+          '1999103100:00:00','1999103104:00:00','2000032523:59:59','2000032603:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,0,0,0],[2000,3,26,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,23,59,59],[2000,10,29,4,59,59],
+          '2000032600:00:00','2000032605:00:00','2000102823:59:59','2000102904:59:59' ],
+        [ [2000,10,29,0,0,0],[2000,10,29,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,23,59,59],[2001,3,25,3,59,59],
+          '2000102900:00:00','2000102904:00:00','2001032423:59:59','2001032503:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,0,0,0],[2001,3,25,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,23,59,59],[2001,10,28,4,59,59],
+          '2001032500:00:00','2001032505:00:00','2001102723:59:59','2001102804:59:59' ],
+        [ [2001,10,28,0,0,0],[2001,10,28,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,23,59,59],[2002,3,31,3,59,59],
+          '2001102800:00:00','2001102804:00:00','2002033023:59:59','2002033103:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,0,0,0],[2002,3,31,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,23,59,59],[2002,10,27,4,59,59],
+          '2002033100:00:00','2002033105:00:00','2002102623:59:59','2002102704:59:59' ],
+        [ [2002,10,27,0,0,0],[2002,10,27,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,23,59,59],[2003,3,30,3,59,59],
+          '2002102700:00:00','2002102704:00:00','2003032923:59:59','2003033003:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,0,0,0],[2003,3,30,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,23,59,59],[2003,10,26,4,59,59],
+          '2003033000:00:00','2003033005:00:00','2003102523:59:59','2003102604:59:59' ],
+        [ [2003,10,26,0,0,0],[2003,10,26,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,23,59,59],[2004,3,28,3,59,59],
+          '2003102600:00:00','2003102604:00:00','2004032723:59:59','2004032803:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,0,0,0],[2004,3,28,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,23,59,59],[2004,10,31,4,59,59],
+          '2004032800:00:00','2004032805:00:00','2004103023:59:59','2004103104:59:59' ],
+        [ [2004,10,31,0,0,0],[2004,10,31,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2005,3,26,23,59,59],[2005,3,27,3,59,59],
+          '2004103100:00:00','2004103104:00:00','2005032623:59:59','2005032703:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,0,0,0],[2005,3,27,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2005,10,29,23,59,59],[2005,10,30,4,59,59],
+          '2005032700:00:00','2005032705:00:00','2005102923:59:59','2005103004:59:59' ],
+        [ [2005,10,30,0,0,0],[2005,10,30,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2006,3,25,23,59,59],[2006,3,26,3,59,59],
+          '2005103000:00:00','2005103004:00:00','2006032523:59:59','2006032603:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,0,0,0],[2006,3,26,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2006,10,28,23,59,59],[2006,10,29,4,59,59],
+          '2006032600:00:00','2006032605:00:00','2006102823:59:59','2006102904:59:59' ],
+        [ [2006,10,29,0,0,0],[2006,10,29,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2007,3,24,23,59,59],[2007,3,25,3,59,59],
+          '2006102900:00:00','2006102904:00:00','2007032423:59:59','2007032503:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,0,0,0],[2007,3,25,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2007,10,27,23,59,59],[2007,10,28,4,59,59],
+          '2007032500:00:00','2007032505:00:00','2007102723:59:59','2007102804:59:59' ],
+        [ [2007,10,28,0,0,0],[2007,10,28,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2008,3,29,23,59,59],[2008,3,30,3,59,59],
+          '2007102800:00:00','2007102804:00:00','2008032923:59:59','2008033003:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,0,0,0],[2008,3,30,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2008,10,25,23,59,59],[2008,10,26,4,59,59],
+          '2008033000:00:00','2008033005:00:00','2008102523:59:59','2008102604:59:59' ],
+        [ [2008,10,26,0,0,0],[2008,10,26,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2009,3,28,23,59,59],[2009,3,29,3,59,59],
+          '2008102600:00:00','2008102604:00:00','2009032823:59:59','2009032903:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,0,0,0],[2009,3,29,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2009,10,24,23,59,59],[2009,10,25,4,59,59],
+          '2009032900:00:00','2009032905:00:00','2009102423:59:59','2009102504:59:59' ],
+        [ [2009,10,25,0,0,0],[2009,10,25,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2010,3,27,23,59,59],[2010,3,28,3,59,59],
+          '2009102500:00:00','2009102504:00:00','2010032723:59:59','2010032803:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,0,0,0],[2010,3,28,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2010,10,30,23,59,59],[2010,10,31,4,59,59],
+          '2010032800:00:00','2010032805:00:00','2010103023:59:59','2010103104:59:59' ],
+        [ [2010,10,31,0,0,0],[2010,10,31,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2011,3,26,23,59,59],[2011,3,27,3,59,59],
+          '2010103100:00:00','2010103104:00:00','2011032623:59:59','2011032703:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,0,0,0],[2011,3,27,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2011,10,29,23,59,59],[2011,10,30,4,59,59],
+          '2011032700:00:00','2011032705:00:00','2011102923:59:59','2011103004:59:59' ],
+        [ [2011,10,30,0,0,0],[2011,10,30,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2012,3,24,23,59,59],[2012,3,25,3,59,59],
+          '2011103000:00:00','2011103004:00:00','2012032423:59:59','2012032503:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,0,0,0],[2012,3,25,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2012,10,27,23,59,59],[2012,10,28,4,59,59],
+          '2012032500:00:00','2012032505:00:00','2012102723:59:59','2012102804:59:59' ],
+        [ [2012,10,28,0,0,0],[2012,10,28,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2013,3,30,23,59,59],[2013,3,31,3,59,59],
+          '2012102800:00:00','2012102804:00:00','2013033023:59:59','2013033103:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,0,0,0],[2013,3,31,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2013,10,26,23,59,59],[2013,10,27,4,59,59],
+          '2013033100:00:00','2013033105:00:00','2013102623:59:59','2013102704:59:59' ],
+        [ [2013,10,27,0,0,0],[2013,10,27,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,3,29,23,59,59],[2014,3,30,3,59,59],
+          '2013102700:00:00','2013102704:00:00','2014032923:59:59','2014033003:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,0,0,0],[2014,3,30,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2014,10,25,23,59,59],[2014,10,26,4,59,59],
+          '2014033000:00:00','2014033005:00:00','2014102523:59:59','2014102604:59:59' ],
+        [ [2014,10,26,0,0,0],[2014,10,26,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2015,3,28,23,59,59],[2015,3,29,3,59,59],
+          '2014102600:00:00','2014102604:00:00','2015032823:59:59','2015032903:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,0,0,0],[2015,3,29,5,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2015,10,24,23,59,59],[2015,10,25,4,59,59],
+          '2015032900:00:00','2015032905:00:00','2015102423:59:59','2015102504:59:59' ],
+        [ [2015,10,25,0,0,0],[2015,10,25,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2015102500:00:00','2015102504:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbang00.pm b/lib/Date/Manip/TZ/asbang00.pm
new file mode 100644
index 0000000..45a2a13
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbang00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::asbang00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,42,4],'+06:42:04',[6,42,4],
+          'LMT',0,[1879,12,31,17,17,55],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010206:42:04','1879123117:17:55','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,17,17,56],[1880,1,1,0,0,0],'+06:42:04',[6,42,4],
+          'BMT',0,[1920,3,31,17,17,55],[1920,3,31,23,59,59],
+          '1879123117:17:56','1880010100:00:00','1920033117:17:55','1920033123:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,31,17,17,56],[1920,4,1,0,17,56],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '1920033117:17:56','1920040100:17:56','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbarn00.pm b/lib/Date/Manip/TZ/asbarn00.pm
new file mode 100644
index 0000000..a3040f6
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbarn00.pm
@@ -0,0 +1,349 @@
+package #
+Date::Manip::TZ::asbarn00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,35,0],'+05:35:00',[5,35,0],
+          'LMT',0,[1919,12,9,18,24,59],[1919,12,9,23,59,59],
+          '0001010200:00:00','0001010205:35:00','1919120918:24:59','1919120923:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,9,18,25,0],[1919,12,10,0,25,0],'+06:00:00',[6,0,0],
+          '+06',0,[1930,6,20,17,59,59],[1930,6,20,23,59,59],
+          '1919120918:25:00','1919121000:25:00','1930062017:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,18,0,0],[1930,6,21,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1981,3,31,16,59,59],[1981,3,31,23,59,59],
+          '1930062018:00:00','1930062101:00:00','1981033116:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,17,0,0],[1981,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1981,9,30,15,59,59],[1981,9,30,23,59,59],
+          '1981033117:00:00','1981040101:00:00','1981093015:59:59','1981093023:59:59' ],
+        [ [1981,9,30,16,0,0],[1981,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1982,3,31,16,59,59],[1982,3,31,23,59,59],
+          '1981093016:00:00','1981093023:00:00','1982033116:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,17,0,0],[1982,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1982,9,30,15,59,59],[1982,9,30,23,59,59],
+          '1982033117:00:00','1982040101:00:00','1982093015:59:59','1982093023:59:59' ],
+        [ [1982,9,30,16,0,0],[1982,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1982093016:00:00','1982093023:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,18,59,59],[1984,9,30,2,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092918:59:59','1984093002:59:59' ],
+        [ [1984,9,29,19,0,0],[1984,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,18,59,59],[1985,3,31,1,59,59],
+          '1984092919:00:00','1984093002:00:00','1985033018:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,19,0,0],[1985,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,18,59,59],[1985,9,29,2,59,59],
+          '1985033019:00:00','1985033103:00:00','1985092818:59:59','1985092902:59:59' ],
+        [ [1985,9,28,19,0,0],[1985,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,18,59,59],[1986,3,30,1,59,59],
+          '1985092819:00:00','1985092902:00:00','1986032918:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,19,0,0],[1986,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,18,59,59],[1986,9,28,2,59,59],
+          '1986032919:00:00','1986033003:00:00','1986092718:59:59','1986092802:59:59' ],
+        [ [1986,9,27,19,0,0],[1986,9,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,18,59,59],[1987,3,29,1,59,59],
+          '1986092719:00:00','1986092802:00:00','1987032818:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,19,0,0],[1987,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,18,59,59],[1987,9,27,2,59,59],
+          '1987032819:00:00','1987032903:00:00','1987092618:59:59','1987092702:59:59' ],
+        [ [1987,9,26,19,0,0],[1987,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,18,59,59],[1988,3,27,1,59,59],
+          '1987092619:00:00','1987092702:00:00','1988032618:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,19,0,0],[1988,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,18,59,59],[1988,9,25,2,59,59],
+          '1988032619:00:00','1988032703:00:00','1988092418:59:59','1988092502:59:59' ],
+        [ [1988,9,24,19,0,0],[1988,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,18,59,59],[1989,3,26,1,59,59],
+          '1988092419:00:00','1988092502:00:00','1989032518:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,19,0,0],[1989,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,18,59,59],[1989,9,24,2,59,59],
+          '1989032519:00:00','1989032603:00:00','1989092318:59:59','1989092402:59:59' ],
+        [ [1989,9,23,19,0,0],[1989,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,18,59,59],[1990,3,25,1,59,59],
+          '1989092319:00:00','1989092402:00:00','1990032418:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,19,0,0],[1990,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,18,59,59],[1990,9,30,2,59,59],
+          '1990032419:00:00','1990032503:00:00','1990092918:59:59','1990093002:59:59' ],
+        [ [1990,9,29,19,0,0],[1990,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,18,59,59],[1991,3,31,1,59,59],
+          '1990092919:00:00','1990093002:00:00','1991033018:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,19,0,0],[1991,3,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1991,9,28,19,59,59],[1991,9,29,2,59,59],
+          '1991033019:00:00','1991033102:00:00','1991092819:59:59','1991092902:59:59' ],
+        [ [1991,9,28,20,0,0],[1991,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,1,18,19,59,59],[1992,1,19,1,59,59],
+          '1991092820:00:00','1991092902:00:00','1992011819:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,20,0,0],[1992,1,19,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,18,59,59],[1992,3,29,1,59,59],
+          '1992011820:00:00','1992011903:00:00','1992032818:59:59','1992032901:59:59' ],
+        [ [1992,3,28,19,0,0],[1992,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,18,59,59],[1992,9,27,2,59,59],
+          '1992032819:00:00','1992032903:00:00','1992092618:59:59','1992092702:59:59' ],
+        [ [1992,9,26,19,0,0],[1992,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,18,59,59],[1993,3,28,1,59,59],
+          '1992092619:00:00','1992092702:00:00','1993032718:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,19,0,0],[1993,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,9,25,18,59,59],[1993,9,26,2,59,59],
+          '1993032719:00:00','1993032803:00:00','1993092518:59:59','1993092602:59:59' ],
+        [ [1993,9,25,19,0,0],[1993,9,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1994,3,26,18,59,59],[1994,3,27,1,59,59],
+          '1993092519:00:00','1993092602:00:00','1994032618:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,19,0,0],[1994,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1994,9,24,18,59,59],[1994,9,25,2,59,59],
+          '1994032619:00:00','1994032703:00:00','1994092418:59:59','1994092502:59:59' ],
+        [ [1994,9,24,19,0,0],[1994,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1995,3,25,18,59,59],[1995,3,26,1,59,59],
+          '1994092419:00:00','1994092502:00:00','1995032518:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,19,0,0],[1995,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1995,5,27,15,59,59],[1995,5,27,23,59,59],
+          '1995032519:00:00','1995032603:00:00','1995052715:59:59','1995052723:59:59' ],
+        [ [1995,5,27,16,0,0],[1995,5,27,23,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1995,9,23,19,59,59],[1995,9,24,2,59,59],
+          '1995052716:00:00','1995052723:00:00','1995092319:59:59','1995092402:59:59' ],
+        [ [1995,9,23,20,0,0],[1995,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1996,3,30,19,59,59],[1996,3,31,1,59,59],
+          '1995092320:00:00','1995092402:00:00','1996033019:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,20,0,0],[1996,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1996,10,26,19,59,59],[1996,10,27,2,59,59],
+          '1996033020:00:00','1996033103:00:00','1996102619:59:59','1996102702:59:59' ],
+        [ [1996,10,26,20,0,0],[1996,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1997,3,29,19,59,59],[1997,3,30,1,59,59],
+          '1996102620:00:00','1996102702:00:00','1997032919:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,20,0,0],[1997,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1997,10,25,19,59,59],[1997,10,26,2,59,59],
+          '1997032920:00:00','1997033003:00:00','1997102519:59:59','1997102602:59:59' ],
+        [ [1997,10,25,20,0,0],[1997,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1998,3,28,19,59,59],[1998,3,29,1,59,59],
+          '1997102520:00:00','1997102602:00:00','1998032819:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,20,0,0],[1998,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1998,10,24,19,59,59],[1998,10,25,2,59,59],
+          '1998032820:00:00','1998032903:00:00','1998102419:59:59','1998102502:59:59' ],
+        [ [1998,10,24,20,0,0],[1998,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1999,3,27,19,59,59],[1999,3,28,1,59,59],
+          '1998102420:00:00','1998102502:00:00','1999032719:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,20,0,0],[1999,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1999,10,30,19,59,59],[1999,10,31,2,59,59],
+          '1999032720:00:00','1999032803:00:00','1999103019:59:59','1999103102:59:59' ],
+        [ [1999,10,30,20,0,0],[1999,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2000,3,25,19,59,59],[2000,3,26,1,59,59],
+          '1999103020:00:00','1999103102:00:00','2000032519:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,20,0,0],[2000,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2000,10,28,19,59,59],[2000,10,29,2,59,59],
+          '2000032520:00:00','2000032603:00:00','2000102819:59:59','2000102902:59:59' ],
+        [ [2000,10,28,20,0,0],[2000,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2001,3,24,19,59,59],[2001,3,25,1,59,59],
+          '2000102820:00:00','2000102902:00:00','2001032419:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,20,0,0],[2001,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2001,10,27,19,59,59],[2001,10,28,2,59,59],
+          '2001032420:00:00','2001032503:00:00','2001102719:59:59','2001102802:59:59' ],
+        [ [2001,10,27,20,0,0],[2001,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2002,3,30,19,59,59],[2002,3,31,1,59,59],
+          '2001102720:00:00','2001102802:00:00','2002033019:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,20,0,0],[2002,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2002,10,26,19,59,59],[2002,10,27,2,59,59],
+          '2002033020:00:00','2002033103:00:00','2002102619:59:59','2002102702:59:59' ],
+        [ [2002,10,26,20,0,0],[2002,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2003,3,29,19,59,59],[2003,3,30,1,59,59],
+          '2002102620:00:00','2002102702:00:00','2003032919:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2003,10,25,19,59,59],[2003,10,26,2,59,59],
+          '2003032920:00:00','2003033003:00:00','2003102519:59:59','2003102602:59:59' ],
+        [ [2003,10,25,20,0,0],[2003,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2004,3,27,19,59,59],[2004,3,28,1,59,59],
+          '2003102520:00:00','2003102602:00:00','2004032719:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2004,10,30,19,59,59],[2004,10,31,2,59,59],
+          '2004032720:00:00','2004032803:00:00','2004103019:59:59','2004103102:59:59' ],
+        [ [2004,10,30,20,0,0],[2004,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2005,3,26,19,59,59],[2005,3,27,1,59,59],
+          '2004103020:00:00','2004103102:00:00','2005032619:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,20,0,0],[2005,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2005,10,29,19,59,59],[2005,10,30,2,59,59],
+          '2005032620:00:00','2005032703:00:00','2005102919:59:59','2005103002:59:59' ],
+        [ [2005,10,29,20,0,0],[2005,10,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2006,3,25,19,59,59],[2006,3,26,1,59,59],
+          '2005102920:00:00','2005103002:00:00','2006032519:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,20,0,0],[2006,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2006,10,28,19,59,59],[2006,10,29,2,59,59],
+          '2006032520:00:00','2006032603:00:00','2006102819:59:59','2006102902:59:59' ],
+        [ [2006,10,28,20,0,0],[2006,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2007,3,24,19,59,59],[2007,3,25,1,59,59],
+          '2006102820:00:00','2006102902:00:00','2007032419:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,20,0,0],[2007,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2007,10,27,19,59,59],[2007,10,28,2,59,59],
+          '2007032420:00:00','2007032503:00:00','2007102719:59:59','2007102802:59:59' ],
+        [ [2007,10,27,20,0,0],[2007,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2008,3,29,19,59,59],[2008,3,30,1,59,59],
+          '2007102720:00:00','2007102802:00:00','2008032919:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,20,0,0],[2008,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2008,10,25,19,59,59],[2008,10,26,2,59,59],
+          '2008032920:00:00','2008033003:00:00','2008102519:59:59','2008102602:59:59' ],
+        [ [2008,10,25,20,0,0],[2008,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,3,28,19,59,59],[2009,3,29,1,59,59],
+          '2008102520:00:00','2008102602:00:00','2009032819:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,20,0,0],[2009,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2009,10,24,19,59,59],[2009,10,25,2,59,59],
+          '2009032820:00:00','2009032903:00:00','2009102419:59:59','2009102502:59:59' ],
+        [ [2009,10,24,20,0,0],[2009,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2010,3,27,19,59,59],[2010,3,28,1,59,59],
+          '2009102420:00:00','2009102502:00:00','2010032719:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,20,0,0],[2010,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2010,10,30,19,59,59],[2010,10,31,2,59,59],
+          '2010032720:00:00','2010032803:00:00','2010103019:59:59','2010103102:59:59' ],
+        [ [2010,10,30,20,0,0],[2010,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2011,3,26,19,59,59],[2011,3,27,1,59,59],
+          '2010103020:00:00','2010103102:00:00','2011032619:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,20,0,0],[2011,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2014,10,25,18,59,59],[2014,10,26,1,59,59],
+          '2011032620:00:00','2011032703:00:00','2014102518:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,19,0,0],[2014,10,26,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2016,3,26,19,59,59],[2016,3,27,1,59,59],
+          '2014102519:00:00','2014102601:00:00','2016032619:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,20,0,0],[2016,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2016032620:00:00','2016032703:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbeir00.pm b/lib/Date/Manip/TZ/asbeir00.pm
new file mode 100644
index 0000000..0b9bf2c
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbeir00.pm
@@ -0,0 +1,973 @@
+package #
+Date::Manip::TZ::asbeir00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,22,0],'+02:22:00',[2,22,0],
+          'LMT',0,[1879,12,31,21,37,59],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:22:00','1879123121:37:59','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,38,0],[1879,12,31,23,38,0],'+02:00:00',[2,0,0],
+          'EET',0,[1920,3,27,21,59,59],[1920,3,27,23,59,59],
+          '1879123121:38:00','1879123123:38:00','1920032721:59:59','1920032723:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,27,22,0,0],[1920,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1920,10,24,20,59,59],[1920,10,24,23,59,59],
+          '1920032722:00:00','1920032801:00:00','1920102420:59:59','1920102423:59:59' ],
+        [ [1920,10,24,21,0,0],[1920,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1921,4,2,21,59,59],[1921,4,2,23,59,59],
+          '1920102421:00:00','1920102423:00:00','1921040221:59:59','1921040223:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,2,22,0,0],[1921,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1921,10,2,20,59,59],[1921,10,2,23,59,59],
+          '1921040222:00:00','1921040301:00:00','1921100220:59:59','1921100223:59:59' ],
+        [ [1921,10,2,21,0,0],[1921,10,2,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1922,3,25,21,59,59],[1922,3,25,23,59,59],
+          '1921100221:00:00','1921100223:00:00','1922032521:59:59','1922032523:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,22,0,0],[1922,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1922,10,7,20,59,59],[1922,10,7,23,59,59],
+          '1922032522:00:00','1922032601:00:00','1922100720:59:59','1922100723:59:59' ],
+        [ [1922,10,7,21,0,0],[1922,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1923,4,21,21,59,59],[1923,4,21,23,59,59],
+          '1922100721:00:00','1922100723:00:00','1923042121:59:59','1923042123:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,21,22,0,0],[1923,4,22,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1923,9,15,20,59,59],[1923,9,15,23,59,59],
+          '1923042122:00:00','1923042201:00:00','1923091520:59:59','1923091523:59:59' ],
+        [ [1923,9,15,21,0,0],[1923,9,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1957,4,30,21,59,59],[1957,4,30,23,59,59],
+          '1923091521:00:00','1923091523:00:00','1957043021:59:59','1957043023:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,30,22,0,0],[1957,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1957,9,30,20,59,59],[1957,9,30,23,59,59],
+          '1957043022:00:00','1957050101:00:00','1957093020:59:59','1957093023:59:59' ],
+        [ [1957,9,30,21,0,0],[1957,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1958,4,30,21,59,59],[1958,4,30,23,59,59],
+          '1957093021:00:00','1957093023:00:00','1958043021:59:59','1958043023:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,30,22,0,0],[1958,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1958,9,30,20,59,59],[1958,9,30,23,59,59],
+          '1958043022:00:00','1958050101:00:00','1958093020:59:59','1958093023:59:59' ],
+        [ [1958,9,30,21,0,0],[1958,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1959,4,30,21,59,59],[1959,4,30,23,59,59],
+          '1958093021:00:00','1958093023:00:00','1959043021:59:59','1959043023:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,30,22,0,0],[1959,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1959,9,30,20,59,59],[1959,9,30,23,59,59],
+          '1959043022:00:00','1959050101:00:00','1959093020:59:59','1959093023:59:59' ],
+        [ [1959,9,30,21,0,0],[1959,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1960,4,30,21,59,59],[1960,4,30,23,59,59],
+          '1959093021:00:00','1959093023:00:00','1960043021:59:59','1960043023:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,30,22,0,0],[1960,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1960,9,30,20,59,59],[1960,9,30,23,59,59],
+          '1960043022:00:00','1960050101:00:00','1960093020:59:59','1960093023:59:59' ],
+        [ [1960,9,30,21,0,0],[1960,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1961,4,30,21,59,59],[1961,4,30,23,59,59],
+          '1960093021:00:00','1960093023:00:00','1961043021:59:59','1961043023:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,22,0,0],[1961,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1961,9,30,20,59,59],[1961,9,30,23,59,59],
+          '1961043022:00:00','1961050101:00:00','1961093020:59:59','1961093023:59:59' ],
+        [ [1961,9,30,21,0,0],[1961,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1972,6,21,21,59,59],[1972,6,21,23,59,59],
+          '1961093021:00:00','1961093023:00:00','1972062121:59:59','1972062123:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,6,21,22,0,0],[1972,6,22,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1972,9,30,20,59,59],[1972,9,30,23,59,59],
+          '1972062122:00:00','1972062201:00:00','1972093020:59:59','1972093023:59:59' ],
+        [ [1972,9,30,21,0,0],[1972,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1973,4,30,21,59,59],[1973,4,30,23,59,59],
+          '1972093021:00:00','1972093023:00:00','1973043021:59:59','1973043023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,30,22,0,0],[1973,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1973,9,30,20,59,59],[1973,9,30,23,59,59],
+          '1973043022:00:00','1973050101:00:00','1973093020:59:59','1973093023:59:59' ],
+        [ [1973,9,30,21,0,0],[1973,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1974,4,30,21,59,59],[1974,4,30,23,59,59],
+          '1973093021:00:00','1973093023:00:00','1974043021:59:59','1974043023:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,30,22,0,0],[1974,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1974,9,30,20,59,59],[1974,9,30,23,59,59],
+          '1974043022:00:00','1974050101:00:00','1974093020:59:59','1974093023:59:59' ],
+        [ [1974,9,30,21,0,0],[1974,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,30,21,59,59],[1975,4,30,23,59,59],
+          '1974093021:00:00','1974093023:00:00','1975043021:59:59','1975043023:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,30,22,0,0],[1975,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,9,30,20,59,59],[1975,9,30,23,59,59],
+          '1975043022:00:00','1975050101:00:00','1975093020:59:59','1975093023:59:59' ],
+        [ [1975,9,30,21,0,0],[1975,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,4,30,21,59,59],[1976,4,30,23,59,59],
+          '1975093021:00:00','1975093023:00:00','1976043021:59:59','1976043023:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,30,22,0,0],[1976,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,9,30,20,59,59],[1976,9,30,23,59,59],
+          '1976043022:00:00','1976050101:00:00','1976093020:59:59','1976093023:59:59' ],
+        [ [1976,9,30,21,0,0],[1976,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,30,21,59,59],[1977,4,30,23,59,59],
+          '1976093021:00:00','1976093023:00:00','1977043021:59:59','1977043023:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,30,22,0,0],[1977,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,30,20,59,59],[1977,9,30,23,59,59],
+          '1977043022:00:00','1977050101:00:00','1977093020:59:59','1977093023:59:59' ],
+        [ [1977,9,30,21,0,0],[1977,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,29,21,59,59],[1978,4,29,23,59,59],
+          '1977093021:00:00','1977093023:00:00','1978042921:59:59','1978042923:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,29,22,0,0],[1978,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,9,29,20,59,59],[1978,9,29,23,59,59],
+          '1978042922:00:00','1978043001:00:00','1978092920:59:59','1978092923:59:59' ],
+        [ [1978,9,29,21,0,0],[1978,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,4,30,21,59,59],[1984,4,30,23,59,59],
+          '1978092921:00:00','1978092923:00:00','1984043021:59:59','1984043023:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,30,22,0,0],[1984,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,10,15,20,59,59],[1984,10,15,23,59,59],
+          '1984043022:00:00','1984050101:00:00','1984101520:59:59','1984101523:59:59' ],
+        [ [1984,10,15,21,0,0],[1984,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,4,30,21,59,59],[1985,4,30,23,59,59],
+          '1984101521:00:00','1984101523:00:00','1985043021:59:59','1985043023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,30,22,0,0],[1985,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,10,15,20,59,59],[1985,10,15,23,59,59],
+          '1985043022:00:00','1985050101:00:00','1985101520:59:59','1985101523:59:59' ],
+        [ [1985,10,15,21,0,0],[1985,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,4,30,21,59,59],[1986,4,30,23,59,59],
+          '1985101521:00:00','1985101523:00:00','1986043021:59:59','1986043023:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,30,22,0,0],[1986,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,10,15,20,59,59],[1986,10,15,23,59,59],
+          '1986043022:00:00','1986050101:00:00','1986101520:59:59','1986101523:59:59' ],
+        [ [1986,10,15,21,0,0],[1986,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,4,30,21,59,59],[1987,4,30,23,59,59],
+          '1986101521:00:00','1986101523:00:00','1987043021:59:59','1987043023:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,30,22,0,0],[1987,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,10,15,20,59,59],[1987,10,15,23,59,59],
+          '1987043022:00:00','1987050101:00:00','1987101520:59:59','1987101523:59:59' ],
+        [ [1987,10,15,21,0,0],[1987,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,5,31,21,59,59],[1988,5,31,23,59,59],
+          '1987101521:00:00','1987101523:00:00','1988053121:59:59','1988053123:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,5,31,22,0,0],[1988,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,10,15,20,59,59],[1988,10,15,23,59,59],
+          '1988053122:00:00','1988060101:00:00','1988101520:59:59','1988101523:59:59' ],
+        [ [1988,10,15,21,0,0],[1988,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,5,9,21,59,59],[1989,5,9,23,59,59],
+          '1988101521:00:00','1988101523:00:00','1989050921:59:59','1989050923:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,5,9,22,0,0],[1989,5,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,10,15,20,59,59],[1989,10,15,23,59,59],
+          '1989050922:00:00','1989051001:00:00','1989101520:59:59','1989101523:59:59' ],
+        [ [1989,10,15,21,0,0],[1989,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,4,30,21,59,59],[1990,4,30,23,59,59],
+          '1989101521:00:00','1989101523:00:00','1990043021:59:59','1990043023:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,30,22,0,0],[1990,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,10,15,20,59,59],[1990,10,15,23,59,59],
+          '1990043022:00:00','1990050101:00:00','1990101520:59:59','1990101523:59:59' ],
+        [ [1990,10,15,21,0,0],[1990,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,4,30,21,59,59],[1991,4,30,23,59,59],
+          '1990101521:00:00','1990101523:00:00','1991043021:59:59','1991043023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,30,22,0,0],[1991,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,10,15,20,59,59],[1991,10,15,23,59,59],
+          '1991043022:00:00','1991050101:00:00','1991101520:59:59','1991101523:59:59' ],
+        [ [1991,10,15,21,0,0],[1991,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,4,30,21,59,59],[1992,4,30,23,59,59],
+          '1991101521:00:00','1991101523:00:00','1992043021:59:59','1992043023:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,30,22,0,0],[1992,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,10,3,20,59,59],[1992,10,3,23,59,59],
+          '1992043022:00:00','1992050101:00:00','1992100320:59:59','1992100323:59:59' ],
+        [ [1992,10,3,21,0,0],[1992,10,3,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992100321:00:00','1992100323:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,28,20,59,59],[1996,9,28,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996092820:59:59','1996092823:59:59' ],
+        [ [1996,9,28,21,0,0],[1996,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,21,59,59],[1997,3,29,23,59,59],
+          '1996092821:00:00','1996092823:00:00','1997032921:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,27,20,59,59],[1997,9,27,23,59,59],
+          '1997032922:00:00','1997033001:00:00','1997092720:59:59','1997092723:59:59' ],
+        [ [1997,9,27,21,0,0],[1997,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,21,59,59],[1998,3,28,23,59,59],
+          '1997092721:00:00','1997092723:00:00','1998032821:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,26,20,59,59],[1998,9,26,23,59,59],
+          '1998032822:00:00','1998032901:00:00','1998092620:59:59','1998092623:59:59' ],
+        [ [1998,9,26,21,0,0],[1998,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,27,21,59,59],[1999,3,27,23,59,59],
+          '1998092621:00:00','1998092623:00:00','1999032721:59:59','1999032723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,22,0,0],[1999,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,30,20,59,59],[1999,10,30,23,59,59],
+          '1999032722:00:00','1999032801:00:00','1999103020:59:59','1999103023:59:59' ],
+        [ [1999,10,30,21,0,0],[1999,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,25,21,59,59],[2000,3,25,23,59,59],
+          '1999103021:00:00','1999103023:00:00','2000032521:59:59','2000032523:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,28,20,59,59],[2000,10,28,23,59,59],
+          '2000032522:00:00','2000032601:00:00','2000102820:59:59','2000102823:59:59' ],
+        [ [2000,10,28,21,0,0],[2000,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,24,21,59,59],[2001,3,24,23,59,59],
+          '2000102821:00:00','2000102823:00:00','2001032421:59:59','2001032423:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,27,20,59,59],[2001,10,27,23,59,59],
+          '2001032422:00:00','2001032501:00:00','2001102720:59:59','2001102723:59:59' ],
+        [ [2001,10,27,21,0,0],[2001,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,30,21,59,59],[2002,3,30,23,59,59],
+          '2001102721:00:00','2001102723:00:00','2002033021:59:59','2002033023:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,26,20,59,59],[2002,10,26,23,59,59],
+          '2002033022:00:00','2002033101:00:00','2002102620:59:59','2002102623:59:59' ],
+        [ [2002,10,26,21,0,0],[2002,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,29,21,59,59],[2003,3,29,23,59,59],
+          '2002102621:00:00','2002102623:00:00','2003032921:59:59','2003032923:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,25,20,59,59],[2003,10,25,23,59,59],
+          '2003032922:00:00','2003033001:00:00','2003102520:59:59','2003102523:59:59' ],
+        [ [2003,10,25,21,0,0],[2003,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,27,21,59,59],[2004,3,27,23,59,59],
+          '2003102521:00:00','2003102523:00:00','2004032721:59:59','2004032723:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,30,20,59,59],[2004,10,30,23,59,59],
+          '2004032722:00:00','2004032801:00:00','2004103020:59:59','2004103023:59:59' ],
+        [ [2004,10,30,21,0,0],[2004,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,26,21,59,59],[2005,3,26,23,59,59],
+          '2004103021:00:00','2004103023:00:00','2005032621:59:59','2005032623:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,22,0,0],[2005,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,29,20,59,59],[2005,10,29,23,59,59],
+          '2005032622:00:00','2005032701:00:00','2005102920:59:59','2005102923:59:59' ],
+        [ [2005,10,29,21,0,0],[2005,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,25,21,59,59],[2006,3,25,23,59,59],
+          '2005102921:00:00','2005102923:00:00','2006032521:59:59','2006032523:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,22,0,0],[2006,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,28,20,59,59],[2006,10,28,23,59,59],
+          '2006032522:00:00','2006032601:00:00','2006102820:59:59','2006102823:59:59' ],
+        [ [2006,10,28,21,0,0],[2006,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,24,21,59,59],[2007,3,24,23,59,59],
+          '2006102821:00:00','2006102823:00:00','2007032421:59:59','2007032423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,22,0,0],[2007,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,27,20,59,59],[2007,10,27,23,59,59],
+          '2007032422:00:00','2007032501:00:00','2007102720:59:59','2007102723:59:59' ],
+        [ [2007,10,27,21,0,0],[2007,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,29,21,59,59],[2008,3,29,23,59,59],
+          '2007102721:00:00','2007102723:00:00','2008032921:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,22,0,0],[2008,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,25,20,59,59],[2008,10,25,23,59,59],
+          '2008032922:00:00','2008033001:00:00','2008102520:59:59','2008102523:59:59' ],
+        [ [2008,10,25,21,0,0],[2008,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,28,21,59,59],[2009,3,28,23,59,59],
+          '2008102521:00:00','2008102523:00:00','2009032821:59:59','2009032823:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,22,0,0],[2009,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,24,20,59,59],[2009,10,24,23,59,59],
+          '2009032822:00:00','2009032901:00:00','2009102420:59:59','2009102423:59:59' ],
+        [ [2009,10,24,21,0,0],[2009,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,27,21,59,59],[2010,3,27,23,59,59],
+          '2009102421:00:00','2009102423:00:00','2010032721:59:59','2010032723:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,22,0,0],[2010,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,30,20,59,59],[2010,10,30,23,59,59],
+          '2010032722:00:00','2010032801:00:00','2010103020:59:59','2010103023:59:59' ],
+        [ [2010,10,30,21,0,0],[2010,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,26,21,59,59],[2011,3,26,23,59,59],
+          '2010103021:00:00','2010103023:00:00','2011032621:59:59','2011032623:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,22,0,0],[2011,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,29,20,59,59],[2011,10,29,23,59,59],
+          '2011032622:00:00','2011032701:00:00','2011102920:59:59','2011102923:59:59' ],
+        [ [2011,10,29,21,0,0],[2011,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,24,21,59,59],[2012,3,24,23,59,59],
+          '2011102921:00:00','2011102923:00:00','2012032421:59:59','2012032423:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,24,22,0,0],[2012,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,27,20,59,59],[2012,10,27,23,59,59],
+          '2012032422:00:00','2012032501:00:00','2012102720:59:59','2012102723:59:59' ],
+        [ [2012,10,27,21,0,0],[2012,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,30,21,59,59],[2013,3,30,23,59,59],
+          '2012102721:00:00','2012102723:00:00','2013033021:59:59','2013033023:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,30,22,0,0],[2013,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,26,20,59,59],[2013,10,26,23,59,59],
+          '2013033022:00:00','2013033101:00:00','2013102620:59:59','2013102623:59:59' ],
+        [ [2013,10,26,21,0,0],[2013,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,29,21,59,59],[2014,3,29,23,59,59],
+          '2013102621:00:00','2013102623:00:00','2014032921:59:59','2014032923:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,29,22,0,0],[2014,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,25,20,59,59],[2014,10,25,23,59,59],
+          '2014032922:00:00','2014033001:00:00','2014102520:59:59','2014102523:59:59' ],
+        [ [2014,10,25,21,0,0],[2014,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,28,21,59,59],[2015,3,28,23,59,59],
+          '2014102521:00:00','2014102523:00:00','2015032821:59:59','2015032823:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,28,22,0,0],[2015,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,24,20,59,59],[2015,10,24,23,59,59],
+          '2015032822:00:00','2015032901:00:00','2015102420:59:59','2015102423:59:59' ],
+        [ [2015,10,24,21,0,0],[2015,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,26,21,59,59],[2016,3,26,23,59,59],
+          '2015102421:00:00','2015102423:00:00','2016032621:59:59','2016032623:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,22,0,0],[2016,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,29,20,59,59],[2016,10,29,23,59,59],
+          '2016032622:00:00','2016032701:00:00','2016102920:59:59','2016102923:59:59' ],
+        [ [2016,10,29,21,0,0],[2016,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,25,21,59,59],[2017,3,25,23,59,59],
+          '2016102921:00:00','2016102923:00:00','2017032521:59:59','2017032523:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,25,22,0,0],[2017,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,28,20,59,59],[2017,10,28,23,59,59],
+          '2017032522:00:00','2017032601:00:00','2017102820:59:59','2017102823:59:59' ],
+        [ [2017,10,28,21,0,0],[2017,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,24,21,59,59],[2018,3,24,23,59,59],
+          '2017102821:00:00','2017102823:00:00','2018032421:59:59','2018032423:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,24,22,0,0],[2018,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,27,20,59,59],[2018,10,27,23,59,59],
+          '2018032422:00:00','2018032501:00:00','2018102720:59:59','2018102723:59:59' ],
+        [ [2018,10,27,21,0,0],[2018,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,30,21,59,59],[2019,3,30,23,59,59],
+          '2018102721:00:00','2018102723:00:00','2019033021:59:59','2019033023:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,30,22,0,0],[2019,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,26,20,59,59],[2019,10,26,23,59,59],
+          '2019033022:00:00','2019033101:00:00','2019102620:59:59','2019102623:59:59' ],
+        [ [2019,10,26,21,0,0],[2019,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,28,21,59,59],[2020,3,28,23,59,59],
+          '2019102621:00:00','2019102623:00:00','2020032821:59:59','2020032823:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,28,22,0,0],[2020,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,24,20,59,59],[2020,10,24,23,59,59],
+          '2020032822:00:00','2020032901:00:00','2020102420:59:59','2020102423:59:59' ],
+        [ [2020,10,24,21,0,0],[2020,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,27,21,59,59],[2021,3,27,23,59,59],
+          '2020102421:00:00','2020102423:00:00','2021032721:59:59','2021032723:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,27,22,0,0],[2021,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,30,20,59,59],[2021,10,30,23,59,59],
+          '2021032722:00:00','2021032801:00:00','2021103020:59:59','2021103023:59:59' ],
+        [ [2021,10,30,21,0,0],[2021,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,26,21,59,59],[2022,3,26,23,59,59],
+          '2021103021:00:00','2021103023:00:00','2022032621:59:59','2022032623:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,26,22,0,0],[2022,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,29,20,59,59],[2022,10,29,23,59,59],
+          '2022032622:00:00','2022032701:00:00','2022102920:59:59','2022102923:59:59' ],
+        [ [2022,10,29,21,0,0],[2022,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,25,21,59,59],[2023,3,25,23,59,59],
+          '2022102921:00:00','2022102923:00:00','2023032521:59:59','2023032523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,25,22,0,0],[2023,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,28,20,59,59],[2023,10,28,23,59,59],
+          '2023032522:00:00','2023032601:00:00','2023102820:59:59','2023102823:59:59' ],
+        [ [2023,10,28,21,0,0],[2023,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,30,21,59,59],[2024,3,30,23,59,59],
+          '2023102821:00:00','2023102823:00:00','2024033021:59:59','2024033023:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,30,22,0,0],[2024,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,26,20,59,59],[2024,10,26,23,59,59],
+          '2024033022:00:00','2024033101:00:00','2024102620:59:59','2024102623:59:59' ],
+        [ [2024,10,26,21,0,0],[2024,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,29,21,59,59],[2025,3,29,23,59,59],
+          '2024102621:00:00','2024102623:00:00','2025032921:59:59','2025032923:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,29,22,0,0],[2025,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,25,20,59,59],[2025,10,25,23,59,59],
+          '2025032922:00:00','2025033001:00:00','2025102520:59:59','2025102523:59:59' ],
+        [ [2025,10,25,21,0,0],[2025,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,28,21,59,59],[2026,3,28,23,59,59],
+          '2025102521:00:00','2025102523:00:00','2026032821:59:59','2026032823:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,28,22,0,0],[2026,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,24,20,59,59],[2026,10,24,23,59,59],
+          '2026032822:00:00','2026032901:00:00','2026102420:59:59','2026102423:59:59' ],
+        [ [2026,10,24,21,0,0],[2026,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,27,21,59,59],[2027,3,27,23,59,59],
+          '2026102421:00:00','2026102423:00:00','2027032721:59:59','2027032723:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,27,22,0,0],[2027,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,30,20,59,59],[2027,10,30,23,59,59],
+          '2027032722:00:00','2027032801:00:00','2027103020:59:59','2027103023:59:59' ],
+        [ [2027,10,30,21,0,0],[2027,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,25,21,59,59],[2028,3,25,23,59,59],
+          '2027103021:00:00','2027103023:00:00','2028032521:59:59','2028032523:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,25,22,0,0],[2028,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,28,20,59,59],[2028,10,28,23,59,59],
+          '2028032522:00:00','2028032601:00:00','2028102820:59:59','2028102823:59:59' ],
+        [ [2028,10,28,21,0,0],[2028,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,24,21,59,59],[2029,3,24,23,59,59],
+          '2028102821:00:00','2028102823:00:00','2029032421:59:59','2029032423:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,24,22,0,0],[2029,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,27,20,59,59],[2029,10,27,23,59,59],
+          '2029032422:00:00','2029032501:00:00','2029102720:59:59','2029102723:59:59' ],
+        [ [2029,10,27,21,0,0],[2029,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,30,21,59,59],[2030,3,30,23,59,59],
+          '2029102721:00:00','2029102723:00:00','2030033021:59:59','2030033023:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,30,22,0,0],[2030,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,26,20,59,59],[2030,10,26,23,59,59],
+          '2030033022:00:00','2030033101:00:00','2030102620:59:59','2030102623:59:59' ],
+        [ [2030,10,26,21,0,0],[2030,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,29,21,59,59],[2031,3,29,23,59,59],
+          '2030102621:00:00','2030102623:00:00','2031032921:59:59','2031032923:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,29,22,0,0],[2031,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,25,20,59,59],[2031,10,25,23,59,59],
+          '2031032922:00:00','2031033001:00:00','2031102520:59:59','2031102523:59:59' ],
+        [ [2031,10,25,21,0,0],[2031,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,27,21,59,59],[2032,3,27,23,59,59],
+          '2031102521:00:00','2031102523:00:00','2032032721:59:59','2032032723:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,27,22,0,0],[2032,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,30,20,59,59],[2032,10,30,23,59,59],
+          '2032032722:00:00','2032032801:00:00','2032103020:59:59','2032103023:59:59' ],
+        [ [2032,10,30,21,0,0],[2032,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,26,21,59,59],[2033,3,26,23,59,59],
+          '2032103021:00:00','2032103023:00:00','2033032621:59:59','2033032623:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,26,22,0,0],[2033,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,29,20,59,59],[2033,10,29,23,59,59],
+          '2033032622:00:00','2033032701:00:00','2033102920:59:59','2033102923:59:59' ],
+        [ [2033,10,29,21,0,0],[2033,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,25,21,59,59],[2034,3,25,23,59,59],
+          '2033102921:00:00','2033102923:00:00','2034032521:59:59','2034032523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,25,22,0,0],[2034,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,28,20,59,59],[2034,10,28,23,59,59],
+          '2034032522:00:00','2034032601:00:00','2034102820:59:59','2034102823:59:59' ],
+        [ [2034,10,28,21,0,0],[2034,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,24,21,59,59],[2035,3,24,23,59,59],
+          '2034102821:00:00','2034102823:00:00','2035032421:59:59','2035032423:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,24,22,0,0],[2035,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,27,20,59,59],[2035,10,27,23,59,59],
+          '2035032422:00:00','2035032501:00:00','2035102720:59:59','2035102723:59:59' ],
+        [ [2035,10,27,21,0,0],[2035,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,29,21,59,59],[2036,3,29,23,59,59],
+          '2035102721:00:00','2035102723:00:00','2036032921:59:59','2036032923:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,29,22,0,0],[2036,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,25,20,59,59],[2036,10,25,23,59,59],
+          '2036032922:00:00','2036033001:00:00','2036102520:59:59','2036102523:59:59' ],
+        [ [2036,10,25,21,0,0],[2036,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,28,21,59,59],[2037,3,28,23,59,59],
+          '2036102521:00:00','2036102523:00:00','2037032821:59:59','2037032823:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,28,22,0,0],[2037,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,24,20,59,59],[2037,10,24,23,59,59],
+          '2037032822:00:00','2037032901:00:00','2037102420:59:59','2037102423:59:59' ],
+        [ [2037,10,24,21,0,0],[2037,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,27,21,59,59],[2038,3,27,23,59,59],
+          '2037102421:00:00','2037102423:00:00','2038032721:59:59','2038032723:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,27,22,0,0],[2038,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,30,20,59,59],[2038,10,30,23,59,59],
+          '2038032722:00:00','2038032801:00:00','2038103020:59:59','2038103023:59:59' ],
+        [ [2038,10,30,21,0,0],[2038,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,26,21,59,59],[2039,3,26,23,59,59],
+          '2038103021:00:00','2038103023:00:00','2039032621:59:59','2039032623:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,26,22,0,0],[2039,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,29,20,59,59],[2039,10,29,23,59,59],
+          '2039032622:00:00','2039032701:00:00','2039102920:59:59','2039102923:59:59' ],
+        [ [2039,10,29,21,0,0],[2039,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,24,21,59,59],[2040,3,24,23,59,59],
+          '2039102921:00:00','2039102923:00:00','2040032421:59:59','2040032423:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,24,22,0,0],[2040,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,27,20,59,59],[2040,10,27,23,59,59],
+          '2040032422:00:00','2040032501:00:00','2040102720:59:59','2040102723:59:59' ],
+        [ [2040,10,27,21,0,0],[2040,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,30,21,59,59],[2041,3,30,23,59,59],
+          '2040102721:00:00','2040102723:00:00','2041033021:59:59','2041033023:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,30,22,0,0],[2041,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,26,20,59,59],[2041,10,26,23,59,59],
+          '2041033022:00:00','2041033101:00:00','2041102620:59:59','2041102623:59:59' ],
+        [ [2041,10,26,21,0,0],[2041,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,29,21,59,59],[2042,3,29,23,59,59],
+          '2041102621:00:00','2041102623:00:00','2042032921:59:59','2042032923:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,29,22,0,0],[2042,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,25,20,59,59],[2042,10,25,23,59,59],
+          '2042032922:00:00','2042033001:00:00','2042102520:59:59','2042102523:59:59' ],
+        [ [2042,10,25,21,0,0],[2042,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,28,21,59,59],[2043,3,28,23,59,59],
+          '2042102521:00:00','2042102523:00:00','2043032821:59:59','2043032823:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,28,22,0,0],[2043,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,24,20,59,59],[2043,10,24,23,59,59],
+          '2043032822:00:00','2043032901:00:00','2043102420:59:59','2043102423:59:59' ],
+        [ [2043,10,24,21,0,0],[2043,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,26,21,59,59],[2044,3,26,23,59,59],
+          '2043102421:00:00','2043102423:00:00','2044032621:59:59','2044032623:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,26,22,0,0],[2044,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,29,20,59,59],[2044,10,29,23,59,59],
+          '2044032622:00:00','2044032701:00:00','2044102920:59:59','2044102923:59:59' ],
+        [ [2044,10,29,21,0,0],[2044,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,25,21,59,59],[2045,3,25,23,59,59],
+          '2044102921:00:00','2044102923:00:00','2045032521:59:59','2045032523:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,25,22,0,0],[2045,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,28,20,59,59],[2045,10,28,23,59,59],
+          '2045032522:00:00','2045032601:00:00','2045102820:59:59','2045102823:59:59' ],
+        [ [2045,10,28,21,0,0],[2045,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,24,21,59,59],[2046,3,24,23,59,59],
+          '2045102821:00:00','2045102823:00:00','2046032421:59:59','2046032423:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,24,22,0,0],[2046,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,27,20,59,59],[2046,10,27,23,59,59],
+          '2046032422:00:00','2046032501:00:00','2046102720:59:59','2046102723:59:59' ],
+        [ [2046,10,27,21,0,0],[2046,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,30,21,59,59],[2047,3,30,23,59,59],
+          '2046102721:00:00','2046102723:00:00','2047033021:59:59','2047033023:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,30,22,0,0],[2047,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,26,20,59,59],[2047,10,26,23,59,59],
+          '2047033022:00:00','2047033101:00:00','2047102620:59:59','2047102623:59:59' ],
+        [ [2047,10,26,21,0,0],[2047,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,28,21,59,59],[2048,3,28,23,59,59],
+          '2047102621:00:00','2047102623:00:00','2048032821:59:59','2048032823:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,28,22,0,0],[2048,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,24,20,59,59],[2048,10,24,23,59,59],
+          '2048032822:00:00','2048032901:00:00','2048102420:59:59','2048102423:59:59' ],
+        [ [2048,10,24,21,0,0],[2048,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,27,21,59,59],[2049,3,27,23,59,59],
+          '2048102421:00:00','2048102423:00:00','2049032721:59:59','2049032723:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,27,22,0,0],[2049,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,30,20,59,59],[2049,10,30,23,59,59],
+          '2049032722:00:00','2049032801:00:00','2049103020:59:59','2049103023:59:59' ],
+        [ [2049,10,30,21,0,0],[2049,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,26,21,59,59],[2050,3,26,23,59,59],
+          '2049103021:00:00','2049103023:00:00','2050032621:59:59','2050032623:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,26,22,0,0],[2050,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,29,20,59,59],[2050,10,29,23,59,59],
+          '2050032622:00:00','2050032701:00:00','2050102920:59:59','2050102923:59:59' ],
+        [ [2050,10,29,21,0,0],[2050,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,25,21,59,59],[2051,3,25,23,59,59],
+          '2050102921:00:00','2050102923:00:00','2051032521:59:59','2051032523:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,25,22,0,0],[2051,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,28,20,59,59],[2051,10,28,23,59,59],
+          '2051032522:00:00','2051032601:00:00','2051102820:59:59','2051102823:59:59' ],
+        [ [2051,10,28,21,0,0],[2051,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,30,21,59,59],[2052,3,30,23,59,59],
+          '2051102821:00:00','2051102823:00:00','2052033021:59:59','2052033023:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,30,22,0,0],[2052,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,26,20,59,59],[2052,10,26,23,59,59],
+          '2052033022:00:00','2052033101:00:00','2052102620:59:59','2052102623:59:59' ],
+        [ [2052,10,26,21,0,0],[2052,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,29,21,59,59],[2053,3,29,23,59,59],
+          '2052102621:00:00','2052102623:00:00','2053032921:59:59','2053032923:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,29,22,0,0],[2053,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,25,20,59,59],[2053,10,25,23,59,59],
+          '2053032922:00:00','2053033001:00:00','2053102520:59:59','2053102523:59:59' ],
+        [ [2053,10,25,21,0,0],[2053,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,28,21,59,59],[2054,3,28,23,59,59],
+          '2053102521:00:00','2053102523:00:00','2054032821:59:59','2054032823:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,28,22,0,0],[2054,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,24,20,59,59],[2054,10,24,23,59,59],
+          '2054032822:00:00','2054032901:00:00','2054102420:59:59','2054102423:59:59' ],
+        [ [2054,10,24,21,0,0],[2054,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,27,21,59,59],[2055,3,27,23,59,59],
+          '2054102421:00:00','2054102423:00:00','2055032721:59:59','2055032723:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,27,22,0,0],[2055,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,30,20,59,59],[2055,10,30,23,59,59],
+          '2055032722:00:00','2055032801:00:00','2055103020:59:59','2055103023:59:59' ],
+        [ [2055,10,30,21,0,0],[2055,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,25,21,59,59],[2056,3,25,23,59,59],
+          '2055103021:00:00','2055103023:00:00','2056032521:59:59','2056032523:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,25,22,0,0],[2056,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,28,20,59,59],[2056,10,28,23,59,59],
+          '2056032522:00:00','2056032601:00:00','2056102820:59:59','2056102823:59:59' ],
+        [ [2056,10,28,21,0,0],[2056,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,24,21,59,59],[2057,3,24,23,59,59],
+          '2056102821:00:00','2056102823:00:00','2057032421:59:59','2057032423:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,24,22,0,0],[2057,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,27,20,59,59],[2057,10,27,23,59,59],
+          '2057032422:00:00','2057032501:00:00','2057102720:59:59','2057102723:59:59' ],
+        [ [2057,10,27,21,0,0],[2057,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,30,21,59,59],[2058,3,30,23,59,59],
+          '2057102721:00:00','2057102723:00:00','2058033021:59:59','2058033023:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,30,22,0,0],[2058,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,26,20,59,59],[2058,10,26,23,59,59],
+          '2058033022:00:00','2058033101:00:00','2058102620:59:59','2058102623:59:59' ],
+        [ [2058,10,26,21,0,0],[2058,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,29,21,59,59],[2059,3,29,23,59,59],
+          '2058102621:00:00','2058102623:00:00','2059032921:59:59','2059032923:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,29,22,0,0],[2059,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,25,20,59,59],[2059,10,25,23,59,59],
+          '2059032922:00:00','2059033001:00:00','2059102520:59:59','2059102523:59:59' ],
+        [ [2059,10,25,21,0,0],[2059,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,27,21,59,59],[2060,3,27,23,59,59],
+          '2059102521:00:00','2059102523:00:00','2060032721:59:59','2060032723:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,27,22,0,0],[2060,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,30,20,59,59],[2060,10,30,23,59,59],
+          '2060032722:00:00','2060032801:00:00','2060103020:59:59','2060103023:59:59' ],
+        [ [2060,10,30,21,0,0],[2060,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,26,21,59,59],[2061,3,26,23,59,59],
+          '2060103021:00:00','2060103023:00:00','2061032621:59:59','2061032623:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,26,22,0,0],[2061,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,29,20,59,59],[2061,10,29,23,59,59],
+          '2061032622:00:00','2061032701:00:00','2061102920:59:59','2061102923:59:59' ],
+        [ [2061,10,29,21,0,0],[2061,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,25,21,59,59],[2062,3,25,23,59,59],
+          '2061102921:00:00','2061102923:00:00','2062032521:59:59','2062032523:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,25,22,0,0],[2062,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,28,20,59,59],[2062,10,28,23,59,59],
+          '2062032522:00:00','2062032601:00:00','2062102820:59:59','2062102823:59:59' ],
+        [ [2062,10,28,21,0,0],[2062,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,24,21,59,59],[2063,3,24,23,59,59],
+          '2062102821:00:00','2062102823:00:00','2063032421:59:59','2063032423:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,24,22,0,0],[2063,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,27,20,59,59],[2063,10,27,23,59,59],
+          '2063032422:00:00','2063032501:00:00','2063102720:59:59','2063102723:59:59' ],
+        [ [2063,10,27,21,0,0],[2063,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,29,21,59,59],[2064,3,29,23,59,59],
+          '2063102721:00:00','2063102723:00:00','2064032921:59:59','2064032923:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,29,22,0,0],[2064,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,25,20,59,59],[2064,10,25,23,59,59],
+          '2064032922:00:00','2064033001:00:00','2064102520:59:59','2064102523:59:59' ],
+        [ [2064,10,25,21,0,0],[2064,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,28,21,59,59],[2065,3,28,23,59,59],
+          '2064102521:00:00','2064102523:00:00','2065032821:59:59','2065032823:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,28,22,0,0],[2065,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,24,20,59,59],[2065,10,24,23,59,59],
+          '2065032822:00:00','2065032901:00:00','2065102420:59:59','2065102423:59:59' ],
+        [ [2065,10,24,21,0,0],[2065,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,27,21,59,59],[2066,3,27,23,59,59],
+          '2065102421:00:00','2065102423:00:00','2066032721:59:59','2066032723:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,27,22,0,0],[2066,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,30,20,59,59],[2066,10,30,23,59,59],
+          '2066032722:00:00','2066032801:00:00','2066103020:59:59','2066103023:59:59' ],
+        [ [2066,10,30,21,0,0],[2066,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,26,21,59,59],[2067,3,26,23,59,59],
+          '2066103021:00:00','2066103023:00:00','2067032621:59:59','2067032623:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,26,22,0,0],[2067,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,29,20,59,59],[2067,10,29,23,59,59],
+          '2067032622:00:00','2067032701:00:00','2067102920:59:59','2067102923:59:59' ],
+        [ [2067,10,29,21,0,0],[2067,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,24,21,59,59],[2068,3,24,23,59,59],
+          '2067102921:00:00','2067102923:00:00','2068032421:59:59','2068032423:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbish00.pm b/lib/Date/Manip/TZ/asbish00.pm
new file mode 100644
index 0000000..eaca048
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbish00.pm
@@ -0,0 +1,280 @@
+package #
+Date::Manip::TZ::asbish00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,58,24],'+04:58:24',[4,58,24],
+          'LMT',0,[1924,5,1,19,1,35],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010204:58:24','1924050119:01:35','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,19,1,36],[1924,5,2,0,1,36],'+05:00:00',[5,0,0],
+          '+05',0,[1930,6,20,18,59,59],[1930,6,20,23,59,59],
+          '1924050119:01:36','1924050200:01:36','1930062018:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,19,0,0],[1930,6,21,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1981,3,31,17,59,59],[1981,3,31,23,59,59],
+          '1930062019:00:00','1930062101:00:00','1981033117:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,18,0,0],[1981,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1981,9,30,16,59,59],[1981,9,30,23,59,59],
+          '1981033118:00:00','1981040101:00:00','1981093016:59:59','1981093023:59:59' ],
+        [ [1981,9,30,17,0,0],[1981,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093017:00:00','1981093023:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1982,9,30,16,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040101:00:00','1982093016:59:59','1982093023:59:59' ],
+        [ [1982,9,30,17,0,0],[1982,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1983,3,31,17,59,59],[1983,3,31,23,59,59],
+          '1982093017:00:00','1982093023:00:00','1983033117:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,18,0,0],[1983,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1983,9,30,16,59,59],[1983,9,30,23,59,59],
+          '1983033118:00:00','1983040101:00:00','1983093016:59:59','1983093023:59:59' ],
+        [ [1983,9,30,17,0,0],[1983,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1984,3,31,17,59,59],[1984,3,31,23,59,59],
+          '1983093017:00:00','1983093023:00:00','1984033117:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,18,0,0],[1984,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1984,9,29,19,59,59],[1984,9,30,2,59,59],
+          '1984033118:00:00','1984040101:00:00','1984092919:59:59','1984093002:59:59' ],
+        [ [1984,9,29,20,0,0],[1984,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1985,3,30,19,59,59],[1985,3,31,1,59,59],
+          '1984092920:00:00','1984093002:00:00','1985033019:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,20,0,0],[1985,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1985,9,28,19,59,59],[1985,9,29,2,59,59],
+          '1985033020:00:00','1985033103:00:00','1985092819:59:59','1985092902:59:59' ],
+        [ [1985,9,28,20,0,0],[1985,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1986,3,29,19,59,59],[1986,3,30,1,59,59],
+          '1985092820:00:00','1985092902:00:00','1986032919:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,20,0,0],[1986,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1986,9,27,19,59,59],[1986,9,28,2,59,59],
+          '1986032920:00:00','1986033003:00:00','1986092719:59:59','1986092802:59:59' ],
+        [ [1986,9,27,20,0,0],[1986,9,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1987,3,28,19,59,59],[1987,3,29,1,59,59],
+          '1986092720:00:00','1986092802:00:00','1987032819:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,20,0,0],[1987,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1987,9,26,19,59,59],[1987,9,27,2,59,59],
+          '1987032820:00:00','1987032903:00:00','1987092619:59:59','1987092702:59:59' ],
+        [ [1987,9,26,20,0,0],[1987,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1988,3,26,19,59,59],[1988,3,27,1,59,59],
+          '1987092620:00:00','1987092702:00:00','1988032619:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,20,0,0],[1988,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1988,9,24,19,59,59],[1988,9,25,2,59,59],
+          '1988032620:00:00','1988032703:00:00','1988092419:59:59','1988092502:59:59' ],
+        [ [1988,9,24,20,0,0],[1988,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1989,3,25,19,59,59],[1989,3,26,1,59,59],
+          '1988092420:00:00','1988092502:00:00','1989032519:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,20,0,0],[1989,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1989,9,23,19,59,59],[1989,9,24,2,59,59],
+          '1989032520:00:00','1989032603:00:00','1989092319:59:59','1989092402:59:59' ],
+        [ [1989,9,23,20,0,0],[1989,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1990,3,24,19,59,59],[1990,3,25,1,59,59],
+          '1989092320:00:00','1989092402:00:00','1990032419:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,20,0,0],[1990,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1990,9,29,19,59,59],[1990,9,30,2,59,59],
+          '1990032420:00:00','1990032503:00:00','1990092919:59:59','1990093002:59:59' ],
+        [ [1990,9,29,20,0,0],[1990,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1991,3,30,19,59,59],[1991,3,31,1,59,59],
+          '1990092920:00:00','1990093002:00:00','1991033019:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,20,0,0],[1991,3,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,8,30,19,59,59],[1991,8,31,1,59,59],
+          '1991033020:00:00','1991033102:00:00','1991083019:59:59','1991083101:59:59' ],
+        [ [1991,8,30,20,0,0],[1991,8,31,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,4,11,18,59,59],[1992,4,11,23,59,59],
+          '1991083020:00:00','1991083101:00:00','1992041118:59:59','1992041123:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,11,19,0,0],[1992,4,12,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,17,59,59],[1992,9,26,23,59,59],
+          '1992041119:00:00','1992041201:00:00','1992092617:59:59','1992092623:59:59' ],
+        [ [1992,9,26,18,0,0],[1992,9,26,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,4,10,18,59,59],[1993,4,10,23,59,59],
+          '1992092618:00:00','1992092623:00:00','1993041018:59:59','1993041023:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,10,19,0,0],[1993,4,11,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,17,59,59],[1993,9,25,23,59,59],
+          '1993041019:00:00','1993041101:00:00','1993092517:59:59','1993092523:59:59' ],
+        [ [1993,9,25,18,0,0],[1993,9,25,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,4,9,18,59,59],[1994,4,9,23,59,59],
+          '1993092518:00:00','1993092523:00:00','1994040918:59:59','1994040923:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,9,19,0,0],[1994,4,10,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,17,59,59],[1994,9,24,23,59,59],
+          '1994040919:00:00','1994041001:00:00','1994092417:59:59','1994092423:59:59' ],
+        [ [1994,9,24,18,0,0],[1994,9,24,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1995,4,8,18,59,59],[1995,4,8,23,59,59],
+          '1994092418:00:00','1994092423:00:00','1995040818:59:59','1995040823:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,8,19,0,0],[1995,4,9,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1995,9,23,17,59,59],[1995,9,23,23,59,59],
+          '1995040819:00:00','1995040901:00:00','1995092317:59:59','1995092323:59:59' ],
+        [ [1995,9,23,18,0,0],[1995,9,23,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1996,4,6,18,59,59],[1996,4,6,23,59,59],
+          '1995092318:00:00','1995092323:00:00','1996040618:59:59','1996040623:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,6,19,0,0],[1996,4,7,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1996,9,28,17,59,59],[1996,9,28,23,59,59],
+          '1996040619:00:00','1996040701:00:00','1996092817:59:59','1996092823:59:59' ],
+        [ [1996,9,28,18,0,0],[1996,9,28,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1997,3,29,21,29,59],[1997,3,30,2,29,59],
+          '1996092818:00:00','1996092823:00:00','1997032921:29:59','1997033002:29:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,21,30,0],[1997,3,30,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[1997,10,25,20,29,59],[1997,10,26,2,29,59],
+          '1997032921:30:00','1997033003:30:00','1997102520:29:59','1997102602:29:59' ],
+        [ [1997,10,25,20,30,0],[1997,10,26,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[1998,3,28,21,29,59],[1998,3,29,2,29,59],
+          '1997102520:30:00','1997102601:30:00','1998032821:29:59','1998032902:29:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,21,30,0],[1998,3,29,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[1998,10,24,20,29,59],[1998,10,25,2,29,59],
+          '1998032821:30:00','1998032903:30:00','1998102420:29:59','1998102502:29:59' ],
+        [ [1998,10,24,20,30,0],[1998,10,25,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[1999,3,27,21,29,59],[1999,3,28,2,29,59],
+          '1998102420:30:00','1998102501:30:00','1999032721:29:59','1999032802:29:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,21,30,0],[1999,3,28,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[1999,10,30,20,29,59],[1999,10,31,2,29,59],
+          '1999032721:30:00','1999032803:30:00','1999103020:29:59','1999103102:29:59' ],
+        [ [1999,10,30,20,30,0],[1999,10,31,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2000,3,25,21,29,59],[2000,3,26,2,29,59],
+          '1999103020:30:00','1999103101:30:00','2000032521:29:59','2000032602:29:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,21,30,0],[2000,3,26,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2000,10,28,20,29,59],[2000,10,29,2,29,59],
+          '2000032521:30:00','2000032603:30:00','2000102820:29:59','2000102902:29:59' ],
+        [ [2000,10,28,20,30,0],[2000,10,29,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2001,3,24,21,29,59],[2001,3,25,2,29,59],
+          '2000102820:30:00','2000102901:30:00','2001032421:29:59','2001032502:29:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,21,30,0],[2001,3,25,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2001,10,27,20,29,59],[2001,10,28,2,29,59],
+          '2001032421:30:00','2001032503:30:00','2001102720:29:59','2001102802:29:59' ],
+        [ [2001,10,27,20,30,0],[2001,10,28,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2002,3,30,21,29,59],[2002,3,31,2,29,59],
+          '2001102720:30:00','2001102801:30:00','2002033021:29:59','2002033102:29:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,21,30,0],[2002,3,31,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2002,10,26,20,29,59],[2002,10,27,2,29,59],
+          '2002033021:30:00','2002033103:30:00','2002102620:29:59','2002102702:29:59' ],
+        [ [2002,10,26,20,30,0],[2002,10,27,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2003,3,29,21,29,59],[2003,3,30,2,29,59],
+          '2002102620:30:00','2002102701:30:00','2003032921:29:59','2003033002:29:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,21,30,0],[2003,3,30,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2003,10,25,20,29,59],[2003,10,26,2,29,59],
+          '2003032921:30:00','2003033003:30:00','2003102520:29:59','2003102602:29:59' ],
+        [ [2003,10,25,20,30,0],[2003,10,26,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2004,3,27,21,29,59],[2004,3,28,2,29,59],
+          '2003102520:30:00','2003102601:30:00','2004032721:29:59','2004032802:29:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,21,30,0],[2004,3,28,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2004,10,30,20,29,59],[2004,10,31,2,29,59],
+          '2004032721:30:00','2004032803:30:00','2004103020:29:59','2004103102:29:59' ],
+        [ [2004,10,30,20,30,0],[2004,10,31,1,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[2005,3,26,21,29,59],[2005,3,27,2,29,59],
+          '2004103020:30:00','2004103101:30:00','2005032621:29:59','2005032702:29:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,21,30,0],[2005,3,27,3,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[2005,8,11,17,59,59],[2005,8,11,23,59,59],
+          '2005032621:30:00','2005032703:30:00','2005081117:59:59','2005081123:59:59' ],
+        [ [2005,8,11,18,0,0],[2005,8,12,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '2005081118:00:00','2005081200:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asbrun00.pm b/lib/Date/Manip/TZ/asbrun00.pm
new file mode 100644
index 0000000..14e19ee
--- /dev/null
+++ b/lib/Date/Manip/TZ/asbrun00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::asbrun00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,39,40],'+07:39:40',[7,39,40],
+          'LMT',0,[1926,2,28,16,20,19],[1926,2,28,23,59,59],
+          '0001010200:00:00','0001010207:39:40','1926022816:20:19','1926022823:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,2,28,16,20,20],[1926,2,28,23,50,20],'+07:30:00',[7,30,0],
+          '+0730',0,[1932,12,31,16,29,59],[1932,12,31,23,59,59],
+          '1926022816:20:20','1926022823:50:20','1932123116:29:59','1932123123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,12,31,16,30,0],[1933,1,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1932123116:30:00','1933010100:30:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aschit00.pm b/lib/Date/Manip/TZ/aschit00.pm
new file mode 100644
index 0000000..651bb0e
--- /dev/null
+++ b/lib/Date/Manip/TZ/aschit00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::aschit00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,33,52],'+07:33:52',[7,33,52],
+          'LMT',0,[1919,12,14,16,26,7],[1919,12,14,23,59,59],
+          '0001010200:00:00','0001010207:33:52','1919121416:26:07','1919121423:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,14,16,26,8],[1919,12,15,0,26,8],'+08:00:00',[8,0,0],
+          '+08',0,[1930,6,20,15,59,59],[1930,6,20,23,59,59],
+          '1919121416:26:08','1919121500:26:08','1930062015:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,16,0,0],[1930,6,21,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1981,3,31,14,59,59],[1981,3,31,23,59,59],
+          '1930062016:00:00','1930062101:00:00','1981033114:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,15,0,0],[1981,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1981,9,30,13,59,59],[1981,9,30,23,59,59],
+          '1981033115:00:00','1981040101:00:00','1981093013:59:59','1981093023:59:59' ],
+        [ [1981,9,30,14,0,0],[1981,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1982,3,31,14,59,59],[1982,3,31,23,59,59],
+          '1981093014:00:00','1981093023:00:00','1982033114:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,15,0,0],[1982,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1982,9,30,13,59,59],[1982,9,30,23,59,59],
+          '1982033115:00:00','1982040101:00:00','1982093013:59:59','1982093023:59:59' ],
+        [ [1982,9,30,14,0,0],[1982,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1983,3,31,14,59,59],[1983,3,31,23,59,59],
+          '1982093014:00:00','1982093023:00:00','1983033114:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,15,0,0],[1983,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1983,9,30,13,59,59],[1983,9,30,23,59,59],
+          '1983033115:00:00','1983040101:00:00','1983093013:59:59','1983093023:59:59' ],
+        [ [1983,9,30,14,0,0],[1983,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1984,3,31,14,59,59],[1984,3,31,23,59,59],
+          '1983093014:00:00','1983093023:00:00','1984033114:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,15,0,0],[1984,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1984,9,29,16,59,59],[1984,9,30,2,59,59],
+          '1984033115:00:00','1984040101:00:00','1984092916:59:59','1984093002:59:59' ],
+        [ [1984,9,29,17,0,0],[1984,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1985,3,30,16,59,59],[1985,3,31,1,59,59],
+          '1984092917:00:00','1984093002:00:00','1985033016:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,17,0,0],[1985,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1985,9,28,16,59,59],[1985,9,29,2,59,59],
+          '1985033017:00:00','1985033103:00:00','1985092816:59:59','1985092902:59:59' ],
+        [ [1985,9,28,17,0,0],[1985,9,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1986,3,29,16,59,59],[1986,3,30,1,59,59],
+          '1985092817:00:00','1985092902:00:00','1986032916:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,17,0,0],[1986,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1986,9,27,16,59,59],[1986,9,28,2,59,59],
+          '1986032917:00:00','1986033003:00:00','1986092716:59:59','1986092802:59:59' ],
+        [ [1986,9,27,17,0,0],[1986,9,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1987,3,28,16,59,59],[1987,3,29,1,59,59],
+          '1986092717:00:00','1986092802:00:00','1987032816:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,17,0,0],[1987,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1987,9,26,16,59,59],[1987,9,27,2,59,59],
+          '1987032817:00:00','1987032903:00:00','1987092616:59:59','1987092702:59:59' ],
+        [ [1987,9,26,17,0,0],[1987,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1988,3,26,16,59,59],[1988,3,27,1,59,59],
+          '1987092617:00:00','1987092702:00:00','1988032616:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,17,0,0],[1988,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1988,9,24,16,59,59],[1988,9,25,2,59,59],
+          '1988032617:00:00','1988032703:00:00','1988092416:59:59','1988092502:59:59' ],
+        [ [1988,9,24,17,0,0],[1988,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1989,3,25,16,59,59],[1989,3,26,1,59,59],
+          '1988092417:00:00','1988092502:00:00','1989032516:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,17,0,0],[1989,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1989,9,23,16,59,59],[1989,9,24,2,59,59],
+          '1989032517:00:00','1989032603:00:00','1989092316:59:59','1989092402:59:59' ],
+        [ [1989,9,23,17,0,0],[1989,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1990,3,24,16,59,59],[1990,3,25,1,59,59],
+          '1989092317:00:00','1989092402:00:00','1990032416:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,17,0,0],[1990,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1990,9,29,16,59,59],[1990,9,30,2,59,59],
+          '1990032417:00:00','1990032503:00:00','1990092916:59:59','1990093002:59:59' ],
+        [ [1990,9,29,17,0,0],[1990,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1991,3,30,16,59,59],[1991,3,31,1,59,59],
+          '1990092917:00:00','1990093002:00:00','1991033016:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,17,0,0],[1991,3,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1991,9,28,17,59,59],[1991,9,29,2,59,59],
+          '1991033017:00:00','1991033102:00:00','1991092817:59:59','1991092902:59:59' ],
+        [ [1991,9,28,18,0,0],[1991,9,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1992,1,18,17,59,59],[1992,1,19,1,59,59],
+          '1991092818:00:00','1991092902:00:00','1992011817:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,18,0,0],[1992,1,19,3,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1992,3,28,16,59,59],[1992,3,29,1,59,59],
+          '1992011818:00:00','1992011903:00:00','1992032816:59:59','1992032901:59:59' ],
+        [ [1992,3,28,17,0,0],[1992,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1992,9,26,16,59,59],[1992,9,27,2,59,59],
+          '1992032817:00:00','1992032903:00:00','1992092616:59:59','1992092702:59:59' ],
+        [ [1992,9,26,17,0,0],[1992,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1993,3,27,16,59,59],[1993,3,28,1,59,59],
+          '1992092617:00:00','1992092702:00:00','1993032716:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,17,0,0],[1993,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1993,9,25,16,59,59],[1993,9,26,2,59,59],
+          '1993032717:00:00','1993032803:00:00','1993092516:59:59','1993092602:59:59' ],
+        [ [1993,9,25,17,0,0],[1993,9,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1994,3,26,16,59,59],[1994,3,27,1,59,59],
+          '1993092517:00:00','1993092602:00:00','1994032616:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,17,0,0],[1994,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1994,9,24,16,59,59],[1994,9,25,2,59,59],
+          '1994032617:00:00','1994032703:00:00','1994092416:59:59','1994092502:59:59' ],
+        [ [1994,9,24,17,0,0],[1994,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1995,3,25,16,59,59],[1995,3,26,1,59,59],
+          '1994092417:00:00','1994092502:00:00','1995032516:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,17,0,0],[1995,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1995,9,23,16,59,59],[1995,9,24,2,59,59],
+          '1995032517:00:00','1995032603:00:00','1995092316:59:59','1995092402:59:59' ],
+        [ [1995,9,23,17,0,0],[1995,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1996,3,30,16,59,59],[1996,3,31,1,59,59],
+          '1995092317:00:00','1995092402:00:00','1996033016:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,17,0,0],[1996,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1996,10,26,16,59,59],[1996,10,27,2,59,59],
+          '1996033017:00:00','1996033103:00:00','1996102616:59:59','1996102702:59:59' ],
+        [ [1996,10,26,17,0,0],[1996,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1997,3,29,16,59,59],[1997,3,30,1,59,59],
+          '1996102617:00:00','1996102702:00:00','1997032916:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,17,0,0],[1997,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1997,10,25,16,59,59],[1997,10,26,2,59,59],
+          '1997032917:00:00','1997033003:00:00','1997102516:59:59','1997102602:59:59' ],
+        [ [1997,10,25,17,0,0],[1997,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1998,3,28,16,59,59],[1998,3,29,1,59,59],
+          '1997102517:00:00','1997102602:00:00','1998032816:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,17,0,0],[1998,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1998,10,24,16,59,59],[1998,10,25,2,59,59],
+          '1998032817:00:00','1998032903:00:00','1998102416:59:59','1998102502:59:59' ],
+        [ [1998,10,24,17,0,0],[1998,10,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1999,3,27,16,59,59],[1999,3,28,1,59,59],
+          '1998102417:00:00','1998102502:00:00','1999032716:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,17,0,0],[1999,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1999,10,30,16,59,59],[1999,10,31,2,59,59],
+          '1999032717:00:00','1999032803:00:00','1999103016:59:59','1999103102:59:59' ],
+        [ [1999,10,30,17,0,0],[1999,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2000,3,25,16,59,59],[2000,3,26,1,59,59],
+          '1999103017:00:00','1999103102:00:00','2000032516:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,17,0,0],[2000,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2000,10,28,16,59,59],[2000,10,29,2,59,59],
+          '2000032517:00:00','2000032603:00:00','2000102816:59:59','2000102902:59:59' ],
+        [ [2000,10,28,17,0,0],[2000,10,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2001,3,24,16,59,59],[2001,3,25,1,59,59],
+          '2000102817:00:00','2000102902:00:00','2001032416:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,17,0,0],[2001,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2001,10,27,16,59,59],[2001,10,28,2,59,59],
+          '2001032417:00:00','2001032503:00:00','2001102716:59:59','2001102802:59:59' ],
+        [ [2001,10,27,17,0,0],[2001,10,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2002,3,30,16,59,59],[2002,3,31,1,59,59],
+          '2001102717:00:00','2001102802:00:00','2002033016:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,17,0,0],[2002,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2002,10,26,16,59,59],[2002,10,27,2,59,59],
+          '2002033017:00:00','2002033103:00:00','2002102616:59:59','2002102702:59:59' ],
+        [ [2002,10,26,17,0,0],[2002,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2003,3,29,16,59,59],[2003,3,30,1,59,59],
+          '2002102617:00:00','2002102702:00:00','2003032916:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,17,0,0],[2003,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2003,10,25,16,59,59],[2003,10,26,2,59,59],
+          '2003032917:00:00','2003033003:00:00','2003102516:59:59','2003102602:59:59' ],
+        [ [2003,10,25,17,0,0],[2003,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2004,3,27,16,59,59],[2004,3,28,1,59,59],
+          '2003102517:00:00','2003102602:00:00','2004032716:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,17,0,0],[2004,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2004,10,30,16,59,59],[2004,10,31,2,59,59],
+          '2004032717:00:00','2004032803:00:00','2004103016:59:59','2004103102:59:59' ],
+        [ [2004,10,30,17,0,0],[2004,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2005,3,26,16,59,59],[2005,3,27,1,59,59],
+          '2004103017:00:00','2004103102:00:00','2005032616:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,17,0,0],[2005,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2005,10,29,16,59,59],[2005,10,30,2,59,59],
+          '2005032617:00:00','2005032703:00:00','2005102916:59:59','2005103002:59:59' ],
+        [ [2005,10,29,17,0,0],[2005,10,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2006,3,25,16,59,59],[2006,3,26,1,59,59],
+          '2005102917:00:00','2005103002:00:00','2006032516:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,17,0,0],[2006,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2006,10,28,16,59,59],[2006,10,29,2,59,59],
+          '2006032517:00:00','2006032603:00:00','2006102816:59:59','2006102902:59:59' ],
+        [ [2006,10,28,17,0,0],[2006,10,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2007,3,24,16,59,59],[2007,3,25,1,59,59],
+          '2006102817:00:00','2006102902:00:00','2007032416:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,17,0,0],[2007,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2007,10,27,16,59,59],[2007,10,28,2,59,59],
+          '2007032417:00:00','2007032503:00:00','2007102716:59:59','2007102802:59:59' ],
+        [ [2007,10,27,17,0,0],[2007,10,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2008,3,29,16,59,59],[2008,3,30,1,59,59],
+          '2007102717:00:00','2007102802:00:00','2008032916:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,17,0,0],[2008,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2008,10,25,16,59,59],[2008,10,26,2,59,59],
+          '2008032917:00:00','2008033003:00:00','2008102516:59:59','2008102602:59:59' ],
+        [ [2008,10,25,17,0,0],[2008,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2009,3,28,16,59,59],[2009,3,29,1,59,59],
+          '2008102517:00:00','2008102602:00:00','2009032816:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,17,0,0],[2009,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2009,10,24,16,59,59],[2009,10,25,2,59,59],
+          '2009032817:00:00','2009032903:00:00','2009102416:59:59','2009102502:59:59' ],
+        [ [2009,10,24,17,0,0],[2009,10,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2010,3,27,16,59,59],[2010,3,28,1,59,59],
+          '2009102417:00:00','2009102502:00:00','2010032716:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,17,0,0],[2010,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2010,10,30,16,59,59],[2010,10,31,2,59,59],
+          '2010032717:00:00','2010032803:00:00','2010103016:59:59','2010103102:59:59' ],
+        [ [2010,10,30,17,0,0],[2010,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2011,3,26,16,59,59],[2011,3,27,1,59,59],
+          '2010103017:00:00','2010103102:00:00','2011032616:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,17,0,0],[2011,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2014,10,25,15,59,59],[2014,10,26,1,59,59],
+          '2011032617:00:00','2011032703:00:00','2014102515:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,16,0,0],[2014,10,26,0,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2016,3,26,17,59,59],[2016,3,27,1,59,59],
+          '2014102516:00:00','2014102600:00:00','2016032617:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,18,0,0],[2016,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '2016032618:00:00','2016032703:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aschoi00.pm b/lib/Date/Manip/TZ/aschoi00.pm
new file mode 100644
index 0000000..62e77c1
--- /dev/null
+++ b/lib/Date/Manip/TZ/aschoi00.pm
@@ -0,0 +1,277 @@
+package #
+Date::Manip::TZ::aschoi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,38,0],'+07:38:00',[7,38,0],
+          'LMT',0,[1905,7,31,16,21,59],[1905,7,31,23,59,59],
+          '0001010200:00:00','0001010207:38:00','1905073116:21:59','1905073123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,7,31,16,22,0],[1905,7,31,23,22,0],'+07:00:00',[7,0,0],
+          '+07',0,[1977,12,31,16,59,59],[1977,12,31,23,59,59],
+          '1905073116:22:00','1905073123:22:00','1977123116:59:59','1977123123:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,12,31,17,0,0],[1978,1,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1983,3,31,15,59,59],[1983,3,31,23,59,59],
+          '1977123117:00:00','1978010101:00:00','1983033115:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,16,0,0],[1983,4,1,2,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1983,9,30,13,59,59],[1983,9,30,23,59,59],
+          '1983033116:00:00','1983040102:00:00','1983093013:59:59','1983093023:59:59' ],
+        [ [1983,9,30,14,0,0],[1983,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1984,3,31,14,59,59],[1984,3,31,23,59,59],
+          '1983093014:00:00','1983093023:00:00','1984033114:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,15,0,0],[1984,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1984,9,29,13,59,59],[1984,9,29,23,59,59],
+          '1984033115:00:00','1984040101:00:00','1984092913:59:59','1984092923:59:59' ],
+        [ [1984,9,29,14,0,0],[1984,9,29,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1985,3,30,14,59,59],[1985,3,30,23,59,59],
+          '1984092914:00:00','1984092923:00:00','1985033014:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,15,0,0],[1985,3,31,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1985,9,28,13,59,59],[1985,9,28,23,59,59],
+          '1985033015:00:00','1985033101:00:00','1985092813:59:59','1985092823:59:59' ],
+        [ [1985,9,28,14,0,0],[1985,9,28,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1986,3,29,14,59,59],[1986,3,29,23,59,59],
+          '1985092814:00:00','1985092823:00:00','1986032914:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,15,0,0],[1986,3,30,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1986,9,27,13,59,59],[1986,9,27,23,59,59],
+          '1986032915:00:00','1986033001:00:00','1986092713:59:59','1986092723:59:59' ],
+        [ [1986,9,27,14,0,0],[1986,9,27,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1987,3,28,14,59,59],[1987,3,28,23,59,59],
+          '1986092714:00:00','1986092723:00:00','1987032814:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,15,0,0],[1987,3,29,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1987,9,26,13,59,59],[1987,9,26,23,59,59],
+          '1987032815:00:00','1987032901:00:00','1987092613:59:59','1987092623:59:59' ],
+        [ [1987,9,26,14,0,0],[1987,9,26,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1988,3,26,14,59,59],[1988,3,26,23,59,59],
+          '1987092614:00:00','1987092623:00:00','1988032614:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,15,0,0],[1988,3,27,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1988,9,24,13,59,59],[1988,9,24,23,59,59],
+          '1988032615:00:00','1988032701:00:00','1988092413:59:59','1988092423:59:59' ],
+        [ [1988,9,24,14,0,0],[1988,9,24,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1989,3,25,14,59,59],[1989,3,25,23,59,59],
+          '1988092414:00:00','1988092423:00:00','1989032514:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,15,0,0],[1989,3,26,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1989,9,23,13,59,59],[1989,9,23,23,59,59],
+          '1989032515:00:00','1989032601:00:00','1989092313:59:59','1989092323:59:59' ],
+        [ [1989,9,23,14,0,0],[1989,9,23,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1990,3,24,14,59,59],[1990,3,24,23,59,59],
+          '1989092314:00:00','1989092323:00:00','1990032414:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,15,0,0],[1990,3,25,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1990,9,29,13,59,59],[1990,9,29,23,59,59],
+          '1990032415:00:00','1990032501:00:00','1990092913:59:59','1990092923:59:59' ],
+        [ [1990,9,29,14,0,0],[1990,9,29,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1991,3,30,14,59,59],[1991,3,30,23,59,59],
+          '1990092914:00:00','1990092923:00:00','1991033014:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,15,0,0],[1991,3,31,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1991,9,28,13,59,59],[1991,9,28,23,59,59],
+          '1991033015:00:00','1991033101:00:00','1991092813:59:59','1991092823:59:59' ],
+        [ [1991,9,28,14,0,0],[1991,9,28,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1992,3,28,14,59,59],[1992,3,28,23,59,59],
+          '1991092814:00:00','1991092823:00:00','1992032814:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,15,0,0],[1992,3,29,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1992,9,26,13,59,59],[1992,9,26,23,59,59],
+          '1992032815:00:00','1992032901:00:00','1992092613:59:59','1992092623:59:59' ],
+        [ [1992,9,26,14,0,0],[1992,9,26,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1993,3,27,14,59,59],[1993,3,27,23,59,59],
+          '1992092614:00:00','1992092623:00:00','1993032714:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,15,0,0],[1993,3,28,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1993,9,25,13,59,59],[1993,9,25,23,59,59],
+          '1993032715:00:00','1993032801:00:00','1993092513:59:59','1993092523:59:59' ],
+        [ [1993,9,25,14,0,0],[1993,9,25,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1994,3,26,14,59,59],[1994,3,26,23,59,59],
+          '1993092514:00:00','1993092523:00:00','1994032614:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,15,0,0],[1994,3,27,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1994,9,24,13,59,59],[1994,9,24,23,59,59],
+          '1994032615:00:00','1994032701:00:00','1994092413:59:59','1994092423:59:59' ],
+        [ [1994,9,24,14,0,0],[1994,9,24,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1995,3,25,14,59,59],[1995,3,25,23,59,59],
+          '1994092414:00:00','1994092423:00:00','1995032514:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,15,0,0],[1995,3,26,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1995,9,23,13,59,59],[1995,9,23,23,59,59],
+          '1995032515:00:00','1995032601:00:00','1995092313:59:59','1995092323:59:59' ],
+        [ [1995,9,23,14,0,0],[1995,9,23,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1996,3,30,14,59,59],[1996,3,30,23,59,59],
+          '1995092314:00:00','1995092323:00:00','1996033014:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1996,9,28,13,59,59],[1996,9,28,23,59,59],
+          '1996033015:00:00','1996033101:00:00','1996092813:59:59','1996092823:59:59' ],
+        [ [1996,9,28,14,0,0],[1996,9,28,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1997,3,29,14,59,59],[1997,3,29,23,59,59],
+          '1996092814:00:00','1996092823:00:00','1997032914:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1997,9,27,13,59,59],[1997,9,27,23,59,59],
+          '1997032915:00:00','1997033001:00:00','1997092713:59:59','1997092723:59:59' ],
+        [ [1997,9,27,14,0,0],[1997,9,27,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1998,3,28,14,59,59],[1998,3,28,23,59,59],
+          '1997092714:00:00','1997092723:00:00','1998032814:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,15,0,0],[1998,3,29,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1998,9,26,13,59,59],[1998,9,26,23,59,59],
+          '1998032815:00:00','1998032901:00:00','1998092613:59:59','1998092623:59:59' ],
+        [ [1998,9,26,14,0,0],[1998,9,26,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2001,4,27,16,59,59],[2001,4,28,1,59,59],
+          '1998092614:00:00','1998092623:00:00','2001042716:59:59','2001042801:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,27,17,0,0],[2001,4,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2001,9,28,15,59,59],[2001,9,29,1,59,59],
+          '2001042717:00:00','2001042803:00:00','2001092815:59:59','2001092901:59:59' ],
+        [ [2001,9,28,16,0,0],[2001,9,29,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2002,3,29,16,59,59],[2002,3,30,1,59,59],
+          '2001092816:00:00','2001092901:00:00','2002032916:59:59','2002033001:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,29,17,0,0],[2002,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2002,9,27,15,59,59],[2002,9,28,1,59,59],
+          '2002032917:00:00','2002033003:00:00','2002092715:59:59','2002092801:59:59' ],
+        [ [2002,9,27,16,0,0],[2002,9,28,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2003,3,28,16,59,59],[2003,3,29,1,59,59],
+          '2002092716:00:00','2002092801:00:00','2003032816:59:59','2003032901:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,28,17,0,0],[2003,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2003,9,26,15,59,59],[2003,9,27,1,59,59],
+          '2003032817:00:00','2003032903:00:00','2003092615:59:59','2003092701:59:59' ],
+        [ [2003,9,26,16,0,0],[2003,9,27,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2004,3,26,16,59,59],[2004,3,27,1,59,59],
+          '2003092616:00:00','2003092701:00:00','2004032616:59:59','2004032701:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,26,17,0,0],[2004,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2004,9,24,15,59,59],[2004,9,25,1,59,59],
+          '2004032617:00:00','2004032703:00:00','2004092415:59:59','2004092501:59:59' ],
+        [ [2004,9,24,16,0,0],[2004,9,25,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2005,3,25,16,59,59],[2005,3,26,1,59,59],
+          '2004092416:00:00','2004092501:00:00','2005032516:59:59','2005032601:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,25,17,0,0],[2005,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2005,9,23,15,59,59],[2005,9,24,1,59,59],
+          '2005032517:00:00','2005032603:00:00','2005092315:59:59','2005092401:59:59' ],
+        [ [2005,9,23,16,0,0],[2005,9,24,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2006,3,24,16,59,59],[2006,3,25,1,59,59],
+          '2005092316:00:00','2005092401:00:00','2006032416:59:59','2006032501:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,24,17,0,0],[2006,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2006,9,29,15,59,59],[2006,9,30,1,59,59],
+          '2006032417:00:00','2006032503:00:00','2006092915:59:59','2006093001:59:59' ],
+        [ [2006,9,29,16,0,0],[2006,9,30,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2008,3,30,14,59,59],[2008,3,30,23,59,59],
+          '2006092916:00:00','2006093001:00:00','2008033014:59:59','2008033023:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,15,0,0],[2008,3,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2015,3,27,17,59,59],[2015,3,28,1,59,59],
+          '2008033015:00:00','2008033023:00:00','2015032717:59:59','2015032801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,18,0,0],[2015,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2015,9,25,14,59,59],[2015,9,25,23,59,59],
+          '2015032718:00:00','2015032803:00:00','2015092514:59:59','2015092523:59:59' ],
+        [ [2015,9,25,15,0,0],[2015,9,25,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2016,3,25,17,59,59],[2016,3,26,1,59,59],
+          '2015092515:00:00','2015092523:00:00','2016032517:59:59','2016032601:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,18,0,0],[2016,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2016,9,23,14,59,59],[2016,9,23,23,59,59],
+          '2016032518:00:00','2016032603:00:00','2016092314:59:59','2016092323:59:59' ],
+        [ [2016,9,23,15,0,0],[2016,9,23,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '2016092315:00:00','2016092323:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ascolo00.pm b/lib/Date/Manip/TZ/ascolo00.pm
new file mode 100644
index 0000000..7641afd
--- /dev/null
+++ b/lib/Date/Manip/TZ/ascolo00.pm
@@ -0,0 +1,85 @@
+package #
+Date::Manip::TZ::ascolo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,19,24],'+05:19:24',[5,19,24],
+          'LMT',0,[1879,12,31,18,40,35],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010205:19:24','1879123118:40:35','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,18,40,36],[1880,1,1,0,0,8],'+05:19:32',[5,19,32],
+          'MMT',0,[1905,12,31,18,40,27],[1905,12,31,23,59,59],
+          '1879123118:40:36','1880010100:00:08','1905123118:40:27','1905123123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,12,31,18,40,28],[1906,1,1,0,10,28],'+05:30:00',[5,30,0],
+          '+0530',0,[1942,1,4,18,29,59],[1942,1,4,23,59,59],
+          '1905123118:40:28','1906010100:10:28','1942010418:29:59','1942010423:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,1,4,18,30,0],[1942,1,5,0,30,0],'+06:00:00',[6,0,0],
+          '+06',1,[1942,8,31,17,59,59],[1942,8,31,23,59,59],
+          '1942010418:30:00','1942010500:30:00','1942083117:59:59','1942083123:59:59' ],
+        [ [1942,8,31,18,0,0],[1942,9,1,0,30,0],'+06:30:00',[6,30,0],
+          '+0630',1,[1945,10,15,19,29,59],[1945,10,16,1,59,59],
+          '1942083118:00:00','1942090100:30:00','1945101519:29:59','1945101601:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,10,15,19,30,0],[1945,10,16,1,0,0],'+05:30:00',[5,30,0],
+          '+0530',0,[1996,5,24,18,29,59],[1996,5,24,23,59,59],
+          '1945101519:30:00','1945101601:00:00','1996052418:29:59','1996052423:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,5,24,18,30,0],[1996,5,25,1,0,0],'+06:30:00',[6,30,0],
+          '+0630',0,[1996,10,25,17,59,59],[1996,10,26,0,29,59],
+          '1996052418:30:00','1996052501:00:00','1996102517:59:59','1996102600:29:59' ],
+        [ [1996,10,25,18,0,0],[1996,10,26,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2006,4,14,18,29,59],[2006,4,15,0,29,59],
+          '1996102518:00:00','1996102600:00:00','2006041418:29:59','2006041500:29:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,14,18,30,0],[2006,4,15,0,0,0],'+05:30:00',[5,30,0],
+          '+0530',0,[9999,12,31,0,0,0],[9999,12,31,5,30,0],
+          '2006041418:30:00','2006041500:00:00','9999123100:00:00','9999123105:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asdama00.pm b/lib/Date/Manip/TZ/asdama00.pm
new file mode 100644
index 0000000..8016933
--- /dev/null
+++ b/lib/Date/Manip/TZ/asdama00.pm
@@ -0,0 +1,1018 @@
+package #
+Date::Manip::TZ::asdama00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,25,12],'+02:25:12',[2,25,12],
+          'LMT',0,[1919,12,31,21,34,47],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010202:25:12','1919123121:34:47','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,21,34,48],[1919,12,31,23,34,48],'+02:00:00',[2,0,0],
+          'EET',0,[1920,4,17,23,59,59],[1920,4,18,1,59,59],
+          '1919123121:34:48','1919123123:34:48','1920041723:59:59','1920041801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,4,18,0,0,0],[1920,4,18,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1920,10,2,22,59,59],[1920,10,3,1,59,59],
+          '1920041800:00:00','1920041803:00:00','1920100222:59:59','1920100301:59:59' ],
+        [ [1920,10,2,23,0,0],[1920,10,3,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1921,4,16,23,59,59],[1921,4,17,1,59,59],
+          '1920100223:00:00','1920100301:00:00','1921041623:59:59','1921041701:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,17,0,0,0],[1921,4,17,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1921,10,1,22,59,59],[1921,10,2,1,59,59],
+          '1921041700:00:00','1921041703:00:00','1921100122:59:59','1921100201:59:59' ],
+        [ [1921,10,1,23,0,0],[1921,10,2,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1922,4,15,23,59,59],[1922,4,16,1,59,59],
+          '1921100123:00:00','1921100201:00:00','1922041523:59:59','1922041601:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,4,16,0,0,0],[1922,4,16,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1922,9,30,22,59,59],[1922,10,1,1,59,59],
+          '1922041600:00:00','1922041603:00:00','1922093022:59:59','1922100101:59:59' ],
+        [ [1922,9,30,23,0,0],[1922,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1923,4,14,23,59,59],[1923,4,15,1,59,59],
+          '1922093023:00:00','1922100101:00:00','1923041423:59:59','1923041501:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,15,0,0,0],[1923,4,15,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1923,10,6,22,59,59],[1923,10,7,1,59,59],
+          '1923041500:00:00','1923041503:00:00','1923100622:59:59','1923100701:59:59' ],
+        [ [1923,10,6,23,0,0],[1923,10,7,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1962,4,28,23,59,59],[1962,4,29,1,59,59],
+          '1923100623:00:00','1923100701:00:00','1962042823:59:59','1962042901:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,29,0,0,0],[1962,4,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1962,9,30,22,59,59],[1962,10,1,1,59,59],
+          '1962042900:00:00','1962042903:00:00','1962093022:59:59','1962100101:59:59' ],
+        [ [1962,9,30,23,0,0],[1962,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1963,4,30,23,59,59],[1963,5,1,1,59,59],
+          '1962093023:00:00','1962100101:00:00','1963043023:59:59','1963050101:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,5,1,0,0,0],[1963,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1963,9,29,22,59,59],[1963,9,30,1,59,59],
+          '1963050100:00:00','1963050103:00:00','1963092922:59:59','1963093001:59:59' ],
+        [ [1963,9,29,23,0,0],[1963,9,30,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1964,4,30,23,59,59],[1964,5,1,1,59,59],
+          '1963092923:00:00','1963093001:00:00','1964043023:59:59','1964050101:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,5,1,0,0,0],[1964,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1964,9,30,22,59,59],[1964,10,1,1,59,59],
+          '1964050100:00:00','1964050103:00:00','1964093022:59:59','1964100101:59:59' ],
+        [ [1964,9,30,23,0,0],[1964,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1965,4,30,23,59,59],[1965,5,1,1,59,59],
+          '1964093023:00:00','1964100101:00:00','1965043023:59:59','1965050101:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,5,1,0,0,0],[1965,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1965,9,29,22,59,59],[1965,9,30,1,59,59],
+          '1965050100:00:00','1965050103:00:00','1965092922:59:59','1965093001:59:59' ],
+        [ [1965,9,29,23,0,0],[1965,9,30,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1966,4,23,23,59,59],[1966,4,24,1,59,59],
+          '1965092923:00:00','1965093001:00:00','1966042323:59:59','1966042401:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,24,0,0,0],[1966,4,24,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1966,9,30,22,59,59],[1966,10,1,1,59,59],
+          '1966042400:00:00','1966042403:00:00','1966093022:59:59','1966100101:59:59' ],
+        [ [1966,9,30,23,0,0],[1966,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1967,4,30,23,59,59],[1967,5,1,1,59,59],
+          '1966093023:00:00','1966100101:00:00','1967043023:59:59','1967050101:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,5,1,0,0,0],[1967,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1967,9,30,22,59,59],[1967,10,1,1,59,59],
+          '1967050100:00:00','1967050103:00:00','1967093022:59:59','1967100101:59:59' ],
+        [ [1967,9,30,23,0,0],[1967,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1968,4,30,23,59,59],[1968,5,1,1,59,59],
+          '1967093023:00:00','1967100101:00:00','1968043023:59:59','1968050101:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,5,1,0,0,0],[1968,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1968,9,30,22,59,59],[1968,10,1,1,59,59],
+          '1968050100:00:00','1968050103:00:00','1968093022:59:59','1968100101:59:59' ],
+        [ [1968,9,30,23,0,0],[1968,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1969,4,30,23,59,59],[1969,5,1,1,59,59],
+          '1968093023:00:00','1968100101:00:00','1969043023:59:59','1969050101:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,5,1,0,0,0],[1969,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1969,9,30,22,59,59],[1969,10,1,1,59,59],
+          '1969050100:00:00','1969050103:00:00','1969093022:59:59','1969100101:59:59' ],
+        [ [1969,9,30,23,0,0],[1969,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1970,4,30,23,59,59],[1970,5,1,1,59,59],
+          '1969093023:00:00','1969100101:00:00','1970043023:59:59','1970050101:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,5,1,0,0,0],[1970,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1970,9,30,22,59,59],[1970,10,1,1,59,59],
+          '1970050100:00:00','1970050103:00:00','1970093022:59:59','1970100101:59:59' ],
+        [ [1970,9,30,23,0,0],[1970,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1971,4,30,23,59,59],[1971,5,1,1,59,59],
+          '1970093023:00:00','1970100101:00:00','1971043023:59:59','1971050101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,5,1,0,0,0],[1971,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1971,9,30,22,59,59],[1971,10,1,1,59,59],
+          '1971050100:00:00','1971050103:00:00','1971093022:59:59','1971100101:59:59' ],
+        [ [1971,9,30,23,0,0],[1971,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1972,4,30,23,59,59],[1972,5,1,1,59,59],
+          '1971093023:00:00','1971100101:00:00','1972043023:59:59','1972050101:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,5,1,0,0,0],[1972,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1972,9,30,22,59,59],[1972,10,1,1,59,59],
+          '1972050100:00:00','1972050103:00:00','1972093022:59:59','1972100101:59:59' ],
+        [ [1972,9,30,23,0,0],[1972,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1973,4,30,23,59,59],[1973,5,1,1,59,59],
+          '1972093023:00:00','1972100101:00:00','1973043023:59:59','1973050101:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,5,1,0,0,0],[1973,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1973,9,30,22,59,59],[1973,10,1,1,59,59],
+          '1973050100:00:00','1973050103:00:00','1973093022:59:59','1973100101:59:59' ],
+        [ [1973,9,30,23,0,0],[1973,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1974,4,30,23,59,59],[1974,5,1,1,59,59],
+          '1973093023:00:00','1973100101:00:00','1974043023:59:59','1974050101:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,5,1,0,0,0],[1974,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1974,9,30,22,59,59],[1974,10,1,1,59,59],
+          '1974050100:00:00','1974050103:00:00','1974093022:59:59','1974100101:59:59' ],
+        [ [1974,9,30,23,0,0],[1974,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,30,23,59,59],[1975,5,1,1,59,59],
+          '1974093023:00:00','1974100101:00:00','1975043023:59:59','1975050101:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,5,1,0,0,0],[1975,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,9,30,22,59,59],[1975,10,1,1,59,59],
+          '1975050100:00:00','1975050103:00:00','1975093022:59:59','1975100101:59:59' ],
+        [ [1975,9,30,23,0,0],[1975,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,4,30,23,59,59],[1976,5,1,1,59,59],
+          '1975093023:00:00','1975100101:00:00','1976043023:59:59','1976050101:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,1,0,0,0],[1976,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,9,30,22,59,59],[1976,10,1,1,59,59],
+          '1976050100:00:00','1976050103:00:00','1976093022:59:59','1976100101:59:59' ],
+        [ [1976,9,30,23,0,0],[1976,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,30,23,59,59],[1977,5,1,1,59,59],
+          '1976093023:00:00','1976100101:00:00','1977043023:59:59','1977050101:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,1,0,0,0],[1977,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,8,31,22,59,59],[1977,9,1,1,59,59],
+          '1977050100:00:00','1977050103:00:00','1977083122:59:59','1977090101:59:59' ],
+        [ [1977,8,31,23,0,0],[1977,9,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,30,23,59,59],[1978,5,1,1,59,59],
+          '1977083123:00:00','1977090101:00:00','1978043023:59:59','1978050101:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,5,1,0,0,0],[1978,5,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,8,31,22,59,59],[1978,9,1,1,59,59],
+          '1978050100:00:00','1978050103:00:00','1978083122:59:59','1978090101:59:59' ],
+        [ [1978,8,31,23,0,0],[1978,9,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,4,8,23,59,59],[1983,4,9,1,59,59],
+          '1978083123:00:00','1978090101:00:00','1983040823:59:59','1983040901:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,9,0,0,0],[1983,4,9,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,30,22,59,59],[1983,10,1,1,59,59],
+          '1983040900:00:00','1983040903:00:00','1983093022:59:59','1983100101:59:59' ],
+        [ [1983,9,30,23,0,0],[1983,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,4,8,23,59,59],[1984,4,9,1,59,59],
+          '1983093023:00:00','1983100101:00:00','1984040823:59:59','1984040901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,9,0,0,0],[1984,4,9,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,30,22,59,59],[1984,10,1,1,59,59],
+          '1984040900:00:00','1984040903:00:00','1984093022:59:59','1984100101:59:59' ],
+        [ [1984,9,30,23,0,0],[1984,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,2,15,23,59,59],[1986,2,16,1,59,59],
+          '1984093023:00:00','1984100101:00:00','1986021523:59:59','1986021601:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,2,16,0,0,0],[1986,2,16,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,10,8,22,59,59],[1986,10,9,1,59,59],
+          '1986021600:00:00','1986021603:00:00','1986100822:59:59','1986100901:59:59' ],
+        [ [1986,10,8,23,0,0],[1986,10,9,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,2,28,23,59,59],[1987,3,1,1,59,59],
+          '1986100823:00:00','1986100901:00:00','1987022823:59:59','1987030101:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,1,0,0,0],[1987,3,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,10,30,22,59,59],[1987,10,31,1,59,59],
+          '1987030100:00:00','1987030103:00:00','1987103022:59:59','1987103101:59:59' ],
+        [ [1987,10,30,23,0,0],[1987,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,14,23,59,59],[1988,3,15,1,59,59],
+          '1987103023:00:00','1987103101:00:00','1988031423:59:59','1988031501:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,15,0,0,0],[1988,3,15,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,10,30,22,59,59],[1988,10,31,1,59,59],
+          '1988031500:00:00','1988031503:00:00','1988103022:59:59','1988103101:59:59' ],
+        [ [1988,10,30,23,0,0],[1988,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,30,23,59,59],[1989,3,31,1,59,59],
+          '1988103023:00:00','1988103101:00:00','1989033023:59:59','1989033101:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,31,0,0,0],[1989,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,30,22,59,59],[1989,10,1,1,59,59],
+          '1989033100:00:00','1989033103:00:00','1989093022:59:59','1989100101:59:59' ],
+        [ [1989,9,30,23,0,0],[1989,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,31,23,59,59],[1990,4,1,1,59,59],
+          '1989093023:00:00','1989100101:00:00','1990033123:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,0,0,0],[1990,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,22,59,59],[1990,9,30,1,59,59],
+          '1990040100:00:00','1990040103:00:00','1990092922:59:59','1990093001:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,31,21,59,59],[1991,3,31,23,59,59],
+          '1990092923:00:00','1990093001:00:00','1991033121:59:59','1991033123:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,22,0,0],[1991,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,30,20,59,59],[1991,9,30,23,59,59],
+          '1991033122:00:00','1991040101:00:00','1991093020:59:59','1991093023:59:59' ],
+        [ [1991,9,30,21,0,0],[1991,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,4,7,21,59,59],[1992,4,7,23,59,59],
+          '1991093021:00:00','1991093023:00:00','1992040721:59:59','1992040723:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,7,22,0,0],[1992,4,8,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,30,20,59,59],[1992,9,30,23,59,59],
+          '1992040722:00:00','1992040801:00:00','1992093020:59:59','1992093023:59:59' ],
+        [ [1992,9,30,21,0,0],[1992,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,25,21,59,59],[1993,3,25,23,59,59],
+          '1992093021:00:00','1992093023:00:00','1993032521:59:59','1993032523:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,25,22,0,0],[1993,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,24,20,59,59],[1993,9,24,23,59,59],
+          '1993032522:00:00','1993032601:00:00','1993092420:59:59','1993092423:59:59' ],
+        [ [1993,9,24,21,0,0],[1993,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,31,21,59,59],[1994,3,31,23,59,59],
+          '1993092421:00:00','1993092423:00:00','1994033121:59:59','1994033123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,31,22,0,0],[1994,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,30,20,59,59],[1994,9,30,23,59,59],
+          '1994033122:00:00','1994040101:00:00','1994093020:59:59','1994093023:59:59' ],
+        [ [1994,9,30,21,0,0],[1994,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,31,21,59,59],[1995,3,31,23,59,59],
+          '1994093021:00:00','1994093023:00:00','1995033121:59:59','1995033123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,31,22,0,0],[1995,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,30,20,59,59],[1995,9,30,23,59,59],
+          '1995033122:00:00','1995040101:00:00','1995093020:59:59','1995093023:59:59' ],
+        [ [1995,9,30,21,0,0],[1995,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,21,59,59],[1996,3,31,23,59,59],
+          '1995093021:00:00','1995093023:00:00','1996033121:59:59','1996033123:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,22,0,0],[1996,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,30,20,59,59],[1996,9,30,23,59,59],
+          '1996033122:00:00','1996040101:00:00','1996093020:59:59','1996093023:59:59' ],
+        [ [1996,9,30,21,0,0],[1996,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,21,59,59],[1997,3,30,23,59,59],
+          '1996093021:00:00','1996093023:00:00','1997033021:59:59','1997033023:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,22,0,0],[1997,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,30,20,59,59],[1997,9,30,23,59,59],
+          '1997033022:00:00','1997033101:00:00','1997093020:59:59','1997093023:59:59' ],
+        [ [1997,9,30,21,0,0],[1997,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,21,59,59],[1998,3,29,23,59,59],
+          '1997093021:00:00','1997093023:00:00','1998032921:59:59','1998032923:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,22,0,0],[1998,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,30,20,59,59],[1998,9,30,23,59,59],
+          '1998032922:00:00','1998033001:00:00','1998093020:59:59','1998093023:59:59' ],
+        [ [1998,9,30,21,0,0],[1998,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,31,21,59,59],[1999,3,31,23,59,59],
+          '1998093021:00:00','1998093023:00:00','1999033121:59:59','1999033123:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,31,22,0,0],[1999,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,9,30,20,59,59],[1999,9,30,23,59,59],
+          '1999033122:00:00','1999040101:00:00','1999093020:59:59','1999093023:59:59' ],
+        [ [1999,9,30,21,0,0],[1999,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,31,21,59,59],[2000,3,31,23,59,59],
+          '1999093021:00:00','1999093023:00:00','2000033121:59:59','2000033123:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,31,22,0,0],[2000,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,9,30,20,59,59],[2000,9,30,23,59,59],
+          '2000033122:00:00','2000040101:00:00','2000093020:59:59','2000093023:59:59' ],
+        [ [2000,9,30,21,0,0],[2000,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,31,21,59,59],[2001,3,31,23,59,59],
+          '2000093021:00:00','2000093023:00:00','2001033121:59:59','2001033123:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,31,22,0,0],[2001,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,9,30,20,59,59],[2001,9,30,23,59,59],
+          '2001033122:00:00','2001040101:00:00','2001093020:59:59','2001093023:59:59' ],
+        [ [2001,9,30,21,0,0],[2001,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,21,59,59],[2002,3,31,23,59,59],
+          '2001093021:00:00','2001093023:00:00','2002033121:59:59','2002033123:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,22,0,0],[2002,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,9,30,20,59,59],[2002,9,30,23,59,59],
+          '2002033122:00:00','2002040101:00:00','2002093020:59:59','2002093023:59:59' ],
+        [ [2002,9,30,21,0,0],[2002,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,31,21,59,59],[2003,3,31,23,59,59],
+          '2002093021:00:00','2002093023:00:00','2003033121:59:59','2003033123:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,31,22,0,0],[2003,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,9,30,20,59,59],[2003,9,30,23,59,59],
+          '2003033122:00:00','2003040101:00:00','2003093020:59:59','2003093023:59:59' ],
+        [ [2003,9,30,21,0,0],[2003,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,31,21,59,59],[2004,3,31,23,59,59],
+          '2003093021:00:00','2003093023:00:00','2004033121:59:59','2004033123:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,31,22,0,0],[2004,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,9,30,20,59,59],[2004,9,30,23,59,59],
+          '2004033122:00:00','2004040101:00:00','2004093020:59:59','2004093023:59:59' ],
+        [ [2004,9,30,21,0,0],[2004,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,31,21,59,59],[2005,3,31,23,59,59],
+          '2004093021:00:00','2004093023:00:00','2005033121:59:59','2005033123:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,31,22,0,0],[2005,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,9,30,20,59,59],[2005,9,30,23,59,59],
+          '2005033122:00:00','2005040101:00:00','2005093020:59:59','2005093023:59:59' ],
+        [ [2005,9,30,21,0,0],[2005,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,31,21,59,59],[2006,3,31,23,59,59],
+          '2005093021:00:00','2005093023:00:00','2006033121:59:59','2006033123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,31,22,0,0],[2006,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,9,21,20,59,59],[2006,9,21,23,59,59],
+          '2006033122:00:00','2006040101:00:00','2006092120:59:59','2006092123:59:59' ],
+        [ [2006,9,21,21,0,0],[2006,9,21,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,29,21,59,59],[2007,3,29,23,59,59],
+          '2006092121:00:00','2006092123:00:00','2007032921:59:59','2007032923:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,29,22,0,0],[2007,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,11,1,20,59,59],[2007,11,1,23,59,59],
+          '2007032922:00:00','2007033001:00:00','2007110120:59:59','2007110123:59:59' ],
+        [ [2007,11,1,21,0,0],[2007,11,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,4,3,21,59,59],[2008,4,3,23,59,59],
+          '2007110121:00:00','2007110123:00:00','2008040321:59:59','2008040323:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,3,22,0,0],[2008,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,31,20,59,59],[2008,10,31,23,59,59],
+          '2008040322:00:00','2008040401:00:00','2008103120:59:59','2008103123:59:59' ],
+        [ [2008,10,31,21,0,0],[2008,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,26,21,59,59],[2009,3,26,23,59,59],
+          '2008103121:00:00','2008103123:00:00','2009032621:59:59','2009032623:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,26,22,0,0],[2009,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,29,20,59,59],[2009,10,29,23,59,59],
+          '2009032622:00:00','2009032701:00:00','2009102920:59:59','2009102923:59:59' ],
+        [ [2009,10,29,21,0,0],[2009,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,4,1,21,59,59],[2010,4,1,23,59,59],
+          '2009102921:00:00','2009102923:00:00','2010040121:59:59','2010040123:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,1,22,0,0],[2010,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,28,20,59,59],[2010,10,28,23,59,59],
+          '2010040122:00:00','2010040201:00:00','2010102820:59:59','2010102823:59:59' ],
+        [ [2010,10,28,21,0,0],[2010,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,31,21,59,59],[2011,3,31,23,59,59],
+          '2010102821:00:00','2010102823:00:00','2011033121:59:59','2011033123:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,31,22,0,0],[2011,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,27,20,59,59],[2011,10,27,23,59,59],
+          '2011033122:00:00','2011040101:00:00','2011102720:59:59','2011102723:59:59' ],
+        [ [2011,10,27,21,0,0],[2011,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,29,21,59,59],[2012,3,29,23,59,59],
+          '2011102721:00:00','2011102723:00:00','2012032921:59:59','2012032923:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,29,22,0,0],[2012,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,25,20,59,59],[2012,10,25,23,59,59],
+          '2012032922:00:00','2012033001:00:00','2012102520:59:59','2012102523:59:59' ],
+        [ [2012,10,25,21,0,0],[2012,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,28,21,59,59],[2013,3,28,23,59,59],
+          '2012102521:00:00','2012102523:00:00','2013032821:59:59','2013032823:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,28,22,0,0],[2013,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,24,20,59,59],[2013,10,24,23,59,59],
+          '2013032822:00:00','2013032901:00:00','2013102420:59:59','2013102423:59:59' ],
+        [ [2013,10,24,21,0,0],[2013,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,27,21,59,59],[2014,3,27,23,59,59],
+          '2013102421:00:00','2013102423:00:00','2014032721:59:59','2014032723:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,27,22,0,0],[2014,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,30,20,59,59],[2014,10,30,23,59,59],
+          '2014032722:00:00','2014032801:00:00','2014103020:59:59','2014103023:59:59' ],
+        [ [2014,10,30,21,0,0],[2014,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,26,21,59,59],[2015,3,26,23,59,59],
+          '2014103021:00:00','2014103023:00:00','2015032621:59:59','2015032623:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,26,22,0,0],[2015,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,29,20,59,59],[2015,10,29,23,59,59],
+          '2015032622:00:00','2015032701:00:00','2015102920:59:59','2015102923:59:59' ],
+        [ [2015,10,29,21,0,0],[2015,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,24,21,59,59],[2016,3,24,23,59,59],
+          '2015102921:00:00','2015102923:00:00','2016032421:59:59','2016032423:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,24,22,0,0],[2016,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,27,20,59,59],[2016,10,27,23,59,59],
+          '2016032422:00:00','2016032501:00:00','2016102720:59:59','2016102723:59:59' ],
+        [ [2016,10,27,21,0,0],[2016,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,30,21,59,59],[2017,3,30,23,59,59],
+          '2016102721:00:00','2016102723:00:00','2017033021:59:59','2017033023:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,30,22,0,0],[2017,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,26,20,59,59],[2017,10,26,23,59,59],
+          '2017033022:00:00','2017033101:00:00','2017102620:59:59','2017102623:59:59' ],
+        [ [2017,10,26,21,0,0],[2017,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,29,21,59,59],[2018,3,29,23,59,59],
+          '2017102621:00:00','2017102623:00:00','2018032921:59:59','2018032923:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,29,22,0,0],[2018,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,25,20,59,59],[2018,10,25,23,59,59],
+          '2018032922:00:00','2018033001:00:00','2018102520:59:59','2018102523:59:59' ],
+        [ [2018,10,25,21,0,0],[2018,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,28,21,59,59],[2019,3,28,23,59,59],
+          '2018102521:00:00','2018102523:00:00','2019032821:59:59','2019032823:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,28,22,0,0],[2019,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,24,20,59,59],[2019,10,24,23,59,59],
+          '2019032822:00:00','2019032901:00:00','2019102420:59:59','2019102423:59:59' ],
+        [ [2019,10,24,21,0,0],[2019,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,26,21,59,59],[2020,3,26,23,59,59],
+          '2019102421:00:00','2019102423:00:00','2020032621:59:59','2020032623:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,26,22,0,0],[2020,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,29,20,59,59],[2020,10,29,23,59,59],
+          '2020032622:00:00','2020032701:00:00','2020102920:59:59','2020102923:59:59' ],
+        [ [2020,10,29,21,0,0],[2020,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,25,21,59,59],[2021,3,25,23,59,59],
+          '2020102921:00:00','2020102923:00:00','2021032521:59:59','2021032523:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,25,22,0,0],[2021,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,28,20,59,59],[2021,10,28,23,59,59],
+          '2021032522:00:00','2021032601:00:00','2021102820:59:59','2021102823:59:59' ],
+        [ [2021,10,28,21,0,0],[2021,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,24,21,59,59],[2022,3,24,23,59,59],
+          '2021102821:00:00','2021102823:00:00','2022032421:59:59','2022032423:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,24,22,0,0],[2022,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,27,20,59,59],[2022,10,27,23,59,59],
+          '2022032422:00:00','2022032501:00:00','2022102720:59:59','2022102723:59:59' ],
+        [ [2022,10,27,21,0,0],[2022,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,30,21,59,59],[2023,3,30,23,59,59],
+          '2022102721:00:00','2022102723:00:00','2023033021:59:59','2023033023:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,30,22,0,0],[2023,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,26,20,59,59],[2023,10,26,23,59,59],
+          '2023033022:00:00','2023033101:00:00','2023102620:59:59','2023102623:59:59' ],
+        [ [2023,10,26,21,0,0],[2023,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,28,21,59,59],[2024,3,28,23,59,59],
+          '2023102621:00:00','2023102623:00:00','2024032821:59:59','2024032823:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,28,22,0,0],[2024,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,24,20,59,59],[2024,10,24,23,59,59],
+          '2024032822:00:00','2024032901:00:00','2024102420:59:59','2024102423:59:59' ],
+        [ [2024,10,24,21,0,0],[2024,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,27,21,59,59],[2025,3,27,23,59,59],
+          '2024102421:00:00','2024102423:00:00','2025032721:59:59','2025032723:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,27,22,0,0],[2025,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,30,20,59,59],[2025,10,30,23,59,59],
+          '2025032722:00:00','2025032801:00:00','2025103020:59:59','2025103023:59:59' ],
+        [ [2025,10,30,21,0,0],[2025,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,26,21,59,59],[2026,3,26,23,59,59],
+          '2025103021:00:00','2025103023:00:00','2026032621:59:59','2026032623:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,26,22,0,0],[2026,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,29,20,59,59],[2026,10,29,23,59,59],
+          '2026032622:00:00','2026032701:00:00','2026102920:59:59','2026102923:59:59' ],
+        [ [2026,10,29,21,0,0],[2026,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,25,21,59,59],[2027,3,25,23,59,59],
+          '2026102921:00:00','2026102923:00:00','2027032521:59:59','2027032523:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,25,22,0,0],[2027,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,28,20,59,59],[2027,10,28,23,59,59],
+          '2027032522:00:00','2027032601:00:00','2027102820:59:59','2027102823:59:59' ],
+        [ [2027,10,28,21,0,0],[2027,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,30,21,59,59],[2028,3,30,23,59,59],
+          '2027102821:00:00','2027102823:00:00','2028033021:59:59','2028033023:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,30,22,0,0],[2028,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,26,20,59,59],[2028,10,26,23,59,59],
+          '2028033022:00:00','2028033101:00:00','2028102620:59:59','2028102623:59:59' ],
+        [ [2028,10,26,21,0,0],[2028,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,29,21,59,59],[2029,3,29,23,59,59],
+          '2028102621:00:00','2028102623:00:00','2029032921:59:59','2029032923:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,29,22,0,0],[2029,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,25,20,59,59],[2029,10,25,23,59,59],
+          '2029032922:00:00','2029033001:00:00','2029102520:59:59','2029102523:59:59' ],
+        [ [2029,10,25,21,0,0],[2029,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,28,21,59,59],[2030,3,28,23,59,59],
+          '2029102521:00:00','2029102523:00:00','2030032821:59:59','2030032823:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,28,22,0,0],[2030,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,24,20,59,59],[2030,10,24,23,59,59],
+          '2030032822:00:00','2030032901:00:00','2030102420:59:59','2030102423:59:59' ],
+        [ [2030,10,24,21,0,0],[2030,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,27,21,59,59],[2031,3,27,23,59,59],
+          '2030102421:00:00','2030102423:00:00','2031032721:59:59','2031032723:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,27,22,0,0],[2031,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,30,20,59,59],[2031,10,30,23,59,59],
+          '2031032722:00:00','2031032801:00:00','2031103020:59:59','2031103023:59:59' ],
+        [ [2031,10,30,21,0,0],[2031,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,25,21,59,59],[2032,3,25,23,59,59],
+          '2031103021:00:00','2031103023:00:00','2032032521:59:59','2032032523:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,25,22,0,0],[2032,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,28,20,59,59],[2032,10,28,23,59,59],
+          '2032032522:00:00','2032032601:00:00','2032102820:59:59','2032102823:59:59' ],
+        [ [2032,10,28,21,0,0],[2032,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,24,21,59,59],[2033,3,24,23,59,59],
+          '2032102821:00:00','2032102823:00:00','2033032421:59:59','2033032423:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,24,22,0,0],[2033,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,27,20,59,59],[2033,10,27,23,59,59],
+          '2033032422:00:00','2033032501:00:00','2033102720:59:59','2033102723:59:59' ],
+        [ [2033,10,27,21,0,0],[2033,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,30,21,59,59],[2034,3,30,23,59,59],
+          '2033102721:00:00','2033102723:00:00','2034033021:59:59','2034033023:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,30,22,0,0],[2034,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,26,20,59,59],[2034,10,26,23,59,59],
+          '2034033022:00:00','2034033101:00:00','2034102620:59:59','2034102623:59:59' ],
+        [ [2034,10,26,21,0,0],[2034,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,29,21,59,59],[2035,3,29,23,59,59],
+          '2034102621:00:00','2034102623:00:00','2035032921:59:59','2035032923:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,29,22,0,0],[2035,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,25,20,59,59],[2035,10,25,23,59,59],
+          '2035032922:00:00','2035033001:00:00','2035102520:59:59','2035102523:59:59' ],
+        [ [2035,10,25,21,0,0],[2035,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,27,21,59,59],[2036,3,27,23,59,59],
+          '2035102521:00:00','2035102523:00:00','2036032721:59:59','2036032723:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,27,22,0,0],[2036,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,30,20,59,59],[2036,10,30,23,59,59],
+          '2036032722:00:00','2036032801:00:00','2036103020:59:59','2036103023:59:59' ],
+        [ [2036,10,30,21,0,0],[2036,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,26,21,59,59],[2037,3,26,23,59,59],
+          '2036103021:00:00','2036103023:00:00','2037032621:59:59','2037032623:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,26,22,0,0],[2037,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,29,20,59,59],[2037,10,29,23,59,59],
+          '2037032622:00:00','2037032701:00:00','2037102920:59:59','2037102923:59:59' ],
+        [ [2037,10,29,21,0,0],[2037,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,25,21,59,59],[2038,3,25,23,59,59],
+          '2037102921:00:00','2037102923:00:00','2038032521:59:59','2038032523:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,25,22,0,0],[2038,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,28,20,59,59],[2038,10,28,23,59,59],
+          '2038032522:00:00','2038032601:00:00','2038102820:59:59','2038102823:59:59' ],
+        [ [2038,10,28,21,0,0],[2038,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,24,21,59,59],[2039,3,24,23,59,59],
+          '2038102821:00:00','2038102823:00:00','2039032421:59:59','2039032423:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,24,22,0,0],[2039,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,27,20,59,59],[2039,10,27,23,59,59],
+          '2039032422:00:00','2039032501:00:00','2039102720:59:59','2039102723:59:59' ],
+        [ [2039,10,27,21,0,0],[2039,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,29,21,59,59],[2040,3,29,23,59,59],
+          '2039102721:00:00','2039102723:00:00','2040032921:59:59','2040032923:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,29,22,0,0],[2040,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,25,20,59,59],[2040,10,25,23,59,59],
+          '2040032922:00:00','2040033001:00:00','2040102520:59:59','2040102523:59:59' ],
+        [ [2040,10,25,21,0,0],[2040,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,28,21,59,59],[2041,3,28,23,59,59],
+          '2040102521:00:00','2040102523:00:00','2041032821:59:59','2041032823:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,28,22,0,0],[2041,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,24,20,59,59],[2041,10,24,23,59,59],
+          '2041032822:00:00','2041032901:00:00','2041102420:59:59','2041102423:59:59' ],
+        [ [2041,10,24,21,0,0],[2041,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,27,21,59,59],[2042,3,27,23,59,59],
+          '2041102421:00:00','2041102423:00:00','2042032721:59:59','2042032723:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,27,22,0,0],[2042,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,30,20,59,59],[2042,10,30,23,59,59],
+          '2042032722:00:00','2042032801:00:00','2042103020:59:59','2042103023:59:59' ],
+        [ [2042,10,30,21,0,0],[2042,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,26,21,59,59],[2043,3,26,23,59,59],
+          '2042103021:00:00','2042103023:00:00','2043032621:59:59','2043032623:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,26,22,0,0],[2043,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,29,20,59,59],[2043,10,29,23,59,59],
+          '2043032622:00:00','2043032701:00:00','2043102920:59:59','2043102923:59:59' ],
+        [ [2043,10,29,21,0,0],[2043,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,24,21,59,59],[2044,3,24,23,59,59],
+          '2043102921:00:00','2043102923:00:00','2044032421:59:59','2044032423:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,24,22,0,0],[2044,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,27,20,59,59],[2044,10,27,23,59,59],
+          '2044032422:00:00','2044032501:00:00','2044102720:59:59','2044102723:59:59' ],
+        [ [2044,10,27,21,0,0],[2044,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,30,21,59,59],[2045,3,30,23,59,59],
+          '2044102721:00:00','2044102723:00:00','2045033021:59:59','2045033023:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,30,22,0,0],[2045,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,26,20,59,59],[2045,10,26,23,59,59],
+          '2045033022:00:00','2045033101:00:00','2045102620:59:59','2045102623:59:59' ],
+        [ [2045,10,26,21,0,0],[2045,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,29,21,59,59],[2046,3,29,23,59,59],
+          '2045102621:00:00','2045102623:00:00','2046032921:59:59','2046032923:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,29,22,0,0],[2046,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,25,20,59,59],[2046,10,25,23,59,59],
+          '2046032922:00:00','2046033001:00:00','2046102520:59:59','2046102523:59:59' ],
+        [ [2046,10,25,21,0,0],[2046,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,28,21,59,59],[2047,3,28,23,59,59],
+          '2046102521:00:00','2046102523:00:00','2047032821:59:59','2047032823:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,28,22,0,0],[2047,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,24,20,59,59],[2047,10,24,23,59,59],
+          '2047032822:00:00','2047032901:00:00','2047102420:59:59','2047102423:59:59' ],
+        [ [2047,10,24,21,0,0],[2047,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,26,21,59,59],[2048,3,26,23,59,59],
+          '2047102421:00:00','2047102423:00:00','2048032621:59:59','2048032623:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,26,22,0,0],[2048,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,29,20,59,59],[2048,10,29,23,59,59],
+          '2048032622:00:00','2048032701:00:00','2048102920:59:59','2048102923:59:59' ],
+        [ [2048,10,29,21,0,0],[2048,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,25,21,59,59],[2049,3,25,23,59,59],
+          '2048102921:00:00','2048102923:00:00','2049032521:59:59','2049032523:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,25,22,0,0],[2049,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,28,20,59,59],[2049,10,28,23,59,59],
+          '2049032522:00:00','2049032601:00:00','2049102820:59:59','2049102823:59:59' ],
+        [ [2049,10,28,21,0,0],[2049,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,24,21,59,59],[2050,3,24,23,59,59],
+          '2049102821:00:00','2049102823:00:00','2050032421:59:59','2050032423:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,24,22,0,0],[2050,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,27,20,59,59],[2050,10,27,23,59,59],
+          '2050032422:00:00','2050032501:00:00','2050102720:59:59','2050102723:59:59' ],
+        [ [2050,10,27,21,0,0],[2050,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,30,21,59,59],[2051,3,30,23,59,59],
+          '2050102721:00:00','2050102723:00:00','2051033021:59:59','2051033023:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,30,22,0,0],[2051,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,26,20,59,59],[2051,10,26,23,59,59],
+          '2051033022:00:00','2051033101:00:00','2051102620:59:59','2051102623:59:59' ],
+        [ [2051,10,26,21,0,0],[2051,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,28,21,59,59],[2052,3,28,23,59,59],
+          '2051102621:00:00','2051102623:00:00','2052032821:59:59','2052032823:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,28,22,0,0],[2052,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,24,20,59,59],[2052,10,24,23,59,59],
+          '2052032822:00:00','2052032901:00:00','2052102420:59:59','2052102423:59:59' ],
+        [ [2052,10,24,21,0,0],[2052,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,27,21,59,59],[2053,3,27,23,59,59],
+          '2052102421:00:00','2052102423:00:00','2053032721:59:59','2053032723:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,27,22,0,0],[2053,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,30,20,59,59],[2053,10,30,23,59,59],
+          '2053032722:00:00','2053032801:00:00','2053103020:59:59','2053103023:59:59' ],
+        [ [2053,10,30,21,0,0],[2053,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,26,21,59,59],[2054,3,26,23,59,59],
+          '2053103021:00:00','2053103023:00:00','2054032621:59:59','2054032623:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,26,22,0,0],[2054,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,29,20,59,59],[2054,10,29,23,59,59],
+          '2054032622:00:00','2054032701:00:00','2054102920:59:59','2054102923:59:59' ],
+        [ [2054,10,29,21,0,0],[2054,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,25,21,59,59],[2055,3,25,23,59,59],
+          '2054102921:00:00','2054102923:00:00','2055032521:59:59','2055032523:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,25,22,0,0],[2055,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,28,20,59,59],[2055,10,28,23,59,59],
+          '2055032522:00:00','2055032601:00:00','2055102820:59:59','2055102823:59:59' ],
+        [ [2055,10,28,21,0,0],[2055,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,30,21,59,59],[2056,3,30,23,59,59],
+          '2055102821:00:00','2055102823:00:00','2056033021:59:59','2056033023:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,30,22,0,0],[2056,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,26,20,59,59],[2056,10,26,23,59,59],
+          '2056033022:00:00','2056033101:00:00','2056102620:59:59','2056102623:59:59' ],
+        [ [2056,10,26,21,0,0],[2056,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,29,21,59,59],[2057,3,29,23,59,59],
+          '2056102621:00:00','2056102623:00:00','2057032921:59:59','2057032923:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,29,22,0,0],[2057,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,25,20,59,59],[2057,10,25,23,59,59],
+          '2057032922:00:00','2057033001:00:00','2057102520:59:59','2057102523:59:59' ],
+        [ [2057,10,25,21,0,0],[2057,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,28,21,59,59],[2058,3,28,23,59,59],
+          '2057102521:00:00','2057102523:00:00','2058032821:59:59','2058032823:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,28,22,0,0],[2058,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,24,20,59,59],[2058,10,24,23,59,59],
+          '2058032822:00:00','2058032901:00:00','2058102420:59:59','2058102423:59:59' ],
+        [ [2058,10,24,21,0,0],[2058,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,27,21,59,59],[2059,3,27,23,59,59],
+          '2058102421:00:00','2058102423:00:00','2059032721:59:59','2059032723:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,27,22,0,0],[2059,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,30,20,59,59],[2059,10,30,23,59,59],
+          '2059032722:00:00','2059032801:00:00','2059103020:59:59','2059103023:59:59' ],
+        [ [2059,10,30,21,0,0],[2059,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,25,21,59,59],[2060,3,25,23,59,59],
+          '2059103021:00:00','2059103023:00:00','2060032521:59:59','2060032523:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,25,22,0,0],[2060,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,28,20,59,59],[2060,10,28,23,59,59],
+          '2060032522:00:00','2060032601:00:00','2060102820:59:59','2060102823:59:59' ],
+        [ [2060,10,28,21,0,0],[2060,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,24,21,59,59],[2061,3,24,23,59,59],
+          '2060102821:00:00','2060102823:00:00','2061032421:59:59','2061032423:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,24,22,0,0],[2061,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,27,20,59,59],[2061,10,27,23,59,59],
+          '2061032422:00:00','2061032501:00:00','2061102720:59:59','2061102723:59:59' ],
+        [ [2061,10,27,21,0,0],[2061,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,30,21,59,59],[2062,3,30,23,59,59],
+          '2061102721:00:00','2061102723:00:00','2062033021:59:59','2062033023:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,30,22,0,0],[2062,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,26,20,59,59],[2062,10,26,23,59,59],
+          '2062033022:00:00','2062033101:00:00','2062102620:59:59','2062102623:59:59' ],
+        [ [2062,10,26,21,0,0],[2062,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,29,21,59,59],[2063,3,29,23,59,59],
+          '2062102621:00:00','2062102623:00:00','2063032921:59:59','2063032923:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,29,22,0,0],[2063,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,25,20,59,59],[2063,10,25,23,59,59],
+          '2063032922:00:00','2063033001:00:00','2063102520:59:59','2063102523:59:59' ],
+        [ [2063,10,25,21,0,0],[2063,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,27,21,59,59],[2064,3,27,23,59,59],
+          '2063102521:00:00','2063102523:00:00','2064032721:59:59','2064032723:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,27,22,0,0],[2064,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,30,20,59,59],[2064,10,30,23,59,59],
+          '2064032722:00:00','2064032801:00:00','2064103020:59:59','2064103023:59:59' ],
+        [ [2064,10,30,21,0,0],[2064,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,26,21,59,59],[2065,3,26,23,59,59],
+          '2064103021:00:00','2064103023:00:00','2065032621:59:59','2065032623:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,26,22,0,0],[2065,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,29,20,59,59],[2065,10,29,23,59,59],
+          '2065032622:00:00','2065032701:00:00','2065102920:59:59','2065102923:59:59' ],
+        [ [2065,10,29,21,0,0],[2065,10,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,25,21,59,59],[2066,3,25,23,59,59],
+          '2065102921:00:00','2065102923:00:00','2066032521:59:59','2066032523:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,25,22,0,0],[2066,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,28,20,59,59],[2066,10,28,23,59,59],
+          '2066032522:00:00','2066032601:00:00','2066102820:59:59','2066102823:59:59' ],
+        [ [2066,10,28,21,0,0],[2066,10,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,24,21,59,59],[2067,3,24,23,59,59],
+          '2066102821:00:00','2066102823:00:00','2067032421:59:59','2067032423:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,24,22,0,0],[2067,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,27,20,59,59],[2067,10,27,23,59,59],
+          '2067032422:00:00','2067032501:00:00','2067102720:59:59','2067102723:59:59' ],
+        [ [2067,10,27,21,0,0],[2067,10,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,29,21,59,59],[2068,3,29,23,59,59],
+          '2067102721:00:00','2067102723:00:00','2068032921:59:59','2068032923:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '5',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '5',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '00:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asdhak00.pm b/lib/Date/Manip/TZ/asdhak00.pm
new file mode 100644
index 0000000..e830df3
--- /dev/null
+++ b/lib/Date/Manip/TZ/asdhak00.pm
@@ -0,0 +1,79 @@
+package #
+Date::Manip::TZ::asdhak00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,1,40],'+06:01:40',[6,1,40],
+          'LMT',0,[1889,12,31,17,58,19],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010206:01:40','1889123117:58:19','1889123123:59:59' ],
+     ],
+   1889 =>
+     [
+        [ [1889,12,31,17,58,20],[1889,12,31,23,51,40],'+05:53:20',[5,53,20],
+          'HMT',0,[1941,9,30,18,6,39],[1941,9,30,23,59,59],
+          '1889123117:58:20','1889123123:51:40','1941093018:06:39','1941093023:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,30,18,6,40],[1941,10,1,0,36,40],'+06:30:00',[6,30,0],
+          '+0630',0,[1942,5,14,17,29,59],[1942,5,14,23,59,59],
+          '1941093018:06:40','1941100100:36:40','1942051417:29:59','1942051423:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,14,17,30,0],[1942,5,14,23,0,0],'+05:30:00',[5,30,0],
+          '+0530',0,[1942,8,31,18,29,59],[1942,8,31,23,59,59],
+          '1942051417:30:00','1942051423:00:00','1942083118:29:59','1942083123:59:59' ],
+        [ [1942,8,31,18,30,0],[1942,9,1,1,0,0],'+06:30:00',[6,30,0],
+          '+0630',0,[1951,9,29,17,29,59],[1951,9,29,23,59,59],
+          '1942083118:30:00','1942090101:00:00','1951092917:29:59','1951092923:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,9,29,17,30,0],[1951,9,29,23,30,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,6,19,16,59,59],[2009,6,19,22,59,59],
+          '1951092917:30:00','1951092923:30:00','2009061916:59:59','2009061922:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,6,19,17,0,0],[2009,6,20,0,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2009,12,31,16,59,59],[2009,12,31,23,59,59],
+          '2009061917:00:00','2009062000:00:00','2009123116:59:59','2009123123:59:59' ],
+        [ [2009,12,31,17,0,0],[2009,12,31,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '2009123117:00:00','2009123123:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asdili00.pm b/lib/Date/Manip/TZ/asdili00.pm
new file mode 100644
index 0000000..a025e35
--- /dev/null
+++ b/lib/Date/Manip/TZ/asdili00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::asdili00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,22,20],'+08:22:20',[8,22,20],
+          'LMT',0,[1911,12,31,15,37,39],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010208:22:20','1911123115:37:39','1911123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,12,31,15,37,40],[1911,12,31,23,37,40],'+08:00:00',[8,0,0],
+          '+08',0,[1942,2,21,14,59,59],[1942,2,21,22,59,59],
+          '1911123115:37:40','1911123123:37:40','1942022114:59:59','1942022122:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,21,15,0,0],[1942,2,22,0,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1976,5,2,14,59,59],[1976,5,2,23,59,59],
+          '1942022115:00:00','1942022200:00:00','1976050214:59:59','1976050223:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,2,15,0,0],[1976,5,2,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2000,9,16,15,59,59],[2000,9,16,23,59,59],
+          '1976050215:00:00','1976050223:00:00','2000091615:59:59','2000091623:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,9,16,16,0,0],[2000,9,17,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '2000091616:00:00','2000091701:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asduba00.pm b/lib/Date/Manip/TZ/asduba00.pm
new file mode 100644
index 0000000..e99b547
--- /dev/null
+++ b/lib/Date/Manip/TZ/asduba00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::asduba00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,41,12],'+03:41:12',[3,41,12],
+          'LMT',0,[1919,12,31,20,18,47],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010203:41:12','1919123120:18:47','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,20,18,48],[1920,1,1,0,18,48],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '1919123120:18:48','1920010100:18:48','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asdush00.pm b/lib/Date/Manip/TZ/asdush00.pm
new file mode 100644
index 0000000..49b77fb
--- /dev/null
+++ b/lib/Date/Manip/TZ/asdush00.pm
@@ -0,0 +1,154 @@
+package #
+Date::Manip::TZ::asdush00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,35,12],'+04:35:12',[4,35,12],
+          'LMT',0,[1924,5,1,19,24,47],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010204:35:12','1924050119:24:47','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,19,24,48],[1924,5,2,0,24,48],'+05:00:00',[5,0,0],
+          '+05',0,[1930,6,20,18,59,59],[1930,6,20,23,59,59],
+          '1924050119:24:48','1924050200:24:48','1930062018:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,19,0,0],[1930,6,21,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1981,3,31,17,59,59],[1981,3,31,23,59,59],
+          '1930062019:00:00','1930062101:00:00','1981033117:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,18,0,0],[1981,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1981,9,30,16,59,59],[1981,9,30,23,59,59],
+          '1981033118:00:00','1981040101:00:00','1981093016:59:59','1981093023:59:59' ],
+        [ [1981,9,30,17,0,0],[1981,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093017:00:00','1981093023:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1982,9,30,16,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040101:00:00','1982093016:59:59','1982093023:59:59' ],
+        [ [1982,9,30,17,0,0],[1982,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1983,3,31,17,59,59],[1983,3,31,23,59,59],
+          '1982093017:00:00','1982093023:00:00','1983033117:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,18,0,0],[1983,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1983,9,30,16,59,59],[1983,9,30,23,59,59],
+          '1983033118:00:00','1983040101:00:00','1983093016:59:59','1983093023:59:59' ],
+        [ [1983,9,30,17,0,0],[1983,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1984,3,31,17,59,59],[1984,3,31,23,59,59],
+          '1983093017:00:00','1983093023:00:00','1984033117:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,18,0,0],[1984,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1984,9,29,19,59,59],[1984,9,30,2,59,59],
+          '1984033118:00:00','1984040101:00:00','1984092919:59:59','1984093002:59:59' ],
+        [ [1984,9,29,20,0,0],[1984,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1985,3,30,19,59,59],[1985,3,31,1,59,59],
+          '1984092920:00:00','1984093002:00:00','1985033019:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,20,0,0],[1985,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1985,9,28,19,59,59],[1985,9,29,2,59,59],
+          '1985033020:00:00','1985033103:00:00','1985092819:59:59','1985092902:59:59' ],
+        [ [1985,9,28,20,0,0],[1985,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1986,3,29,19,59,59],[1986,3,30,1,59,59],
+          '1985092820:00:00','1985092902:00:00','1986032919:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,20,0,0],[1986,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1986,9,27,19,59,59],[1986,9,28,2,59,59],
+          '1986032920:00:00','1986033003:00:00','1986092719:59:59','1986092802:59:59' ],
+        [ [1986,9,27,20,0,0],[1986,9,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1987,3,28,19,59,59],[1987,3,29,1,59,59],
+          '1986092720:00:00','1986092802:00:00','1987032819:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,20,0,0],[1987,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1987,9,26,19,59,59],[1987,9,27,2,59,59],
+          '1987032820:00:00','1987032903:00:00','1987092619:59:59','1987092702:59:59' ],
+        [ [1987,9,26,20,0,0],[1987,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1988,3,26,19,59,59],[1988,3,27,1,59,59],
+          '1987092620:00:00','1987092702:00:00','1988032619:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,20,0,0],[1988,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1988,9,24,19,59,59],[1988,9,25,2,59,59],
+          '1988032620:00:00','1988032703:00:00','1988092419:59:59','1988092502:59:59' ],
+        [ [1988,9,24,20,0,0],[1988,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1989,3,25,19,59,59],[1989,3,26,1,59,59],
+          '1988092420:00:00','1988092502:00:00','1989032519:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,20,0,0],[1989,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1989,9,23,19,59,59],[1989,9,24,2,59,59],
+          '1989032520:00:00','1989032603:00:00','1989092319:59:59','1989092402:59:59' ],
+        [ [1989,9,23,20,0,0],[1989,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1990,3,24,19,59,59],[1990,3,25,1,59,59],
+          '1989092320:00:00','1989092402:00:00','1990032419:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,20,0,0],[1990,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1990,9,29,19,59,59],[1990,9,30,2,59,59],
+          '1990032420:00:00','1990032503:00:00','1990092919:59:59','1990093002:59:59' ],
+        [ [1990,9,29,20,0,0],[1990,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1991,3,30,19,59,59],[1991,3,31,1,59,59],
+          '1990092920:00:00','1990093002:00:00','1991033019:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,20,0,0],[1991,3,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,9,8,20,59,59],[1991,9,9,2,59,59],
+          '1991033020:00:00','1991033102:00:00','1991090820:59:59','1991090902:59:59' ],
+        [ [1991,9,8,21,0,0],[1991,9,9,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1991090821:00:00','1991090902:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asfama00.pm b/lib/Date/Manip/TZ/asfama00.pm
new file mode 100644
index 0000000..4325dc6
--- /dev/null
+++ b/lib/Date/Manip/TZ/asfama00.pm
@@ -0,0 +1,427 @@
+package #
+Date::Manip::TZ::asfama00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,15,48],'+02:15:48',[2,15,48],
+          'LMT',0,[1921,11,13,21,44,11],[1921,11,13,23,59,59],
+          '0001010200:00:00','0001010202:15:48','1921111321:44:11','1921111323:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,11,13,21,44,12],[1921,11,13,23,44,12],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,12,21,59,59],[1975,4,12,23,59,59],
+          '1921111321:44:12','1921111323:44:12','1975041221:59:59','1975041223:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,12,22,0,0],[1975,4,13,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,10,11,20,59,59],[1975,10,11,23,59,59],
+          '1975041222:00:00','1975041301:00:00','1975101120:59:59','1975101123:59:59' ],
+        [ [1975,10,11,21,0,0],[1975,10,11,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,5,14,21,59,59],[1976,5,14,23,59,59],
+          '1975101121:00:00','1975101123:00:00','1976051421:59:59','1976051423:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,14,22,0,0],[1976,5,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,10,10,20,59,59],[1976,10,10,23,59,59],
+          '1976051422:00:00','1976051501:00:00','1976101020:59:59','1976101023:59:59' ],
+        [ [1976,10,10,21,0,0],[1976,10,10,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,2,21,59,59],[1977,4,2,23,59,59],
+          '1976101021:00:00','1976101023:00:00','1977040221:59:59','1977040223:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,2,22,0,0],[1977,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,24,20,59,59],[1977,9,24,23,59,59],
+          '1977040222:00:00','1977040301:00:00','1977092420:59:59','1977092423:59:59' ],
+        [ [1977,9,24,21,0,0],[1977,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,1,21,59,59],[1978,4,1,23,59,59],
+          '1977092421:00:00','1977092423:00:00','1978040121:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,1,22,0,0],[1978,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,10,1,20,59,59],[1978,10,1,23,59,59],
+          '1978040122:00:00','1978040201:00:00','1978100120:59:59','1978100123:59:59' ],
+        [ [1978,10,1,21,0,0],[1978,10,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,3,31,21,59,59],[1979,3,31,23,59,59],
+          '1978100121:00:00','1978100123:00:00','1979033121:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,31,22,0,0],[1979,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,29,20,59,59],[1979,9,29,23,59,59],
+          '1979033122:00:00','1979040101:00:00','1979092920:59:59','1979092923:59:59' ],
+        [ [1979,9,29,21,0,0],[1979,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,5,21,59,59],[1980,4,5,23,59,59],
+          '1979092921:00:00','1979092923:00:00','1980040521:59:59','1980040523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,5,22,0,0],[1980,4,6,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,27,20,59,59],[1980,9,27,23,59,59],
+          '1980040522:00:00','1980040601:00:00','1980092720:59:59','1980092723:59:59' ],
+        [ [1980,9,27,21,0,0],[1980,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,28,21,59,59],[1981,3,28,23,59,59],
+          '1980092721:00:00','1980092723:00:00','1981032821:59:59','1981032823:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,28,22,0,0],[1981,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,26,20,59,59],[1981,9,26,23,59,59],
+          '1981032822:00:00','1981032901:00:00','1981092620:59:59','1981092623:59:59' ],
+        [ [1981,9,26,21,0,0],[1981,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,27,21,59,59],[1982,3,27,23,59,59],
+          '1981092621:00:00','1981092623:00:00','1982032721:59:59','1982032723:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,27,22,0,0],[1982,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,25,20,59,59],[1982,9,25,23,59,59],
+          '1982032722:00:00','1982032801:00:00','1982092520:59:59','1982092523:59:59' ],
+        [ [1982,9,25,21,0,0],[1982,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,26,21,59,59],[1983,3,26,23,59,59],
+          '1982092521:00:00','1982092523:00:00','1983032621:59:59','1983032623:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,26,22,0,0],[1983,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,24,20,59,59],[1983,9,24,23,59,59],
+          '1983032622:00:00','1983032701:00:00','1983092420:59:59','1983092423:59:59' ],
+        [ [1983,9,24,21,0,0],[1983,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,24,21,59,59],[1984,3,24,23,59,59],
+          '1983092421:00:00','1983092423:00:00','1984032421:59:59','1984032423:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,24,22,0,0],[1984,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,29,20,59,59],[1984,9,29,23,59,59],
+          '1984032422:00:00','1984032501:00:00','1984092920:59:59','1984092923:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,30,21,59,59],[1985,3,30,23,59,59],
+          '1984092921:00:00','1984092923:00:00','1985033021:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,28,20,59,59],[1985,9,28,23,59,59],
+          '1985033022:00:00','1985033101:00:00','1985092820:59:59','1985092823:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,29,21,59,59],[1986,3,29,23,59,59],
+          '1985092821:00:00','1985092823:00:00','1986032921:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,27,20,59,59],[1986,9,27,23,59,59],
+          '1986032922:00:00','1986033001:00:00','1986092720:59:59','1986092723:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,28,21,59,59],[1987,3,28,23,59,59],
+          '1986092721:00:00','1986092723:00:00','1987032821:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,26,20,59,59],[1987,9,26,23,59,59],
+          '1987032822:00:00','1987032901:00:00','1987092620:59:59','1987092623:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,26,21,59,59],[1988,3,26,23,59,59],
+          '1987092621:00:00','1987092623:00:00','1988032621:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,24,20,59,59],[1988,9,24,23,59,59],
+          '1988032622:00:00','1988032701:00:00','1988092420:59:59','1988092423:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,25,21,59,59],[1989,3,25,23,59,59],
+          '1988092421:00:00','1988092423:00:00','1989032521:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,20,59,59],[1989,9,23,23,59,59],
+          '1989032522:00:00','1989032601:00:00','1989092320:59:59','1989092323:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,21,59,59],[1990,3,24,23,59,59],
+          '1989092321:00:00','1989092323:00:00','1990032421:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,20,59,59],[1990,9,29,23,59,59],
+          '1990032422:00:00','1990032501:00:00','1990092920:59:59','1990092923:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,21,59,59],[1991,3,30,23,59,59],
+          '1990092921:00:00','1990092923:00:00','1991033021:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,20,59,59],[1991,9,28,23,59,59],
+          '1991033022:00:00','1991033101:00:00','1991092820:59:59','1991092823:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092821:00:00','1991092823:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,28,20,59,59],[1996,9,28,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996092820:59:59','1996092823:59:59' ],
+        [ [1996,9,28,21,0,0],[1996,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,21,59,59],[1997,3,29,23,59,59],
+          '1996092821:00:00','1996092823:00:00','1997032921:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,27,20,59,59],[1997,9,27,23,59,59],
+          '1997032922:00:00','1997033001:00:00','1997092720:59:59','1997092723:59:59' ],
+        [ [1997,9,27,21,0,0],[1997,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,21,59,59],[1998,3,28,23,59,59],
+          '1997092721:00:00','1997092723:00:00','1998032821:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032822:00:00','1998032901:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,9,7,20,59,59],[2016,9,7,23,59,59],
+          '2016032701:00:00','2016032704:00:00','2016090720:59:59','2016090723:59:59' ],
+        [ [2016,9,7,21,0,0],[2016,9,8,0,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2016090721:00:00','2016090800:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asgaza00.pm b/lib/Date/Manip/TZ/asgaza00.pm
new file mode 100644
index 0000000..af98e0d
--- /dev/null
+++ b/lib/Date/Manip/TZ/asgaza00.pm
@@ -0,0 +1,988 @@
+package #
+Date::Manip::TZ::asgaza00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,17,52],'+02:17:52',[2,17,52],
+          'LMT',0,[1900,9,30,21,42,7],[1900,9,30,23,59,59],
+          '0001010200:00:00','0001010202:17:52','1900093021:42:07','1900093023:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,9,30,21,42,8],[1900,9,30,23,42,8],'+02:00:00',[2,0,0],
+          'EET',0,[1940,5,31,21,59,59],[1940,5,31,23,59,59],
+          '1900093021:42:08','1900093023:42:08','1940053121:59:59','1940053123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,31,22,0,0],[1940,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1942,10,31,20,59,59],[1942,10,31,23,59,59],
+          '1940053122:00:00','1940060101:00:00','1942103120:59:59','1942103123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,10,31,21,0,0],[1942,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1943,3,31,23,59,59],[1943,4,1,1,59,59],
+          '1942103121:00:00','1942103123:00:00','1943033123:59:59','1943040101:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,1,0,0,0],[1943,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1943,10,31,20,59,59],[1943,10,31,23,59,59],
+          '1943040100:00:00','1943040103:00:00','1943103120:59:59','1943103123:59:59' ],
+        [ [1943,10,31,21,0,0],[1943,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1944,3,31,21,59,59],[1944,3,31,23,59,59],
+          '1943103121:00:00','1943103123:00:00','1944033121:59:59','1944033123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,31,22,0,0],[1944,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1944,10,31,20,59,59],[1944,10,31,23,59,59],
+          '1944033122:00:00','1944040101:00:00','1944103120:59:59','1944103123:59:59' ],
+        [ [1944,10,31,21,0,0],[1944,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1945,4,15,21,59,59],[1945,4,15,23,59,59],
+          '1944103121:00:00','1944103123:00:00','1945041521:59:59','1945041523:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,15,22,0,0],[1945,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1945,10,31,22,59,59],[1945,11,1,1,59,59],
+          '1945041522:00:00','1945041601:00:00','1945103122:59:59','1945110101:59:59' ],
+        [ [1945,10,31,23,0,0],[1945,11,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1946,4,15,23,59,59],[1946,4,16,1,59,59],
+          '1945103123:00:00','1945110101:00:00','1946041523:59:59','1946041601:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,16,0,0,0],[1946,4,16,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1946,10,31,20,59,59],[1946,10,31,23,59,59],
+          '1946041600:00:00','1946041603:00:00','1946103120:59:59','1946103123:59:59' ],
+        [ [1946,10,31,21,0,0],[1946,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1957,5,9,21,59,59],[1957,5,9,23,59,59],
+          '1946103121:00:00','1946103123:00:00','1957050921:59:59','1957050923:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,5,9,22,0,0],[1957,5,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1957,9,30,20,59,59],[1957,9,30,23,59,59],
+          '1957050922:00:00','1957051001:00:00','1957093020:59:59','1957093023:59:59' ],
+        [ [1957,9,30,21,0,0],[1957,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1958,4,30,21,59,59],[1958,4,30,23,59,59],
+          '1957093021:00:00','1957093023:00:00','1958043021:59:59','1958043023:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,30,22,0,0],[1958,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1958,9,30,20,59,59],[1958,9,30,23,59,59],
+          '1958043022:00:00','1958050101:00:00','1958093020:59:59','1958093023:59:59' ],
+        [ [1958,9,30,21,0,0],[1958,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1959,4,30,22,59,59],[1959,5,1,0,59,59],
+          '1958093021:00:00','1958093023:00:00','1959043022:59:59','1959050100:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,30,23,0,0],[1959,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1959,9,29,23,59,59],[1959,9,30,2,59,59],
+          '1959043023:00:00','1959050102:00:00','1959092923:59:59','1959093002:59:59' ],
+        [ [1959,9,30,0,0,0],[1959,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1960,4,30,22,59,59],[1960,5,1,0,59,59],
+          '1959093000:00:00','1959093002:00:00','1960043022:59:59','1960050100:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,30,23,0,0],[1960,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1960,9,29,23,59,59],[1960,9,30,2,59,59],
+          '1960043023:00:00','1960050102:00:00','1960092923:59:59','1960093002:59:59' ],
+        [ [1960,9,30,0,0,0],[1960,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1961,4,30,22,59,59],[1961,5,1,0,59,59],
+          '1960093000:00:00','1960093002:00:00','1961043022:59:59','1961050100:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,23,0,0],[1961,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1961,9,29,23,59,59],[1961,9,30,2,59,59],
+          '1961043023:00:00','1961050102:00:00','1961092923:59:59','1961093002:59:59' ],
+        [ [1961,9,30,0,0,0],[1961,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1962,4,30,22,59,59],[1962,5,1,0,59,59],
+          '1961093000:00:00','1961093002:00:00','1962043022:59:59','1962050100:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,30,23,0,0],[1962,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1962,9,29,23,59,59],[1962,9,30,2,59,59],
+          '1962043023:00:00','1962050102:00:00','1962092923:59:59','1962093002:59:59' ],
+        [ [1962,9,30,0,0,0],[1962,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1963,4,30,22,59,59],[1963,5,1,0,59,59],
+          '1962093000:00:00','1962093002:00:00','1963043022:59:59','1963050100:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,30,23,0,0],[1963,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1963,9,29,23,59,59],[1963,9,30,2,59,59],
+          '1963043023:00:00','1963050102:00:00','1963092923:59:59','1963093002:59:59' ],
+        [ [1963,9,30,0,0,0],[1963,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1964,4,30,22,59,59],[1964,5,1,0,59,59],
+          '1963093000:00:00','1963093002:00:00','1964043022:59:59','1964050100:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,30,23,0,0],[1964,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1964,9,29,23,59,59],[1964,9,30,2,59,59],
+          '1964043023:00:00','1964050102:00:00','1964092923:59:59','1964093002:59:59' ],
+        [ [1964,9,30,0,0,0],[1964,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1965,4,30,22,59,59],[1965,5,1,0,59,59],
+          '1964093000:00:00','1964093002:00:00','1965043022:59:59','1965050100:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,30,23,0,0],[1965,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1965,9,29,23,59,59],[1965,9,30,2,59,59],
+          '1965043023:00:00','1965050102:00:00','1965092923:59:59','1965093002:59:59' ],
+        [ [1965,9,30,0,0,0],[1965,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1966,4,30,22,59,59],[1966,5,1,0,59,59],
+          '1965093000:00:00','1965093002:00:00','1966043022:59:59','1966050100:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,30,23,0,0],[1966,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1966,9,30,23,59,59],[1966,10,1,2,59,59],
+          '1966043023:00:00','1966050102:00:00','1966093023:59:59','1966100102:59:59' ],
+        [ [1966,10,1,0,0,0],[1966,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1967,4,30,22,59,59],[1967,5,1,0,59,59],
+          '1966100100:00:00','1966100102:00:00','1967043022:59:59','1967050100:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,23,0,0],[1967,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1967,6,4,20,59,59],[1967,6,4,23,59,59],
+          '1967043023:00:00','1967050102:00:00','1967060420:59:59','1967060423:59:59' ],
+        [ [1967,6,4,21,0,0],[1967,6,4,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1974,7,6,21,59,59],[1974,7,6,23,59,59],
+          '1967060421:00:00','1967060423:00:00','1974070621:59:59','1974070623:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,7,6,22,0,0],[1974,7,7,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1974,10,12,20,59,59],[1974,10,12,23,59,59],
+          '1974070622:00:00','1974070701:00:00','1974101220:59:59','1974101223:59:59' ],
+        [ [1974,10,12,21,0,0],[1974,10,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1975,4,19,21,59,59],[1975,4,19,23,59,59],
+          '1974101221:00:00','1974101223:00:00','1975041921:59:59','1975041923:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,19,22,0,0],[1975,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1975,8,30,20,59,59],[1975,8,30,23,59,59],
+          '1975041922:00:00','1975042001:00:00','1975083020:59:59','1975083023:59:59' ],
+        [ [1975,8,30,21,0,0],[1975,8,30,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1985,4,13,21,59,59],[1985,4,13,23,59,59],
+          '1975083021:00:00','1975083023:00:00','1985041321:59:59','1985041323:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,13,22,0,0],[1985,4,14,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1985,9,14,20,59,59],[1985,9,14,23,59,59],
+          '1985041322:00:00','1985041401:00:00','1985091420:59:59','1985091423:59:59' ],
+        [ [1985,9,14,21,0,0],[1985,9,14,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1986,5,17,21,59,59],[1986,5,17,23,59,59],
+          '1985091421:00:00','1985091423:00:00','1986051721:59:59','1986051723:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,5,17,22,0,0],[1986,5,18,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1986,9,6,20,59,59],[1986,9,6,23,59,59],
+          '1986051722:00:00','1986051801:00:00','1986090620:59:59','1986090623:59:59' ],
+        [ [1986,9,6,21,0,0],[1986,9,6,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1987,4,14,21,59,59],[1987,4,14,23,59,59],
+          '1986090621:00:00','1986090623:00:00','1987041421:59:59','1987041423:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,14,22,0,0],[1987,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1987,9,12,20,59,59],[1987,9,12,23,59,59],
+          '1987041422:00:00','1987041501:00:00','1987091220:59:59','1987091223:59:59' ],
+        [ [1987,9,12,21,0,0],[1987,9,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1988,4,9,21,59,59],[1988,4,9,23,59,59],
+          '1987091221:00:00','1987091223:00:00','1988040921:59:59','1988040923:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,9,22,0,0],[1988,4,10,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1988,9,3,20,59,59],[1988,9,3,23,59,59],
+          '1988040922:00:00','1988041001:00:00','1988090320:59:59','1988090323:59:59' ],
+        [ [1988,9,3,21,0,0],[1988,9,3,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1989,4,29,21,59,59],[1989,4,29,23,59,59],
+          '1988090321:00:00','1988090323:00:00','1989042921:59:59','1989042923:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,29,22,0,0],[1989,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1989,9,2,20,59,59],[1989,9,2,23,59,59],
+          '1989042922:00:00','1989043001:00:00','1989090220:59:59','1989090223:59:59' ],
+        [ [1989,9,2,21,0,0],[1989,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1990,3,24,21,59,59],[1990,3,24,23,59,59],
+          '1989090221:00:00','1989090223:00:00','1990032421:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1990,8,25,20,59,59],[1990,8,25,23,59,59],
+          '1990032422:00:00','1990032501:00:00','1990082520:59:59','1990082523:59:59' ],
+        [ [1990,8,25,21,0,0],[1990,8,25,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1991,3,23,21,59,59],[1991,3,23,23,59,59],
+          '1990082521:00:00','1990082523:00:00','1991032321:59:59','1991032323:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,23,22,0,0],[1991,3,24,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1991,8,31,20,59,59],[1991,8,31,23,59,59],
+          '1991032322:00:00','1991032401:00:00','1991083120:59:59','1991083123:59:59' ],
+        [ [1991,8,31,21,0,0],[1991,8,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991083121:00:00','1991083123:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1992,9,5,20,59,59],[1992,9,5,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992090520:59:59','1992090523:59:59' ],
+        [ [1992,9,5,21,0,0],[1992,9,5,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1993,4,1,21,59,59],[1993,4,1,23,59,59],
+          '1992090521:00:00','1992090523:00:00','1993040121:59:59','1993040123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,1,22,0,0],[1993,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1993,9,4,20,59,59],[1993,9,4,23,59,59],
+          '1993040122:00:00','1993040201:00:00','1993090420:59:59','1993090423:59:59' ],
+        [ [1993,9,4,21,0,0],[1993,9,4,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1994,3,31,21,59,59],[1994,3,31,23,59,59],
+          '1993090421:00:00','1993090423:00:00','1994033121:59:59','1994033123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,31,22,0,0],[1994,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1994,8,27,20,59,59],[1994,8,27,23,59,59],
+          '1994033122:00:00','1994040101:00:00','1994082720:59:59','1994082723:59:59' ],
+        [ [1994,8,27,21,0,0],[1994,8,27,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1995,3,30,21,59,59],[1995,3,30,23,59,59],
+          '1994082721:00:00','1994082723:00:00','1995033021:59:59','1995033023:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,30,22,0,0],[1995,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1995,9,2,20,59,59],[1995,9,2,23,59,59],
+          '1995033022:00:00','1995033101:00:00','1995090220:59:59','1995090223:59:59' ],
+        [ [1995,9,2,21,0,0],[1995,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1995,12,31,21,59,59],[1995,12,31,23,59,59],
+          '1995090221:00:00','1995090223:00:00','1995123121:59:59','1995123123:59:59' ],
+        [ [1995,12,31,22,0,0],[1996,1,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,4,4,21,59,59],[1996,4,4,23,59,59],
+          '1995123122:00:00','1996010100:00:00','1996040421:59:59','1996040423:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,4,22,0,0],[1996,4,5,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,19,21,59,59],[1996,9,20,0,59,59],
+          '1996040422:00:00','1996040501:00:00','1996091921:59:59','1996092000:59:59' ],
+        [ [1996,9,19,22,0,0],[1996,9,20,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,4,3,21,59,59],[1997,4,3,23,59,59],
+          '1996091922:00:00','1996092000:00:00','1997040321:59:59','1997040323:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,3,22,0,0],[1997,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,18,21,59,59],[1997,9,19,0,59,59],
+          '1997040322:00:00','1997040401:00:00','1997091821:59:59','1997091900:59:59' ],
+        [ [1997,9,18,22,0,0],[1997,9,19,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,4,2,21,59,59],[1998,4,2,23,59,59],
+          '1997091822:00:00','1997091900:00:00','1998040221:59:59','1998040223:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,2,22,0,0],[1998,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,17,21,59,59],[1998,9,18,0,59,59],
+          '1998040222:00:00','1998040301:00:00','1998091721:59:59','1998091800:59:59' ],
+        [ [1998,9,17,22,0,0],[1998,9,18,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,4,15,21,59,59],[1999,4,15,23,59,59],
+          '1998091722:00:00','1998091800:00:00','1999041521:59:59','1999041523:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,15,22,0,0],[1999,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,14,20,59,59],[1999,10,14,23,59,59],
+          '1999041522:00:00','1999041601:00:00','1999101420:59:59','1999101423:59:59' ],
+        [ [1999,10,14,21,0,0],[1999,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,4,20,21,59,59],[2000,4,20,23,59,59],
+          '1999101421:00:00','1999101423:00:00','2000042021:59:59','2000042023:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,20,22,0,0],[2000,4,21,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,19,20,59,59],[2000,10,19,23,59,59],
+          '2000042022:00:00','2000042101:00:00','2000101920:59:59','2000101923:59:59' ],
+        [ [2000,10,19,21,0,0],[2000,10,19,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,4,19,21,59,59],[2001,4,19,23,59,59],
+          '2000101921:00:00','2000101923:00:00','2001041921:59:59','2001041923:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,19,22,0,0],[2001,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,18,20,59,59],[2001,10,18,23,59,59],
+          '2001041922:00:00','2001042001:00:00','2001101820:59:59','2001101823:59:59' ],
+        [ [2001,10,18,21,0,0],[2001,10,18,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,4,18,21,59,59],[2002,4,18,23,59,59],
+          '2001101821:00:00','2001101823:00:00','2002041821:59:59','2002041823:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,18,22,0,0],[2002,4,19,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,17,20,59,59],[2002,10,17,23,59,59],
+          '2002041822:00:00','2002041901:00:00','2002101720:59:59','2002101723:59:59' ],
+        [ [2002,10,17,21,0,0],[2002,10,17,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,4,17,21,59,59],[2003,4,17,23,59,59],
+          '2002101721:00:00','2002101723:00:00','2003041721:59:59','2003041723:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,17,22,0,0],[2003,4,18,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,16,20,59,59],[2003,10,16,23,59,59],
+          '2003041722:00:00','2003041801:00:00','2003101620:59:59','2003101623:59:59' ],
+        [ [2003,10,16,21,0,0],[2003,10,16,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,4,15,21,59,59],[2004,4,15,23,59,59],
+          '2003101621:00:00','2003101623:00:00','2004041521:59:59','2004041523:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,15,22,0,0],[2004,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,9,30,21,59,59],[2004,10,1,0,59,59],
+          '2004041522:00:00','2004041601:00:00','2004093021:59:59','2004100100:59:59' ],
+        [ [2004,9,30,22,0,0],[2004,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,4,14,21,59,59],[2005,4,14,23,59,59],
+          '2004093022:00:00','2004100100:00:00','2005041421:59:59','2005041423:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,14,22,0,0],[2005,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,3,22,59,59],[2005,10,4,1,59,59],
+          '2005041422:00:00','2005041501:00:00','2005100322:59:59','2005100401:59:59' ],
+        [ [2005,10,3,23,0,0],[2005,10,4,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,31,21,59,59],[2006,3,31,23,59,59],
+          '2005100323:00:00','2005100401:00:00','2006033121:59:59','2006033123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,31,22,0,0],[2006,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,9,21,20,59,59],[2006,9,21,23,59,59],
+          '2006033122:00:00','2006040101:00:00','2006092120:59:59','2006092123:59:59' ],
+        [ [2006,9,21,21,0,0],[2006,9,21,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,31,21,59,59],[2007,3,31,23,59,59],
+          '2006092121:00:00','2006092123:00:00','2007033121:59:59','2007033123:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,31,22,0,0],[2007,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,9,12,22,59,59],[2007,9,13,1,59,59],
+          '2007033122:00:00','2007040101:00:00','2007091222:59:59','2007091301:59:59' ],
+        [ [2007,9,12,23,0,0],[2007,9,13,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,27,21,59,59],[2008,3,27,23,59,59],
+          '2007091223:00:00','2007091301:00:00','2008032721:59:59','2008032723:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,27,22,0,0],[2008,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,8,28,20,59,59],[2008,8,28,23,59,59],
+          '2008032722:00:00','2008032801:00:00','2008082820:59:59','2008082823:59:59' ],
+        [ [2008,8,28,21,0,0],[2008,8,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,26,21,59,59],[2009,3,26,23,59,59],
+          '2008082821:00:00','2008082823:00:00','2009032621:59:59','2009032623:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,26,22,0,0],[2009,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,9,3,21,59,59],[2009,9,4,0,59,59],
+          '2009032622:00:00','2009032701:00:00','2009090321:59:59','2009090400:59:59' ],
+        [ [2009,9,3,22,0,0],[2009,9,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,26,22,0,59],[2010,3,27,0,0,59],
+          '2009090322:00:00','2009090400:00:00','2010032622:00:59','2010032700:00:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,26,22,1,0],[2010,3,27,1,1,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,8,10,20,59,59],[2010,8,10,23,59,59],
+          '2010032622:01:00','2010032701:01:00','2010081020:59:59','2010081023:59:59' ],
+        [ [2010,8,10,21,0,0],[2010,8,10,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,31,22,0,59],[2011,4,1,0,0,59],
+          '2010081021:00:00','2010081023:00:00','2011033122:00:59','2011040100:00:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,31,22,1,0],[2011,4,1,1,1,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,7,31,20,59,59],[2011,7,31,23,59,59],
+          '2011033122:01:00','2011040101:01:00','2011073120:59:59','2011073123:59:59' ],
+        [ [2011,7,31,21,0,0],[2011,7,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,29,21,59,59],[2012,3,29,23,59,59],
+          '2011073121:00:00','2011073123:00:00','2012032921:59:59','2012032923:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,29,22,0,0],[2012,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,9,20,21,59,59],[2012,9,21,0,59,59],
+          '2012032922:00:00','2012033001:00:00','2012092021:59:59','2012092100:59:59' ],
+        [ [2012,9,20,22,0,0],[2012,9,21,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,28,21,59,59],[2013,3,28,23,59,59],
+          '2012092022:00:00','2012092100:00:00','2013032821:59:59','2013032823:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,28,22,0,0],[2013,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,9,26,20,59,59],[2013,9,26,23,59,59],
+          '2013032822:00:00','2013032901:00:00','2013092620:59:59','2013092623:59:59' ],
+        [ [2013,9,26,21,0,0],[2013,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,27,21,59,59],[2014,3,27,23,59,59],
+          '2013092621:00:00','2013092623:00:00','2014032721:59:59','2014032723:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,27,22,0,0],[2014,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,23,20,59,59],[2014,10,23,23,59,59],
+          '2014032722:00:00','2014032801:00:00','2014102320:59:59','2014102323:59:59' ],
+        [ [2014,10,23,21,0,0],[2014,10,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,27,21,59,59],[2015,3,27,23,59,59],
+          '2014102321:00:00','2014102323:00:00','2015032721:59:59','2015032723:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,22,0,0],[2015,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,22,20,59,59],[2015,10,22,23,59,59],
+          '2015032722:00:00','2015032801:00:00','2015102220:59:59','2015102223:59:59' ],
+        [ [2015,10,22,21,0,0],[2015,10,22,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,25,22,59,59],[2016,3,26,0,59,59],
+          '2015102221:00:00','2015102223:00:00','2016032522:59:59','2016032600:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,23,0,0],[2016,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,28,21,59,59],[2016,10,29,0,59,59],
+          '2016032523:00:00','2016032602:00:00','2016102821:59:59','2016102900:59:59' ],
+        [ [2016,10,28,22,0,0],[2016,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,24,22,59,59],[2017,3,25,0,59,59],
+          '2016102822:00:00','2016102900:00:00','2017032422:59:59','2017032500:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,24,23,0,0],[2017,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,27,21,59,59],[2017,10,28,0,59,59],
+          '2017032423:00:00','2017032502:00:00','2017102721:59:59','2017102800:59:59' ],
+        [ [2017,10,27,22,0,0],[2017,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,30,22,59,59],[2018,3,31,0,59,59],
+          '2017102722:00:00','2017102800:00:00','2018033022:59:59','2018033100:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,30,23,0,0],[2018,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,26,21,59,59],[2018,10,27,0,59,59],
+          '2018033023:00:00','2018033102:00:00','2018102621:59:59','2018102700:59:59' ],
+        [ [2018,10,26,22,0,0],[2018,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,29,22,59,59],[2019,3,30,0,59,59],
+          '2018102622:00:00','2018102700:00:00','2019032922:59:59','2019033000:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,29,23,0,0],[2019,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,25,21,59,59],[2019,10,26,0,59,59],
+          '2019032923:00:00','2019033002:00:00','2019102521:59:59','2019102600:59:59' ],
+        [ [2019,10,25,22,0,0],[2019,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,27,22,59,59],[2020,3,28,0,59,59],
+          '2019102522:00:00','2019102600:00:00','2020032722:59:59','2020032800:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,27,23,0,0],[2020,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,30,21,59,59],[2020,10,31,0,59,59],
+          '2020032723:00:00','2020032802:00:00','2020103021:59:59','2020103100:59:59' ],
+        [ [2020,10,30,22,0,0],[2020,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,26,22,59,59],[2021,3,27,0,59,59],
+          '2020103022:00:00','2020103100:00:00','2021032622:59:59','2021032700:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,26,23,0,0],[2021,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,29,21,59,59],[2021,10,30,0,59,59],
+          '2021032623:00:00','2021032702:00:00','2021102921:59:59','2021103000:59:59' ],
+        [ [2021,10,29,22,0,0],[2021,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,25,22,59,59],[2022,3,26,0,59,59],
+          '2021102922:00:00','2021103000:00:00','2022032522:59:59','2022032600:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,25,23,0,0],[2022,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,28,21,59,59],[2022,10,29,0,59,59],
+          '2022032523:00:00','2022032602:00:00','2022102821:59:59','2022102900:59:59' ],
+        [ [2022,10,28,22,0,0],[2022,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,24,22,59,59],[2023,3,25,0,59,59],
+          '2022102822:00:00','2022102900:00:00','2023032422:59:59','2023032500:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,24,23,0,0],[2023,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,27,21,59,59],[2023,10,28,0,59,59],
+          '2023032423:00:00','2023032502:00:00','2023102721:59:59','2023102800:59:59' ],
+        [ [2023,10,27,22,0,0],[2023,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,29,22,59,59],[2024,3,30,0,59,59],
+          '2023102722:00:00','2023102800:00:00','2024032922:59:59','2024033000:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,29,23,0,0],[2024,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,25,21,59,59],[2024,10,26,0,59,59],
+          '2024032923:00:00','2024033002:00:00','2024102521:59:59','2024102600:59:59' ],
+        [ [2024,10,25,22,0,0],[2024,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,28,22,59,59],[2025,3,29,0,59,59],
+          '2024102522:00:00','2024102600:00:00','2025032822:59:59','2025032900:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,28,23,0,0],[2025,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,24,21,59,59],[2025,10,25,0,59,59],
+          '2025032823:00:00','2025032902:00:00','2025102421:59:59','2025102500:59:59' ],
+        [ [2025,10,24,22,0,0],[2025,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,27,22,59,59],[2026,3,28,0,59,59],
+          '2025102422:00:00','2025102500:00:00','2026032722:59:59','2026032800:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,27,23,0,0],[2026,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,30,21,59,59],[2026,10,31,0,59,59],
+          '2026032723:00:00','2026032802:00:00','2026103021:59:59','2026103100:59:59' ],
+        [ [2026,10,30,22,0,0],[2026,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,26,22,59,59],[2027,3,27,0,59,59],
+          '2026103022:00:00','2026103100:00:00','2027032622:59:59','2027032700:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,26,23,0,0],[2027,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,29,21,59,59],[2027,10,30,0,59,59],
+          '2027032623:00:00','2027032702:00:00','2027102921:59:59','2027103000:59:59' ],
+        [ [2027,10,29,22,0,0],[2027,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,24,22,59,59],[2028,3,25,0,59,59],
+          '2027102922:00:00','2027103000:00:00','2028032422:59:59','2028032500:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,24,23,0,0],[2028,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,27,21,59,59],[2028,10,28,0,59,59],
+          '2028032423:00:00','2028032502:00:00','2028102721:59:59','2028102800:59:59' ],
+        [ [2028,10,27,22,0,0],[2028,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,30,22,59,59],[2029,3,31,0,59,59],
+          '2028102722:00:00','2028102800:00:00','2029033022:59:59','2029033100:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,30,23,0,0],[2029,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,26,21,59,59],[2029,10,27,0,59,59],
+          '2029033023:00:00','2029033102:00:00','2029102621:59:59','2029102700:59:59' ],
+        [ [2029,10,26,22,0,0],[2029,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,29,22,59,59],[2030,3,30,0,59,59],
+          '2029102622:00:00','2029102700:00:00','2030032922:59:59','2030033000:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,29,23,0,0],[2030,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,25,21,59,59],[2030,10,26,0,59,59],
+          '2030032923:00:00','2030033002:00:00','2030102521:59:59','2030102600:59:59' ],
+        [ [2030,10,25,22,0,0],[2030,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,28,22,59,59],[2031,3,29,0,59,59],
+          '2030102522:00:00','2030102600:00:00','2031032822:59:59','2031032900:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,28,23,0,0],[2031,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,24,21,59,59],[2031,10,25,0,59,59],
+          '2031032823:00:00','2031032902:00:00','2031102421:59:59','2031102500:59:59' ],
+        [ [2031,10,24,22,0,0],[2031,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,26,22,59,59],[2032,3,27,0,59,59],
+          '2031102422:00:00','2031102500:00:00','2032032622:59:59','2032032700:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,26,23,0,0],[2032,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,29,21,59,59],[2032,10,30,0,59,59],
+          '2032032623:00:00','2032032702:00:00','2032102921:59:59','2032103000:59:59' ],
+        [ [2032,10,29,22,0,0],[2032,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,25,22,59,59],[2033,3,26,0,59,59],
+          '2032102922:00:00','2032103000:00:00','2033032522:59:59','2033032600:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,25,23,0,0],[2033,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,28,21,59,59],[2033,10,29,0,59,59],
+          '2033032523:00:00','2033032602:00:00','2033102821:59:59','2033102900:59:59' ],
+        [ [2033,10,28,22,0,0],[2033,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,24,22,59,59],[2034,3,25,0,59,59],
+          '2033102822:00:00','2033102900:00:00','2034032422:59:59','2034032500:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,24,23,0,0],[2034,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,27,21,59,59],[2034,10,28,0,59,59],
+          '2034032423:00:00','2034032502:00:00','2034102721:59:59','2034102800:59:59' ],
+        [ [2034,10,27,22,0,0],[2034,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,30,22,59,59],[2035,3,31,0,59,59],
+          '2034102722:00:00','2034102800:00:00','2035033022:59:59','2035033100:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,30,23,0,0],[2035,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,26,21,59,59],[2035,10,27,0,59,59],
+          '2035033023:00:00','2035033102:00:00','2035102621:59:59','2035102700:59:59' ],
+        [ [2035,10,26,22,0,0],[2035,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,28,22,59,59],[2036,3,29,0,59,59],
+          '2035102622:00:00','2035102700:00:00','2036032822:59:59','2036032900:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,28,23,0,0],[2036,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,24,21,59,59],[2036,10,25,0,59,59],
+          '2036032823:00:00','2036032902:00:00','2036102421:59:59','2036102500:59:59' ],
+        [ [2036,10,24,22,0,0],[2036,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,27,22,59,59],[2037,3,28,0,59,59],
+          '2036102422:00:00','2036102500:00:00','2037032722:59:59','2037032800:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,27,23,0,0],[2037,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,30,21,59,59],[2037,10,31,0,59,59],
+          '2037032723:00:00','2037032802:00:00','2037103021:59:59','2037103100:59:59' ],
+        [ [2037,10,30,22,0,0],[2037,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,26,22,59,59],[2038,3,27,0,59,59],
+          '2037103022:00:00','2037103100:00:00','2038032622:59:59','2038032700:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,26,23,0,0],[2038,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,29,21,59,59],[2038,10,30,0,59,59],
+          '2038032623:00:00','2038032702:00:00','2038102921:59:59','2038103000:59:59' ],
+        [ [2038,10,29,22,0,0],[2038,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,25,22,59,59],[2039,3,26,0,59,59],
+          '2038102922:00:00','2038103000:00:00','2039032522:59:59','2039032600:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,25,23,0,0],[2039,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,28,21,59,59],[2039,10,29,0,59,59],
+          '2039032523:00:00','2039032602:00:00','2039102821:59:59','2039102900:59:59' ],
+        [ [2039,10,28,22,0,0],[2039,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,30,22,59,59],[2040,3,31,0,59,59],
+          '2039102822:00:00','2039102900:00:00','2040033022:59:59','2040033100:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,30,23,0,0],[2040,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,26,21,59,59],[2040,10,27,0,59,59],
+          '2040033023:00:00','2040033102:00:00','2040102621:59:59','2040102700:59:59' ],
+        [ [2040,10,26,22,0,0],[2040,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,29,22,59,59],[2041,3,30,0,59,59],
+          '2040102622:00:00','2040102700:00:00','2041032922:59:59','2041033000:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,29,23,0,0],[2041,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,25,21,59,59],[2041,10,26,0,59,59],
+          '2041032923:00:00','2041033002:00:00','2041102521:59:59','2041102600:59:59' ],
+        [ [2041,10,25,22,0,0],[2041,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,28,22,59,59],[2042,3,29,0,59,59],
+          '2041102522:00:00','2041102600:00:00','2042032822:59:59','2042032900:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,28,23,0,0],[2042,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,24,21,59,59],[2042,10,25,0,59,59],
+          '2042032823:00:00','2042032902:00:00','2042102421:59:59','2042102500:59:59' ],
+        [ [2042,10,24,22,0,0],[2042,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,27,22,59,59],[2043,3,28,0,59,59],
+          '2042102422:00:00','2042102500:00:00','2043032722:59:59','2043032800:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,27,23,0,0],[2043,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,30,21,59,59],[2043,10,31,0,59,59],
+          '2043032723:00:00','2043032802:00:00','2043103021:59:59','2043103100:59:59' ],
+        [ [2043,10,30,22,0,0],[2043,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,25,22,59,59],[2044,3,26,0,59,59],
+          '2043103022:00:00','2043103100:00:00','2044032522:59:59','2044032600:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,25,23,0,0],[2044,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,28,21,59,59],[2044,10,29,0,59,59],
+          '2044032523:00:00','2044032602:00:00','2044102821:59:59','2044102900:59:59' ],
+        [ [2044,10,28,22,0,0],[2044,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,24,22,59,59],[2045,3,25,0,59,59],
+          '2044102822:00:00','2044102900:00:00','2045032422:59:59','2045032500:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,24,23,0,0],[2045,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,27,21,59,59],[2045,10,28,0,59,59],
+          '2045032423:00:00','2045032502:00:00','2045102721:59:59','2045102800:59:59' ],
+        [ [2045,10,27,22,0,0],[2045,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,30,22,59,59],[2046,3,31,0,59,59],
+          '2045102722:00:00','2045102800:00:00','2046033022:59:59','2046033100:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,30,23,0,0],[2046,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,26,21,59,59],[2046,10,27,0,59,59],
+          '2046033023:00:00','2046033102:00:00','2046102621:59:59','2046102700:59:59' ],
+        [ [2046,10,26,22,0,0],[2046,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,29,22,59,59],[2047,3,30,0,59,59],
+          '2046102622:00:00','2046102700:00:00','2047032922:59:59','2047033000:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,29,23,0,0],[2047,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,25,21,59,59],[2047,10,26,0,59,59],
+          '2047032923:00:00','2047033002:00:00','2047102521:59:59','2047102600:59:59' ],
+        [ [2047,10,25,22,0,0],[2047,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,27,22,59,59],[2048,3,28,0,59,59],
+          '2047102522:00:00','2047102600:00:00','2048032722:59:59','2048032800:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,27,23,0,0],[2048,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,30,21,59,59],[2048,10,31,0,59,59],
+          '2048032723:00:00','2048032802:00:00','2048103021:59:59','2048103100:59:59' ],
+        [ [2048,10,30,22,0,0],[2048,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,26,22,59,59],[2049,3,27,0,59,59],
+          '2048103022:00:00','2048103100:00:00','2049032622:59:59','2049032700:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,26,23,0,0],[2049,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,29,21,59,59],[2049,10,30,0,59,59],
+          '2049032623:00:00','2049032702:00:00','2049102921:59:59','2049103000:59:59' ],
+        [ [2049,10,29,22,0,0],[2049,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,25,22,59,59],[2050,3,26,0,59,59],
+          '2049102922:00:00','2049103000:00:00','2050032522:59:59','2050032600:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,25,23,0,0],[2050,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,28,21,59,59],[2050,10,29,0,59,59],
+          '2050032523:00:00','2050032602:00:00','2050102821:59:59','2050102900:59:59' ],
+        [ [2050,10,28,22,0,0],[2050,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,24,22,59,59],[2051,3,25,0,59,59],
+          '2050102822:00:00','2050102900:00:00','2051032422:59:59','2051032500:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,24,23,0,0],[2051,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,27,21,59,59],[2051,10,28,0,59,59],
+          '2051032423:00:00','2051032502:00:00','2051102721:59:59','2051102800:59:59' ],
+        [ [2051,10,27,22,0,0],[2051,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,29,22,59,59],[2052,3,30,0,59,59],
+          '2051102722:00:00','2051102800:00:00','2052032922:59:59','2052033000:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,29,23,0,0],[2052,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,25,21,59,59],[2052,10,26,0,59,59],
+          '2052032923:00:00','2052033002:00:00','2052102521:59:59','2052102600:59:59' ],
+        [ [2052,10,25,22,0,0],[2052,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,28,22,59,59],[2053,3,29,0,59,59],
+          '2052102522:00:00','2052102600:00:00','2053032822:59:59','2053032900:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,28,23,0,0],[2053,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,24,21,59,59],[2053,10,25,0,59,59],
+          '2053032823:00:00','2053032902:00:00','2053102421:59:59','2053102500:59:59' ],
+        [ [2053,10,24,22,0,0],[2053,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,27,22,59,59],[2054,3,28,0,59,59],
+          '2053102422:00:00','2053102500:00:00','2054032722:59:59','2054032800:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,27,23,0,0],[2054,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,30,21,59,59],[2054,10,31,0,59,59],
+          '2054032723:00:00','2054032802:00:00','2054103021:59:59','2054103100:59:59' ],
+        [ [2054,10,30,22,0,0],[2054,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,26,22,59,59],[2055,3,27,0,59,59],
+          '2054103022:00:00','2054103100:00:00','2055032622:59:59','2055032700:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,26,23,0,0],[2055,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,29,21,59,59],[2055,10,30,0,59,59],
+          '2055032623:00:00','2055032702:00:00','2055102921:59:59','2055103000:59:59' ],
+        [ [2055,10,29,22,0,0],[2055,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,24,22,59,59],[2056,3,25,0,59,59],
+          '2055102922:00:00','2055103000:00:00','2056032422:59:59','2056032500:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,24,23,0,0],[2056,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,27,21,59,59],[2056,10,28,0,59,59],
+          '2056032423:00:00','2056032502:00:00','2056102721:59:59','2056102800:59:59' ],
+        [ [2056,10,27,22,0,0],[2056,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,30,22,59,59],[2057,3,31,0,59,59],
+          '2056102722:00:00','2056102800:00:00','2057033022:59:59','2057033100:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,30,23,0,0],[2057,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,26,21,59,59],[2057,10,27,0,59,59],
+          '2057033023:00:00','2057033102:00:00','2057102621:59:59','2057102700:59:59' ],
+        [ [2057,10,26,22,0,0],[2057,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,29,22,59,59],[2058,3,30,0,59,59],
+          '2057102622:00:00','2057102700:00:00','2058032922:59:59','2058033000:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,29,23,0,0],[2058,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,25,21,59,59],[2058,10,26,0,59,59],
+          '2058032923:00:00','2058033002:00:00','2058102521:59:59','2058102600:59:59' ],
+        [ [2058,10,25,22,0,0],[2058,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,28,22,59,59],[2059,3,29,0,59,59],
+          '2058102522:00:00','2058102600:00:00','2059032822:59:59','2059032900:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,28,23,0,0],[2059,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,24,21,59,59],[2059,10,25,0,59,59],
+          '2059032823:00:00','2059032902:00:00','2059102421:59:59','2059102500:59:59' ],
+        [ [2059,10,24,22,0,0],[2059,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,26,22,59,59],[2060,3,27,0,59,59],
+          '2059102422:00:00','2059102500:00:00','2060032622:59:59','2060032700:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,26,23,0,0],[2060,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,29,21,59,59],[2060,10,30,0,59,59],
+          '2060032623:00:00','2060032702:00:00','2060102921:59:59','2060103000:59:59' ],
+        [ [2060,10,29,22,0,0],[2060,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,25,22,59,59],[2061,3,26,0,59,59],
+          '2060102922:00:00','2060103000:00:00','2061032522:59:59','2061032600:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,25,23,0,0],[2061,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,28,21,59,59],[2061,10,29,0,59,59],
+          '2061032523:00:00','2061032602:00:00','2061102821:59:59','2061102900:59:59' ],
+        [ [2061,10,28,22,0,0],[2061,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,24,22,59,59],[2062,3,25,0,59,59],
+          '2061102822:00:00','2061102900:00:00','2062032422:59:59','2062032500:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,24,23,0,0],[2062,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,27,21,59,59],[2062,10,28,0,59,59],
+          '2062032423:00:00','2062032502:00:00','2062102721:59:59','2062102800:59:59' ],
+        [ [2062,10,27,22,0,0],[2062,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,30,22,59,59],[2063,3,31,0,59,59],
+          '2062102722:00:00','2062102800:00:00','2063033022:59:59','2063033100:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,30,23,0,0],[2063,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,26,21,59,59],[2063,10,27,0,59,59],
+          '2063033023:00:00','2063033102:00:00','2063102621:59:59','2063102700:59:59' ],
+        [ [2063,10,26,22,0,0],[2063,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,28,22,59,59],[2064,3,29,0,59,59],
+          '2063102622:00:00','2063102700:00:00','2064032822:59:59','2064032900:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,28,23,0,0],[2064,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,24,21,59,59],[2064,10,25,0,59,59],
+          '2064032823:00:00','2064032902:00:00','2064102421:59:59','2064102500:59:59' ],
+        [ [2064,10,24,22,0,0],[2064,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,27,22,59,59],[2065,3,28,0,59,59],
+          '2064102422:00:00','2064102500:00:00','2065032722:59:59','2065032800:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,27,23,0,0],[2065,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,30,21,59,59],[2065,10,31,0,59,59],
+          '2065032723:00:00','2065032802:00:00','2065103021:59:59','2065103100:59:59' ],
+        [ [2065,10,30,22,0,0],[2065,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,26,22,59,59],[2066,3,27,0,59,59],
+          '2065103022:00:00','2065103100:00:00','2066032622:59:59','2066032700:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,26,23,0,0],[2066,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,29,21,59,59],[2066,10,30,0,59,59],
+          '2066032623:00:00','2066032702:00:00','2066102921:59:59','2066103000:59:59' ],
+        [ [2066,10,29,22,0,0],[2066,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,25,22,59,59],[2067,3,26,0,59,59],
+          '2066102922:00:00','2066103000:00:00','2067032522:59:59','2067032600:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,25,23,0,0],[2067,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,28,21,59,59],[2067,10,29,0,59,59],
+          '2067032523:00:00','2067032602:00:00','2067102821:59:59','2067102900:59:59' ],
+        [ [2067,10,28,22,0,0],[2067,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,30,22,59,59],[2068,3,31,0,59,59],
+          '2067102822:00:00','2067102900:00:00','2068033022:59:59','2068033100:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '6',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '6',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ashebr00.pm b/lib/Date/Manip/TZ/ashebr00.pm
new file mode 100644
index 0000000..ff07dbe
--- /dev/null
+++ b/lib/Date/Manip/TZ/ashebr00.pm
@@ -0,0 +1,994 @@
+package #
+Date::Manip::TZ::ashebr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,20,23],'+02:20:23',[2,20,23],
+          'LMT',0,[1900,9,30,21,39,36],[1900,9,30,23,59,59],
+          '0001010200:00:00','0001010202:20:23','1900093021:39:36','1900093023:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,9,30,21,39,37],[1900,9,30,23,39,37],'+02:00:00',[2,0,0],
+          'EET',0,[1940,5,31,21,59,59],[1940,5,31,23,59,59],
+          '1900093021:39:37','1900093023:39:37','1940053121:59:59','1940053123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,31,22,0,0],[1940,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1942,10,31,20,59,59],[1942,10,31,23,59,59],
+          '1940053122:00:00','1940060101:00:00','1942103120:59:59','1942103123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,10,31,21,0,0],[1942,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1943,3,31,23,59,59],[1943,4,1,1,59,59],
+          '1942103121:00:00','1942103123:00:00','1943033123:59:59','1943040101:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,1,0,0,0],[1943,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1943,10,31,20,59,59],[1943,10,31,23,59,59],
+          '1943040100:00:00','1943040103:00:00','1943103120:59:59','1943103123:59:59' ],
+        [ [1943,10,31,21,0,0],[1943,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1944,3,31,21,59,59],[1944,3,31,23,59,59],
+          '1943103121:00:00','1943103123:00:00','1944033121:59:59','1944033123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,31,22,0,0],[1944,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1944,10,31,20,59,59],[1944,10,31,23,59,59],
+          '1944033122:00:00','1944040101:00:00','1944103120:59:59','1944103123:59:59' ],
+        [ [1944,10,31,21,0,0],[1944,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1945,4,15,21,59,59],[1945,4,15,23,59,59],
+          '1944103121:00:00','1944103123:00:00','1945041521:59:59','1945041523:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,15,22,0,0],[1945,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1945,10,31,22,59,59],[1945,11,1,1,59,59],
+          '1945041522:00:00','1945041601:00:00','1945103122:59:59','1945110101:59:59' ],
+        [ [1945,10,31,23,0,0],[1945,11,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1946,4,15,23,59,59],[1946,4,16,1,59,59],
+          '1945103123:00:00','1945110101:00:00','1946041523:59:59','1946041601:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,16,0,0,0],[1946,4,16,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1946,10,31,20,59,59],[1946,10,31,23,59,59],
+          '1946041600:00:00','1946041603:00:00','1946103120:59:59','1946103123:59:59' ],
+        [ [1946,10,31,21,0,0],[1946,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1957,5,9,21,59,59],[1957,5,9,23,59,59],
+          '1946103121:00:00','1946103123:00:00','1957050921:59:59','1957050923:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,5,9,22,0,0],[1957,5,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1957,9,30,20,59,59],[1957,9,30,23,59,59],
+          '1957050922:00:00','1957051001:00:00','1957093020:59:59','1957093023:59:59' ],
+        [ [1957,9,30,21,0,0],[1957,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1958,4,30,21,59,59],[1958,4,30,23,59,59],
+          '1957093021:00:00','1957093023:00:00','1958043021:59:59','1958043023:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,30,22,0,0],[1958,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1958,9,30,20,59,59],[1958,9,30,23,59,59],
+          '1958043022:00:00','1958050101:00:00','1958093020:59:59','1958093023:59:59' ],
+        [ [1958,9,30,21,0,0],[1958,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1959,4,30,22,59,59],[1959,5,1,0,59,59],
+          '1958093021:00:00','1958093023:00:00','1959043022:59:59','1959050100:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,30,23,0,0],[1959,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1959,9,29,23,59,59],[1959,9,30,2,59,59],
+          '1959043023:00:00','1959050102:00:00','1959092923:59:59','1959093002:59:59' ],
+        [ [1959,9,30,0,0,0],[1959,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1960,4,30,22,59,59],[1960,5,1,0,59,59],
+          '1959093000:00:00','1959093002:00:00','1960043022:59:59','1960050100:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,30,23,0,0],[1960,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1960,9,29,23,59,59],[1960,9,30,2,59,59],
+          '1960043023:00:00','1960050102:00:00','1960092923:59:59','1960093002:59:59' ],
+        [ [1960,9,30,0,0,0],[1960,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1961,4,30,22,59,59],[1961,5,1,0,59,59],
+          '1960093000:00:00','1960093002:00:00','1961043022:59:59','1961050100:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,30,23,0,0],[1961,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1961,9,29,23,59,59],[1961,9,30,2,59,59],
+          '1961043023:00:00','1961050102:00:00','1961092923:59:59','1961093002:59:59' ],
+        [ [1961,9,30,0,0,0],[1961,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1962,4,30,22,59,59],[1962,5,1,0,59,59],
+          '1961093000:00:00','1961093002:00:00','1962043022:59:59','1962050100:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,30,23,0,0],[1962,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1962,9,29,23,59,59],[1962,9,30,2,59,59],
+          '1962043023:00:00','1962050102:00:00','1962092923:59:59','1962093002:59:59' ],
+        [ [1962,9,30,0,0,0],[1962,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1963,4,30,22,59,59],[1963,5,1,0,59,59],
+          '1962093000:00:00','1962093002:00:00','1963043022:59:59','1963050100:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,30,23,0,0],[1963,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1963,9,29,23,59,59],[1963,9,30,2,59,59],
+          '1963043023:00:00','1963050102:00:00','1963092923:59:59','1963093002:59:59' ],
+        [ [1963,9,30,0,0,0],[1963,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1964,4,30,22,59,59],[1964,5,1,0,59,59],
+          '1963093000:00:00','1963093002:00:00','1964043022:59:59','1964050100:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,30,23,0,0],[1964,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1964,9,29,23,59,59],[1964,9,30,2,59,59],
+          '1964043023:00:00','1964050102:00:00','1964092923:59:59','1964093002:59:59' ],
+        [ [1964,9,30,0,0,0],[1964,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1965,4,30,22,59,59],[1965,5,1,0,59,59],
+          '1964093000:00:00','1964093002:00:00','1965043022:59:59','1965050100:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,30,23,0,0],[1965,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1965,9,29,23,59,59],[1965,9,30,2,59,59],
+          '1965043023:00:00','1965050102:00:00','1965092923:59:59','1965093002:59:59' ],
+        [ [1965,9,30,0,0,0],[1965,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1966,4,30,22,59,59],[1966,5,1,0,59,59],
+          '1965093000:00:00','1965093002:00:00','1966043022:59:59','1966050100:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,30,23,0,0],[1966,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1966,9,30,23,59,59],[1966,10,1,2,59,59],
+          '1966043023:00:00','1966050102:00:00','1966093023:59:59','1966100102:59:59' ],
+        [ [1966,10,1,0,0,0],[1966,10,1,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1967,4,30,22,59,59],[1967,5,1,0,59,59],
+          '1966100100:00:00','1966100102:00:00','1967043022:59:59','1967050100:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,30,23,0,0],[1967,5,1,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1967,6,4,20,59,59],[1967,6,4,23,59,59],
+          '1967043023:00:00','1967050102:00:00','1967060420:59:59','1967060423:59:59' ],
+        [ [1967,6,4,21,0,0],[1967,6,4,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1974,7,6,21,59,59],[1974,7,6,23,59,59],
+          '1967060421:00:00','1967060423:00:00','1974070621:59:59','1974070623:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,7,6,22,0,0],[1974,7,7,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1974,10,12,20,59,59],[1974,10,12,23,59,59],
+          '1974070622:00:00','1974070701:00:00','1974101220:59:59','1974101223:59:59' ],
+        [ [1974,10,12,21,0,0],[1974,10,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1975,4,19,21,59,59],[1975,4,19,23,59,59],
+          '1974101221:00:00','1974101223:00:00','1975041921:59:59','1975041923:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,19,22,0,0],[1975,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1975,8,30,20,59,59],[1975,8,30,23,59,59],
+          '1975041922:00:00','1975042001:00:00','1975083020:59:59','1975083023:59:59' ],
+        [ [1975,8,30,21,0,0],[1975,8,30,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1985,4,13,21,59,59],[1985,4,13,23,59,59],
+          '1975083021:00:00','1975083023:00:00','1985041321:59:59','1985041323:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,13,22,0,0],[1985,4,14,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1985,9,14,20,59,59],[1985,9,14,23,59,59],
+          '1985041322:00:00','1985041401:00:00','1985091420:59:59','1985091423:59:59' ],
+        [ [1985,9,14,21,0,0],[1985,9,14,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1986,5,17,21,59,59],[1986,5,17,23,59,59],
+          '1985091421:00:00','1985091423:00:00','1986051721:59:59','1986051723:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,5,17,22,0,0],[1986,5,18,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1986,9,6,20,59,59],[1986,9,6,23,59,59],
+          '1986051722:00:00','1986051801:00:00','1986090620:59:59','1986090623:59:59' ],
+        [ [1986,9,6,21,0,0],[1986,9,6,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1987,4,14,21,59,59],[1987,4,14,23,59,59],
+          '1986090621:00:00','1986090623:00:00','1987041421:59:59','1987041423:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,14,22,0,0],[1987,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1987,9,12,20,59,59],[1987,9,12,23,59,59],
+          '1987041422:00:00','1987041501:00:00','1987091220:59:59','1987091223:59:59' ],
+        [ [1987,9,12,21,0,0],[1987,9,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1988,4,9,21,59,59],[1988,4,9,23,59,59],
+          '1987091221:00:00','1987091223:00:00','1988040921:59:59','1988040923:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,9,22,0,0],[1988,4,10,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1988,9,3,20,59,59],[1988,9,3,23,59,59],
+          '1988040922:00:00','1988041001:00:00','1988090320:59:59','1988090323:59:59' ],
+        [ [1988,9,3,21,0,0],[1988,9,3,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1989,4,29,21,59,59],[1989,4,29,23,59,59],
+          '1988090321:00:00','1988090323:00:00','1989042921:59:59','1989042923:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,29,22,0,0],[1989,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1989,9,2,20,59,59],[1989,9,2,23,59,59],
+          '1989042922:00:00','1989043001:00:00','1989090220:59:59','1989090223:59:59' ],
+        [ [1989,9,2,21,0,0],[1989,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1990,3,24,21,59,59],[1990,3,24,23,59,59],
+          '1989090221:00:00','1989090223:00:00','1990032421:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1990,8,25,20,59,59],[1990,8,25,23,59,59],
+          '1990032422:00:00','1990032501:00:00','1990082520:59:59','1990082523:59:59' ],
+        [ [1990,8,25,21,0,0],[1990,8,25,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1991,3,23,21,59,59],[1991,3,23,23,59,59],
+          '1990082521:00:00','1990082523:00:00','1991032321:59:59','1991032323:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,23,22,0,0],[1991,3,24,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1991,8,31,20,59,59],[1991,8,31,23,59,59],
+          '1991032322:00:00','1991032401:00:00','1991083120:59:59','1991083123:59:59' ],
+        [ [1991,8,31,21,0,0],[1991,8,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991083121:00:00','1991083123:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1992,9,5,20,59,59],[1992,9,5,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992090520:59:59','1992090523:59:59' ],
+        [ [1992,9,5,21,0,0],[1992,9,5,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1993,4,1,21,59,59],[1993,4,1,23,59,59],
+          '1992090521:00:00','1992090523:00:00','1993040121:59:59','1993040123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,1,22,0,0],[1993,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1993,9,4,20,59,59],[1993,9,4,23,59,59],
+          '1993040122:00:00','1993040201:00:00','1993090420:59:59','1993090423:59:59' ],
+        [ [1993,9,4,21,0,0],[1993,9,4,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1994,3,31,21,59,59],[1994,3,31,23,59,59],
+          '1993090421:00:00','1993090423:00:00','1994033121:59:59','1994033123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,31,22,0,0],[1994,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1994,8,27,20,59,59],[1994,8,27,23,59,59],
+          '1994033122:00:00','1994040101:00:00','1994082720:59:59','1994082723:59:59' ],
+        [ [1994,8,27,21,0,0],[1994,8,27,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1995,3,30,21,59,59],[1995,3,30,23,59,59],
+          '1994082721:00:00','1994082723:00:00','1995033021:59:59','1995033023:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,30,22,0,0],[1995,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1995,9,2,20,59,59],[1995,9,2,23,59,59],
+          '1995033022:00:00','1995033101:00:00','1995090220:59:59','1995090223:59:59' ],
+        [ [1995,9,2,21,0,0],[1995,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1995,12,31,21,59,59],[1995,12,31,23,59,59],
+          '1995090221:00:00','1995090223:00:00','1995123121:59:59','1995123123:59:59' ],
+        [ [1995,12,31,22,0,0],[1996,1,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,4,4,21,59,59],[1996,4,4,23,59,59],
+          '1995123122:00:00','1996010100:00:00','1996040421:59:59','1996040423:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,4,22,0,0],[1996,4,5,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,19,21,59,59],[1996,9,20,0,59,59],
+          '1996040422:00:00','1996040501:00:00','1996091921:59:59','1996092000:59:59' ],
+        [ [1996,9,19,22,0,0],[1996,9,20,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,4,3,21,59,59],[1997,4,3,23,59,59],
+          '1996091922:00:00','1996092000:00:00','1997040321:59:59','1997040323:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,3,22,0,0],[1997,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,18,21,59,59],[1997,9,19,0,59,59],
+          '1997040322:00:00','1997040401:00:00','1997091821:59:59','1997091900:59:59' ],
+        [ [1997,9,18,22,0,0],[1997,9,19,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,4,2,21,59,59],[1998,4,2,23,59,59],
+          '1997091822:00:00','1997091900:00:00','1998040221:59:59','1998040223:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,2,22,0,0],[1998,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,9,17,21,59,59],[1998,9,18,0,59,59],
+          '1998040222:00:00','1998040301:00:00','1998091721:59:59','1998091800:59:59' ],
+        [ [1998,9,17,22,0,0],[1998,9,18,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,4,15,21,59,59],[1999,4,15,23,59,59],
+          '1998091722:00:00','1998091800:00:00','1999041521:59:59','1999041523:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,15,22,0,0],[1999,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,14,20,59,59],[1999,10,14,23,59,59],
+          '1999041522:00:00','1999041601:00:00','1999101420:59:59','1999101423:59:59' ],
+        [ [1999,10,14,21,0,0],[1999,10,14,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,4,20,21,59,59],[2000,4,20,23,59,59],
+          '1999101421:00:00','1999101423:00:00','2000042021:59:59','2000042023:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,20,22,0,0],[2000,4,21,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,19,20,59,59],[2000,10,19,23,59,59],
+          '2000042022:00:00','2000042101:00:00','2000101920:59:59','2000101923:59:59' ],
+        [ [2000,10,19,21,0,0],[2000,10,19,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,4,19,21,59,59],[2001,4,19,23,59,59],
+          '2000101921:00:00','2000101923:00:00','2001041921:59:59','2001041923:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,19,22,0,0],[2001,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,18,20,59,59],[2001,10,18,23,59,59],
+          '2001041922:00:00','2001042001:00:00','2001101820:59:59','2001101823:59:59' ],
+        [ [2001,10,18,21,0,0],[2001,10,18,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,4,18,21,59,59],[2002,4,18,23,59,59],
+          '2001101821:00:00','2001101823:00:00','2002041821:59:59','2002041823:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,18,22,0,0],[2002,4,19,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,17,20,59,59],[2002,10,17,23,59,59],
+          '2002041822:00:00','2002041901:00:00','2002101720:59:59','2002101723:59:59' ],
+        [ [2002,10,17,21,0,0],[2002,10,17,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,4,17,21,59,59],[2003,4,17,23,59,59],
+          '2002101721:00:00','2002101723:00:00','2003041721:59:59','2003041723:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,17,22,0,0],[2003,4,18,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,16,20,59,59],[2003,10,16,23,59,59],
+          '2003041722:00:00','2003041801:00:00','2003101620:59:59','2003101623:59:59' ],
+        [ [2003,10,16,21,0,0],[2003,10,16,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,4,15,21,59,59],[2004,4,15,23,59,59],
+          '2003101621:00:00','2003101623:00:00','2004041521:59:59','2004041523:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,15,22,0,0],[2004,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,9,30,21,59,59],[2004,10,1,0,59,59],
+          '2004041522:00:00','2004041601:00:00','2004093021:59:59','2004100100:59:59' ],
+        [ [2004,9,30,22,0,0],[2004,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,4,14,21,59,59],[2005,4,14,23,59,59],
+          '2004093022:00:00','2004100100:00:00','2005041421:59:59','2005041423:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,14,22,0,0],[2005,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,3,22,59,59],[2005,10,4,1,59,59],
+          '2005041422:00:00','2005041501:00:00','2005100322:59:59','2005100401:59:59' ],
+        [ [2005,10,3,23,0,0],[2005,10,4,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,31,21,59,59],[2006,3,31,23,59,59],
+          '2005100323:00:00','2005100401:00:00','2006033121:59:59','2006033123:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,31,22,0,0],[2006,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,9,21,20,59,59],[2006,9,21,23,59,59],
+          '2006033122:00:00','2006040101:00:00','2006092120:59:59','2006092123:59:59' ],
+        [ [2006,9,21,21,0,0],[2006,9,21,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,31,21,59,59],[2007,3,31,23,59,59],
+          '2006092121:00:00','2006092123:00:00','2007033121:59:59','2007033123:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,31,22,0,0],[2007,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,9,12,22,59,59],[2007,9,13,1,59,59],
+          '2007033122:00:00','2007040101:00:00','2007091222:59:59','2007091301:59:59' ],
+        [ [2007,9,12,23,0,0],[2007,9,13,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,27,21,59,59],[2008,3,27,23,59,59],
+          '2007091223:00:00','2007091301:00:00','2008032721:59:59','2008032723:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,27,22,0,0],[2008,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,8,31,20,59,59],[2008,8,31,23,59,59],
+          '2008032722:00:00','2008032801:00:00','2008083120:59:59','2008083123:59:59' ],
+        [ [2008,8,31,21,0,0],[2008,8,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,26,21,59,59],[2009,3,26,23,59,59],
+          '2008083121:00:00','2008083123:00:00','2009032621:59:59','2009032623:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,26,22,0,0],[2009,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,9,3,21,59,59],[2009,9,4,0,59,59],
+          '2009032622:00:00','2009032701:00:00','2009090321:59:59','2009090400:59:59' ],
+        [ [2009,9,3,22,0,0],[2009,9,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,25,21,59,59],[2010,3,25,23,59,59],
+          '2009090322:00:00','2009090400:00:00','2010032521:59:59','2010032523:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,25,22,0,0],[2010,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,8,10,20,59,59],[2010,8,10,23,59,59],
+          '2010032522:00:00','2010032601:00:00','2010081020:59:59','2010081023:59:59' ],
+        [ [2010,8,10,21,0,0],[2010,8,10,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,31,22,0,59],[2011,4,1,0,0,59],
+          '2010081021:00:00','2010081023:00:00','2011033122:00:59','2011040100:00:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,31,22,1,0],[2011,4,1,1,1,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,7,31,20,59,59],[2011,7,31,23,59,59],
+          '2011033122:01:00','2011040101:01:00','2011073120:59:59','2011073123:59:59' ],
+        [ [2011,7,31,21,0,0],[2011,7,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,8,29,21,59,59],[2011,8,29,23,59,59],
+          '2011073121:00:00','2011073123:00:00','2011082921:59:59','2011082923:59:59' ],
+        [ [2011,8,29,22,0,0],[2011,8,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,9,29,20,59,59],[2011,9,29,23,59,59],
+          '2011082922:00:00','2011083001:00:00','2011092920:59:59','2011092923:59:59' ],
+        [ [2011,9,29,21,0,0],[2011,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,29,21,59,59],[2012,3,29,23,59,59],
+          '2011092921:00:00','2011092923:00:00','2012032921:59:59','2012032923:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,29,22,0,0],[2012,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,9,20,21,59,59],[2012,9,21,0,59,59],
+          '2012032922:00:00','2012033001:00:00','2012092021:59:59','2012092100:59:59' ],
+        [ [2012,9,20,22,0,0],[2012,9,21,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,28,21,59,59],[2013,3,28,23,59,59],
+          '2012092022:00:00','2012092100:00:00','2013032821:59:59','2013032823:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,28,22,0,0],[2013,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,9,26,20,59,59],[2013,9,26,23,59,59],
+          '2013032822:00:00','2013032901:00:00','2013092620:59:59','2013092623:59:59' ],
+        [ [2013,9,26,21,0,0],[2013,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,27,21,59,59],[2014,3,27,23,59,59],
+          '2013092621:00:00','2013092623:00:00','2014032721:59:59','2014032723:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,27,22,0,0],[2014,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,23,20,59,59],[2014,10,23,23,59,59],
+          '2014032722:00:00','2014032801:00:00','2014102320:59:59','2014102323:59:59' ],
+        [ [2014,10,23,21,0,0],[2014,10,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,27,21,59,59],[2015,3,27,23,59,59],
+          '2014102321:00:00','2014102323:00:00','2015032721:59:59','2015032723:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,22,0,0],[2015,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,22,20,59,59],[2015,10,22,23,59,59],
+          '2015032722:00:00','2015032801:00:00','2015102220:59:59','2015102223:59:59' ],
+        [ [2015,10,22,21,0,0],[2015,10,22,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,25,22,59,59],[2016,3,26,0,59,59],
+          '2015102221:00:00','2015102223:00:00','2016032522:59:59','2016032600:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,23,0,0],[2016,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,28,21,59,59],[2016,10,29,0,59,59],
+          '2016032523:00:00','2016032602:00:00','2016102821:59:59','2016102900:59:59' ],
+        [ [2016,10,28,22,0,0],[2016,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,24,22,59,59],[2017,3,25,0,59,59],
+          '2016102822:00:00','2016102900:00:00','2017032422:59:59','2017032500:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,24,23,0,0],[2017,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,27,21,59,59],[2017,10,28,0,59,59],
+          '2017032423:00:00','2017032502:00:00','2017102721:59:59','2017102800:59:59' ],
+        [ [2017,10,27,22,0,0],[2017,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,30,22,59,59],[2018,3,31,0,59,59],
+          '2017102722:00:00','2017102800:00:00','2018033022:59:59','2018033100:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,30,23,0,0],[2018,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,26,21,59,59],[2018,10,27,0,59,59],
+          '2018033023:00:00','2018033102:00:00','2018102621:59:59','2018102700:59:59' ],
+        [ [2018,10,26,22,0,0],[2018,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,29,22,59,59],[2019,3,30,0,59,59],
+          '2018102622:00:00','2018102700:00:00','2019032922:59:59','2019033000:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,29,23,0,0],[2019,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,25,21,59,59],[2019,10,26,0,59,59],
+          '2019032923:00:00','2019033002:00:00','2019102521:59:59','2019102600:59:59' ],
+        [ [2019,10,25,22,0,0],[2019,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,27,22,59,59],[2020,3,28,0,59,59],
+          '2019102522:00:00','2019102600:00:00','2020032722:59:59','2020032800:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,27,23,0,0],[2020,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,30,21,59,59],[2020,10,31,0,59,59],
+          '2020032723:00:00','2020032802:00:00','2020103021:59:59','2020103100:59:59' ],
+        [ [2020,10,30,22,0,0],[2020,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,26,22,59,59],[2021,3,27,0,59,59],
+          '2020103022:00:00','2020103100:00:00','2021032622:59:59','2021032700:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,26,23,0,0],[2021,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,29,21,59,59],[2021,10,30,0,59,59],
+          '2021032623:00:00','2021032702:00:00','2021102921:59:59','2021103000:59:59' ],
+        [ [2021,10,29,22,0,0],[2021,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,25,22,59,59],[2022,3,26,0,59,59],
+          '2021102922:00:00','2021103000:00:00','2022032522:59:59','2022032600:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,25,23,0,0],[2022,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,28,21,59,59],[2022,10,29,0,59,59],
+          '2022032523:00:00','2022032602:00:00','2022102821:59:59','2022102900:59:59' ],
+        [ [2022,10,28,22,0,0],[2022,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,24,22,59,59],[2023,3,25,0,59,59],
+          '2022102822:00:00','2022102900:00:00','2023032422:59:59','2023032500:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,24,23,0,0],[2023,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,27,21,59,59],[2023,10,28,0,59,59],
+          '2023032423:00:00','2023032502:00:00','2023102721:59:59','2023102800:59:59' ],
+        [ [2023,10,27,22,0,0],[2023,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,29,22,59,59],[2024,3,30,0,59,59],
+          '2023102722:00:00','2023102800:00:00','2024032922:59:59','2024033000:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,29,23,0,0],[2024,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,25,21,59,59],[2024,10,26,0,59,59],
+          '2024032923:00:00','2024033002:00:00','2024102521:59:59','2024102600:59:59' ],
+        [ [2024,10,25,22,0,0],[2024,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,28,22,59,59],[2025,3,29,0,59,59],
+          '2024102522:00:00','2024102600:00:00','2025032822:59:59','2025032900:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,28,23,0,0],[2025,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,24,21,59,59],[2025,10,25,0,59,59],
+          '2025032823:00:00','2025032902:00:00','2025102421:59:59','2025102500:59:59' ],
+        [ [2025,10,24,22,0,0],[2025,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,27,22,59,59],[2026,3,28,0,59,59],
+          '2025102422:00:00','2025102500:00:00','2026032722:59:59','2026032800:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,27,23,0,0],[2026,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,30,21,59,59],[2026,10,31,0,59,59],
+          '2026032723:00:00','2026032802:00:00','2026103021:59:59','2026103100:59:59' ],
+        [ [2026,10,30,22,0,0],[2026,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,26,22,59,59],[2027,3,27,0,59,59],
+          '2026103022:00:00','2026103100:00:00','2027032622:59:59','2027032700:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,26,23,0,0],[2027,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,29,21,59,59],[2027,10,30,0,59,59],
+          '2027032623:00:00','2027032702:00:00','2027102921:59:59','2027103000:59:59' ],
+        [ [2027,10,29,22,0,0],[2027,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,24,22,59,59],[2028,3,25,0,59,59],
+          '2027102922:00:00','2027103000:00:00','2028032422:59:59','2028032500:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,24,23,0,0],[2028,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,27,21,59,59],[2028,10,28,0,59,59],
+          '2028032423:00:00','2028032502:00:00','2028102721:59:59','2028102800:59:59' ],
+        [ [2028,10,27,22,0,0],[2028,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,30,22,59,59],[2029,3,31,0,59,59],
+          '2028102722:00:00','2028102800:00:00','2029033022:59:59','2029033100:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,30,23,0,0],[2029,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,26,21,59,59],[2029,10,27,0,59,59],
+          '2029033023:00:00','2029033102:00:00','2029102621:59:59','2029102700:59:59' ],
+        [ [2029,10,26,22,0,0],[2029,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,29,22,59,59],[2030,3,30,0,59,59],
+          '2029102622:00:00','2029102700:00:00','2030032922:59:59','2030033000:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,29,23,0,0],[2030,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,25,21,59,59],[2030,10,26,0,59,59],
+          '2030032923:00:00','2030033002:00:00','2030102521:59:59','2030102600:59:59' ],
+        [ [2030,10,25,22,0,0],[2030,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,28,22,59,59],[2031,3,29,0,59,59],
+          '2030102522:00:00','2030102600:00:00','2031032822:59:59','2031032900:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,28,23,0,0],[2031,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,24,21,59,59],[2031,10,25,0,59,59],
+          '2031032823:00:00','2031032902:00:00','2031102421:59:59','2031102500:59:59' ],
+        [ [2031,10,24,22,0,0],[2031,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,26,22,59,59],[2032,3,27,0,59,59],
+          '2031102422:00:00','2031102500:00:00','2032032622:59:59','2032032700:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,26,23,0,0],[2032,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,29,21,59,59],[2032,10,30,0,59,59],
+          '2032032623:00:00','2032032702:00:00','2032102921:59:59','2032103000:59:59' ],
+        [ [2032,10,29,22,0,0],[2032,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,25,22,59,59],[2033,3,26,0,59,59],
+          '2032102922:00:00','2032103000:00:00','2033032522:59:59','2033032600:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,25,23,0,0],[2033,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,28,21,59,59],[2033,10,29,0,59,59],
+          '2033032523:00:00','2033032602:00:00','2033102821:59:59','2033102900:59:59' ],
+        [ [2033,10,28,22,0,0],[2033,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,24,22,59,59],[2034,3,25,0,59,59],
+          '2033102822:00:00','2033102900:00:00','2034032422:59:59','2034032500:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,24,23,0,0],[2034,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,27,21,59,59],[2034,10,28,0,59,59],
+          '2034032423:00:00','2034032502:00:00','2034102721:59:59','2034102800:59:59' ],
+        [ [2034,10,27,22,0,0],[2034,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,30,22,59,59],[2035,3,31,0,59,59],
+          '2034102722:00:00','2034102800:00:00','2035033022:59:59','2035033100:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,30,23,0,0],[2035,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,26,21,59,59],[2035,10,27,0,59,59],
+          '2035033023:00:00','2035033102:00:00','2035102621:59:59','2035102700:59:59' ],
+        [ [2035,10,26,22,0,0],[2035,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,28,22,59,59],[2036,3,29,0,59,59],
+          '2035102622:00:00','2035102700:00:00','2036032822:59:59','2036032900:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,28,23,0,0],[2036,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,24,21,59,59],[2036,10,25,0,59,59],
+          '2036032823:00:00','2036032902:00:00','2036102421:59:59','2036102500:59:59' ],
+        [ [2036,10,24,22,0,0],[2036,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,27,22,59,59],[2037,3,28,0,59,59],
+          '2036102422:00:00','2036102500:00:00','2037032722:59:59','2037032800:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,27,23,0,0],[2037,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,30,21,59,59],[2037,10,31,0,59,59],
+          '2037032723:00:00','2037032802:00:00','2037103021:59:59','2037103100:59:59' ],
+        [ [2037,10,30,22,0,0],[2037,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,26,22,59,59],[2038,3,27,0,59,59],
+          '2037103022:00:00','2037103100:00:00','2038032622:59:59','2038032700:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,26,23,0,0],[2038,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,29,21,59,59],[2038,10,30,0,59,59],
+          '2038032623:00:00','2038032702:00:00','2038102921:59:59','2038103000:59:59' ],
+        [ [2038,10,29,22,0,0],[2038,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,25,22,59,59],[2039,3,26,0,59,59],
+          '2038102922:00:00','2038103000:00:00','2039032522:59:59','2039032600:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,25,23,0,0],[2039,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,28,21,59,59],[2039,10,29,0,59,59],
+          '2039032523:00:00','2039032602:00:00','2039102821:59:59','2039102900:59:59' ],
+        [ [2039,10,28,22,0,0],[2039,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,30,22,59,59],[2040,3,31,0,59,59],
+          '2039102822:00:00','2039102900:00:00','2040033022:59:59','2040033100:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,30,23,0,0],[2040,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,26,21,59,59],[2040,10,27,0,59,59],
+          '2040033023:00:00','2040033102:00:00','2040102621:59:59','2040102700:59:59' ],
+        [ [2040,10,26,22,0,0],[2040,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,29,22,59,59],[2041,3,30,0,59,59],
+          '2040102622:00:00','2040102700:00:00','2041032922:59:59','2041033000:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,29,23,0,0],[2041,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,25,21,59,59],[2041,10,26,0,59,59],
+          '2041032923:00:00','2041033002:00:00','2041102521:59:59','2041102600:59:59' ],
+        [ [2041,10,25,22,0,0],[2041,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,28,22,59,59],[2042,3,29,0,59,59],
+          '2041102522:00:00','2041102600:00:00','2042032822:59:59','2042032900:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,28,23,0,0],[2042,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,24,21,59,59],[2042,10,25,0,59,59],
+          '2042032823:00:00','2042032902:00:00','2042102421:59:59','2042102500:59:59' ],
+        [ [2042,10,24,22,0,0],[2042,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,27,22,59,59],[2043,3,28,0,59,59],
+          '2042102422:00:00','2042102500:00:00','2043032722:59:59','2043032800:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,27,23,0,0],[2043,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,30,21,59,59],[2043,10,31,0,59,59],
+          '2043032723:00:00','2043032802:00:00','2043103021:59:59','2043103100:59:59' ],
+        [ [2043,10,30,22,0,0],[2043,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,25,22,59,59],[2044,3,26,0,59,59],
+          '2043103022:00:00','2043103100:00:00','2044032522:59:59','2044032600:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,25,23,0,0],[2044,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,28,21,59,59],[2044,10,29,0,59,59],
+          '2044032523:00:00','2044032602:00:00','2044102821:59:59','2044102900:59:59' ],
+        [ [2044,10,28,22,0,0],[2044,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,24,22,59,59],[2045,3,25,0,59,59],
+          '2044102822:00:00','2044102900:00:00','2045032422:59:59','2045032500:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,24,23,0,0],[2045,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,27,21,59,59],[2045,10,28,0,59,59],
+          '2045032423:00:00','2045032502:00:00','2045102721:59:59','2045102800:59:59' ],
+        [ [2045,10,27,22,0,0],[2045,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,30,22,59,59],[2046,3,31,0,59,59],
+          '2045102722:00:00','2045102800:00:00','2046033022:59:59','2046033100:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,30,23,0,0],[2046,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,26,21,59,59],[2046,10,27,0,59,59],
+          '2046033023:00:00','2046033102:00:00','2046102621:59:59','2046102700:59:59' ],
+        [ [2046,10,26,22,0,0],[2046,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,29,22,59,59],[2047,3,30,0,59,59],
+          '2046102622:00:00','2046102700:00:00','2047032922:59:59','2047033000:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,29,23,0,0],[2047,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,25,21,59,59],[2047,10,26,0,59,59],
+          '2047032923:00:00','2047033002:00:00','2047102521:59:59','2047102600:59:59' ],
+        [ [2047,10,25,22,0,0],[2047,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,27,22,59,59],[2048,3,28,0,59,59],
+          '2047102522:00:00','2047102600:00:00','2048032722:59:59','2048032800:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,27,23,0,0],[2048,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,30,21,59,59],[2048,10,31,0,59,59],
+          '2048032723:00:00','2048032802:00:00','2048103021:59:59','2048103100:59:59' ],
+        [ [2048,10,30,22,0,0],[2048,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,26,22,59,59],[2049,3,27,0,59,59],
+          '2048103022:00:00','2048103100:00:00','2049032622:59:59','2049032700:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,26,23,0,0],[2049,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,29,21,59,59],[2049,10,30,0,59,59],
+          '2049032623:00:00','2049032702:00:00','2049102921:59:59','2049103000:59:59' ],
+        [ [2049,10,29,22,0,0],[2049,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,25,22,59,59],[2050,3,26,0,59,59],
+          '2049102922:00:00','2049103000:00:00','2050032522:59:59','2050032600:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,25,23,0,0],[2050,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,28,21,59,59],[2050,10,29,0,59,59],
+          '2050032523:00:00','2050032602:00:00','2050102821:59:59','2050102900:59:59' ],
+        [ [2050,10,28,22,0,0],[2050,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,24,22,59,59],[2051,3,25,0,59,59],
+          '2050102822:00:00','2050102900:00:00','2051032422:59:59','2051032500:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,24,23,0,0],[2051,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,27,21,59,59],[2051,10,28,0,59,59],
+          '2051032423:00:00','2051032502:00:00','2051102721:59:59','2051102800:59:59' ],
+        [ [2051,10,27,22,0,0],[2051,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,29,22,59,59],[2052,3,30,0,59,59],
+          '2051102722:00:00','2051102800:00:00','2052032922:59:59','2052033000:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,29,23,0,0],[2052,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,25,21,59,59],[2052,10,26,0,59,59],
+          '2052032923:00:00','2052033002:00:00','2052102521:59:59','2052102600:59:59' ],
+        [ [2052,10,25,22,0,0],[2052,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,28,22,59,59],[2053,3,29,0,59,59],
+          '2052102522:00:00','2052102600:00:00','2053032822:59:59','2053032900:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,28,23,0,0],[2053,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,24,21,59,59],[2053,10,25,0,59,59],
+          '2053032823:00:00','2053032902:00:00','2053102421:59:59','2053102500:59:59' ],
+        [ [2053,10,24,22,0,0],[2053,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,27,22,59,59],[2054,3,28,0,59,59],
+          '2053102422:00:00','2053102500:00:00','2054032722:59:59','2054032800:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,27,23,0,0],[2054,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,30,21,59,59],[2054,10,31,0,59,59],
+          '2054032723:00:00','2054032802:00:00','2054103021:59:59','2054103100:59:59' ],
+        [ [2054,10,30,22,0,0],[2054,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,26,22,59,59],[2055,3,27,0,59,59],
+          '2054103022:00:00','2054103100:00:00','2055032622:59:59','2055032700:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,26,23,0,0],[2055,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,29,21,59,59],[2055,10,30,0,59,59],
+          '2055032623:00:00','2055032702:00:00','2055102921:59:59','2055103000:59:59' ],
+        [ [2055,10,29,22,0,0],[2055,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,24,22,59,59],[2056,3,25,0,59,59],
+          '2055102922:00:00','2055103000:00:00','2056032422:59:59','2056032500:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,24,23,0,0],[2056,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,27,21,59,59],[2056,10,28,0,59,59],
+          '2056032423:00:00','2056032502:00:00','2056102721:59:59','2056102800:59:59' ],
+        [ [2056,10,27,22,0,0],[2056,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,30,22,59,59],[2057,3,31,0,59,59],
+          '2056102722:00:00','2056102800:00:00','2057033022:59:59','2057033100:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,30,23,0,0],[2057,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,26,21,59,59],[2057,10,27,0,59,59],
+          '2057033023:00:00','2057033102:00:00','2057102621:59:59','2057102700:59:59' ],
+        [ [2057,10,26,22,0,0],[2057,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,29,22,59,59],[2058,3,30,0,59,59],
+          '2057102622:00:00','2057102700:00:00','2058032922:59:59','2058033000:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,29,23,0,0],[2058,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,25,21,59,59],[2058,10,26,0,59,59],
+          '2058032923:00:00','2058033002:00:00','2058102521:59:59','2058102600:59:59' ],
+        [ [2058,10,25,22,0,0],[2058,10,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,28,22,59,59],[2059,3,29,0,59,59],
+          '2058102522:00:00','2058102600:00:00','2059032822:59:59','2059032900:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,28,23,0,0],[2059,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,24,21,59,59],[2059,10,25,0,59,59],
+          '2059032823:00:00','2059032902:00:00','2059102421:59:59','2059102500:59:59' ],
+        [ [2059,10,24,22,0,0],[2059,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,26,22,59,59],[2060,3,27,0,59,59],
+          '2059102422:00:00','2059102500:00:00','2060032622:59:59','2060032700:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,26,23,0,0],[2060,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,29,21,59,59],[2060,10,30,0,59,59],
+          '2060032623:00:00','2060032702:00:00','2060102921:59:59','2060103000:59:59' ],
+        [ [2060,10,29,22,0,0],[2060,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,25,22,59,59],[2061,3,26,0,59,59],
+          '2060102922:00:00','2060103000:00:00','2061032522:59:59','2061032600:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,25,23,0,0],[2061,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,28,21,59,59],[2061,10,29,0,59,59],
+          '2061032523:00:00','2061032602:00:00','2061102821:59:59','2061102900:59:59' ],
+        [ [2061,10,28,22,0,0],[2061,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,24,22,59,59],[2062,3,25,0,59,59],
+          '2061102822:00:00','2061102900:00:00','2062032422:59:59','2062032500:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,24,23,0,0],[2062,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,27,21,59,59],[2062,10,28,0,59,59],
+          '2062032423:00:00','2062032502:00:00','2062102721:59:59','2062102800:59:59' ],
+        [ [2062,10,27,22,0,0],[2062,10,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,30,22,59,59],[2063,3,31,0,59,59],
+          '2062102722:00:00','2062102800:00:00','2063033022:59:59','2063033100:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,30,23,0,0],[2063,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,26,21,59,59],[2063,10,27,0,59,59],
+          '2063033023:00:00','2063033102:00:00','2063102621:59:59','2063102700:59:59' ],
+        [ [2063,10,26,22,0,0],[2063,10,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,28,22,59,59],[2064,3,29,0,59,59],
+          '2063102622:00:00','2063102700:00:00','2064032822:59:59','2064032900:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,28,23,0,0],[2064,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,24,21,59,59],[2064,10,25,0,59,59],
+          '2064032823:00:00','2064032902:00:00','2064102421:59:59','2064102500:59:59' ],
+        [ [2064,10,24,22,0,0],[2064,10,25,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,27,22,59,59],[2065,3,28,0,59,59],
+          '2064102422:00:00','2064102500:00:00','2065032722:59:59','2065032800:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,27,23,0,0],[2065,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,30,21,59,59],[2065,10,31,0,59,59],
+          '2065032723:00:00','2065032802:00:00','2065103021:59:59','2065103100:59:59' ],
+        [ [2065,10,30,22,0,0],[2065,10,31,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,26,22,59,59],[2066,3,27,0,59,59],
+          '2065103022:00:00','2065103100:00:00','2066032622:59:59','2066032700:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,26,23,0,0],[2066,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,29,21,59,59],[2066,10,30,0,59,59],
+          '2066032623:00:00','2066032702:00:00','2066102921:59:59','2066103000:59:59' ],
+        [ [2066,10,29,22,0,0],[2066,10,30,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,25,22,59,59],[2067,3,26,0,59,59],
+          '2066102922:00:00','2066103000:00:00','2067032522:59:59','2067032600:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,25,23,0,0],[2067,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,28,21,59,59],[2067,10,29,0,59,59],
+          '2067032523:00:00','2067032602:00:00','2067102821:59:59','2067102900:59:59' ],
+        [ [2067,10,28,22,0,0],[2067,10,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,30,22,59,59],[2068,3,31,0,59,59],
+          '2067102822:00:00','2067102900:00:00','2068033022:59:59','2068033100:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '6',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '6',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asho_c00.pm b/lib/Date/Manip/TZ/asho_c00.pm
new file mode 100644
index 0000000..e8302f0
--- /dev/null
+++ b/lib/Date/Manip/TZ/asho_c00.pm
@@ -0,0 +1,94 @@
+package #
+Date::Manip::TZ::asho_c00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,6,40],'+07:06:40',[7,6,40],
+          'LMT',0,[1906,6,30,16,53,19],[1906,6,30,23,59,59],
+          '0001010200:00:00','0001010207:06:40','1906063016:53:19','1906063023:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,6,30,16,53,20],[1906,6,30,23,59,50],'+07:06:30',[7,6,30],
+          'PLMT',0,[1911,4,30,16,53,29],[1911,4,30,23,59,59],
+          '1906063016:53:20','1906063023:59:50','1911043016:53:29','1911043023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,4,30,16,53,30],[1911,4,30,23,53,30],'+07:00:00',[7,0,0],
+          '+07',0,[1942,12,31,15,59,59],[1942,12,31,22,59,59],
+          '1911043016:53:30','1911043023:53:30','1942123115:59:59','1942123122:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,12,31,16,0,0],[1943,1,1,0,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1945,3,14,14,59,59],[1945,3,14,22,59,59],
+          '1942123116:00:00','1943010100:00:00','1945031414:59:59','1945031422:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,3,14,15,0,0],[1945,3,15,0,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,1,14,59,59],[1945,9,1,23,59,59],
+          '1945031415:00:00','1945031500:00:00','1945090114:59:59','1945090123:59:59' ],
+        [ [1945,9,1,15,0,0],[1945,9,1,22,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1947,3,31,16,59,59],[1947,3,31,23,59,59],
+          '1945090115:00:00','1945090122:00:00','1947033116:59:59','1947033123:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,31,17,0,0],[1947,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1955,6,30,15,59,59],[1955,6,30,23,59,59],
+          '1947033117:00:00','1947040101:00:00','1955063015:59:59','1955063023:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,6,30,16,0,0],[1955,6,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1959,12,31,15,59,59],[1959,12,31,22,59,59],
+          '1955063016:00:00','1955063023:00:00','1959123115:59:59','1959123122:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,12,31,16,0,0],[1960,1,1,0,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1975,6,12,15,59,59],[1975,6,12,23,59,59],
+          '1959123116:00:00','1960010100:00:00','1975061215:59:59','1975061223:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,6,12,16,0,0],[1975,6,12,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '1975061216:00:00','1975061223:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ashong00.pm b/lib/Date/Manip/TZ/ashong00.pm
new file mode 100644
index 0000000..be3242e
--- /dev/null
+++ b/lib/Date/Manip/TZ/ashong00.pm
@@ -0,0 +1,355 @@
+package #
+Date::Manip::TZ::ashong00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,36,42],'+07:36:42',[7,36,42],
+          'LMT',0,[1904,10,29,16,23,17],[1904,10,29,23,59,59],
+          '0001010200:00:00','0001010207:36:42','1904102916:23:17','1904102923:59:59' ],
+     ],
+   1904 =>
+     [
+        [ [1904,10,29,16,23,18],[1904,10,30,0,23,18],'+08:00:00',[8,0,0],
+          'HKT',0,[1941,3,31,19,29,59],[1941,4,1,3,29,59],
+          '1904102916:23:18','1904103000:23:18','1941033119:29:59','1941040103:29:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,3,31,19,30,0],[1941,4,1,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1941,9,29,18,29,59],[1941,9,30,3,29,59],
+          '1941033119:30:00','1941040104:30:00','1941092918:29:59','1941093003:29:59' ],
+        [ [1941,9,29,18,30,0],[1941,9,30,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1941,12,24,15,59,59],[1941,12,24,23,59,59],
+          '1941092918:30:00','1941093002:30:00','1941122415:59:59','1941122423:59:59' ],
+        [ [1941,12,24,16,0,0],[1941,12,25,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1945,9,14,14,59,59],[1945,9,14,23,59,59],
+          '1941122416:00:00','1941122501:00:00','1945091414:59:59','1945091423:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,14,15,0,0],[1945,9,14,23,0,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1946,4,19,19,29,59],[1946,4,20,3,29,59],
+          '1945091415:00:00','1945091423:00:00','1946041919:29:59','1946042003:29:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,19,19,30,0],[1946,4,20,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1946,11,30,18,29,59],[1946,12,1,3,29,59],
+          '1946041919:30:00','1946042004:30:00','1946113018:29:59','1946120103:29:59' ],
+        [ [1946,11,30,18,30,0],[1946,12,1,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1947,4,12,19,29,59],[1947,4,13,3,29,59],
+          '1946113018:30:00','1946120102:30:00','1947041219:29:59','1947041303:29:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,12,19,30,0],[1947,4,13,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1947,12,29,18,29,59],[1947,12,30,3,29,59],
+          '1947041219:30:00','1947041304:30:00','1947122918:29:59','1947123003:29:59' ],
+        [ [1947,12,29,18,30,0],[1947,12,30,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1948,5,1,19,29,59],[1948,5,2,3,29,59],
+          '1947122918:30:00','1947123002:30:00','1948050119:29:59','1948050203:29:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,1,19,30,0],[1948,5,2,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1948,10,30,18,29,59],[1948,10,31,3,29,59],
+          '1948050119:30:00','1948050204:30:00','1948103018:29:59','1948103103:29:59' ],
+        [ [1948,10,30,18,30,0],[1948,10,31,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1949,4,2,19,29,59],[1949,4,3,3,29,59],
+          '1948103018:30:00','1948103102:30:00','1949040219:29:59','1949040303:29:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,2,19,30,0],[1949,4,3,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1949,10,29,18,29,59],[1949,10,30,3,29,59],
+          '1949040219:30:00','1949040304:30:00','1949102918:29:59','1949103003:29:59' ],
+        [ [1949,10,29,18,30,0],[1949,10,30,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1950,4,1,19,29,59],[1950,4,2,3,29,59],
+          '1949102918:30:00','1949103002:30:00','1950040119:29:59','1950040203:29:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,1,19,30,0],[1950,4,2,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1950,10,28,18,29,59],[1950,10,29,3,29,59],
+          '1950040119:30:00','1950040204:30:00','1950102818:29:59','1950102903:29:59' ],
+        [ [1950,10,28,18,30,0],[1950,10,29,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1951,3,31,19,29,59],[1951,4,1,3,29,59],
+          '1950102818:30:00','1950102902:30:00','1951033119:29:59','1951040103:29:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,3,31,19,30,0],[1951,4,1,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1951,10,27,18,29,59],[1951,10,28,3,29,59],
+          '1951033119:30:00','1951040104:30:00','1951102718:29:59','1951102803:29:59' ],
+        [ [1951,10,27,18,30,0],[1951,10,28,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1952,4,5,19,29,59],[1952,4,6,3,29,59],
+          '1951102718:30:00','1951102802:30:00','1952040519:29:59','1952040603:29:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,5,19,30,0],[1952,4,6,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1952,10,24,18,29,59],[1952,10,25,3,29,59],
+          '1952040519:30:00','1952040604:30:00','1952102418:29:59','1952102503:29:59' ],
+        [ [1952,10,24,18,30,0],[1952,10,25,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1953,4,4,19,29,59],[1953,4,5,3,29,59],
+          '1952102418:30:00','1952102502:30:00','1953040419:29:59','1953040503:29:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,4,19,30,0],[1953,4,5,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1953,10,31,18,29,59],[1953,11,1,3,29,59],
+          '1953040419:30:00','1953040504:30:00','1953103118:29:59','1953110103:29:59' ],
+        [ [1953,10,31,18,30,0],[1953,11,1,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1954,3,20,19,29,59],[1954,3,21,3,29,59],
+          '1953103118:30:00','1953110102:30:00','1954032019:29:59','1954032103:29:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,3,20,19,30,0],[1954,3,21,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1954,10,30,18,29,59],[1954,10,31,3,29,59],
+          '1954032019:30:00','1954032104:30:00','1954103018:29:59','1954103103:29:59' ],
+        [ [1954,10,30,18,30,0],[1954,10,31,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1955,3,19,19,29,59],[1955,3,20,3,29,59],
+          '1954103018:30:00','1954103102:30:00','1955031919:29:59','1955032003:29:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,3,19,19,30,0],[1955,3,20,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1955,11,5,18,29,59],[1955,11,6,3,29,59],
+          '1955031919:30:00','1955032004:30:00','1955110518:29:59','1955110603:29:59' ],
+        [ [1955,11,5,18,30,0],[1955,11,6,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1956,3,17,19,29,59],[1956,3,18,3,29,59],
+          '1955110518:30:00','1955110602:30:00','1956031719:29:59','1956031803:29:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,3,17,19,30,0],[1956,3,18,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1956,11,3,18,29,59],[1956,11,4,3,29,59],
+          '1956031719:30:00','1956031804:30:00','1956110318:29:59','1956110403:29:59' ],
+        [ [1956,11,3,18,30,0],[1956,11,4,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1957,3,23,19,29,59],[1957,3,24,3,29,59],
+          '1956110318:30:00','1956110402:30:00','1957032319:29:59','1957032403:29:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,3,23,19,30,0],[1957,3,24,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1957,11,2,18,29,59],[1957,11,3,3,29,59],
+          '1957032319:30:00','1957032404:30:00','1957110218:29:59','1957110303:29:59' ],
+        [ [1957,11,2,18,30,0],[1957,11,3,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1958,3,22,19,29,59],[1958,3,23,3,29,59],
+          '1957110218:30:00','1957110302:30:00','1958032219:29:59','1958032303:29:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,3,22,19,30,0],[1958,3,23,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1958,11,1,18,29,59],[1958,11,2,3,29,59],
+          '1958032219:30:00','1958032304:30:00','1958110118:29:59','1958110203:29:59' ],
+        [ [1958,11,1,18,30,0],[1958,11,2,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1959,3,21,19,29,59],[1959,3,22,3,29,59],
+          '1958110118:30:00','1958110202:30:00','1959032119:29:59','1959032203:29:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,3,21,19,30,0],[1959,3,22,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1959,10,31,18,29,59],[1959,11,1,3,29,59],
+          '1959032119:30:00','1959032204:30:00','1959103118:29:59','1959110103:29:59' ],
+        [ [1959,10,31,18,30,0],[1959,11,1,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1960,3,19,19,29,59],[1960,3,20,3,29,59],
+          '1959103118:30:00','1959110102:30:00','1960031919:29:59','1960032003:29:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,3,19,19,30,0],[1960,3,20,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1960,11,5,18,29,59],[1960,11,6,3,29,59],
+          '1960031919:30:00','1960032004:30:00','1960110518:29:59','1960110603:29:59' ],
+        [ [1960,11,5,18,30,0],[1960,11,6,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1961,3,18,19,29,59],[1961,3,19,3,29,59],
+          '1960110518:30:00','1960110602:30:00','1961031819:29:59','1961031903:29:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,3,18,19,30,0],[1961,3,19,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1961,11,4,18,29,59],[1961,11,5,3,29,59],
+          '1961031819:30:00','1961031904:30:00','1961110418:29:59','1961110503:29:59' ],
+        [ [1961,11,4,18,30,0],[1961,11,5,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1962,3,17,19,29,59],[1962,3,18,3,29,59],
+          '1961110418:30:00','1961110502:30:00','1962031719:29:59','1962031803:29:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,3,17,19,30,0],[1962,3,18,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1962,11,3,18,29,59],[1962,11,4,3,29,59],
+          '1962031719:30:00','1962031804:30:00','1962110318:29:59','1962110403:29:59' ],
+        [ [1962,11,3,18,30,0],[1962,11,4,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1963,3,23,19,29,59],[1963,3,24,3,29,59],
+          '1962110318:30:00','1962110402:30:00','1963032319:29:59','1963032403:29:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,3,23,19,30,0],[1963,3,24,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1963,11,2,18,29,59],[1963,11,3,3,29,59],
+          '1963032319:30:00','1963032404:30:00','1963110218:29:59','1963110303:29:59' ],
+        [ [1963,11,2,18,30,0],[1963,11,3,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1964,3,21,19,29,59],[1964,3,22,3,29,59],
+          '1963110218:30:00','1963110302:30:00','1964032119:29:59','1964032203:29:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,21,19,30,0],[1964,3,22,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1964,10,31,18,29,59],[1964,11,1,3,29,59],
+          '1964032119:30:00','1964032204:30:00','1964103118:29:59','1964110103:29:59' ],
+        [ [1964,10,31,18,30,0],[1964,11,1,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1965,4,17,19,29,59],[1965,4,18,3,29,59],
+          '1964103118:30:00','1964110102:30:00','1965041719:29:59','1965041803:29:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,17,19,30,0],[1965,4,18,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1965,10,16,18,29,59],[1965,10,17,3,29,59],
+          '1965041719:30:00','1965041804:30:00','1965101618:29:59','1965101703:29:59' ],
+        [ [1965,10,16,18,30,0],[1965,10,17,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1966,4,16,19,29,59],[1966,4,17,3,29,59],
+          '1965101618:30:00','1965101702:30:00','1966041619:29:59','1966041703:29:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,16,19,30,0],[1966,4,17,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1966,10,15,18,29,59],[1966,10,16,3,29,59],
+          '1966041619:30:00','1966041704:30:00','1966101518:29:59','1966101603:29:59' ],
+        [ [1966,10,15,18,30,0],[1966,10,16,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1967,4,15,19,29,59],[1967,4,16,3,29,59],
+          '1966101518:30:00','1966101602:30:00','1967041519:29:59','1967041603:29:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,15,19,30,0],[1967,4,16,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1967,10,21,18,29,59],[1967,10,22,3,29,59],
+          '1967041519:30:00','1967041604:30:00','1967102118:29:59','1967102203:29:59' ],
+        [ [1967,10,21,18,30,0],[1967,10,22,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1968,4,20,19,29,59],[1968,4,21,3,29,59],
+          '1967102118:30:00','1967102202:30:00','1968042019:29:59','1968042103:29:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,20,19,30,0],[1968,4,21,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1968,10,19,18,29,59],[1968,10,20,3,29,59],
+          '1968042019:30:00','1968042104:30:00','1968101918:29:59','1968102003:29:59' ],
+        [ [1968,10,19,18,30,0],[1968,10,20,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1969,4,19,19,29,59],[1969,4,20,3,29,59],
+          '1968101918:30:00','1968102002:30:00','1969041919:29:59','1969042003:29:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,19,19,30,0],[1969,4,20,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1969,10,18,18,29,59],[1969,10,19,3,29,59],
+          '1969041919:30:00','1969042004:30:00','1969101818:29:59','1969101903:29:59' ],
+        [ [1969,10,18,18,30,0],[1969,10,19,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1970,4,18,19,29,59],[1970,4,19,3,29,59],
+          '1969101818:30:00','1969101902:30:00','1970041819:29:59','1970041903:29:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,18,19,30,0],[1970,4,19,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1970,10,17,18,29,59],[1970,10,18,3,29,59],
+          '1970041819:30:00','1970041904:30:00','1970101718:29:59','1970101803:29:59' ],
+        [ [1970,10,17,18,30,0],[1970,10,18,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1971,4,17,19,29,59],[1971,4,18,3,29,59],
+          '1970101718:30:00','1970101802:30:00','1971041719:29:59','1971041803:29:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,17,19,30,0],[1971,4,18,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1971,10,16,18,29,59],[1971,10,17,3,29,59],
+          '1971041719:30:00','1971041804:30:00','1971101618:29:59','1971101703:29:59' ],
+        [ [1971,10,16,18,30,0],[1971,10,17,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1972,4,15,19,29,59],[1972,4,16,3,29,59],
+          '1971101618:30:00','1971101702:30:00','1972041519:29:59','1972041603:29:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,15,19,30,0],[1972,4,16,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1972,10,21,18,29,59],[1972,10,22,3,29,59],
+          '1972041519:30:00','1972041604:30:00','1972102118:29:59','1972102203:29:59' ],
+        [ [1972,10,21,18,30,0],[1972,10,22,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1973,4,21,19,29,59],[1973,4,22,3,29,59],
+          '1972102118:30:00','1972102202:30:00','1973042119:29:59','1973042203:29:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,21,19,30,0],[1973,4,22,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1973,10,20,18,29,59],[1973,10,21,3,29,59],
+          '1973042119:30:00','1973042204:30:00','1973102018:29:59','1973102103:29:59' ],
+        [ [1973,10,20,18,30,0],[1973,10,21,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1973,12,29,19,29,59],[1973,12,30,3,29,59],
+          '1973102018:30:00','1973102102:30:00','1973122919:29:59','1973123003:29:59' ],
+        [ [1973,12,29,19,30,0],[1973,12,30,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1974,10,19,18,29,59],[1974,10,20,3,29,59],
+          '1973122919:30:00','1973123004:30:00','1974101918:29:59','1974102003:29:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,10,19,18,30,0],[1974,10,20,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1975,4,19,19,29,59],[1975,4,20,3,29,59],
+          '1974101918:30:00','1974102002:30:00','1975041919:29:59','1975042003:29:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,19,19,30,0],[1975,4,20,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1975,10,18,18,29,59],[1975,10,19,3,29,59],
+          '1975041919:30:00','1975042004:30:00','1975101818:29:59','1975101903:29:59' ],
+        [ [1975,10,18,18,30,0],[1975,10,19,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1976,4,17,19,29,59],[1976,4,18,3,29,59],
+          '1975101818:30:00','1975101902:30:00','1976041719:29:59','1976041803:29:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,17,19,30,0],[1976,4,18,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1976,10,16,18,29,59],[1976,10,17,3,29,59],
+          '1976041719:30:00','1976041804:30:00','1976101618:29:59','1976101703:29:59' ],
+        [ [1976,10,16,18,30,0],[1976,10,17,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[1979,5,12,19,29,59],[1979,5,13,3,29,59],
+          '1976101618:30:00','1976101702:30:00','1979051219:29:59','1979051303:29:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,5,12,19,30,0],[1979,5,13,4,30,0],'+09:00:00',[9,0,0],
+          'HKST',1,[1979,10,20,18,29,59],[1979,10,21,3,29,59],
+          '1979051219:30:00','1979051304:30:00','1979102018:29:59','1979102103:29:59' ],
+        [ [1979,10,20,18,30,0],[1979,10,21,2,30,0],'+08:00:00',[8,0,0],
+          'HKT',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1979102018:30:00','1979102102:30:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ashovd00.pm b/lib/Date/Manip/TZ/ashovd00.pm
new file mode 100644
index 0000000..2ea2937
--- /dev/null
+++ b/lib/Date/Manip/TZ/ashovd00.pm
@@ -0,0 +1,271 @@
+package #
+Date::Manip::TZ::ashovd00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,6,36],'+06:06:36',[6,6,36],
+          'LMT',0,[1905,7,31,17,53,23],[1905,7,31,23,59,59],
+          '0001010200:00:00','0001010206:06:36','1905073117:53:23','1905073123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,7,31,17,53,24],[1905,7,31,23,53,24],'+06:00:00',[6,0,0],
+          '+06',0,[1977,12,31,17,59,59],[1977,12,31,23,59,59],
+          '1905073117:53:24','1905073123:53:24','1977123117:59:59','1977123123:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,12,31,18,0,0],[1978,1,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1977123118:00:00','1978010101:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,15,59,59],[1984,9,29,23,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092915:59:59','1984092923:59:59' ],
+        [ [1984,9,29,16,0,0],[1984,9,29,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,16,59,59],[1985,3,30,23,59,59],
+          '1984092916:00:00','1984092923:00:00','1985033016:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,17,0,0],[1985,3,31,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,15,59,59],[1985,9,28,23,59,59],
+          '1985033017:00:00','1985033101:00:00','1985092815:59:59','1985092823:59:59' ],
+        [ [1985,9,28,16,0,0],[1985,9,28,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,16,59,59],[1986,3,29,23,59,59],
+          '1985092816:00:00','1985092823:00:00','1986032916:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,17,0,0],[1986,3,30,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,15,59,59],[1986,9,27,23,59,59],
+          '1986032917:00:00','1986033001:00:00','1986092715:59:59','1986092723:59:59' ],
+        [ [1986,9,27,16,0,0],[1986,9,27,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,16,59,59],[1987,3,28,23,59,59],
+          '1986092716:00:00','1986092723:00:00','1987032816:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,17,0,0],[1987,3,29,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,15,59,59],[1987,9,26,23,59,59],
+          '1987032817:00:00','1987032901:00:00','1987092615:59:59','1987092623:59:59' ],
+        [ [1987,9,26,16,0,0],[1987,9,26,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,16,59,59],[1988,3,26,23,59,59],
+          '1987092616:00:00','1987092623:00:00','1988032616:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,17,0,0],[1988,3,27,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,15,59,59],[1988,9,24,23,59,59],
+          '1988032617:00:00','1988032701:00:00','1988092415:59:59','1988092423:59:59' ],
+        [ [1988,9,24,16,0,0],[1988,9,24,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,16,59,59],[1989,3,25,23,59,59],
+          '1988092416:00:00','1988092423:00:00','1989032516:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,17,0,0],[1989,3,26,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,15,59,59],[1989,9,23,23,59,59],
+          '1989032517:00:00','1989032601:00:00','1989092315:59:59','1989092323:59:59' ],
+        [ [1989,9,23,16,0,0],[1989,9,23,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,16,59,59],[1990,3,24,23,59,59],
+          '1989092316:00:00','1989092323:00:00','1990032416:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,17,0,0],[1990,3,25,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,15,59,59],[1990,9,29,23,59,59],
+          '1990032417:00:00','1990032501:00:00','1990092915:59:59','1990092923:59:59' ],
+        [ [1990,9,29,16,0,0],[1990,9,29,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,16,59,59],[1991,3,30,23,59,59],
+          '1990092916:00:00','1990092923:00:00','1991033016:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,17,0,0],[1991,3,31,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1991,9,28,15,59,59],[1991,9,28,23,59,59],
+          '1991033017:00:00','1991033101:00:00','1991092815:59:59','1991092823:59:59' ],
+        [ [1991,9,28,16,0,0],[1991,9,28,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,16,59,59],[1992,3,28,23,59,59],
+          '1991092816:00:00','1991092823:00:00','1992032816:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,17,0,0],[1992,3,29,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,15,59,59],[1992,9,26,23,59,59],
+          '1992032817:00:00','1992032901:00:00','1992092615:59:59','1992092623:59:59' ],
+        [ [1992,9,26,16,0,0],[1992,9,26,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,16,59,59],[1993,3,27,23,59,59],
+          '1992092616:00:00','1992092623:00:00','1993032716:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,17,0,0],[1993,3,28,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,9,25,15,59,59],[1993,9,25,23,59,59],
+          '1993032717:00:00','1993032801:00:00','1993092515:59:59','1993092523:59:59' ],
+        [ [1993,9,25,16,0,0],[1993,9,25,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1994,3,26,16,59,59],[1994,3,26,23,59,59],
+          '1993092516:00:00','1993092523:00:00','1994032616:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,17,0,0],[1994,3,27,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1994,9,24,15,59,59],[1994,9,24,23,59,59],
+          '1994032617:00:00','1994032701:00:00','1994092415:59:59','1994092423:59:59' ],
+        [ [1994,9,24,16,0,0],[1994,9,24,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1995,3,25,16,59,59],[1995,3,25,23,59,59],
+          '1994092416:00:00','1994092423:00:00','1995032516:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,17,0,0],[1995,3,26,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1995,9,23,15,59,59],[1995,9,23,23,59,59],
+          '1995032517:00:00','1995032601:00:00','1995092315:59:59','1995092323:59:59' ],
+        [ [1995,9,23,16,0,0],[1995,9,23,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1996,3,30,16,59,59],[1996,3,30,23,59,59],
+          '1995092316:00:00','1995092323:00:00','1996033016:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,17,0,0],[1996,3,31,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1996,9,28,15,59,59],[1996,9,28,23,59,59],
+          '1996033017:00:00','1996033101:00:00','1996092815:59:59','1996092823:59:59' ],
+        [ [1996,9,28,16,0,0],[1996,9,28,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1997,3,29,16,59,59],[1997,3,29,23,59,59],
+          '1996092816:00:00','1996092823:00:00','1997032916:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,17,0,0],[1997,3,30,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1997,9,27,15,59,59],[1997,9,27,23,59,59],
+          '1997032917:00:00','1997033001:00:00','1997092715:59:59','1997092723:59:59' ],
+        [ [1997,9,27,16,0,0],[1997,9,27,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1998,3,28,16,59,59],[1998,3,28,23,59,59],
+          '1997092716:00:00','1997092723:00:00','1998032816:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,17,0,0],[1998,3,29,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1998,9,26,15,59,59],[1998,9,26,23,59,59],
+          '1998032817:00:00','1998032901:00:00','1998092615:59:59','1998092623:59:59' ],
+        [ [1998,9,26,16,0,0],[1998,9,26,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2001,4,27,18,59,59],[2001,4,28,1,59,59],
+          '1998092616:00:00','1998092623:00:00','2001042718:59:59','2001042801:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,27,19,0,0],[2001,4,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2001,9,28,17,59,59],[2001,9,29,1,59,59],
+          '2001042719:00:00','2001042803:00:00','2001092817:59:59','2001092901:59:59' ],
+        [ [2001,9,28,18,0,0],[2001,9,29,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2002,3,29,18,59,59],[2002,3,30,1,59,59],
+          '2001092818:00:00','2001092901:00:00','2002032918:59:59','2002033001:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,29,19,0,0],[2002,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2002,9,27,17,59,59],[2002,9,28,1,59,59],
+          '2002032919:00:00','2002033003:00:00','2002092717:59:59','2002092801:59:59' ],
+        [ [2002,9,27,18,0,0],[2002,9,28,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2003,3,28,18,59,59],[2003,3,29,1,59,59],
+          '2002092718:00:00','2002092801:00:00','2003032818:59:59','2003032901:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,28,19,0,0],[2003,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2003,9,26,17,59,59],[2003,9,27,1,59,59],
+          '2003032819:00:00','2003032903:00:00','2003092617:59:59','2003092701:59:59' ],
+        [ [2003,9,26,18,0,0],[2003,9,27,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2004,3,26,18,59,59],[2004,3,27,1,59,59],
+          '2003092618:00:00','2003092701:00:00','2004032618:59:59','2004032701:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,26,19,0,0],[2004,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2004,9,24,17,59,59],[2004,9,25,1,59,59],
+          '2004032619:00:00','2004032703:00:00','2004092417:59:59','2004092501:59:59' ],
+        [ [2004,9,24,18,0,0],[2004,9,25,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2005,3,25,18,59,59],[2005,3,26,1,59,59],
+          '2004092418:00:00','2004092501:00:00','2005032518:59:59','2005032601:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,25,19,0,0],[2005,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2005,9,23,17,59,59],[2005,9,24,1,59,59],
+          '2005032519:00:00','2005032603:00:00','2005092317:59:59','2005092401:59:59' ],
+        [ [2005,9,23,18,0,0],[2005,9,24,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2006,3,24,18,59,59],[2006,3,25,1,59,59],
+          '2005092318:00:00','2005092401:00:00','2006032418:59:59','2006032501:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,24,19,0,0],[2006,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2006,9,29,17,59,59],[2006,9,30,1,59,59],
+          '2006032419:00:00','2006032503:00:00','2006092917:59:59','2006093001:59:59' ],
+        [ [2006,9,29,18,0,0],[2006,9,30,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2015,3,27,18,59,59],[2015,3,28,1,59,59],
+          '2006092918:00:00','2006093001:00:00','2015032718:59:59','2015032801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,19,0,0],[2015,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2015,9,25,15,59,59],[2015,9,25,23,59,59],
+          '2015032719:00:00','2015032803:00:00','2015092515:59:59','2015092523:59:59' ],
+        [ [2015,9,25,16,0,0],[2015,9,25,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2016,3,25,18,59,59],[2016,3,26,1,59,59],
+          '2015092516:00:00','2015092523:00:00','2016032518:59:59','2016032601:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,19,0,0],[2016,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2016,9,23,15,59,59],[2016,9,23,23,59,59],
+          '2016032519:00:00','2016032603:00:00','2016092315:59:59','2016092323:59:59' ],
+        [ [2016,9,23,16,0,0],[2016,9,23,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2016092316:00:00','2016092323:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asirku00.pm b/lib/Date/Manip/TZ/asirku00.pm
new file mode 100644
index 0000000..7b2fd55
--- /dev/null
+++ b/lib/Date/Manip/TZ/asirku00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::asirku00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,57,5],'+06:57:05',[6,57,5],
+          'LMT',0,[1879,12,31,17,2,54],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010206:57:05','1879123117:02:54','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,17,2,55],[1880,1,1,0,0,0],'+06:57:05',[6,57,5],
+          'IMT',0,[1920,1,24,17,2,54],[1920,1,24,23,59,59],
+          '1879123117:02:55','1880010100:00:00','1920012417:02:54','1920012423:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,1,24,17,2,55],[1920,1,25,0,2,55],'+07:00:00',[7,0,0],
+          '+07',0,[1930,6,20,16,59,59],[1930,6,20,23,59,59],
+          '1920012417:02:55','1920012500:02:55','1930062016:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,17,0,0],[1930,6,21,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1981,3,31,15,59,59],[1981,3,31,23,59,59],
+          '1930062017:00:00','1930062101:00:00','1981033115:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,16,0,0],[1981,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1981,9,30,14,59,59],[1981,9,30,23,59,59],
+          '1981033116:00:00','1981040101:00:00','1981093014:59:59','1981093023:59:59' ],
+        [ [1981,9,30,15,0,0],[1981,9,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1982,3,31,15,59,59],[1982,3,31,23,59,59],
+          '1981093015:00:00','1981093023:00:00','1982033115:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,16,0,0],[1982,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1982,9,30,14,59,59],[1982,9,30,23,59,59],
+          '1982033116:00:00','1982040101:00:00','1982093014:59:59','1982093023:59:59' ],
+        [ [1982,9,30,15,0,0],[1982,9,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1983,3,31,15,59,59],[1983,3,31,23,59,59],
+          '1982093015:00:00','1982093023:00:00','1983033115:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,16,0,0],[1983,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1983,9,30,14,59,59],[1983,9,30,23,59,59],
+          '1983033116:00:00','1983040101:00:00','1983093014:59:59','1983093023:59:59' ],
+        [ [1983,9,30,15,0,0],[1983,9,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1984,3,31,15,59,59],[1984,3,31,23,59,59],
+          '1983093015:00:00','1983093023:00:00','1984033115:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,16,0,0],[1984,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1984,9,29,17,59,59],[1984,9,30,2,59,59],
+          '1984033116:00:00','1984040101:00:00','1984092917:59:59','1984093002:59:59' ],
+        [ [1984,9,29,18,0,0],[1984,9,30,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1985,3,30,17,59,59],[1985,3,31,1,59,59],
+          '1984092918:00:00','1984093002:00:00','1985033017:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,18,0,0],[1985,3,31,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1985,9,28,17,59,59],[1985,9,29,2,59,59],
+          '1985033018:00:00','1985033103:00:00','1985092817:59:59','1985092902:59:59' ],
+        [ [1985,9,28,18,0,0],[1985,9,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1986,3,29,17,59,59],[1986,3,30,1,59,59],
+          '1985092818:00:00','1985092902:00:00','1986032917:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,18,0,0],[1986,3,30,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1986,9,27,17,59,59],[1986,9,28,2,59,59],
+          '1986032918:00:00','1986033003:00:00','1986092717:59:59','1986092802:59:59' ],
+        [ [1986,9,27,18,0,0],[1986,9,28,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1987,3,28,17,59,59],[1987,3,29,1,59,59],
+          '1986092718:00:00','1986092802:00:00','1987032817:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,18,0,0],[1987,3,29,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1987,9,26,17,59,59],[1987,9,27,2,59,59],
+          '1987032818:00:00','1987032903:00:00','1987092617:59:59','1987092702:59:59' ],
+        [ [1987,9,26,18,0,0],[1987,9,27,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1988,3,26,17,59,59],[1988,3,27,1,59,59],
+          '1987092618:00:00','1987092702:00:00','1988032617:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,18,0,0],[1988,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1988,9,24,17,59,59],[1988,9,25,2,59,59],
+          '1988032618:00:00','1988032703:00:00','1988092417:59:59','1988092502:59:59' ],
+        [ [1988,9,24,18,0,0],[1988,9,25,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1989,3,25,17,59,59],[1989,3,26,1,59,59],
+          '1988092418:00:00','1988092502:00:00','1989032517:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,18,0,0],[1989,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1989,9,23,17,59,59],[1989,9,24,2,59,59],
+          '1989032518:00:00','1989032603:00:00','1989092317:59:59','1989092402:59:59' ],
+        [ [1989,9,23,18,0,0],[1989,9,24,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1990,3,24,17,59,59],[1990,3,25,1,59,59],
+          '1989092318:00:00','1989092402:00:00','1990032417:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,18,0,0],[1990,3,25,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1990,9,29,17,59,59],[1990,9,30,2,59,59],
+          '1990032418:00:00','1990032503:00:00','1990092917:59:59','1990093002:59:59' ],
+        [ [1990,9,29,18,0,0],[1990,9,30,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1991,3,30,17,59,59],[1991,3,31,1,59,59],
+          '1990092918:00:00','1990093002:00:00','1991033017:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,18,0,0],[1991,3,31,2,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1991,9,28,18,59,59],[1991,9,29,2,59,59],
+          '1991033018:00:00','1991033102:00:00','1991092818:59:59','1991092902:59:59' ],
+        [ [1991,9,28,19,0,0],[1991,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,1,18,18,59,59],[1992,1,19,1,59,59],
+          '1991092819:00:00','1991092902:00:00','1992011818:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,19,0,0],[1992,1,19,3,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1992,3,28,17,59,59],[1992,3,29,1,59,59],
+          '1992011819:00:00','1992011903:00:00','1992032817:59:59','1992032901:59:59' ],
+        [ [1992,3,28,18,0,0],[1992,3,29,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1992,9,26,17,59,59],[1992,9,27,2,59,59],
+          '1992032818:00:00','1992032903:00:00','1992092617:59:59','1992092702:59:59' ],
+        [ [1992,9,26,18,0,0],[1992,9,27,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1993,3,27,17,59,59],[1993,3,28,1,59,59],
+          '1992092618:00:00','1992092702:00:00','1993032717:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,18,0,0],[1993,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1993,9,25,17,59,59],[1993,9,26,2,59,59],
+          '1993032718:00:00','1993032803:00:00','1993092517:59:59','1993092602:59:59' ],
+        [ [1993,9,25,18,0,0],[1993,9,26,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1994,3,26,17,59,59],[1994,3,27,1,59,59],
+          '1993092518:00:00','1993092602:00:00','1994032617:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,18,0,0],[1994,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1994,9,24,17,59,59],[1994,9,25,2,59,59],
+          '1994032618:00:00','1994032703:00:00','1994092417:59:59','1994092502:59:59' ],
+        [ [1994,9,24,18,0,0],[1994,9,25,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1995,3,25,17,59,59],[1995,3,26,1,59,59],
+          '1994092418:00:00','1994092502:00:00','1995032517:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,18,0,0],[1995,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1995,9,23,17,59,59],[1995,9,24,2,59,59],
+          '1995032518:00:00','1995032603:00:00','1995092317:59:59','1995092402:59:59' ],
+        [ [1995,9,23,18,0,0],[1995,9,24,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1996,3,30,17,59,59],[1996,3,31,1,59,59],
+          '1995092318:00:00','1995092402:00:00','1996033017:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,18,0,0],[1996,3,31,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1996,10,26,17,59,59],[1996,10,27,2,59,59],
+          '1996033018:00:00','1996033103:00:00','1996102617:59:59','1996102702:59:59' ],
+        [ [1996,10,26,18,0,0],[1996,10,27,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1997,3,29,17,59,59],[1997,3,30,1,59,59],
+          '1996102618:00:00','1996102702:00:00','1997032917:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,18,0,0],[1997,3,30,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1997,10,25,17,59,59],[1997,10,26,2,59,59],
+          '1997032918:00:00','1997033003:00:00','1997102517:59:59','1997102602:59:59' ],
+        [ [1997,10,25,18,0,0],[1997,10,26,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1998,3,28,17,59,59],[1998,3,29,1,59,59],
+          '1997102518:00:00','1997102602:00:00','1998032817:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,18,0,0],[1998,3,29,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1998,10,24,17,59,59],[1998,10,25,2,59,59],
+          '1998032818:00:00','1998032903:00:00','1998102417:59:59','1998102502:59:59' ],
+        [ [1998,10,24,18,0,0],[1998,10,25,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1999,3,27,17,59,59],[1999,3,28,1,59,59],
+          '1998102418:00:00','1998102502:00:00','1999032717:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,18,0,0],[1999,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1999,10,30,17,59,59],[1999,10,31,2,59,59],
+          '1999032718:00:00','1999032803:00:00','1999103017:59:59','1999103102:59:59' ],
+        [ [1999,10,30,18,0,0],[1999,10,31,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2000,3,25,17,59,59],[2000,3,26,1,59,59],
+          '1999103018:00:00','1999103102:00:00','2000032517:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,18,0,0],[2000,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2000,10,28,17,59,59],[2000,10,29,2,59,59],
+          '2000032518:00:00','2000032603:00:00','2000102817:59:59','2000102902:59:59' ],
+        [ [2000,10,28,18,0,0],[2000,10,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2001,3,24,17,59,59],[2001,3,25,1,59,59],
+          '2000102818:00:00','2000102902:00:00','2001032417:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,18,0,0],[2001,3,25,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2001,10,27,17,59,59],[2001,10,28,2,59,59],
+          '2001032418:00:00','2001032503:00:00','2001102717:59:59','2001102802:59:59' ],
+        [ [2001,10,27,18,0,0],[2001,10,28,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2002,3,30,17,59,59],[2002,3,31,1,59,59],
+          '2001102718:00:00','2001102802:00:00','2002033017:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,18,0,0],[2002,3,31,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2002,10,26,17,59,59],[2002,10,27,2,59,59],
+          '2002033018:00:00','2002033103:00:00','2002102617:59:59','2002102702:59:59' ],
+        [ [2002,10,26,18,0,0],[2002,10,27,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2003,3,29,17,59,59],[2003,3,30,1,59,59],
+          '2002102618:00:00','2002102702:00:00','2003032917:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,18,0,0],[2003,3,30,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2003,10,25,17,59,59],[2003,10,26,2,59,59],
+          '2003032918:00:00','2003033003:00:00','2003102517:59:59','2003102602:59:59' ],
+        [ [2003,10,25,18,0,0],[2003,10,26,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2004,3,27,17,59,59],[2004,3,28,1,59,59],
+          '2003102518:00:00','2003102602:00:00','2004032717:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,18,0,0],[2004,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2004,10,30,17,59,59],[2004,10,31,2,59,59],
+          '2004032718:00:00','2004032803:00:00','2004103017:59:59','2004103102:59:59' ],
+        [ [2004,10,30,18,0,0],[2004,10,31,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2005,3,26,17,59,59],[2005,3,27,1,59,59],
+          '2004103018:00:00','2004103102:00:00','2005032617:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,18,0,0],[2005,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2005,10,29,17,59,59],[2005,10,30,2,59,59],
+          '2005032618:00:00','2005032703:00:00','2005102917:59:59','2005103002:59:59' ],
+        [ [2005,10,29,18,0,0],[2005,10,30,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2006,3,25,17,59,59],[2006,3,26,1,59,59],
+          '2005102918:00:00','2005103002:00:00','2006032517:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,18,0,0],[2006,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2006,10,28,17,59,59],[2006,10,29,2,59,59],
+          '2006032518:00:00','2006032603:00:00','2006102817:59:59','2006102902:59:59' ],
+        [ [2006,10,28,18,0,0],[2006,10,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2007,3,24,17,59,59],[2007,3,25,1,59,59],
+          '2006102818:00:00','2006102902:00:00','2007032417:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,18,0,0],[2007,3,25,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2007,10,27,17,59,59],[2007,10,28,2,59,59],
+          '2007032418:00:00','2007032503:00:00','2007102717:59:59','2007102802:59:59' ],
+        [ [2007,10,27,18,0,0],[2007,10,28,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2008,3,29,17,59,59],[2008,3,30,1,59,59],
+          '2007102718:00:00','2007102802:00:00','2008032917:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,18,0,0],[2008,3,30,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2008,10,25,17,59,59],[2008,10,26,2,59,59],
+          '2008032918:00:00','2008033003:00:00','2008102517:59:59','2008102602:59:59' ],
+        [ [2008,10,25,18,0,0],[2008,10,26,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2009,3,28,17,59,59],[2009,3,29,1,59,59],
+          '2008102518:00:00','2008102602:00:00','2009032817:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,18,0,0],[2009,3,29,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2009,10,24,17,59,59],[2009,10,25,2,59,59],
+          '2009032818:00:00','2009032903:00:00','2009102417:59:59','2009102502:59:59' ],
+        [ [2009,10,24,18,0,0],[2009,10,25,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2010,3,27,17,59,59],[2010,3,28,1,59,59],
+          '2009102418:00:00','2009102502:00:00','2010032717:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,18,0,0],[2010,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2010,10,30,17,59,59],[2010,10,31,2,59,59],
+          '2010032718:00:00','2010032803:00:00','2010103017:59:59','2010103102:59:59' ],
+        [ [2010,10,30,18,0,0],[2010,10,31,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2011,3,26,17,59,59],[2011,3,27,1,59,59],
+          '2010103018:00:00','2010103102:00:00','2011032617:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,18,0,0],[2011,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2014,10,25,16,59,59],[2014,10,26,1,59,59],
+          '2011032618:00:00','2011032703:00:00','2014102516:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,17,0,0],[2014,10,26,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '2014102517:00:00','2014102601:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asjaka00.pm b/lib/Date/Manip/TZ/asjaka00.pm
new file mode 100644
index 0000000..8599aa9
--- /dev/null
+++ b/lib/Date/Manip/TZ/asjaka00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::asjaka00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,7,12],'+07:07:12',[7,7,12],
+          'LMT',0,[1867,8,9,16,52,47],[1867,8,9,23,59,59],
+          '0001010200:00:00','0001010207:07:12','1867080916:52:47','1867080923:59:59' ],
+     ],
+   1867 =>
+     [
+        [ [1867,8,9,16,52,48],[1867,8,10,0,0,0],'+07:07:12',[7,7,12],
+          'BMT',0,[1923,12,31,16,39,59],[1923,12,31,23,47,11],
+          '1867080916:52:48','1867081000:00:00','1923123116:39:59','1923123123:47:11' ],
+     ],
+   1923 =>
+     [
+        [ [1923,12,31,16,40,0],[1924,1,1,0,0,0],'+07:20:00',[7,20,0],
+          '+0720',0,[1932,10,31,16,39,59],[1932,10,31,23,59,59],
+          '1923123116:40:00','1924010100:00:00','1932103116:39:59','1932103123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,10,31,16,40,0],[1932,11,1,0,10,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1942,3,22,16,29,59],[1942,3,22,23,59,59],
+          '1932103116:40:00','1932110100:10:00','1942032216:29:59','1942032223:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,22,16,30,0],[1942,3,23,1,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,22,14,59,59],[1945,9,22,23,59,59],
+          '1942032216:30:00','1942032301:30:00','1945092214:59:59','1945092223:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,22,15,0,0],[1945,9,22,22,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1948,4,30,16,29,59],[1948,4,30,23,59,59],
+          '1945092215:00:00','1945092222:30:00','1948043016:29:59','1948043023:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,30,16,30,0],[1948,5,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[1950,4,30,15,59,59],[1950,4,30,23,59,59],
+          '1948043016:30:00','1948050100:30:00','1950043015:59:59','1950043023:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,16,0,0],[1950,4,30,23,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1963,12,31,16,29,59],[1963,12,31,23,59,59],
+          '1950043016:00:00','1950043023:30:00','1963123116:29:59','1963123123:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,31,16,30,0],[1963,12,31,23,30,0],'+07:00:00',[7,0,0],
+          'WIB',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '1963123116:30:00','1963123123:30:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asjaya00.pm b/lib/Date/Manip/TZ/asjaya00.pm
new file mode 100644
index 0000000..b5ffedc
--- /dev/null
+++ b/lib/Date/Manip/TZ/asjaya00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::asjaya00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,22,48],'+09:22:48',[9,22,48],
+          'LMT',0,[1932,10,31,14,37,11],[1932,10,31,23,59,59],
+          '0001010200:00:00','0001010209:22:48','1932103114:37:11','1932103123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,10,31,14,37,12],[1932,10,31,23,37,12],'+09:00:00',[9,0,0],
+          '+09',0,[1944,8,31,14,59,59],[1944,8,31,23,59,59],
+          '1932103114:37:12','1932103123:37:12','1944083114:59:59','1944083123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,8,31,15,0,0],[1944,9,1,0,30,0],'+09:30:00',[9,30,0],
+          '+0930',0,[1963,12,31,14,29,59],[1963,12,31,23,59,59],
+          '1944083115:00:00','1944090100:30:00','1963123114:29:59','1963123123:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,31,14,30,0],[1963,12,31,23,30,0],'+09:00:00',[9,0,0],
+          'WIT',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '1963123114:30:00','1963123123:30:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asjeru00.pm b/lib/Date/Manip/TZ/asjeru00.pm
new file mode 100644
index 0000000..5da1ef5
--- /dev/null
+++ b/lib/Date/Manip/TZ/asjeru00.pm
@@ -0,0 +1,1042 @@
+package #
+Date::Manip::TZ::asjeru00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,20,54],'+02:20:54',[2,20,54],
+          'LMT',0,[1879,12,31,21,39,5],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:20:54','1879123121:39:05','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,39,6],[1879,12,31,23,59,46],'+02:20:40',[2,20,40],
+          'JMT',0,[1917,12,31,21,39,19],[1917,12,31,23,59,59],
+          '1879123121:39:06','1879123123:59:46','1917123121:39:19','1917123123:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,12,31,21,39,20],[1917,12,31,23,39,20],'+02:00:00',[2,0,0],
+          'IST',0,[1940,5,31,21,59,59],[1940,5,31,23,59,59],
+          '1917123121:39:20','1917123123:39:20','1940053121:59:59','1940053123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,31,22,0,0],[1940,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1942,10,31,20,59,59],[1942,10,31,23,59,59],
+          '1940053122:00:00','1940060101:00:00','1942103120:59:59','1942103123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,10,31,21,0,0],[1942,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1943,3,31,23,59,59],[1943,4,1,1,59,59],
+          '1942103121:00:00','1942103123:00:00','1943033123:59:59','1943040101:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,1,0,0,0],[1943,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1943,10,31,20,59,59],[1943,10,31,23,59,59],
+          '1943040100:00:00','1943040103:00:00','1943103120:59:59','1943103123:59:59' ],
+        [ [1943,10,31,21,0,0],[1943,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1944,3,31,21,59,59],[1944,3,31,23,59,59],
+          '1943103121:00:00','1943103123:00:00','1944033121:59:59','1944033123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,31,22,0,0],[1944,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1944,10,31,20,59,59],[1944,10,31,23,59,59],
+          '1944033122:00:00','1944040101:00:00','1944103120:59:59','1944103123:59:59' ],
+        [ [1944,10,31,21,0,0],[1944,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1945,4,15,21,59,59],[1945,4,15,23,59,59],
+          '1944103121:00:00','1944103123:00:00','1945041521:59:59','1945041523:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,15,22,0,0],[1945,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1945,10,31,22,59,59],[1945,11,1,1,59,59],
+          '1945041522:00:00','1945041601:00:00','1945103122:59:59','1945110101:59:59' ],
+        [ [1945,10,31,23,0,0],[1945,11,1,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1946,4,15,23,59,59],[1946,4,16,1,59,59],
+          '1945103123:00:00','1945110101:00:00','1946041523:59:59','1946041601:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,16,0,0,0],[1946,4,16,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1946,10,31,20,59,59],[1946,10,31,23,59,59],
+          '1946041600:00:00','1946041603:00:00','1946103120:59:59','1946103123:59:59' ],
+        [ [1946,10,31,21,0,0],[1946,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1948,5,22,21,59,59],[1948,5,22,23,59,59],
+          '1946103121:00:00','1946103123:00:00','1948052221:59:59','1948052223:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,22,22,0,0],[1948,5,23,2,0,0],'+04:00:00',[4,0,0],
+          'IDDT',1,[1948,8,31,19,59,59],[1948,8,31,23,59,59],
+          '1948052222:00:00','1948052302:00:00','1948083119:59:59','1948083123:59:59' ],
+        [ [1948,8,31,20,0,0],[1948,8,31,23,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1948,10,31,22,59,59],[1948,11,1,1,59,59],
+          '1948083120:00:00','1948083123:00:00','1948103122:59:59','1948110101:59:59' ],
+        [ [1948,10,31,23,0,0],[1948,11,1,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1949,4,30,21,59,59],[1949,4,30,23,59,59],
+          '1948103123:00:00','1948110101:00:00','1949043021:59:59','1949043023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,30,22,0,0],[1949,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1949,10,31,22,59,59],[1949,11,1,1,59,59],
+          '1949043022:00:00','1949050101:00:00','1949103122:59:59','1949110101:59:59' ],
+        [ [1949,10,31,23,0,0],[1949,11,1,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1950,4,15,21,59,59],[1950,4,15,23,59,59],
+          '1949103123:00:00','1949110101:00:00','1950041521:59:59','1950041523:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,15,22,0,0],[1950,4,16,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1950,9,14,23,59,59],[1950,9,15,2,59,59],
+          '1950041522:00:00','1950041601:00:00','1950091423:59:59','1950091502:59:59' ],
+        [ [1950,9,15,0,0,0],[1950,9,15,2,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1951,3,31,21,59,59],[1951,3,31,23,59,59],
+          '1950091500:00:00','1950091502:00:00','1951033121:59:59','1951033123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,3,31,22,0,0],[1951,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1951,11,10,23,59,59],[1951,11,11,2,59,59],
+          '1951033122:00:00','1951040101:00:00','1951111023:59:59','1951111102:59:59' ],
+        [ [1951,11,11,0,0,0],[1951,11,11,2,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1952,4,19,23,59,59],[1952,4,20,1,59,59],
+          '1951111100:00:00','1951111102:00:00','1952041923:59:59','1952042001:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,20,0,0,0],[1952,4,20,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1952,10,18,23,59,59],[1952,10,19,2,59,59],
+          '1952042000:00:00','1952042003:00:00','1952101823:59:59','1952101902:59:59' ],
+        [ [1952,10,19,0,0,0],[1952,10,19,2,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1953,4,11,23,59,59],[1953,4,12,1,59,59],
+          '1952101900:00:00','1952101902:00:00','1953041123:59:59','1953041201:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,12,0,0,0],[1953,4,12,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1953,9,12,23,59,59],[1953,9,13,2,59,59],
+          '1953041200:00:00','1953041203:00:00','1953091223:59:59','1953091302:59:59' ],
+        [ [1953,9,13,0,0,0],[1953,9,13,2,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1954,6,12,21,59,59],[1954,6,12,23,59,59],
+          '1953091300:00:00','1953091302:00:00','1954061221:59:59','1954061223:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,6,12,22,0,0],[1954,6,13,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1954,9,11,20,59,59],[1954,9,11,23,59,59],
+          '1954061222:00:00','1954061301:00:00','1954091120:59:59','1954091123:59:59' ],
+        [ [1954,9,11,21,0,0],[1954,9,11,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1955,6,10,23,59,59],[1955,6,11,1,59,59],
+          '1954091121:00:00','1954091123:00:00','1955061023:59:59','1955061101:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,6,11,0,0,0],[1955,6,11,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1955,9,10,20,59,59],[1955,9,10,23,59,59],
+          '1955061100:00:00','1955061103:00:00','1955091020:59:59','1955091023:59:59' ],
+        [ [1955,9,10,21,0,0],[1955,9,10,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1956,6,2,21,59,59],[1956,6,2,23,59,59],
+          '1955091021:00:00','1955091023:00:00','1956060221:59:59','1956060223:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,6,2,22,0,0],[1956,6,3,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1956,9,29,23,59,59],[1956,9,30,2,59,59],
+          '1956060222:00:00','1956060301:00:00','1956092923:59:59','1956093002:59:59' ],
+        [ [1956,9,30,0,0,0],[1956,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1957,4,28,23,59,59],[1957,4,29,1,59,59],
+          '1956093000:00:00','1956093002:00:00','1957042823:59:59','1957042901:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,29,0,0,0],[1957,4,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1957,9,21,20,59,59],[1957,9,21,23,59,59],
+          '1957042900:00:00','1957042903:00:00','1957092120:59:59','1957092123:59:59' ],
+        [ [1957,9,21,21,0,0],[1957,9,21,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1974,7,6,21,59,59],[1974,7,6,23,59,59],
+          '1957092121:00:00','1957092123:00:00','1974070621:59:59','1974070623:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,7,6,22,0,0],[1974,7,7,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1974,10,12,20,59,59],[1974,10,12,23,59,59],
+          '1974070622:00:00','1974070701:00:00','1974101220:59:59','1974101223:59:59' ],
+        [ [1974,10,12,21,0,0],[1974,10,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1975,4,19,21,59,59],[1975,4,19,23,59,59],
+          '1974101221:00:00','1974101223:00:00','1975041921:59:59','1975041923:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,19,22,0,0],[1975,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1975,8,30,20,59,59],[1975,8,30,23,59,59],
+          '1975041922:00:00','1975042001:00:00','1975083020:59:59','1975083023:59:59' ],
+        [ [1975,8,30,21,0,0],[1975,8,30,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1985,4,13,21,59,59],[1985,4,13,23,59,59],
+          '1975083021:00:00','1975083023:00:00','1985041321:59:59','1985041323:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,13,22,0,0],[1985,4,14,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1985,9,14,20,59,59],[1985,9,14,23,59,59],
+          '1985041322:00:00','1985041401:00:00','1985091420:59:59','1985091423:59:59' ],
+        [ [1985,9,14,21,0,0],[1985,9,14,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1986,5,17,21,59,59],[1986,5,17,23,59,59],
+          '1985091421:00:00','1985091423:00:00','1986051721:59:59','1986051723:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,5,17,22,0,0],[1986,5,18,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1986,9,6,20,59,59],[1986,9,6,23,59,59],
+          '1986051722:00:00','1986051801:00:00','1986090620:59:59','1986090623:59:59' ],
+        [ [1986,9,6,21,0,0],[1986,9,6,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1987,4,14,21,59,59],[1987,4,14,23,59,59],
+          '1986090621:00:00','1986090623:00:00','1987041421:59:59','1987041423:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,14,22,0,0],[1987,4,15,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1987,9,12,20,59,59],[1987,9,12,23,59,59],
+          '1987041422:00:00','1987041501:00:00','1987091220:59:59','1987091223:59:59' ],
+        [ [1987,9,12,21,0,0],[1987,9,12,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1988,4,9,21,59,59],[1988,4,9,23,59,59],
+          '1987091221:00:00','1987091223:00:00','1988040921:59:59','1988040923:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,9,22,0,0],[1988,4,10,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1988,9,3,20,59,59],[1988,9,3,23,59,59],
+          '1988040922:00:00','1988041001:00:00','1988090320:59:59','1988090323:59:59' ],
+        [ [1988,9,3,21,0,0],[1988,9,3,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1989,4,29,21,59,59],[1989,4,29,23,59,59],
+          '1988090321:00:00','1988090323:00:00','1989042921:59:59','1989042923:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,29,22,0,0],[1989,4,30,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1989,9,2,20,59,59],[1989,9,2,23,59,59],
+          '1989042922:00:00','1989043001:00:00','1989090220:59:59','1989090223:59:59' ],
+        [ [1989,9,2,21,0,0],[1989,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1990,3,24,21,59,59],[1990,3,24,23,59,59],
+          '1989090221:00:00','1989090223:00:00','1990032421:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1990,8,25,20,59,59],[1990,8,25,23,59,59],
+          '1990032422:00:00','1990032501:00:00','1990082520:59:59','1990082523:59:59' ],
+        [ [1990,8,25,21,0,0],[1990,8,25,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1991,3,23,21,59,59],[1991,3,23,23,59,59],
+          '1990082521:00:00','1990082523:00:00','1991032321:59:59','1991032323:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,23,22,0,0],[1991,3,24,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1991,8,31,20,59,59],[1991,8,31,23,59,59],
+          '1991032322:00:00','1991032401:00:00','1991083120:59:59','1991083123:59:59' ],
+        [ [1991,8,31,21,0,0],[1991,8,31,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991083121:00:00','1991083123:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1992,9,5,20,59,59],[1992,9,5,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992090520:59:59','1992090523:59:59' ],
+        [ [1992,9,5,21,0,0],[1992,9,5,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1993,4,1,21,59,59],[1993,4,1,23,59,59],
+          '1992090521:00:00','1992090523:00:00','1993040121:59:59','1993040123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,1,22,0,0],[1993,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1993,9,4,20,59,59],[1993,9,4,23,59,59],
+          '1993040122:00:00','1993040201:00:00','1993090420:59:59','1993090423:59:59' ],
+        [ [1993,9,4,21,0,0],[1993,9,4,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1994,3,31,21,59,59],[1994,3,31,23,59,59],
+          '1993090421:00:00','1993090423:00:00','1994033121:59:59','1994033123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,31,22,0,0],[1994,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1994,8,27,20,59,59],[1994,8,27,23,59,59],
+          '1994033122:00:00','1994040101:00:00','1994082720:59:59','1994082723:59:59' ],
+        [ [1994,8,27,21,0,0],[1994,8,27,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1995,3,30,21,59,59],[1995,3,30,23,59,59],
+          '1994082721:00:00','1994082723:00:00','1995033021:59:59','1995033023:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,30,22,0,0],[1995,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1995,9,2,20,59,59],[1995,9,2,23,59,59],
+          '1995033022:00:00','1995033101:00:00','1995090220:59:59','1995090223:59:59' ],
+        [ [1995,9,2,21,0,0],[1995,9,2,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1996,3,14,21,59,59],[1996,3,14,23,59,59],
+          '1995090221:00:00','1995090223:00:00','1996031421:59:59','1996031423:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,14,22,0,0],[1996,3,15,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1996,9,15,20,59,59],[1996,9,15,23,59,59],
+          '1996031422:00:00','1996031501:00:00','1996091520:59:59','1996091523:59:59' ],
+        [ [1996,9,15,21,0,0],[1996,9,15,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1997,3,20,21,59,59],[1997,3,20,23,59,59],
+          '1996091521:00:00','1996091523:00:00','1997032021:59:59','1997032023:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,20,22,0,0],[1997,3,21,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1997,9,13,20,59,59],[1997,9,13,23,59,59],
+          '1997032022:00:00','1997032101:00:00','1997091320:59:59','1997091323:59:59' ],
+        [ [1997,9,13,21,0,0],[1997,9,13,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1998,3,19,21,59,59],[1998,3,19,23,59,59],
+          '1997091321:00:00','1997091323:00:00','1998031921:59:59','1998031923:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,19,22,0,0],[1998,3,20,1,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1998,9,5,20,59,59],[1998,9,5,23,59,59],
+          '1998031922:00:00','1998032001:00:00','1998090520:59:59','1998090523:59:59' ],
+        [ [1998,9,5,21,0,0],[1998,9,5,23,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[1999,4,1,23,59,59],[1999,4,2,1,59,59],
+          '1998090521:00:00','1998090523:00:00','1999040123:59:59','1999040201:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,2,0,0,0],[1999,4,2,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[1999,9,2,22,59,59],[1999,9,3,1,59,59],
+          '1999040200:00:00','1999040203:00:00','1999090222:59:59','1999090301:59:59' ],
+        [ [1999,9,2,23,0,0],[1999,9,3,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2000,4,13,23,59,59],[2000,4,14,1,59,59],
+          '1999090223:00:00','1999090301:00:00','2000041323:59:59','2000041401:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,14,0,0,0],[2000,4,14,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2000,10,5,21,59,59],[2000,10,6,0,59,59],
+          '2000041400:00:00','2000041403:00:00','2000100521:59:59','2000100600:59:59' ],
+        [ [2000,10,5,22,0,0],[2000,10,6,0,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2001,4,8,22,59,59],[2001,4,9,0,59,59],
+          '2000100522:00:00','2000100600:00:00','2001040822:59:59','2001040900:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,8,23,0,0],[2001,4,9,2,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2001,9,23,21,59,59],[2001,9,24,0,59,59],
+          '2001040823:00:00','2001040902:00:00','2001092321:59:59','2001092400:59:59' ],
+        [ [2001,9,23,22,0,0],[2001,9,24,0,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2002,3,28,22,59,59],[2002,3,29,0,59,59],
+          '2001092322:00:00','2001092400:00:00','2002032822:59:59','2002032900:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,28,23,0,0],[2002,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2002,10,6,21,59,59],[2002,10,7,0,59,59],
+          '2002032823:00:00','2002032902:00:00','2002100621:59:59','2002100700:59:59' ],
+        [ [2002,10,6,22,0,0],[2002,10,7,0,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2003,3,27,22,59,59],[2003,3,28,0,59,59],
+          '2002100622:00:00','2002100700:00:00','2003032722:59:59','2003032800:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,27,23,0,0],[2003,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2003,10,2,21,59,59],[2003,10,3,0,59,59],
+          '2003032723:00:00','2003032802:00:00','2003100221:59:59','2003100300:59:59' ],
+        [ [2003,10,2,22,0,0],[2003,10,3,0,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2004,4,6,22,59,59],[2004,4,7,0,59,59],
+          '2003100222:00:00','2003100300:00:00','2004040622:59:59','2004040700:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,6,23,0,0],[2004,4,7,2,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2004,9,21,21,59,59],[2004,9,22,0,59,59],
+          '2004040623:00:00','2004040702:00:00','2004092121:59:59','2004092200:59:59' ],
+        [ [2004,9,21,22,0,0],[2004,9,22,0,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2005,3,31,23,59,59],[2005,4,1,1,59,59],
+          '2004092122:00:00','2004092200:00:00','2005033123:59:59','2005040101:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,1,0,0,0],[2005,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2005,10,8,22,59,59],[2005,10,9,1,59,59],
+          '2005040100:00:00','2005040103:00:00','2005100822:59:59','2005100901:59:59' ],
+        [ [2005,10,8,23,0,0],[2005,10,9,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2006,3,30,23,59,59],[2006,3,31,1,59,59],
+          '2005100823:00:00','2005100901:00:00','2006033023:59:59','2006033101:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,31,0,0,0],[2006,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2006,9,30,22,59,59],[2006,10,1,1,59,59],
+          '2006033100:00:00','2006033103:00:00','2006093022:59:59','2006100101:59:59' ],
+        [ [2006,9,30,23,0,0],[2006,10,1,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2007,3,29,23,59,59],[2007,3,30,1,59,59],
+          '2006093023:00:00','2006100101:00:00','2007032923:59:59','2007033001:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,30,0,0,0],[2007,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2007,9,15,22,59,59],[2007,9,16,1,59,59],
+          '2007033000:00:00','2007033003:00:00','2007091522:59:59','2007091601:59:59' ],
+        [ [2007,9,15,23,0,0],[2007,9,16,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2008,3,27,23,59,59],[2008,3,28,1,59,59],
+          '2007091523:00:00','2007091601:00:00','2008032723:59:59','2008032801:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,28,0,0,0],[2008,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2008,10,4,22,59,59],[2008,10,5,1,59,59],
+          '2008032800:00:00','2008032803:00:00','2008100422:59:59','2008100501:59:59' ],
+        [ [2008,10,4,23,0,0],[2008,10,5,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2009,3,26,23,59,59],[2009,3,27,1,59,59],
+          '2008100423:00:00','2008100501:00:00','2009032623:59:59','2009032701:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,27,0,0,0],[2009,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2009,9,26,22,59,59],[2009,9,27,1,59,59],
+          '2009032700:00:00','2009032703:00:00','2009092622:59:59','2009092701:59:59' ],
+        [ [2009,9,26,23,0,0],[2009,9,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2010,3,25,23,59,59],[2010,3,26,1,59,59],
+          '2009092623:00:00','2009092701:00:00','2010032523:59:59','2010032601:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,26,0,0,0],[2010,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2010,9,11,22,59,59],[2010,9,12,1,59,59],
+          '2010032600:00:00','2010032603:00:00','2010091122:59:59','2010091201:59:59' ],
+        [ [2010,9,11,23,0,0],[2010,9,12,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2011,3,31,23,59,59],[2011,4,1,1,59,59],
+          '2010091123:00:00','2010091201:00:00','2011033123:59:59','2011040101:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,1,0,0,0],[2011,4,1,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2011,10,1,22,59,59],[2011,10,2,1,59,59],
+          '2011040100:00:00','2011040103:00:00','2011100122:59:59','2011100201:59:59' ],
+        [ [2011,10,1,23,0,0],[2011,10,2,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2012,3,29,23,59,59],[2012,3,30,1,59,59],
+          '2011100123:00:00','2011100201:00:00','2012032923:59:59','2012033001:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,30,0,0,0],[2012,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2012,9,22,22,59,59],[2012,9,23,1,59,59],
+          '2012033000:00:00','2012033003:00:00','2012092222:59:59','2012092301:59:59' ],
+        [ [2012,9,22,23,0,0],[2012,9,23,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2013,3,28,23,59,59],[2013,3,29,1,59,59],
+          '2012092223:00:00','2012092301:00:00','2013032823:59:59','2013032901:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,29,0,0,0],[2013,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2013,10,26,22,59,59],[2013,10,27,1,59,59],
+          '2013032900:00:00','2013032903:00:00','2013102622:59:59','2013102701:59:59' ],
+        [ [2013,10,26,23,0,0],[2013,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2014,3,27,23,59,59],[2014,3,28,1,59,59],
+          '2013102623:00:00','2013102701:00:00','2014032723:59:59','2014032801:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,28,0,0,0],[2014,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2014,10,25,22,59,59],[2014,10,26,1,59,59],
+          '2014032800:00:00','2014032803:00:00','2014102522:59:59','2014102601:59:59' ],
+        [ [2014,10,25,23,0,0],[2014,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2015,3,26,23,59,59],[2015,3,27,1,59,59],
+          '2014102523:00:00','2014102601:00:00','2015032623:59:59','2015032701:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,0,0,0],[2015,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2015,10,24,22,59,59],[2015,10,25,1,59,59],
+          '2015032700:00:00','2015032703:00:00','2015102422:59:59','2015102501:59:59' ],
+        [ [2015,10,24,23,0,0],[2015,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2016,3,24,23,59,59],[2016,3,25,1,59,59],
+          '2015102423:00:00','2015102501:00:00','2016032423:59:59','2016032501:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,0,0,0],[2016,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2016,10,29,22,59,59],[2016,10,30,1,59,59],
+          '2016032500:00:00','2016032503:00:00','2016102922:59:59','2016103001:59:59' ],
+        [ [2016,10,29,23,0,0],[2016,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2017,3,23,23,59,59],[2017,3,24,1,59,59],
+          '2016102923:00:00','2016103001:00:00','2017032323:59:59','2017032401:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,24,0,0,0],[2017,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2017,10,28,22,59,59],[2017,10,29,1,59,59],
+          '2017032400:00:00','2017032403:00:00','2017102822:59:59','2017102901:59:59' ],
+        [ [2017,10,28,23,0,0],[2017,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2018,3,22,23,59,59],[2018,3,23,1,59,59],
+          '2017102823:00:00','2017102901:00:00','2018032223:59:59','2018032301:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,23,0,0,0],[2018,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2018,10,27,22,59,59],[2018,10,28,1,59,59],
+          '2018032300:00:00','2018032303:00:00','2018102722:59:59','2018102801:59:59' ],
+        [ [2018,10,27,23,0,0],[2018,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2019,3,28,23,59,59],[2019,3,29,1,59,59],
+          '2018102723:00:00','2018102801:00:00','2019032823:59:59','2019032901:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,29,0,0,0],[2019,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2019,10,26,22,59,59],[2019,10,27,1,59,59],
+          '2019032900:00:00','2019032903:00:00','2019102622:59:59','2019102701:59:59' ],
+        [ [2019,10,26,23,0,0],[2019,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2020,3,26,23,59,59],[2020,3,27,1,59,59],
+          '2019102623:00:00','2019102701:00:00','2020032623:59:59','2020032701:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,27,0,0,0],[2020,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2020,10,24,22,59,59],[2020,10,25,1,59,59],
+          '2020032700:00:00','2020032703:00:00','2020102422:59:59','2020102501:59:59' ],
+        [ [2020,10,24,23,0,0],[2020,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2021,3,25,23,59,59],[2021,3,26,1,59,59],
+          '2020102423:00:00','2020102501:00:00','2021032523:59:59','2021032601:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,26,0,0,0],[2021,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2021,10,30,22,59,59],[2021,10,31,1,59,59],
+          '2021032600:00:00','2021032603:00:00','2021103022:59:59','2021103101:59:59' ],
+        [ [2021,10,30,23,0,0],[2021,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2022,3,24,23,59,59],[2022,3,25,1,59,59],
+          '2021103023:00:00','2021103101:00:00','2022032423:59:59','2022032501:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,25,0,0,0],[2022,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2022,10,29,22,59,59],[2022,10,30,1,59,59],
+          '2022032500:00:00','2022032503:00:00','2022102922:59:59','2022103001:59:59' ],
+        [ [2022,10,29,23,0,0],[2022,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2023,3,23,23,59,59],[2023,3,24,1,59,59],
+          '2022102923:00:00','2022103001:00:00','2023032323:59:59','2023032401:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,24,0,0,0],[2023,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2023,10,28,22,59,59],[2023,10,29,1,59,59],
+          '2023032400:00:00','2023032403:00:00','2023102822:59:59','2023102901:59:59' ],
+        [ [2023,10,28,23,0,0],[2023,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2024,3,28,23,59,59],[2024,3,29,1,59,59],
+          '2023102823:00:00','2023102901:00:00','2024032823:59:59','2024032901:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,29,0,0,0],[2024,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2024,10,26,22,59,59],[2024,10,27,1,59,59],
+          '2024032900:00:00','2024032903:00:00','2024102622:59:59','2024102701:59:59' ],
+        [ [2024,10,26,23,0,0],[2024,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2025,3,27,23,59,59],[2025,3,28,1,59,59],
+          '2024102623:00:00','2024102701:00:00','2025032723:59:59','2025032801:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,28,0,0,0],[2025,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2025,10,25,22,59,59],[2025,10,26,1,59,59],
+          '2025032800:00:00','2025032803:00:00','2025102522:59:59','2025102601:59:59' ],
+        [ [2025,10,25,23,0,0],[2025,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2026,3,26,23,59,59],[2026,3,27,1,59,59],
+          '2025102523:00:00','2025102601:00:00','2026032623:59:59','2026032701:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,27,0,0,0],[2026,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2026,10,24,22,59,59],[2026,10,25,1,59,59],
+          '2026032700:00:00','2026032703:00:00','2026102422:59:59','2026102501:59:59' ],
+        [ [2026,10,24,23,0,0],[2026,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2027,3,25,23,59,59],[2027,3,26,1,59,59],
+          '2026102423:00:00','2026102501:00:00','2027032523:59:59','2027032601:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,26,0,0,0],[2027,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2027,10,30,22,59,59],[2027,10,31,1,59,59],
+          '2027032600:00:00','2027032603:00:00','2027103022:59:59','2027103101:59:59' ],
+        [ [2027,10,30,23,0,0],[2027,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2028,3,23,23,59,59],[2028,3,24,1,59,59],
+          '2027103023:00:00','2027103101:00:00','2028032323:59:59','2028032401:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,24,0,0,0],[2028,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2028,10,28,22,59,59],[2028,10,29,1,59,59],
+          '2028032400:00:00','2028032403:00:00','2028102822:59:59','2028102901:59:59' ],
+        [ [2028,10,28,23,0,0],[2028,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2029,3,22,23,59,59],[2029,3,23,1,59,59],
+          '2028102823:00:00','2028102901:00:00','2029032223:59:59','2029032301:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,23,0,0,0],[2029,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2029,10,27,22,59,59],[2029,10,28,1,59,59],
+          '2029032300:00:00','2029032303:00:00','2029102722:59:59','2029102801:59:59' ],
+        [ [2029,10,27,23,0,0],[2029,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2030,3,28,23,59,59],[2030,3,29,1,59,59],
+          '2029102723:00:00','2029102801:00:00','2030032823:59:59','2030032901:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,29,0,0,0],[2030,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2030,10,26,22,59,59],[2030,10,27,1,59,59],
+          '2030032900:00:00','2030032903:00:00','2030102622:59:59','2030102701:59:59' ],
+        [ [2030,10,26,23,0,0],[2030,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2031,3,27,23,59,59],[2031,3,28,1,59,59],
+          '2030102623:00:00','2030102701:00:00','2031032723:59:59','2031032801:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,28,0,0,0],[2031,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2031,10,25,22,59,59],[2031,10,26,1,59,59],
+          '2031032800:00:00','2031032803:00:00','2031102522:59:59','2031102601:59:59' ],
+        [ [2031,10,25,23,0,0],[2031,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2032,3,25,23,59,59],[2032,3,26,1,59,59],
+          '2031102523:00:00','2031102601:00:00','2032032523:59:59','2032032601:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,26,0,0,0],[2032,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2032,10,30,22,59,59],[2032,10,31,1,59,59],
+          '2032032600:00:00','2032032603:00:00','2032103022:59:59','2032103101:59:59' ],
+        [ [2032,10,30,23,0,0],[2032,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2033,3,24,23,59,59],[2033,3,25,1,59,59],
+          '2032103023:00:00','2032103101:00:00','2033032423:59:59','2033032501:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,25,0,0,0],[2033,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2033,10,29,22,59,59],[2033,10,30,1,59,59],
+          '2033032500:00:00','2033032503:00:00','2033102922:59:59','2033103001:59:59' ],
+        [ [2033,10,29,23,0,0],[2033,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2034,3,23,23,59,59],[2034,3,24,1,59,59],
+          '2033102923:00:00','2033103001:00:00','2034032323:59:59','2034032401:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,24,0,0,0],[2034,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2034,10,28,22,59,59],[2034,10,29,1,59,59],
+          '2034032400:00:00','2034032403:00:00','2034102822:59:59','2034102901:59:59' ],
+        [ [2034,10,28,23,0,0],[2034,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2035,3,22,23,59,59],[2035,3,23,1,59,59],
+          '2034102823:00:00','2034102901:00:00','2035032223:59:59','2035032301:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,23,0,0,0],[2035,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2035,10,27,22,59,59],[2035,10,28,1,59,59],
+          '2035032300:00:00','2035032303:00:00','2035102722:59:59','2035102801:59:59' ],
+        [ [2035,10,27,23,0,0],[2035,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2036,3,27,23,59,59],[2036,3,28,1,59,59],
+          '2035102723:00:00','2035102801:00:00','2036032723:59:59','2036032801:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,28,0,0,0],[2036,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2036,10,25,22,59,59],[2036,10,26,1,59,59],
+          '2036032800:00:00','2036032803:00:00','2036102522:59:59','2036102601:59:59' ],
+        [ [2036,10,25,23,0,0],[2036,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2037,3,26,23,59,59],[2037,3,27,1,59,59],
+          '2036102523:00:00','2036102601:00:00','2037032623:59:59','2037032701:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,27,0,0,0],[2037,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2037,10,24,22,59,59],[2037,10,25,1,59,59],
+          '2037032700:00:00','2037032703:00:00','2037102422:59:59','2037102501:59:59' ],
+        [ [2037,10,24,23,0,0],[2037,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2038,3,25,23,59,59],[2038,3,26,1,59,59],
+          '2037102423:00:00','2037102501:00:00','2038032523:59:59','2038032601:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,26,0,0,0],[2038,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2038,10,30,22,59,59],[2038,10,31,1,59,59],
+          '2038032600:00:00','2038032603:00:00','2038103022:59:59','2038103101:59:59' ],
+        [ [2038,10,30,23,0,0],[2038,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2039,3,24,23,59,59],[2039,3,25,1,59,59],
+          '2038103023:00:00','2038103101:00:00','2039032423:59:59','2039032501:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,25,0,0,0],[2039,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2039,10,29,22,59,59],[2039,10,30,1,59,59],
+          '2039032500:00:00','2039032503:00:00','2039102922:59:59','2039103001:59:59' ],
+        [ [2039,10,29,23,0,0],[2039,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2040,3,22,23,59,59],[2040,3,23,1,59,59],
+          '2039102923:00:00','2039103001:00:00','2040032223:59:59','2040032301:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,23,0,0,0],[2040,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2040,10,27,22,59,59],[2040,10,28,1,59,59],
+          '2040032300:00:00','2040032303:00:00','2040102722:59:59','2040102801:59:59' ],
+        [ [2040,10,27,23,0,0],[2040,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2041,3,28,23,59,59],[2041,3,29,1,59,59],
+          '2040102723:00:00','2040102801:00:00','2041032823:59:59','2041032901:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,29,0,0,0],[2041,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2041,10,26,22,59,59],[2041,10,27,1,59,59],
+          '2041032900:00:00','2041032903:00:00','2041102622:59:59','2041102701:59:59' ],
+        [ [2041,10,26,23,0,0],[2041,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2042,3,27,23,59,59],[2042,3,28,1,59,59],
+          '2041102623:00:00','2041102701:00:00','2042032723:59:59','2042032801:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,28,0,0,0],[2042,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2042,10,25,22,59,59],[2042,10,26,1,59,59],
+          '2042032800:00:00','2042032803:00:00','2042102522:59:59','2042102601:59:59' ],
+        [ [2042,10,25,23,0,0],[2042,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2043,3,26,23,59,59],[2043,3,27,1,59,59],
+          '2042102523:00:00','2042102601:00:00','2043032623:59:59','2043032701:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,27,0,0,0],[2043,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2043,10,24,22,59,59],[2043,10,25,1,59,59],
+          '2043032700:00:00','2043032703:00:00','2043102422:59:59','2043102501:59:59' ],
+        [ [2043,10,24,23,0,0],[2043,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2044,3,24,23,59,59],[2044,3,25,1,59,59],
+          '2043102423:00:00','2043102501:00:00','2044032423:59:59','2044032501:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,25,0,0,0],[2044,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2044,10,29,22,59,59],[2044,10,30,1,59,59],
+          '2044032500:00:00','2044032503:00:00','2044102922:59:59','2044103001:59:59' ],
+        [ [2044,10,29,23,0,0],[2044,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2045,3,23,23,59,59],[2045,3,24,1,59,59],
+          '2044102923:00:00','2044103001:00:00','2045032323:59:59','2045032401:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,24,0,0,0],[2045,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2045,10,28,22,59,59],[2045,10,29,1,59,59],
+          '2045032400:00:00','2045032403:00:00','2045102822:59:59','2045102901:59:59' ],
+        [ [2045,10,28,23,0,0],[2045,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2046,3,22,23,59,59],[2046,3,23,1,59,59],
+          '2045102823:00:00','2045102901:00:00','2046032223:59:59','2046032301:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,23,0,0,0],[2046,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2046,10,27,22,59,59],[2046,10,28,1,59,59],
+          '2046032300:00:00','2046032303:00:00','2046102722:59:59','2046102801:59:59' ],
+        [ [2046,10,27,23,0,0],[2046,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2047,3,28,23,59,59],[2047,3,29,1,59,59],
+          '2046102723:00:00','2046102801:00:00','2047032823:59:59','2047032901:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,29,0,0,0],[2047,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2047,10,26,22,59,59],[2047,10,27,1,59,59],
+          '2047032900:00:00','2047032903:00:00','2047102622:59:59','2047102701:59:59' ],
+        [ [2047,10,26,23,0,0],[2047,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2048,3,26,23,59,59],[2048,3,27,1,59,59],
+          '2047102623:00:00','2047102701:00:00','2048032623:59:59','2048032701:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,27,0,0,0],[2048,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2048,10,24,22,59,59],[2048,10,25,1,59,59],
+          '2048032700:00:00','2048032703:00:00','2048102422:59:59','2048102501:59:59' ],
+        [ [2048,10,24,23,0,0],[2048,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2049,3,25,23,59,59],[2049,3,26,1,59,59],
+          '2048102423:00:00','2048102501:00:00','2049032523:59:59','2049032601:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,26,0,0,0],[2049,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2049,10,30,22,59,59],[2049,10,31,1,59,59],
+          '2049032600:00:00','2049032603:00:00','2049103022:59:59','2049103101:59:59' ],
+        [ [2049,10,30,23,0,0],[2049,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2050,3,24,23,59,59],[2050,3,25,1,59,59],
+          '2049103023:00:00','2049103101:00:00','2050032423:59:59','2050032501:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,25,0,0,0],[2050,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2050,10,29,22,59,59],[2050,10,30,1,59,59],
+          '2050032500:00:00','2050032503:00:00','2050102922:59:59','2050103001:59:59' ],
+        [ [2050,10,29,23,0,0],[2050,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2051,3,23,23,59,59],[2051,3,24,1,59,59],
+          '2050102923:00:00','2050103001:00:00','2051032323:59:59','2051032401:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,24,0,0,0],[2051,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2051,10,28,22,59,59],[2051,10,29,1,59,59],
+          '2051032400:00:00','2051032403:00:00','2051102822:59:59','2051102901:59:59' ],
+        [ [2051,10,28,23,0,0],[2051,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2052,3,28,23,59,59],[2052,3,29,1,59,59],
+          '2051102823:00:00','2051102901:00:00','2052032823:59:59','2052032901:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,29,0,0,0],[2052,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2052,10,26,22,59,59],[2052,10,27,1,59,59],
+          '2052032900:00:00','2052032903:00:00','2052102622:59:59','2052102701:59:59' ],
+        [ [2052,10,26,23,0,0],[2052,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2053,3,27,23,59,59],[2053,3,28,1,59,59],
+          '2052102623:00:00','2052102701:00:00','2053032723:59:59','2053032801:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,28,0,0,0],[2053,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2053,10,25,22,59,59],[2053,10,26,1,59,59],
+          '2053032800:00:00','2053032803:00:00','2053102522:59:59','2053102601:59:59' ],
+        [ [2053,10,25,23,0,0],[2053,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2054,3,26,23,59,59],[2054,3,27,1,59,59],
+          '2053102523:00:00','2053102601:00:00','2054032623:59:59','2054032701:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,27,0,0,0],[2054,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2054,10,24,22,59,59],[2054,10,25,1,59,59],
+          '2054032700:00:00','2054032703:00:00','2054102422:59:59','2054102501:59:59' ],
+        [ [2054,10,24,23,0,0],[2054,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2055,3,25,23,59,59],[2055,3,26,1,59,59],
+          '2054102423:00:00','2054102501:00:00','2055032523:59:59','2055032601:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,26,0,0,0],[2055,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2055,10,30,22,59,59],[2055,10,31,1,59,59],
+          '2055032600:00:00','2055032603:00:00','2055103022:59:59','2055103101:59:59' ],
+        [ [2055,10,30,23,0,0],[2055,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2056,3,23,23,59,59],[2056,3,24,1,59,59],
+          '2055103023:00:00','2055103101:00:00','2056032323:59:59','2056032401:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,24,0,0,0],[2056,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2056,10,28,22,59,59],[2056,10,29,1,59,59],
+          '2056032400:00:00','2056032403:00:00','2056102822:59:59','2056102901:59:59' ],
+        [ [2056,10,28,23,0,0],[2056,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2057,3,22,23,59,59],[2057,3,23,1,59,59],
+          '2056102823:00:00','2056102901:00:00','2057032223:59:59','2057032301:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,23,0,0,0],[2057,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2057,10,27,22,59,59],[2057,10,28,1,59,59],
+          '2057032300:00:00','2057032303:00:00','2057102722:59:59','2057102801:59:59' ],
+        [ [2057,10,27,23,0,0],[2057,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2058,3,28,23,59,59],[2058,3,29,1,59,59],
+          '2057102723:00:00','2057102801:00:00','2058032823:59:59','2058032901:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,29,0,0,0],[2058,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2058,10,26,22,59,59],[2058,10,27,1,59,59],
+          '2058032900:00:00','2058032903:00:00','2058102622:59:59','2058102701:59:59' ],
+        [ [2058,10,26,23,0,0],[2058,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2059,3,27,23,59,59],[2059,3,28,1,59,59],
+          '2058102623:00:00','2058102701:00:00','2059032723:59:59','2059032801:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,28,0,0,0],[2059,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2059,10,25,22,59,59],[2059,10,26,1,59,59],
+          '2059032800:00:00','2059032803:00:00','2059102522:59:59','2059102601:59:59' ],
+        [ [2059,10,25,23,0,0],[2059,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2060,3,25,23,59,59],[2060,3,26,1,59,59],
+          '2059102523:00:00','2059102601:00:00','2060032523:59:59','2060032601:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,26,0,0,0],[2060,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2060,10,30,22,59,59],[2060,10,31,1,59,59],
+          '2060032600:00:00','2060032603:00:00','2060103022:59:59','2060103101:59:59' ],
+        [ [2060,10,30,23,0,0],[2060,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2061,3,24,23,59,59],[2061,3,25,1,59,59],
+          '2060103023:00:00','2060103101:00:00','2061032423:59:59','2061032501:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,25,0,0,0],[2061,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2061,10,29,22,59,59],[2061,10,30,1,59,59],
+          '2061032500:00:00','2061032503:00:00','2061102922:59:59','2061103001:59:59' ],
+        [ [2061,10,29,23,0,0],[2061,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2062,3,23,23,59,59],[2062,3,24,1,59,59],
+          '2061102923:00:00','2061103001:00:00','2062032323:59:59','2062032401:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,24,0,0,0],[2062,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2062,10,28,22,59,59],[2062,10,29,1,59,59],
+          '2062032400:00:00','2062032403:00:00','2062102822:59:59','2062102901:59:59' ],
+        [ [2062,10,28,23,0,0],[2062,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2063,3,22,23,59,59],[2063,3,23,1,59,59],
+          '2062102823:00:00','2062102901:00:00','2063032223:59:59','2063032301:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,23,0,0,0],[2063,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2063,10,27,22,59,59],[2063,10,28,1,59,59],
+          '2063032300:00:00','2063032303:00:00','2063102722:59:59','2063102801:59:59' ],
+        [ [2063,10,27,23,0,0],[2063,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2064,3,27,23,59,59],[2064,3,28,1,59,59],
+          '2063102723:00:00','2063102801:00:00','2064032723:59:59','2064032801:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,28,0,0,0],[2064,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2064,10,25,22,59,59],[2064,10,26,1,59,59],
+          '2064032800:00:00','2064032803:00:00','2064102522:59:59','2064102601:59:59' ],
+        [ [2064,10,25,23,0,0],[2064,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2065,3,26,23,59,59],[2065,3,27,1,59,59],
+          '2064102523:00:00','2064102601:00:00','2065032623:59:59','2065032701:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,27,0,0,0],[2065,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2065,10,24,22,59,59],[2065,10,25,1,59,59],
+          '2065032700:00:00','2065032703:00:00','2065102422:59:59','2065102501:59:59' ],
+        [ [2065,10,24,23,0,0],[2065,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2066,3,25,23,59,59],[2066,3,26,1,59,59],
+          '2065102423:00:00','2065102501:00:00','2066032523:59:59','2066032601:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,26,0,0,0],[2066,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2066,10,30,22,59,59],[2066,10,31,1,59,59],
+          '2066032600:00:00','2066032603:00:00','2066103022:59:59','2066103101:59:59' ],
+        [ [2066,10,30,23,0,0],[2066,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2067,3,24,23,59,59],[2067,3,25,1,59,59],
+          '2066103023:00:00','2066103101:00:00','2067032423:59:59','2067032501:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,25,0,0,0],[2067,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2067,10,29,22,59,59],[2067,10,30,1,59,59],
+          '2067032500:00:00','2067032503:00:00','2067102922:59:59','2067103001:59:59' ],
+        [ [2067,10,29,23,0,0],[2067,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2068,3,22,23,59,59],[2068,3,23,1,59,59],
+          '2067102923:00:00','2067103001:00:00','2068032223:59:59','2068032301:59:59' ],
+     ],
+   2068 =>
+     [
+        [ [2068,3,23,0,0,0],[2068,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2068,10,27,22,59,59],[2068,10,28,1,59,59],
+          '2068032300:00:00','2068032303:00:00','2068102722:59:59','2068102801:59:59' ],
+        [ [2068,10,27,23,0,0],[2068,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2069,3,28,23,59,59],[2069,3,29,1,59,59],
+          '2068102723:00:00','2068102801:00:00','2069032823:59:59','2069032901:59:59' ],
+     ],
+   2069 =>
+     [
+        [ [2069,3,29,0,0,0],[2069,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2069,10,26,22,59,59],[2069,10,27,1,59,59],
+          '2069032900:00:00','2069032903:00:00','2069102622:59:59','2069102701:59:59' ],
+        [ [2069,10,26,23,0,0],[2069,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2070,3,27,23,59,59],[2070,3,28,1,59,59],
+          '2069102623:00:00','2069102701:00:00','2070032723:59:59','2070032801:59:59' ],
+     ],
+   2070 =>
+     [
+        [ [2070,3,28,0,0,0],[2070,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2070,10,25,22,59,59],[2070,10,26,1,59,59],
+          '2070032800:00:00','2070032803:00:00','2070102522:59:59','2070102601:59:59' ],
+        [ [2070,10,25,23,0,0],[2070,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2071,3,26,23,59,59],[2071,3,27,1,59,59],
+          '2070102523:00:00','2070102601:00:00','2071032623:59:59','2071032701:59:59' ],
+     ],
+   2071 =>
+     [
+        [ [2071,3,27,0,0,0],[2071,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2071,10,24,22,59,59],[2071,10,25,1,59,59],
+          '2071032700:00:00','2071032703:00:00','2071102422:59:59','2071102501:59:59' ],
+        [ [2071,10,24,23,0,0],[2071,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2072,3,24,23,59,59],[2072,3,25,1,59,59],
+          '2071102423:00:00','2071102501:00:00','2072032423:59:59','2072032501:59:59' ],
+     ],
+   2072 =>
+     [
+        [ [2072,3,25,0,0,0],[2072,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2072,10,29,22,59,59],[2072,10,30,1,59,59],
+          '2072032500:00:00','2072032503:00:00','2072102922:59:59','2072103001:59:59' ],
+        [ [2072,10,29,23,0,0],[2072,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2073,3,23,23,59,59],[2073,3,24,1,59,59],
+          '2072102923:00:00','2072103001:00:00','2073032323:59:59','2073032401:59:59' ],
+     ],
+   2073 =>
+     [
+        [ [2073,3,24,0,0,0],[2073,3,24,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2073,10,28,22,59,59],[2073,10,29,1,59,59],
+          '2073032400:00:00','2073032403:00:00','2073102822:59:59','2073102901:59:59' ],
+        [ [2073,10,28,23,0,0],[2073,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2074,3,22,23,59,59],[2074,3,23,1,59,59],
+          '2073102823:00:00','2073102901:00:00','2074032223:59:59','2074032301:59:59' ],
+     ],
+   2074 =>
+     [
+        [ [2074,3,23,0,0,0],[2074,3,23,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2074,10,27,22,59,59],[2074,10,28,1,59,59],
+          '2074032300:00:00','2074032303:00:00','2074102722:59:59','2074102801:59:59' ],
+        [ [2074,10,27,23,0,0],[2074,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2075,3,28,23,59,59],[2075,3,29,1,59,59],
+          '2074102723:00:00','2074102801:00:00','2075032823:59:59','2075032901:59:59' ],
+     ],
+   2075 =>
+     [
+        [ [2075,3,29,0,0,0],[2075,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2075,10,26,22,59,59],[2075,10,27,1,59,59],
+          '2075032900:00:00','2075032903:00:00','2075102622:59:59','2075102701:59:59' ],
+        [ [2075,10,26,23,0,0],[2075,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[2076,3,26,23,59,59],[2076,3,27,1,59,59],
+          '2075102623:00:00','2075102701:00:00','2076032623:59:59','2076032701:59:59' ],
+     ],
+   2076 =>
+     [
+        [ [2076,3,27,0,0,0],[2076,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'IDT',1,[2076,10,24,22,59,59],[2076,10,25,1,59,59],
+          '2076032700:00:00','2076032703:00:00','2076102422:59:59','2076102501:59:59' ],
+        [ [2076,10,24,23,0,0],[2076,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'IST',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '2076102423:00:00','2076102501:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askabu00.pm b/lib/Date/Manip/TZ/askabu00.pm
new file mode 100644
index 0000000..c69b881
--- /dev/null
+++ b/lib/Date/Manip/TZ/askabu00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::askabu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,36,48],'+04:36:48',[4,36,48],
+          'LMT',0,[1889,12,31,19,23,11],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010204:36:48','1889123119:23:11','1889123123:59:59' ],
+     ],
+   1889 =>
+     [
+        [ [1889,12,31,19,23,12],[1889,12,31,23,23,12],'+04:00:00',[4,0,0],
+          '+04',0,[1944,12,31,19,59,59],[1944,12,31,23,59,59],
+          '1889123119:23:12','1889123123:23:12','1944123119:59:59','1944123123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,12,31,20,0,0],[1945,1,1,0,30,0],'+04:30:00',[4,30,0],
+          '+0430',0,[9999,12,31,0,0,0],[9999,12,31,4,30,0],
+          '1944123120:00:00','1945010100:30:00','9999123100:00:00','9999123104:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askamc00.pm b/lib/Date/Manip/TZ/askamc00.pm
new file mode 100644
index 0000000..5a4d926
--- /dev/null
+++ b/lib/Date/Manip/TZ/askamc00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::askamc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,34,36],'+10:34:36',[10,34,36],
+          'LMT',0,[1922,11,9,13,25,23],[1922,11,9,23,59,59],
+          '0001010200:00:00','0001010210:34:36','1922110913:25:23','1922110923:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,11,9,13,25,24],[1922,11,10,0,25,24],'+11:00:00',[11,0,0],
+          '+11',0,[1930,6,20,12,59,59],[1930,6,20,23,59,59],
+          '1922110913:25:24','1922111000:25:24','1930062012:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,13,0,0],[1930,6,21,1,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1981,3,31,11,59,59],[1981,3,31,23,59,59],
+          '1930062013:00:00','1930062101:00:00','1981033111:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,12,0,0],[1981,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1981,9,30,10,59,59],[1981,9,30,23,59,59],
+          '1981033112:00:00','1981040101:00:00','1981093010:59:59','1981093023:59:59' ],
+        [ [1981,9,30,11,0,0],[1981,9,30,23,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1982,3,31,11,59,59],[1982,3,31,23,59,59],
+          '1981093011:00:00','1981093023:00:00','1982033111:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,12,0,0],[1982,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1982,9,30,10,59,59],[1982,9,30,23,59,59],
+          '1982033112:00:00','1982040101:00:00','1982093010:59:59','1982093023:59:59' ],
+        [ [1982,9,30,11,0,0],[1982,9,30,23,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1983,3,31,11,59,59],[1983,3,31,23,59,59],
+          '1982093011:00:00','1982093023:00:00','1983033111:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,12,0,0],[1983,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1983,9,30,10,59,59],[1983,9,30,23,59,59],
+          '1983033112:00:00','1983040101:00:00','1983093010:59:59','1983093023:59:59' ],
+        [ [1983,9,30,11,0,0],[1983,9,30,23,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1984,3,31,11,59,59],[1984,3,31,23,59,59],
+          '1983093011:00:00','1983093023:00:00','1984033111:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,12,0,0],[1984,4,1,1,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1984,9,29,13,59,59],[1984,9,30,2,59,59],
+          '1984033112:00:00','1984040101:00:00','1984092913:59:59','1984093002:59:59' ],
+        [ [1984,9,29,14,0,0],[1984,9,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1985,3,30,13,59,59],[1985,3,31,1,59,59],
+          '1984092914:00:00','1984093002:00:00','1985033013:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,14,0,0],[1985,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1985,9,28,13,59,59],[1985,9,29,2,59,59],
+          '1985033014:00:00','1985033103:00:00','1985092813:59:59','1985092902:59:59' ],
+        [ [1985,9,28,14,0,0],[1985,9,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1986,3,29,13,59,59],[1986,3,30,1,59,59],
+          '1985092814:00:00','1985092902:00:00','1986032913:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,14,0,0],[1986,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1986,9,27,13,59,59],[1986,9,28,2,59,59],
+          '1986032914:00:00','1986033003:00:00','1986092713:59:59','1986092802:59:59' ],
+        [ [1986,9,27,14,0,0],[1986,9,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1987,3,28,13,59,59],[1987,3,29,1,59,59],
+          '1986092714:00:00','1986092802:00:00','1987032813:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,14,0,0],[1987,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1987,9,26,13,59,59],[1987,9,27,2,59,59],
+          '1987032814:00:00','1987032903:00:00','1987092613:59:59','1987092702:59:59' ],
+        [ [1987,9,26,14,0,0],[1987,9,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1988,3,26,13,59,59],[1988,3,27,1,59,59],
+          '1987092614:00:00','1987092702:00:00','1988032613:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,14,0,0],[1988,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1988,9,24,13,59,59],[1988,9,25,2,59,59],
+          '1988032614:00:00','1988032703:00:00','1988092413:59:59','1988092502:59:59' ],
+        [ [1988,9,24,14,0,0],[1988,9,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1989,3,25,13,59,59],[1989,3,26,1,59,59],
+          '1988092414:00:00','1988092502:00:00','1989032513:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,14,0,0],[1989,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1989,9,23,13,59,59],[1989,9,24,2,59,59],
+          '1989032514:00:00','1989032603:00:00','1989092313:59:59','1989092402:59:59' ],
+        [ [1989,9,23,14,0,0],[1989,9,24,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1990,3,24,13,59,59],[1990,3,25,1,59,59],
+          '1989092314:00:00','1989092402:00:00','1990032413:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,14,0,0],[1990,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1990,9,29,13,59,59],[1990,9,30,2,59,59],
+          '1990032414:00:00','1990032503:00:00','1990092913:59:59','1990093002:59:59' ],
+        [ [1990,9,29,14,0,0],[1990,9,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1991,3,30,13,59,59],[1991,3,31,1,59,59],
+          '1990092914:00:00','1990093002:00:00','1991033013:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,14,0,0],[1991,3,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1991,9,28,14,59,59],[1991,9,29,2,59,59],
+          '1991033014:00:00','1991033102:00:00','1991092814:59:59','1991092902:59:59' ],
+        [ [1991,9,28,15,0,0],[1991,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,1,18,14,59,59],[1992,1,19,1,59,59],
+          '1991092815:00:00','1991092902:00:00','1992011814:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,15,0,0],[1992,1,19,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1992,3,28,13,59,59],[1992,3,29,1,59,59],
+          '1992011815:00:00','1992011903:00:00','1992032813:59:59','1992032901:59:59' ],
+        [ [1992,3,28,14,0,0],[1992,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1992,9,26,13,59,59],[1992,9,27,2,59,59],
+          '1992032814:00:00','1992032903:00:00','1992092613:59:59','1992092702:59:59' ],
+        [ [1992,9,26,14,0,0],[1992,9,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1993,3,27,13,59,59],[1993,3,28,1,59,59],
+          '1992092614:00:00','1992092702:00:00','1993032713:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,14,0,0],[1993,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1993,9,25,13,59,59],[1993,9,26,2,59,59],
+          '1993032714:00:00','1993032803:00:00','1993092513:59:59','1993092602:59:59' ],
+        [ [1993,9,25,14,0,0],[1993,9,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1994,3,26,13,59,59],[1994,3,27,1,59,59],
+          '1993092514:00:00','1993092602:00:00','1994032613:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,14,0,0],[1994,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1994,9,24,13,59,59],[1994,9,25,2,59,59],
+          '1994032614:00:00','1994032703:00:00','1994092413:59:59','1994092502:59:59' ],
+        [ [1994,9,24,14,0,0],[1994,9,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1995,3,25,13,59,59],[1995,3,26,1,59,59],
+          '1994092414:00:00','1994092502:00:00','1995032513:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,14,0,0],[1995,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1995,9,23,13,59,59],[1995,9,24,2,59,59],
+          '1995032514:00:00','1995032603:00:00','1995092313:59:59','1995092402:59:59' ],
+        [ [1995,9,23,14,0,0],[1995,9,24,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1996,3,30,13,59,59],[1996,3,31,1,59,59],
+          '1995092314:00:00','1995092402:00:00','1996033013:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,14,0,0],[1996,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1996,10,26,13,59,59],[1996,10,27,2,59,59],
+          '1996033014:00:00','1996033103:00:00','1996102613:59:59','1996102702:59:59' ],
+        [ [1996,10,26,14,0,0],[1996,10,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1997,3,29,13,59,59],[1997,3,30,1,59,59],
+          '1996102614:00:00','1996102702:00:00','1997032913:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,14,0,0],[1997,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1997,10,25,13,59,59],[1997,10,26,2,59,59],
+          '1997032914:00:00','1997033003:00:00','1997102513:59:59','1997102602:59:59' ],
+        [ [1997,10,25,14,0,0],[1997,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1998,3,28,13,59,59],[1998,3,29,1,59,59],
+          '1997102514:00:00','1997102602:00:00','1998032813:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,14,0,0],[1998,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1998,10,24,13,59,59],[1998,10,25,2,59,59],
+          '1998032814:00:00','1998032903:00:00','1998102413:59:59','1998102502:59:59' ],
+        [ [1998,10,24,14,0,0],[1998,10,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1999,3,27,13,59,59],[1999,3,28,1,59,59],
+          '1998102414:00:00','1998102502:00:00','1999032713:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,14,0,0],[1999,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1999,10,30,13,59,59],[1999,10,31,2,59,59],
+          '1999032714:00:00','1999032803:00:00','1999103013:59:59','1999103102:59:59' ],
+        [ [1999,10,30,14,0,0],[1999,10,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2000,3,25,13,59,59],[2000,3,26,1,59,59],
+          '1999103014:00:00','1999103102:00:00','2000032513:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,14,0,0],[2000,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2000,10,28,13,59,59],[2000,10,29,2,59,59],
+          '2000032514:00:00','2000032603:00:00','2000102813:59:59','2000102902:59:59' ],
+        [ [2000,10,28,14,0,0],[2000,10,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2001,3,24,13,59,59],[2001,3,25,1,59,59],
+          '2000102814:00:00','2000102902:00:00','2001032413:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,14,0,0],[2001,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2001,10,27,13,59,59],[2001,10,28,2,59,59],
+          '2001032414:00:00','2001032503:00:00','2001102713:59:59','2001102802:59:59' ],
+        [ [2001,10,27,14,0,0],[2001,10,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2002,3,30,13,59,59],[2002,3,31,1,59,59],
+          '2001102714:00:00','2001102802:00:00','2002033013:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,14,0,0],[2002,3,31,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2002,10,26,13,59,59],[2002,10,27,2,59,59],
+          '2002033014:00:00','2002033103:00:00','2002102613:59:59','2002102702:59:59' ],
+        [ [2002,10,26,14,0,0],[2002,10,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2003,3,29,13,59,59],[2003,3,30,1,59,59],
+          '2002102614:00:00','2002102702:00:00','2003032913:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,14,0,0],[2003,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2003,10,25,13,59,59],[2003,10,26,2,59,59],
+          '2003032914:00:00','2003033003:00:00','2003102513:59:59','2003102602:59:59' ],
+        [ [2003,10,25,14,0,0],[2003,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2004,3,27,13,59,59],[2004,3,28,1,59,59],
+          '2003102514:00:00','2003102602:00:00','2004032713:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,14,0,0],[2004,3,28,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2004,10,30,13,59,59],[2004,10,31,2,59,59],
+          '2004032714:00:00','2004032803:00:00','2004103013:59:59','2004103102:59:59' ],
+        [ [2004,10,30,14,0,0],[2004,10,31,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2005,3,26,13,59,59],[2005,3,27,1,59,59],
+          '2004103014:00:00','2004103102:00:00','2005032613:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,14,0,0],[2005,3,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2005,10,29,13,59,59],[2005,10,30,2,59,59],
+          '2005032614:00:00','2005032703:00:00','2005102913:59:59','2005103002:59:59' ],
+        [ [2005,10,29,14,0,0],[2005,10,30,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2006,3,25,13,59,59],[2006,3,26,1,59,59],
+          '2005102914:00:00','2005103002:00:00','2006032513:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,14,0,0],[2006,3,26,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2006,10,28,13,59,59],[2006,10,29,2,59,59],
+          '2006032514:00:00','2006032603:00:00','2006102813:59:59','2006102902:59:59' ],
+        [ [2006,10,28,14,0,0],[2006,10,29,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2007,3,24,13,59,59],[2007,3,25,1,59,59],
+          '2006102814:00:00','2006102902:00:00','2007032413:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,14,0,0],[2007,3,25,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2007,10,27,13,59,59],[2007,10,28,2,59,59],
+          '2007032414:00:00','2007032503:00:00','2007102713:59:59','2007102802:59:59' ],
+        [ [2007,10,27,14,0,0],[2007,10,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2008,3,29,13,59,59],[2008,3,30,1,59,59],
+          '2007102714:00:00','2007102802:00:00','2008032913:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,14,0,0],[2008,3,30,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2008,10,25,13,59,59],[2008,10,26,2,59,59],
+          '2008032914:00:00','2008033003:00:00','2008102513:59:59','2008102602:59:59' ],
+        [ [2008,10,25,14,0,0],[2008,10,26,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2009,3,28,13,59,59],[2009,3,29,1,59,59],
+          '2008102514:00:00','2008102602:00:00','2009032813:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,14,0,0],[2009,3,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2009,10,24,13,59,59],[2009,10,25,2,59,59],
+          '2009032814:00:00','2009032903:00:00','2009102413:59:59','2009102502:59:59' ],
+        [ [2009,10,24,14,0,0],[2009,10,25,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2010,3,27,13,59,59],[2010,3,28,1,59,59],
+          '2009102414:00:00','2009102502:00:00','2010032713:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,14,0,0],[2010,3,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2010,10,30,14,59,59],[2010,10,31,2,59,59],
+          '2010032714:00:00','2010032802:00:00','2010103014:59:59','2010103102:59:59' ],
+        [ [2010,10,30,15,0,0],[2010,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,3,26,14,59,59],[2011,3,27,1,59,59],
+          '2010103015:00:00','2010103102:00:00','2011032614:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,15,0,0],[2011,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '2011032615:00:00','2011032703:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askara00.pm b/lib/Date/Manip/TZ/askara00.pm
new file mode 100644
index 0000000..fcf419c
--- /dev/null
+++ b/lib/Date/Manip/TZ/askara00.pm
@@ -0,0 +1,100 @@
+package #
+Date::Manip::TZ::askara00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,28,12],'+04:28:12',[4,28,12],
+          'LMT',0,[1906,12,31,19,31,47],[1906,12,31,23,59,59],
+          '0001010200:00:00','0001010204:28:12','1906123119:31:47','1906123123:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,12,31,19,31,48],[1907,1,1,1,1,48],'+05:30:00',[5,30,0],
+          '+0530',0,[1942,8,31,18,29,59],[1942,8,31,23,59,59],
+          '1906123119:31:48','1907010101:01:48','1942083118:29:59','1942083123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,8,31,18,30,0],[1942,9,1,1,0,0],'+06:30:00',[6,30,0],
+          '+0630',1,[1945,10,14,17,29,59],[1945,10,14,23,59,59],
+          '1942083118:30:00','1942090101:00:00','1945101417:29:59','1945101423:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,10,14,17,30,0],[1945,10,14,23,0,0],'+05:30:00',[5,30,0],
+          '+0530',0,[1951,9,29,18,29,59],[1951,9,29,23,59,59],
+          '1945101417:30:00','1945101423:00:00','1951092918:29:59','1951092923:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,9,29,18,30,0],[1951,9,29,23,30,0],'+05:00:00',[5,0,0],
+          '+05',0,[1971,3,25,18,59,59],[1971,3,25,23,59,59],
+          '1951092918:30:00','1951092923:30:00','1971032518:59:59','1971032523:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,25,19,0,0],[1971,3,26,0,0,0],'+05:00:00',[5,0,0],
+          'PKT',0,[2002,4,6,18,59,59],[2002,4,6,23,59,59],
+          '1971032519:00:00','1971032600:00:00','2002040618:59:59','2002040623:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,6,19,0,0],[2002,4,7,1,0,0],'+06:00:00',[6,0,0],
+          'PKST',1,[2002,10,5,17,59,59],[2002,10,5,23,59,59],
+          '2002040619:00:00','2002040701:00:00','2002100517:59:59','2002100523:59:59' ],
+        [ [2002,10,5,18,0,0],[2002,10,5,23,0,0],'+05:00:00',[5,0,0],
+          'PKT',0,[2008,5,31,18,59,59],[2008,5,31,23,59,59],
+          '2002100518:00:00','2002100523:00:00','2008053118:59:59','2008053123:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,5,31,19,0,0],[2008,6,1,1,0,0],'+06:00:00',[6,0,0],
+          'PKST',1,[2008,10,31,17,59,59],[2008,10,31,23,59,59],
+          '2008053119:00:00','2008060101:00:00','2008103117:59:59','2008103123:59:59' ],
+        [ [2008,10,31,18,0,0],[2008,10,31,23,0,0],'+05:00:00',[5,0,0],
+          'PKT',0,[2009,4,14,18,59,59],[2009,4,14,23,59,59],
+          '2008103118:00:00','2008103123:00:00','2009041418:59:59','2009041423:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,14,19,0,0],[2009,4,15,1,0,0],'+06:00:00',[6,0,0],
+          'PKST',1,[2009,10,31,17,59,59],[2009,10,31,23,59,59],
+          '2009041419:00:00','2009041501:00:00','2009103117:59:59','2009103123:59:59' ],
+        [ [2009,10,31,18,0,0],[2009,10,31,23,0,0],'+05:00:00',[5,0,0],
+          'PKT',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2009103118:00:00','2009103123:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askath00.pm b/lib/Date/Manip/TZ/askath00.pm
new file mode 100644
index 0000000..80970bb
--- /dev/null
+++ b/lib/Date/Manip/TZ/askath00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::askath00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,41,16],'+05:41:16',[5,41,16],
+          'LMT',0,[1919,12,31,18,18,43],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010205:41:16','1919123118:18:43','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,18,18,44],[1919,12,31,23,48,44],'+05:30:00',[5,30,0],
+          '+0530',0,[1985,12,31,18,29,59],[1985,12,31,23,59,59],
+          '1919123118:18:44','1919123123:48:44','1985123118:29:59','1985123123:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,12,31,18,30,0],[1986,1,1,0,15,0],'+05:45:00',[5,45,0],
+          '+0545',0,[9999,12,31,0,0,0],[9999,12,31,5,45,0],
+          '1985123118:30:00','1986010100:15:00','9999123100:00:00','9999123105:45:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askhan00.pm b/lib/Date/Manip/TZ/askhan00.pm
new file mode 100644
index 0000000..a572a60
--- /dev/null
+++ b/lib/Date/Manip/TZ/askhan00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::askhan00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,2,13],'+09:02:13',[9,2,13],
+          'LMT',0,[1919,12,14,14,57,46],[1919,12,14,23,59,59],
+          '0001010200:00:00','0001010209:02:13','1919121414:57:46','1919121423:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,14,14,57,47],[1919,12,14,22,57,47],'+08:00:00',[8,0,0],
+          '+08',0,[1930,6,20,15,59,59],[1930,6,20,23,59,59],
+          '1919121414:57:47','1919121422:57:47','1930062015:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,16,0,0],[1930,6,21,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1981,3,31,14,59,59],[1981,3,31,23,59,59],
+          '1930062016:00:00','1930062101:00:00','1981033114:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,15,0,0],[1981,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1981,9,30,13,59,59],[1981,9,30,23,59,59],
+          '1981033115:00:00','1981040101:00:00','1981093013:59:59','1981093023:59:59' ],
+        [ [1981,9,30,14,0,0],[1981,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1982,3,31,14,59,59],[1982,3,31,23,59,59],
+          '1981093014:00:00','1981093023:00:00','1982033114:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,15,0,0],[1982,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1982,9,30,13,59,59],[1982,9,30,23,59,59],
+          '1982033115:00:00','1982040101:00:00','1982093013:59:59','1982093023:59:59' ],
+        [ [1982,9,30,14,0,0],[1982,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1983,3,31,14,59,59],[1983,3,31,23,59,59],
+          '1982093014:00:00','1982093023:00:00','1983033114:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,15,0,0],[1983,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1983,9,30,13,59,59],[1983,9,30,23,59,59],
+          '1983033115:00:00','1983040101:00:00','1983093013:59:59','1983093023:59:59' ],
+        [ [1983,9,30,14,0,0],[1983,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1984,3,31,14,59,59],[1984,3,31,23,59,59],
+          '1983093014:00:00','1983093023:00:00','1984033114:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,15,0,0],[1984,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1984,9,29,16,59,59],[1984,9,30,2,59,59],
+          '1984033115:00:00','1984040101:00:00','1984092916:59:59','1984093002:59:59' ],
+        [ [1984,9,29,17,0,0],[1984,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1985,3,30,16,59,59],[1985,3,31,1,59,59],
+          '1984092917:00:00','1984093002:00:00','1985033016:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,17,0,0],[1985,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1985,9,28,16,59,59],[1985,9,29,2,59,59],
+          '1985033017:00:00','1985033103:00:00','1985092816:59:59','1985092902:59:59' ],
+        [ [1985,9,28,17,0,0],[1985,9,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1986,3,29,16,59,59],[1986,3,30,1,59,59],
+          '1985092817:00:00','1985092902:00:00','1986032916:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,17,0,0],[1986,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1986,9,27,16,59,59],[1986,9,28,2,59,59],
+          '1986032917:00:00','1986033003:00:00','1986092716:59:59','1986092802:59:59' ],
+        [ [1986,9,27,17,0,0],[1986,9,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1987,3,28,16,59,59],[1987,3,29,1,59,59],
+          '1986092717:00:00','1986092802:00:00','1987032816:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,17,0,0],[1987,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1987,9,26,16,59,59],[1987,9,27,2,59,59],
+          '1987032817:00:00','1987032903:00:00','1987092616:59:59','1987092702:59:59' ],
+        [ [1987,9,26,17,0,0],[1987,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1988,3,26,16,59,59],[1988,3,27,1,59,59],
+          '1987092617:00:00','1987092702:00:00','1988032616:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,17,0,0],[1988,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1988,9,24,16,59,59],[1988,9,25,2,59,59],
+          '1988032617:00:00','1988032703:00:00','1988092416:59:59','1988092502:59:59' ],
+        [ [1988,9,24,17,0,0],[1988,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1989,3,25,16,59,59],[1989,3,26,1,59,59],
+          '1988092417:00:00','1988092502:00:00','1989032516:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,17,0,0],[1989,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1989,9,23,16,59,59],[1989,9,24,2,59,59],
+          '1989032517:00:00','1989032603:00:00','1989092316:59:59','1989092402:59:59' ],
+        [ [1989,9,23,17,0,0],[1989,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1990,3,24,16,59,59],[1990,3,25,1,59,59],
+          '1989092317:00:00','1989092402:00:00','1990032416:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,17,0,0],[1990,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1990,9,29,16,59,59],[1990,9,30,2,59,59],
+          '1990032417:00:00','1990032503:00:00','1990092916:59:59','1990093002:59:59' ],
+        [ [1990,9,29,17,0,0],[1990,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1991,3,30,16,59,59],[1991,3,31,1,59,59],
+          '1990092917:00:00','1990093002:00:00','1991033016:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,17,0,0],[1991,3,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1991,9,28,17,59,59],[1991,9,29,2,59,59],
+          '1991033017:00:00','1991033102:00:00','1991092817:59:59','1991092902:59:59' ],
+        [ [1991,9,28,18,0,0],[1991,9,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1992,1,18,17,59,59],[1992,1,19,1,59,59],
+          '1991092818:00:00','1991092902:00:00','1992011817:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,18,0,0],[1992,1,19,3,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1992,3,28,16,59,59],[1992,3,29,1,59,59],
+          '1992011818:00:00','1992011903:00:00','1992032816:59:59','1992032901:59:59' ],
+        [ [1992,3,28,17,0,0],[1992,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1992,9,26,16,59,59],[1992,9,27,2,59,59],
+          '1992032817:00:00','1992032903:00:00','1992092616:59:59','1992092702:59:59' ],
+        [ [1992,9,26,17,0,0],[1992,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1993,3,27,16,59,59],[1993,3,28,1,59,59],
+          '1992092617:00:00','1992092702:00:00','1993032716:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,17,0,0],[1993,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1993,9,25,16,59,59],[1993,9,26,2,59,59],
+          '1993032717:00:00','1993032803:00:00','1993092516:59:59','1993092602:59:59' ],
+        [ [1993,9,25,17,0,0],[1993,9,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1994,3,26,16,59,59],[1994,3,27,1,59,59],
+          '1993092517:00:00','1993092602:00:00','1994032616:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,17,0,0],[1994,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1994,9,24,16,59,59],[1994,9,25,2,59,59],
+          '1994032617:00:00','1994032703:00:00','1994092416:59:59','1994092502:59:59' ],
+        [ [1994,9,24,17,0,0],[1994,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1995,3,25,16,59,59],[1995,3,26,1,59,59],
+          '1994092417:00:00','1994092502:00:00','1995032516:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,17,0,0],[1995,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1995,9,23,16,59,59],[1995,9,24,2,59,59],
+          '1995032517:00:00','1995032603:00:00','1995092316:59:59','1995092402:59:59' ],
+        [ [1995,9,23,17,0,0],[1995,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1996,3,30,16,59,59],[1996,3,31,1,59,59],
+          '1995092317:00:00','1995092402:00:00','1996033016:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,17,0,0],[1996,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1996,10,26,16,59,59],[1996,10,27,2,59,59],
+          '1996033017:00:00','1996033103:00:00','1996102616:59:59','1996102702:59:59' ],
+        [ [1996,10,26,17,0,0],[1996,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1997,3,29,16,59,59],[1997,3,30,1,59,59],
+          '1996102617:00:00','1996102702:00:00','1997032916:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,17,0,0],[1997,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1997,10,25,16,59,59],[1997,10,26,2,59,59],
+          '1997032917:00:00','1997033003:00:00','1997102516:59:59','1997102602:59:59' ],
+        [ [1997,10,25,17,0,0],[1997,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1998,3,28,16,59,59],[1998,3,29,1,59,59],
+          '1997102517:00:00','1997102602:00:00','1998032816:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,17,0,0],[1998,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1998,10,24,16,59,59],[1998,10,25,2,59,59],
+          '1998032817:00:00','1998032903:00:00','1998102416:59:59','1998102502:59:59' ],
+        [ [1998,10,24,17,0,0],[1998,10,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1999,3,27,16,59,59],[1999,3,28,1,59,59],
+          '1998102417:00:00','1998102502:00:00','1999032716:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,17,0,0],[1999,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1999,10,30,16,59,59],[1999,10,31,2,59,59],
+          '1999032717:00:00','1999032803:00:00','1999103016:59:59','1999103102:59:59' ],
+        [ [1999,10,30,17,0,0],[1999,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2000,3,25,16,59,59],[2000,3,26,1,59,59],
+          '1999103017:00:00','1999103102:00:00','2000032516:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,17,0,0],[2000,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2000,10,28,16,59,59],[2000,10,29,2,59,59],
+          '2000032517:00:00','2000032603:00:00','2000102816:59:59','2000102902:59:59' ],
+        [ [2000,10,28,17,0,0],[2000,10,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2001,3,24,16,59,59],[2001,3,25,1,59,59],
+          '2000102817:00:00','2000102902:00:00','2001032416:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,17,0,0],[2001,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2001,10,27,16,59,59],[2001,10,28,2,59,59],
+          '2001032417:00:00','2001032503:00:00','2001102716:59:59','2001102802:59:59' ],
+        [ [2001,10,27,17,0,0],[2001,10,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2002,3,30,16,59,59],[2002,3,31,1,59,59],
+          '2001102717:00:00','2001102802:00:00','2002033016:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,17,0,0],[2002,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2002,10,26,16,59,59],[2002,10,27,2,59,59],
+          '2002033017:00:00','2002033103:00:00','2002102616:59:59','2002102702:59:59' ],
+        [ [2002,10,26,17,0,0],[2002,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2003,3,29,16,59,59],[2003,3,30,1,59,59],
+          '2002102617:00:00','2002102702:00:00','2003032916:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,17,0,0],[2003,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2003,10,25,16,59,59],[2003,10,26,2,59,59],
+          '2003032917:00:00','2003033003:00:00','2003102516:59:59','2003102602:59:59' ],
+        [ [2003,10,25,17,0,0],[2003,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2003,12,31,14,59,59],[2003,12,31,23,59,59],
+          '2003102517:00:00','2003102602:00:00','2003123114:59:59','2003123123:59:59' ],
+        [ [2003,12,31,15,0,0],[2004,1,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2004,3,27,15,59,59],[2004,3,28,1,59,59],
+          '2003123115:00:00','2004010101:00:00','2004032715:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2004,10,30,15,59,59],[2004,10,31,2,59,59],
+          '2004032716:00:00','2004032803:00:00','2004103015:59:59','2004103102:59:59' ],
+        [ [2004,10,30,16,0,0],[2004,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2005,3,26,15,59,59],[2005,3,27,1,59,59],
+          '2004103016:00:00','2004103102:00:00','2005032615:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2005,10,29,15,59,59],[2005,10,30,2,59,59],
+          '2005032616:00:00','2005032703:00:00','2005102915:59:59','2005103002:59:59' ],
+        [ [2005,10,29,16,0,0],[2005,10,30,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2006,3,25,15,59,59],[2006,3,26,1,59,59],
+          '2005102916:00:00','2005103002:00:00','2006032515:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,16,0,0],[2006,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2006,10,28,15,59,59],[2006,10,29,2,59,59],
+          '2006032516:00:00','2006032603:00:00','2006102815:59:59','2006102902:59:59' ],
+        [ [2006,10,28,16,0,0],[2006,10,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2007,3,24,15,59,59],[2007,3,25,1,59,59],
+          '2006102816:00:00','2006102902:00:00','2007032415:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2007,10,27,15,59,59],[2007,10,28,2,59,59],
+          '2007032416:00:00','2007032503:00:00','2007102715:59:59','2007102802:59:59' ],
+        [ [2007,10,27,16,0,0],[2007,10,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2008,3,29,15,59,59],[2008,3,30,1,59,59],
+          '2007102716:00:00','2007102802:00:00','2008032915:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,16,0,0],[2008,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2008,10,25,15,59,59],[2008,10,26,2,59,59],
+          '2008032916:00:00','2008033003:00:00','2008102515:59:59','2008102602:59:59' ],
+        [ [2008,10,25,16,0,0],[2008,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2009,3,28,15,59,59],[2009,3,29,1,59,59],
+          '2008102516:00:00','2008102602:00:00','2009032815:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,16,0,0],[2009,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2009,10,24,15,59,59],[2009,10,25,2,59,59],
+          '2009032816:00:00','2009032903:00:00','2009102415:59:59','2009102502:59:59' ],
+        [ [2009,10,24,16,0,0],[2009,10,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2010,3,27,15,59,59],[2010,3,28,1,59,59],
+          '2009102416:00:00','2009102502:00:00','2010032715:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,16,0,0],[2010,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2010,10,30,15,59,59],[2010,10,31,2,59,59],
+          '2010032716:00:00','2010032803:00:00','2010103015:59:59','2010103102:59:59' ],
+        [ [2010,10,30,16,0,0],[2010,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2011,3,26,15,59,59],[2011,3,27,1,59,59],
+          '2010103016:00:00','2010103102:00:00','2011032615:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,16,0,0],[2011,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,9,12,12,59,59],[2011,9,12,23,59,59],
+          '2011032616:00:00','2011032703:00:00','2011091212:59:59','2011091223:59:59' ],
+        [ [2011,9,12,13,0,0],[2011,9,12,23,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2014,10,25,15,59,59],[2014,10,26,1,59,59],
+          '2011091213:00:00','2011091223:00:00','2014102515:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,16,0,0],[2014,10,26,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '2014102516:00:00','2014102601:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askolk00.pm b/lib/Date/Manip/TZ/askolk00.pm
new file mode 100644
index 0000000..62d15f2
--- /dev/null
+++ b/lib/Date/Manip/TZ/askolk00.pm
@@ -0,0 +1,70 @@
+package #
+Date::Manip::TZ::askolk00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,53,28],'+05:53:28',[5,53,28],
+          'LMT',0,[1879,12,31,18,6,31],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010205:53:28','1879123118:06:31','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,18,6,32],[1879,12,31,23,59,52],'+05:53:20',[5,53,20],
+          'HMT',0,[1941,9,30,18,6,39],[1941,9,30,23,59,59],
+          '1879123118:06:32','1879123123:59:52','1941093018:06:39','1941093023:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,30,18,6,40],[1941,10,1,0,36,40],'+06:30:00',[6,30,0],
+          '+0630',0,[1942,5,14,17,29,59],[1942,5,14,23,59,59],
+          '1941093018:06:40','1941100100:36:40','1942051417:29:59','1942051423:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,14,17,30,0],[1942,5,14,23,0,0],'+05:30:00',[5,30,0],
+          'IST',0,[1942,8,31,18,29,59],[1942,8,31,23,59,59],
+          '1942051417:30:00','1942051423:00:00','1942083118:29:59','1942083123:59:59' ],
+        [ [1942,8,31,18,30,0],[1942,9,1,1,0,0],'+06:30:00',[6,30,0],
+          '+0630',1,[1945,10,14,17,29,59],[1945,10,14,23,59,59],
+          '1942083118:30:00','1942090101:00:00','1945101417:29:59','1945101423:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,10,14,17,30,0],[1945,10,14,23,0,0],'+05:30:00',[5,30,0],
+          'IST',0,[9999,12,31,0,0,0],[9999,12,31,5,30,0],
+          '1945101417:30:00','1945101423:00:00','9999123100:00:00','9999123105:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askras00.pm b/lib/Date/Manip/TZ/askras00.pm
new file mode 100644
index 0000000..d13503d
--- /dev/null
+++ b/lib/Date/Manip/TZ/askras00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::askras00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,11,26],'+06:11:26',[6,11,26],
+          'LMT',0,[1920,1,5,17,48,33],[1920,1,5,23,59,59],
+          '0001010200:00:00','0001010206:11:26','1920010517:48:33','1920010523:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,1,5,17,48,34],[1920,1,5,23,48,34],'+06:00:00',[6,0,0],
+          '+06',0,[1930,6,20,17,59,59],[1930,6,20,23,59,59],
+          '1920010517:48:34','1920010523:48:34','1930062017:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,18,0,0],[1930,6,21,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1981,3,31,16,59,59],[1981,3,31,23,59,59],
+          '1930062018:00:00','1930062101:00:00','1981033116:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,17,0,0],[1981,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1981,9,30,15,59,59],[1981,9,30,23,59,59],
+          '1981033117:00:00','1981040101:00:00','1981093015:59:59','1981093023:59:59' ],
+        [ [1981,9,30,16,0,0],[1981,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1982,3,31,16,59,59],[1982,3,31,23,59,59],
+          '1981093016:00:00','1981093023:00:00','1982033116:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,17,0,0],[1982,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1982,9,30,15,59,59],[1982,9,30,23,59,59],
+          '1982033117:00:00','1982040101:00:00','1982093015:59:59','1982093023:59:59' ],
+        [ [1982,9,30,16,0,0],[1982,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1982093016:00:00','1982093023:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,18,59,59],[1984,9,30,2,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092918:59:59','1984093002:59:59' ],
+        [ [1984,9,29,19,0,0],[1984,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,18,59,59],[1985,3,31,1,59,59],
+          '1984092919:00:00','1984093002:00:00','1985033018:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,19,0,0],[1985,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,18,59,59],[1985,9,29,2,59,59],
+          '1985033019:00:00','1985033103:00:00','1985092818:59:59','1985092902:59:59' ],
+        [ [1985,9,28,19,0,0],[1985,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,18,59,59],[1986,3,30,1,59,59],
+          '1985092819:00:00','1985092902:00:00','1986032918:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,19,0,0],[1986,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,18,59,59],[1986,9,28,2,59,59],
+          '1986032919:00:00','1986033003:00:00','1986092718:59:59','1986092802:59:59' ],
+        [ [1986,9,27,19,0,0],[1986,9,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,18,59,59],[1987,3,29,1,59,59],
+          '1986092719:00:00','1986092802:00:00','1987032818:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,19,0,0],[1987,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,18,59,59],[1987,9,27,2,59,59],
+          '1987032819:00:00','1987032903:00:00','1987092618:59:59','1987092702:59:59' ],
+        [ [1987,9,26,19,0,0],[1987,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,18,59,59],[1988,3,27,1,59,59],
+          '1987092619:00:00','1987092702:00:00','1988032618:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,19,0,0],[1988,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,18,59,59],[1988,9,25,2,59,59],
+          '1988032619:00:00','1988032703:00:00','1988092418:59:59','1988092502:59:59' ],
+        [ [1988,9,24,19,0,0],[1988,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,18,59,59],[1989,3,26,1,59,59],
+          '1988092419:00:00','1988092502:00:00','1989032518:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,19,0,0],[1989,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,18,59,59],[1989,9,24,2,59,59],
+          '1989032519:00:00','1989032603:00:00','1989092318:59:59','1989092402:59:59' ],
+        [ [1989,9,23,19,0,0],[1989,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,18,59,59],[1990,3,25,1,59,59],
+          '1989092319:00:00','1989092402:00:00','1990032418:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,19,0,0],[1990,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,18,59,59],[1990,9,30,2,59,59],
+          '1990032419:00:00','1990032503:00:00','1990092918:59:59','1990093002:59:59' ],
+        [ [1990,9,29,19,0,0],[1990,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,18,59,59],[1991,3,31,1,59,59],
+          '1990092919:00:00','1990093002:00:00','1991033018:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,19,0,0],[1991,3,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1991,9,28,19,59,59],[1991,9,29,2,59,59],
+          '1991033019:00:00','1991033102:00:00','1991092819:59:59','1991092902:59:59' ],
+        [ [1991,9,28,20,0,0],[1991,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,1,18,19,59,59],[1992,1,19,1,59,59],
+          '1991092820:00:00','1991092902:00:00','1992011819:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,20,0,0],[1992,1,19,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,18,59,59],[1992,3,29,1,59,59],
+          '1992011820:00:00','1992011903:00:00','1992032818:59:59','1992032901:59:59' ],
+        [ [1992,3,28,19,0,0],[1992,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,18,59,59],[1992,9,27,2,59,59],
+          '1992032819:00:00','1992032903:00:00','1992092618:59:59','1992092702:59:59' ],
+        [ [1992,9,26,19,0,0],[1992,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,18,59,59],[1993,3,28,1,59,59],
+          '1992092619:00:00','1992092702:00:00','1993032718:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,19,0,0],[1993,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,9,25,18,59,59],[1993,9,26,2,59,59],
+          '1993032719:00:00','1993032803:00:00','1993092518:59:59','1993092602:59:59' ],
+        [ [1993,9,25,19,0,0],[1993,9,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1994,3,26,18,59,59],[1994,3,27,1,59,59],
+          '1993092519:00:00','1993092602:00:00','1994032618:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,19,0,0],[1994,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1994,9,24,18,59,59],[1994,9,25,2,59,59],
+          '1994032619:00:00','1994032703:00:00','1994092418:59:59','1994092502:59:59' ],
+        [ [1994,9,24,19,0,0],[1994,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1995,3,25,18,59,59],[1995,3,26,1,59,59],
+          '1994092419:00:00','1994092502:00:00','1995032518:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,19,0,0],[1995,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1995,9,23,18,59,59],[1995,9,24,2,59,59],
+          '1995032519:00:00','1995032603:00:00','1995092318:59:59','1995092402:59:59' ],
+        [ [1995,9,23,19,0,0],[1995,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1996,3,30,18,59,59],[1996,3,31,1,59,59],
+          '1995092319:00:00','1995092402:00:00','1996033018:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,19,0,0],[1996,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1996,10,26,18,59,59],[1996,10,27,2,59,59],
+          '1996033019:00:00','1996033103:00:00','1996102618:59:59','1996102702:59:59' ],
+        [ [1996,10,26,19,0,0],[1996,10,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1997,3,29,18,59,59],[1997,3,30,1,59,59],
+          '1996102619:00:00','1996102702:00:00','1997032918:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,19,0,0],[1997,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1997,10,25,18,59,59],[1997,10,26,2,59,59],
+          '1997032919:00:00','1997033003:00:00','1997102518:59:59','1997102602:59:59' ],
+        [ [1997,10,25,19,0,0],[1997,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1998,3,28,18,59,59],[1998,3,29,1,59,59],
+          '1997102519:00:00','1997102602:00:00','1998032818:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,19,0,0],[1998,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1998,10,24,18,59,59],[1998,10,25,2,59,59],
+          '1998032819:00:00','1998032903:00:00','1998102418:59:59','1998102502:59:59' ],
+        [ [1998,10,24,19,0,0],[1998,10,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1999,3,27,18,59,59],[1999,3,28,1,59,59],
+          '1998102419:00:00','1998102502:00:00','1999032718:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,19,0,0],[1999,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1999,10,30,18,59,59],[1999,10,31,2,59,59],
+          '1999032719:00:00','1999032803:00:00','1999103018:59:59','1999103102:59:59' ],
+        [ [1999,10,30,19,0,0],[1999,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2000,3,25,18,59,59],[2000,3,26,1,59,59],
+          '1999103019:00:00','1999103102:00:00','2000032518:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,19,0,0],[2000,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2000,10,28,18,59,59],[2000,10,29,2,59,59],
+          '2000032519:00:00','2000032603:00:00','2000102818:59:59','2000102902:59:59' ],
+        [ [2000,10,28,19,0,0],[2000,10,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2001,3,24,18,59,59],[2001,3,25,1,59,59],
+          '2000102819:00:00','2000102902:00:00','2001032418:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,19,0,0],[2001,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2001,10,27,18,59,59],[2001,10,28,2,59,59],
+          '2001032419:00:00','2001032503:00:00','2001102718:59:59','2001102802:59:59' ],
+        [ [2001,10,27,19,0,0],[2001,10,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2002,3,30,18,59,59],[2002,3,31,1,59,59],
+          '2001102719:00:00','2001102802:00:00','2002033018:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,19,0,0],[2002,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2002,10,26,18,59,59],[2002,10,27,2,59,59],
+          '2002033019:00:00','2002033103:00:00','2002102618:59:59','2002102702:59:59' ],
+        [ [2002,10,26,19,0,0],[2002,10,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2003,3,29,18,59,59],[2003,3,30,1,59,59],
+          '2002102619:00:00','2002102702:00:00','2003032918:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,19,0,0],[2003,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2003,10,25,18,59,59],[2003,10,26,2,59,59],
+          '2003032919:00:00','2003033003:00:00','2003102518:59:59','2003102602:59:59' ],
+        [ [2003,10,25,19,0,0],[2003,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2004,3,27,18,59,59],[2004,3,28,1,59,59],
+          '2003102519:00:00','2003102602:00:00','2004032718:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,19,0,0],[2004,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2004,10,30,18,59,59],[2004,10,31,2,59,59],
+          '2004032719:00:00','2004032803:00:00','2004103018:59:59','2004103102:59:59' ],
+        [ [2004,10,30,19,0,0],[2004,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2005,3,26,18,59,59],[2005,3,27,1,59,59],
+          '2004103019:00:00','2004103102:00:00','2005032618:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,19,0,0],[2005,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2005,10,29,18,59,59],[2005,10,30,2,59,59],
+          '2005032619:00:00','2005032703:00:00','2005102918:59:59','2005103002:59:59' ],
+        [ [2005,10,29,19,0,0],[2005,10,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2006,3,25,18,59,59],[2006,3,26,1,59,59],
+          '2005102919:00:00','2005103002:00:00','2006032518:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,19,0,0],[2006,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2006,10,28,18,59,59],[2006,10,29,2,59,59],
+          '2006032519:00:00','2006032603:00:00','2006102818:59:59','2006102902:59:59' ],
+        [ [2006,10,28,19,0,0],[2006,10,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2007,3,24,18,59,59],[2007,3,25,1,59,59],
+          '2006102819:00:00','2006102902:00:00','2007032418:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,19,0,0],[2007,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2007,10,27,18,59,59],[2007,10,28,2,59,59],
+          '2007032419:00:00','2007032503:00:00','2007102718:59:59','2007102802:59:59' ],
+        [ [2007,10,27,19,0,0],[2007,10,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2008,3,29,18,59,59],[2008,3,30,1,59,59],
+          '2007102719:00:00','2007102802:00:00','2008032918:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,19,0,0],[2008,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2008,10,25,18,59,59],[2008,10,26,2,59,59],
+          '2008032919:00:00','2008033003:00:00','2008102518:59:59','2008102602:59:59' ],
+        [ [2008,10,25,19,0,0],[2008,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2009,3,28,18,59,59],[2009,3,29,1,59,59],
+          '2008102519:00:00','2008102602:00:00','2009032818:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,19,0,0],[2009,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2009,10,24,18,59,59],[2009,10,25,2,59,59],
+          '2009032819:00:00','2009032903:00:00','2009102418:59:59','2009102502:59:59' ],
+        [ [2009,10,24,19,0,0],[2009,10,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2010,3,27,18,59,59],[2010,3,28,1,59,59],
+          '2009102419:00:00','2009102502:00:00','2010032718:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,19,0,0],[2010,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2010,10,30,18,59,59],[2010,10,31,2,59,59],
+          '2010032719:00:00','2010032803:00:00','2010103018:59:59','2010103102:59:59' ],
+        [ [2010,10,30,19,0,0],[2010,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2011,3,26,18,59,59],[2011,3,27,1,59,59],
+          '2010103019:00:00','2010103102:00:00','2011032618:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,19,0,0],[2011,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2014,10,25,17,59,59],[2014,10,26,1,59,59],
+          '2011032619:00:00','2011032703:00:00','2014102517:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,18,0,0],[2014,10,26,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2014102518:00:00','2014102601:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askual00.pm b/lib/Date/Manip/TZ/askual00.pm
new file mode 100644
index 0000000..b03c755
--- /dev/null
+++ b/lib/Date/Manip/TZ/askual00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::askual00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,46,46],'+06:46:46',[6,46,46],
+          'LMT',0,[1900,12,31,17,13,13],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010206:46:46','1900123117:13:13','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,17,13,14],[1901,1,1,0,8,39],'+06:55:25',[6,55,25],
+          'SMT',0,[1905,5,31,17,4,34],[1905,5,31,23,59,59],
+          '1900123117:13:14','1901010100:08:39','1905053117:04:34','1905053123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,5,31,17,4,35],[1905,6,1,0,4,35],'+07:00:00',[7,0,0],
+          '+07',0,[1932,12,31,16,59,59],[1932,12,31,23,59,59],
+          '1905053117:04:35','1905060100:04:35','1932123116:59:59','1932123123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,12,31,17,0,0],[1933,1,1,0,20,0],'+07:20:00',[7,20,0],
+          '+0720',1,[1935,12,31,16,39,59],[1935,12,31,23,59,59],
+          '1932123117:00:00','1933010100:20:00','1935123116:39:59','1935123123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,12,31,16,40,0],[1936,1,1,0,0,0],'+07:20:00',[7,20,0],
+          '+0720',0,[1941,8,31,16,39,59],[1941,8,31,23,59,59],
+          '1935123116:40:00','1936010100:00:00','1941083116:39:59','1941083123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,8,31,16,40,0],[1941,9,1,0,10,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1942,2,15,16,29,59],[1942,2,15,23,59,59],
+          '1941083116:40:00','1941090100:10:00','1942021516:29:59','1942021523:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,15,16,30,0],[1942,2,16,1,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,11,14,59,59],[1945,9,11,23,59,59],
+          '1942021516:30:00','1942021601:30:00','1945091114:59:59','1945091123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,11,15,0,0],[1945,9,11,22,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1981,12,31,16,29,59],[1981,12,31,23,59,59],
+          '1945091115:00:00','1945091122:30:00','1981123116:29:59','1981123123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,12,31,16,30,0],[1982,1,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1981123116:30:00','1982010100:30:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/askuch00.pm b/lib/Date/Manip/TZ/askuch00.pm
new file mode 100644
index 0000000..ed9d148
--- /dev/null
+++ b/lib/Date/Manip/TZ/askuch00.pm
@@ -0,0 +1,130 @@
+package #
+Date::Manip::TZ::askuch00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,21,20],'+07:21:20',[7,21,20],
+          'LMT',0,[1926,2,28,16,38,39],[1926,2,28,23,59,59],
+          '0001010200:00:00','0001010207:21:20','1926022816:38:39','1926022823:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,2,28,16,38,40],[1926,3,1,0,8,40],'+07:30:00',[7,30,0],
+          '+0730',0,[1932,12,31,16,29,59],[1932,12,31,23,59,59],
+          '1926022816:38:40','1926030100:08:40','1932123116:29:59','1932123123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,12,31,16,30,0],[1933,1,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[1935,9,13,15,59,59],[1935,9,13,23,59,59],
+          '1932123116:30:00','1933010100:30:00','1935091315:59:59','1935091323:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,9,13,16,0,0],[1935,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1935,12,13,15,39,59],[1935,12,13,23,59,59],
+          '1935091316:00:00','1935091400:20:00','1935121315:39:59','1935121323:59:59' ],
+        [ [1935,12,13,15,40,0],[1935,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1936,9,13,15,59,59],[1936,9,13,23,59,59],
+          '1935121315:40:00','1935121323:40:00','1936091315:59:59','1936091323:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,9,13,16,0,0],[1936,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1936,12,13,15,39,59],[1936,12,13,23,59,59],
+          '1936091316:00:00','1936091400:20:00','1936121315:39:59','1936121323:59:59' ],
+        [ [1936,12,13,15,40,0],[1936,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1937,9,13,15,59,59],[1937,9,13,23,59,59],
+          '1936121315:40:00','1936121323:40:00','1937091315:59:59','1937091323:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,9,13,16,0,0],[1937,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1937,12,13,15,39,59],[1937,12,13,23,59,59],
+          '1937091316:00:00','1937091400:20:00','1937121315:39:59','1937121323:59:59' ],
+        [ [1937,12,13,15,40,0],[1937,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1938,9,13,15,59,59],[1938,9,13,23,59,59],
+          '1937121315:40:00','1937121323:40:00','1938091315:59:59','1938091323:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,9,13,16,0,0],[1938,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1938,12,13,15,39,59],[1938,12,13,23,59,59],
+          '1938091316:00:00','1938091400:20:00','1938121315:39:59','1938121323:59:59' ],
+        [ [1938,12,13,15,40,0],[1938,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1939,9,13,15,59,59],[1939,9,13,23,59,59],
+          '1938121315:40:00','1938121323:40:00','1939091315:59:59','1939091323:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,9,13,16,0,0],[1939,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1939,12,13,15,39,59],[1939,12,13,23,59,59],
+          '1939091316:00:00','1939091400:20:00','1939121315:39:59','1939121323:59:59' ],
+        [ [1939,12,13,15,40,0],[1939,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1940,9,13,15,59,59],[1940,9,13,23,59,59],
+          '1939121315:40:00','1939121323:40:00','1940091315:59:59','1940091323:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,9,13,16,0,0],[1940,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1940,12,13,15,39,59],[1940,12,13,23,59,59],
+          '1940091316:00:00','1940091400:20:00','1940121315:39:59','1940121323:59:59' ],
+        [ [1940,12,13,15,40,0],[1940,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1941,9,13,15,59,59],[1941,9,13,23,59,59],
+          '1940121315:40:00','1940121323:40:00','1941091315:59:59','1941091323:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,13,16,0,0],[1941,9,14,0,20,0],'+08:20:00',[8,20,0],
+          '+0820',1,[1941,12,13,15,39,59],[1941,12,13,23,59,59],
+          '1941091316:00:00','1941091400:20:00','1941121315:39:59','1941121323:59:59' ],
+        [ [1941,12,13,15,40,0],[1941,12,13,23,40,0],'+08:00:00',[8,0,0],
+          '+08',0,[1942,2,15,15,59,59],[1942,2,15,23,59,59],
+          '1941121315:40:00','1941121323:40:00','1942021515:59:59','1942021523:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,15,16,0,0],[1942,2,16,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,11,14,59,59],[1945,9,11,23,59,59],
+          '1942021516:00:00','1942021601:00:00','1945091114:59:59','1945091123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,11,15,0,0],[1945,9,11,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1945091115:00:00','1945091123:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asmaca00.pm b/lib/Date/Manip/TZ/asmaca00.pm
new file mode 100644
index 0000000..eed8bdc
--- /dev/null
+++ b/lib/Date/Manip/TZ/asmaca00.pm
@@ -0,0 +1,229 @@
+package #
+Date::Manip::TZ::asmaca00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,34,20],'+07:34:20',[7,34,20],
+          'LMT',0,[1911,12,31,16,25,39],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010207:34:20','1911123116:25:39','1911123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,12,31,16,25,40],[1912,1,1,0,25,40],'+08:00:00',[8,0,0],
+          'CST',0,[1961,3,18,19,29,59],[1961,3,19,3,29,59],
+          '1911123116:25:40','1912010100:25:40','1961031819:29:59','1961031903:29:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,3,18,19,30,0],[1961,3,19,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1961,11,4,18,29,59],[1961,11,5,3,29,59],
+          '1961031819:30:00','1961031904:30:00','1961110418:29:59','1961110503:29:59' ],
+        [ [1961,11,4,18,30,0],[1961,11,5,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1962,3,17,19,29,59],[1962,3,18,3,29,59],
+          '1961110418:30:00','1961110502:30:00','1962031719:29:59','1962031803:29:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,3,17,19,30,0],[1962,3,18,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1962,11,3,18,29,59],[1962,11,4,3,29,59],
+          '1962031719:30:00','1962031804:30:00','1962110318:29:59','1962110403:29:59' ],
+        [ [1962,11,3,18,30,0],[1962,11,4,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1963,3,16,15,59,59],[1963,3,16,23,59,59],
+          '1962110318:30:00','1962110402:30:00','1963031615:59:59','1963031623:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,3,16,16,0,0],[1963,3,17,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1963,11,2,18,29,59],[1963,11,3,3,29,59],
+          '1963031616:00:00','1963031701:00:00','1963110218:29:59','1963110303:29:59' ],
+        [ [1963,11,2,18,30,0],[1963,11,3,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1964,3,21,19,29,59],[1964,3,22,3,29,59],
+          '1963110218:30:00','1963110302:30:00','1964032119:29:59','1964032203:29:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,21,19,30,0],[1964,3,22,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1964,10,31,18,29,59],[1964,11,1,3,29,59],
+          '1964032119:30:00','1964032204:30:00','1964103118:29:59','1964110103:29:59' ],
+        [ [1964,10,31,18,30,0],[1964,11,1,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1965,3,20,15,59,59],[1965,3,20,23,59,59],
+          '1964103118:30:00','1964110102:30:00','1965032015:59:59','1965032023:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,20,16,0,0],[1965,3,21,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1965,10,30,14,59,59],[1965,10,30,23,59,59],
+          '1965032016:00:00','1965032101:00:00','1965103014:59:59','1965103023:59:59' ],
+        [ [1965,10,30,15,0,0],[1965,10,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1966,4,16,19,29,59],[1966,4,17,3,29,59],
+          '1965103015:00:00','1965103023:00:00','1966041619:29:59','1966041703:29:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,16,19,30,0],[1966,4,17,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1966,10,15,18,29,59],[1966,10,16,3,29,59],
+          '1966041619:30:00','1966041704:30:00','1966101518:29:59','1966101603:29:59' ],
+        [ [1966,10,15,18,30,0],[1966,10,16,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1967,4,15,19,29,59],[1967,4,16,3,29,59],
+          '1966101518:30:00','1966101602:30:00','1967041519:29:59','1967041603:29:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,15,19,30,0],[1967,4,16,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1967,10,21,18,29,59],[1967,10,22,3,29,59],
+          '1967041519:30:00','1967041604:30:00','1967102118:29:59','1967102203:29:59' ],
+        [ [1967,10,21,18,30,0],[1967,10,22,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1968,4,20,19,29,59],[1968,4,21,3,29,59],
+          '1967102118:30:00','1967102202:30:00','1968042019:29:59','1968042103:29:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,20,19,30,0],[1968,4,21,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1968,10,19,18,29,59],[1968,10,20,3,29,59],
+          '1968042019:30:00','1968042104:30:00','1968101918:29:59','1968102003:29:59' ],
+        [ [1968,10,19,18,30,0],[1968,10,20,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1969,4,19,19,29,59],[1969,4,20,3,29,59],
+          '1968101918:30:00','1968102002:30:00','1969041919:29:59','1969042003:29:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,4,19,19,30,0],[1969,4,20,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1969,10,18,18,29,59],[1969,10,19,3,29,59],
+          '1969041919:30:00','1969042004:30:00','1969101818:29:59','1969101903:29:59' ],
+        [ [1969,10,18,18,30,0],[1969,10,19,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1970,4,18,19,29,59],[1970,4,19,3,29,59],
+          '1969101818:30:00','1969101902:30:00','1970041819:29:59','1970041903:29:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,4,18,19,30,0],[1970,4,19,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1970,10,17,18,29,59],[1970,10,18,3,29,59],
+          '1970041819:30:00','1970041904:30:00','1970101718:29:59','1970101803:29:59' ],
+        [ [1970,10,17,18,30,0],[1970,10,18,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1971,4,17,19,29,59],[1971,4,18,3,29,59],
+          '1970101718:30:00','1970101802:30:00','1971041719:29:59','1971041803:29:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,4,17,19,30,0],[1971,4,18,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1971,10,16,18,29,59],[1971,10,17,3,29,59],
+          '1971041719:30:00','1971041804:30:00','1971101618:29:59','1971101703:29:59' ],
+        [ [1971,10,16,18,30,0],[1971,10,17,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1972,4,15,15,59,59],[1972,4,15,23,59,59],
+          '1971101618:30:00','1971101702:30:00','1972041515:59:59','1972041523:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,4,15,16,0,0],[1972,4,16,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1972,10,14,14,59,59],[1972,10,14,23,59,59],
+          '1972041516:00:00','1972041601:00:00','1972101414:59:59','1972101423:59:59' ],
+        [ [1972,10,14,15,0,0],[1972,10,14,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1973,4,14,15,59,59],[1973,4,14,23,59,59],
+          '1972101415:00:00','1972101423:00:00','1973041415:59:59','1973041423:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,4,14,16,0,0],[1973,4,15,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1973,10,20,14,59,59],[1973,10,20,23,59,59],
+          '1973041416:00:00','1973041501:00:00','1973102014:59:59','1973102023:59:59' ],
+        [ [1973,10,20,15,0,0],[1973,10,20,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1974,4,20,15,59,59],[1974,4,20,23,59,59],
+          '1973102015:00:00','1973102023:00:00','1974042015:59:59','1974042023:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,20,16,0,0],[1974,4,21,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1974,10,19,18,29,59],[1974,10,20,3,29,59],
+          '1974042016:00:00','1974042101:00:00','1974101918:29:59','1974102003:29:59' ],
+        [ [1974,10,19,18,30,0],[1974,10,20,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1975,4,19,19,29,59],[1975,4,20,3,29,59],
+          '1974101918:30:00','1974102002:30:00','1975041919:29:59','1975042003:29:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,19,19,30,0],[1975,4,20,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1975,10,18,18,29,59],[1975,10,19,3,29,59],
+          '1975041919:30:00','1975042004:30:00','1975101818:29:59','1975101903:29:59' ],
+        [ [1975,10,18,18,30,0],[1975,10,19,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1976,4,17,19,29,59],[1976,4,18,3,29,59],
+          '1975101818:30:00','1975101902:30:00','1976041719:29:59','1976041803:29:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,17,19,30,0],[1976,4,18,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1976,10,16,18,29,59],[1976,10,17,3,29,59],
+          '1976041719:30:00','1976041804:30:00','1976101618:29:59','1976101703:29:59' ],
+        [ [1976,10,16,18,30,0],[1976,10,17,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1977,4,16,19,29,59],[1977,4,17,3,29,59],
+          '1976101618:30:00','1976101702:30:00','1977041619:29:59','1977041703:29:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,16,19,30,0],[1977,4,17,4,30,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1977,10,15,18,29,59],[1977,10,16,3,29,59],
+          '1977041619:30:00','1977041704:30:00','1977101518:29:59','1977101603:29:59' ],
+        [ [1977,10,15,18,30,0],[1977,10,16,2,30,0],'+08:00:00',[8,0,0],
+          'CST',0,[1978,4,15,15,59,59],[1978,4,15,23,59,59],
+          '1977101518:30:00','1977101602:30:00','1978041515:59:59','1978041523:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,15,16,0,0],[1978,4,16,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1978,10,14,14,59,59],[1978,10,14,23,59,59],
+          '1978041516:00:00','1978041601:00:00','1978101414:59:59','1978101423:59:59' ],
+        [ [1978,10,14,15,0,0],[1978,10,14,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1979,4,14,15,59,59],[1979,4,14,23,59,59],
+          '1978101415:00:00','1978101423:00:00','1979041415:59:59','1979041423:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,14,16,0,0],[1979,4,15,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1979,10,20,14,59,59],[1979,10,20,23,59,59],
+          '1979041416:00:00','1979041501:00:00','1979102014:59:59','1979102023:59:59' ],
+        [ [1979,10,20,15,0,0],[1979,10,20,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1980,4,19,15,59,59],[1980,4,19,23,59,59],
+          '1979102015:00:00','1979102023:00:00','1980041915:59:59','1980041923:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,19,16,0,0],[1980,4,20,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1980,10,18,14,59,59],[1980,10,18,23,59,59],
+          '1980041916:00:00','1980042001:00:00','1980101814:59:59','1980101823:59:59' ],
+        [ [1980,10,18,15,0,0],[1980,10,18,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1980101815:00:00','1980101823:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asmaga00.pm b/lib/Date/Manip/TZ/asmaga00.pm
new file mode 100644
index 0000000..9506572
--- /dev/null
+++ b/lib/Date/Manip/TZ/asmaga00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::asmaga00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,3,12],'+10:03:12',[10,3,12],
+          'LMT',0,[1924,5,1,13,56,47],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010210:03:12','1924050113:56:47','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,13,56,48],[1924,5,1,23,56,48],'+10:00:00',[10,0,0],
+          '+10',0,[1930,6,20,13,59,59],[1930,6,20,23,59,59],
+          '1924050113:56:48','1924050123:56:48','1930062013:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,14,0,0],[1930,6,21,1,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1981,3,31,12,59,59],[1981,3,31,23,59,59],
+          '1930062014:00:00','1930062101:00:00','1981033112:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,13,0,0],[1981,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1981,9,30,11,59,59],[1981,9,30,23,59,59],
+          '1981033113:00:00','1981040101:00:00','1981093011:59:59','1981093023:59:59' ],
+        [ [1981,9,30,12,0,0],[1981,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1982,3,31,12,59,59],[1982,3,31,23,59,59],
+          '1981093012:00:00','1981093023:00:00','1982033112:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,13,0,0],[1982,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1982,9,30,11,59,59],[1982,9,30,23,59,59],
+          '1982033113:00:00','1982040101:00:00','1982093011:59:59','1982093023:59:59' ],
+        [ [1982,9,30,12,0,0],[1982,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1983,3,31,12,59,59],[1983,3,31,23,59,59],
+          '1982093012:00:00','1982093023:00:00','1983033112:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,13,0,0],[1983,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1983,9,30,11,59,59],[1983,9,30,23,59,59],
+          '1983033113:00:00','1983040101:00:00','1983093011:59:59','1983093023:59:59' ],
+        [ [1983,9,30,12,0,0],[1983,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1984,3,31,12,59,59],[1984,3,31,23,59,59],
+          '1983093012:00:00','1983093023:00:00','1984033112:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,13,0,0],[1984,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1984,9,29,14,59,59],[1984,9,30,2,59,59],
+          '1984033113:00:00','1984040101:00:00','1984092914:59:59','1984093002:59:59' ],
+        [ [1984,9,29,15,0,0],[1984,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1985,3,30,14,59,59],[1985,3,31,1,59,59],
+          '1984092915:00:00','1984093002:00:00','1985033014:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,15,0,0],[1985,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1985,9,28,14,59,59],[1985,9,29,2,59,59],
+          '1985033015:00:00','1985033103:00:00','1985092814:59:59','1985092902:59:59' ],
+        [ [1985,9,28,15,0,0],[1985,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1986,3,29,14,59,59],[1986,3,30,1,59,59],
+          '1985092815:00:00','1985092902:00:00','1986032914:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,15,0,0],[1986,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1986,9,27,14,59,59],[1986,9,28,2,59,59],
+          '1986032915:00:00','1986033003:00:00','1986092714:59:59','1986092802:59:59' ],
+        [ [1986,9,27,15,0,0],[1986,9,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1987,3,28,14,59,59],[1987,3,29,1,59,59],
+          '1986092715:00:00','1986092802:00:00','1987032814:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,15,0,0],[1987,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1987,9,26,14,59,59],[1987,9,27,2,59,59],
+          '1987032815:00:00','1987032903:00:00','1987092614:59:59','1987092702:59:59' ],
+        [ [1987,9,26,15,0,0],[1987,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1988,3,26,14,59,59],[1988,3,27,1,59,59],
+          '1987092615:00:00','1987092702:00:00','1988032614:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,15,0,0],[1988,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1988,9,24,14,59,59],[1988,9,25,2,59,59],
+          '1988032615:00:00','1988032703:00:00','1988092414:59:59','1988092502:59:59' ],
+        [ [1988,9,24,15,0,0],[1988,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1989,3,25,14,59,59],[1989,3,26,1,59,59],
+          '1988092415:00:00','1988092502:00:00','1989032514:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,15,0,0],[1989,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1989,9,23,14,59,59],[1989,9,24,2,59,59],
+          '1989032515:00:00','1989032603:00:00','1989092314:59:59','1989092402:59:59' ],
+        [ [1989,9,23,15,0,0],[1989,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1990,3,24,14,59,59],[1990,3,25,1,59,59],
+          '1989092315:00:00','1989092402:00:00','1990032414:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,15,0,0],[1990,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1990,9,29,14,59,59],[1990,9,30,2,59,59],
+          '1990032415:00:00','1990032503:00:00','1990092914:59:59','1990093002:59:59' ],
+        [ [1990,9,29,15,0,0],[1990,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1991,3,30,14,59,59],[1991,3,31,1,59,59],
+          '1990092915:00:00','1990093002:00:00','1991033014:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,15,0,0],[1991,3,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1991,9,28,15,59,59],[1991,9,29,2,59,59],
+          '1991033015:00:00','1991033102:00:00','1991092815:59:59','1991092902:59:59' ],
+        [ [1991,9,28,16,0,0],[1991,9,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1992,1,18,15,59,59],[1992,1,19,1,59,59],
+          '1991092816:00:00','1991092902:00:00','1992011815:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,16,0,0],[1992,1,19,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,3,28,14,59,59],[1992,3,29,1,59,59],
+          '1992011816:00:00','1992011903:00:00','1992032814:59:59','1992032901:59:59' ],
+        [ [1992,3,28,15,0,0],[1992,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1992,9,26,14,59,59],[1992,9,27,2,59,59],
+          '1992032815:00:00','1992032903:00:00','1992092614:59:59','1992092702:59:59' ],
+        [ [1992,9,26,15,0,0],[1992,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1993,3,27,14,59,59],[1993,3,28,1,59,59],
+          '1992092615:00:00','1992092702:00:00','1993032714:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,15,0,0],[1993,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1993,9,25,14,59,59],[1993,9,26,2,59,59],
+          '1993032715:00:00','1993032803:00:00','1993092514:59:59','1993092602:59:59' ],
+        [ [1993,9,25,15,0,0],[1993,9,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1994,3,26,14,59,59],[1994,3,27,1,59,59],
+          '1993092515:00:00','1993092602:00:00','1994032614:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,15,0,0],[1994,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1994,9,24,14,59,59],[1994,9,25,2,59,59],
+          '1994032615:00:00','1994032703:00:00','1994092414:59:59','1994092502:59:59' ],
+        [ [1994,9,24,15,0,0],[1994,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1995,3,25,14,59,59],[1995,3,26,1,59,59],
+          '1994092415:00:00','1994092502:00:00','1995032514:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,15,0,0],[1995,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1995,9,23,14,59,59],[1995,9,24,2,59,59],
+          '1995032515:00:00','1995032603:00:00','1995092314:59:59','1995092402:59:59' ],
+        [ [1995,9,23,15,0,0],[1995,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1996,3,30,14,59,59],[1996,3,31,1,59,59],
+          '1995092315:00:00','1995092402:00:00','1996033014:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1996,10,26,14,59,59],[1996,10,27,2,59,59],
+          '1996033015:00:00','1996033103:00:00','1996102614:59:59','1996102702:59:59' ],
+        [ [1996,10,26,15,0,0],[1996,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1997,3,29,14,59,59],[1997,3,30,1,59,59],
+          '1996102615:00:00','1996102702:00:00','1997032914:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1997,10,25,14,59,59],[1997,10,26,2,59,59],
+          '1997032915:00:00','1997033003:00:00','1997102514:59:59','1997102602:59:59' ],
+        [ [1997,10,25,15,0,0],[1997,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1998,3,28,14,59,59],[1998,3,29,1,59,59],
+          '1997102515:00:00','1997102602:00:00','1998032814:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,15,0,0],[1998,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1998,10,24,14,59,59],[1998,10,25,2,59,59],
+          '1998032815:00:00','1998032903:00:00','1998102414:59:59','1998102502:59:59' ],
+        [ [1998,10,24,15,0,0],[1998,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1999,3,27,14,59,59],[1999,3,28,1,59,59],
+          '1998102415:00:00','1998102502:00:00','1999032714:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,15,0,0],[1999,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1999,10,30,14,59,59],[1999,10,31,2,59,59],
+          '1999032715:00:00','1999032803:00:00','1999103014:59:59','1999103102:59:59' ],
+        [ [1999,10,30,15,0,0],[1999,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2000,3,25,14,59,59],[2000,3,26,1,59,59],
+          '1999103015:00:00','1999103102:00:00','2000032514:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,15,0,0],[2000,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2000,10,28,14,59,59],[2000,10,29,2,59,59],
+          '2000032515:00:00','2000032603:00:00','2000102814:59:59','2000102902:59:59' ],
+        [ [2000,10,28,15,0,0],[2000,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2001,3,24,14,59,59],[2001,3,25,1,59,59],
+          '2000102815:00:00','2000102902:00:00','2001032414:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,15,0,0],[2001,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2001,10,27,14,59,59],[2001,10,28,2,59,59],
+          '2001032415:00:00','2001032503:00:00','2001102714:59:59','2001102802:59:59' ],
+        [ [2001,10,27,15,0,0],[2001,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2002,3,30,14,59,59],[2002,3,31,1,59,59],
+          '2001102715:00:00','2001102802:00:00','2002033014:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,15,0,0],[2002,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2002,10,26,14,59,59],[2002,10,27,2,59,59],
+          '2002033015:00:00','2002033103:00:00','2002102614:59:59','2002102702:59:59' ],
+        [ [2002,10,26,15,0,0],[2002,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2003,3,29,14,59,59],[2003,3,30,1,59,59],
+          '2002102615:00:00','2002102702:00:00','2003032914:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,15,0,0],[2003,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2003,10,25,14,59,59],[2003,10,26,2,59,59],
+          '2003032915:00:00','2003033003:00:00','2003102514:59:59','2003102602:59:59' ],
+        [ [2003,10,25,15,0,0],[2003,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2004,3,27,14,59,59],[2004,3,28,1,59,59],
+          '2003102515:00:00','2003102602:00:00','2004032714:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,15,0,0],[2004,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2004,10,30,14,59,59],[2004,10,31,2,59,59],
+          '2004032715:00:00','2004032803:00:00','2004103014:59:59','2004103102:59:59' ],
+        [ [2004,10,30,15,0,0],[2004,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2005,3,26,14,59,59],[2005,3,27,1,59,59],
+          '2004103015:00:00','2004103102:00:00','2005032614:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,15,0,0],[2005,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2005,10,29,14,59,59],[2005,10,30,2,59,59],
+          '2005032615:00:00','2005032703:00:00','2005102914:59:59','2005103002:59:59' ],
+        [ [2005,10,29,15,0,0],[2005,10,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2006,3,25,14,59,59],[2006,3,26,1,59,59],
+          '2005102915:00:00','2005103002:00:00','2006032514:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,15,0,0],[2006,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2006,10,28,14,59,59],[2006,10,29,2,59,59],
+          '2006032515:00:00','2006032603:00:00','2006102814:59:59','2006102902:59:59' ],
+        [ [2006,10,28,15,0,0],[2006,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2007,3,24,14,59,59],[2007,3,25,1,59,59],
+          '2006102815:00:00','2006102902:00:00','2007032414:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,15,0,0],[2007,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2007,10,27,14,59,59],[2007,10,28,2,59,59],
+          '2007032415:00:00','2007032503:00:00','2007102714:59:59','2007102802:59:59' ],
+        [ [2007,10,27,15,0,0],[2007,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2008,3,29,14,59,59],[2008,3,30,1,59,59],
+          '2007102715:00:00','2007102802:00:00','2008032914:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,15,0,0],[2008,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2008,10,25,14,59,59],[2008,10,26,2,59,59],
+          '2008032915:00:00','2008033003:00:00','2008102514:59:59','2008102602:59:59' ],
+        [ [2008,10,25,15,0,0],[2008,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2009,3,28,14,59,59],[2009,3,29,1,59,59],
+          '2008102515:00:00','2008102602:00:00','2009032814:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,15,0,0],[2009,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2009,10,24,14,59,59],[2009,10,25,2,59,59],
+          '2009032815:00:00','2009032903:00:00','2009102414:59:59','2009102502:59:59' ],
+        [ [2009,10,24,15,0,0],[2009,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2010,3,27,14,59,59],[2010,3,28,1,59,59],
+          '2009102415:00:00','2009102502:00:00','2010032714:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,15,0,0],[2010,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2010,10,30,14,59,59],[2010,10,31,2,59,59],
+          '2010032715:00:00','2010032803:00:00','2010103014:59:59','2010103102:59:59' ],
+        [ [2010,10,30,15,0,0],[2010,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,3,26,14,59,59],[2011,3,27,1,59,59],
+          '2010103015:00:00','2010103102:00:00','2011032614:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,15,0,0],[2011,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2014,10,25,13,59,59],[2014,10,26,1,59,59],
+          '2011032615:00:00','2011032703:00:00','2014102513:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,14,0,0],[2014,10,26,0,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2016,4,23,15,59,59],[2016,4,24,1,59,59],
+          '2014102514:00:00','2014102600:00:00','2016042315:59:59','2016042401:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,23,16,0,0],[2016,4,24,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2016042316:00:00','2016042403:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asmaka00.pm b/lib/Date/Manip/TZ/asmaka00.pm
new file mode 100644
index 0000000..30efe33
--- /dev/null
+++ b/lib/Date/Manip/TZ/asmaka00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::asmaka00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,57,36],'+07:57:36',[7,57,36],
+          'LMT',0,[1919,12,31,16,2,23],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010207:57:36','1919123116:02:23','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,16,2,24],[1920,1,1,0,0,0],'+07:57:36',[7,57,36],
+          'MMT',0,[1932,10,31,16,2,23],[1932,10,31,23,59,59],
+          '1919123116:02:24','1920010100:00:00','1932103116:02:23','1932103123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,10,31,16,2,24],[1932,11,1,0,2,24],'+08:00:00',[8,0,0],
+          '+08',0,[1942,2,8,15,59,59],[1942,2,8,23,59,59],
+          '1932103116:02:24','1932110100:02:24','1942020815:59:59','1942020823:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,8,16,0,0],[1942,2,9,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,22,14,59,59],[1945,9,22,23,59,59],
+          '1942020816:00:00','1942020901:00:00','1945092214:59:59','1945092223:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,22,15,0,0],[1945,9,22,23,0,0],'+08:00:00',[8,0,0],
+          'WITA',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1945092215:00:00','1945092223:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asmani00.pm b/lib/Date/Manip/TZ/asmani00.pm
new file mode 100644
index 0000000..7b8bbd8
--- /dev/null
+++ b/lib/Date/Manip/TZ/asmani00.pm
@@ -0,0 +1,97 @@
+package #
+Date::Manip::TZ::asmani00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,8,4,0],'-15:56:00',[-15,-56,0],
+          'LMT',0,[1844,12,31,15,55,59],[1844,12,30,23,59,59],
+          '0001010200:00:00','0001010108:04:00','1844123115:55:59','1844123023:59:59' ],
+     ],
+   1844 =>
+     [
+        [ [1844,12,31,15,56,0],[1845,1,1,0,0,0],'+08:04:00',[8,4,0],
+          'LMT',0,[1899,5,10,15,55,59],[1899,5,10,23,59,59],
+          '1844123115:56:00','1845010100:00:00','1899051015:55:59','1899051023:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,5,10,15,56,0],[1899,5,10,23,56,0],'+08:00:00',[8,0,0],
+          '+08',0,[1936,10,31,15,59,59],[1936,10,31,23,59,59],
+          '1899051015:56:00','1899051023:56:00','1936103115:59:59','1936103123:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,10,31,16,0,0],[1936,11,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1937,1,31,14,59,59],[1937,1,31,23,59,59],
+          '1936103116:00:00','1936110101:00:00','1937013114:59:59','1937013123:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,1,31,15,0,0],[1937,1,31,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1942,4,30,15,59,59],[1942,4,30,23,59,59],
+          '1937013115:00:00','1937013123:00:00','1942043015:59:59','1942043023:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,30,16,0,0],[1942,5,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1944,10,31,14,59,59],[1944,10,31,23,59,59],
+          '1942043016:00:00','1942050101:00:00','1944103114:59:59','1944103123:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,10,31,15,0,0],[1944,10,31,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1954,4,11,15,59,59],[1954,4,11,23,59,59],
+          '1944103115:00:00','1944103123:00:00','1954041115:59:59','1954041123:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,11,16,0,0],[1954,4,12,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1954,6,30,14,59,59],[1954,6,30,23,59,59],
+          '1954041116:00:00','1954041201:00:00','1954063014:59:59','1954063023:59:59' ],
+        [ [1954,6,30,15,0,0],[1954,6,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1978,3,21,15,59,59],[1978,3,21,23,59,59],
+          '1954063015:00:00','1954063023:00:00','1978032115:59:59','1978032123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,21,16,0,0],[1978,3,22,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1978,9,20,14,59,59],[1978,9,20,23,59,59],
+          '1978032116:00:00','1978032201:00:00','1978092014:59:59','1978092023:59:59' ],
+        [ [1978,9,20,15,0,0],[1978,9,20,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1978092015:00:00','1978092023:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asnico00.pm b/lib/Date/Manip/TZ/asnico00.pm
new file mode 100644
index 0000000..da8b5fb
--- /dev/null
+++ b/lib/Date/Manip/TZ/asnico00.pm
@@ -0,0 +1,910 @@
+package #
+Date::Manip::TZ::asnico00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,13,28],'+02:13:28',[2,13,28],
+          'LMT',0,[1921,11,13,21,46,31],[1921,11,13,23,59,59],
+          '0001010200:00:00','0001010202:13:28','1921111321:46:31','1921111323:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,11,13,21,46,32],[1921,11,13,23,46,32],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,12,21,59,59],[1975,4,12,23,59,59],
+          '1921111321:46:32','1921111323:46:32','1975041221:59:59','1975041223:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,12,22,0,0],[1975,4,13,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,10,11,20,59,59],[1975,10,11,23,59,59],
+          '1975041222:00:00','1975041301:00:00','1975101120:59:59','1975101123:59:59' ],
+        [ [1975,10,11,21,0,0],[1975,10,11,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,5,14,21,59,59],[1976,5,14,23,59,59],
+          '1975101121:00:00','1975101123:00:00','1976051421:59:59','1976051423:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,14,22,0,0],[1976,5,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,10,10,20,59,59],[1976,10,10,23,59,59],
+          '1976051422:00:00','1976051501:00:00','1976101020:59:59','1976101023:59:59' ],
+        [ [1976,10,10,21,0,0],[1976,10,10,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,2,21,59,59],[1977,4,2,23,59,59],
+          '1976101021:00:00','1976101023:00:00','1977040221:59:59','1977040223:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,2,22,0,0],[1977,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,24,20,59,59],[1977,9,24,23,59,59],
+          '1977040222:00:00','1977040301:00:00','1977092420:59:59','1977092423:59:59' ],
+        [ [1977,9,24,21,0,0],[1977,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,1,21,59,59],[1978,4,1,23,59,59],
+          '1977092421:00:00','1977092423:00:00','1978040121:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,1,22,0,0],[1978,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,10,1,20,59,59],[1978,10,1,23,59,59],
+          '1978040122:00:00','1978040201:00:00','1978100120:59:59','1978100123:59:59' ],
+        [ [1978,10,1,21,0,0],[1978,10,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,3,31,21,59,59],[1979,3,31,23,59,59],
+          '1978100121:00:00','1978100123:00:00','1979033121:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,31,22,0,0],[1979,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,29,20,59,59],[1979,9,29,23,59,59],
+          '1979033122:00:00','1979040101:00:00','1979092920:59:59','1979092923:59:59' ],
+        [ [1979,9,29,21,0,0],[1979,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,5,21,59,59],[1980,4,5,23,59,59],
+          '1979092921:00:00','1979092923:00:00','1980040521:59:59','1980040523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,5,22,0,0],[1980,4,6,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,27,20,59,59],[1980,9,27,23,59,59],
+          '1980040522:00:00','1980040601:00:00','1980092720:59:59','1980092723:59:59' ],
+        [ [1980,9,27,21,0,0],[1980,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,28,21,59,59],[1981,3,28,23,59,59],
+          '1980092721:00:00','1980092723:00:00','1981032821:59:59','1981032823:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,28,22,0,0],[1981,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,26,20,59,59],[1981,9,26,23,59,59],
+          '1981032822:00:00','1981032901:00:00','1981092620:59:59','1981092623:59:59' ],
+        [ [1981,9,26,21,0,0],[1981,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,27,21,59,59],[1982,3,27,23,59,59],
+          '1981092621:00:00','1981092623:00:00','1982032721:59:59','1982032723:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,27,22,0,0],[1982,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,25,20,59,59],[1982,9,25,23,59,59],
+          '1982032722:00:00','1982032801:00:00','1982092520:59:59','1982092523:59:59' ],
+        [ [1982,9,25,21,0,0],[1982,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,26,21,59,59],[1983,3,26,23,59,59],
+          '1982092521:00:00','1982092523:00:00','1983032621:59:59','1983032623:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,26,22,0,0],[1983,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,24,20,59,59],[1983,9,24,23,59,59],
+          '1983032622:00:00','1983032701:00:00','1983092420:59:59','1983092423:59:59' ],
+        [ [1983,9,24,21,0,0],[1983,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,24,21,59,59],[1984,3,24,23,59,59],
+          '1983092421:00:00','1983092423:00:00','1984032421:59:59','1984032423:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,24,22,0,0],[1984,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,29,20,59,59],[1984,9,29,23,59,59],
+          '1984032422:00:00','1984032501:00:00','1984092920:59:59','1984092923:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,30,21,59,59],[1985,3,30,23,59,59],
+          '1984092921:00:00','1984092923:00:00','1985033021:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,28,20,59,59],[1985,9,28,23,59,59],
+          '1985033022:00:00','1985033101:00:00','1985092820:59:59','1985092823:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,29,21,59,59],[1986,3,29,23,59,59],
+          '1985092821:00:00','1985092823:00:00','1986032921:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,27,20,59,59],[1986,9,27,23,59,59],
+          '1986032922:00:00','1986033001:00:00','1986092720:59:59','1986092723:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,28,21,59,59],[1987,3,28,23,59,59],
+          '1986092721:00:00','1986092723:00:00','1987032821:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,26,20,59,59],[1987,9,26,23,59,59],
+          '1987032822:00:00','1987032901:00:00','1987092620:59:59','1987092623:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,26,21,59,59],[1988,3,26,23,59,59],
+          '1987092621:00:00','1987092623:00:00','1988032621:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,24,20,59,59],[1988,9,24,23,59,59],
+          '1988032622:00:00','1988032701:00:00','1988092420:59:59','1988092423:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,25,21,59,59],[1989,3,25,23,59,59],
+          '1988092421:00:00','1988092423:00:00','1989032521:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,20,59,59],[1989,9,23,23,59,59],
+          '1989032522:00:00','1989032601:00:00','1989092320:59:59','1989092323:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,21,59,59],[1990,3,24,23,59,59],
+          '1989092321:00:00','1989092323:00:00','1990032421:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,20,59,59],[1990,9,29,23,59,59],
+          '1990032422:00:00','1990032501:00:00','1990092920:59:59','1990092923:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,21,59,59],[1991,3,30,23,59,59],
+          '1990092921:00:00','1990092923:00:00','1991033021:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,20,59,59],[1991,9,28,23,59,59],
+          '1991033022:00:00','1991033101:00:00','1991092820:59:59','1991092823:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092821:00:00','1991092823:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,28,20,59,59],[1996,9,28,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996092820:59:59','1996092823:59:59' ],
+        [ [1996,9,28,21,0,0],[1996,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,21,59,59],[1997,3,29,23,59,59],
+          '1996092821:00:00','1996092823:00:00','1997032921:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,9,27,20,59,59],[1997,9,27,23,59,59],
+          '1997032922:00:00','1997033001:00:00','1997092720:59:59','1997092723:59:59' ],
+        [ [1997,9,27,21,0,0],[1997,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,21,59,59],[1998,3,28,23,59,59],
+          '1997092721:00:00','1997092723:00:00','1998032821:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032822:00:00','1998032901:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asnovo00.pm b/lib/Date/Manip/TZ/asnovo00.pm
new file mode 100644
index 0000000..c444179
--- /dev/null
+++ b/lib/Date/Manip/TZ/asnovo00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::asnovo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,48,48],'+05:48:48',[5,48,48],
+          'LMT',0,[1924,4,30,18,11,11],[1924,4,30,23,59,59],
+          '0001010200:00:00','0001010205:48:48','1924043018:11:11','1924043023:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,30,18,11,12],[1924,5,1,0,11,12],'+06:00:00',[6,0,0],
+          '+06',0,[1930,6,20,17,59,59],[1930,6,20,23,59,59],
+          '1924043018:11:12','1924050100:11:12','1930062017:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,18,0,0],[1930,6,21,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1981,3,31,16,59,59],[1981,3,31,23,59,59],
+          '1930062018:00:00','1930062101:00:00','1981033116:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,17,0,0],[1981,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1981,9,30,15,59,59],[1981,9,30,23,59,59],
+          '1981033117:00:00','1981040101:00:00','1981093015:59:59','1981093023:59:59' ],
+        [ [1981,9,30,16,0,0],[1981,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1982,3,31,16,59,59],[1982,3,31,23,59,59],
+          '1981093016:00:00','1981093023:00:00','1982033116:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,17,0,0],[1982,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1982,9,30,15,59,59],[1982,9,30,23,59,59],
+          '1982033117:00:00','1982040101:00:00','1982093015:59:59','1982093023:59:59' ],
+        [ [1982,9,30,16,0,0],[1982,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1982093016:00:00','1982093023:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,18,59,59],[1984,9,30,2,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092918:59:59','1984093002:59:59' ],
+        [ [1984,9,29,19,0,0],[1984,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,18,59,59],[1985,3,31,1,59,59],
+          '1984092919:00:00','1984093002:00:00','1985033018:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,19,0,0],[1985,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,18,59,59],[1985,9,29,2,59,59],
+          '1985033019:00:00','1985033103:00:00','1985092818:59:59','1985092902:59:59' ],
+        [ [1985,9,28,19,0,0],[1985,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,18,59,59],[1986,3,30,1,59,59],
+          '1985092819:00:00','1985092902:00:00','1986032918:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,19,0,0],[1986,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,18,59,59],[1986,9,28,2,59,59],
+          '1986032919:00:00','1986033003:00:00','1986092718:59:59','1986092802:59:59' ],
+        [ [1986,9,27,19,0,0],[1986,9,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,18,59,59],[1987,3,29,1,59,59],
+          '1986092719:00:00','1986092802:00:00','1987032818:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,19,0,0],[1987,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,18,59,59],[1987,9,27,2,59,59],
+          '1987032819:00:00','1987032903:00:00','1987092618:59:59','1987092702:59:59' ],
+        [ [1987,9,26,19,0,0],[1987,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,18,59,59],[1988,3,27,1,59,59],
+          '1987092619:00:00','1987092702:00:00','1988032618:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,19,0,0],[1988,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,18,59,59],[1988,9,25,2,59,59],
+          '1988032619:00:00','1988032703:00:00','1988092418:59:59','1988092502:59:59' ],
+        [ [1988,9,24,19,0,0],[1988,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,18,59,59],[1989,3,26,1,59,59],
+          '1988092419:00:00','1988092502:00:00','1989032518:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,19,0,0],[1989,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,18,59,59],[1989,9,24,2,59,59],
+          '1989032519:00:00','1989032603:00:00','1989092318:59:59','1989092402:59:59' ],
+        [ [1989,9,23,19,0,0],[1989,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,18,59,59],[1990,3,25,1,59,59],
+          '1989092319:00:00','1989092402:00:00','1990032418:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,19,0,0],[1990,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,18,59,59],[1990,9,30,2,59,59],
+          '1990032419:00:00','1990032503:00:00','1990092918:59:59','1990093002:59:59' ],
+        [ [1990,9,29,19,0,0],[1990,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,18,59,59],[1991,3,31,1,59,59],
+          '1990092919:00:00','1990093002:00:00','1991033018:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,19,0,0],[1991,3,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1991,9,28,19,59,59],[1991,9,29,2,59,59],
+          '1991033019:00:00','1991033102:00:00','1991092819:59:59','1991092902:59:59' ],
+        [ [1991,9,28,20,0,0],[1991,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,1,18,19,59,59],[1992,1,19,1,59,59],
+          '1991092820:00:00','1991092902:00:00','1992011819:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,20,0,0],[1992,1,19,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,18,59,59],[1992,3,29,1,59,59],
+          '1992011820:00:00','1992011903:00:00','1992032818:59:59','1992032901:59:59' ],
+        [ [1992,3,28,19,0,0],[1992,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,18,59,59],[1992,9,27,2,59,59],
+          '1992032819:00:00','1992032903:00:00','1992092618:59:59','1992092702:59:59' ],
+        [ [1992,9,26,19,0,0],[1992,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,18,59,59],[1993,3,28,1,59,59],
+          '1992092619:00:00','1992092702:00:00','1993032718:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,19,0,0],[1993,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,9,25,18,59,59],[1993,9,26,2,59,59],
+          '1993032719:00:00','1993032803:00:00','1993092518:59:59','1993092602:59:59' ],
+        [ [1993,9,25,19,0,0],[1993,9,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1994,3,26,18,59,59],[1994,3,27,1,59,59],
+          '1993092519:00:00','1993092602:00:00','1994032618:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,19,0,0],[1994,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1994,9,24,18,59,59],[1994,9,25,2,59,59],
+          '1994032619:00:00','1994032703:00:00','1994092418:59:59','1994092502:59:59' ],
+        [ [1994,9,24,19,0,0],[1994,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1995,3,25,18,59,59],[1995,3,26,1,59,59],
+          '1994092419:00:00','1994092502:00:00','1995032518:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,19,0,0],[1995,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1995,9,23,18,59,59],[1995,9,24,2,59,59],
+          '1995032519:00:00','1995032603:00:00','1995092318:59:59','1995092402:59:59' ],
+        [ [1995,9,23,19,0,0],[1995,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1996,3,30,18,59,59],[1996,3,31,1,59,59],
+          '1995092319:00:00','1995092402:00:00','1996033018:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,19,0,0],[1996,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1996,10,26,18,59,59],[1996,10,27,2,59,59],
+          '1996033019:00:00','1996033103:00:00','1996102618:59:59','1996102702:59:59' ],
+        [ [1996,10,26,19,0,0],[1996,10,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1997,3,29,18,59,59],[1997,3,30,1,59,59],
+          '1996102619:00:00','1996102702:00:00','1997032918:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,19,0,0],[1997,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1997,10,25,18,59,59],[1997,10,26,2,59,59],
+          '1997032919:00:00','1997033003:00:00','1997102518:59:59','1997102602:59:59' ],
+        [ [1997,10,25,19,0,0],[1997,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1998,3,28,18,59,59],[1998,3,29,1,59,59],
+          '1997102519:00:00','1997102602:00:00','1998032818:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,19,0,0],[1998,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1998,10,24,18,59,59],[1998,10,25,2,59,59],
+          '1998032819:00:00','1998032903:00:00','1998102418:59:59','1998102502:59:59' ],
+        [ [1998,10,24,19,0,0],[1998,10,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1999,3,27,18,59,59],[1999,3,28,1,59,59],
+          '1998102419:00:00','1998102502:00:00','1999032718:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,19,0,0],[1999,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1999,10,30,18,59,59],[1999,10,31,2,59,59],
+          '1999032719:00:00','1999032803:00:00','1999103018:59:59','1999103102:59:59' ],
+        [ [1999,10,30,19,0,0],[1999,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2000,3,25,18,59,59],[2000,3,26,1,59,59],
+          '1999103019:00:00','1999103102:00:00','2000032518:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,19,0,0],[2000,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2000,10,28,18,59,59],[2000,10,29,2,59,59],
+          '2000032519:00:00','2000032603:00:00','2000102818:59:59','2000102902:59:59' ],
+        [ [2000,10,28,19,0,0],[2000,10,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2001,3,24,18,59,59],[2001,3,25,1,59,59],
+          '2000102819:00:00','2000102902:00:00','2001032418:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,19,0,0],[2001,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2001,10,27,18,59,59],[2001,10,28,2,59,59],
+          '2001032419:00:00','2001032503:00:00','2001102718:59:59','2001102802:59:59' ],
+        [ [2001,10,27,19,0,0],[2001,10,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2002,3,30,18,59,59],[2002,3,31,1,59,59],
+          '2001102719:00:00','2001102802:00:00','2002033018:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,19,0,0],[2002,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2002,10,26,18,59,59],[2002,10,27,2,59,59],
+          '2002033019:00:00','2002033103:00:00','2002102618:59:59','2002102702:59:59' ],
+        [ [2002,10,26,19,0,0],[2002,10,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2003,3,29,18,59,59],[2003,3,30,1,59,59],
+          '2002102619:00:00','2002102702:00:00','2003032918:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,19,0,0],[2003,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2003,10,25,18,59,59],[2003,10,26,2,59,59],
+          '2003032919:00:00','2003033003:00:00','2003102518:59:59','2003102602:59:59' ],
+        [ [2003,10,25,19,0,0],[2003,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2004,3,27,18,59,59],[2004,3,28,1,59,59],
+          '2003102519:00:00','2003102602:00:00','2004032718:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,19,0,0],[2004,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2004,10,30,18,59,59],[2004,10,31,2,59,59],
+          '2004032719:00:00','2004032803:00:00','2004103018:59:59','2004103102:59:59' ],
+        [ [2004,10,30,19,0,0],[2004,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2005,3,26,18,59,59],[2005,3,27,1,59,59],
+          '2004103019:00:00','2004103102:00:00','2005032618:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,19,0,0],[2005,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2005,10,29,18,59,59],[2005,10,30,2,59,59],
+          '2005032619:00:00','2005032703:00:00','2005102918:59:59','2005103002:59:59' ],
+        [ [2005,10,29,19,0,0],[2005,10,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2006,3,25,18,59,59],[2006,3,26,1,59,59],
+          '2005102919:00:00','2005103002:00:00','2006032518:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,19,0,0],[2006,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2006,10,28,18,59,59],[2006,10,29,2,59,59],
+          '2006032519:00:00','2006032603:00:00','2006102818:59:59','2006102902:59:59' ],
+        [ [2006,10,28,19,0,0],[2006,10,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2007,3,24,18,59,59],[2007,3,25,1,59,59],
+          '2006102819:00:00','2006102902:00:00','2007032418:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,19,0,0],[2007,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2007,10,27,18,59,59],[2007,10,28,2,59,59],
+          '2007032419:00:00','2007032503:00:00','2007102718:59:59','2007102802:59:59' ],
+        [ [2007,10,27,19,0,0],[2007,10,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2008,3,29,18,59,59],[2008,3,30,1,59,59],
+          '2007102719:00:00','2007102802:00:00','2008032918:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,19,0,0],[2008,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2008,10,25,18,59,59],[2008,10,26,2,59,59],
+          '2008032919:00:00','2008033003:00:00','2008102518:59:59','2008102602:59:59' ],
+        [ [2008,10,25,19,0,0],[2008,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2009,3,28,18,59,59],[2009,3,29,1,59,59],
+          '2008102519:00:00','2008102602:00:00','2009032818:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,19,0,0],[2009,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2009,10,24,18,59,59],[2009,10,25,2,59,59],
+          '2009032819:00:00','2009032903:00:00','2009102418:59:59','2009102502:59:59' ],
+        [ [2009,10,24,19,0,0],[2009,10,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2010,3,27,18,59,59],[2010,3,28,1,59,59],
+          '2009102419:00:00','2009102502:00:00','2010032718:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,19,0,0],[2010,3,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2010,10,30,19,59,59],[2010,10,31,2,59,59],
+          '2010032719:00:00','2010032802:00:00','2010103019:59:59','2010103102:59:59' ],
+        [ [2010,10,30,20,0,0],[2010,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2011,3,26,19,59,59],[2011,3,27,1,59,59],
+          '2010103020:00:00','2010103102:00:00','2011032619:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,20,0,0],[2011,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2011032620:00:00','2011032703:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asnovo01.pm b/lib/Date/Manip/TZ/asnovo01.pm
new file mode 100644
index 0000000..78d8ead
--- /dev/null
+++ b/lib/Date/Manip/TZ/asnovo01.pm
@@ -0,0 +1,349 @@
+package #
+Date::Manip::TZ::asnovo01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,31,40],'+05:31:40',[5,31,40],
+          'LMT',0,[1919,12,14,0,28,19],[1919,12,14,5,59,59],
+          '0001010200:00:00','0001010205:31:40','1919121400:28:19','1919121405:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,14,0,28,20],[1919,12,14,6,28,20],'+06:00:00',[6,0,0],
+          '+06',0,[1930,6,20,17,59,59],[1930,6,20,23,59,59],
+          '1919121400:28:20','1919121406:28:20','1930062017:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,18,0,0],[1930,6,21,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1981,3,31,16,59,59],[1981,3,31,23,59,59],
+          '1930062018:00:00','1930062101:00:00','1981033116:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,17,0,0],[1981,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1981,9,30,15,59,59],[1981,9,30,23,59,59],
+          '1981033117:00:00','1981040101:00:00','1981093015:59:59','1981093023:59:59' ],
+        [ [1981,9,30,16,0,0],[1981,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1982,3,31,16,59,59],[1982,3,31,23,59,59],
+          '1981093016:00:00','1981093023:00:00','1982033116:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,17,0,0],[1982,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1982,9,30,15,59,59],[1982,9,30,23,59,59],
+          '1982033117:00:00','1982040101:00:00','1982093015:59:59','1982093023:59:59' ],
+        [ [1982,9,30,16,0,0],[1982,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1982093016:00:00','1982093023:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,18,59,59],[1984,9,30,2,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092918:59:59','1984093002:59:59' ],
+        [ [1984,9,29,19,0,0],[1984,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,18,59,59],[1985,3,31,1,59,59],
+          '1984092919:00:00','1984093002:00:00','1985033018:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,19,0,0],[1985,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,18,59,59],[1985,9,29,2,59,59],
+          '1985033019:00:00','1985033103:00:00','1985092818:59:59','1985092902:59:59' ],
+        [ [1985,9,28,19,0,0],[1985,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,18,59,59],[1986,3,30,1,59,59],
+          '1985092819:00:00','1985092902:00:00','1986032918:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,19,0,0],[1986,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,18,59,59],[1986,9,28,2,59,59],
+          '1986032919:00:00','1986033003:00:00','1986092718:59:59','1986092802:59:59' ],
+        [ [1986,9,27,19,0,0],[1986,9,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,18,59,59],[1987,3,29,1,59,59],
+          '1986092719:00:00','1986092802:00:00','1987032818:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,19,0,0],[1987,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,18,59,59],[1987,9,27,2,59,59],
+          '1987032819:00:00','1987032903:00:00','1987092618:59:59','1987092702:59:59' ],
+        [ [1987,9,26,19,0,0],[1987,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,18,59,59],[1988,3,27,1,59,59],
+          '1987092619:00:00','1987092702:00:00','1988032618:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,19,0,0],[1988,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,18,59,59],[1988,9,25,2,59,59],
+          '1988032619:00:00','1988032703:00:00','1988092418:59:59','1988092502:59:59' ],
+        [ [1988,9,24,19,0,0],[1988,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,18,59,59],[1989,3,26,1,59,59],
+          '1988092419:00:00','1988092502:00:00','1989032518:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,19,0,0],[1989,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,18,59,59],[1989,9,24,2,59,59],
+          '1989032519:00:00','1989032603:00:00','1989092318:59:59','1989092402:59:59' ],
+        [ [1989,9,23,19,0,0],[1989,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,18,59,59],[1990,3,25,1,59,59],
+          '1989092319:00:00','1989092402:00:00','1990032418:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,19,0,0],[1990,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,18,59,59],[1990,9,30,2,59,59],
+          '1990032419:00:00','1990032503:00:00','1990092918:59:59','1990093002:59:59' ],
+        [ [1990,9,29,19,0,0],[1990,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,18,59,59],[1991,3,31,1,59,59],
+          '1990092919:00:00','1990093002:00:00','1991033018:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,19,0,0],[1991,3,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1991,9,28,19,59,59],[1991,9,29,2,59,59],
+          '1991033019:00:00','1991033102:00:00','1991092819:59:59','1991092902:59:59' ],
+        [ [1991,9,28,20,0,0],[1991,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,1,18,19,59,59],[1992,1,19,1,59,59],
+          '1991092820:00:00','1991092902:00:00','1992011819:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,20,0,0],[1992,1,19,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,18,59,59],[1992,3,29,1,59,59],
+          '1992011820:00:00','1992011903:00:00','1992032818:59:59','1992032901:59:59' ],
+        [ [1992,3,28,19,0,0],[1992,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,18,59,59],[1992,9,27,2,59,59],
+          '1992032819:00:00','1992032903:00:00','1992092618:59:59','1992092702:59:59' ],
+        [ [1992,9,26,19,0,0],[1992,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,18,59,59],[1993,3,28,1,59,59],
+          '1992092619:00:00','1992092702:00:00','1993032718:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,19,0,0],[1993,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,5,22,15,59,59],[1993,5,22,23,59,59],
+          '1993032719:00:00','1993032803:00:00','1993052215:59:59','1993052223:59:59' ],
+        [ [1993,5,22,16,0,0],[1993,5,22,23,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1993,9,25,19,59,59],[1993,9,26,2,59,59],
+          '1993052216:00:00','1993052223:00:00','1993092519:59:59','1993092602:59:59' ],
+        [ [1993,9,25,20,0,0],[1993,9,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1994,3,26,19,59,59],[1994,3,27,1,59,59],
+          '1993092520:00:00','1993092602:00:00','1994032619:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,20,0,0],[1994,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1994,9,24,19,59,59],[1994,9,25,2,59,59],
+          '1994032620:00:00','1994032703:00:00','1994092419:59:59','1994092502:59:59' ],
+        [ [1994,9,24,20,0,0],[1994,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1995,3,25,19,59,59],[1995,3,26,1,59,59],
+          '1994092420:00:00','1994092502:00:00','1995032519:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,20,0,0],[1995,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1995,9,23,19,59,59],[1995,9,24,2,59,59],
+          '1995032520:00:00','1995032603:00:00','1995092319:59:59','1995092402:59:59' ],
+        [ [1995,9,23,20,0,0],[1995,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1996,3,30,19,59,59],[1996,3,31,1,59,59],
+          '1995092320:00:00','1995092402:00:00','1996033019:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,20,0,0],[1996,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1996,10,26,19,59,59],[1996,10,27,2,59,59],
+          '1996033020:00:00','1996033103:00:00','1996102619:59:59','1996102702:59:59' ],
+        [ [1996,10,26,20,0,0],[1996,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1997,3,29,19,59,59],[1997,3,30,1,59,59],
+          '1996102620:00:00','1996102702:00:00','1997032919:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,20,0,0],[1997,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1997,10,25,19,59,59],[1997,10,26,2,59,59],
+          '1997032920:00:00','1997033003:00:00','1997102519:59:59','1997102602:59:59' ],
+        [ [1997,10,25,20,0,0],[1997,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1998,3,28,19,59,59],[1998,3,29,1,59,59],
+          '1997102520:00:00','1997102602:00:00','1998032819:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,20,0,0],[1998,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1998,10,24,19,59,59],[1998,10,25,2,59,59],
+          '1998032820:00:00','1998032903:00:00','1998102419:59:59','1998102502:59:59' ],
+        [ [1998,10,24,20,0,0],[1998,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1999,3,27,19,59,59],[1999,3,28,1,59,59],
+          '1998102420:00:00','1998102502:00:00','1999032719:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,20,0,0],[1999,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1999,10,30,19,59,59],[1999,10,31,2,59,59],
+          '1999032720:00:00','1999032803:00:00','1999103019:59:59','1999103102:59:59' ],
+        [ [1999,10,30,20,0,0],[1999,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2000,3,25,19,59,59],[2000,3,26,1,59,59],
+          '1999103020:00:00','1999103102:00:00','2000032519:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,20,0,0],[2000,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2000,10,28,19,59,59],[2000,10,29,2,59,59],
+          '2000032520:00:00','2000032603:00:00','2000102819:59:59','2000102902:59:59' ],
+        [ [2000,10,28,20,0,0],[2000,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2001,3,24,19,59,59],[2001,3,25,1,59,59],
+          '2000102820:00:00','2000102902:00:00','2001032419:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,20,0,0],[2001,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2001,10,27,19,59,59],[2001,10,28,2,59,59],
+          '2001032420:00:00','2001032503:00:00','2001102719:59:59','2001102802:59:59' ],
+        [ [2001,10,27,20,0,0],[2001,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2002,3,30,19,59,59],[2002,3,31,1,59,59],
+          '2001102720:00:00','2001102802:00:00','2002033019:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,20,0,0],[2002,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2002,10,26,19,59,59],[2002,10,27,2,59,59],
+          '2002033020:00:00','2002033103:00:00','2002102619:59:59','2002102702:59:59' ],
+        [ [2002,10,26,20,0,0],[2002,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2003,3,29,19,59,59],[2003,3,30,1,59,59],
+          '2002102620:00:00','2002102702:00:00','2003032919:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2003,10,25,19,59,59],[2003,10,26,2,59,59],
+          '2003032920:00:00','2003033003:00:00','2003102519:59:59','2003102602:59:59' ],
+        [ [2003,10,25,20,0,0],[2003,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2004,3,27,19,59,59],[2004,3,28,1,59,59],
+          '2003102520:00:00','2003102602:00:00','2004032719:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2004,10,30,19,59,59],[2004,10,31,2,59,59],
+          '2004032720:00:00','2004032803:00:00','2004103019:59:59','2004103102:59:59' ],
+        [ [2004,10,30,20,0,0],[2004,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2005,3,26,19,59,59],[2005,3,27,1,59,59],
+          '2004103020:00:00','2004103102:00:00','2005032619:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,20,0,0],[2005,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2005,10,29,19,59,59],[2005,10,30,2,59,59],
+          '2005032620:00:00','2005032703:00:00','2005102919:59:59','2005103002:59:59' ],
+        [ [2005,10,29,20,0,0],[2005,10,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2006,3,25,19,59,59],[2006,3,26,1,59,59],
+          '2005102920:00:00','2005103002:00:00','2006032519:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,20,0,0],[2006,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2006,10,28,19,59,59],[2006,10,29,2,59,59],
+          '2006032520:00:00','2006032603:00:00','2006102819:59:59','2006102902:59:59' ],
+        [ [2006,10,28,20,0,0],[2006,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2007,3,24,19,59,59],[2007,3,25,1,59,59],
+          '2006102820:00:00','2006102902:00:00','2007032419:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,20,0,0],[2007,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2007,10,27,19,59,59],[2007,10,28,2,59,59],
+          '2007032420:00:00','2007032503:00:00','2007102719:59:59','2007102802:59:59' ],
+        [ [2007,10,27,20,0,0],[2007,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2008,3,29,19,59,59],[2008,3,30,1,59,59],
+          '2007102720:00:00','2007102802:00:00','2008032919:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,20,0,0],[2008,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2008,10,25,19,59,59],[2008,10,26,2,59,59],
+          '2008032920:00:00','2008033003:00:00','2008102519:59:59','2008102602:59:59' ],
+        [ [2008,10,25,20,0,0],[2008,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,3,28,19,59,59],[2009,3,29,1,59,59],
+          '2008102520:00:00','2008102602:00:00','2009032819:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,20,0,0],[2009,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2009,10,24,19,59,59],[2009,10,25,2,59,59],
+          '2009032820:00:00','2009032903:00:00','2009102419:59:59','2009102502:59:59' ],
+        [ [2009,10,24,20,0,0],[2009,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2010,3,27,19,59,59],[2010,3,28,1,59,59],
+          '2009102420:00:00','2009102502:00:00','2010032719:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,20,0,0],[2010,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2010,10,30,19,59,59],[2010,10,31,2,59,59],
+          '2010032720:00:00','2010032803:00:00','2010103019:59:59','2010103102:59:59' ],
+        [ [2010,10,30,20,0,0],[2010,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2011,3,26,19,59,59],[2011,3,27,1,59,59],
+          '2010103020:00:00','2010103102:00:00','2011032619:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,20,0,0],[2011,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2014,10,25,18,59,59],[2014,10,26,1,59,59],
+          '2011032620:00:00','2011032703:00:00','2014102518:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,19,0,0],[2014,10,26,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2016,7,23,19,59,59],[2016,7,24,1,59,59],
+          '2014102519:00:00','2014102601:00:00','2016072319:59:59','2016072401:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,7,23,20,0,0],[2016,7,24,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2016072320:00:00','2016072403:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asomsk00.pm b/lib/Date/Manip/TZ/asomsk00.pm
new file mode 100644
index 0000000..46e3685
--- /dev/null
+++ b/lib/Date/Manip/TZ/asomsk00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::asomsk00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,53,30],'+04:53:30',[4,53,30],
+          'LMT',0,[1919,11,13,19,6,29],[1919,11,13,23,59,59],
+          '0001010200:00:00','0001010204:53:30','1919111319:06:29','1919111323:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,11,13,19,6,30],[1919,11,14,0,6,30],'+05:00:00',[5,0,0],
+          '+05',0,[1930,6,20,18,59,59],[1930,6,20,23,59,59],
+          '1919111319:06:30','1919111400:06:30','1930062018:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,19,0,0],[1930,6,21,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1981,3,31,17,59,59],[1981,3,31,23,59,59],
+          '1930062019:00:00','1930062101:00:00','1981033117:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,18,0,0],[1981,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1981,9,30,16,59,59],[1981,9,30,23,59,59],
+          '1981033118:00:00','1981040101:00:00','1981093016:59:59','1981093023:59:59' ],
+        [ [1981,9,30,17,0,0],[1981,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093017:00:00','1981093023:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1982,9,30,16,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040101:00:00','1982093016:59:59','1982093023:59:59' ],
+        [ [1982,9,30,17,0,0],[1982,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1983,3,31,17,59,59],[1983,3,31,23,59,59],
+          '1982093017:00:00','1982093023:00:00','1983033117:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,18,0,0],[1983,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1983,9,30,16,59,59],[1983,9,30,23,59,59],
+          '1983033118:00:00','1983040101:00:00','1983093016:59:59','1983093023:59:59' ],
+        [ [1983,9,30,17,0,0],[1983,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1984,3,31,17,59,59],[1984,3,31,23,59,59],
+          '1983093017:00:00','1983093023:00:00','1984033117:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,18,0,0],[1984,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1984,9,29,19,59,59],[1984,9,30,2,59,59],
+          '1984033118:00:00','1984040101:00:00','1984092919:59:59','1984093002:59:59' ],
+        [ [1984,9,29,20,0,0],[1984,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1985,3,30,19,59,59],[1985,3,31,1,59,59],
+          '1984092920:00:00','1984093002:00:00','1985033019:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,20,0,0],[1985,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1985,9,28,19,59,59],[1985,9,29,2,59,59],
+          '1985033020:00:00','1985033103:00:00','1985092819:59:59','1985092902:59:59' ],
+        [ [1985,9,28,20,0,0],[1985,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1986,3,29,19,59,59],[1986,3,30,1,59,59],
+          '1985092820:00:00','1985092902:00:00','1986032919:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,20,0,0],[1986,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1986,9,27,19,59,59],[1986,9,28,2,59,59],
+          '1986032920:00:00','1986033003:00:00','1986092719:59:59','1986092802:59:59' ],
+        [ [1986,9,27,20,0,0],[1986,9,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1987,3,28,19,59,59],[1987,3,29,1,59,59],
+          '1986092720:00:00','1986092802:00:00','1987032819:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,20,0,0],[1987,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1987,9,26,19,59,59],[1987,9,27,2,59,59],
+          '1987032820:00:00','1987032903:00:00','1987092619:59:59','1987092702:59:59' ],
+        [ [1987,9,26,20,0,0],[1987,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1988,3,26,19,59,59],[1988,3,27,1,59,59],
+          '1987092620:00:00','1987092702:00:00','1988032619:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,20,0,0],[1988,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1988,9,24,19,59,59],[1988,9,25,2,59,59],
+          '1988032620:00:00','1988032703:00:00','1988092419:59:59','1988092502:59:59' ],
+        [ [1988,9,24,20,0,0],[1988,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1989,3,25,19,59,59],[1989,3,26,1,59,59],
+          '1988092420:00:00','1988092502:00:00','1989032519:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,20,0,0],[1989,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1989,9,23,19,59,59],[1989,9,24,2,59,59],
+          '1989032520:00:00','1989032603:00:00','1989092319:59:59','1989092402:59:59' ],
+        [ [1989,9,23,20,0,0],[1989,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1990,3,24,19,59,59],[1990,3,25,1,59,59],
+          '1989092320:00:00','1989092402:00:00','1990032419:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,20,0,0],[1990,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1990,9,29,19,59,59],[1990,9,30,2,59,59],
+          '1990032420:00:00','1990032503:00:00','1990092919:59:59','1990093002:59:59' ],
+        [ [1990,9,29,20,0,0],[1990,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1991,3,30,19,59,59],[1991,3,31,1,59,59],
+          '1990092920:00:00','1990093002:00:00','1991033019:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,20,0,0],[1991,3,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,9,28,20,59,59],[1991,9,29,2,59,59],
+          '1991033020:00:00','1991033102:00:00','1991092820:59:59','1991092902:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,1,18,20,59,59],[1992,1,19,1,59,59],
+          '1991092821:00:00','1991092902:00:00','1992011820:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,21,0,0],[1992,1,19,3,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,3,28,19,59,59],[1992,3,29,1,59,59],
+          '1992011821:00:00','1992011903:00:00','1992032819:59:59','1992032901:59:59' ],
+        [ [1992,3,28,20,0,0],[1992,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1992,9,26,19,59,59],[1992,9,27,2,59,59],
+          '1992032820:00:00','1992032903:00:00','1992092619:59:59','1992092702:59:59' ],
+        [ [1992,9,26,20,0,0],[1992,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1993,3,27,19,59,59],[1993,3,28,1,59,59],
+          '1992092620:00:00','1992092702:00:00','1993032719:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,20,0,0],[1993,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1993,9,25,19,59,59],[1993,9,26,2,59,59],
+          '1993032720:00:00','1993032803:00:00','1993092519:59:59','1993092602:59:59' ],
+        [ [1993,9,25,20,0,0],[1993,9,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1994,3,26,19,59,59],[1994,3,27,1,59,59],
+          '1993092520:00:00','1993092602:00:00','1994032619:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,20,0,0],[1994,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1994,9,24,19,59,59],[1994,9,25,2,59,59],
+          '1994032620:00:00','1994032703:00:00','1994092419:59:59','1994092502:59:59' ],
+        [ [1994,9,24,20,0,0],[1994,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1995,3,25,19,59,59],[1995,3,26,1,59,59],
+          '1994092420:00:00','1994092502:00:00','1995032519:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,20,0,0],[1995,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1995,9,23,19,59,59],[1995,9,24,2,59,59],
+          '1995032520:00:00','1995032603:00:00','1995092319:59:59','1995092402:59:59' ],
+        [ [1995,9,23,20,0,0],[1995,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1996,3,30,19,59,59],[1996,3,31,1,59,59],
+          '1995092320:00:00','1995092402:00:00','1996033019:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,20,0,0],[1996,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1996,10,26,19,59,59],[1996,10,27,2,59,59],
+          '1996033020:00:00','1996033103:00:00','1996102619:59:59','1996102702:59:59' ],
+        [ [1996,10,26,20,0,0],[1996,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1997,3,29,19,59,59],[1997,3,30,1,59,59],
+          '1996102620:00:00','1996102702:00:00','1997032919:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,20,0,0],[1997,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1997,10,25,19,59,59],[1997,10,26,2,59,59],
+          '1997032920:00:00','1997033003:00:00','1997102519:59:59','1997102602:59:59' ],
+        [ [1997,10,25,20,0,0],[1997,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1998,3,28,19,59,59],[1998,3,29,1,59,59],
+          '1997102520:00:00','1997102602:00:00','1998032819:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,20,0,0],[1998,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1998,10,24,19,59,59],[1998,10,25,2,59,59],
+          '1998032820:00:00','1998032903:00:00','1998102419:59:59','1998102502:59:59' ],
+        [ [1998,10,24,20,0,0],[1998,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1999,3,27,19,59,59],[1999,3,28,1,59,59],
+          '1998102420:00:00','1998102502:00:00','1999032719:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,20,0,0],[1999,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1999,10,30,19,59,59],[1999,10,31,2,59,59],
+          '1999032720:00:00','1999032803:00:00','1999103019:59:59','1999103102:59:59' ],
+        [ [1999,10,30,20,0,0],[1999,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2000,3,25,19,59,59],[2000,3,26,1,59,59],
+          '1999103020:00:00','1999103102:00:00','2000032519:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,20,0,0],[2000,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2000,10,28,19,59,59],[2000,10,29,2,59,59],
+          '2000032520:00:00','2000032603:00:00','2000102819:59:59','2000102902:59:59' ],
+        [ [2000,10,28,20,0,0],[2000,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2001,3,24,19,59,59],[2001,3,25,1,59,59],
+          '2000102820:00:00','2000102902:00:00','2001032419:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,20,0,0],[2001,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2001,10,27,19,59,59],[2001,10,28,2,59,59],
+          '2001032420:00:00','2001032503:00:00','2001102719:59:59','2001102802:59:59' ],
+        [ [2001,10,27,20,0,0],[2001,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2002,3,30,19,59,59],[2002,3,31,1,59,59],
+          '2001102720:00:00','2001102802:00:00','2002033019:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,20,0,0],[2002,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2002,10,26,19,59,59],[2002,10,27,2,59,59],
+          '2002033020:00:00','2002033103:00:00','2002102619:59:59','2002102702:59:59' ],
+        [ [2002,10,26,20,0,0],[2002,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2003,3,29,19,59,59],[2003,3,30,1,59,59],
+          '2002102620:00:00','2002102702:00:00','2003032919:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2003,10,25,19,59,59],[2003,10,26,2,59,59],
+          '2003032920:00:00','2003033003:00:00','2003102519:59:59','2003102602:59:59' ],
+        [ [2003,10,25,20,0,0],[2003,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2004,3,27,19,59,59],[2004,3,28,1,59,59],
+          '2003102520:00:00','2003102602:00:00','2004032719:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2004,10,30,19,59,59],[2004,10,31,2,59,59],
+          '2004032720:00:00','2004032803:00:00','2004103019:59:59','2004103102:59:59' ],
+        [ [2004,10,30,20,0,0],[2004,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2005,3,26,19,59,59],[2005,3,27,1,59,59],
+          '2004103020:00:00','2004103102:00:00','2005032619:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,20,0,0],[2005,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2005,10,29,19,59,59],[2005,10,30,2,59,59],
+          '2005032620:00:00','2005032703:00:00','2005102919:59:59','2005103002:59:59' ],
+        [ [2005,10,29,20,0,0],[2005,10,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2006,3,25,19,59,59],[2006,3,26,1,59,59],
+          '2005102920:00:00','2005103002:00:00','2006032519:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,20,0,0],[2006,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2006,10,28,19,59,59],[2006,10,29,2,59,59],
+          '2006032520:00:00','2006032603:00:00','2006102819:59:59','2006102902:59:59' ],
+        [ [2006,10,28,20,0,0],[2006,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2007,3,24,19,59,59],[2007,3,25,1,59,59],
+          '2006102820:00:00','2006102902:00:00','2007032419:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,20,0,0],[2007,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2007,10,27,19,59,59],[2007,10,28,2,59,59],
+          '2007032420:00:00','2007032503:00:00','2007102719:59:59','2007102802:59:59' ],
+        [ [2007,10,27,20,0,0],[2007,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2008,3,29,19,59,59],[2008,3,30,1,59,59],
+          '2007102720:00:00','2007102802:00:00','2008032919:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,20,0,0],[2008,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2008,10,25,19,59,59],[2008,10,26,2,59,59],
+          '2008032920:00:00','2008033003:00:00','2008102519:59:59','2008102602:59:59' ],
+        [ [2008,10,25,20,0,0],[2008,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,3,28,19,59,59],[2009,3,29,1,59,59],
+          '2008102520:00:00','2008102602:00:00','2009032819:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,20,0,0],[2009,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2009,10,24,19,59,59],[2009,10,25,2,59,59],
+          '2009032820:00:00','2009032903:00:00','2009102419:59:59','2009102502:59:59' ],
+        [ [2009,10,24,20,0,0],[2009,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2010,3,27,19,59,59],[2010,3,28,1,59,59],
+          '2009102420:00:00','2009102502:00:00','2010032719:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,20,0,0],[2010,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2010,10,30,19,59,59],[2010,10,31,2,59,59],
+          '2010032720:00:00','2010032803:00:00','2010103019:59:59','2010103102:59:59' ],
+        [ [2010,10,30,20,0,0],[2010,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2011,3,26,19,59,59],[2011,3,27,1,59,59],
+          '2010103020:00:00','2010103102:00:00','2011032619:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,20,0,0],[2011,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2014,10,25,18,59,59],[2014,10,26,1,59,59],
+          '2011032620:00:00','2011032703:00:00','2014102518:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,19,0,0],[2014,10,26,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '2014102519:00:00','2014102601:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asoral00.pm b/lib/Date/Manip/TZ/asoral00.pm
new file mode 100644
index 0000000..a38e34f
--- /dev/null
+++ b/lib/Date/Manip/TZ/asoral00.pm
@@ -0,0 +1,274 @@
+package #
+Date::Manip::TZ::asoral00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,25,24],'+03:25:24',[3,25,24],
+          'LMT',0,[1924,5,1,20,34,35],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010203:25:24','1924050120:34:35','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,20,34,36],[1924,5,1,23,34,36],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1924050120:34:36','1924050123:34:36','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062102:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,10,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981100100:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1989,9,23,21,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032602:00:00','1989092321:59:59','1989092402:59:59' ],
+        [ [1989,9,23,22,0,0],[1989,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1990,3,24,21,59,59],[1990,3,25,1,59,59],
+          '1989092322:00:00','1989092402:00:00','1990032421:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1990,9,29,21,59,59],[1990,9,30,2,59,59],
+          '1990032422:00:00','1990032503:00:00','1990092921:59:59','1990093002:59:59' ],
+        [ [1990,9,29,22,0,0],[1990,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1991,3,30,21,59,59],[1991,3,31,1,59,59],
+          '1990092922:00:00','1990093002:00:00','1991033021:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033022:00:00','1991033103:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,3,28,20,59,59],[1992,3,29,1,59,59],
+          '1992011822:00:00','1992011903:00:00','1992032820:59:59','1992032901:59:59' ],
+        [ [1992,3,28,21,0,0],[1992,3,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1992,9,26,21,59,59],[1992,9,27,2,59,59],
+          '1992032821:00:00','1992032902:00:00','1992092621:59:59','1992092702:59:59' ],
+        [ [1992,9,26,22,0,0],[1992,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1993,3,27,21,59,59],[1993,3,28,1,59,59],
+          '1992092622:00:00','1992092702:00:00','1993032721:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1993,9,25,21,59,59],[1993,9,26,2,59,59],
+          '1993032722:00:00','1993032803:00:00','1993092521:59:59','1993092602:59:59' ],
+        [ [1993,9,25,22,0,0],[1993,9,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1994,3,26,21,59,59],[1994,3,27,1,59,59],
+          '1993092522:00:00','1993092602:00:00','1994032621:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1994,9,24,21,59,59],[1994,9,25,2,59,59],
+          '1994032622:00:00','1994032703:00:00','1994092421:59:59','1994092502:59:59' ],
+        [ [1994,9,24,22,0,0],[1994,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1995,3,25,21,59,59],[1995,3,26,1,59,59],
+          '1994092422:00:00','1994092502:00:00','1995032521:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1995,9,23,21,59,59],[1995,9,24,2,59,59],
+          '1995032522:00:00','1995032603:00:00','1995092321:59:59','1995092402:59:59' ],
+        [ [1995,9,23,22,0,0],[1995,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1996,3,30,21,59,59],[1996,3,31,1,59,59],
+          '1995092322:00:00','1995092402:00:00','1996033021:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1996,10,26,21,59,59],[1996,10,27,2,59,59],
+          '1996033022:00:00','1996033103:00:00','1996102621:59:59','1996102702:59:59' ],
+        [ [1996,10,26,22,0,0],[1996,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1997,3,29,21,59,59],[1997,3,30,1,59,59],
+          '1996102622:00:00','1996102702:00:00','1997032921:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,21,59,59],[1997,10,26,2,59,59],
+          '1997032922:00:00','1997033003:00:00','1997102521:59:59','1997102602:59:59' ],
+        [ [1997,10,25,22,0,0],[1997,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,21,59,59],[1998,3,29,1,59,59],
+          '1997102522:00:00','1997102602:00:00','1998032821:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,21,59,59],[1998,10,25,2,59,59],
+          '1998032822:00:00','1998032903:00:00','1998102421:59:59','1998102502:59:59' ],
+        [ [1998,10,24,22,0,0],[1998,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,21,59,59],[1999,3,28,1,59,59],
+          '1998102422:00:00','1998102502:00:00','1999032721:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,22,0,0],[1999,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,21,59,59],[1999,10,31,2,59,59],
+          '1999032722:00:00','1999032803:00:00','1999103021:59:59','1999103102:59:59' ],
+        [ [1999,10,30,22,0,0],[1999,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,21,59,59],[2000,3,26,1,59,59],
+          '1999103022:00:00','1999103102:00:00','2000032521:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,21,59,59],[2000,10,29,2,59,59],
+          '2000032522:00:00','2000032603:00:00','2000102821:59:59','2000102902:59:59' ],
+        [ [2000,10,28,22,0,0],[2000,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,21,59,59],[2001,3,25,1,59,59],
+          '2000102822:00:00','2000102902:00:00','2001032421:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,21,59,59],[2001,10,28,2,59,59],
+          '2001032422:00:00','2001032503:00:00','2001102721:59:59','2001102802:59:59' ],
+        [ [2001,10,27,22,0,0],[2001,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,21,59,59],[2002,3,31,1,59,59],
+          '2001102722:00:00','2001102802:00:00','2002033021:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,21,59,59],[2002,10,27,2,59,59],
+          '2002033022:00:00','2002033103:00:00','2002102621:59:59','2002102702:59:59' ],
+        [ [2002,10,26,22,0,0],[2002,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,21,59,59],[2003,3,30,1,59,59],
+          '2002102622:00:00','2002102702:00:00','2003032921:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,21,59,59],[2003,10,26,2,59,59],
+          '2003032922:00:00','2003033003:00:00','2003102521:59:59','2003102602:59:59' ],
+        [ [2003,10,25,22,0,0],[2003,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,21,59,59],[2004,3,28,1,59,59],
+          '2003102522:00:00','2003102602:00:00','2004032721:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,21,59,59],[2004,10,31,2,59,59],
+          '2004032722:00:00','2004032803:00:00','2004103021:59:59','2004103102:59:59' ],
+        [ [2004,10,30,22,0,0],[2004,10,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2004103022:00:00','2004103103:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aspont00.pm b/lib/Date/Manip/TZ/aspont00.pm
new file mode 100644
index 0000000..13df12e
--- /dev/null
+++ b/lib/Date/Manip/TZ/aspont00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::aspont00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,17,20],'+07:17:20',[7,17,20],
+          'LMT',0,[1908,4,30,16,42,39],[1908,4,30,23,59,59],
+          '0001010200:00:00','0001010207:17:20','1908043016:42:39','1908043023:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,4,30,16,42,40],[1908,5,1,0,0,0],'+07:17:20',[7,17,20],
+          'PMT',0,[1932,10,31,16,42,39],[1932,10,31,23,59,59],
+          '1908043016:42:40','1908050100:00:00','1932103116:42:39','1932103123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,10,31,16,42,40],[1932,11,1,0,12,40],'+07:30:00',[7,30,0],
+          '+0730',0,[1942,1,28,16,29,59],[1942,1,28,23,59,59],
+          '1932103116:42:40','1932110100:12:40','1942012816:29:59','1942012823:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,1,28,16,30,0],[1942,1,29,1,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,22,14,59,59],[1945,9,22,23,59,59],
+          '1942012816:30:00','1942012901:30:00','1945092214:59:59','1945092223:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,22,15,0,0],[1945,9,22,22,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1948,4,30,16,29,59],[1948,4,30,23,59,59],
+          '1945092215:00:00','1945092222:30:00','1948043016:29:59','1948043023:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,30,16,30,0],[1948,5,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[1950,4,30,15,59,59],[1950,4,30,23,59,59],
+          '1948043016:30:00','1948050100:30:00','1950043015:59:59','1950043023:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,16,0,0],[1950,4,30,23,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1963,12,31,16,29,59],[1963,12,31,23,59,59],
+          '1950043016:00:00','1950043023:30:00','1963123116:29:59','1963123123:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,12,31,16,30,0],[1964,1,1,0,30,0],'+08:00:00',[8,0,0],
+          'WITA',0,[1987,12,31,15,59,59],[1987,12,31,23,59,59],
+          '1963123116:30:00','1964010100:30:00','1987123115:59:59','1987123123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,12,31,16,0,0],[1987,12,31,23,0,0],'+07:00:00',[7,0,0],
+          'WIB',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '1987123116:00:00','1987123123:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aspyon00.pm b/lib/Date/Manip/TZ/aspyon00.pm
new file mode 100644
index 0000000..b63e793
--- /dev/null
+++ b/lib/Date/Manip/TZ/aspyon00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::aspyon00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,23,0],'+08:23:00',[8,23,0],
+          'LMT',0,[1908,3,31,15,36,59],[1908,3,31,23,59,59],
+          '0001010200:00:00','0001010208:23:00','1908033115:36:59','1908033123:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,3,31,15,37,0],[1908,4,1,0,7,0],'+08:30:00',[8,30,0],
+          'KST',0,[1911,12,31,15,29,59],[1911,12,31,23,59,59],
+          '1908033115:37:00','1908040100:07:00','1911123115:29:59','1911123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,12,31,15,30,0],[1912,1,1,0,30,0],'+09:00:00',[9,0,0],
+          'JST',0,[1945,8,23,14,59,59],[1945,8,23,23,59,59],
+          '1911123115:30:00','1912010100:30:00','1945082314:59:59','1945082323:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,23,15,0,0],[1945,8,24,0,0,0],'+09:00:00',[9,0,0],
+          'KST',0,[2015,8,14,14,59,59],[2015,8,14,23,59,59],
+          '1945082315:00:00','1945082400:00:00','2015081414:59:59','2015081423:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,8,14,15,0,0],[2015,8,14,23,30,0],'+08:30:00',[8,30,0],
+          'KST',0,[9999,12,31,0,0,0],[9999,12,31,8,30,0],
+          '2015081415:00:00','2015081423:30:00','9999123100:00:00','9999123108:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asqata00.pm b/lib/Date/Manip/TZ/asqata00.pm
new file mode 100644
index 0000000..5dd47f0
--- /dev/null
+++ b/lib/Date/Manip/TZ/asqata00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::asqata00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,26,8],'+03:26:08',[3,26,8],
+          'LMT',0,[1919,12,31,20,33,51],[1919,12,31,23,59,59],
+          '0001010200:00:00','0001010203:26:08','1919123120:33:51','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,20,33,52],[1920,1,1,0,33,52],'+04:00:00',[4,0,0],
+          '+04',0,[1972,5,31,19,59,59],[1972,5,31,23,59,59],
+          '1919123120:33:52','1920010100:33:52','1972053119:59:59','1972053123:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,5,31,20,0,0],[1972,5,31,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '1972053120:00:00','1972053123:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asqyzy00.pm b/lib/Date/Manip/TZ/asqyzy00.pm
new file mode 100644
index 0000000..0fe2a6c
--- /dev/null
+++ b/lib/Date/Manip/TZ/asqyzy00.pm
@@ -0,0 +1,274 @@
+package #
+Date::Manip::TZ::asqyzy00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,21,52],'+04:21:52',[4,21,52],
+          'LMT',0,[1924,5,1,19,38,7],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010204:21:52','1924050119:38:07','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,19,38,8],[1924,5,1,23,38,8],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1924050119:38:08','1924050123:38:08','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,10,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981100100:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,1,18,20,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092903:00:00','1992011820:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,21,0,0],[1992,1,19,3,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,3,28,19,59,59],[1992,3,29,1,59,59],
+          '1992011821:00:00','1992011903:00:00','1992032819:59:59','1992032901:59:59' ],
+        [ [1992,3,28,20,0,0],[1992,3,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,20,59,59],[1992,9,27,2,59,59],
+          '1992032820:00:00','1992032902:00:00','1992092620:59:59','1992092702:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,3,27,20,59,59],[1993,3,28,1,59,59],
+          '1992092621:00:00','1992092702:00:00','1993032720:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,20,59,59],[1993,9,26,2,59,59],
+          '1993032721:00:00','1993032803:00:00','1993092520:59:59','1993092602:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,3,26,20,59,59],[1994,3,27,1,59,59],
+          '1993092521:00:00','1993092602:00:00','1994032620:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,20,59,59],[1994,9,25,2,59,59],
+          '1994032621:00:00','1994032703:00:00','1994092420:59:59','1994092502:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1995,3,25,20,59,59],[1995,3,26,1,59,59],
+          '1994092421:00:00','1994092502:00:00','1995032520:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,21,0,0],[1995,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1995,9,23,20,59,59],[1995,9,24,2,59,59],
+          '1995032521:00:00','1995032603:00:00','1995092320:59:59','1995092402:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1996,3,30,20,59,59],[1996,3,31,1,59,59],
+          '1995092321:00:00','1995092402:00:00','1996033020:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,21,0,0],[1996,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1996,10,26,20,59,59],[1996,10,27,2,59,59],
+          '1996033021:00:00','1996033103:00:00','1996102620:59:59','1996102702:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1997,3,29,20,59,59],[1997,3,30,1,59,59],
+          '1996102621:00:00','1996102702:00:00','1997032920:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,21,0,0],[1997,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1997,10,25,20,59,59],[1997,10,26,2,59,59],
+          '1997032921:00:00','1997033003:00:00','1997102520:59:59','1997102602:59:59' ],
+        [ [1997,10,25,21,0,0],[1997,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1998,3,28,20,59,59],[1998,3,29,1,59,59],
+          '1997102521:00:00','1997102602:00:00','1998032820:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,21,0,0],[1998,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1998,10,24,20,59,59],[1998,10,25,2,59,59],
+          '1998032821:00:00','1998032903:00:00','1998102420:59:59','1998102502:59:59' ],
+        [ [1998,10,24,21,0,0],[1998,10,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1999,3,27,20,59,59],[1999,3,28,1,59,59],
+          '1998102421:00:00','1998102502:00:00','1999032720:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,21,0,0],[1999,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1999,10,30,20,59,59],[1999,10,31,2,59,59],
+          '1999032721:00:00','1999032803:00:00','1999103020:59:59','1999103102:59:59' ],
+        [ [1999,10,30,21,0,0],[1999,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2000,3,25,20,59,59],[2000,3,26,1,59,59],
+          '1999103021:00:00','1999103102:00:00','2000032520:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,21,0,0],[2000,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2000,10,28,20,59,59],[2000,10,29,2,59,59],
+          '2000032521:00:00','2000032603:00:00','2000102820:59:59','2000102902:59:59' ],
+        [ [2000,10,28,21,0,0],[2000,10,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2001,3,24,20,59,59],[2001,3,25,1,59,59],
+          '2000102821:00:00','2000102902:00:00','2001032420:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,21,0,0],[2001,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2001,10,27,20,59,59],[2001,10,28,2,59,59],
+          '2001032421:00:00','2001032503:00:00','2001102720:59:59','2001102802:59:59' ],
+        [ [2001,10,27,21,0,0],[2001,10,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2002,3,30,20,59,59],[2002,3,31,1,59,59],
+          '2001102721:00:00','2001102802:00:00','2002033020:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,21,0,0],[2002,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2002,10,26,20,59,59],[2002,10,27,2,59,59],
+          '2002033021:00:00','2002033103:00:00','2002102620:59:59','2002102702:59:59' ],
+        [ [2002,10,26,21,0,0],[2002,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2003,3,29,20,59,59],[2003,3,30,1,59,59],
+          '2002102621:00:00','2002102702:00:00','2003032920:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,21,0,0],[2003,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2003,10,25,20,59,59],[2003,10,26,2,59,59],
+          '2003032921:00:00','2003033003:00:00','2003102520:59:59','2003102602:59:59' ],
+        [ [2003,10,25,21,0,0],[2003,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2004,3,27,20,59,59],[2004,3,28,1,59,59],
+          '2003102521:00:00','2003102602:00:00','2004032720:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,21,0,0],[2004,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2004,10,30,20,59,59],[2004,10,31,2,59,59],
+          '2004032721:00:00','2004032803:00:00','2004103020:59:59','2004103102:59:59' ],
+        [ [2004,10,30,21,0,0],[2004,10,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '2004103021:00:00','2004103103:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asriya00.pm b/lib/Date/Manip/TZ/asriya00.pm
new file mode 100644
index 0000000..c9539c5
--- /dev/null
+++ b/lib/Date/Manip/TZ/asriya00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::asriya00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,6,52],'+03:06:52',[3,6,52],
+          'LMT',0,[1947,3,13,20,53,7],[1947,3,13,23,59,59],
+          '0001010200:00:00','0001010203:06:52','1947031320:53:07','1947031323:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,13,20,53,8],[1947,3,13,23,53,8],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '1947031320:53:08','1947031323:53:08','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/assakh00.pm b/lib/Date/Manip/TZ/assakh00.pm
new file mode 100644
index 0000000..187727c
--- /dev/null
+++ b/lib/Date/Manip/TZ/assakh00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::assakh00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,30,48],'+09:30:48',[9,30,48],
+          'LMT',0,[1905,8,22,14,29,11],[1905,8,22,23,59,59],
+          '0001010200:00:00','0001010209:30:48','1905082214:29:11','1905082223:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,8,22,14,29,12],[1905,8,22,23,29,12],'+09:00:00',[9,0,0],
+          '+09',0,[1945,8,24,14,59,59],[1945,8,24,23,59,59],
+          '1905082214:29:12','1905082223:29:12','1945082414:59:59','1945082423:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,24,15,0,0],[1945,8,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1981,3,31,12,59,59],[1981,3,31,23,59,59],
+          '1945082415:00:00','1945082502:00:00','1981033112:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,13,0,0],[1981,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1981,9,30,11,59,59],[1981,9,30,23,59,59],
+          '1981033113:00:00','1981040101:00:00','1981093011:59:59','1981093023:59:59' ],
+        [ [1981,9,30,12,0,0],[1981,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1982,3,31,12,59,59],[1982,3,31,23,59,59],
+          '1981093012:00:00','1981093023:00:00','1982033112:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,13,0,0],[1982,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1982,9,30,11,59,59],[1982,9,30,23,59,59],
+          '1982033113:00:00','1982040101:00:00','1982093011:59:59','1982093023:59:59' ],
+        [ [1982,9,30,12,0,0],[1982,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1983,3,31,12,59,59],[1983,3,31,23,59,59],
+          '1982093012:00:00','1982093023:00:00','1983033112:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,13,0,0],[1983,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1983,9,30,11,59,59],[1983,9,30,23,59,59],
+          '1983033113:00:00','1983040101:00:00','1983093011:59:59','1983093023:59:59' ],
+        [ [1983,9,30,12,0,0],[1983,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1984,3,31,12,59,59],[1984,3,31,23,59,59],
+          '1983093012:00:00','1983093023:00:00','1984033112:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,13,0,0],[1984,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1984,9,29,14,59,59],[1984,9,30,2,59,59],
+          '1984033113:00:00','1984040101:00:00','1984092914:59:59','1984093002:59:59' ],
+        [ [1984,9,29,15,0,0],[1984,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1985,3,30,14,59,59],[1985,3,31,1,59,59],
+          '1984092915:00:00','1984093002:00:00','1985033014:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,15,0,0],[1985,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1985,9,28,14,59,59],[1985,9,29,2,59,59],
+          '1985033015:00:00','1985033103:00:00','1985092814:59:59','1985092902:59:59' ],
+        [ [1985,9,28,15,0,0],[1985,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1986,3,29,14,59,59],[1986,3,30,1,59,59],
+          '1985092815:00:00','1985092902:00:00','1986032914:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,15,0,0],[1986,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1986,9,27,14,59,59],[1986,9,28,2,59,59],
+          '1986032915:00:00','1986033003:00:00','1986092714:59:59','1986092802:59:59' ],
+        [ [1986,9,27,15,0,0],[1986,9,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1987,3,28,14,59,59],[1987,3,29,1,59,59],
+          '1986092715:00:00','1986092802:00:00','1987032814:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,15,0,0],[1987,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1987,9,26,14,59,59],[1987,9,27,2,59,59],
+          '1987032815:00:00','1987032903:00:00','1987092614:59:59','1987092702:59:59' ],
+        [ [1987,9,26,15,0,0],[1987,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1988,3,26,14,59,59],[1988,3,27,1,59,59],
+          '1987092615:00:00','1987092702:00:00','1988032614:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,15,0,0],[1988,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1988,9,24,14,59,59],[1988,9,25,2,59,59],
+          '1988032615:00:00','1988032703:00:00','1988092414:59:59','1988092502:59:59' ],
+        [ [1988,9,24,15,0,0],[1988,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1989,3,25,14,59,59],[1989,3,26,1,59,59],
+          '1988092415:00:00','1988092502:00:00','1989032514:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,15,0,0],[1989,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1989,9,23,14,59,59],[1989,9,24,2,59,59],
+          '1989032515:00:00','1989032603:00:00','1989092314:59:59','1989092402:59:59' ],
+        [ [1989,9,23,15,0,0],[1989,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1990,3,24,14,59,59],[1990,3,25,1,59,59],
+          '1989092315:00:00','1989092402:00:00','1990032414:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,15,0,0],[1990,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1990,9,29,14,59,59],[1990,9,30,2,59,59],
+          '1990032415:00:00','1990032503:00:00','1990092914:59:59','1990093002:59:59' ],
+        [ [1990,9,29,15,0,0],[1990,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1991,3,30,14,59,59],[1991,3,31,1,59,59],
+          '1990092915:00:00','1990093002:00:00','1991033014:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,15,0,0],[1991,3,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1991,9,28,15,59,59],[1991,9,29,2,59,59],
+          '1991033015:00:00','1991033102:00:00','1991092815:59:59','1991092902:59:59' ],
+        [ [1991,9,28,16,0,0],[1991,9,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1992,1,18,15,59,59],[1992,1,19,1,59,59],
+          '1991092816:00:00','1991092902:00:00','1992011815:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,16,0,0],[1992,1,19,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,3,28,14,59,59],[1992,3,29,1,59,59],
+          '1992011816:00:00','1992011903:00:00','1992032814:59:59','1992032901:59:59' ],
+        [ [1992,3,28,15,0,0],[1992,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1992,9,26,14,59,59],[1992,9,27,2,59,59],
+          '1992032815:00:00','1992032903:00:00','1992092614:59:59','1992092702:59:59' ],
+        [ [1992,9,26,15,0,0],[1992,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1993,3,27,14,59,59],[1993,3,28,1,59,59],
+          '1992092615:00:00','1992092702:00:00','1993032714:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,15,0,0],[1993,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1993,9,25,14,59,59],[1993,9,26,2,59,59],
+          '1993032715:00:00','1993032803:00:00','1993092514:59:59','1993092602:59:59' ],
+        [ [1993,9,25,15,0,0],[1993,9,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1994,3,26,14,59,59],[1994,3,27,1,59,59],
+          '1993092515:00:00','1993092602:00:00','1994032614:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,15,0,0],[1994,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1994,9,24,14,59,59],[1994,9,25,2,59,59],
+          '1994032615:00:00','1994032703:00:00','1994092414:59:59','1994092502:59:59' ],
+        [ [1994,9,24,15,0,0],[1994,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1995,3,25,14,59,59],[1995,3,26,1,59,59],
+          '1994092415:00:00','1994092502:00:00','1995032514:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,15,0,0],[1995,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1995,9,23,14,59,59],[1995,9,24,2,59,59],
+          '1995032515:00:00','1995032603:00:00','1995092314:59:59','1995092402:59:59' ],
+        [ [1995,9,23,15,0,0],[1995,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1996,3,30,14,59,59],[1996,3,31,1,59,59],
+          '1995092315:00:00','1995092402:00:00','1996033014:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1996,10,26,14,59,59],[1996,10,27,2,59,59],
+          '1996033015:00:00','1996033103:00:00','1996102614:59:59','1996102702:59:59' ],
+        [ [1996,10,26,15,0,0],[1996,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1997,3,29,14,59,59],[1997,3,30,1,59,59],
+          '1996102615:00:00','1996102702:00:00','1997032914:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1997,10,25,15,59,59],[1997,10,26,2,59,59],
+          '1997032915:00:00','1997033002:00:00','1997102515:59:59','1997102602:59:59' ],
+        [ [1997,10,25,16,0,0],[1997,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1998,3,28,15,59,59],[1998,3,29,1,59,59],
+          '1997102516:00:00','1997102602:00:00','1998032815:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1998,10,24,15,59,59],[1998,10,25,2,59,59],
+          '1998032816:00:00','1998032903:00:00','1998102415:59:59','1998102502:59:59' ],
+        [ [1998,10,24,16,0,0],[1998,10,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1999,3,27,15,59,59],[1999,3,28,1,59,59],
+          '1998102416:00:00','1998102502:00:00','1999032715:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1999,10,30,15,59,59],[1999,10,31,2,59,59],
+          '1999032716:00:00','1999032803:00:00','1999103015:59:59','1999103102:59:59' ],
+        [ [1999,10,30,16,0,0],[1999,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2000,3,25,15,59,59],[2000,3,26,1,59,59],
+          '1999103016:00:00','1999103102:00:00','2000032515:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2000,10,28,15,59,59],[2000,10,29,2,59,59],
+          '2000032516:00:00','2000032603:00:00','2000102815:59:59','2000102902:59:59' ],
+        [ [2000,10,28,16,0,0],[2000,10,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2001,3,24,15,59,59],[2001,3,25,1,59,59],
+          '2000102816:00:00','2000102902:00:00','2001032415:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2001,10,27,15,59,59],[2001,10,28,2,59,59],
+          '2001032416:00:00','2001032503:00:00','2001102715:59:59','2001102802:59:59' ],
+        [ [2001,10,27,16,0,0],[2001,10,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2002,3,30,15,59,59],[2002,3,31,1,59,59],
+          '2001102716:00:00','2001102802:00:00','2002033015:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2002,10,26,15,59,59],[2002,10,27,2,59,59],
+          '2002033016:00:00','2002033103:00:00','2002102615:59:59','2002102702:59:59' ],
+        [ [2002,10,26,16,0,0],[2002,10,27,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2003,3,29,15,59,59],[2003,3,30,1,59,59],
+          '2002102616:00:00','2002102702:00:00','2003032915:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2003,10,25,15,59,59],[2003,10,26,2,59,59],
+          '2003032916:00:00','2003033003:00:00','2003102515:59:59','2003102602:59:59' ],
+        [ [2003,10,25,16,0,0],[2003,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2004,3,27,15,59,59],[2004,3,28,1,59,59],
+          '2003102516:00:00','2003102602:00:00','2004032715:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2004,10,30,15,59,59],[2004,10,31,2,59,59],
+          '2004032716:00:00','2004032803:00:00','2004103015:59:59','2004103102:59:59' ],
+        [ [2004,10,30,16,0,0],[2004,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2005,3,26,15,59,59],[2005,3,27,1,59,59],
+          '2004103016:00:00','2004103102:00:00','2005032615:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2005,10,29,15,59,59],[2005,10,30,2,59,59],
+          '2005032616:00:00','2005032703:00:00','2005102915:59:59','2005103002:59:59' ],
+        [ [2005,10,29,16,0,0],[2005,10,30,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2006,3,25,15,59,59],[2006,3,26,1,59,59],
+          '2005102916:00:00','2005103002:00:00','2006032515:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,16,0,0],[2006,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2006,10,28,15,59,59],[2006,10,29,2,59,59],
+          '2006032516:00:00','2006032603:00:00','2006102815:59:59','2006102902:59:59' ],
+        [ [2006,10,28,16,0,0],[2006,10,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2007,3,24,15,59,59],[2007,3,25,1,59,59],
+          '2006102816:00:00','2006102902:00:00','2007032415:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2007,10,27,15,59,59],[2007,10,28,2,59,59],
+          '2007032416:00:00','2007032503:00:00','2007102715:59:59','2007102802:59:59' ],
+        [ [2007,10,27,16,0,0],[2007,10,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2008,3,29,15,59,59],[2008,3,30,1,59,59],
+          '2007102716:00:00','2007102802:00:00','2008032915:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,16,0,0],[2008,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2008,10,25,15,59,59],[2008,10,26,2,59,59],
+          '2008032916:00:00','2008033003:00:00','2008102515:59:59','2008102602:59:59' ],
+        [ [2008,10,25,16,0,0],[2008,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2009,3,28,15,59,59],[2009,3,29,1,59,59],
+          '2008102516:00:00','2008102602:00:00','2009032815:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,16,0,0],[2009,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2009,10,24,15,59,59],[2009,10,25,2,59,59],
+          '2009032816:00:00','2009032903:00:00','2009102415:59:59','2009102502:59:59' ],
+        [ [2009,10,24,16,0,0],[2009,10,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2010,3,27,15,59,59],[2010,3,28,1,59,59],
+          '2009102416:00:00','2009102502:00:00','2010032715:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,16,0,0],[2010,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2010,10,30,15,59,59],[2010,10,31,2,59,59],
+          '2010032716:00:00','2010032803:00:00','2010103015:59:59','2010103102:59:59' ],
+        [ [2010,10,30,16,0,0],[2010,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2011,3,26,15,59,59],[2011,3,27,1,59,59],
+          '2010103016:00:00','2010103102:00:00','2011032615:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,16,0,0],[2011,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2014,10,25,14,59,59],[2014,10,26,1,59,59],
+          '2011032616:00:00','2011032703:00:00','2014102514:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,15,0,0],[2014,10,26,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2016,3,26,15,59,59],[2016,3,27,1,59,59],
+          '2014102515:00:00','2014102601:00:00','2016032615:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,16,0,0],[2016,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2016032616:00:00','2016032703:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/assama00.pm b/lib/Date/Manip/TZ/assama00.pm
new file mode 100644
index 0000000..ba02764
--- /dev/null
+++ b/lib/Date/Manip/TZ/assama00.pm
@@ -0,0 +1,154 @@
+package #
+Date::Manip::TZ::assama00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,27,53],'+04:27:53',[4,27,53],
+          'LMT',0,[1924,5,1,19,32,6],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010204:27:53','1924050119:32:06','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,19,32,7],[1924,5,1,23,32,7],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1924050119:32:07','1924050123:32:07','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,10,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981100100:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,0,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040100:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,9,28,20,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033103:00:00','1991092820:59:59','1991092902:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1991092821:00:00','1991092902:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asseou00.pm b/lib/Date/Manip/TZ/asseou00.pm
new file mode 100644
index 0000000..e7ee9b7
--- /dev/null
+++ b/lib/Date/Manip/TZ/asseou00.pm
@@ -0,0 +1,145 @@
+package #
+Date::Manip::TZ::asseou00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,27,52],'+08:27:52',[8,27,52],
+          'LMT',0,[1908,3,31,15,32,7],[1908,3,31,23,59,59],
+          '0001010200:00:00','0001010208:27:52','1908033115:32:07','1908033123:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,3,31,15,32,8],[1908,4,1,0,2,8],'+08:30:00',[8,30,0],
+          'KST',0,[1911,12,31,15,29,59],[1911,12,31,23,59,59],
+          '1908033115:32:08','1908040100:02:08','1911123115:29:59','1911123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,12,31,15,30,0],[1912,1,1,0,30,0],'+09:00:00',[9,0,0],
+          'JST',0,[1945,9,7,14,59,59],[1945,9,7,23,59,59],
+          '1911123115:30:00','1912010100:30:00','1945090714:59:59','1945090723:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,7,15,0,0],[1945,9,8,0,0,0],'+09:00:00',[9,0,0],
+          'KST',0,[1954,3,20,14,59,59],[1954,3,20,23,59,59],
+          '1945090715:00:00','1945090800:00:00','1954032014:59:59','1954032023:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,3,20,15,0,0],[1954,3,20,23,30,0],'+08:30:00',[8,30,0],
+          'KST',0,[1955,5,4,15,29,59],[1955,5,4,23,59,59],
+          '1954032015:00:00','1954032023:30:00','1955050415:29:59','1955050423:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,5,4,15,30,0],[1955,5,5,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1955,9,8,14,29,59],[1955,9,8,23,59,59],
+          '1955050415:30:00','1955050501:00:00','1955090814:29:59','1955090823:59:59' ],
+        [ [1955,9,8,14,30,0],[1955,9,8,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1956,5,19,15,29,59],[1956,5,19,23,59,59],
+          '1955090814:30:00','1955090823:00:00','1956051915:29:59','1956051923:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,5,19,15,30,0],[1956,5,20,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1956,9,29,14,29,59],[1956,9,29,23,59,59],
+          '1956051915:30:00','1956052001:00:00','1956092914:29:59','1956092923:59:59' ],
+        [ [1956,9,29,14,30,0],[1956,9,29,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1957,5,4,15,29,59],[1957,5,4,23,59,59],
+          '1956092914:30:00','1956092923:00:00','1957050415:29:59','1957050423:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,5,4,15,30,0],[1957,5,5,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1957,9,21,14,29,59],[1957,9,21,23,59,59],
+          '1957050415:30:00','1957050501:00:00','1957092114:29:59','1957092123:59:59' ],
+        [ [1957,9,21,14,30,0],[1957,9,21,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1958,5,3,15,29,59],[1958,5,3,23,59,59],
+          '1957092114:30:00','1957092123:00:00','1958050315:29:59','1958050323:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,5,3,15,30,0],[1958,5,4,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1958,9,20,14,29,59],[1958,9,20,23,59,59],
+          '1958050315:30:00','1958050401:00:00','1958092014:29:59','1958092023:59:59' ],
+        [ [1958,9,20,14,30,0],[1958,9,20,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1959,5,2,15,29,59],[1959,5,2,23,59,59],
+          '1958092014:30:00','1958092023:00:00','1959050215:29:59','1959050223:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,5,2,15,30,0],[1959,5,3,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1959,9,19,14,29,59],[1959,9,19,23,59,59],
+          '1959050215:30:00','1959050301:00:00','1959091914:29:59','1959091923:59:59' ],
+        [ [1959,9,19,14,30,0],[1959,9,19,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1960,4,30,15,29,59],[1960,4,30,23,59,59],
+          '1959091914:30:00','1959091923:00:00','1960043015:29:59','1960043023:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,30,15,30,0],[1960,5,1,1,0,0],'+09:30:00',[9,30,0],
+          'KDT',1,[1960,9,17,14,29,59],[1960,9,17,23,59,59],
+          '1960043015:30:00','1960050101:00:00','1960091714:29:59','1960091723:59:59' ],
+        [ [1960,9,17,14,30,0],[1960,9,17,23,0,0],'+08:30:00',[8,30,0],
+          'KST',0,[1961,8,9,15,29,59],[1961,8,9,23,59,59],
+          '1960091714:30:00','1960091723:00:00','1961080915:29:59','1961080923:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,8,9,15,30,0],[1961,8,10,0,30,0],'+09:00:00',[9,0,0],
+          'KST',0,[1987,5,9,16,59,59],[1987,5,10,1,59,59],
+          '1961080915:30:00','1961081000:30:00','1987050916:59:59','1987051001:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,5,9,17,0,0],[1987,5,10,3,0,0],'+10:00:00',[10,0,0],
+          'KDT',1,[1987,10,10,16,59,59],[1987,10,11,2,59,59],
+          '1987050917:00:00','1987051003:00:00','1987101016:59:59','1987101102:59:59' ],
+        [ [1987,10,10,17,0,0],[1987,10,11,2,0,0],'+09:00:00',[9,0,0],
+          'KST',0,[1988,5,7,16,59,59],[1988,5,8,1,59,59],
+          '1987101017:00:00','1987101102:00:00','1988050716:59:59','1988050801:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,5,7,17,0,0],[1988,5,8,3,0,0],'+10:00:00',[10,0,0],
+          'KDT',1,[1988,10,8,16,59,59],[1988,10,9,2,59,59],
+          '1988050717:00:00','1988050803:00:00','1988100816:59:59','1988100902:59:59' ],
+        [ [1988,10,8,17,0,0],[1988,10,9,2,0,0],'+09:00:00',[9,0,0],
+          'KST',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '1988100817:00:00','1988100902:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asshan00.pm b/lib/Date/Manip/TZ/asshan00.pm
new file mode 100644
index 0000000..c5a6d16
--- /dev/null
+++ b/lib/Date/Manip/TZ/asshan00.pm
@@ -0,0 +1,121 @@
+package #
+Date::Manip::TZ::asshan00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,5,43],'+08:05:43',[8,5,43],
+          'LMT',0,[1900,12,31,15,54,16],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010208:05:43','1900123115:54:16','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,15,54,17],[1900,12,31,23,54,17],'+08:00:00',[8,0,0],
+          'CST',0,[1940,6,2,15,59,59],[1940,6,2,23,59,59],
+          '1900123115:54:17','1900123123:54:17','1940060215:59:59','1940060223:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,2,16,0,0],[1940,6,3,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1940,9,30,14,59,59],[1940,9,30,23,59,59],
+          '1940060216:00:00','1940060301:00:00','1940093014:59:59','1940093023:59:59' ],
+        [ [1940,9,30,15,0,0],[1940,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1941,3,15,15,59,59],[1941,3,15,23,59,59],
+          '1940093015:00:00','1940093023:00:00','1941031515:59:59','1941031523:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,3,15,16,0,0],[1941,3,16,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1941,9,30,14,59,59],[1941,9,30,23,59,59],
+          '1941031516:00:00','1941031601:00:00','1941093014:59:59','1941093023:59:59' ],
+        [ [1941,9,30,15,0,0],[1941,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1986,5,3,15,59,59],[1986,5,3,23,59,59],
+          '1941093015:00:00','1941093023:00:00','1986050315:59:59','1986050323:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,5,3,16,0,0],[1986,5,4,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1986,9,13,14,59,59],[1986,9,13,23,59,59],
+          '1986050316:00:00','1986050401:00:00','1986091314:59:59','1986091323:59:59' ],
+        [ [1986,9,13,15,0,0],[1986,9,13,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1987,4,11,15,59,59],[1987,4,11,23,59,59],
+          '1986091315:00:00','1986091323:00:00','1987041115:59:59','1987041123:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,11,16,0,0],[1987,4,12,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1987,9,12,14,59,59],[1987,9,12,23,59,59],
+          '1987041116:00:00','1987041201:00:00','1987091214:59:59','1987091223:59:59' ],
+        [ [1987,9,12,15,0,0],[1987,9,12,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1988,4,9,15,59,59],[1988,4,9,23,59,59],
+          '1987091215:00:00','1987091223:00:00','1988040915:59:59','1988040923:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,9,16,0,0],[1988,4,10,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1988,9,10,14,59,59],[1988,9,10,23,59,59],
+          '1988040916:00:00','1988041001:00:00','1988091014:59:59','1988091023:59:59' ],
+        [ [1988,9,10,15,0,0],[1988,9,10,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1989,4,15,15,59,59],[1989,4,15,23,59,59],
+          '1988091015:00:00','1988091023:00:00','1989041515:59:59','1989041523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,15,16,0,0],[1989,4,16,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1989,9,16,14,59,59],[1989,9,16,23,59,59],
+          '1989041516:00:00','1989041601:00:00','1989091614:59:59','1989091623:59:59' ],
+        [ [1989,9,16,15,0,0],[1989,9,16,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1990,4,14,15,59,59],[1990,4,14,23,59,59],
+          '1989091615:00:00','1989091623:00:00','1990041415:59:59','1990041423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,14,16,0,0],[1990,4,15,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1990,9,15,14,59,59],[1990,9,15,23,59,59],
+          '1990041416:00:00','1990041501:00:00','1990091514:59:59','1990091523:59:59' ],
+        [ [1990,9,15,15,0,0],[1990,9,15,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1991,4,13,15,59,59],[1991,4,13,23,59,59],
+          '1990091515:00:00','1990091523:00:00','1991041315:59:59','1991041323:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,13,16,0,0],[1991,4,14,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1991,9,14,14,59,59],[1991,9,14,23,59,59],
+          '1991041316:00:00','1991041401:00:00','1991091414:59:59','1991091423:59:59' ],
+        [ [1991,9,14,15,0,0],[1991,9,14,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1991091415:00:00','1991091423:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/assing00.pm b/lib/Date/Manip/TZ/assing00.pm
new file mode 100644
index 0000000..3928fbb
--- /dev/null
+++ b/lib/Date/Manip/TZ/assing00.pm
@@ -0,0 +1,91 @@
+package #
+Date::Manip::TZ::assing00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,55,25],'+06:55:25',[6,55,25],
+          'LMT',0,[1900,12,31,17,4,34],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010206:55:25','1900123117:04:34','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,17,4,35],[1901,1,1,0,0,0],'+06:55:25',[6,55,25],
+          'SMT',0,[1905,5,31,17,4,34],[1905,5,31,23,59,59],
+          '1900123117:04:35','1901010100:00:00','1905053117:04:34','1905053123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,5,31,17,4,35],[1905,6,1,0,4,35],'+07:00:00',[7,0,0],
+          '+07',0,[1932,12,31,16,59,59],[1932,12,31,23,59,59],
+          '1905053117:04:35','1905060100:04:35','1932123116:59:59','1932123123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,12,31,17,0,0],[1933,1,1,0,20,0],'+07:20:00',[7,20,0],
+          '+0720',1,[1935,12,31,16,39,59],[1935,12,31,23,59,59],
+          '1932123117:00:00','1933010100:20:00','1935123116:39:59','1935123123:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,12,31,16,40,0],[1936,1,1,0,0,0],'+07:20:00',[7,20,0],
+          '+0720',0,[1941,8,31,16,39,59],[1941,8,31,23,59,59],
+          '1935123116:40:00','1936010100:00:00','1941083116:39:59','1941083123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,8,31,16,40,0],[1941,9,1,0,10,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1942,2,15,16,29,59],[1942,2,15,23,59,59],
+          '1941083116:40:00','1941090100:10:00','1942021516:29:59','1942021523:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,15,16,30,0],[1942,2,16,1,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,9,11,14,59,59],[1945,9,11,23,59,59],
+          '1942021516:30:00','1942021601:30:00','1945091114:59:59','1945091123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,11,15,0,0],[1945,9,11,22,30,0],'+07:30:00',[7,30,0],
+          '+0730',0,[1981,12,31,16,29,59],[1981,12,31,23,59,59],
+          '1945091115:00:00','1945091122:30:00','1981123116:29:59','1981123123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,12,31,16,30,0],[1982,1,1,0,30,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1981123116:30:00','1982010100:30:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/assred00.pm b/lib/Date/Manip/TZ/assred00.pm
new file mode 100644
index 0000000..99bdaf7
--- /dev/null
+++ b/lib/Date/Manip/TZ/assred00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::assred00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,14,52],'+10:14:52',[10,14,52],
+          'LMT',0,[1924,5,1,13,45,7],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010210:14:52','1924050113:45:07','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,13,45,8],[1924,5,1,23,45,8],'+10:00:00',[10,0,0],
+          '+10',0,[1930,6,20,13,59,59],[1930,6,20,23,59,59],
+          '1924050113:45:08','1924050123:45:08','1930062013:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,14,0,0],[1930,6,21,1,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1981,3,31,12,59,59],[1981,3,31,23,59,59],
+          '1930062014:00:00','1930062101:00:00','1981033112:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,13,0,0],[1981,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1981,9,30,11,59,59],[1981,9,30,23,59,59],
+          '1981033113:00:00','1981040101:00:00','1981093011:59:59','1981093023:59:59' ],
+        [ [1981,9,30,12,0,0],[1981,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1982,3,31,12,59,59],[1982,3,31,23,59,59],
+          '1981093012:00:00','1981093023:00:00','1982033112:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,13,0,0],[1982,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1982,9,30,11,59,59],[1982,9,30,23,59,59],
+          '1982033113:00:00','1982040101:00:00','1982093011:59:59','1982093023:59:59' ],
+        [ [1982,9,30,12,0,0],[1982,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1983,3,31,12,59,59],[1983,3,31,23,59,59],
+          '1982093012:00:00','1982093023:00:00','1983033112:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,13,0,0],[1983,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1983,9,30,11,59,59],[1983,9,30,23,59,59],
+          '1983033113:00:00','1983040101:00:00','1983093011:59:59','1983093023:59:59' ],
+        [ [1983,9,30,12,0,0],[1983,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1984,3,31,12,59,59],[1984,3,31,23,59,59],
+          '1983093012:00:00','1983093023:00:00','1984033112:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,13,0,0],[1984,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1984,9,29,14,59,59],[1984,9,30,2,59,59],
+          '1984033113:00:00','1984040101:00:00','1984092914:59:59','1984093002:59:59' ],
+        [ [1984,9,29,15,0,0],[1984,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1985,3,30,14,59,59],[1985,3,31,1,59,59],
+          '1984092915:00:00','1984093002:00:00','1985033014:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,15,0,0],[1985,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1985,9,28,14,59,59],[1985,9,29,2,59,59],
+          '1985033015:00:00','1985033103:00:00','1985092814:59:59','1985092902:59:59' ],
+        [ [1985,9,28,15,0,0],[1985,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1986,3,29,14,59,59],[1986,3,30,1,59,59],
+          '1985092815:00:00','1985092902:00:00','1986032914:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,15,0,0],[1986,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1986,9,27,14,59,59],[1986,9,28,2,59,59],
+          '1986032915:00:00','1986033003:00:00','1986092714:59:59','1986092802:59:59' ],
+        [ [1986,9,27,15,0,0],[1986,9,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1987,3,28,14,59,59],[1987,3,29,1,59,59],
+          '1986092715:00:00','1986092802:00:00','1987032814:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,15,0,0],[1987,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1987,9,26,14,59,59],[1987,9,27,2,59,59],
+          '1987032815:00:00','1987032903:00:00','1987092614:59:59','1987092702:59:59' ],
+        [ [1987,9,26,15,0,0],[1987,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1988,3,26,14,59,59],[1988,3,27,1,59,59],
+          '1987092615:00:00','1987092702:00:00','1988032614:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,15,0,0],[1988,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1988,9,24,14,59,59],[1988,9,25,2,59,59],
+          '1988032615:00:00','1988032703:00:00','1988092414:59:59','1988092502:59:59' ],
+        [ [1988,9,24,15,0,0],[1988,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1989,3,25,14,59,59],[1989,3,26,1,59,59],
+          '1988092415:00:00','1988092502:00:00','1989032514:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,15,0,0],[1989,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1989,9,23,14,59,59],[1989,9,24,2,59,59],
+          '1989032515:00:00','1989032603:00:00','1989092314:59:59','1989092402:59:59' ],
+        [ [1989,9,23,15,0,0],[1989,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1990,3,24,14,59,59],[1990,3,25,1,59,59],
+          '1989092315:00:00','1989092402:00:00','1990032414:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,15,0,0],[1990,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1990,9,29,14,59,59],[1990,9,30,2,59,59],
+          '1990032415:00:00','1990032503:00:00','1990092914:59:59','1990093002:59:59' ],
+        [ [1990,9,29,15,0,0],[1990,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1991,3,30,14,59,59],[1991,3,31,1,59,59],
+          '1990092915:00:00','1990093002:00:00','1991033014:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,15,0,0],[1991,3,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1991,9,28,15,59,59],[1991,9,29,2,59,59],
+          '1991033015:00:00','1991033102:00:00','1991092815:59:59','1991092902:59:59' ],
+        [ [1991,9,28,16,0,0],[1991,9,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1992,1,18,15,59,59],[1992,1,19,1,59,59],
+          '1991092816:00:00','1991092902:00:00','1992011815:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,16,0,0],[1992,1,19,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,3,28,14,59,59],[1992,3,29,1,59,59],
+          '1992011816:00:00','1992011903:00:00','1992032814:59:59','1992032901:59:59' ],
+        [ [1992,3,28,15,0,0],[1992,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1992,9,26,14,59,59],[1992,9,27,2,59,59],
+          '1992032815:00:00','1992032903:00:00','1992092614:59:59','1992092702:59:59' ],
+        [ [1992,9,26,15,0,0],[1992,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1993,3,27,14,59,59],[1993,3,28,1,59,59],
+          '1992092615:00:00','1992092702:00:00','1993032714:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,15,0,0],[1993,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1993,9,25,14,59,59],[1993,9,26,2,59,59],
+          '1993032715:00:00','1993032803:00:00','1993092514:59:59','1993092602:59:59' ],
+        [ [1993,9,25,15,0,0],[1993,9,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1994,3,26,14,59,59],[1994,3,27,1,59,59],
+          '1993092515:00:00','1993092602:00:00','1994032614:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,15,0,0],[1994,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1994,9,24,14,59,59],[1994,9,25,2,59,59],
+          '1994032615:00:00','1994032703:00:00','1994092414:59:59','1994092502:59:59' ],
+        [ [1994,9,24,15,0,0],[1994,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1995,3,25,14,59,59],[1995,3,26,1,59,59],
+          '1994092415:00:00','1994092502:00:00','1995032514:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,15,0,0],[1995,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1995,9,23,14,59,59],[1995,9,24,2,59,59],
+          '1995032515:00:00','1995032603:00:00','1995092314:59:59','1995092402:59:59' ],
+        [ [1995,9,23,15,0,0],[1995,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1996,3,30,14,59,59],[1996,3,31,1,59,59],
+          '1995092315:00:00','1995092402:00:00','1996033014:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1996,10,26,14,59,59],[1996,10,27,2,59,59],
+          '1996033015:00:00','1996033103:00:00','1996102614:59:59','1996102702:59:59' ],
+        [ [1996,10,26,15,0,0],[1996,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1997,3,29,14,59,59],[1997,3,30,1,59,59],
+          '1996102615:00:00','1996102702:00:00','1997032914:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1997,10,25,14,59,59],[1997,10,26,2,59,59],
+          '1997032915:00:00','1997033003:00:00','1997102514:59:59','1997102602:59:59' ],
+        [ [1997,10,25,15,0,0],[1997,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1998,3,28,14,59,59],[1998,3,29,1,59,59],
+          '1997102515:00:00','1997102602:00:00','1998032814:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,15,0,0],[1998,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1998,10,24,14,59,59],[1998,10,25,2,59,59],
+          '1998032815:00:00','1998032903:00:00','1998102414:59:59','1998102502:59:59' ],
+        [ [1998,10,24,15,0,0],[1998,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1999,3,27,14,59,59],[1999,3,28,1,59,59],
+          '1998102415:00:00','1998102502:00:00','1999032714:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,15,0,0],[1999,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1999,10,30,14,59,59],[1999,10,31,2,59,59],
+          '1999032715:00:00','1999032803:00:00','1999103014:59:59','1999103102:59:59' ],
+        [ [1999,10,30,15,0,0],[1999,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2000,3,25,14,59,59],[2000,3,26,1,59,59],
+          '1999103015:00:00','1999103102:00:00','2000032514:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,15,0,0],[2000,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2000,10,28,14,59,59],[2000,10,29,2,59,59],
+          '2000032515:00:00','2000032603:00:00','2000102814:59:59','2000102902:59:59' ],
+        [ [2000,10,28,15,0,0],[2000,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2001,3,24,14,59,59],[2001,3,25,1,59,59],
+          '2000102815:00:00','2000102902:00:00','2001032414:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,15,0,0],[2001,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2001,10,27,14,59,59],[2001,10,28,2,59,59],
+          '2001032415:00:00','2001032503:00:00','2001102714:59:59','2001102802:59:59' ],
+        [ [2001,10,27,15,0,0],[2001,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2002,3,30,14,59,59],[2002,3,31,1,59,59],
+          '2001102715:00:00','2001102802:00:00','2002033014:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,15,0,0],[2002,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2002,10,26,14,59,59],[2002,10,27,2,59,59],
+          '2002033015:00:00','2002033103:00:00','2002102614:59:59','2002102702:59:59' ],
+        [ [2002,10,26,15,0,0],[2002,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2003,3,29,14,59,59],[2003,3,30,1,59,59],
+          '2002102615:00:00','2002102702:00:00','2003032914:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,15,0,0],[2003,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2003,10,25,14,59,59],[2003,10,26,2,59,59],
+          '2003032915:00:00','2003033003:00:00','2003102514:59:59','2003102602:59:59' ],
+        [ [2003,10,25,15,0,0],[2003,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2004,3,27,14,59,59],[2004,3,28,1,59,59],
+          '2003102515:00:00','2003102602:00:00','2004032714:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,15,0,0],[2004,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2004,10,30,14,59,59],[2004,10,31,2,59,59],
+          '2004032715:00:00','2004032803:00:00','2004103014:59:59','2004103102:59:59' ],
+        [ [2004,10,30,15,0,0],[2004,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2005,3,26,14,59,59],[2005,3,27,1,59,59],
+          '2004103015:00:00','2004103102:00:00','2005032614:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,15,0,0],[2005,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2005,10,29,14,59,59],[2005,10,30,2,59,59],
+          '2005032615:00:00','2005032703:00:00','2005102914:59:59','2005103002:59:59' ],
+        [ [2005,10,29,15,0,0],[2005,10,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2006,3,25,14,59,59],[2006,3,26,1,59,59],
+          '2005102915:00:00','2005103002:00:00','2006032514:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,15,0,0],[2006,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2006,10,28,14,59,59],[2006,10,29,2,59,59],
+          '2006032515:00:00','2006032603:00:00','2006102814:59:59','2006102902:59:59' ],
+        [ [2006,10,28,15,0,0],[2006,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2007,3,24,14,59,59],[2007,3,25,1,59,59],
+          '2006102815:00:00','2006102902:00:00','2007032414:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,15,0,0],[2007,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2007,10,27,14,59,59],[2007,10,28,2,59,59],
+          '2007032415:00:00','2007032503:00:00','2007102714:59:59','2007102802:59:59' ],
+        [ [2007,10,27,15,0,0],[2007,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2008,3,29,14,59,59],[2008,3,30,1,59,59],
+          '2007102715:00:00','2007102802:00:00','2008032914:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,15,0,0],[2008,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2008,10,25,14,59,59],[2008,10,26,2,59,59],
+          '2008032915:00:00','2008033003:00:00','2008102514:59:59','2008102602:59:59' ],
+        [ [2008,10,25,15,0,0],[2008,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2009,3,28,14,59,59],[2009,3,29,1,59,59],
+          '2008102515:00:00','2008102602:00:00','2009032814:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,15,0,0],[2009,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2009,10,24,14,59,59],[2009,10,25,2,59,59],
+          '2009032815:00:00','2009032903:00:00','2009102414:59:59','2009102502:59:59' ],
+        [ [2009,10,24,15,0,0],[2009,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2010,3,27,14,59,59],[2010,3,28,1,59,59],
+          '2009102415:00:00','2009102502:00:00','2010032714:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,15,0,0],[2010,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2010,10,30,14,59,59],[2010,10,31,2,59,59],
+          '2010032715:00:00','2010032803:00:00','2010103014:59:59','2010103102:59:59' ],
+        [ [2010,10,30,15,0,0],[2010,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,3,26,14,59,59],[2011,3,27,1,59,59],
+          '2010103015:00:00','2010103102:00:00','2011032614:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,15,0,0],[2011,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2014,10,25,13,59,59],[2014,10,26,1,59,59],
+          '2011032615:00:00','2011032703:00:00','2014102513:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,14,0,0],[2014,10,26,1,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2014102514:00:00','2014102601:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astaip00.pm b/lib/Date/Manip/TZ/astaip00.pm
new file mode 100644
index 0000000..88bbd36
--- /dev/null
+++ b/lib/Date/Manip/TZ/astaip00.pm
@@ -0,0 +1,232 @@
+package #
+Date::Manip::TZ::astaip00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,6,0],'+08:06:00',[8,6,0],
+          'LMT',0,[1895,12,31,15,53,59],[1895,12,31,23,59,59],
+          '0001010200:00:00','0001010208:06:00','1895123115:53:59','1895123123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,12,31,15,54,0],[1895,12,31,23,54,0],'+08:00:00',[8,0,0],
+          'CST',0,[1937,9,30,15,59,59],[1937,9,30,23,59,59],
+          '1895123115:54:00','1895123123:54:00','1937093015:59:59','1937093023:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,9,30,16,0,0],[1937,10,1,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1945,9,20,15,59,59],[1945,9,21,0,59,59],
+          '1937093016:00:00','1937100101:00:00','1945092015:59:59','1945092100:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,20,16,0,0],[1945,9,21,0,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1946,5,14,15,59,59],[1946,5,14,23,59,59],
+          '1945092016:00:00','1945092100:00:00','1946051415:59:59','1946051423:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,14,16,0,0],[1946,5,15,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1946,9,30,14,59,59],[1946,9,30,23,59,59],
+          '1946051416:00:00','1946051501:00:00','1946093014:59:59','1946093023:59:59' ],
+        [ [1946,9,30,15,0,0],[1946,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1947,4,14,15,59,59],[1947,4,14,23,59,59],
+          '1946093015:00:00','1946093023:00:00','1947041415:59:59','1947041423:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,14,16,0,0],[1947,4,15,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1947,10,31,14,59,59],[1947,10,31,23,59,59],
+          '1947041416:00:00','1947041501:00:00','1947103114:59:59','1947103123:59:59' ],
+        [ [1947,10,31,15,0,0],[1947,10,31,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1948,4,30,15,59,59],[1948,4,30,23,59,59],
+          '1947103115:00:00','1947103123:00:00','1948043015:59:59','1948043023:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,30,16,0,0],[1948,5,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1948,9,30,14,59,59],[1948,9,30,23,59,59],
+          '1948043016:00:00','1948050101:00:00','1948093014:59:59','1948093023:59:59' ],
+        [ [1948,9,30,15,0,0],[1948,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1949,4,30,15,59,59],[1949,4,30,23,59,59],
+          '1948093015:00:00','1948093023:00:00','1949043015:59:59','1949043023:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,30,16,0,0],[1949,5,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1949,9,30,14,59,59],[1949,9,30,23,59,59],
+          '1949043016:00:00','1949050101:00:00','1949093014:59:59','1949093023:59:59' ],
+        [ [1949,9,30,15,0,0],[1949,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1950,4,30,15,59,59],[1950,4,30,23,59,59],
+          '1949093015:00:00','1949093023:00:00','1950043015:59:59','1950043023:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,30,16,0,0],[1950,5,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1950,9,30,14,59,59],[1950,9,30,23,59,59],
+          '1950043016:00:00','1950050101:00:00','1950093014:59:59','1950093023:59:59' ],
+        [ [1950,9,30,15,0,0],[1950,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1951,4,30,15,59,59],[1951,4,30,23,59,59],
+          '1950093015:00:00','1950093023:00:00','1951043015:59:59','1951043023:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,30,16,0,0],[1951,5,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1951,9,30,14,59,59],[1951,9,30,23,59,59],
+          '1951043016:00:00','1951050101:00:00','1951093014:59:59','1951093023:59:59' ],
+        [ [1951,9,30,15,0,0],[1951,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1952,2,29,15,59,59],[1952,2,29,23,59,59],
+          '1951093015:00:00','1951093023:00:00','1952022915:59:59','1952022923:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,2,29,16,0,0],[1952,3,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1952,10,31,14,59,59],[1952,10,31,23,59,59],
+          '1952022916:00:00','1952030101:00:00','1952103114:59:59','1952103123:59:59' ],
+        [ [1952,10,31,15,0,0],[1952,10,31,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1953,3,31,15,59,59],[1953,3,31,23,59,59],
+          '1952103115:00:00','1952103123:00:00','1953033115:59:59','1953033123:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,3,31,16,0,0],[1953,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1953,10,31,14,59,59],[1953,10,31,23,59,59],
+          '1953033116:00:00','1953040101:00:00','1953103114:59:59','1953103123:59:59' ],
+        [ [1953,10,31,15,0,0],[1953,10,31,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1954,3,31,15,59,59],[1954,3,31,23,59,59],
+          '1953103115:00:00','1953103123:00:00','1954033115:59:59','1954033123:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,3,31,16,0,0],[1954,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1954,10,31,14,59,59],[1954,10,31,23,59,59],
+          '1954033116:00:00','1954040101:00:00','1954103114:59:59','1954103123:59:59' ],
+        [ [1954,10,31,15,0,0],[1954,10,31,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1955,3,31,15,59,59],[1955,3,31,23,59,59],
+          '1954103115:00:00','1954103123:00:00','1955033115:59:59','1955033123:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,3,31,16,0,0],[1955,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1955,9,30,14,59,59],[1955,9,30,23,59,59],
+          '1955033116:00:00','1955040101:00:00','1955093014:59:59','1955093023:59:59' ],
+        [ [1955,9,30,15,0,0],[1955,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1956,3,31,15,59,59],[1956,3,31,23,59,59],
+          '1955093015:00:00','1955093023:00:00','1956033115:59:59','1956033123:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,3,31,16,0,0],[1956,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1956,9,30,14,59,59],[1956,9,30,23,59,59],
+          '1956033116:00:00','1956040101:00:00','1956093014:59:59','1956093023:59:59' ],
+        [ [1956,9,30,15,0,0],[1956,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1957,3,31,15,59,59],[1957,3,31,23,59,59],
+          '1956093015:00:00','1956093023:00:00','1957033115:59:59','1957033123:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,3,31,16,0,0],[1957,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1957,9,30,14,59,59],[1957,9,30,23,59,59],
+          '1957033116:00:00','1957040101:00:00','1957093014:59:59','1957093023:59:59' ],
+        [ [1957,9,30,15,0,0],[1957,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1958,3,31,15,59,59],[1958,3,31,23,59,59],
+          '1957093015:00:00','1957093023:00:00','1958033115:59:59','1958033123:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,3,31,16,0,0],[1958,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1958,9,30,14,59,59],[1958,9,30,23,59,59],
+          '1958033116:00:00','1958040101:00:00','1958093014:59:59','1958093023:59:59' ],
+        [ [1958,9,30,15,0,0],[1958,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1959,3,31,15,59,59],[1959,3,31,23,59,59],
+          '1958093015:00:00','1958093023:00:00','1959033115:59:59','1959033123:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,3,31,16,0,0],[1959,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1959,9,30,14,59,59],[1959,9,30,23,59,59],
+          '1959033116:00:00','1959040101:00:00','1959093014:59:59','1959093023:59:59' ],
+        [ [1959,9,30,15,0,0],[1959,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1960,5,31,15,59,59],[1960,5,31,23,59,59],
+          '1959093015:00:00','1959093023:00:00','1960053115:59:59','1960053123:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,5,31,16,0,0],[1960,6,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1960,9,30,14,59,59],[1960,9,30,23,59,59],
+          '1960053116:00:00','1960060101:00:00','1960093014:59:59','1960093023:59:59' ],
+        [ [1960,9,30,15,0,0],[1960,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1961,5,31,15,59,59],[1961,5,31,23,59,59],
+          '1960093015:00:00','1960093023:00:00','1961053115:59:59','1961053123:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,5,31,16,0,0],[1961,6,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1961,9,30,14,59,59],[1961,9,30,23,59,59],
+          '1961053116:00:00','1961060101:00:00','1961093014:59:59','1961093023:59:59' ],
+        [ [1961,9,30,15,0,0],[1961,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1974,3,31,15,59,59],[1974,3,31,23,59,59],
+          '1961093015:00:00','1961093023:00:00','1974033115:59:59','1974033123:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,31,16,0,0],[1974,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1974,9,30,14,59,59],[1974,9,30,23,59,59],
+          '1974033116:00:00','1974040101:00:00','1974093014:59:59','1974093023:59:59' ],
+        [ [1974,9,30,15,0,0],[1974,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1975,3,31,15,59,59],[1975,3,31,23,59,59],
+          '1974093015:00:00','1974093023:00:00','1975033115:59:59','1975033123:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,31,16,0,0],[1975,4,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1975,9,30,14,59,59],[1975,9,30,23,59,59],
+          '1975033116:00:00','1975040101:00:00','1975093014:59:59','1975093023:59:59' ],
+        [ [1975,9,30,15,0,0],[1975,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[1979,6,30,15,59,59],[1979,6,30,23,59,59],
+          '1975093015:00:00','1975093023:00:00','1979063015:59:59','1979063023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,6,30,16,0,0],[1979,7,1,1,0,0],'+09:00:00',[9,0,0],
+          'CDT',1,[1979,9,30,14,59,59],[1979,9,30,23,59,59],
+          '1979063016:00:00','1979070101:00:00','1979093014:59:59','1979093023:59:59' ],
+        [ [1979,9,30,15,0,0],[1979,9,30,23,0,0],'+08:00:00',[8,0,0],
+          'CST',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '1979093015:00:00','1979093023:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astash00.pm b/lib/Date/Manip/TZ/astash00.pm
new file mode 100644
index 0000000..4a91704
--- /dev/null
+++ b/lib/Date/Manip/TZ/astash00.pm
@@ -0,0 +1,154 @@
+package #
+Date::Manip::TZ::astash00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,37,11],'+04:37:11',[4,37,11],
+          'LMT',0,[1924,5,1,19,22,48],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010204:37:11','1924050119:22:48','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,19,22,49],[1924,5,2,0,22,49],'+05:00:00',[5,0,0],
+          '+05',0,[1930,6,20,18,59,59],[1930,6,20,23,59,59],
+          '1924050119:22:49','1924050200:22:49','1930062018:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,19,0,0],[1930,6,21,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1981,3,31,17,59,59],[1981,3,31,23,59,59],
+          '1930062019:00:00','1930062101:00:00','1981033117:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,18,0,0],[1981,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1981,9,30,16,59,59],[1981,9,30,23,59,59],
+          '1981033118:00:00','1981040101:00:00','1981093016:59:59','1981093023:59:59' ],
+        [ [1981,9,30,17,0,0],[1981,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1982,3,31,17,59,59],[1982,3,31,23,59,59],
+          '1981093017:00:00','1981093023:00:00','1982033117:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,18,0,0],[1982,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1982,9,30,16,59,59],[1982,9,30,23,59,59],
+          '1982033118:00:00','1982040101:00:00','1982093016:59:59','1982093023:59:59' ],
+        [ [1982,9,30,17,0,0],[1982,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1983,3,31,17,59,59],[1983,3,31,23,59,59],
+          '1982093017:00:00','1982093023:00:00','1983033117:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,18,0,0],[1983,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1983,9,30,16,59,59],[1983,9,30,23,59,59],
+          '1983033118:00:00','1983040101:00:00','1983093016:59:59','1983093023:59:59' ],
+        [ [1983,9,30,17,0,0],[1983,9,30,23,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1984,3,31,17,59,59],[1984,3,31,23,59,59],
+          '1983093017:00:00','1983093023:00:00','1984033117:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,18,0,0],[1984,4,1,1,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1984,9,29,19,59,59],[1984,9,30,2,59,59],
+          '1984033118:00:00','1984040101:00:00','1984092919:59:59','1984093002:59:59' ],
+        [ [1984,9,29,20,0,0],[1984,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1985,3,30,19,59,59],[1985,3,31,1,59,59],
+          '1984092920:00:00','1984093002:00:00','1985033019:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,20,0,0],[1985,3,31,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1985,9,28,19,59,59],[1985,9,29,2,59,59],
+          '1985033020:00:00','1985033103:00:00','1985092819:59:59','1985092902:59:59' ],
+        [ [1985,9,28,20,0,0],[1985,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1986,3,29,19,59,59],[1986,3,30,1,59,59],
+          '1985092820:00:00','1985092902:00:00','1986032919:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,20,0,0],[1986,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1986,9,27,19,59,59],[1986,9,28,2,59,59],
+          '1986032920:00:00','1986033003:00:00','1986092719:59:59','1986092802:59:59' ],
+        [ [1986,9,27,20,0,0],[1986,9,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1987,3,28,19,59,59],[1987,3,29,1,59,59],
+          '1986092720:00:00','1986092802:00:00','1987032819:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,20,0,0],[1987,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1987,9,26,19,59,59],[1987,9,27,2,59,59],
+          '1987032820:00:00','1987032903:00:00','1987092619:59:59','1987092702:59:59' ],
+        [ [1987,9,26,20,0,0],[1987,9,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1988,3,26,19,59,59],[1988,3,27,1,59,59],
+          '1987092620:00:00','1987092702:00:00','1988032619:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,20,0,0],[1988,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1988,9,24,19,59,59],[1988,9,25,2,59,59],
+          '1988032620:00:00','1988032703:00:00','1988092419:59:59','1988092502:59:59' ],
+        [ [1988,9,24,20,0,0],[1988,9,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1989,3,25,19,59,59],[1989,3,26,1,59,59],
+          '1988092420:00:00','1988092502:00:00','1989032519:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,20,0,0],[1989,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1989,9,23,19,59,59],[1989,9,24,2,59,59],
+          '1989032520:00:00','1989032603:00:00','1989092319:59:59','1989092402:59:59' ],
+        [ [1989,9,23,20,0,0],[1989,9,24,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1990,3,24,19,59,59],[1990,3,25,1,59,59],
+          '1989092320:00:00','1989092402:00:00','1990032419:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,20,0,0],[1990,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1990,9,29,19,59,59],[1990,9,30,2,59,59],
+          '1990032420:00:00','1990032503:00:00','1990092919:59:59','1990093002:59:59' ],
+        [ [1990,9,29,20,0,0],[1990,9,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1991,3,30,19,59,59],[1991,3,31,1,59,59],
+          '1990092920:00:00','1990093002:00:00','1991033019:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,20,0,0],[1991,3,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1991,9,28,20,59,59],[1991,9,29,2,59,59],
+          '1991033020:00:00','1991033102:00:00','1991092820:59:59','1991092902:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1991092821:00:00','1991092902:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astbil00.pm b/lib/Date/Manip/TZ/astbil00.pm
new file mode 100644
index 0000000..82a01c8
--- /dev/null
+++ b/lib/Date/Manip/TZ/astbil00.pm
@@ -0,0 +1,280 @@
+package #
+Date::Manip::TZ::astbil00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,59,11],'+02:59:11',[2,59,11],
+          'LMT',0,[1879,12,31,21,0,48],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:59:11','1879123121:00:48','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,0,49],[1880,1,1,0,0,0],'+02:59:11',[2,59,11],
+          'TBMT',0,[1924,5,1,21,0,48],[1924,5,1,23,59,59],
+          '1879123121:00:49','1880010100:00:00','1924050121:00:48','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,21,0,49],[1924,5,2,0,0,49],'+03:00:00',[3,0,0],
+          '+03',0,[1957,2,28,20,59,59],[1957,2,28,23,59,59],
+          '1924050121:00:49','1924050200:00:49','1957022820:59:59','1957022823:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,2,28,21,0,0],[1957,3,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1957022821:00:00','1957030101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1989,9,23,21,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032603:00:00','1989092321:59:59','1989092402:59:59' ],
+        [ [1989,9,23,22,0,0],[1989,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1990,3,24,21,59,59],[1990,3,25,1,59,59],
+          '1989092322:00:00','1989092402:00:00','1990032421:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1990,9,29,21,59,59],[1990,9,30,2,59,59],
+          '1990032422:00:00','1990032503:00:00','1990092921:59:59','1990093002:59:59' ],
+        [ [1990,9,29,22,0,0],[1990,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1991,3,30,21,59,59],[1991,3,31,1,59,59],
+          '1990092922:00:00','1990093002:00:00','1991033021:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1991,9,28,22,59,59],[1991,9,29,2,59,59],
+          '1991033022:00:00','1991033102:00:00','1991092822:59:59','1991092902:59:59' ],
+        [ [1991,9,28,23,0,0],[1991,9,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1992,3,28,20,59,59],[1992,3,28,23,59,59],
+          '1991092823:00:00','1991092902:00:00','1992032820:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,21,0,0],[1992,3,29,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,19,59,59],[1992,9,26,23,59,59],
+          '1992032821:00:00','1992032901:00:00','1992092619:59:59','1992092623:59:59' ],
+        [ [1992,9,26,20,0,0],[1992,9,26,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,20,59,59],[1993,3,27,23,59,59],
+          '1992092620:00:00','1992092623:00:00','1993032720:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,19,59,59],[1993,9,25,23,59,59],
+          '1993032721:00:00','1993032801:00:00','1993092519:59:59','1993092523:59:59' ],
+        [ [1993,9,25,20,0,0],[1993,9,25,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,20,59,59],[1994,3,26,23,59,59],
+          '1993092520:00:00','1993092523:00:00','1994032620:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,19,59,59],[1994,9,24,23,59,59],
+          '1994032621:00:00','1994032701:00:00','1994092419:59:59','1994092423:59:59' ],
+        [ [1994,9,24,20,0,0],[1994,9,25,0,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1995,3,25,19,59,59],[1995,3,25,23,59,59],
+          '1994092420:00:00','1994092500:00:00','1995032519:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,20,0,0],[1995,3,26,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1995,9,23,18,59,59],[1995,9,23,23,59,59],
+          '1995032520:00:00','1995032601:00:00','1995092318:59:59','1995092323:59:59' ],
+        [ [1995,9,23,19,0,0],[1995,9,23,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1996,3,30,19,59,59],[1996,3,30,23,59,59],
+          '1995092319:00:00','1995092323:00:00','1996033019:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,20,0,0],[1996,3,31,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,18,59,59],[1997,10,25,23,59,59],
+          '1996033020:00:00','1996033101:00:00','1997102518:59:59','1997102523:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,10,25,19,0,0],[1997,10,25,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,19,59,59],[1998,3,28,23,59,59],
+          '1997102519:00:00','1997102523:00:00','1998032819:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,20,0,0],[1998,3,29,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,18,59,59],[1998,10,24,23,59,59],
+          '1998032820:00:00','1998032901:00:00','1998102418:59:59','1998102423:59:59' ],
+        [ [1998,10,24,19,0,0],[1998,10,24,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,19,59,59],[1999,3,27,23,59,59],
+          '1998102419:00:00','1998102423:00:00','1999032719:59:59','1999032723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,20,0,0],[1999,3,28,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,18,59,59],[1999,10,30,23,59,59],
+          '1999032720:00:00','1999032801:00:00','1999103018:59:59','1999103023:59:59' ],
+        [ [1999,10,30,19,0,0],[1999,10,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,19,59,59],[2000,3,25,23,59,59],
+          '1999103019:00:00','1999103023:00:00','2000032519:59:59','2000032523:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,20,0,0],[2000,3,26,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,18,59,59],[2000,10,28,23,59,59],
+          '2000032520:00:00','2000032601:00:00','2000102818:59:59','2000102823:59:59' ],
+        [ [2000,10,28,19,0,0],[2000,10,28,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,19,59,59],[2001,3,24,23,59,59],
+          '2000102819:00:00','2000102823:00:00','2001032419:59:59','2001032423:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,20,0,0],[2001,3,25,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,18,59,59],[2001,10,27,23,59,59],
+          '2001032420:00:00','2001032501:00:00','2001102718:59:59','2001102723:59:59' ],
+        [ [2001,10,27,19,0,0],[2001,10,27,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,19,59,59],[2002,3,30,23,59,59],
+          '2001102719:00:00','2001102723:00:00','2002033019:59:59','2002033023:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,20,0,0],[2002,3,31,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,18,59,59],[2002,10,26,23,59,59],
+          '2002033020:00:00','2002033101:00:00','2002102618:59:59','2002102623:59:59' ],
+        [ [2002,10,26,19,0,0],[2002,10,26,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,19,59,59],[2003,3,29,23,59,59],
+          '2002102619:00:00','2002102623:00:00','2003032919:59:59','2003032923:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,18,59,59],[2003,10,25,23,59,59],
+          '2003032920:00:00','2003033001:00:00','2003102518:59:59','2003102523:59:59' ],
+        [ [2003,10,25,19,0,0],[2003,10,25,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,19,59,59],[2004,3,27,23,59,59],
+          '2003102519:00:00','2003102523:00:00','2004032719:59:59','2004032723:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,6,26,18,59,59],[2004,6,26,23,59,59],
+          '2004032720:00:00','2004032801:00:00','2004062618:59:59','2004062623:59:59' ],
+        [ [2004,6,26,19,0,0],[2004,6,26,23,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004062619:00:00','2004062623:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2005032623:00:00','2005032703:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astehr00.pm b/lib/Date/Manip/TZ/astehr00.pm
new file mode 100644
index 0000000..c45954a
--- /dev/null
+++ b/lib/Date/Manip/TZ/astehr00.pm
@@ -0,0 +1,847 @@
+package #
+Date::Manip::TZ::astehr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,25,44],'+03:25:44',[3,25,44],
+          'LMT',0,[1915,12,31,20,34,15],[1915,12,31,23,59,59],
+          '0001010200:00:00','0001010203:25:44','1915123120:34:15','1915123123:59:59' ],
+     ],
+   1915 =>
+     [
+        [ [1915,12,31,20,34,16],[1916,1,1,0,0,0],'+03:25:44',[3,25,44],
+          'TMT',0,[1945,12,31,20,34,15],[1945,12,31,23,59,59],
+          '1915123120:34:16','1916010100:00:00','1945123120:34:15','1945123123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,12,31,20,34,16],[1946,1,1,0,4,16],'+03:30:00',[3,30,0],
+          '+0330',0,[1977,10,31,20,29,59],[1977,10,31,23,59,59],
+          '1945123120:34:16','1946010100:04:16','1977103120:29:59','1977103123:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,10,31,20,30,0],[1977,11,1,0,30,0],'+04:00:00',[4,0,0],
+          '+04',0,[1978,3,20,19,59,59],[1978,3,20,23,59,59],
+          '1977103120:30:00','1977110100:30:00','1978032019:59:59','1978032023:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,20,20,0,0],[1978,3,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1978,10,20,18,59,59],[1978,10,20,23,59,59],
+          '1978032020:00:00','1978032101:00:00','1978102018:59:59','1978102023:59:59' ],
+        [ [1978,10,20,19,0,0],[1978,10,20,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1978,12,31,19,59,59],[1978,12,31,23,59,59],
+          '1978102019:00:00','1978102023:00:00','1978123119:59:59','1978123123:59:59' ],
+        [ [1978,12,31,20,0,0],[1978,12,31,23,30,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1979,3,20,20,29,59],[1979,3,20,23,59,59],
+          '1978123120:00:00','1978123123:30:00','1979032020:29:59','1979032023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,20,20,30,0],[1979,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1979,9,18,19,29,59],[1979,9,18,23,59,59],
+          '1979032020:30:00','1979032101:00:00','1979091819:29:59','1979091823:59:59' ],
+        [ [1979,9,18,19,30,0],[1979,9,18,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1980,3,20,20,29,59],[1980,3,20,23,59,59],
+          '1979091819:30:00','1979091823:00:00','1980032020:29:59','1980032023:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,20,20,30,0],[1980,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1980,9,22,19,29,59],[1980,9,22,23,59,59],
+          '1980032020:30:00','1980032101:00:00','1980092219:29:59','1980092223:59:59' ],
+        [ [1980,9,22,19,30,0],[1980,9,22,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1991,5,2,20,29,59],[1991,5,2,23,59,59],
+          '1980092219:30:00','1980092223:00:00','1991050220:29:59','1991050223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,5,2,20,30,0],[1991,5,3,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1991,9,21,19,29,59],[1991,9,21,23,59,59],
+          '1991050220:30:00','1991050301:00:00','1991092119:29:59','1991092123:59:59' ],
+        [ [1991,9,21,19,30,0],[1991,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1992,3,21,20,29,59],[1992,3,21,23,59,59],
+          '1991092119:30:00','1991092123:00:00','1992032120:29:59','1992032123:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,21,20,30,0],[1992,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1992,9,21,19,29,59],[1992,9,21,23,59,59],
+          '1992032120:30:00','1992032201:00:00','1992092119:29:59','1992092123:59:59' ],
+        [ [1992,9,21,19,30,0],[1992,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1993,3,21,20,29,59],[1993,3,21,23,59,59],
+          '1992092119:30:00','1992092123:00:00','1993032120:29:59','1993032123:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,21,20,30,0],[1993,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1993,9,21,19,29,59],[1993,9,21,23,59,59],
+          '1993032120:30:00','1993032201:00:00','1993092119:29:59','1993092123:59:59' ],
+        [ [1993,9,21,19,30,0],[1993,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1994,3,21,20,29,59],[1994,3,21,23,59,59],
+          '1993092119:30:00','1993092123:00:00','1994032120:29:59','1994032123:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,21,20,30,0],[1994,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1994,9,21,19,29,59],[1994,9,21,23,59,59],
+          '1994032120:30:00','1994032201:00:00','1994092119:29:59','1994092123:59:59' ],
+        [ [1994,9,21,19,30,0],[1994,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1995,3,21,20,29,59],[1995,3,21,23,59,59],
+          '1994092119:30:00','1994092123:00:00','1995032120:29:59','1995032123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,21,20,30,0],[1995,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1995,9,21,19,29,59],[1995,9,21,23,59,59],
+          '1995032120:30:00','1995032201:00:00','1995092119:29:59','1995092123:59:59' ],
+        [ [1995,9,21,19,30,0],[1995,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1996,3,20,20,29,59],[1996,3,20,23,59,59],
+          '1995092119:30:00','1995092123:00:00','1996032020:29:59','1996032023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,20,20,30,0],[1996,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1996,9,20,19,29,59],[1996,9,20,23,59,59],
+          '1996032020:30:00','1996032101:00:00','1996092019:29:59','1996092023:59:59' ],
+        [ [1996,9,20,19,30,0],[1996,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1997,3,21,20,29,59],[1997,3,21,23,59,59],
+          '1996092019:30:00','1996092023:00:00','1997032120:29:59','1997032123:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,21,20,30,0],[1997,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1997,9,21,19,29,59],[1997,9,21,23,59,59],
+          '1997032120:30:00','1997032201:00:00','1997092119:29:59','1997092123:59:59' ],
+        [ [1997,9,21,19,30,0],[1997,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1998,3,21,20,29,59],[1998,3,21,23,59,59],
+          '1997092119:30:00','1997092123:00:00','1998032120:29:59','1998032123:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,21,20,30,0],[1998,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1998,9,21,19,29,59],[1998,9,21,23,59,59],
+          '1998032120:30:00','1998032201:00:00','1998092119:29:59','1998092123:59:59' ],
+        [ [1998,9,21,19,30,0],[1998,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[1999,3,21,20,29,59],[1999,3,21,23,59,59],
+          '1998092119:30:00','1998092123:00:00','1999032120:29:59','1999032123:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,21,20,30,0],[1999,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[1999,9,21,19,29,59],[1999,9,21,23,59,59],
+          '1999032120:30:00','1999032201:00:00','1999092119:29:59','1999092123:59:59' ],
+        [ [1999,9,21,19,30,0],[1999,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2000,3,20,20,29,59],[2000,3,20,23,59,59],
+          '1999092119:30:00','1999092123:00:00','2000032020:29:59','2000032023:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,20,20,30,0],[2000,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2000,9,20,19,29,59],[2000,9,20,23,59,59],
+          '2000032020:30:00','2000032101:00:00','2000092019:29:59','2000092023:59:59' ],
+        [ [2000,9,20,19,30,0],[2000,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2001,3,21,20,29,59],[2001,3,21,23,59,59],
+          '2000092019:30:00','2000092023:00:00','2001032120:29:59','2001032123:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,21,20,30,0],[2001,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2001,9,21,19,29,59],[2001,9,21,23,59,59],
+          '2001032120:30:00','2001032201:00:00','2001092119:29:59','2001092123:59:59' ],
+        [ [2001,9,21,19,30,0],[2001,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2002,3,21,20,29,59],[2002,3,21,23,59,59],
+          '2001092119:30:00','2001092123:00:00','2002032120:29:59','2002032123:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,21,20,30,0],[2002,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2002,9,21,19,29,59],[2002,9,21,23,59,59],
+          '2002032120:30:00','2002032201:00:00','2002092119:29:59','2002092123:59:59' ],
+        [ [2002,9,21,19,30,0],[2002,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2003,3,21,20,29,59],[2003,3,21,23,59,59],
+          '2002092119:30:00','2002092123:00:00','2003032120:29:59','2003032123:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,21,20,30,0],[2003,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2003,9,21,19,29,59],[2003,9,21,23,59,59],
+          '2003032120:30:00','2003032201:00:00','2003092119:29:59','2003092123:59:59' ],
+        [ [2003,9,21,19,30,0],[2003,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2004,3,20,20,29,59],[2004,3,20,23,59,59],
+          '2003092119:30:00','2003092123:00:00','2004032020:29:59','2004032023:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,20,20,30,0],[2004,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2004,9,20,19,29,59],[2004,9,20,23,59,59],
+          '2004032020:30:00','2004032101:00:00','2004092019:29:59','2004092023:59:59' ],
+        [ [2004,9,20,19,30,0],[2004,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2005,3,21,20,29,59],[2005,3,21,23,59,59],
+          '2004092019:30:00','2004092023:00:00','2005032120:29:59','2005032123:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,21,20,30,0],[2005,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2005,9,21,19,29,59],[2005,9,21,23,59,59],
+          '2005032120:30:00','2005032201:00:00','2005092119:29:59','2005092123:59:59' ],
+        [ [2005,9,21,19,30,0],[2005,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2008,3,20,20,29,59],[2008,3,20,23,59,59],
+          '2005092119:30:00','2005092123:00:00','2008032020:29:59','2008032023:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,20,20,30,0],[2008,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2008,9,20,19,29,59],[2008,9,20,23,59,59],
+          '2008032020:30:00','2008032101:00:00','2008092019:29:59','2008092023:59:59' ],
+        [ [2008,9,20,19,30,0],[2008,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2009,3,21,20,29,59],[2009,3,21,23,59,59],
+          '2008092019:30:00','2008092023:00:00','2009032120:29:59','2009032123:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,21,20,30,0],[2009,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2009,9,21,19,29,59],[2009,9,21,23,59,59],
+          '2009032120:30:00','2009032201:00:00','2009092119:29:59','2009092123:59:59' ],
+        [ [2009,9,21,19,30,0],[2009,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2010,3,21,20,29,59],[2010,3,21,23,59,59],
+          '2009092119:30:00','2009092123:00:00','2010032120:29:59','2010032123:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,21,20,30,0],[2010,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2010,9,21,19,29,59],[2010,9,21,23,59,59],
+          '2010032120:30:00','2010032201:00:00','2010092119:29:59','2010092123:59:59' ],
+        [ [2010,9,21,19,30,0],[2010,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2011,3,21,20,29,59],[2011,3,21,23,59,59],
+          '2010092119:30:00','2010092123:00:00','2011032120:29:59','2011032123:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,21,20,30,0],[2011,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2011,9,21,19,29,59],[2011,9,21,23,59,59],
+          '2011032120:30:00','2011032201:00:00','2011092119:29:59','2011092123:59:59' ],
+        [ [2011,9,21,19,30,0],[2011,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2012,3,20,20,29,59],[2012,3,20,23,59,59],
+          '2011092119:30:00','2011092123:00:00','2012032020:29:59','2012032023:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,20,20,30,0],[2012,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2012,9,20,19,29,59],[2012,9,20,23,59,59],
+          '2012032020:30:00','2012032101:00:00','2012092019:29:59','2012092023:59:59' ],
+        [ [2012,9,20,19,30,0],[2012,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2013,3,21,20,29,59],[2013,3,21,23,59,59],
+          '2012092019:30:00','2012092023:00:00','2013032120:29:59','2013032123:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,21,20,30,0],[2013,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2013,9,21,19,29,59],[2013,9,21,23,59,59],
+          '2013032120:30:00','2013032201:00:00','2013092119:29:59','2013092123:59:59' ],
+        [ [2013,9,21,19,30,0],[2013,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2014,3,21,20,29,59],[2014,3,21,23,59,59],
+          '2013092119:30:00','2013092123:00:00','2014032120:29:59','2014032123:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,21,20,30,0],[2014,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2014,9,21,19,29,59],[2014,9,21,23,59,59],
+          '2014032120:30:00','2014032201:00:00','2014092119:29:59','2014092123:59:59' ],
+        [ [2014,9,21,19,30,0],[2014,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2015,3,21,20,29,59],[2015,3,21,23,59,59],
+          '2014092119:30:00','2014092123:00:00','2015032120:29:59','2015032123:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,21,20,30,0],[2015,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2015,9,21,19,29,59],[2015,9,21,23,59,59],
+          '2015032120:30:00','2015032201:00:00','2015092119:29:59','2015092123:59:59' ],
+        [ [2015,9,21,19,30,0],[2015,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2016,3,20,20,29,59],[2016,3,20,23,59,59],
+          '2015092119:30:00','2015092123:00:00','2016032020:29:59','2016032023:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,20,20,30,0],[2016,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2016,9,20,19,29,59],[2016,9,20,23,59,59],
+          '2016032020:30:00','2016032101:00:00','2016092019:29:59','2016092023:59:59' ],
+        [ [2016,9,20,19,30,0],[2016,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2017,3,21,20,29,59],[2017,3,21,23,59,59],
+          '2016092019:30:00','2016092023:00:00','2017032120:29:59','2017032123:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,21,20,30,0],[2017,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2017,9,21,19,29,59],[2017,9,21,23,59,59],
+          '2017032120:30:00','2017032201:00:00','2017092119:29:59','2017092123:59:59' ],
+        [ [2017,9,21,19,30,0],[2017,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2018,3,21,20,29,59],[2018,3,21,23,59,59],
+          '2017092119:30:00','2017092123:00:00','2018032120:29:59','2018032123:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,21,20,30,0],[2018,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2018,9,21,19,29,59],[2018,9,21,23,59,59],
+          '2018032120:30:00','2018032201:00:00','2018092119:29:59','2018092123:59:59' ],
+        [ [2018,9,21,19,30,0],[2018,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2019,3,21,20,29,59],[2019,3,21,23,59,59],
+          '2018092119:30:00','2018092123:00:00','2019032120:29:59','2019032123:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,21,20,30,0],[2019,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2019,9,21,19,29,59],[2019,9,21,23,59,59],
+          '2019032120:30:00','2019032201:00:00','2019092119:29:59','2019092123:59:59' ],
+        [ [2019,9,21,19,30,0],[2019,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2020,3,20,20,29,59],[2020,3,20,23,59,59],
+          '2019092119:30:00','2019092123:00:00','2020032020:29:59','2020032023:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,20,20,30,0],[2020,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2020,9,20,19,29,59],[2020,9,20,23,59,59],
+          '2020032020:30:00','2020032101:00:00','2020092019:29:59','2020092023:59:59' ],
+        [ [2020,9,20,19,30,0],[2020,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2021,3,21,20,29,59],[2021,3,21,23,59,59],
+          '2020092019:30:00','2020092023:00:00','2021032120:29:59','2021032123:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,21,20,30,0],[2021,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2021,9,21,19,29,59],[2021,9,21,23,59,59],
+          '2021032120:30:00','2021032201:00:00','2021092119:29:59','2021092123:59:59' ],
+        [ [2021,9,21,19,30,0],[2021,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2022,3,21,20,29,59],[2022,3,21,23,59,59],
+          '2021092119:30:00','2021092123:00:00','2022032120:29:59','2022032123:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,21,20,30,0],[2022,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2022,9,21,19,29,59],[2022,9,21,23,59,59],
+          '2022032120:30:00','2022032201:00:00','2022092119:29:59','2022092123:59:59' ],
+        [ [2022,9,21,19,30,0],[2022,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2023,3,21,20,29,59],[2023,3,21,23,59,59],
+          '2022092119:30:00','2022092123:00:00','2023032120:29:59','2023032123:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,21,20,30,0],[2023,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2023,9,21,19,29,59],[2023,9,21,23,59,59],
+          '2023032120:30:00','2023032201:00:00','2023092119:29:59','2023092123:59:59' ],
+        [ [2023,9,21,19,30,0],[2023,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2024,3,20,20,29,59],[2024,3,20,23,59,59],
+          '2023092119:30:00','2023092123:00:00','2024032020:29:59','2024032023:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,20,20,30,0],[2024,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2024,9,20,19,29,59],[2024,9,20,23,59,59],
+          '2024032020:30:00','2024032101:00:00','2024092019:29:59','2024092023:59:59' ],
+        [ [2024,9,20,19,30,0],[2024,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2025,3,21,20,29,59],[2025,3,21,23,59,59],
+          '2024092019:30:00','2024092023:00:00','2025032120:29:59','2025032123:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,21,20,30,0],[2025,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2025,9,21,19,29,59],[2025,9,21,23,59,59],
+          '2025032120:30:00','2025032201:00:00','2025092119:29:59','2025092123:59:59' ],
+        [ [2025,9,21,19,30,0],[2025,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2026,3,21,20,29,59],[2026,3,21,23,59,59],
+          '2025092119:30:00','2025092123:00:00','2026032120:29:59','2026032123:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,21,20,30,0],[2026,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2026,9,21,19,29,59],[2026,9,21,23,59,59],
+          '2026032120:30:00','2026032201:00:00','2026092119:29:59','2026092123:59:59' ],
+        [ [2026,9,21,19,30,0],[2026,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2027,3,21,20,29,59],[2027,3,21,23,59,59],
+          '2026092119:30:00','2026092123:00:00','2027032120:29:59','2027032123:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,21,20,30,0],[2027,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2027,9,21,19,29,59],[2027,9,21,23,59,59],
+          '2027032120:30:00','2027032201:00:00','2027092119:29:59','2027092123:59:59' ],
+        [ [2027,9,21,19,30,0],[2027,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2028,3,20,20,29,59],[2028,3,20,23,59,59],
+          '2027092119:30:00','2027092123:00:00','2028032020:29:59','2028032023:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,20,20,30,0],[2028,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2028,9,20,19,29,59],[2028,9,20,23,59,59],
+          '2028032020:30:00','2028032101:00:00','2028092019:29:59','2028092023:59:59' ],
+        [ [2028,9,20,19,30,0],[2028,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2029,3,20,20,29,59],[2029,3,20,23,59,59],
+          '2028092019:30:00','2028092023:00:00','2029032020:29:59','2029032023:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,20,20,30,0],[2029,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2029,9,20,19,29,59],[2029,9,20,23,59,59],
+          '2029032020:30:00','2029032101:00:00','2029092019:29:59','2029092023:59:59' ],
+        [ [2029,9,20,19,30,0],[2029,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2030,3,21,20,29,59],[2030,3,21,23,59,59],
+          '2029092019:30:00','2029092023:00:00','2030032120:29:59','2030032123:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,21,20,30,0],[2030,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2030,9,21,19,29,59],[2030,9,21,23,59,59],
+          '2030032120:30:00','2030032201:00:00','2030092119:29:59','2030092123:59:59' ],
+        [ [2030,9,21,19,30,0],[2030,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2031,3,21,20,29,59],[2031,3,21,23,59,59],
+          '2030092119:30:00','2030092123:00:00','2031032120:29:59','2031032123:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,21,20,30,0],[2031,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2031,9,21,19,29,59],[2031,9,21,23,59,59],
+          '2031032120:30:00','2031032201:00:00','2031092119:29:59','2031092123:59:59' ],
+        [ [2031,9,21,19,30,0],[2031,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2032,3,20,20,29,59],[2032,3,20,23,59,59],
+          '2031092119:30:00','2031092123:00:00','2032032020:29:59','2032032023:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,20,20,30,0],[2032,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2032,9,20,19,29,59],[2032,9,20,23,59,59],
+          '2032032020:30:00','2032032101:00:00','2032092019:29:59','2032092023:59:59' ],
+        [ [2032,9,20,19,30,0],[2032,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2033,3,20,20,29,59],[2033,3,20,23,59,59],
+          '2032092019:30:00','2032092023:00:00','2033032020:29:59','2033032023:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,20,20,30,0],[2033,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2033,9,20,19,29,59],[2033,9,20,23,59,59],
+          '2033032020:30:00','2033032101:00:00','2033092019:29:59','2033092023:59:59' ],
+        [ [2033,9,20,19,30,0],[2033,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2034,3,21,20,29,59],[2034,3,21,23,59,59],
+          '2033092019:30:00','2033092023:00:00','2034032120:29:59','2034032123:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,21,20,30,0],[2034,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2034,9,21,19,29,59],[2034,9,21,23,59,59],
+          '2034032120:30:00','2034032201:00:00','2034092119:29:59','2034092123:59:59' ],
+        [ [2034,9,21,19,30,0],[2034,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2035,3,21,20,29,59],[2035,3,21,23,59,59],
+          '2034092119:30:00','2034092123:00:00','2035032120:29:59','2035032123:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,21,20,30,0],[2035,3,22,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2035,9,21,19,29,59],[2035,9,21,23,59,59],
+          '2035032120:30:00','2035032201:00:00','2035092119:29:59','2035092123:59:59' ],
+        [ [2035,9,21,19,30,0],[2035,9,21,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2036,3,20,20,29,59],[2036,3,20,23,59,59],
+          '2035092119:30:00','2035092123:00:00','2036032020:29:59','2036032023:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,20,20,30,0],[2036,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2036,9,20,19,29,59],[2036,9,20,23,59,59],
+          '2036032020:30:00','2036032101:00:00','2036092019:29:59','2036092023:59:59' ],
+        [ [2036,9,20,19,30,0],[2036,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2037,3,20,20,29,59],[2037,3,20,23,59,59],
+          '2036092019:30:00','2036092023:00:00','2037032020:29:59','2037032023:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,20,20,30,0],[2037,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2037,9,20,19,29,59],[2037,9,20,23,59,59],
+          '2037032020:30:00','2037032101:00:00','2037092019:29:59','2037092023:59:59' ],
+        [ [2037,9,20,19,30,0],[2037,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2038,3,20,20,29,59],[2038,3,20,23,59,59],
+          '2037092019:30:00','2037092023:00:00','2038032020:29:59','2038032023:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,20,20,30,0],[2038,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2038,9,20,19,29,59],[2038,9,20,23,59,59],
+          '2038032020:30:00','2038032101:00:00','2038092019:29:59','2038092023:59:59' ],
+        [ [2038,9,20,19,30,0],[2038,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2039,3,20,20,29,59],[2039,3,20,23,59,59],
+          '2038092019:30:00','2038092023:00:00','2039032020:29:59','2039032023:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,20,20,30,0],[2039,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2039,9,20,19,29,59],[2039,9,20,23,59,59],
+          '2039032020:30:00','2039032101:00:00','2039092019:29:59','2039092023:59:59' ],
+        [ [2039,9,20,19,30,0],[2039,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2040,3,20,20,29,59],[2040,3,20,23,59,59],
+          '2039092019:30:00','2039092023:00:00','2040032020:29:59','2040032023:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,20,20,30,0],[2040,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2040,9,20,19,29,59],[2040,9,20,23,59,59],
+          '2040032020:30:00','2040032101:00:00','2040092019:29:59','2040092023:59:59' ],
+        [ [2040,9,20,19,30,0],[2040,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2041,3,20,20,29,59],[2041,3,20,23,59,59],
+          '2040092019:30:00','2040092023:00:00','2041032020:29:59','2041032023:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,20,20,30,0],[2041,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2041,9,20,19,29,59],[2041,9,20,23,59,59],
+          '2041032020:30:00','2041032101:00:00','2041092019:29:59','2041092023:59:59' ],
+        [ [2041,9,20,19,30,0],[2041,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2042,3,20,20,29,59],[2042,3,20,23,59,59],
+          '2041092019:30:00','2041092023:00:00','2042032020:29:59','2042032023:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,20,20,30,0],[2042,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2042,9,20,19,29,59],[2042,9,20,23,59,59],
+          '2042032020:30:00','2042032101:00:00','2042092019:29:59','2042092023:59:59' ],
+        [ [2042,9,20,19,30,0],[2042,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2043,3,20,20,29,59],[2043,3,20,23,59,59],
+          '2042092019:30:00','2042092023:00:00','2043032020:29:59','2043032023:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,20,20,30,0],[2043,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2043,9,20,19,29,59],[2043,9,20,23,59,59],
+          '2043032020:30:00','2043032101:00:00','2043092019:29:59','2043092023:59:59' ],
+        [ [2043,9,20,19,30,0],[2043,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2044,3,20,20,29,59],[2044,3,20,23,59,59],
+          '2043092019:30:00','2043092023:00:00','2044032020:29:59','2044032023:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,20,20,30,0],[2044,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2044,9,20,19,29,59],[2044,9,20,23,59,59],
+          '2044032020:30:00','2044032101:00:00','2044092019:29:59','2044092023:59:59' ],
+        [ [2044,9,20,19,30,0],[2044,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2045,3,20,20,29,59],[2045,3,20,23,59,59],
+          '2044092019:30:00','2044092023:00:00','2045032020:29:59','2045032023:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,20,20,30,0],[2045,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2045,9,20,19,29,59],[2045,9,20,23,59,59],
+          '2045032020:30:00','2045032101:00:00','2045092019:29:59','2045092023:59:59' ],
+        [ [2045,9,20,19,30,0],[2045,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2046,3,20,20,29,59],[2046,3,20,23,59,59],
+          '2045092019:30:00','2045092023:00:00','2046032020:29:59','2046032023:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,20,20,30,0],[2046,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2046,9,20,19,29,59],[2046,9,20,23,59,59],
+          '2046032020:30:00','2046032101:00:00','2046092019:29:59','2046092023:59:59' ],
+        [ [2046,9,20,19,30,0],[2046,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2047,3,20,20,29,59],[2047,3,20,23,59,59],
+          '2046092019:30:00','2046092023:00:00','2047032020:29:59','2047032023:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,20,20,30,0],[2047,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2047,9,20,19,29,59],[2047,9,20,23,59,59],
+          '2047032020:30:00','2047032101:00:00','2047092019:29:59','2047092023:59:59' ],
+        [ [2047,9,20,19,30,0],[2047,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2048,3,20,20,29,59],[2048,3,20,23,59,59],
+          '2047092019:30:00','2047092023:00:00','2048032020:29:59','2048032023:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,20,20,30,0],[2048,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2048,9,20,19,29,59],[2048,9,20,23,59,59],
+          '2048032020:30:00','2048032101:00:00','2048092019:29:59','2048092023:59:59' ],
+        [ [2048,9,20,19,30,0],[2048,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2049,3,20,20,29,59],[2049,3,20,23,59,59],
+          '2048092019:30:00','2048092023:00:00','2049032020:29:59','2049032023:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,20,20,30,0],[2049,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2049,9,20,19,29,59],[2049,9,20,23,59,59],
+          '2049032020:30:00','2049032101:00:00','2049092019:29:59','2049092023:59:59' ],
+        [ [2049,9,20,19,30,0],[2049,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2050,3,20,20,29,59],[2050,3,20,23,59,59],
+          '2049092019:30:00','2049092023:00:00','2050032020:29:59','2050032023:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,20,20,30,0],[2050,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2050,9,20,19,29,59],[2050,9,20,23,59,59],
+          '2050032020:30:00','2050032101:00:00','2050092019:29:59','2050092023:59:59' ],
+        [ [2050,9,20,19,30,0],[2050,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2051,3,20,20,29,59],[2051,3,20,23,59,59],
+          '2050092019:30:00','2050092023:00:00','2051032020:29:59','2051032023:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,20,20,30,0],[2051,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2051,9,20,19,29,59],[2051,9,20,23,59,59],
+          '2051032020:30:00','2051032101:00:00','2051092019:29:59','2051092023:59:59' ],
+        [ [2051,9,20,19,30,0],[2051,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2052,3,20,20,29,59],[2052,3,20,23,59,59],
+          '2051092019:30:00','2051092023:00:00','2052032020:29:59','2052032023:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,20,20,30,0],[2052,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2052,9,20,19,29,59],[2052,9,20,23,59,59],
+          '2052032020:30:00','2052032101:00:00','2052092019:29:59','2052092023:59:59' ],
+        [ [2052,9,20,19,30,0],[2052,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2053,3,20,20,29,59],[2053,3,20,23,59,59],
+          '2052092019:30:00','2052092023:00:00','2053032020:29:59','2053032023:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,20,20,30,0],[2053,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2053,9,20,19,29,59],[2053,9,20,23,59,59],
+          '2053032020:30:00','2053032101:00:00','2053092019:29:59','2053092023:59:59' ],
+        [ [2053,9,20,19,30,0],[2053,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2054,3,20,20,29,59],[2054,3,20,23,59,59],
+          '2053092019:30:00','2053092023:00:00','2054032020:29:59','2054032023:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,20,20,30,0],[2054,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2054,9,20,19,29,59],[2054,9,20,23,59,59],
+          '2054032020:30:00','2054032101:00:00','2054092019:29:59','2054092023:59:59' ],
+        [ [2054,9,20,19,30,0],[2054,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2055,3,20,20,29,59],[2055,3,20,23,59,59],
+          '2054092019:30:00','2054092023:00:00','2055032020:29:59','2055032023:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,20,20,30,0],[2055,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2055,9,20,19,29,59],[2055,9,20,23,59,59],
+          '2055032020:30:00','2055032101:00:00','2055092019:29:59','2055092023:59:59' ],
+        [ [2055,9,20,19,30,0],[2055,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2056,3,20,20,29,59],[2056,3,20,23,59,59],
+          '2055092019:30:00','2055092023:00:00','2056032020:29:59','2056032023:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,20,20,30,0],[2056,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2056,9,20,19,29,59],[2056,9,20,23,59,59],
+          '2056032020:30:00','2056032101:00:00','2056092019:29:59','2056092023:59:59' ],
+        [ [2056,9,20,19,30,0],[2056,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2057,3,20,20,29,59],[2057,3,20,23,59,59],
+          '2056092019:30:00','2056092023:00:00','2057032020:29:59','2057032023:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,20,20,30,0],[2057,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2057,9,20,19,29,59],[2057,9,20,23,59,59],
+          '2057032020:30:00','2057032101:00:00','2057092019:29:59','2057092023:59:59' ],
+        [ [2057,9,20,19,30,0],[2057,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2058,3,20,20,29,59],[2058,3,20,23,59,59],
+          '2057092019:30:00','2057092023:00:00','2058032020:29:59','2058032023:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,20,20,30,0],[2058,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2058,9,20,19,29,59],[2058,9,20,23,59,59],
+          '2058032020:30:00','2058032101:00:00','2058092019:29:59','2058092023:59:59' ],
+        [ [2058,9,20,19,30,0],[2058,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2059,3,20,20,29,59],[2059,3,20,23,59,59],
+          '2058092019:30:00','2058092023:00:00','2059032020:29:59','2059032023:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,20,20,30,0],[2059,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2059,9,20,19,29,59],[2059,9,20,23,59,59],
+          '2059032020:30:00','2059032101:00:00','2059092019:29:59','2059092023:59:59' ],
+        [ [2059,9,20,19,30,0],[2059,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2060,3,20,20,29,59],[2060,3,20,23,59,59],
+          '2059092019:30:00','2059092023:00:00','2060032020:29:59','2060032023:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,20,20,30,0],[2060,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2060,9,20,19,29,59],[2060,9,20,23,59,59],
+          '2060032020:30:00','2060032101:00:00','2060092019:29:59','2060092023:59:59' ],
+        [ [2060,9,20,19,30,0],[2060,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2061,3,20,20,29,59],[2061,3,20,23,59,59],
+          '2060092019:30:00','2060092023:00:00','2061032020:29:59','2061032023:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,20,20,30,0],[2061,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2061,9,20,19,29,59],[2061,9,20,23,59,59],
+          '2061032020:30:00','2061032101:00:00','2061092019:29:59','2061092023:59:59' ],
+        [ [2061,9,20,19,30,0],[2061,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2062,3,20,20,29,59],[2062,3,20,23,59,59],
+          '2061092019:30:00','2061092023:00:00','2062032020:29:59','2062032023:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,20,20,30,0],[2062,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2062,9,20,19,29,59],[2062,9,20,23,59,59],
+          '2062032020:30:00','2062032101:00:00','2062092019:29:59','2062092023:59:59' ],
+        [ [2062,9,20,19,30,0],[2062,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2063,3,20,20,29,59],[2063,3,20,23,59,59],
+          '2062092019:30:00','2062092023:00:00','2063032020:29:59','2063032023:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,20,20,30,0],[2063,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2063,9,20,19,29,59],[2063,9,20,23,59,59],
+          '2063032020:30:00','2063032101:00:00','2063092019:29:59','2063092023:59:59' ],
+        [ [2063,9,20,19,30,0],[2063,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2064,3,20,20,29,59],[2064,3,20,23,59,59],
+          '2063092019:30:00','2063092023:00:00','2064032020:29:59','2064032023:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,20,20,30,0],[2064,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2064,9,20,19,29,59],[2064,9,20,23,59,59],
+          '2064032020:30:00','2064032101:00:00','2064092019:29:59','2064092023:59:59' ],
+        [ [2064,9,20,19,30,0],[2064,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2065,3,20,20,29,59],[2065,3,20,23,59,59],
+          '2064092019:30:00','2064092023:00:00','2065032020:29:59','2065032023:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,20,20,30,0],[2065,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2065,9,20,19,29,59],[2065,9,20,23,59,59],
+          '2065032020:30:00','2065032101:00:00','2065092019:29:59','2065092023:59:59' ],
+        [ [2065,9,20,19,30,0],[2065,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2066,3,20,20,29,59],[2066,3,20,23,59,59],
+          '2065092019:30:00','2065092023:00:00','2066032020:29:59','2066032023:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,20,20,30,0],[2066,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2066,9,20,19,29,59],[2066,9,20,23,59,59],
+          '2066032020:30:00','2066032101:00:00','2066092019:29:59','2066092023:59:59' ],
+        [ [2066,9,20,19,30,0],[2066,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2067,3,20,20,29,59],[2067,3,20,23,59,59],
+          '2066092019:30:00','2066092023:00:00','2067032020:29:59','2067032023:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,20,20,30,0],[2067,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2067,9,20,19,29,59],[2067,9,20,23,59,59],
+          '2067032020:30:00','2067032101:00:00','2067092019:29:59','2067092023:59:59' ],
+        [ [2067,9,20,19,30,0],[2067,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2068,3,20,20,29,59],[2068,3,20,23,59,59],
+          '2067092019:30:00','2067092023:00:00','2068032020:29:59','2068032023:59:59' ],
+     ],
+   2068 =>
+     [
+        [ [2068,3,20,20,30,0],[2068,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2068,9,20,19,29,59],[2068,9,20,23,59,59],
+          '2068032020:30:00','2068032101:00:00','2068092019:29:59','2068092023:59:59' ],
+        [ [2068,9,20,19,30,0],[2068,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2069,3,20,20,29,59],[2069,3,20,23,59,59],
+          '2068092019:30:00','2068092023:00:00','2069032020:29:59','2069032023:59:59' ],
+     ],
+   2069 =>
+     [
+        [ [2069,3,20,20,30,0],[2069,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2069,9,20,19,29,59],[2069,9,20,23,59,59],
+          '2069032020:30:00','2069032101:00:00','2069092019:29:59','2069092023:59:59' ],
+        [ [2069,9,20,19,30,0],[2069,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2070,3,20,20,29,59],[2070,3,20,23,59,59],
+          '2069092019:30:00','2069092023:00:00','2070032020:29:59','2070032023:59:59' ],
+     ],
+   2070 =>
+     [
+        [ [2070,3,20,20,30,0],[2070,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2070,9,20,19,29,59],[2070,9,20,23,59,59],
+          '2070032020:30:00','2070032101:00:00','2070092019:29:59','2070092023:59:59' ],
+        [ [2070,9,20,19,30,0],[2070,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2071,3,20,20,29,59],[2071,3,20,23,59,59],
+          '2070092019:30:00','2070092023:00:00','2071032020:29:59','2071032023:59:59' ],
+     ],
+   2071 =>
+     [
+        [ [2071,3,20,20,30,0],[2071,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2071,9,20,19,29,59],[2071,9,20,23,59,59],
+          '2071032020:30:00','2071032101:00:00','2071092019:29:59','2071092023:59:59' ],
+        [ [2071,9,20,19,30,0],[2071,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2072,3,20,20,29,59],[2072,3,20,23,59,59],
+          '2071092019:30:00','2071092023:00:00','2072032020:29:59','2072032023:59:59' ],
+     ],
+   2072 =>
+     [
+        [ [2072,3,20,20,30,0],[2072,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2072,9,20,19,29,59],[2072,9,20,23,59,59],
+          '2072032020:30:00','2072032101:00:00','2072092019:29:59','2072092023:59:59' ],
+        [ [2072,9,20,19,30,0],[2072,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2073,3,20,20,29,59],[2073,3,20,23,59,59],
+          '2072092019:30:00','2072092023:00:00','2073032020:29:59','2073032023:59:59' ],
+     ],
+   2073 =>
+     [
+        [ [2073,3,20,20,30,0],[2073,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2073,9,20,19,29,59],[2073,9,20,23,59,59],
+          '2073032020:30:00','2073032101:00:00','2073092019:29:59','2073092023:59:59' ],
+        [ [2073,9,20,19,30,0],[2073,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2074,3,20,20,29,59],[2074,3,20,23,59,59],
+          '2073092019:30:00','2073092023:00:00','2074032020:29:59','2074032023:59:59' ],
+     ],
+   2074 =>
+     [
+        [ [2074,3,20,20,30,0],[2074,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2074,9,20,19,29,59],[2074,9,20,23,59,59],
+          '2074032020:30:00','2074032101:00:00','2074092019:29:59','2074092023:59:59' ],
+        [ [2074,9,20,19,30,0],[2074,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2075,3,20,20,29,59],[2075,3,20,23,59,59],
+          '2074092019:30:00','2074092023:00:00','2075032020:29:59','2075032023:59:59' ],
+     ],
+   2075 =>
+     [
+        [ [2075,3,20,20,30,0],[2075,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2075,9,20,19,29,59],[2075,9,20,23,59,59],
+          '2075032020:30:00','2075032101:00:00','2075092019:29:59','2075092023:59:59' ],
+        [ [2075,9,20,19,30,0],[2075,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[2076,3,20,20,29,59],[2076,3,20,23,59,59],
+          '2075092019:30:00','2075092023:00:00','2076032020:29:59','2076032023:59:59' ],
+     ],
+   2076 =>
+     [
+        [ [2076,3,20,20,30,0],[2076,3,21,1,0,0],'+04:30:00',[4,30,0],
+          '+0430',1,[2076,9,20,19,29,59],[2076,9,20,23,59,59],
+          '2076032020:30:00','2076032101:00:00','2076092019:29:59','2076092023:59:59' ],
+        [ [2076,9,20,19,30,0],[2076,9,20,23,0,0],'+03:30:00',[3,30,0],
+          '+0330',0,[9999,12,31,0,0,0],[9999,12,31,3,30,0],
+          '2076092019:30:00','2076092023:00:00','9999123100:00:00','9999123103:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asthim00.pm b/lib/Date/Manip/TZ/asthim00.pm
new file mode 100644
index 0000000..6a9778d
--- /dev/null
+++ b/lib/Date/Manip/TZ/asthim00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::asthim00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,58,36],'+05:58:36',[5,58,36],
+          'LMT',0,[1947,8,14,18,1,23],[1947,8,14,23,59,59],
+          '0001010200:00:00','0001010205:58:36','1947081418:01:23','1947081423:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,8,14,18,1,24],[1947,8,14,23,31,24],'+05:30:00',[5,30,0],
+          '+0530',0,[1987,9,30,18,29,59],[1987,9,30,23,59,59],
+          '1947081418:01:24','1947081423:31:24','1987093018:29:59','1987093023:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,9,30,18,30,0],[1987,10,1,0,30,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '1987093018:30:00','1987100100:30:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astoky00.pm b/lib/Date/Manip/TZ/astoky00.pm
new file mode 100644
index 0000000..b65e8ec
--- /dev/null
+++ b/lib/Date/Manip/TZ/astoky00.pm
@@ -0,0 +1,85 @@
+package #
+Date::Manip::TZ::astoky00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,18,59],'+09:18:59',[9,18,59],
+          'LMT',0,[1887,12,31,14,59,59],[1888,1,1,0,18,58],
+          '0001010200:00:00','0001010209:18:59','1887123114:59:59','1888010100:18:58' ],
+     ],
+   1887 =>
+     [
+        [ [1887,12,31,15,0,0],[1888,1,1,0,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1948,5,1,16,59,59],[1948,5,2,1,59,59],
+          '1887123115:00:00','1888010100:00:00','1948050116:59:59','1948050201:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,1,17,0,0],[1948,5,2,3,0,0],'+10:00:00',[10,0,0],
+          'JDT',1,[1948,9,10,15,59,59],[1948,9,11,1,59,59],
+          '1948050117:00:00','1948050203:00:00','1948091015:59:59','1948091101:59:59' ],
+        [ [1948,9,10,16,0,0],[1948,9,11,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1949,4,2,16,59,59],[1949,4,3,1,59,59],
+          '1948091016:00:00','1948091101:00:00','1949040216:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,2,17,0,0],[1949,4,3,3,0,0],'+10:00:00',[10,0,0],
+          'JDT',1,[1949,9,9,15,59,59],[1949,9,10,1,59,59],
+          '1949040217:00:00','1949040303:00:00','1949090915:59:59','1949091001:59:59' ],
+        [ [1949,9,9,16,0,0],[1949,9,10,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1950,5,6,16,59,59],[1950,5,7,1,59,59],
+          '1949090916:00:00','1949091001:00:00','1950050616:59:59','1950050701:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,5,6,17,0,0],[1950,5,7,3,0,0],'+10:00:00',[10,0,0],
+          'JDT',1,[1950,9,8,15,59,59],[1950,9,9,1,59,59],
+          '1950050617:00:00','1950050703:00:00','1950090815:59:59','1950090901:59:59' ],
+        [ [1950,9,8,16,0,0],[1950,9,9,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[1951,5,5,16,59,59],[1951,5,6,1,59,59],
+          '1950090816:00:00','1950090901:00:00','1951050516:59:59','1951050601:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,5,5,17,0,0],[1951,5,6,3,0,0],'+10:00:00',[10,0,0],
+          'JDT',1,[1951,9,7,15,59,59],[1951,9,8,1,59,59],
+          '1951050517:00:00','1951050603:00:00','1951090715:59:59','1951090801:59:59' ],
+        [ [1951,9,7,16,0,0],[1951,9,8,1,0,0],'+09:00:00',[9,0,0],
+          'JST',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '1951090716:00:00','1951090801:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/astoms00.pm b/lib/Date/Manip/TZ/astoms00.pm
new file mode 100644
index 0000000..2f2a3aa
--- /dev/null
+++ b/lib/Date/Manip/TZ/astoms00.pm
@@ -0,0 +1,349 @@
+package #
+Date::Manip::TZ::astoms00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,39,51],'+05:39:51',[5,39,51],
+          'LMT',0,[1919,12,21,18,20,8],[1919,12,21,23,59,59],
+          '0001010200:00:00','0001010205:39:51','1919122118:20:08','1919122123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,21,18,20,9],[1919,12,22,0,20,9],'+06:00:00',[6,0,0],
+          '+06',0,[1930,6,20,17,59,59],[1930,6,20,23,59,59],
+          '1919122118:20:09','1919122200:20:09','1930062017:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,18,0,0],[1930,6,21,1,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1981,3,31,16,59,59],[1981,3,31,23,59,59],
+          '1930062018:00:00','1930062101:00:00','1981033116:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,17,0,0],[1981,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1981,9,30,15,59,59],[1981,9,30,23,59,59],
+          '1981033117:00:00','1981040101:00:00','1981093015:59:59','1981093023:59:59' ],
+        [ [1981,9,30,16,0,0],[1981,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1982,3,31,16,59,59],[1982,3,31,23,59,59],
+          '1981093016:00:00','1981093023:00:00','1982033116:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,17,0,0],[1982,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1982,9,30,15,59,59],[1982,9,30,23,59,59],
+          '1982033117:00:00','1982040101:00:00','1982093015:59:59','1982093023:59:59' ],
+        [ [1982,9,30,16,0,0],[1982,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1983,3,31,16,59,59],[1983,3,31,23,59,59],
+          '1982093016:00:00','1982093023:00:00','1983033116:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,17,0,0],[1983,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1983,9,30,15,59,59],[1983,9,30,23,59,59],
+          '1983033117:00:00','1983040101:00:00','1983093015:59:59','1983093023:59:59' ],
+        [ [1983,9,30,16,0,0],[1983,9,30,23,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1984,3,31,16,59,59],[1984,3,31,23,59,59],
+          '1983093016:00:00','1983093023:00:00','1984033116:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,17,0,0],[1984,4,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1984,9,29,18,59,59],[1984,9,30,2,59,59],
+          '1984033117:00:00','1984040101:00:00','1984092918:59:59','1984093002:59:59' ],
+        [ [1984,9,29,19,0,0],[1984,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1985,3,30,18,59,59],[1985,3,31,1,59,59],
+          '1984092919:00:00','1984093002:00:00','1985033018:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,19,0,0],[1985,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1985,9,28,18,59,59],[1985,9,29,2,59,59],
+          '1985033019:00:00','1985033103:00:00','1985092818:59:59','1985092902:59:59' ],
+        [ [1985,9,28,19,0,0],[1985,9,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1986,3,29,18,59,59],[1986,3,30,1,59,59],
+          '1985092819:00:00','1985092902:00:00','1986032918:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,19,0,0],[1986,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1986,9,27,18,59,59],[1986,9,28,2,59,59],
+          '1986032919:00:00','1986033003:00:00','1986092718:59:59','1986092802:59:59' ],
+        [ [1986,9,27,19,0,0],[1986,9,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1987,3,28,18,59,59],[1987,3,29,1,59,59],
+          '1986092719:00:00','1986092802:00:00','1987032818:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,19,0,0],[1987,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1987,9,26,18,59,59],[1987,9,27,2,59,59],
+          '1987032819:00:00','1987032903:00:00','1987092618:59:59','1987092702:59:59' ],
+        [ [1987,9,26,19,0,0],[1987,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1988,3,26,18,59,59],[1988,3,27,1,59,59],
+          '1987092619:00:00','1987092702:00:00','1988032618:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,19,0,0],[1988,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1988,9,24,18,59,59],[1988,9,25,2,59,59],
+          '1988032619:00:00','1988032703:00:00','1988092418:59:59','1988092502:59:59' ],
+        [ [1988,9,24,19,0,0],[1988,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1989,3,25,18,59,59],[1989,3,26,1,59,59],
+          '1988092419:00:00','1988092502:00:00','1989032518:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,19,0,0],[1989,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1989,9,23,18,59,59],[1989,9,24,2,59,59],
+          '1989032519:00:00','1989032603:00:00','1989092318:59:59','1989092402:59:59' ],
+        [ [1989,9,23,19,0,0],[1989,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1990,3,24,18,59,59],[1990,3,25,1,59,59],
+          '1989092319:00:00','1989092402:00:00','1990032418:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,19,0,0],[1990,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1990,9,29,18,59,59],[1990,9,30,2,59,59],
+          '1990032419:00:00','1990032503:00:00','1990092918:59:59','1990093002:59:59' ],
+        [ [1990,9,29,19,0,0],[1990,9,30,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1991,3,30,18,59,59],[1991,3,31,1,59,59],
+          '1990092919:00:00','1990093002:00:00','1991033018:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,19,0,0],[1991,3,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[1991,9,28,19,59,59],[1991,9,29,2,59,59],
+          '1991033019:00:00','1991033102:00:00','1991092819:59:59','1991092902:59:59' ],
+        [ [1991,9,28,20,0,0],[1991,9,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[1992,1,18,19,59,59],[1992,1,19,1,59,59],
+          '1991092820:00:00','1991092902:00:00','1992011819:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,20,0,0],[1992,1,19,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1992,3,28,18,59,59],[1992,3,29,1,59,59],
+          '1992011820:00:00','1992011903:00:00','1992032818:59:59','1992032901:59:59' ],
+        [ [1992,3,28,19,0,0],[1992,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1992,9,26,18,59,59],[1992,9,27,2,59,59],
+          '1992032819:00:00','1992032903:00:00','1992092618:59:59','1992092702:59:59' ],
+        [ [1992,9,26,19,0,0],[1992,9,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1993,3,27,18,59,59],[1993,3,28,1,59,59],
+          '1992092619:00:00','1992092702:00:00','1993032718:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,19,0,0],[1993,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1993,9,25,18,59,59],[1993,9,26,2,59,59],
+          '1993032719:00:00','1993032803:00:00','1993092518:59:59','1993092602:59:59' ],
+        [ [1993,9,25,19,0,0],[1993,9,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1994,3,26,18,59,59],[1994,3,27,1,59,59],
+          '1993092519:00:00','1993092602:00:00','1994032618:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,19,0,0],[1994,3,27,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1994,9,24,18,59,59],[1994,9,25,2,59,59],
+          '1994032619:00:00','1994032703:00:00','1994092418:59:59','1994092502:59:59' ],
+        [ [1994,9,24,19,0,0],[1994,9,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1995,3,25,18,59,59],[1995,3,26,1,59,59],
+          '1994092419:00:00','1994092502:00:00','1995032518:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,19,0,0],[1995,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1995,9,23,18,59,59],[1995,9,24,2,59,59],
+          '1995032519:00:00','1995032603:00:00','1995092318:59:59','1995092402:59:59' ],
+        [ [1995,9,23,19,0,0],[1995,9,24,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1996,3,30,18,59,59],[1996,3,31,1,59,59],
+          '1995092319:00:00','1995092402:00:00','1996033018:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,19,0,0],[1996,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1996,10,26,18,59,59],[1996,10,27,2,59,59],
+          '1996033019:00:00','1996033103:00:00','1996102618:59:59','1996102702:59:59' ],
+        [ [1996,10,26,19,0,0],[1996,10,27,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1997,3,29,18,59,59],[1997,3,30,1,59,59],
+          '1996102619:00:00','1996102702:00:00','1997032918:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,19,0,0],[1997,3,30,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1997,10,25,18,59,59],[1997,10,26,2,59,59],
+          '1997032919:00:00','1997033003:00:00','1997102518:59:59','1997102602:59:59' ],
+        [ [1997,10,25,19,0,0],[1997,10,26,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1998,3,28,18,59,59],[1998,3,29,1,59,59],
+          '1997102519:00:00','1997102602:00:00','1998032818:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,19,0,0],[1998,3,29,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1998,10,24,18,59,59],[1998,10,25,2,59,59],
+          '1998032819:00:00','1998032903:00:00','1998102418:59:59','1998102502:59:59' ],
+        [ [1998,10,24,19,0,0],[1998,10,25,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[1999,3,27,18,59,59],[1999,3,28,1,59,59],
+          '1998102419:00:00','1998102502:00:00','1999032718:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,19,0,0],[1999,3,28,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[1999,10,30,18,59,59],[1999,10,31,2,59,59],
+          '1999032719:00:00','1999032803:00:00','1999103018:59:59','1999103102:59:59' ],
+        [ [1999,10,30,19,0,0],[1999,10,31,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2000,3,25,18,59,59],[2000,3,26,1,59,59],
+          '1999103019:00:00','1999103102:00:00','2000032518:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,19,0,0],[2000,3,26,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2000,10,28,18,59,59],[2000,10,29,2,59,59],
+          '2000032519:00:00','2000032603:00:00','2000102818:59:59','2000102902:59:59' ],
+        [ [2000,10,28,19,0,0],[2000,10,29,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2001,3,24,18,59,59],[2001,3,25,1,59,59],
+          '2000102819:00:00','2000102902:00:00','2001032418:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,19,0,0],[2001,3,25,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2001,10,27,18,59,59],[2001,10,28,2,59,59],
+          '2001032419:00:00','2001032503:00:00','2001102718:59:59','2001102802:59:59' ],
+        [ [2001,10,27,19,0,0],[2001,10,28,2,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2002,3,30,18,59,59],[2002,3,31,1,59,59],
+          '2001102719:00:00','2001102802:00:00','2002033018:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,19,0,0],[2002,3,31,3,0,0],'+08:00:00',[8,0,0],
+          '+08',1,[2002,4,30,18,59,59],[2002,5,1,2,59,59],
+          '2002033019:00:00','2002033103:00:00','2002043018:59:59','2002050102:59:59' ],
+        [ [2002,4,30,19,0,0],[2002,5,1,2,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2002,10,26,19,59,59],[2002,10,27,2,59,59],
+          '2002043019:00:00','2002050102:00:00','2002102619:59:59','2002102702:59:59' ],
+        [ [2002,10,26,20,0,0],[2002,10,27,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2003,3,29,19,59,59],[2003,3,30,1,59,59],
+          '2002102620:00:00','2002102702:00:00','2003032919:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,20,0,0],[2003,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2003,10,25,19,59,59],[2003,10,26,2,59,59],
+          '2003032920:00:00','2003033003:00:00','2003102519:59:59','2003102602:59:59' ],
+        [ [2003,10,25,20,0,0],[2003,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2004,3,27,19,59,59],[2004,3,28,1,59,59],
+          '2003102520:00:00','2003102602:00:00','2004032719:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,20,0,0],[2004,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2004,10,30,19,59,59],[2004,10,31,2,59,59],
+          '2004032720:00:00','2004032803:00:00','2004103019:59:59','2004103102:59:59' ],
+        [ [2004,10,30,20,0,0],[2004,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2005,3,26,19,59,59],[2005,3,27,1,59,59],
+          '2004103020:00:00','2004103102:00:00','2005032619:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,20,0,0],[2005,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2005,10,29,19,59,59],[2005,10,30,2,59,59],
+          '2005032620:00:00','2005032703:00:00','2005102919:59:59','2005103002:59:59' ],
+        [ [2005,10,29,20,0,0],[2005,10,30,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2006,3,25,19,59,59],[2006,3,26,1,59,59],
+          '2005102920:00:00','2005103002:00:00','2006032519:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,20,0,0],[2006,3,26,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2006,10,28,19,59,59],[2006,10,29,2,59,59],
+          '2006032520:00:00','2006032603:00:00','2006102819:59:59','2006102902:59:59' ],
+        [ [2006,10,28,20,0,0],[2006,10,29,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2007,3,24,19,59,59],[2007,3,25,1,59,59],
+          '2006102820:00:00','2006102902:00:00','2007032419:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,20,0,0],[2007,3,25,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2007,10,27,19,59,59],[2007,10,28,2,59,59],
+          '2007032420:00:00','2007032503:00:00','2007102719:59:59','2007102802:59:59' ],
+        [ [2007,10,27,20,0,0],[2007,10,28,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2008,3,29,19,59,59],[2008,3,30,1,59,59],
+          '2007102720:00:00','2007102802:00:00','2008032919:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,20,0,0],[2008,3,30,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2008,10,25,19,59,59],[2008,10,26,2,59,59],
+          '2008032920:00:00','2008033003:00:00','2008102519:59:59','2008102602:59:59' ],
+        [ [2008,10,25,20,0,0],[2008,10,26,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2009,3,28,19,59,59],[2009,3,29,1,59,59],
+          '2008102520:00:00','2008102602:00:00','2009032819:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,20,0,0],[2009,3,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2009,10,24,19,59,59],[2009,10,25,2,59,59],
+          '2009032820:00:00','2009032903:00:00','2009102419:59:59','2009102502:59:59' ],
+        [ [2009,10,24,20,0,0],[2009,10,25,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2010,3,27,19,59,59],[2010,3,28,1,59,59],
+          '2009102420:00:00','2009102502:00:00','2010032719:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,20,0,0],[2010,3,28,3,0,0],'+07:00:00',[7,0,0],
+          '+07',1,[2010,10,30,19,59,59],[2010,10,31,2,59,59],
+          '2010032720:00:00','2010032803:00:00','2010103019:59:59','2010103102:59:59' ],
+        [ [2010,10,30,20,0,0],[2010,10,31,2,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2011,3,26,19,59,59],[2011,3,27,1,59,59],
+          '2010103020:00:00','2010103102:00:00','2011032619:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,20,0,0],[2011,3,27,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[2014,10,25,18,59,59],[2014,10,26,1,59,59],
+          '2011032620:00:00','2011032703:00:00','2014102518:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,19,0,0],[2014,10,26,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2016,5,28,19,59,59],[2016,5,29,1,59,59],
+          '2014102519:00:00','2014102601:00:00','2016052819:59:59','2016052901:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,28,20,0,0],[2016,5,29,3,0,0],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '2016052820:00:00','2016052903:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asulaa00.pm b/lib/Date/Manip/TZ/asulaa00.pm
new file mode 100644
index 0000000..6cffcaf
--- /dev/null
+++ b/lib/Date/Manip/TZ/asulaa00.pm
@@ -0,0 +1,271 @@
+package #
+Date::Manip::TZ::asulaa00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,7,32],'+07:07:32',[7,7,32],
+          'LMT',0,[1905,7,31,16,52,27],[1905,7,31,23,59,59],
+          '0001010200:00:00','0001010207:07:32','1905073116:52:27','1905073123:59:59' ],
+     ],
+   1905 =>
+     [
+        [ [1905,7,31,16,52,28],[1905,7,31,23,52,28],'+07:00:00',[7,0,0],
+          '+07',0,[1977,12,31,16,59,59],[1977,12,31,23,59,59],
+          '1905073116:52:28','1905073123:52:28','1977123116:59:59','1977123123:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,12,31,17,0,0],[1978,1,1,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1983,3,31,15,59,59],[1983,3,31,23,59,59],
+          '1977123117:00:00','1978010101:00:00','1983033115:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,16,0,0],[1983,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1983,9,30,14,59,59],[1983,9,30,23,59,59],
+          '1983033116:00:00','1983040101:00:00','1983093014:59:59','1983093023:59:59' ],
+        [ [1983,9,30,15,0,0],[1983,9,30,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1984,3,31,15,59,59],[1984,3,31,23,59,59],
+          '1983093015:00:00','1983093023:00:00','1984033115:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,16,0,0],[1984,4,1,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1984,9,29,14,59,59],[1984,9,29,23,59,59],
+          '1984033116:00:00','1984040101:00:00','1984092914:59:59','1984092923:59:59' ],
+        [ [1984,9,29,15,0,0],[1984,9,29,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1985,3,30,15,59,59],[1985,3,30,23,59,59],
+          '1984092915:00:00','1984092923:00:00','1985033015:59:59','1985033023:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,16,0,0],[1985,3,31,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1985,9,28,14,59,59],[1985,9,28,23,59,59],
+          '1985033016:00:00','1985033101:00:00','1985092814:59:59','1985092823:59:59' ],
+        [ [1985,9,28,15,0,0],[1985,9,28,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1986,3,29,15,59,59],[1986,3,29,23,59,59],
+          '1985092815:00:00','1985092823:00:00','1986032915:59:59','1986032923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,16,0,0],[1986,3,30,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1986,9,27,14,59,59],[1986,9,27,23,59,59],
+          '1986032916:00:00','1986033001:00:00','1986092714:59:59','1986092723:59:59' ],
+        [ [1986,9,27,15,0,0],[1986,9,27,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1987,3,28,15,59,59],[1987,3,28,23,59,59],
+          '1986092715:00:00','1986092723:00:00','1987032815:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,16,0,0],[1987,3,29,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1987,9,26,14,59,59],[1987,9,26,23,59,59],
+          '1987032816:00:00','1987032901:00:00','1987092614:59:59','1987092623:59:59' ],
+        [ [1987,9,26,15,0,0],[1987,9,26,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1988,3,26,15,59,59],[1988,3,26,23,59,59],
+          '1987092615:00:00','1987092623:00:00','1988032615:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,16,0,0],[1988,3,27,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1988,9,24,14,59,59],[1988,9,24,23,59,59],
+          '1988032616:00:00','1988032701:00:00','1988092414:59:59','1988092423:59:59' ],
+        [ [1988,9,24,15,0,0],[1988,9,24,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1989,3,25,15,59,59],[1989,3,25,23,59,59],
+          '1988092415:00:00','1988092423:00:00','1989032515:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,16,0,0],[1989,3,26,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1989,9,23,14,59,59],[1989,9,23,23,59,59],
+          '1989032516:00:00','1989032601:00:00','1989092314:59:59','1989092323:59:59' ],
+        [ [1989,9,23,15,0,0],[1989,9,23,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1990,3,24,15,59,59],[1990,3,24,23,59,59],
+          '1989092315:00:00','1989092323:00:00','1990032415:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,16,0,0],[1990,3,25,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1990,9,29,14,59,59],[1990,9,29,23,59,59],
+          '1990032416:00:00','1990032501:00:00','1990092914:59:59','1990092923:59:59' ],
+        [ [1990,9,29,15,0,0],[1990,9,29,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1991,3,30,15,59,59],[1991,3,30,23,59,59],
+          '1990092915:00:00','1990092923:00:00','1991033015:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,16,0,0],[1991,3,31,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1991,9,28,14,59,59],[1991,9,28,23,59,59],
+          '1991033016:00:00','1991033101:00:00','1991092814:59:59','1991092823:59:59' ],
+        [ [1991,9,28,15,0,0],[1991,9,28,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1992,3,28,15,59,59],[1992,3,28,23,59,59],
+          '1991092815:00:00','1991092823:00:00','1992032815:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,16,0,0],[1992,3,29,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1992,9,26,14,59,59],[1992,9,26,23,59,59],
+          '1992032816:00:00','1992032901:00:00','1992092614:59:59','1992092623:59:59' ],
+        [ [1992,9,26,15,0,0],[1992,9,26,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1993,3,27,15,59,59],[1993,3,27,23,59,59],
+          '1992092615:00:00','1992092623:00:00','1993032715:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,16,0,0],[1993,3,28,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1993,9,25,14,59,59],[1993,9,25,23,59,59],
+          '1993032716:00:00','1993032801:00:00','1993092514:59:59','1993092523:59:59' ],
+        [ [1993,9,25,15,0,0],[1993,9,25,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1994,3,26,15,59,59],[1994,3,26,23,59,59],
+          '1993092515:00:00','1993092523:00:00','1994032615:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,16,0,0],[1994,3,27,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1994,9,24,14,59,59],[1994,9,24,23,59,59],
+          '1994032616:00:00','1994032701:00:00','1994092414:59:59','1994092423:59:59' ],
+        [ [1994,9,24,15,0,0],[1994,9,24,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1995,3,25,15,59,59],[1995,3,25,23,59,59],
+          '1994092415:00:00','1994092423:00:00','1995032515:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1995,9,23,14,59,59],[1995,9,23,23,59,59],
+          '1995032516:00:00','1995032601:00:00','1995092314:59:59','1995092323:59:59' ],
+        [ [1995,9,23,15,0,0],[1995,9,23,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1996,3,30,15,59,59],[1996,3,30,23,59,59],
+          '1995092315:00:00','1995092323:00:00','1996033015:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1996,9,28,14,59,59],[1996,9,28,23,59,59],
+          '1996033016:00:00','1996033101:00:00','1996092814:59:59','1996092823:59:59' ],
+        [ [1996,9,28,15,0,0],[1996,9,28,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1997,3,29,15,59,59],[1997,3,29,23,59,59],
+          '1996092815:00:00','1996092823:00:00','1997032915:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1997,9,27,14,59,59],[1997,9,27,23,59,59],
+          '1997032916:00:00','1997033001:00:00','1997092714:59:59','1997092723:59:59' ],
+        [ [1997,9,27,15,0,0],[1997,9,27,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1998,3,28,15,59,59],[1998,3,28,23,59,59],
+          '1997092715:00:00','1997092723:00:00','1998032815:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,1,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1998,9,26,14,59,59],[1998,9,26,23,59,59],
+          '1998032816:00:00','1998032901:00:00','1998092614:59:59','1998092623:59:59' ],
+        [ [1998,9,26,15,0,0],[1998,9,26,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2001,4,27,17,59,59],[2001,4,28,1,59,59],
+          '1998092615:00:00','1998092623:00:00','2001042717:59:59','2001042801:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,27,18,0,0],[2001,4,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2001,9,28,16,59,59],[2001,9,29,1,59,59],
+          '2001042718:00:00','2001042803:00:00','2001092816:59:59','2001092901:59:59' ],
+        [ [2001,9,28,17,0,0],[2001,9,29,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2002,3,29,17,59,59],[2002,3,30,1,59,59],
+          '2001092817:00:00','2001092901:00:00','2002032917:59:59','2002033001:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,29,18,0,0],[2002,3,30,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2002,9,27,16,59,59],[2002,9,28,1,59,59],
+          '2002032918:00:00','2002033003:00:00','2002092716:59:59','2002092801:59:59' ],
+        [ [2002,9,27,17,0,0],[2002,9,28,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2003,3,28,17,59,59],[2003,3,29,1,59,59],
+          '2002092717:00:00','2002092801:00:00','2003032817:59:59','2003032901:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,28,18,0,0],[2003,3,29,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2003,9,26,16,59,59],[2003,9,27,1,59,59],
+          '2003032818:00:00','2003032903:00:00','2003092616:59:59','2003092701:59:59' ],
+        [ [2003,9,26,17,0,0],[2003,9,27,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2004,3,26,17,59,59],[2004,3,27,1,59,59],
+          '2003092617:00:00','2003092701:00:00','2004032617:59:59','2004032701:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,26,18,0,0],[2004,3,27,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2004,9,24,16,59,59],[2004,9,25,1,59,59],
+          '2004032618:00:00','2004032703:00:00','2004092416:59:59','2004092501:59:59' ],
+        [ [2004,9,24,17,0,0],[2004,9,25,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2005,3,25,17,59,59],[2005,3,26,1,59,59],
+          '2004092417:00:00','2004092501:00:00','2005032517:59:59','2005032601:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,25,18,0,0],[2005,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2005,9,23,16,59,59],[2005,9,24,1,59,59],
+          '2005032518:00:00','2005032603:00:00','2005092316:59:59','2005092401:59:59' ],
+        [ [2005,9,23,17,0,0],[2005,9,24,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2006,3,24,17,59,59],[2006,3,25,1,59,59],
+          '2005092317:00:00','2005092401:00:00','2006032417:59:59','2006032501:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,24,18,0,0],[2006,3,25,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2006,9,29,16,59,59],[2006,9,30,1,59,59],
+          '2006032418:00:00','2006032503:00:00','2006092916:59:59','2006093001:59:59' ],
+        [ [2006,9,29,17,0,0],[2006,9,30,1,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2015,3,27,17,59,59],[2015,3,28,1,59,59],
+          '2006092917:00:00','2006093001:00:00','2015032717:59:59','2015032801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,27,18,0,0],[2015,3,28,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2015,9,25,14,59,59],[2015,9,25,23,59,59],
+          '2015032718:00:00','2015032803:00:00','2015092514:59:59','2015092523:59:59' ],
+        [ [2015,9,25,15,0,0],[2015,9,25,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[2016,3,25,17,59,59],[2016,3,26,1,59,59],
+          '2015092515:00:00','2015092523:00:00','2016032517:59:59','2016032601:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,25,18,0,0],[2016,3,26,3,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[2016,9,23,14,59,59],[2016,9,23,23,59,59],
+          '2016032518:00:00','2016032603:00:00','2016092314:59:59','2016092323:59:59' ],
+        [ [2016,9,23,15,0,0],[2016,9,23,23,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '2016092315:00:00','2016092323:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asurum00.pm b/lib/Date/Manip/TZ/asurum00.pm
new file mode 100644
index 0000000..db5a616
--- /dev/null
+++ b/lib/Date/Manip/TZ/asurum00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::asurum00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,50,20],'+05:50:20',[5,50,20],
+          'LMT',0,[1927,12,31,18,9,39],[1927,12,31,23,59,59],
+          '0001010200:00:00','0001010205:50:20','1927123118:09:39','1927123123:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,12,31,18,9,40],[1928,1,1,0,9,40],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '1927123118:09:40','1928010100:09:40','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asustm00.pm b/lib/Date/Manip/TZ/asustm00.pm
new file mode 100644
index 0000000..c8c314b
--- /dev/null
+++ b/lib/Date/Manip/TZ/asustm00.pm
@@ -0,0 +1,343 @@
+package #
+Date::Manip::TZ::asustm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,32,54],'+09:32:54',[9,32,54],
+          'LMT',0,[1919,12,14,14,27,5],[1919,12,14,23,59,59],
+          '0001010200:00:00','0001010209:32:54','1919121414:27:05','1919121423:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,14,14,27,6],[1919,12,14,22,27,6],'+08:00:00',[8,0,0],
+          '+08',0,[1930,6,20,15,59,59],[1930,6,20,23,59,59],
+          '1919121414:27:06','1919121422:27:06','1930062015:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,16,0,0],[1930,6,21,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1981,3,31,14,59,59],[1981,3,31,23,59,59],
+          '1930062016:00:00','1930062101:00:00','1981033114:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,15,0,0],[1981,4,1,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1981,9,30,11,59,59],[1981,9,30,23,59,59],
+          '1981033115:00:00','1981040103:00:00','1981093011:59:59','1981093023:59:59' ],
+        [ [1981,9,30,12,0,0],[1981,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1982,3,31,12,59,59],[1982,3,31,23,59,59],
+          '1981093012:00:00','1981093023:00:00','1982033112:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,13,0,0],[1982,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1982,9,30,11,59,59],[1982,9,30,23,59,59],
+          '1982033113:00:00','1982040101:00:00','1982093011:59:59','1982093023:59:59' ],
+        [ [1982,9,30,12,0,0],[1982,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1983,3,31,12,59,59],[1983,3,31,23,59,59],
+          '1982093012:00:00','1982093023:00:00','1983033112:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,13,0,0],[1983,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1983,9,30,11,59,59],[1983,9,30,23,59,59],
+          '1983033113:00:00','1983040101:00:00','1983093011:59:59','1983093023:59:59' ],
+        [ [1983,9,30,12,0,0],[1983,9,30,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1984,3,31,12,59,59],[1984,3,31,23,59,59],
+          '1983093012:00:00','1983093023:00:00','1984033112:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,13,0,0],[1984,4,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1984,9,29,14,59,59],[1984,9,30,2,59,59],
+          '1984033113:00:00','1984040101:00:00','1984092914:59:59','1984093002:59:59' ],
+        [ [1984,9,29,15,0,0],[1984,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1985,3,30,14,59,59],[1985,3,31,1,59,59],
+          '1984092915:00:00','1984093002:00:00','1985033014:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,15,0,0],[1985,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1985,9,28,14,59,59],[1985,9,29,2,59,59],
+          '1985033015:00:00','1985033103:00:00','1985092814:59:59','1985092902:59:59' ],
+        [ [1985,9,28,15,0,0],[1985,9,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1986,3,29,14,59,59],[1986,3,30,1,59,59],
+          '1985092815:00:00','1985092902:00:00','1986032914:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,15,0,0],[1986,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1986,9,27,14,59,59],[1986,9,28,2,59,59],
+          '1986032915:00:00','1986033003:00:00','1986092714:59:59','1986092802:59:59' ],
+        [ [1986,9,27,15,0,0],[1986,9,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1987,3,28,14,59,59],[1987,3,29,1,59,59],
+          '1986092715:00:00','1986092802:00:00','1987032814:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,15,0,0],[1987,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1987,9,26,14,59,59],[1987,9,27,2,59,59],
+          '1987032815:00:00','1987032903:00:00','1987092614:59:59','1987092702:59:59' ],
+        [ [1987,9,26,15,0,0],[1987,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1988,3,26,14,59,59],[1988,3,27,1,59,59],
+          '1987092615:00:00','1987092702:00:00','1988032614:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,15,0,0],[1988,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1988,9,24,14,59,59],[1988,9,25,2,59,59],
+          '1988032615:00:00','1988032703:00:00','1988092414:59:59','1988092502:59:59' ],
+        [ [1988,9,24,15,0,0],[1988,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1989,3,25,14,59,59],[1989,3,26,1,59,59],
+          '1988092415:00:00','1988092502:00:00','1989032514:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,15,0,0],[1989,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1989,9,23,14,59,59],[1989,9,24,2,59,59],
+          '1989032515:00:00','1989032603:00:00','1989092314:59:59','1989092402:59:59' ],
+        [ [1989,9,23,15,0,0],[1989,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1990,3,24,14,59,59],[1990,3,25,1,59,59],
+          '1989092315:00:00','1989092402:00:00','1990032414:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,15,0,0],[1990,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1990,9,29,14,59,59],[1990,9,30,2,59,59],
+          '1990032415:00:00','1990032503:00:00','1990092914:59:59','1990093002:59:59' ],
+        [ [1990,9,29,15,0,0],[1990,9,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1991,3,30,14,59,59],[1991,3,31,1,59,59],
+          '1990092915:00:00','1990093002:00:00','1991033014:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,15,0,0],[1991,3,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1991,9,28,15,59,59],[1991,9,29,2,59,59],
+          '1991033015:00:00','1991033102:00:00','1991092815:59:59','1991092902:59:59' ],
+        [ [1991,9,28,16,0,0],[1991,9,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1992,1,18,15,59,59],[1992,1,19,1,59,59],
+          '1991092816:00:00','1991092902:00:00','1992011815:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,16,0,0],[1992,1,19,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,3,28,14,59,59],[1992,3,29,1,59,59],
+          '1992011816:00:00','1992011903:00:00','1992032814:59:59','1992032901:59:59' ],
+        [ [1992,3,28,15,0,0],[1992,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1992,9,26,14,59,59],[1992,9,27,2,59,59],
+          '1992032815:00:00','1992032903:00:00','1992092614:59:59','1992092702:59:59' ],
+        [ [1992,9,26,15,0,0],[1992,9,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1993,3,27,14,59,59],[1993,3,28,1,59,59],
+          '1992092615:00:00','1992092702:00:00','1993032714:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,15,0,0],[1993,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1993,9,25,14,59,59],[1993,9,26,2,59,59],
+          '1993032715:00:00','1993032803:00:00','1993092514:59:59','1993092602:59:59' ],
+        [ [1993,9,25,15,0,0],[1993,9,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1994,3,26,14,59,59],[1994,3,27,1,59,59],
+          '1993092515:00:00','1993092602:00:00','1994032614:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,15,0,0],[1994,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1994,9,24,14,59,59],[1994,9,25,2,59,59],
+          '1994032615:00:00','1994032703:00:00','1994092414:59:59','1994092502:59:59' ],
+        [ [1994,9,24,15,0,0],[1994,9,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1995,3,25,14,59,59],[1995,3,26,1,59,59],
+          '1994092415:00:00','1994092502:00:00','1995032514:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,15,0,0],[1995,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1995,9,23,14,59,59],[1995,9,24,2,59,59],
+          '1995032515:00:00','1995032603:00:00','1995092314:59:59','1995092402:59:59' ],
+        [ [1995,9,23,15,0,0],[1995,9,24,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1996,3,30,14,59,59],[1996,3,31,1,59,59],
+          '1995092315:00:00','1995092402:00:00','1996033014:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1996,10,26,14,59,59],[1996,10,27,2,59,59],
+          '1996033015:00:00','1996033103:00:00','1996102614:59:59','1996102702:59:59' ],
+        [ [1996,10,26,15,0,0],[1996,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1997,3,29,14,59,59],[1997,3,30,1,59,59],
+          '1996102615:00:00','1996102702:00:00','1997032914:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1997,10,25,14,59,59],[1997,10,26,2,59,59],
+          '1997032915:00:00','1997033003:00:00','1997102514:59:59','1997102602:59:59' ],
+        [ [1997,10,25,15,0,0],[1997,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1998,3,28,14,59,59],[1998,3,29,1,59,59],
+          '1997102515:00:00','1997102602:00:00','1998032814:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,15,0,0],[1998,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1998,10,24,14,59,59],[1998,10,25,2,59,59],
+          '1998032815:00:00','1998032903:00:00','1998102414:59:59','1998102502:59:59' ],
+        [ [1998,10,24,15,0,0],[1998,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1999,3,27,14,59,59],[1999,3,28,1,59,59],
+          '1998102415:00:00','1998102502:00:00','1999032714:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,15,0,0],[1999,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1999,10,30,14,59,59],[1999,10,31,2,59,59],
+          '1999032715:00:00','1999032803:00:00','1999103014:59:59','1999103102:59:59' ],
+        [ [1999,10,30,15,0,0],[1999,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2000,3,25,14,59,59],[2000,3,26,1,59,59],
+          '1999103015:00:00','1999103102:00:00','2000032514:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,15,0,0],[2000,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2000,10,28,14,59,59],[2000,10,29,2,59,59],
+          '2000032515:00:00','2000032603:00:00','2000102814:59:59','2000102902:59:59' ],
+        [ [2000,10,28,15,0,0],[2000,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2001,3,24,14,59,59],[2001,3,25,1,59,59],
+          '2000102815:00:00','2000102902:00:00','2001032414:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,15,0,0],[2001,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2001,10,27,14,59,59],[2001,10,28,2,59,59],
+          '2001032415:00:00','2001032503:00:00','2001102714:59:59','2001102802:59:59' ],
+        [ [2001,10,27,15,0,0],[2001,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2002,3,30,14,59,59],[2002,3,31,1,59,59],
+          '2001102715:00:00','2001102802:00:00','2002033014:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,15,0,0],[2002,3,31,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2002,10,26,14,59,59],[2002,10,27,2,59,59],
+          '2002033015:00:00','2002033103:00:00','2002102614:59:59','2002102702:59:59' ],
+        [ [2002,10,26,15,0,0],[2002,10,27,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2003,3,29,14,59,59],[2003,3,30,1,59,59],
+          '2002102615:00:00','2002102702:00:00','2003032914:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,15,0,0],[2003,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2003,10,25,14,59,59],[2003,10,26,2,59,59],
+          '2003032915:00:00','2003033003:00:00','2003102514:59:59','2003102602:59:59' ],
+        [ [2003,10,25,15,0,0],[2003,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2004,3,27,14,59,59],[2004,3,28,1,59,59],
+          '2003102515:00:00','2003102602:00:00','2004032714:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,15,0,0],[2004,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2004,10,30,14,59,59],[2004,10,31,2,59,59],
+          '2004032715:00:00','2004032803:00:00','2004103014:59:59','2004103102:59:59' ],
+        [ [2004,10,30,15,0,0],[2004,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2005,3,26,14,59,59],[2005,3,27,1,59,59],
+          '2004103015:00:00','2004103102:00:00','2005032614:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,15,0,0],[2005,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2005,10,29,14,59,59],[2005,10,30,2,59,59],
+          '2005032615:00:00','2005032703:00:00','2005102914:59:59','2005103002:59:59' ],
+        [ [2005,10,29,15,0,0],[2005,10,30,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2006,3,25,14,59,59],[2006,3,26,1,59,59],
+          '2005102915:00:00','2005103002:00:00','2006032514:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,15,0,0],[2006,3,26,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2006,10,28,14,59,59],[2006,10,29,2,59,59],
+          '2006032515:00:00','2006032603:00:00','2006102814:59:59','2006102902:59:59' ],
+        [ [2006,10,28,15,0,0],[2006,10,29,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2007,3,24,14,59,59],[2007,3,25,1,59,59],
+          '2006102815:00:00','2006102902:00:00','2007032414:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,15,0,0],[2007,3,25,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2007,10,27,14,59,59],[2007,10,28,2,59,59],
+          '2007032415:00:00','2007032503:00:00','2007102714:59:59','2007102802:59:59' ],
+        [ [2007,10,27,15,0,0],[2007,10,28,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2008,3,29,14,59,59],[2008,3,30,1,59,59],
+          '2007102715:00:00','2007102802:00:00','2008032914:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,15,0,0],[2008,3,30,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2008,10,25,14,59,59],[2008,10,26,2,59,59],
+          '2008032915:00:00','2008033003:00:00','2008102514:59:59','2008102602:59:59' ],
+        [ [2008,10,25,15,0,0],[2008,10,26,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2009,3,28,14,59,59],[2009,3,29,1,59,59],
+          '2008102515:00:00','2008102602:00:00','2009032814:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,15,0,0],[2009,3,29,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2009,10,24,14,59,59],[2009,10,25,2,59,59],
+          '2009032815:00:00','2009032903:00:00','2009102414:59:59','2009102502:59:59' ],
+        [ [2009,10,24,15,0,0],[2009,10,25,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2010,3,27,14,59,59],[2010,3,28,1,59,59],
+          '2009102415:00:00','2009102502:00:00','2010032714:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,15,0,0],[2010,3,28,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[2010,10,30,14,59,59],[2010,10,31,2,59,59],
+          '2010032715:00:00','2010032803:00:00','2010103014:59:59','2010103102:59:59' ],
+        [ [2010,10,30,15,0,0],[2010,10,31,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2011,3,26,14,59,59],[2011,3,27,1,59,59],
+          '2010103015:00:00','2010103102:00:00','2011032614:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,15,0,0],[2011,3,27,3,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2011,9,12,11,59,59],[2011,9,12,23,59,59],
+          '2011032615:00:00','2011032703:00:00','2011091211:59:59','2011091223:59:59' ],
+        [ [2011,9,12,12,0,0],[2011,9,12,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2014,10,25,14,59,59],[2014,10,26,1,59,59],
+          '2011091212:00:00','2011091223:00:00','2014102514:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,15,0,0],[2014,10,26,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '2014102515:00:00','2014102601:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asvlad00.pm b/lib/Date/Manip/TZ/asvlad00.pm
new file mode 100644
index 0000000..9ade7d1
--- /dev/null
+++ b/lib/Date/Manip/TZ/asvlad00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::asvlad00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,47,31],'+08:47:31',[8,47,31],
+          'LMT',0,[1922,11,14,15,12,28],[1922,11,14,23,59,59],
+          '0001010200:00:00','0001010208:47:31','1922111415:12:28','1922111423:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,11,14,15,12,29],[1922,11,15,0,12,29],'+09:00:00',[9,0,0],
+          '+09',0,[1930,6,20,14,59,59],[1930,6,20,23,59,59],
+          '1922111415:12:29','1922111500:12:29','1930062014:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,15,0,0],[1930,6,21,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1981,3,31,13,59,59],[1981,3,31,23,59,59],
+          '1930062015:00:00','1930062101:00:00','1981033113:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,14,0,0],[1981,4,1,1,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1981,9,30,12,59,59],[1981,9,30,23,59,59],
+          '1981033114:00:00','1981040101:00:00','1981093012:59:59','1981093023:59:59' ],
+        [ [1981,9,30,13,0,0],[1981,9,30,23,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1982,3,31,13,59,59],[1982,3,31,23,59,59],
+          '1981093013:00:00','1981093023:00:00','1982033113:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,14,0,0],[1982,4,1,1,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1982,9,30,12,59,59],[1982,9,30,23,59,59],
+          '1982033114:00:00','1982040101:00:00','1982093012:59:59','1982093023:59:59' ],
+        [ [1982,9,30,13,0,0],[1982,9,30,23,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1983,3,31,13,59,59],[1983,3,31,23,59,59],
+          '1982093013:00:00','1982093023:00:00','1983033113:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,14,0,0],[1983,4,1,1,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1983,9,30,12,59,59],[1983,9,30,23,59,59],
+          '1983033114:00:00','1983040101:00:00','1983093012:59:59','1983093023:59:59' ],
+        [ [1983,9,30,13,0,0],[1983,9,30,23,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1984,3,31,13,59,59],[1984,3,31,23,59,59],
+          '1983093013:00:00','1983093023:00:00','1984033113:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,14,0,0],[1984,4,1,1,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1984,9,29,15,59,59],[1984,9,30,2,59,59],
+          '1984033114:00:00','1984040101:00:00','1984092915:59:59','1984093002:59:59' ],
+        [ [1984,9,29,16,0,0],[1984,9,30,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1985,3,30,15,59,59],[1985,3,31,1,59,59],
+          '1984092916:00:00','1984093002:00:00','1985033015:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,16,0,0],[1985,3,31,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1985,9,28,15,59,59],[1985,9,29,2,59,59],
+          '1985033016:00:00','1985033103:00:00','1985092815:59:59','1985092902:59:59' ],
+        [ [1985,9,28,16,0,0],[1985,9,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1986,3,29,15,59,59],[1986,3,30,1,59,59],
+          '1985092816:00:00','1985092902:00:00','1986032915:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,16,0,0],[1986,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1986,9,27,15,59,59],[1986,9,28,2,59,59],
+          '1986032916:00:00','1986033003:00:00','1986092715:59:59','1986092802:59:59' ],
+        [ [1986,9,27,16,0,0],[1986,9,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1987,3,28,15,59,59],[1987,3,29,1,59,59],
+          '1986092716:00:00','1986092802:00:00','1987032815:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,16,0,0],[1987,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1987,9,26,15,59,59],[1987,9,27,2,59,59],
+          '1987032816:00:00','1987032903:00:00','1987092615:59:59','1987092702:59:59' ],
+        [ [1987,9,26,16,0,0],[1987,9,27,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1988,3,26,15,59,59],[1988,3,27,1,59,59],
+          '1987092616:00:00','1987092702:00:00','1988032615:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,16,0,0],[1988,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1988,9,24,15,59,59],[1988,9,25,2,59,59],
+          '1988032616:00:00','1988032703:00:00','1988092415:59:59','1988092502:59:59' ],
+        [ [1988,9,24,16,0,0],[1988,9,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1989,3,25,15,59,59],[1989,3,26,1,59,59],
+          '1988092416:00:00','1988092502:00:00','1989032515:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,16,0,0],[1989,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1989,9,23,15,59,59],[1989,9,24,2,59,59],
+          '1989032516:00:00','1989032603:00:00','1989092315:59:59','1989092402:59:59' ],
+        [ [1989,9,23,16,0,0],[1989,9,24,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1990,3,24,15,59,59],[1990,3,25,1,59,59],
+          '1989092316:00:00','1989092402:00:00','1990032415:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,16,0,0],[1990,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1990,9,29,15,59,59],[1990,9,30,2,59,59],
+          '1990032416:00:00','1990032503:00:00','1990092915:59:59','1990093002:59:59' ],
+        [ [1990,9,29,16,0,0],[1990,9,30,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1991,3,30,15,59,59],[1991,3,31,1,59,59],
+          '1990092916:00:00','1990093002:00:00','1991033015:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,16,0,0],[1991,3,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1991,9,28,16,59,59],[1991,9,29,2,59,59],
+          '1991033016:00:00','1991033102:00:00','1991092816:59:59','1991092902:59:59' ],
+        [ [1991,9,28,17,0,0],[1991,9,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1992,1,18,16,59,59],[1992,1,19,1,59,59],
+          '1991092817:00:00','1991092902:00:00','1992011816:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,17,0,0],[1992,1,19,3,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1992,3,28,15,59,59],[1992,3,29,1,59,59],
+          '1992011817:00:00','1992011903:00:00','1992032815:59:59','1992032901:59:59' ],
+        [ [1992,3,28,16,0,0],[1992,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1992,9,26,15,59,59],[1992,9,27,2,59,59],
+          '1992032816:00:00','1992032903:00:00','1992092615:59:59','1992092702:59:59' ],
+        [ [1992,9,26,16,0,0],[1992,9,27,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1993,3,27,15,59,59],[1993,3,28,1,59,59],
+          '1992092616:00:00','1992092702:00:00','1993032715:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,16,0,0],[1993,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1993,9,25,15,59,59],[1993,9,26,2,59,59],
+          '1993032716:00:00','1993032803:00:00','1993092515:59:59','1993092602:59:59' ],
+        [ [1993,9,25,16,0,0],[1993,9,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1994,3,26,15,59,59],[1994,3,27,1,59,59],
+          '1993092516:00:00','1993092602:00:00','1994032615:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,16,0,0],[1994,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1994,9,24,15,59,59],[1994,9,25,2,59,59],
+          '1994032616:00:00','1994032703:00:00','1994092415:59:59','1994092502:59:59' ],
+        [ [1994,9,24,16,0,0],[1994,9,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1995,3,25,15,59,59],[1995,3,26,1,59,59],
+          '1994092416:00:00','1994092502:00:00','1995032515:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1995,9,23,15,59,59],[1995,9,24,2,59,59],
+          '1995032516:00:00','1995032603:00:00','1995092315:59:59','1995092402:59:59' ],
+        [ [1995,9,23,16,0,0],[1995,9,24,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1996,3,30,15,59,59],[1996,3,31,1,59,59],
+          '1995092316:00:00','1995092402:00:00','1996033015:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1996,10,26,15,59,59],[1996,10,27,2,59,59],
+          '1996033016:00:00','1996033103:00:00','1996102615:59:59','1996102702:59:59' ],
+        [ [1996,10,26,16,0,0],[1996,10,27,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1997,3,29,15,59,59],[1997,3,30,1,59,59],
+          '1996102616:00:00','1996102702:00:00','1997032915:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1997,10,25,15,59,59],[1997,10,26,2,59,59],
+          '1997032916:00:00','1997033003:00:00','1997102515:59:59','1997102602:59:59' ],
+        [ [1997,10,25,16,0,0],[1997,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1998,3,28,15,59,59],[1998,3,29,1,59,59],
+          '1997102516:00:00','1997102602:00:00','1998032815:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1998,10,24,15,59,59],[1998,10,25,2,59,59],
+          '1998032816:00:00','1998032903:00:00','1998102415:59:59','1998102502:59:59' ],
+        [ [1998,10,24,16,0,0],[1998,10,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[1999,3,27,15,59,59],[1999,3,28,1,59,59],
+          '1998102416:00:00','1998102502:00:00','1999032715:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[1999,10,30,15,59,59],[1999,10,31,2,59,59],
+          '1999032716:00:00','1999032803:00:00','1999103015:59:59','1999103102:59:59' ],
+        [ [1999,10,30,16,0,0],[1999,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2000,3,25,15,59,59],[2000,3,26,1,59,59],
+          '1999103016:00:00','1999103102:00:00','2000032515:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2000,10,28,15,59,59],[2000,10,29,2,59,59],
+          '2000032516:00:00','2000032603:00:00','2000102815:59:59','2000102902:59:59' ],
+        [ [2000,10,28,16,0,0],[2000,10,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2001,3,24,15,59,59],[2001,3,25,1,59,59],
+          '2000102816:00:00','2000102902:00:00','2001032415:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2001,10,27,15,59,59],[2001,10,28,2,59,59],
+          '2001032416:00:00','2001032503:00:00','2001102715:59:59','2001102802:59:59' ],
+        [ [2001,10,27,16,0,0],[2001,10,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2002,3,30,15,59,59],[2002,3,31,1,59,59],
+          '2001102716:00:00','2001102802:00:00','2002033015:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2002,10,26,15,59,59],[2002,10,27,2,59,59],
+          '2002033016:00:00','2002033103:00:00','2002102615:59:59','2002102702:59:59' ],
+        [ [2002,10,26,16,0,0],[2002,10,27,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2003,3,29,15,59,59],[2003,3,30,1,59,59],
+          '2002102616:00:00','2002102702:00:00','2003032915:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2003,10,25,15,59,59],[2003,10,26,2,59,59],
+          '2003032916:00:00','2003033003:00:00','2003102515:59:59','2003102602:59:59' ],
+        [ [2003,10,25,16,0,0],[2003,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2004,3,27,15,59,59],[2004,3,28,1,59,59],
+          '2003102516:00:00','2003102602:00:00','2004032715:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2004,10,30,15,59,59],[2004,10,31,2,59,59],
+          '2004032716:00:00','2004032803:00:00','2004103015:59:59','2004103102:59:59' ],
+        [ [2004,10,30,16,0,0],[2004,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2005,3,26,15,59,59],[2005,3,27,1,59,59],
+          '2004103016:00:00','2004103102:00:00','2005032615:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2005,10,29,15,59,59],[2005,10,30,2,59,59],
+          '2005032616:00:00','2005032703:00:00','2005102915:59:59','2005103002:59:59' ],
+        [ [2005,10,29,16,0,0],[2005,10,30,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2006,3,25,15,59,59],[2006,3,26,1,59,59],
+          '2005102916:00:00','2005103002:00:00','2006032515:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,16,0,0],[2006,3,26,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2006,10,28,15,59,59],[2006,10,29,2,59,59],
+          '2006032516:00:00','2006032603:00:00','2006102815:59:59','2006102902:59:59' ],
+        [ [2006,10,28,16,0,0],[2006,10,29,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2007,3,24,15,59,59],[2007,3,25,1,59,59],
+          '2006102816:00:00','2006102902:00:00','2007032415:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2007,10,27,15,59,59],[2007,10,28,2,59,59],
+          '2007032416:00:00','2007032503:00:00','2007102715:59:59','2007102802:59:59' ],
+        [ [2007,10,27,16,0,0],[2007,10,28,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2008,3,29,15,59,59],[2008,3,30,1,59,59],
+          '2007102716:00:00','2007102802:00:00','2008032915:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,16,0,0],[2008,3,30,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2008,10,25,15,59,59],[2008,10,26,2,59,59],
+          '2008032916:00:00','2008033003:00:00','2008102515:59:59','2008102602:59:59' ],
+        [ [2008,10,25,16,0,0],[2008,10,26,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2009,3,28,15,59,59],[2009,3,29,1,59,59],
+          '2008102516:00:00','2008102602:00:00','2009032815:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,16,0,0],[2009,3,29,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2009,10,24,15,59,59],[2009,10,25,2,59,59],
+          '2009032816:00:00','2009032903:00:00','2009102415:59:59','2009102502:59:59' ],
+        [ [2009,10,24,16,0,0],[2009,10,25,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2010,3,27,15,59,59],[2010,3,28,1,59,59],
+          '2009102416:00:00','2009102502:00:00','2010032715:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,16,0,0],[2010,3,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',1,[2010,10,30,15,59,59],[2010,10,31,2,59,59],
+          '2010032716:00:00','2010032803:00:00','2010103015:59:59','2010103102:59:59' ],
+        [ [2010,10,30,16,0,0],[2010,10,31,2,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2011,3,26,15,59,59],[2011,3,27,1,59,59],
+          '2010103016:00:00','2010103102:00:00','2011032615:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,16,0,0],[2011,3,27,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[2014,10,25,14,59,59],[2014,10,26,1,59,59],
+          '2011032616:00:00','2011032703:00:00','2014102514:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,15,0,0],[2014,10,26,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '2014102515:00:00','2014102601:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asyaku00.pm b/lib/Date/Manip/TZ/asyaku00.pm
new file mode 100644
index 0000000..337a7d1
--- /dev/null
+++ b/lib/Date/Manip/TZ/asyaku00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::asyaku00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,38,58],'+08:38:58',[8,38,58],
+          'LMT',0,[1919,12,14,15,21,1],[1919,12,14,23,59,59],
+          '0001010200:00:00','0001010208:38:58','1919121415:21:01','1919121423:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,14,15,21,2],[1919,12,14,23,21,2],'+08:00:00',[8,0,0],
+          '+08',0,[1930,6,20,15,59,59],[1930,6,20,23,59,59],
+          '1919121415:21:02','1919121423:21:02','1930062015:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,16,0,0],[1930,6,21,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1981,3,31,14,59,59],[1981,3,31,23,59,59],
+          '1930062016:00:00','1930062101:00:00','1981033114:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,15,0,0],[1981,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1981,9,30,13,59,59],[1981,9,30,23,59,59],
+          '1981033115:00:00','1981040101:00:00','1981093013:59:59','1981093023:59:59' ],
+        [ [1981,9,30,14,0,0],[1981,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1982,3,31,14,59,59],[1982,3,31,23,59,59],
+          '1981093014:00:00','1981093023:00:00','1982033114:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,15,0,0],[1982,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1982,9,30,13,59,59],[1982,9,30,23,59,59],
+          '1982033115:00:00','1982040101:00:00','1982093013:59:59','1982093023:59:59' ],
+        [ [1982,9,30,14,0,0],[1982,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1983,3,31,14,59,59],[1983,3,31,23,59,59],
+          '1982093014:00:00','1982093023:00:00','1983033114:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,15,0,0],[1983,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1983,9,30,13,59,59],[1983,9,30,23,59,59],
+          '1983033115:00:00','1983040101:00:00','1983093013:59:59','1983093023:59:59' ],
+        [ [1983,9,30,14,0,0],[1983,9,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1984,3,31,14,59,59],[1984,3,31,23,59,59],
+          '1983093014:00:00','1983093023:00:00','1984033114:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,15,0,0],[1984,4,1,1,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1984,9,29,16,59,59],[1984,9,30,2,59,59],
+          '1984033115:00:00','1984040101:00:00','1984092916:59:59','1984093002:59:59' ],
+        [ [1984,9,29,17,0,0],[1984,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1985,3,30,16,59,59],[1985,3,31,1,59,59],
+          '1984092917:00:00','1984093002:00:00','1985033016:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,17,0,0],[1985,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1985,9,28,16,59,59],[1985,9,29,2,59,59],
+          '1985033017:00:00','1985033103:00:00','1985092816:59:59','1985092902:59:59' ],
+        [ [1985,9,28,17,0,0],[1985,9,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1986,3,29,16,59,59],[1986,3,30,1,59,59],
+          '1985092817:00:00','1985092902:00:00','1986032916:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,17,0,0],[1986,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1986,9,27,16,59,59],[1986,9,28,2,59,59],
+          '1986032917:00:00','1986033003:00:00','1986092716:59:59','1986092802:59:59' ],
+        [ [1986,9,27,17,0,0],[1986,9,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1987,3,28,16,59,59],[1987,3,29,1,59,59],
+          '1986092717:00:00','1986092802:00:00','1987032816:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,17,0,0],[1987,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1987,9,26,16,59,59],[1987,9,27,2,59,59],
+          '1987032817:00:00','1987032903:00:00','1987092616:59:59','1987092702:59:59' ],
+        [ [1987,9,26,17,0,0],[1987,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1988,3,26,16,59,59],[1988,3,27,1,59,59],
+          '1987092617:00:00','1987092702:00:00','1988032616:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,17,0,0],[1988,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1988,9,24,16,59,59],[1988,9,25,2,59,59],
+          '1988032617:00:00','1988032703:00:00','1988092416:59:59','1988092502:59:59' ],
+        [ [1988,9,24,17,0,0],[1988,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1989,3,25,16,59,59],[1989,3,26,1,59,59],
+          '1988092417:00:00','1988092502:00:00','1989032516:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,17,0,0],[1989,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1989,9,23,16,59,59],[1989,9,24,2,59,59],
+          '1989032517:00:00','1989032603:00:00','1989092316:59:59','1989092402:59:59' ],
+        [ [1989,9,23,17,0,0],[1989,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1990,3,24,16,59,59],[1990,3,25,1,59,59],
+          '1989092317:00:00','1989092402:00:00','1990032416:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,17,0,0],[1990,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1990,9,29,16,59,59],[1990,9,30,2,59,59],
+          '1990032417:00:00','1990032503:00:00','1990092916:59:59','1990093002:59:59' ],
+        [ [1990,9,29,17,0,0],[1990,9,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1991,3,30,16,59,59],[1991,3,31,1,59,59],
+          '1990092917:00:00','1990093002:00:00','1991033016:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,17,0,0],[1991,3,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',1,[1991,9,28,17,59,59],[1991,9,29,2,59,59],
+          '1991033017:00:00','1991033102:00:00','1991092817:59:59','1991092902:59:59' ],
+        [ [1991,9,28,18,0,0],[1991,9,29,2,0,0],'+08:00:00',[8,0,0],
+          '+08',0,[1992,1,18,17,59,59],[1992,1,19,1,59,59],
+          '1991092818:00:00','1991092902:00:00','1992011817:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,18,0,0],[1992,1,19,3,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1992,3,28,16,59,59],[1992,3,29,1,59,59],
+          '1992011818:00:00','1992011903:00:00','1992032816:59:59','1992032901:59:59' ],
+        [ [1992,3,28,17,0,0],[1992,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1992,9,26,16,59,59],[1992,9,27,2,59,59],
+          '1992032817:00:00','1992032903:00:00','1992092616:59:59','1992092702:59:59' ],
+        [ [1992,9,26,17,0,0],[1992,9,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1993,3,27,16,59,59],[1993,3,28,1,59,59],
+          '1992092617:00:00','1992092702:00:00','1993032716:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,17,0,0],[1993,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1993,9,25,16,59,59],[1993,9,26,2,59,59],
+          '1993032717:00:00','1993032803:00:00','1993092516:59:59','1993092602:59:59' ],
+        [ [1993,9,25,17,0,0],[1993,9,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1994,3,26,16,59,59],[1994,3,27,1,59,59],
+          '1993092517:00:00','1993092602:00:00','1994032616:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,17,0,0],[1994,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1994,9,24,16,59,59],[1994,9,25,2,59,59],
+          '1994032617:00:00','1994032703:00:00','1994092416:59:59','1994092502:59:59' ],
+        [ [1994,9,24,17,0,0],[1994,9,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1995,3,25,16,59,59],[1995,3,26,1,59,59],
+          '1994092417:00:00','1994092502:00:00','1995032516:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,17,0,0],[1995,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1995,9,23,16,59,59],[1995,9,24,2,59,59],
+          '1995032517:00:00','1995032603:00:00','1995092316:59:59','1995092402:59:59' ],
+        [ [1995,9,23,17,0,0],[1995,9,24,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1996,3,30,16,59,59],[1996,3,31,1,59,59],
+          '1995092317:00:00','1995092402:00:00','1996033016:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,17,0,0],[1996,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1996,10,26,16,59,59],[1996,10,27,2,59,59],
+          '1996033017:00:00','1996033103:00:00','1996102616:59:59','1996102702:59:59' ],
+        [ [1996,10,26,17,0,0],[1996,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1997,3,29,16,59,59],[1997,3,30,1,59,59],
+          '1996102617:00:00','1996102702:00:00','1997032916:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,17,0,0],[1997,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1997,10,25,16,59,59],[1997,10,26,2,59,59],
+          '1997032917:00:00','1997033003:00:00','1997102516:59:59','1997102602:59:59' ],
+        [ [1997,10,25,17,0,0],[1997,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1998,3,28,16,59,59],[1998,3,29,1,59,59],
+          '1997102517:00:00','1997102602:00:00','1998032816:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,17,0,0],[1998,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1998,10,24,16,59,59],[1998,10,25,2,59,59],
+          '1998032817:00:00','1998032903:00:00','1998102416:59:59','1998102502:59:59' ],
+        [ [1998,10,24,17,0,0],[1998,10,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1999,3,27,16,59,59],[1999,3,28,1,59,59],
+          '1998102417:00:00','1998102502:00:00','1999032716:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,17,0,0],[1999,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[1999,10,30,16,59,59],[1999,10,31,2,59,59],
+          '1999032717:00:00','1999032803:00:00','1999103016:59:59','1999103102:59:59' ],
+        [ [1999,10,30,17,0,0],[1999,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2000,3,25,16,59,59],[2000,3,26,1,59,59],
+          '1999103017:00:00','1999103102:00:00','2000032516:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,17,0,0],[2000,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2000,10,28,16,59,59],[2000,10,29,2,59,59],
+          '2000032517:00:00','2000032603:00:00','2000102816:59:59','2000102902:59:59' ],
+        [ [2000,10,28,17,0,0],[2000,10,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2001,3,24,16,59,59],[2001,3,25,1,59,59],
+          '2000102817:00:00','2000102902:00:00','2001032416:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,17,0,0],[2001,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2001,10,27,16,59,59],[2001,10,28,2,59,59],
+          '2001032417:00:00','2001032503:00:00','2001102716:59:59','2001102802:59:59' ],
+        [ [2001,10,27,17,0,0],[2001,10,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2002,3,30,16,59,59],[2002,3,31,1,59,59],
+          '2001102717:00:00','2001102802:00:00','2002033016:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,17,0,0],[2002,3,31,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2002,10,26,16,59,59],[2002,10,27,2,59,59],
+          '2002033017:00:00','2002033103:00:00','2002102616:59:59','2002102702:59:59' ],
+        [ [2002,10,26,17,0,0],[2002,10,27,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2003,3,29,16,59,59],[2003,3,30,1,59,59],
+          '2002102617:00:00','2002102702:00:00','2003032916:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,17,0,0],[2003,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2003,10,25,16,59,59],[2003,10,26,2,59,59],
+          '2003032917:00:00','2003033003:00:00','2003102516:59:59','2003102602:59:59' ],
+        [ [2003,10,25,17,0,0],[2003,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2004,3,27,16,59,59],[2004,3,28,1,59,59],
+          '2003102517:00:00','2003102602:00:00','2004032716:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,17,0,0],[2004,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2004,10,30,16,59,59],[2004,10,31,2,59,59],
+          '2004032717:00:00','2004032803:00:00','2004103016:59:59','2004103102:59:59' ],
+        [ [2004,10,30,17,0,0],[2004,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2005,3,26,16,59,59],[2005,3,27,1,59,59],
+          '2004103017:00:00','2004103102:00:00','2005032616:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,17,0,0],[2005,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2005,10,29,16,59,59],[2005,10,30,2,59,59],
+          '2005032617:00:00','2005032703:00:00','2005102916:59:59','2005103002:59:59' ],
+        [ [2005,10,29,17,0,0],[2005,10,30,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2006,3,25,16,59,59],[2006,3,26,1,59,59],
+          '2005102917:00:00','2005103002:00:00','2006032516:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,17,0,0],[2006,3,26,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2006,10,28,16,59,59],[2006,10,29,2,59,59],
+          '2006032517:00:00','2006032603:00:00','2006102816:59:59','2006102902:59:59' ],
+        [ [2006,10,28,17,0,0],[2006,10,29,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2007,3,24,16,59,59],[2007,3,25,1,59,59],
+          '2006102817:00:00','2006102902:00:00','2007032416:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,17,0,0],[2007,3,25,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2007,10,27,16,59,59],[2007,10,28,2,59,59],
+          '2007032417:00:00','2007032503:00:00','2007102716:59:59','2007102802:59:59' ],
+        [ [2007,10,27,17,0,0],[2007,10,28,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2008,3,29,16,59,59],[2008,3,30,1,59,59],
+          '2007102717:00:00','2007102802:00:00','2008032916:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,17,0,0],[2008,3,30,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2008,10,25,16,59,59],[2008,10,26,2,59,59],
+          '2008032917:00:00','2008033003:00:00','2008102516:59:59','2008102602:59:59' ],
+        [ [2008,10,25,17,0,0],[2008,10,26,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2009,3,28,16,59,59],[2009,3,29,1,59,59],
+          '2008102517:00:00','2008102602:00:00','2009032816:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,17,0,0],[2009,3,29,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2009,10,24,16,59,59],[2009,10,25,2,59,59],
+          '2009032817:00:00','2009032903:00:00','2009102416:59:59','2009102502:59:59' ],
+        [ [2009,10,24,17,0,0],[2009,10,25,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2010,3,27,16,59,59],[2010,3,28,1,59,59],
+          '2009102417:00:00','2009102502:00:00','2010032716:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,17,0,0],[2010,3,28,3,0,0],'+10:00:00',[10,0,0],
+          '+10',1,[2010,10,30,16,59,59],[2010,10,31,2,59,59],
+          '2010032717:00:00','2010032803:00:00','2010103016:59:59','2010103102:59:59' ],
+        [ [2010,10,30,17,0,0],[2010,10,31,2,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[2011,3,26,16,59,59],[2011,3,27,1,59,59],
+          '2010103017:00:00','2010103102:00:00','2011032616:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,17,0,0],[2011,3,27,3,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2014,10,25,15,59,59],[2014,10,26,1,59,59],
+          '2011032617:00:00','2011032703:00:00','2014102515:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,16,0,0],[2014,10,26,1,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '2014102516:00:00','2014102601:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asyang00.pm b/lib/Date/Manip/TZ/asyang00.pm
new file mode 100644
index 0000000..03ce9ba
--- /dev/null
+++ b/lib/Date/Manip/TZ/asyang00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::asyang00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,24,40],'+06:24:40',[6,24,40],
+          'LMT',0,[1879,12,31,17,35,19],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010206:24:40','1879123117:35:19','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,17,35,20],[1880,1,1,0,0,0],'+06:24:40',[6,24,40],
+          'RMT',0,[1919,12,31,17,35,19],[1919,12,31,23,59,59],
+          '1879123117:35:20','1880010100:00:00','1919123117:35:19','1919123123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,12,31,17,35,20],[1920,1,1,0,5,20],'+06:30:00',[6,30,0],
+          '+0630',0,[1942,4,30,17,29,59],[1942,4,30,23,59,59],
+          '1919123117:35:20','1920010100:05:20','1942043017:29:59','1942043023:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,30,17,30,0],[1942,5,1,2,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,5,2,14,59,59],[1945,5,2,23,59,59],
+          '1942043017:30:00','1942050102:30:00','1945050214:59:59','1945050223:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,5,2,15,0,0],[1945,5,2,21,30,0],'+06:30:00',[6,30,0],
+          '+0630',0,[9999,12,31,0,0,0],[9999,12,31,6,30,0],
+          '1945050215:00:00','1945050221:30:00','9999123100:00:00','9999123106:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asyeka00.pm b/lib/Date/Manip/TZ/asyeka00.pm
new file mode 100644
index 0000000..a5e9281
--- /dev/null
+++ b/lib/Date/Manip/TZ/asyeka00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::asyeka00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,2,33],'+04:02:33',[4,2,33],
+          'LMT',0,[1916,7,2,19,57,26],[1916,7,2,23,59,59],
+          '0001010200:00:00','0001010204:02:33','1916070219:57:26','1916070223:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,2,19,57,27],[1916,7,2,23,42,32],'+03:45:05',[3,45,5],
+          'PMT',0,[1919,7,15,0,14,54],[1919,7,15,3,59,59],
+          '1916070219:57:27','1916070223:42:32','1919071500:14:54','1919071503:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,15,0,14,55],[1919,7,15,4,14,55],'+04:00:00',[4,0,0],
+          '+04',0,[1930,6,20,19,59,59],[1930,6,20,23,59,59],
+          '1919071500:14:55','1919071504:14:55','1930062019:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,20,0,0],[1930,6,21,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1981,3,31,18,59,59],[1981,3,31,23,59,59],
+          '1930062020:00:00','1930062101:00:00','1981033118:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,19,0,0],[1981,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1981,9,30,17,59,59],[1981,9,30,23,59,59],
+          '1981033119:00:00','1981040101:00:00','1981093017:59:59','1981093023:59:59' ],
+        [ [1981,9,30,18,0,0],[1981,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1982,3,31,18,59,59],[1982,3,31,23,59,59],
+          '1981093018:00:00','1981093023:00:00','1982033118:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,19,0,0],[1982,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1982,9,30,17,59,59],[1982,9,30,23,59,59],
+          '1982033119:00:00','1982040101:00:00','1982093017:59:59','1982093023:59:59' ],
+        [ [1982,9,30,18,0,0],[1982,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1983,3,31,18,59,59],[1983,3,31,23,59,59],
+          '1982093018:00:00','1982093023:00:00','1983033118:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,19,0,0],[1983,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1983,9,30,17,59,59],[1983,9,30,23,59,59],
+          '1983033119:00:00','1983040101:00:00','1983093017:59:59','1983093023:59:59' ],
+        [ [1983,9,30,18,0,0],[1983,9,30,23,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1984,3,31,18,59,59],[1984,3,31,23,59,59],
+          '1983093018:00:00','1983093023:00:00','1984033118:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,19,0,0],[1984,4,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1984,9,29,20,59,59],[1984,9,30,2,59,59],
+          '1984033119:00:00','1984040101:00:00','1984092920:59:59','1984093002:59:59' ],
+        [ [1984,9,29,21,0,0],[1984,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1985,3,30,20,59,59],[1985,3,31,1,59,59],
+          '1984092921:00:00','1984093002:00:00','1985033020:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,21,0,0],[1985,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1985,9,28,20,59,59],[1985,9,29,2,59,59],
+          '1985033021:00:00','1985033103:00:00','1985092820:59:59','1985092902:59:59' ],
+        [ [1985,9,28,21,0,0],[1985,9,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1986,3,29,20,59,59],[1986,3,30,1,59,59],
+          '1985092821:00:00','1985092902:00:00','1986032920:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,21,0,0],[1986,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1986,9,27,20,59,59],[1986,9,28,2,59,59],
+          '1986032921:00:00','1986033003:00:00','1986092720:59:59','1986092802:59:59' ],
+        [ [1986,9,27,21,0,0],[1986,9,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1987,3,28,20,59,59],[1987,3,29,1,59,59],
+          '1986092721:00:00','1986092802:00:00','1987032820:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,21,0,0],[1987,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1987,9,26,20,59,59],[1987,9,27,2,59,59],
+          '1987032821:00:00','1987032903:00:00','1987092620:59:59','1987092702:59:59' ],
+        [ [1987,9,26,21,0,0],[1987,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1988,3,26,20,59,59],[1988,3,27,1,59,59],
+          '1987092621:00:00','1987092702:00:00','1988032620:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,21,0,0],[1988,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1988,9,24,20,59,59],[1988,9,25,2,59,59],
+          '1988032621:00:00','1988032703:00:00','1988092420:59:59','1988092502:59:59' ],
+        [ [1988,9,24,21,0,0],[1988,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1989,3,25,20,59,59],[1989,3,26,1,59,59],
+          '1988092421:00:00','1988092502:00:00','1989032520:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,21,0,0],[1989,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1989,9,23,20,59,59],[1989,9,24,2,59,59],
+          '1989032521:00:00','1989032603:00:00','1989092320:59:59','1989092402:59:59' ],
+        [ [1989,9,23,21,0,0],[1989,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1990,3,24,20,59,59],[1990,3,25,1,59,59],
+          '1989092321:00:00','1989092402:00:00','1990032420:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,21,0,0],[1990,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1990,9,29,20,59,59],[1990,9,30,2,59,59],
+          '1990032421:00:00','1990032503:00:00','1990092920:59:59','1990093002:59:59' ],
+        [ [1990,9,29,21,0,0],[1990,9,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1991,3,30,20,59,59],[1991,3,31,1,59,59],
+          '1990092921:00:00','1990093002:00:00','1991033020:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,21,0,0],[1991,3,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1991,9,28,21,59,59],[1991,9,29,2,59,59],
+          '1991033021:00:00','1991033102:00:00','1991092821:59:59','1991092902:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,1,18,21,59,59],[1992,1,19,1,59,59],
+          '1991092822:00:00','1991092902:00:00','1992011821:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,18,22,0,0],[1992,1,19,3,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1992,3,28,20,59,59],[1992,3,29,1,59,59],
+          '1992011822:00:00','1992011903:00:00','1992032820:59:59','1992032901:59:59' ],
+        [ [1992,3,28,21,0,0],[1992,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1992,9,26,20,59,59],[1992,9,27,2,59,59],
+          '1992032821:00:00','1992032903:00:00','1992092620:59:59','1992092702:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1993,3,27,20,59,59],[1993,3,28,1,59,59],
+          '1992092621:00:00','1992092702:00:00','1993032720:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,21,0,0],[1993,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1993,9,25,20,59,59],[1993,9,26,2,59,59],
+          '1993032721:00:00','1993032803:00:00','1993092520:59:59','1993092602:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1994,3,26,20,59,59],[1994,3,27,1,59,59],
+          '1993092521:00:00','1993092602:00:00','1994032620:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,21,0,0],[1994,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1994,9,24,20,59,59],[1994,9,25,2,59,59],
+          '1994032621:00:00','1994032703:00:00','1994092420:59:59','1994092502:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1995,3,25,20,59,59],[1995,3,26,1,59,59],
+          '1994092421:00:00','1994092502:00:00','1995032520:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,21,0,0],[1995,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1995,9,23,20,59,59],[1995,9,24,2,59,59],
+          '1995032521:00:00','1995032603:00:00','1995092320:59:59','1995092402:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,24,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1996,3,30,20,59,59],[1996,3,31,1,59,59],
+          '1995092321:00:00','1995092402:00:00','1996033020:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,21,0,0],[1996,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1996,10,26,20,59,59],[1996,10,27,2,59,59],
+          '1996033021:00:00','1996033103:00:00','1996102620:59:59','1996102702:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1997,3,29,20,59,59],[1997,3,30,1,59,59],
+          '1996102621:00:00','1996102702:00:00','1997032920:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,21,0,0],[1997,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1997,10,25,20,59,59],[1997,10,26,2,59,59],
+          '1997032921:00:00','1997033003:00:00','1997102520:59:59','1997102602:59:59' ],
+        [ [1997,10,25,21,0,0],[1997,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1998,3,28,20,59,59],[1998,3,29,1,59,59],
+          '1997102521:00:00','1997102602:00:00','1998032820:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,21,0,0],[1998,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1998,10,24,20,59,59],[1998,10,25,2,59,59],
+          '1998032821:00:00','1998032903:00:00','1998102420:59:59','1998102502:59:59' ],
+        [ [1998,10,24,21,0,0],[1998,10,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[1999,3,27,20,59,59],[1999,3,28,1,59,59],
+          '1998102421:00:00','1998102502:00:00','1999032720:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,21,0,0],[1999,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[1999,10,30,20,59,59],[1999,10,31,2,59,59],
+          '1999032721:00:00','1999032803:00:00','1999103020:59:59','1999103102:59:59' ],
+        [ [1999,10,30,21,0,0],[1999,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2000,3,25,20,59,59],[2000,3,26,1,59,59],
+          '1999103021:00:00','1999103102:00:00','2000032520:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,21,0,0],[2000,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2000,10,28,20,59,59],[2000,10,29,2,59,59],
+          '2000032521:00:00','2000032603:00:00','2000102820:59:59','2000102902:59:59' ],
+        [ [2000,10,28,21,0,0],[2000,10,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2001,3,24,20,59,59],[2001,3,25,1,59,59],
+          '2000102821:00:00','2000102902:00:00','2001032420:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,21,0,0],[2001,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2001,10,27,20,59,59],[2001,10,28,2,59,59],
+          '2001032421:00:00','2001032503:00:00','2001102720:59:59','2001102802:59:59' ],
+        [ [2001,10,27,21,0,0],[2001,10,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2002,3,30,20,59,59],[2002,3,31,1,59,59],
+          '2001102721:00:00','2001102802:00:00','2002033020:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,21,0,0],[2002,3,31,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2002,10,26,20,59,59],[2002,10,27,2,59,59],
+          '2002033021:00:00','2002033103:00:00','2002102620:59:59','2002102702:59:59' ],
+        [ [2002,10,26,21,0,0],[2002,10,27,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2003,3,29,20,59,59],[2003,3,30,1,59,59],
+          '2002102621:00:00','2002102702:00:00','2003032920:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,21,0,0],[2003,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2003,10,25,20,59,59],[2003,10,26,2,59,59],
+          '2003032921:00:00','2003033003:00:00','2003102520:59:59','2003102602:59:59' ],
+        [ [2003,10,25,21,0,0],[2003,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2004,3,27,20,59,59],[2004,3,28,1,59,59],
+          '2003102521:00:00','2003102602:00:00','2004032720:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,21,0,0],[2004,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2004,10,30,20,59,59],[2004,10,31,2,59,59],
+          '2004032721:00:00','2004032803:00:00','2004103020:59:59','2004103102:59:59' ],
+        [ [2004,10,30,21,0,0],[2004,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2005,3,26,20,59,59],[2005,3,27,1,59,59],
+          '2004103021:00:00','2004103102:00:00','2005032620:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,21,0,0],[2005,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2005,10,29,20,59,59],[2005,10,30,2,59,59],
+          '2005032621:00:00','2005032703:00:00','2005102920:59:59','2005103002:59:59' ],
+        [ [2005,10,29,21,0,0],[2005,10,30,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2006,3,25,20,59,59],[2006,3,26,1,59,59],
+          '2005102921:00:00','2005103002:00:00','2006032520:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,21,0,0],[2006,3,26,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2006,10,28,20,59,59],[2006,10,29,2,59,59],
+          '2006032521:00:00','2006032603:00:00','2006102820:59:59','2006102902:59:59' ],
+        [ [2006,10,28,21,0,0],[2006,10,29,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2007,3,24,20,59,59],[2007,3,25,1,59,59],
+          '2006102821:00:00','2006102902:00:00','2007032420:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,21,0,0],[2007,3,25,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2007,10,27,20,59,59],[2007,10,28,2,59,59],
+          '2007032421:00:00','2007032503:00:00','2007102720:59:59','2007102802:59:59' ],
+        [ [2007,10,27,21,0,0],[2007,10,28,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2008,3,29,20,59,59],[2008,3,30,1,59,59],
+          '2007102721:00:00','2007102802:00:00','2008032920:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,21,0,0],[2008,3,30,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2008,10,25,20,59,59],[2008,10,26,2,59,59],
+          '2008032921:00:00','2008033003:00:00','2008102520:59:59','2008102602:59:59' ],
+        [ [2008,10,25,21,0,0],[2008,10,26,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2009,3,28,20,59,59],[2009,3,29,1,59,59],
+          '2008102521:00:00','2008102602:00:00','2009032820:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,21,0,0],[2009,3,29,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2009,10,24,20,59,59],[2009,10,25,2,59,59],
+          '2009032821:00:00','2009032903:00:00','2009102420:59:59','2009102502:59:59' ],
+        [ [2009,10,24,21,0,0],[2009,10,25,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2010,3,27,20,59,59],[2010,3,28,1,59,59],
+          '2009102421:00:00','2009102502:00:00','2010032720:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,21,0,0],[2010,3,28,3,0,0],'+06:00:00',[6,0,0],
+          '+06',1,[2010,10,30,20,59,59],[2010,10,31,2,59,59],
+          '2010032721:00:00','2010032803:00:00','2010103020:59:59','2010103102:59:59' ],
+        [ [2010,10,30,21,0,0],[2010,10,31,2,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[2011,3,26,20,59,59],[2011,3,27,1,59,59],
+          '2010103021:00:00','2010103102:00:00','2011032620:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,21,0,0],[2011,3,27,3,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[2014,10,25,19,59,59],[2014,10,26,1,59,59],
+          '2011032621:00:00','2011032703:00:00','2014102519:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,20,0,0],[2014,10,26,1,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '2014102520:00:00','2014102601:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/asyere00.pm b/lib/Date/Manip/TZ/asyere00.pm
new file mode 100644
index 0000000..a701fb3
--- /dev/null
+++ b/lib/Date/Manip/TZ/asyere00.pm
@@ -0,0 +1,325 @@
+package #
+Date::Manip::TZ::asyere00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,58,0],'+02:58:00',[2,58,0],
+          'LMT',0,[1924,5,1,21,1,59],[1924,5,1,23,59,59],
+          '0001010200:00:00','0001010202:58:00','1924050121:01:59','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,21,2,0],[1924,5,2,0,2,0],'+03:00:00',[3,0,0],
+          '+03',0,[1957,2,28,20,59,59],[1957,2,28,23,59,59],
+          '1924050121:02:00','1924050200:02:00','1957022820:59:59','1957022823:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,2,28,21,0,0],[1957,3,1,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1957022821:00:00','1957030101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1989,9,23,21,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032603:00:00','1989092321:59:59','1989092402:59:59' ],
+        [ [1989,9,23,22,0,0],[1989,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1990,3,24,21,59,59],[1990,3,25,1,59,59],
+          '1989092322:00:00','1989092402:00:00','1990032421:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,22,0,0],[1990,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1990,9,29,21,59,59],[1990,9,30,2,59,59],
+          '1990032422:00:00','1990032503:00:00','1990092921:59:59','1990093002:59:59' ],
+        [ [1990,9,29,22,0,0],[1990,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1991,3,30,21,59,59],[1991,3,31,1,59,59],
+          '1990092922:00:00','1990093002:00:00','1991033021:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1991,9,28,22,59,59],[1991,9,29,2,59,59],
+          '1991033022:00:00','1991033102:00:00','1991092822:59:59','1991092902:59:59' ],
+        [ [1991,9,28,23,0,0],[1991,9,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1992,3,28,22,59,59],[1992,3,29,1,59,59],
+          '1991092823:00:00','1991092902:00:00','1992032822:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,23,0,0],[1992,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032823:00:00','1992032903:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1997,3,29,21,59,59],[1997,3,30,1,59,59],
+          '1995092323:00:00','1995092403:00:00','1997032921:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,21,59,59],[1997,10,26,2,59,59],
+          '1997032922:00:00','1997033003:00:00','1997102521:59:59','1997102602:59:59' ],
+        [ [1997,10,25,22,0,0],[1997,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,21,59,59],[1998,3,29,1,59,59],
+          '1997102522:00:00','1997102602:00:00','1998032821:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,21,59,59],[1998,10,25,2,59,59],
+          '1998032822:00:00','1998032903:00:00','1998102421:59:59','1998102502:59:59' ],
+        [ [1998,10,24,22,0,0],[1998,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,21,59,59],[1999,3,28,1,59,59],
+          '1998102422:00:00','1998102502:00:00','1999032721:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,22,0,0],[1999,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,21,59,59],[1999,10,31,2,59,59],
+          '1999032722:00:00','1999032803:00:00','1999103021:59:59','1999103102:59:59' ],
+        [ [1999,10,30,22,0,0],[1999,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,21,59,59],[2000,3,26,1,59,59],
+          '1999103022:00:00','1999103102:00:00','2000032521:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,21,59,59],[2000,10,29,2,59,59],
+          '2000032522:00:00','2000032603:00:00','2000102821:59:59','2000102902:59:59' ],
+        [ [2000,10,28,22,0,0],[2000,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,21,59,59],[2001,3,25,1,59,59],
+          '2000102822:00:00','2000102902:00:00','2001032421:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,21,59,59],[2001,10,28,2,59,59],
+          '2001032422:00:00','2001032503:00:00','2001102721:59:59','2001102802:59:59' ],
+        [ [2001,10,27,22,0,0],[2001,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,21,59,59],[2002,3,31,1,59,59],
+          '2001102722:00:00','2001102802:00:00','2002033021:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,21,59,59],[2002,10,27,2,59,59],
+          '2002033022:00:00','2002033103:00:00','2002102621:59:59','2002102702:59:59' ],
+        [ [2002,10,26,22,0,0],[2002,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,21,59,59],[2003,3,30,1,59,59],
+          '2002102622:00:00','2002102702:00:00','2003032921:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,21,59,59],[2003,10,26,2,59,59],
+          '2003032922:00:00','2003033003:00:00','2003102521:59:59','2003102602:59:59' ],
+        [ [2003,10,25,22,0,0],[2003,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,21,59,59],[2004,3,28,1,59,59],
+          '2003102522:00:00','2003102602:00:00','2004032721:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,21,59,59],[2004,10,31,2,59,59],
+          '2004032722:00:00','2004032803:00:00','2004103021:59:59','2004103102:59:59' ],
+        [ [2004,10,30,22,0,0],[2004,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2005,3,26,21,59,59],[2005,3,27,1,59,59],
+          '2004103022:00:00','2004103102:00:00','2005032621:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,22,0,0],[2005,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2005,10,29,21,59,59],[2005,10,30,2,59,59],
+          '2005032622:00:00','2005032703:00:00','2005102921:59:59','2005103002:59:59' ],
+        [ [2005,10,29,22,0,0],[2005,10,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2006,3,25,21,59,59],[2006,3,26,1,59,59],
+          '2005102922:00:00','2005103002:00:00','2006032521:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,22,0,0],[2006,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2006,10,28,21,59,59],[2006,10,29,2,59,59],
+          '2006032522:00:00','2006032603:00:00','2006102821:59:59','2006102902:59:59' ],
+        [ [2006,10,28,22,0,0],[2006,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2007,3,24,21,59,59],[2007,3,25,1,59,59],
+          '2006102822:00:00','2006102902:00:00','2007032421:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,22,0,0],[2007,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2007,10,27,21,59,59],[2007,10,28,2,59,59],
+          '2007032422:00:00','2007032503:00:00','2007102721:59:59','2007102802:59:59' ],
+        [ [2007,10,27,22,0,0],[2007,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2008,3,29,21,59,59],[2008,3,30,1,59,59],
+          '2007102722:00:00','2007102802:00:00','2008032921:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,22,0,0],[2008,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2008,10,25,21,59,59],[2008,10,26,2,59,59],
+          '2008032922:00:00','2008033003:00:00','2008102521:59:59','2008102602:59:59' ],
+        [ [2008,10,25,22,0,0],[2008,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2009,3,28,21,59,59],[2009,3,29,1,59,59],
+          '2008102522:00:00','2008102602:00:00','2009032821:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,22,0,0],[2009,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2009,10,24,21,59,59],[2009,10,25,2,59,59],
+          '2009032822:00:00','2009032903:00:00','2009102421:59:59','2009102502:59:59' ],
+        [ [2009,10,24,22,0,0],[2009,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2010,3,27,21,59,59],[2010,3,28,1,59,59],
+          '2009102422:00:00','2009102502:00:00','2010032721:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,22,0,0],[2010,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2010,10,30,21,59,59],[2010,10,31,2,59,59],
+          '2010032722:00:00','2010032803:00:00','2010103021:59:59','2010103102:59:59' ],
+        [ [2010,10,30,22,0,0],[2010,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2011,3,26,21,59,59],[2011,3,27,1,59,59],
+          '2010103022:00:00','2010103102:00:00','2011032621:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,22,0,0],[2011,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2011,10,29,21,59,59],[2011,10,30,2,59,59],
+          '2011032622:00:00','2011032703:00:00','2011102921:59:59','2011103002:59:59' ],
+        [ [2011,10,29,22,0,0],[2011,10,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2011102922:00:00','2011103002:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atazor00.pm b/lib/Date/Manip/TZ/atazor00.pm
new file mode 100644
index 0000000..bd79b90
--- /dev/null
+++ b/lib/Date/Manip/TZ/atazor00.pm
@@ -0,0 +1,1324 @@
+package #
+Date::Manip::TZ::atazor00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,17,20],'-01:42:40',[-1,-42,-40],
+          'LMT',0,[1884,1,1,1,42,39],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010122:17:20','1884010101:42:39','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,1,42,40],[1883,12,31,23,48,8],'-01:54:32',[-1,-54,-32],
+          'HMT',0,[1912,1,1,1,54,31],[1911,12,31,23,59,59],
+          '1884010101:42:40','1883123123:48:08','1912010101:54:31','1911123123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,1,1,54,32],[1911,12,31,23,54,32],'-02:00:00',[-2,0,0],
+          '-02',0,[1916,6,18,0,59,59],[1916,6,17,22,59,59],
+          '1912010101:54:32','1911123123:54:32','1916061800:59:59','1916061722:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,18,1,0,0],[1916,6,18,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1916,11,1,1,59,59],[1916,11,1,0,59,59],
+          '1916061801:00:00','1916061800:00:00','1916110101:59:59','1916110100:59:59' ],
+        [ [1916,11,1,2,0,0],[1916,11,1,0,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1917,3,1,0,59,59],[1917,2,28,22,59,59],
+          '1916110102:00:00','1916110100:00:00','1917030100:59:59','1917022822:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,1,1,0,0],[1917,3,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1917,10,15,0,59,59],[1917,10,14,23,59,59],
+          '1917030101:00:00','1917030100:00:00','1917101500:59:59','1917101423:59:59' ],
+        [ [1917,10,15,1,0,0],[1917,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1918,3,2,0,59,59],[1918,3,1,22,59,59],
+          '1917101501:00:00','1917101423:00:00','1918030200:59:59','1918030122:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,2,1,0,0],[1918,3,2,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1918,10,15,0,59,59],[1918,10,14,23,59,59],
+          '1918030201:00:00','1918030200:00:00','1918101500:59:59','1918101423:59:59' ],
+        [ [1918,10,15,1,0,0],[1918,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1919,3,1,0,59,59],[1919,2,28,22,59,59],
+          '1918101501:00:00','1918101423:00:00','1919030100:59:59','1919022822:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,1,0,0],[1919,3,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1919,10,15,0,59,59],[1919,10,14,23,59,59],
+          '1919030101:00:00','1919030100:00:00','1919101500:59:59','1919101423:59:59' ],
+        [ [1919,10,15,1,0,0],[1919,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1920,3,1,0,59,59],[1920,2,29,22,59,59],
+          '1919101501:00:00','1919101423:00:00','1920030100:59:59','1920022922:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,1,1,0,0],[1920,3,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1920,10,15,0,59,59],[1920,10,14,23,59,59],
+          '1920030101:00:00','1920030100:00:00','1920101500:59:59','1920101423:59:59' ],
+        [ [1920,10,15,1,0,0],[1920,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1921,3,1,0,59,59],[1921,2,28,22,59,59],
+          '1920101501:00:00','1920101423:00:00','1921030100:59:59','1921022822:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,1,1,0,0],[1921,3,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1921,10,15,0,59,59],[1921,10,14,23,59,59],
+          '1921030101:00:00','1921030100:00:00','1921101500:59:59','1921101423:59:59' ],
+        [ [1921,10,15,1,0,0],[1921,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1924,4,17,0,59,59],[1924,4,16,22,59,59],
+          '1921101501:00:00','1921101423:00:00','1924041700:59:59','1924041622:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,17,1,0,0],[1924,4,17,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1924,10,15,0,59,59],[1924,10,14,23,59,59],
+          '1924041701:00:00','1924041700:00:00','1924101500:59:59','1924101423:59:59' ],
+        [ [1924,10,15,1,0,0],[1924,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1926,4,18,0,59,59],[1926,4,17,22,59,59],
+          '1924101501:00:00','1924101423:00:00','1926041800:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,18,1,0,0],[1926,4,18,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1926,10,3,0,59,59],[1926,10,2,23,59,59],
+          '1926041801:00:00','1926041800:00:00','1926100300:59:59','1926100223:59:59' ],
+        [ [1926,10,3,1,0,0],[1926,10,2,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1927,4,10,0,59,59],[1927,4,9,22,59,59],
+          '1926100301:00:00','1926100223:00:00','1927041000:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,10,1,0,0],[1927,4,10,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1927,10,2,0,59,59],[1927,10,1,23,59,59],
+          '1927041001:00:00','1927041000:00:00','1927100200:59:59','1927100123:59:59' ],
+        [ [1927,10,2,1,0,0],[1927,10,1,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1928,4,15,0,59,59],[1928,4,14,22,59,59],
+          '1927100201:00:00','1927100123:00:00','1928041500:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,15,1,0,0],[1928,4,15,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1928,10,7,0,59,59],[1928,10,6,23,59,59],
+          '1928041501:00:00','1928041500:00:00','1928100700:59:59','1928100623:59:59' ],
+        [ [1928,10,7,1,0,0],[1928,10,6,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1929,4,21,0,59,59],[1929,4,20,22,59,59],
+          '1928100701:00:00','1928100623:00:00','1929042100:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,1,0,0],[1929,4,21,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1929,10,6,0,59,59],[1929,10,5,23,59,59],
+          '1929042101:00:00','1929042100:00:00','1929100600:59:59','1929100523:59:59' ],
+        [ [1929,10,6,1,0,0],[1929,10,5,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1931,4,19,0,59,59],[1931,4,18,22,59,59],
+          '1929100601:00:00','1929100523:00:00','1931041900:59:59','1931041822:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,1,0,0],[1931,4,19,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1931,10,4,0,59,59],[1931,10,3,23,59,59],
+          '1931041901:00:00','1931041900:00:00','1931100400:59:59','1931100323:59:59' ],
+        [ [1931,10,4,1,0,0],[1931,10,3,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1932,4,3,0,59,59],[1932,4,2,22,59,59],
+          '1931100401:00:00','1931100323:00:00','1932040300:59:59','1932040222:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,3,1,0,0],[1932,4,3,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1932,10,2,0,59,59],[1932,10,1,23,59,59],
+          '1932040301:00:00','1932040300:00:00','1932100200:59:59','1932100123:59:59' ],
+        [ [1932,10,2,1,0,0],[1932,10,1,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1934,4,8,0,59,59],[1934,4,7,22,59,59],
+          '1932100201:00:00','1932100123:00:00','1934040800:59:59','1934040722:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,8,1,0,0],[1934,4,8,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1934,10,7,0,59,59],[1934,10,6,23,59,59],
+          '1934040801:00:00','1934040800:00:00','1934100700:59:59','1934100623:59:59' ],
+        [ [1934,10,7,1,0,0],[1934,10,6,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1935,3,31,0,59,59],[1935,3,30,22,59,59],
+          '1934100701:00:00','1934100623:00:00','1935033100:59:59','1935033022:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,31,1,0,0],[1935,3,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1935,10,6,0,59,59],[1935,10,5,23,59,59],
+          '1935033101:00:00','1935033100:00:00','1935100600:59:59','1935100523:59:59' ],
+        [ [1935,10,6,1,0,0],[1935,10,5,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1936,4,19,0,59,59],[1936,4,18,22,59,59],
+          '1935100601:00:00','1935100523:00:00','1936041900:59:59','1936041822:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,1,0,0],[1936,4,19,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1936,10,4,0,59,59],[1936,10,3,23,59,59],
+          '1936041901:00:00','1936041900:00:00','1936100400:59:59','1936100323:59:59' ],
+        [ [1936,10,4,1,0,0],[1936,10,3,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1937,4,4,0,59,59],[1937,4,3,22,59,59],
+          '1936100401:00:00','1936100323:00:00','1937040400:59:59','1937040322:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,4,1,0,0],[1937,4,4,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1937,10,3,0,59,59],[1937,10,2,23,59,59],
+          '1937040401:00:00','1937040400:00:00','1937100300:59:59','1937100223:59:59' ],
+        [ [1937,10,3,1,0,0],[1937,10,2,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1938,3,27,0,59,59],[1938,3,26,22,59,59],
+          '1937100301:00:00','1937100223:00:00','1938032700:59:59','1938032622:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,27,1,0,0],[1938,3,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1938,10,2,0,59,59],[1938,10,1,23,59,59],
+          '1938032701:00:00','1938032700:00:00','1938100200:59:59','1938100123:59:59' ],
+        [ [1938,10,2,1,0,0],[1938,10,1,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1939,4,16,0,59,59],[1939,4,15,22,59,59],
+          '1938100201:00:00','1938100123:00:00','1939041600:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,1,0,0],[1939,4,16,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1939,11,19,0,59,59],[1939,11,18,23,59,59],
+          '1939041601:00:00','1939041600:00:00','1939111900:59:59','1939111823:59:59' ],
+        [ [1939,11,19,1,0,0],[1939,11,18,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1940,2,25,0,59,59],[1940,2,24,22,59,59],
+          '1939111901:00:00','1939111823:00:00','1940022500:59:59','1940022422:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,1,0,0],[1940,2,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1940,10,6,0,59,59],[1940,10,5,23,59,59],
+          '1940022501:00:00','1940022500:00:00','1940100600:59:59','1940100523:59:59' ],
+        [ [1940,10,6,1,0,0],[1940,10,5,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1941,4,6,0,59,59],[1941,4,5,22,59,59],
+          '1940100601:00:00','1940100523:00:00','1941040600:59:59','1941040522:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,6,1,0,0],[1941,4,6,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1941,10,6,0,59,59],[1941,10,5,23,59,59],
+          '1941040601:00:00','1941040600:00:00','1941100600:59:59','1941100523:59:59' ],
+        [ [1941,10,6,1,0,0],[1941,10,5,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1942,3,15,0,59,59],[1942,3,14,22,59,59],
+          '1941100601:00:00','1941100523:00:00','1942031500:59:59','1942031422:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,15,1,0,0],[1942,3,15,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1942,4,25,23,59,59],[1942,4,25,22,59,59],
+          '1942031501:00:00','1942031500:00:00','1942042523:59:59','1942042522:59:59' ],
+        [ [1942,4,26,0,0,0],[1942,4,26,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1942,8,15,23,59,59],[1942,8,15,23,59,59],
+          '1942042600:00:00','1942042600:00:00','1942081523:59:59','1942081523:59:59' ],
+        [ [1942,8,16,0,0,0],[1942,8,15,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1942,10,25,0,59,59],[1942,10,24,23,59,59],
+          '1942081600:00:00','1942081523:00:00','1942102500:59:59','1942102423:59:59' ],
+        [ [1942,10,25,1,0,0],[1942,10,24,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1943,3,14,0,59,59],[1943,3,13,22,59,59],
+          '1942102501:00:00','1942102423:00:00','1943031400:59:59','1943031322:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,14,1,0,0],[1943,3,14,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1943,4,17,23,59,59],[1943,4,17,22,59,59],
+          '1943031401:00:00','1943031400:00:00','1943041723:59:59','1943041722:59:59' ],
+        [ [1943,4,18,0,0,0],[1943,4,18,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1943,8,28,23,59,59],[1943,8,28,23,59,59],
+          '1943041800:00:00','1943041800:00:00','1943082823:59:59','1943082823:59:59' ],
+        [ [1943,8,29,0,0,0],[1943,8,28,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1943,10,31,0,59,59],[1943,10,30,23,59,59],
+          '1943082900:00:00','1943082823:00:00','1943103100:59:59','1943103023:59:59' ],
+        [ [1943,10,31,1,0,0],[1943,10,30,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1944,3,12,0,59,59],[1944,3,11,22,59,59],
+          '1943103101:00:00','1943103023:00:00','1944031200:59:59','1944031122:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,12,1,0,0],[1944,3,12,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1944,4,22,23,59,59],[1944,4,22,22,59,59],
+          '1944031201:00:00','1944031200:00:00','1944042223:59:59','1944042222:59:59' ],
+        [ [1944,4,23,0,0,0],[1944,4,23,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1944,8,26,23,59,59],[1944,8,26,23,59,59],
+          '1944042300:00:00','1944042300:00:00','1944082623:59:59','1944082623:59:59' ],
+        [ [1944,8,27,0,0,0],[1944,8,26,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1944,10,29,0,59,59],[1944,10,28,23,59,59],
+          '1944082700:00:00','1944082623:00:00','1944102900:59:59','1944102823:59:59' ],
+        [ [1944,10,29,1,0,0],[1944,10,28,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1945,3,11,0,59,59],[1945,3,10,22,59,59],
+          '1944102901:00:00','1944102823:00:00','1945031100:59:59','1945031022:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,3,11,1,0,0],[1945,3,11,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1945,4,21,23,59,59],[1945,4,21,22,59,59],
+          '1945031101:00:00','1945031100:00:00','1945042123:59:59','1945042122:59:59' ],
+        [ [1945,4,22,0,0,0],[1945,4,22,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1945,8,25,23,59,59],[1945,8,25,23,59,59],
+          '1945042200:00:00','1945042200:00:00','1945082523:59:59','1945082523:59:59' ],
+        [ [1945,8,26,0,0,0],[1945,8,25,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1945,10,28,0,59,59],[1945,10,27,23,59,59],
+          '1945082600:00:00','1945082523:00:00','1945102800:59:59','1945102723:59:59' ],
+        [ [1945,10,28,1,0,0],[1945,10,27,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1946,4,7,0,59,59],[1946,4,6,22,59,59],
+          '1945102801:00:00','1945102723:00:00','1946040700:59:59','1946040622:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,7,1,0,0],[1946,4,7,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1946,10,6,0,59,59],[1946,10,5,23,59,59],
+          '1946040701:00:00','1946040700:00:00','1946100600:59:59','1946100523:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,5,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1947,4,6,3,59,59],[1947,4,6,1,59,59],
+          '1946100601:00:00','1946100523:00:00','1947040603:59:59','1947040601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,4,0,0],[1947,4,6,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1947,10,5,3,59,59],[1947,10,5,2,59,59],
+          '1947040604:00:00','1947040603:00:00','1947100503:59:59','1947100502:59:59' ],
+        [ [1947,10,5,4,0,0],[1947,10,5,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1948,4,4,3,59,59],[1948,4,4,1,59,59],
+          '1947100504:00:00','1947100502:00:00','1948040403:59:59','1948040401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,4,4,0,0],[1948,4,4,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1948,10,3,3,59,59],[1948,10,3,2,59,59],
+          '1948040404:00:00','1948040403:00:00','1948100303:59:59','1948100302:59:59' ],
+        [ [1948,10,3,4,0,0],[1948,10,3,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1949,4,3,3,59,59],[1949,4,3,1,59,59],
+          '1948100304:00:00','1948100302:00:00','1949040303:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,4,0,0],[1949,4,3,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1949,10,2,3,59,59],[1949,10,2,2,59,59],
+          '1949040304:00:00','1949040303:00:00','1949100203:59:59','1949100202:59:59' ],
+        [ [1949,10,2,4,0,0],[1949,10,2,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1951,4,1,3,59,59],[1951,4,1,1,59,59],
+          '1949100204:00:00','1949100202:00:00','1951040103:59:59','1951040101:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,4,0,0],[1951,4,1,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1951,10,7,3,59,59],[1951,10,7,2,59,59],
+          '1951040104:00:00','1951040103:00:00','1951100703:59:59','1951100702:59:59' ],
+        [ [1951,10,7,4,0,0],[1951,10,7,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1952,4,6,3,59,59],[1952,4,6,1,59,59],
+          '1951100704:00:00','1951100702:00:00','1952040603:59:59','1952040601:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,6,4,0,0],[1952,4,6,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1952,10,5,3,59,59],[1952,10,5,2,59,59],
+          '1952040604:00:00','1952040603:00:00','1952100503:59:59','1952100502:59:59' ],
+        [ [1952,10,5,4,0,0],[1952,10,5,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1953,4,5,3,59,59],[1953,4,5,1,59,59],
+          '1952100504:00:00','1952100502:00:00','1953040503:59:59','1953040501:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,5,4,0,0],[1953,4,5,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1953,10,4,3,59,59],[1953,10,4,2,59,59],
+          '1953040504:00:00','1953040503:00:00','1953100403:59:59','1953100402:59:59' ],
+        [ [1953,10,4,4,0,0],[1953,10,4,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1954,4,4,3,59,59],[1954,4,4,1,59,59],
+          '1953100404:00:00','1953100402:00:00','1954040403:59:59','1954040401:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,4,4,0,0],[1954,4,4,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1954,10,3,3,59,59],[1954,10,3,2,59,59],
+          '1954040404:00:00','1954040403:00:00','1954100303:59:59','1954100302:59:59' ],
+        [ [1954,10,3,4,0,0],[1954,10,3,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1955,4,3,3,59,59],[1955,4,3,1,59,59],
+          '1954100304:00:00','1954100302:00:00','1955040303:59:59','1955040301:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,3,4,0,0],[1955,4,3,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1955,10,2,3,59,59],[1955,10,2,2,59,59],
+          '1955040304:00:00','1955040303:00:00','1955100203:59:59','1955100202:59:59' ],
+        [ [1955,10,2,4,0,0],[1955,10,2,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1956,4,1,3,59,59],[1956,4,1,1,59,59],
+          '1955100204:00:00','1955100202:00:00','1956040103:59:59','1956040101:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,1,4,0,0],[1956,4,1,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1956,10,7,3,59,59],[1956,10,7,2,59,59],
+          '1956040104:00:00','1956040103:00:00','1956100703:59:59','1956100702:59:59' ],
+        [ [1956,10,7,4,0,0],[1956,10,7,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1957,4,7,3,59,59],[1957,4,7,1,59,59],
+          '1956100704:00:00','1956100702:00:00','1957040703:59:59','1957040701:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,7,4,0,0],[1957,4,7,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1957,10,6,3,59,59],[1957,10,6,2,59,59],
+          '1957040704:00:00','1957040703:00:00','1957100603:59:59','1957100602:59:59' ],
+        [ [1957,10,6,4,0,0],[1957,10,6,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1958,4,6,3,59,59],[1958,4,6,1,59,59],
+          '1957100604:00:00','1957100602:00:00','1958040603:59:59','1958040601:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,6,4,0,0],[1958,4,6,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1958,10,5,3,59,59],[1958,10,5,2,59,59],
+          '1958040604:00:00','1958040603:00:00','1958100503:59:59','1958100502:59:59' ],
+        [ [1958,10,5,4,0,0],[1958,10,5,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1959,4,5,3,59,59],[1959,4,5,1,59,59],
+          '1958100504:00:00','1958100502:00:00','1959040503:59:59','1959040501:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,5,4,0,0],[1959,4,5,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1959,10,4,3,59,59],[1959,10,4,2,59,59],
+          '1959040504:00:00','1959040503:00:00','1959100403:59:59','1959100402:59:59' ],
+        [ [1959,10,4,4,0,0],[1959,10,4,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1960,4,3,3,59,59],[1960,4,3,1,59,59],
+          '1959100404:00:00','1959100402:00:00','1960040303:59:59','1960040301:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,3,4,0,0],[1960,4,3,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1960,10,2,3,59,59],[1960,10,2,2,59,59],
+          '1960040304:00:00','1960040303:00:00','1960100203:59:59','1960100202:59:59' ],
+        [ [1960,10,2,4,0,0],[1960,10,2,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1961,4,2,3,59,59],[1961,4,2,1,59,59],
+          '1960100204:00:00','1960100202:00:00','1961040203:59:59','1961040201:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,2,4,0,0],[1961,4,2,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1961,10,1,3,59,59],[1961,10,1,2,59,59],
+          '1961040204:00:00','1961040203:00:00','1961100103:59:59','1961100102:59:59' ],
+        [ [1961,10,1,4,0,0],[1961,10,1,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1962,4,1,3,59,59],[1962,4,1,1,59,59],
+          '1961100104:00:00','1961100102:00:00','1962040103:59:59','1962040101:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,1,4,0,0],[1962,4,1,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1962,10,7,3,59,59],[1962,10,7,2,59,59],
+          '1962040104:00:00','1962040103:00:00','1962100703:59:59','1962100702:59:59' ],
+        [ [1962,10,7,4,0,0],[1962,10,7,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1963,4,7,3,59,59],[1963,4,7,1,59,59],
+          '1962100704:00:00','1962100702:00:00','1963040703:59:59','1963040701:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,7,4,0,0],[1963,4,7,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1963,10,6,3,59,59],[1963,10,6,2,59,59],
+          '1963040704:00:00','1963040703:00:00','1963100603:59:59','1963100602:59:59' ],
+        [ [1963,10,6,4,0,0],[1963,10,6,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1964,4,5,3,59,59],[1964,4,5,1,59,59],
+          '1963100604:00:00','1963100602:00:00','1964040503:59:59','1964040501:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,5,4,0,0],[1964,4,5,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1964,10,4,3,59,59],[1964,10,4,2,59,59],
+          '1964040504:00:00','1964040503:00:00','1964100403:59:59','1964100402:59:59' ],
+        [ [1964,10,4,4,0,0],[1964,10,4,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1965,4,4,3,59,59],[1965,4,4,1,59,59],
+          '1964100404:00:00','1964100402:00:00','1965040403:59:59','1965040401:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,4,4,0,0],[1965,4,4,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1965,10,3,3,59,59],[1965,10,3,2,59,59],
+          '1965040404:00:00','1965040403:00:00','1965100303:59:59','1965100302:59:59' ],
+        [ [1965,10,3,4,0,0],[1965,10,3,2,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1966,4,3,3,59,59],[1966,4,3,1,59,59],
+          '1965100304:00:00','1965100302:00:00','1966040303:59:59','1966040301:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,3,4,0,0],[1966,4,3,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1977,3,27,0,59,59],[1977,3,26,23,59,59],
+          '1966040304:00:00','1966040303:00:00','1977032700:59:59','1977032623:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,27,1,0,0],[1977,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1977,9,25,0,59,59],[1977,9,25,0,59,59],
+          '1977032701:00:00','1977032701:00:00','1977092500:59:59','1977092500:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1978,4,2,0,59,59],[1978,4,1,23,59,59],
+          '1977092501:00:00','1977092500:00:00','1978040200:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1978,10,1,0,59,59],[1978,10,1,0,59,59],
+          '1978040201:00:00','1978040201:00:00','1978100100:59:59','1978100100:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1979,4,1,0,59,59],[1979,3,31,23,59,59],
+          '1978100101:00:00','1978100100:00:00','1979040100:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1979,9,30,1,59,59],[1979,9,30,1,59,59],
+          '1979040101:00:00','1979040101:00:00','1979093001:59:59','1979093001:59:59' ],
+        [ [1979,9,30,2,0,0],[1979,9,30,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1980,3,30,0,59,59],[1980,3,29,23,59,59],
+          '1979093002:00:00','1979093001:00:00','1980033000:59:59','1980032923:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,30,1,0,0],[1980,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1980,9,28,1,59,59],[1980,9,28,1,59,59],
+          '1980033001:00:00','1980033001:00:00','1980092801:59:59','1980092801:59:59' ],
+        [ [1980,9,28,2,0,0],[1980,9,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1981,3,29,1,59,59],[1981,3,29,0,59,59],
+          '1980092802:00:00','1980092801:00:00','1981032901:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,2,0,0],[1981,3,29,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1981,9,27,1,59,59],[1981,9,27,1,59,59],
+          '1981032902:00:00','1981032902:00:00','1981092701:59:59','1981092701:59:59' ],
+        [ [1981,9,27,2,0,0],[1981,9,27,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1982,3,28,1,59,59],[1982,3,28,0,59,59],
+          '1981092702:00:00','1981092701:00:00','1982032801:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,2,0,0],[1982,3,28,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1982,9,26,1,59,59],[1982,9,26,1,59,59],
+          '1982032802:00:00','1982032802:00:00','1982092601:59:59','1982092601:59:59' ],
+        [ [1982,9,26,2,0,0],[1982,9,26,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1983,3,27,2,59,59],[1983,3,27,1,59,59],
+          '1982092602:00:00','1982092601:00:00','1983032702:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,3,0,0],[1983,3,27,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1983,9,25,1,59,59],[1983,9,25,1,59,59],
+          '1983032703:00:00','1983032703:00:00','1983092501:59:59','1983092501:59:59' ],
+        [ [1983,9,25,2,0,0],[1983,9,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1984,3,25,1,59,59],[1984,3,25,0,59,59],
+          '1983092502:00:00','1983092501:00:00','1984032501:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,2,0,0],[1984,3,25,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1984,9,30,1,59,59],[1984,9,30,1,59,59],
+          '1984032502:00:00','1984032502:00:00','1984093001:59:59','1984093001:59:59' ],
+        [ [1984,9,30,2,0,0],[1984,9,30,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1985,3,31,1,59,59],[1985,3,31,0,59,59],
+          '1984093002:00:00','1984093001:00:00','1985033101:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,2,0,0],[1985,3,31,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1985,9,29,1,59,59],[1985,9,29,1,59,59],
+          '1985033102:00:00','1985033102:00:00','1985092901:59:59','1985092901:59:59' ],
+        [ [1985,9,29,2,0,0],[1985,9,29,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1986,3,30,1,59,59],[1986,3,30,0,59,59],
+          '1985092902:00:00','1985092901:00:00','1986033001:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,2,0,0],[1986,3,30,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1986,9,28,1,59,59],[1986,9,28,1,59,59],
+          '1986033002:00:00','1986033002:00:00','1986092801:59:59','1986092801:59:59' ],
+        [ [1986,9,28,2,0,0],[1986,9,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1987,3,29,1,59,59],[1987,3,29,0,59,59],
+          '1986092802:00:00','1986092801:00:00','1987032901:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,2,0,0],[1987,3,29,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1987,9,27,1,59,59],[1987,9,27,1,59,59],
+          '1987032902:00:00','1987032902:00:00','1987092701:59:59','1987092701:59:59' ],
+        [ [1987,9,27,2,0,0],[1987,9,27,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1988,3,27,1,59,59],[1988,3,27,0,59,59],
+          '1987092702:00:00','1987092701:00:00','1988032701:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,2,0,0],[1988,3,27,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1988,9,25,1,59,59],[1988,9,25,1,59,59],
+          '1988032702:00:00','1988032702:00:00','1988092501:59:59','1988092501:59:59' ],
+        [ [1988,9,25,2,0,0],[1988,9,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1989,3,26,1,59,59],[1989,3,26,0,59,59],
+          '1988092502:00:00','1988092501:00:00','1989032601:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,2,0,0],[1989,3,26,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1989,9,24,1,59,59],[1989,9,24,1,59,59],
+          '1989032602:00:00','1989032602:00:00','1989092401:59:59','1989092401:59:59' ],
+        [ [1989,9,24,2,0,0],[1989,9,24,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1990,3,25,1,59,59],[1990,3,25,0,59,59],
+          '1989092402:00:00','1989092401:00:00','1990032501:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,2,0,0],[1990,3,25,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1990,9,30,1,59,59],[1990,9,30,1,59,59],
+          '1990032502:00:00','1990032502:00:00','1990093001:59:59','1990093001:59:59' ],
+        [ [1990,9,30,2,0,0],[1990,9,30,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1991,3,31,1,59,59],[1991,3,31,0,59,59],
+          '1990093002:00:00','1990093001:00:00','1991033101:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,2,0,0],[1991,3,31,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1991,9,29,1,59,59],[1991,9,29,1,59,59],
+          '1991033102:00:00','1991033102:00:00','1991092901:59:59','1991092901:59:59' ],
+        [ [1991,9,29,2,0,0],[1991,9,29,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1992,3,29,1,59,59],[1992,3,29,0,59,59],
+          '1991092902:00:00','1991092901:00:00','1992032901:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,2,0,0],[1992,3,29,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1992,9,27,1,59,59],[1992,9,27,1,59,59],
+          '1992032902:00:00','1992032902:00:00','1992092701:59:59','1992092701:59:59' ],
+        [ [1992,9,27,2,0,0],[1992,9,27,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992092702:00:00','1992092702:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1993,9,26,0,59,59],[1993,9,26,0,59,59],
+          '1993032801:00:00','1993032801:00:00','1993092600:59:59','1993092600:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1994,3,27,0,59,59],[1994,3,26,23,59,59],
+          '1993092601:00:00','1993092600:00:00','1994032700:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1994,9,25,0,59,59],[1994,9,25,0,59,59],
+          '1994032701:00:00','1994032701:00:00','1994092500:59:59','1994092500:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1995,3,26,0,59,59],[1995,3,25,23,59,59],
+          '1994092501:00:00','1994092500:00:00','1995032600:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1995,9,24,0,59,59],[1995,9,24,0,59,59],
+          '1995032601:00:00','1995032601:00:00','1995092400:59:59','1995092400:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1996,3,31,0,59,59],[1996,3,30,23,59,59],
+          '1995092401:00:00','1995092400:00:00','1996033100:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1996,10,27,0,59,59],[1996,10,27,0,59,59],
+          '1996033101:00:00','1996033101:00:00','1996102700:59:59','1996102700:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1997,3,30,0,59,59],[1997,3,29,23,59,59],
+          '1996102701:00:00','1996102700:00:00','1997033000:59:59','1997032923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1997,10,26,0,59,59],[1997,10,26,0,59,59],
+          '1997033001:00:00','1997033001:00:00','1997102600:59:59','1997102600:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1998,3,29,0,59,59],[1998,3,28,23,59,59],
+          '1997102601:00:00','1997102600:00:00','1998032900:59:59','1998032823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1998,10,25,0,59,59],[1998,10,25,0,59,59],
+          '1998032901:00:00','1998032901:00:00','1998102500:59:59','1998102500:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1999,3,28,0,59,59],[1999,3,27,23,59,59],
+          '1998102501:00:00','1998102500:00:00','1999032800:59:59','1999032723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1999,10,31,0,59,59],[1999,10,31,0,59,59],
+          '1999032801:00:00','1999032801:00:00','1999103100:59:59','1999103100:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2000,3,26,0,59,59],[2000,3,25,23,59,59],
+          '1999103101:00:00','1999103100:00:00','2000032600:59:59','2000032523:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2000,10,29,0,59,59],[2000,10,29,0,59,59],
+          '2000032601:00:00','2000032601:00:00','2000102900:59:59','2000102900:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2001,3,25,0,59,59],[2001,3,24,23,59,59],
+          '2000102901:00:00','2000102900:00:00','2001032500:59:59','2001032423:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2001,10,28,0,59,59],[2001,10,28,0,59,59],
+          '2001032501:00:00','2001032501:00:00','2001102800:59:59','2001102800:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2002,3,31,0,59,59],[2002,3,30,23,59,59],
+          '2001102801:00:00','2001102800:00:00','2002033100:59:59','2002033023:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2002,10,27,0,59,59],[2002,10,27,0,59,59],
+          '2002033101:00:00','2002033101:00:00','2002102700:59:59','2002102700:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2003,3,30,0,59,59],[2003,3,29,23,59,59],
+          '2002102701:00:00','2002102700:00:00','2003033000:59:59','2003032923:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2003,10,26,0,59,59],[2003,10,26,0,59,59],
+          '2003033001:00:00','2003033001:00:00','2003102600:59:59','2003102600:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2004,3,28,0,59,59],[2004,3,27,23,59,59],
+          '2003102601:00:00','2003102600:00:00','2004032800:59:59','2004032723:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2004,10,31,0,59,59],[2004,10,31,0,59,59],
+          '2004032801:00:00','2004032801:00:00','2004103100:59:59','2004103100:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2005,3,27,0,59,59],[2005,3,26,23,59,59],
+          '2004103101:00:00','2004103100:00:00','2005032700:59:59','2005032623:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2005,10,30,0,59,59],[2005,10,30,0,59,59],
+          '2005032701:00:00','2005032701:00:00','2005103000:59:59','2005103000:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2006,3,26,0,59,59],[2006,3,25,23,59,59],
+          '2005103001:00:00','2005103000:00:00','2006032600:59:59','2006032523:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2006,10,29,0,59,59],[2006,10,29,0,59,59],
+          '2006032601:00:00','2006032601:00:00','2006102900:59:59','2006102900:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2007,3,25,0,59,59],[2007,3,24,23,59,59],
+          '2006102901:00:00','2006102900:00:00','2007032500:59:59','2007032423:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2007,10,28,0,59,59],[2007,10,28,0,59,59],
+          '2007032501:00:00','2007032501:00:00','2007102800:59:59','2007102800:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2008,3,30,0,59,59],[2008,3,29,23,59,59],
+          '2007102801:00:00','2007102800:00:00','2008033000:59:59','2008032923:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2008,10,26,0,59,59],[2008,10,26,0,59,59],
+          '2008033001:00:00','2008033001:00:00','2008102600:59:59','2008102600:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2009,3,29,0,59,59],[2009,3,28,23,59,59],
+          '2008102601:00:00','2008102600:00:00','2009032900:59:59','2009032823:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2009,10,25,0,59,59],[2009,10,25,0,59,59],
+          '2009032901:00:00','2009032901:00:00','2009102500:59:59','2009102500:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2010,3,28,0,59,59],[2010,3,27,23,59,59],
+          '2009102501:00:00','2009102500:00:00','2010032800:59:59','2010032723:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2010,10,31,0,59,59],[2010,10,31,0,59,59],
+          '2010032801:00:00','2010032801:00:00','2010103100:59:59','2010103100:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2011,3,27,0,59,59],[2011,3,26,23,59,59],
+          '2010103101:00:00','2010103100:00:00','2011032700:59:59','2011032623:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2011,10,30,0,59,59],[2011,10,30,0,59,59],
+          '2011032701:00:00','2011032701:00:00','2011103000:59:59','2011103000:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2012,3,25,0,59,59],[2012,3,24,23,59,59],
+          '2011103001:00:00','2011103000:00:00','2012032500:59:59','2012032423:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2012,10,28,0,59,59],[2012,10,28,0,59,59],
+          '2012032501:00:00','2012032501:00:00','2012102800:59:59','2012102800:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2013,3,31,0,59,59],[2013,3,30,23,59,59],
+          '2012102801:00:00','2012102800:00:00','2013033100:59:59','2013033023:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2013,10,27,0,59,59],[2013,10,27,0,59,59],
+          '2013033101:00:00','2013033101:00:00','2013102700:59:59','2013102700:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2014,3,30,0,59,59],[2014,3,29,23,59,59],
+          '2013102701:00:00','2013102700:00:00','2014033000:59:59','2014032923:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2014,10,26,0,59,59],[2014,10,26,0,59,59],
+          '2014033001:00:00','2014033001:00:00','2014102600:59:59','2014102600:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2015,3,29,0,59,59],[2015,3,28,23,59,59],
+          '2014102601:00:00','2014102600:00:00','2015032900:59:59','2015032823:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2015,10,25,0,59,59],[2015,10,25,0,59,59],
+          '2015032901:00:00','2015032901:00:00','2015102500:59:59','2015102500:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2016,3,27,0,59,59],[2016,3,26,23,59,59],
+          '2015102501:00:00','2015102500:00:00','2016032700:59:59','2016032623:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2016,10,30,0,59,59],[2016,10,30,0,59,59],
+          '2016032701:00:00','2016032701:00:00','2016103000:59:59','2016103000:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2017,3,26,0,59,59],[2017,3,25,23,59,59],
+          '2016103001:00:00','2016103000:00:00','2017032600:59:59','2017032523:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2017,10,29,0,59,59],[2017,10,29,0,59,59],
+          '2017032601:00:00','2017032601:00:00','2017102900:59:59','2017102900:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2018,3,25,0,59,59],[2018,3,24,23,59,59],
+          '2017102901:00:00','2017102900:00:00','2018032500:59:59','2018032423:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2018,10,28,0,59,59],[2018,10,28,0,59,59],
+          '2018032501:00:00','2018032501:00:00','2018102800:59:59','2018102800:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2019,3,31,0,59,59],[2019,3,30,23,59,59],
+          '2018102801:00:00','2018102800:00:00','2019033100:59:59','2019033023:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2019,10,27,0,59,59],[2019,10,27,0,59,59],
+          '2019033101:00:00','2019033101:00:00','2019102700:59:59','2019102700:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2020,3,29,0,59,59],[2020,3,28,23,59,59],
+          '2019102701:00:00','2019102700:00:00','2020032900:59:59','2020032823:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2020,10,25,0,59,59],[2020,10,25,0,59,59],
+          '2020032901:00:00','2020032901:00:00','2020102500:59:59','2020102500:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2021,3,28,0,59,59],[2021,3,27,23,59,59],
+          '2020102501:00:00','2020102500:00:00','2021032800:59:59','2021032723:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2021,10,31,0,59,59],[2021,10,31,0,59,59],
+          '2021032801:00:00','2021032801:00:00','2021103100:59:59','2021103100:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2022,3,27,0,59,59],[2022,3,26,23,59,59],
+          '2021103101:00:00','2021103100:00:00','2022032700:59:59','2022032623:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2022,10,30,0,59,59],[2022,10,30,0,59,59],
+          '2022032701:00:00','2022032701:00:00','2022103000:59:59','2022103000:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2023,3,26,0,59,59],[2023,3,25,23,59,59],
+          '2022103001:00:00','2022103000:00:00','2023032600:59:59','2023032523:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2023,10,29,0,59,59],[2023,10,29,0,59,59],
+          '2023032601:00:00','2023032601:00:00','2023102900:59:59','2023102900:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2024,3,31,0,59,59],[2024,3,30,23,59,59],
+          '2023102901:00:00','2023102900:00:00','2024033100:59:59','2024033023:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2024,10,27,0,59,59],[2024,10,27,0,59,59],
+          '2024033101:00:00','2024033101:00:00','2024102700:59:59','2024102700:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2025,3,30,0,59,59],[2025,3,29,23,59,59],
+          '2024102701:00:00','2024102700:00:00','2025033000:59:59','2025032923:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2025,10,26,0,59,59],[2025,10,26,0,59,59],
+          '2025033001:00:00','2025033001:00:00','2025102600:59:59','2025102600:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2026,3,29,0,59,59],[2026,3,28,23,59,59],
+          '2025102601:00:00','2025102600:00:00','2026032900:59:59','2026032823:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2026,10,25,0,59,59],[2026,10,25,0,59,59],
+          '2026032901:00:00','2026032901:00:00','2026102500:59:59','2026102500:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2027,3,28,0,59,59],[2027,3,27,23,59,59],
+          '2026102501:00:00','2026102500:00:00','2027032800:59:59','2027032723:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2027,10,31,0,59,59],[2027,10,31,0,59,59],
+          '2027032801:00:00','2027032801:00:00','2027103100:59:59','2027103100:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2028,3,26,0,59,59],[2028,3,25,23,59,59],
+          '2027103101:00:00','2027103100:00:00','2028032600:59:59','2028032523:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2028,10,29,0,59,59],[2028,10,29,0,59,59],
+          '2028032601:00:00','2028032601:00:00','2028102900:59:59','2028102900:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2029,3,25,0,59,59],[2029,3,24,23,59,59],
+          '2028102901:00:00','2028102900:00:00','2029032500:59:59','2029032423:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2029,10,28,0,59,59],[2029,10,28,0,59,59],
+          '2029032501:00:00','2029032501:00:00','2029102800:59:59','2029102800:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2030,3,31,0,59,59],[2030,3,30,23,59,59],
+          '2029102801:00:00','2029102800:00:00','2030033100:59:59','2030033023:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2030,10,27,0,59,59],[2030,10,27,0,59,59],
+          '2030033101:00:00','2030033101:00:00','2030102700:59:59','2030102700:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2031,3,30,0,59,59],[2031,3,29,23,59,59],
+          '2030102701:00:00','2030102700:00:00','2031033000:59:59','2031032923:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2031,10,26,0,59,59],[2031,10,26,0,59,59],
+          '2031033001:00:00','2031033001:00:00','2031102600:59:59','2031102600:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2032,3,28,0,59,59],[2032,3,27,23,59,59],
+          '2031102601:00:00','2031102600:00:00','2032032800:59:59','2032032723:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2032,10,31,0,59,59],[2032,10,31,0,59,59],
+          '2032032801:00:00','2032032801:00:00','2032103100:59:59','2032103100:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2033,3,27,0,59,59],[2033,3,26,23,59,59],
+          '2032103101:00:00','2032103100:00:00','2033032700:59:59','2033032623:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2033,10,30,0,59,59],[2033,10,30,0,59,59],
+          '2033032701:00:00','2033032701:00:00','2033103000:59:59','2033103000:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2034,3,26,0,59,59],[2034,3,25,23,59,59],
+          '2033103001:00:00','2033103000:00:00','2034032600:59:59','2034032523:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2034,10,29,0,59,59],[2034,10,29,0,59,59],
+          '2034032601:00:00','2034032601:00:00','2034102900:59:59','2034102900:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2035,3,25,0,59,59],[2035,3,24,23,59,59],
+          '2034102901:00:00','2034102900:00:00','2035032500:59:59','2035032423:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2035,10,28,0,59,59],[2035,10,28,0,59,59],
+          '2035032501:00:00','2035032501:00:00','2035102800:59:59','2035102800:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2036,3,30,0,59,59],[2036,3,29,23,59,59],
+          '2035102801:00:00','2035102800:00:00','2036033000:59:59','2036032923:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2036,10,26,0,59,59],[2036,10,26,0,59,59],
+          '2036033001:00:00','2036033001:00:00','2036102600:59:59','2036102600:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2037,3,29,0,59,59],[2037,3,28,23,59,59],
+          '2036102601:00:00','2036102600:00:00','2037032900:59:59','2037032823:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2037,10,25,0,59,59],[2037,10,25,0,59,59],
+          '2037032901:00:00','2037032901:00:00','2037102500:59:59','2037102500:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2038,3,28,0,59,59],[2038,3,27,23,59,59],
+          '2037102501:00:00','2037102500:00:00','2038032800:59:59','2038032723:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2038,10,31,0,59,59],[2038,10,31,0,59,59],
+          '2038032801:00:00','2038032801:00:00','2038103100:59:59','2038103100:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2039,3,27,0,59,59],[2039,3,26,23,59,59],
+          '2038103101:00:00','2038103100:00:00','2039032700:59:59','2039032623:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2039,10,30,0,59,59],[2039,10,30,0,59,59],
+          '2039032701:00:00','2039032701:00:00','2039103000:59:59','2039103000:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2040,3,25,0,59,59],[2040,3,24,23,59,59],
+          '2039103001:00:00','2039103000:00:00','2040032500:59:59','2040032423:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2040,10,28,0,59,59],[2040,10,28,0,59,59],
+          '2040032501:00:00','2040032501:00:00','2040102800:59:59','2040102800:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2041,3,31,0,59,59],[2041,3,30,23,59,59],
+          '2040102801:00:00','2040102800:00:00','2041033100:59:59','2041033023:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2041,10,27,0,59,59],[2041,10,27,0,59,59],
+          '2041033101:00:00','2041033101:00:00','2041102700:59:59','2041102700:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2042,3,30,0,59,59],[2042,3,29,23,59,59],
+          '2041102701:00:00','2041102700:00:00','2042033000:59:59','2042032923:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2042,10,26,0,59,59],[2042,10,26,0,59,59],
+          '2042033001:00:00','2042033001:00:00','2042102600:59:59','2042102600:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2043,3,29,0,59,59],[2043,3,28,23,59,59],
+          '2042102601:00:00','2042102600:00:00','2043032900:59:59','2043032823:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2043,10,25,0,59,59],[2043,10,25,0,59,59],
+          '2043032901:00:00','2043032901:00:00','2043102500:59:59','2043102500:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2044,3,27,0,59,59],[2044,3,26,23,59,59],
+          '2043102501:00:00','2043102500:00:00','2044032700:59:59','2044032623:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2044,10,30,0,59,59],[2044,10,30,0,59,59],
+          '2044032701:00:00','2044032701:00:00','2044103000:59:59','2044103000:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2045,3,26,0,59,59],[2045,3,25,23,59,59],
+          '2044103001:00:00','2044103000:00:00','2045032600:59:59','2045032523:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2045,10,29,0,59,59],[2045,10,29,0,59,59],
+          '2045032601:00:00','2045032601:00:00','2045102900:59:59','2045102900:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2046,3,25,0,59,59],[2046,3,24,23,59,59],
+          '2045102901:00:00','2045102900:00:00','2046032500:59:59','2046032423:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2046,10,28,0,59,59],[2046,10,28,0,59,59],
+          '2046032501:00:00','2046032501:00:00','2046102800:59:59','2046102800:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2047,3,31,0,59,59],[2047,3,30,23,59,59],
+          '2046102801:00:00','2046102800:00:00','2047033100:59:59','2047033023:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2047,10,27,0,59,59],[2047,10,27,0,59,59],
+          '2047033101:00:00','2047033101:00:00','2047102700:59:59','2047102700:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2048,3,29,0,59,59],[2048,3,28,23,59,59],
+          '2047102701:00:00','2047102700:00:00','2048032900:59:59','2048032823:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2048,10,25,0,59,59],[2048,10,25,0,59,59],
+          '2048032901:00:00','2048032901:00:00','2048102500:59:59','2048102500:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2049,3,28,0,59,59],[2049,3,27,23,59,59],
+          '2048102501:00:00','2048102500:00:00','2049032800:59:59','2049032723:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2049,10,31,0,59,59],[2049,10,31,0,59,59],
+          '2049032801:00:00','2049032801:00:00','2049103100:59:59','2049103100:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2050,3,27,0,59,59],[2050,3,26,23,59,59],
+          '2049103101:00:00','2049103100:00:00','2050032700:59:59','2050032623:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2050,10,30,0,59,59],[2050,10,30,0,59,59],
+          '2050032701:00:00','2050032701:00:00','2050103000:59:59','2050103000:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2051,3,26,0,59,59],[2051,3,25,23,59,59],
+          '2050103001:00:00','2050103000:00:00','2051032600:59:59','2051032523:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2051,10,29,0,59,59],[2051,10,29,0,59,59],
+          '2051032601:00:00','2051032601:00:00','2051102900:59:59','2051102900:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2052,3,31,0,59,59],[2052,3,30,23,59,59],
+          '2051102901:00:00','2051102900:00:00','2052033100:59:59','2052033023:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2052,10,27,0,59,59],[2052,10,27,0,59,59],
+          '2052033101:00:00','2052033101:00:00','2052102700:59:59','2052102700:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2053,3,30,0,59,59],[2053,3,29,23,59,59],
+          '2052102701:00:00','2052102700:00:00','2053033000:59:59','2053032923:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2053,10,26,0,59,59],[2053,10,26,0,59,59],
+          '2053033001:00:00','2053033001:00:00','2053102600:59:59','2053102600:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2054,3,29,0,59,59],[2054,3,28,23,59,59],
+          '2053102601:00:00','2053102600:00:00','2054032900:59:59','2054032823:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2054,10,25,0,59,59],[2054,10,25,0,59,59],
+          '2054032901:00:00','2054032901:00:00','2054102500:59:59','2054102500:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2055,3,28,0,59,59],[2055,3,27,23,59,59],
+          '2054102501:00:00','2054102500:00:00','2055032800:59:59','2055032723:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2055,10,31,0,59,59],[2055,10,31,0,59,59],
+          '2055032801:00:00','2055032801:00:00','2055103100:59:59','2055103100:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2056,3,26,0,59,59],[2056,3,25,23,59,59],
+          '2055103101:00:00','2055103100:00:00','2056032600:59:59','2056032523:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2056,10,29,0,59,59],[2056,10,29,0,59,59],
+          '2056032601:00:00','2056032601:00:00','2056102900:59:59','2056102900:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2057,3,25,0,59,59],[2057,3,24,23,59,59],
+          '2056102901:00:00','2056102900:00:00','2057032500:59:59','2057032423:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2057,10,28,0,59,59],[2057,10,28,0,59,59],
+          '2057032501:00:00','2057032501:00:00','2057102800:59:59','2057102800:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2058,3,31,0,59,59],[2058,3,30,23,59,59],
+          '2057102801:00:00','2057102800:00:00','2058033100:59:59','2058033023:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2058,10,27,0,59,59],[2058,10,27,0,59,59],
+          '2058033101:00:00','2058033101:00:00','2058102700:59:59','2058102700:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2059,3,30,0,59,59],[2059,3,29,23,59,59],
+          '2058102701:00:00','2058102700:00:00','2059033000:59:59','2059032923:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2059,10,26,0,59,59],[2059,10,26,0,59,59],
+          '2059033001:00:00','2059033001:00:00','2059102600:59:59','2059102600:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2060,3,28,0,59,59],[2060,3,27,23,59,59],
+          '2059102601:00:00','2059102600:00:00','2060032800:59:59','2060032723:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2060,10,31,0,59,59],[2060,10,31,0,59,59],
+          '2060032801:00:00','2060032801:00:00','2060103100:59:59','2060103100:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2061,3,27,0,59,59],[2061,3,26,23,59,59],
+          '2060103101:00:00','2060103100:00:00','2061032700:59:59','2061032623:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2061,10,30,0,59,59],[2061,10,30,0,59,59],
+          '2061032701:00:00','2061032701:00:00','2061103000:59:59','2061103000:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2062,3,26,0,59,59],[2062,3,25,23,59,59],
+          '2061103001:00:00','2061103000:00:00','2062032600:59:59','2062032523:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2062,10,29,0,59,59],[2062,10,29,0,59,59],
+          '2062032601:00:00','2062032601:00:00','2062102900:59:59','2062102900:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2063,3,25,0,59,59],[2063,3,24,23,59,59],
+          '2062102901:00:00','2062102900:00:00','2063032500:59:59','2063032423:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2063,10,28,0,59,59],[2063,10,28,0,59,59],
+          '2063032501:00:00','2063032501:00:00','2063102800:59:59','2063102800:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2064,3,30,0,59,59],[2064,3,29,23,59,59],
+          '2063102801:00:00','2063102800:00:00','2064033000:59:59','2064032923:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2064,10,26,0,59,59],[2064,10,26,0,59,59],
+          '2064033001:00:00','2064033001:00:00','2064102600:59:59','2064102600:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2065,3,29,0,59,59],[2065,3,28,23,59,59],
+          '2064102601:00:00','2064102600:00:00','2065032900:59:59','2065032823:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2065,10,25,0,59,59],[2065,10,25,0,59,59],
+          '2065032901:00:00','2065032901:00:00','2065102500:59:59','2065102500:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2066,3,28,0,59,59],[2066,3,27,23,59,59],
+          '2065102501:00:00','2065102500:00:00','2066032800:59:59','2066032723:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2066,10,31,0,59,59],[2066,10,31,0,59,59],
+          '2066032801:00:00','2066032801:00:00','2066103100:59:59','2066103100:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2067,3,27,0,59,59],[2067,3,26,23,59,59],
+          '2066103101:00:00','2066103100:00:00','2067032700:59:59','2067032623:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,1,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[2067,10,30,0,59,59],[2067,10,30,0,59,59],
+          '2067032701:00:00','2067032701:00:00','2067103000:59:59','2067103000:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[2068,3,25,0,59,59],[2068,3,24,23,59,59],
+          '2067103001:00:00','2067103000:00:00','2068032500:59:59','2068032423:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+00:00:00',
+                'stdoff' => '-01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+00',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-01',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atberm00.pm b/lib/Date/Manip/TZ/atberm00.pm
new file mode 100644
index 0000000..06eaa02
--- /dev/null
+++ b/lib/Date/Manip/TZ/atberm00.pm
@@ -0,0 +1,919 @@
+package #
+Date::Manip::TZ::atberm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,40,42],'-04:19:18',[-4,-19,-18],
+          'LMT',0,[1930,1,1,6,19,17],[1930,1,1,1,59,59],
+          '0001010200:00:00','0001010119:40:42','1930010106:19:17','1930010101:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,1,1,6,19,18],[1930,1,1,2,19,18],'-04:00:00',[-4,0,0],
+          'AST',0,[1974,4,28,5,59,59],[1974,4,28,1,59,59],
+          '1930010106:19:18','1930010102:19:18','1974042805:59:59','1974042801:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,28,6,0,0],[1974,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1974,10,27,4,59,59],[1974,10,27,1,59,59],
+          '1974042806:00:00','1974042803:00:00','1974102704:59:59','1974102701:59:59' ],
+        [ [1974,10,27,5,0,0],[1974,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1975,4,27,5,59,59],[1975,4,27,1,59,59],
+          '1974102705:00:00','1974102701:00:00','1975042705:59:59','1975042701:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,27,6,0,0],[1975,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1975,10,26,4,59,59],[1975,10,26,1,59,59],
+          '1975042706:00:00','1975042703:00:00','1975102604:59:59','1975102601:59:59' ],
+        [ [1975,10,26,5,0,0],[1975,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1976,4,25,5,59,59],[1976,4,25,1,59,59],
+          '1975102605:00:00','1975102601:00:00','1976042505:59:59','1976042501:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,25,6,0,0],[1976,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1976,10,31,4,59,59],[1976,10,31,1,59,59],
+          '1976042506:00:00','1976042503:00:00','1976103104:59:59','1976103101:59:59' ],
+        [ [1976,10,31,5,0,0],[1976,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1977,4,24,5,59,59],[1977,4,24,1,59,59],
+          '1976103105:00:00','1976103101:00:00','1977042405:59:59','1977042401:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,24,6,0,0],[1977,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1977,10,30,4,59,59],[1977,10,30,1,59,59],
+          '1977042406:00:00','1977042403:00:00','1977103004:59:59','1977103001:59:59' ],
+        [ [1977,10,30,5,0,0],[1977,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1978,4,30,5,59,59],[1978,4,30,1,59,59],
+          '1977103005:00:00','1977103001:00:00','1978043005:59:59','1978043001:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,30,6,0,0],[1978,4,30,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1978,10,29,4,59,59],[1978,10,29,1,59,59],
+          '1978043006:00:00','1978043003:00:00','1978102904:59:59','1978102901:59:59' ],
+        [ [1978,10,29,5,0,0],[1978,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1979,4,29,5,59,59],[1979,4,29,1,59,59],
+          '1978102905:00:00','1978102901:00:00','1979042905:59:59','1979042901:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,29,6,0,0],[1979,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1979,10,28,4,59,59],[1979,10,28,1,59,59],
+          '1979042906:00:00','1979042903:00:00','1979102804:59:59','1979102801:59:59' ],
+        [ [1979,10,28,5,0,0],[1979,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1980,4,27,5,59,59],[1980,4,27,1,59,59],
+          '1979102805:00:00','1979102801:00:00','1980042705:59:59','1980042701:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,27,6,0,0],[1980,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1980,10,26,4,59,59],[1980,10,26,1,59,59],
+          '1980042706:00:00','1980042703:00:00','1980102604:59:59','1980102601:59:59' ],
+        [ [1980,10,26,5,0,0],[1980,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1981,4,26,5,59,59],[1981,4,26,1,59,59],
+          '1980102605:00:00','1980102601:00:00','1981042605:59:59','1981042601:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,26,6,0,0],[1981,4,26,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1981,10,25,4,59,59],[1981,10,25,1,59,59],
+          '1981042606:00:00','1981042603:00:00','1981102504:59:59','1981102501:59:59' ],
+        [ [1981,10,25,5,0,0],[1981,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1982,4,25,5,59,59],[1982,4,25,1,59,59],
+          '1981102505:00:00','1981102501:00:00','1982042505:59:59','1982042501:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,25,6,0,0],[1982,4,25,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1982,10,31,4,59,59],[1982,10,31,1,59,59],
+          '1982042506:00:00','1982042503:00:00','1982103104:59:59','1982103101:59:59' ],
+        [ [1982,10,31,5,0,0],[1982,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1983,4,24,5,59,59],[1983,4,24,1,59,59],
+          '1982103105:00:00','1982103101:00:00','1983042405:59:59','1983042401:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,24,6,0,0],[1983,4,24,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1983,10,30,4,59,59],[1983,10,30,1,59,59],
+          '1983042406:00:00','1983042403:00:00','1983103004:59:59','1983103001:59:59' ],
+        [ [1983,10,30,5,0,0],[1983,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1984,4,29,5,59,59],[1984,4,29,1,59,59],
+          '1983103005:00:00','1983103001:00:00','1984042905:59:59','1984042901:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,6,0,0],[1984,4,29,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1984,10,28,4,59,59],[1984,10,28,1,59,59],
+          '1984042906:00:00','1984042903:00:00','1984102804:59:59','1984102801:59:59' ],
+        [ [1984,10,28,5,0,0],[1984,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1985,4,28,5,59,59],[1985,4,28,1,59,59],
+          '1984102805:00:00','1984102801:00:00','1985042805:59:59','1985042801:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,6,0,0],[1985,4,28,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1985,10,27,4,59,59],[1985,10,27,1,59,59],
+          '1985042806:00:00','1985042803:00:00','1985102704:59:59','1985102701:59:59' ],
+        [ [1985,10,27,5,0,0],[1985,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1986,4,27,5,59,59],[1986,4,27,1,59,59],
+          '1985102705:00:00','1985102701:00:00','1986042705:59:59','1986042701:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,27,6,0,0],[1986,4,27,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1986,10,26,4,59,59],[1986,10,26,1,59,59],
+          '1986042706:00:00','1986042703:00:00','1986102604:59:59','1986102601:59:59' ],
+        [ [1986,10,26,5,0,0],[1986,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1987,4,5,5,59,59],[1987,4,5,1,59,59],
+          '1986102605:00:00','1986102601:00:00','1987040505:59:59','1987040501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,5,6,0,0],[1987,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1987,10,25,4,59,59],[1987,10,25,1,59,59],
+          '1987040506:00:00','1987040503:00:00','1987102504:59:59','1987102501:59:59' ],
+        [ [1987,10,25,5,0,0],[1987,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1988,4,3,5,59,59],[1988,4,3,1,59,59],
+          '1987102505:00:00','1987102501:00:00','1988040305:59:59','1988040301:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,3,6,0,0],[1988,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1988,10,30,4,59,59],[1988,10,30,1,59,59],
+          '1988040306:00:00','1988040303:00:00','1988103004:59:59','1988103001:59:59' ],
+        [ [1988,10,30,5,0,0],[1988,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1989,4,2,5,59,59],[1989,4,2,1,59,59],
+          '1988103005:00:00','1988103001:00:00','1989040205:59:59','1989040201:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,2,6,0,0],[1989,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1989,10,29,4,59,59],[1989,10,29,1,59,59],
+          '1989040206:00:00','1989040203:00:00','1989102904:59:59','1989102901:59:59' ],
+        [ [1989,10,29,5,0,0],[1989,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1990,4,1,5,59,59],[1990,4,1,1,59,59],
+          '1989102905:00:00','1989102901:00:00','1990040105:59:59','1990040101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,1,6,0,0],[1990,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1990,10,28,4,59,59],[1990,10,28,1,59,59],
+          '1990040106:00:00','1990040103:00:00','1990102804:59:59','1990102801:59:59' ],
+        [ [1990,10,28,5,0,0],[1990,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1991,4,7,5,59,59],[1991,4,7,1,59,59],
+          '1990102805:00:00','1990102801:00:00','1991040705:59:59','1991040701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,7,6,0,0],[1991,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1991,10,27,4,59,59],[1991,10,27,1,59,59],
+          '1991040706:00:00','1991040703:00:00','1991102704:59:59','1991102701:59:59' ],
+        [ [1991,10,27,5,0,0],[1991,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1992,4,5,5,59,59],[1992,4,5,1,59,59],
+          '1991102705:00:00','1991102701:00:00','1992040505:59:59','1992040501:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,5,6,0,0],[1992,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1992,10,25,4,59,59],[1992,10,25,1,59,59],
+          '1992040506:00:00','1992040503:00:00','1992102504:59:59','1992102501:59:59' ],
+        [ [1992,10,25,5,0,0],[1992,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1993,4,4,5,59,59],[1993,4,4,1,59,59],
+          '1992102505:00:00','1992102501:00:00','1993040405:59:59','1993040401:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,4,6,0,0],[1993,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1993,10,31,4,59,59],[1993,10,31,1,59,59],
+          '1993040406:00:00','1993040403:00:00','1993103104:59:59','1993103101:59:59' ],
+        [ [1993,10,31,5,0,0],[1993,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1994,4,3,5,59,59],[1994,4,3,1,59,59],
+          '1993103105:00:00','1993103101:00:00','1994040305:59:59','1994040301:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,3,6,0,0],[1994,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1994,10,30,4,59,59],[1994,10,30,1,59,59],
+          '1994040306:00:00','1994040303:00:00','1994103004:59:59','1994103001:59:59' ],
+        [ [1994,10,30,5,0,0],[1994,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1995,4,2,5,59,59],[1995,4,2,1,59,59],
+          '1994103005:00:00','1994103001:00:00','1995040205:59:59','1995040201:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,2,6,0,0],[1995,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1995,10,29,4,59,59],[1995,10,29,1,59,59],
+          '1995040206:00:00','1995040203:00:00','1995102904:59:59','1995102901:59:59' ],
+        [ [1995,10,29,5,0,0],[1995,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1996,4,7,5,59,59],[1996,4,7,1,59,59],
+          '1995102905:00:00','1995102901:00:00','1996040705:59:59','1996040701:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,7,6,0,0],[1996,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1996,10,27,4,59,59],[1996,10,27,1,59,59],
+          '1996040706:00:00','1996040703:00:00','1996102704:59:59','1996102701:59:59' ],
+        [ [1996,10,27,5,0,0],[1996,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1997,4,6,5,59,59],[1997,4,6,1,59,59],
+          '1996102705:00:00','1996102701:00:00','1997040605:59:59','1997040601:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,6,6,0,0],[1997,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1997,10,26,4,59,59],[1997,10,26,1,59,59],
+          '1997040606:00:00','1997040603:00:00','1997102604:59:59','1997102601:59:59' ],
+        [ [1997,10,26,5,0,0],[1997,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1998,4,5,5,59,59],[1998,4,5,1,59,59],
+          '1997102605:00:00','1997102601:00:00','1998040505:59:59','1998040501:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,5,6,0,0],[1998,4,5,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1998,10,25,4,59,59],[1998,10,25,1,59,59],
+          '1998040506:00:00','1998040503:00:00','1998102504:59:59','1998102501:59:59' ],
+        [ [1998,10,25,5,0,0],[1998,10,25,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[1999,4,4,5,59,59],[1999,4,4,1,59,59],
+          '1998102505:00:00','1998102501:00:00','1999040405:59:59','1999040401:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,6,0,0],[1999,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[1999,10,31,4,59,59],[1999,10,31,1,59,59],
+          '1999040406:00:00','1999040403:00:00','1999103104:59:59','1999103101:59:59' ],
+        [ [1999,10,31,5,0,0],[1999,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2000,4,2,5,59,59],[2000,4,2,1,59,59],
+          '1999103105:00:00','1999103101:00:00','2000040205:59:59','2000040201:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,2,6,0,0],[2000,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2000,10,29,4,59,59],[2000,10,29,1,59,59],
+          '2000040206:00:00','2000040203:00:00','2000102904:59:59','2000102901:59:59' ],
+        [ [2000,10,29,5,0,0],[2000,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2001,4,1,5,59,59],[2001,4,1,1,59,59],
+          '2000102905:00:00','2000102901:00:00','2001040105:59:59','2001040101:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,1,6,0,0],[2001,4,1,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2001,10,28,4,59,59],[2001,10,28,1,59,59],
+          '2001040106:00:00','2001040103:00:00','2001102804:59:59','2001102801:59:59' ],
+        [ [2001,10,28,5,0,0],[2001,10,28,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2002,4,7,5,59,59],[2002,4,7,1,59,59],
+          '2001102805:00:00','2001102801:00:00','2002040705:59:59','2002040701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,7,6,0,0],[2002,4,7,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2002,10,27,4,59,59],[2002,10,27,1,59,59],
+          '2002040706:00:00','2002040703:00:00','2002102704:59:59','2002102701:59:59' ],
+        [ [2002,10,27,5,0,0],[2002,10,27,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2003,4,6,5,59,59],[2003,4,6,1,59,59],
+          '2002102705:00:00','2002102701:00:00','2003040605:59:59','2003040601:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,6,6,0,0],[2003,4,6,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2003,10,26,4,59,59],[2003,10,26,1,59,59],
+          '2003040606:00:00','2003040603:00:00','2003102604:59:59','2003102601:59:59' ],
+        [ [2003,10,26,5,0,0],[2003,10,26,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2004,4,4,5,59,59],[2004,4,4,1,59,59],
+          '2003102605:00:00','2003102601:00:00','2004040405:59:59','2004040401:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,4,6,0,0],[2004,4,4,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2004,10,31,4,59,59],[2004,10,31,1,59,59],
+          '2004040406:00:00','2004040403:00:00','2004103104:59:59','2004103101:59:59' ],
+        [ [2004,10,31,5,0,0],[2004,10,31,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2005,4,3,5,59,59],[2005,4,3,1,59,59],
+          '2004103105:00:00','2004103101:00:00','2005040305:59:59','2005040301:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,3,6,0,0],[2005,4,3,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2005,10,30,4,59,59],[2005,10,30,1,59,59],
+          '2005040306:00:00','2005040303:00:00','2005103004:59:59','2005103001:59:59' ],
+        [ [2005,10,30,5,0,0],[2005,10,30,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2006,4,2,5,59,59],[2006,4,2,1,59,59],
+          '2005103005:00:00','2005103001:00:00','2006040205:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,2,6,0,0],[2006,4,2,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2006,10,29,4,59,59],[2006,10,29,1,59,59],
+          '2006040206:00:00','2006040203:00:00','2006102904:59:59','2006102901:59:59' ],
+        [ [2006,10,29,5,0,0],[2006,10,29,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2007,3,11,5,59,59],[2007,3,11,1,59,59],
+          '2006102905:00:00','2006102901:00:00','2007031105:59:59','2007031101:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,6,0,0],[2007,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2007,11,4,4,59,59],[2007,11,4,1,59,59],
+          '2007031106:00:00','2007031103:00:00','2007110404:59:59','2007110401:59:59' ],
+        [ [2007,11,4,5,0,0],[2007,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2008,3,9,5,59,59],[2008,3,9,1,59,59],
+          '2007110405:00:00','2007110401:00:00','2008030905:59:59','2008030901:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,9,6,0,0],[2008,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2008,11,2,4,59,59],[2008,11,2,1,59,59],
+          '2008030906:00:00','2008030903:00:00','2008110204:59:59','2008110201:59:59' ],
+        [ [2008,11,2,5,0,0],[2008,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2009,3,8,5,59,59],[2009,3,8,1,59,59],
+          '2008110205:00:00','2008110201:00:00','2009030805:59:59','2009030801:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,8,6,0,0],[2009,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2009,11,1,4,59,59],[2009,11,1,1,59,59],
+          '2009030806:00:00','2009030803:00:00','2009110104:59:59','2009110101:59:59' ],
+        [ [2009,11,1,5,0,0],[2009,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2010,3,14,5,59,59],[2010,3,14,1,59,59],
+          '2009110105:00:00','2009110101:00:00','2010031405:59:59','2010031401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,14,6,0,0],[2010,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2010,11,7,4,59,59],[2010,11,7,1,59,59],
+          '2010031406:00:00','2010031403:00:00','2010110704:59:59','2010110701:59:59' ],
+        [ [2010,11,7,5,0,0],[2010,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2011,3,13,5,59,59],[2011,3,13,1,59,59],
+          '2010110705:00:00','2010110701:00:00','2011031305:59:59','2011031301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,13,6,0,0],[2011,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2011,11,6,4,59,59],[2011,11,6,1,59,59],
+          '2011031306:00:00','2011031303:00:00','2011110604:59:59','2011110601:59:59' ],
+        [ [2011,11,6,5,0,0],[2011,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2012,3,11,5,59,59],[2012,3,11,1,59,59],
+          '2011110605:00:00','2011110601:00:00','2012031105:59:59','2012031101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,11,6,0,0],[2012,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2012,11,4,4,59,59],[2012,11,4,1,59,59],
+          '2012031106:00:00','2012031103:00:00','2012110404:59:59','2012110401:59:59' ],
+        [ [2012,11,4,5,0,0],[2012,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2013,3,10,5,59,59],[2013,3,10,1,59,59],
+          '2012110405:00:00','2012110401:00:00','2013031005:59:59','2013031001:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,10,6,0,0],[2013,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2013,11,3,4,59,59],[2013,11,3,1,59,59],
+          '2013031006:00:00','2013031003:00:00','2013110304:59:59','2013110301:59:59' ],
+        [ [2013,11,3,5,0,0],[2013,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2014,3,9,5,59,59],[2014,3,9,1,59,59],
+          '2013110305:00:00','2013110301:00:00','2014030905:59:59','2014030901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,9,6,0,0],[2014,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2014,11,2,4,59,59],[2014,11,2,1,59,59],
+          '2014030906:00:00','2014030903:00:00','2014110204:59:59','2014110201:59:59' ],
+        [ [2014,11,2,5,0,0],[2014,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2015,3,8,5,59,59],[2015,3,8,1,59,59],
+          '2014110205:00:00','2014110201:00:00','2015030805:59:59','2015030801:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,8,6,0,0],[2015,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2015,11,1,4,59,59],[2015,11,1,1,59,59],
+          '2015030806:00:00','2015030803:00:00','2015110104:59:59','2015110101:59:59' ],
+        [ [2015,11,1,5,0,0],[2015,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2016,3,13,5,59,59],[2016,3,13,1,59,59],
+          '2015110105:00:00','2015110101:00:00','2016031305:59:59','2016031301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,13,6,0,0],[2016,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2016,11,6,4,59,59],[2016,11,6,1,59,59],
+          '2016031306:00:00','2016031303:00:00','2016110604:59:59','2016110601:59:59' ],
+        [ [2016,11,6,5,0,0],[2016,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2017,3,12,5,59,59],[2017,3,12,1,59,59],
+          '2016110605:00:00','2016110601:00:00','2017031205:59:59','2017031201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,12,6,0,0],[2017,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2017,11,5,4,59,59],[2017,11,5,1,59,59],
+          '2017031206:00:00','2017031203:00:00','2017110504:59:59','2017110501:59:59' ],
+        [ [2017,11,5,5,0,0],[2017,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2018,3,11,5,59,59],[2018,3,11,1,59,59],
+          '2017110505:00:00','2017110501:00:00','2018031105:59:59','2018031101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,11,6,0,0],[2018,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2018,11,4,4,59,59],[2018,11,4,1,59,59],
+          '2018031106:00:00','2018031103:00:00','2018110404:59:59','2018110401:59:59' ],
+        [ [2018,11,4,5,0,0],[2018,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2019,3,10,5,59,59],[2019,3,10,1,59,59],
+          '2018110405:00:00','2018110401:00:00','2019031005:59:59','2019031001:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,10,6,0,0],[2019,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2019,11,3,4,59,59],[2019,11,3,1,59,59],
+          '2019031006:00:00','2019031003:00:00','2019110304:59:59','2019110301:59:59' ],
+        [ [2019,11,3,5,0,0],[2019,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2020,3,8,5,59,59],[2020,3,8,1,59,59],
+          '2019110305:00:00','2019110301:00:00','2020030805:59:59','2020030801:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,8,6,0,0],[2020,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2020,11,1,4,59,59],[2020,11,1,1,59,59],
+          '2020030806:00:00','2020030803:00:00','2020110104:59:59','2020110101:59:59' ],
+        [ [2020,11,1,5,0,0],[2020,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2021,3,14,5,59,59],[2021,3,14,1,59,59],
+          '2020110105:00:00','2020110101:00:00','2021031405:59:59','2021031401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,14,6,0,0],[2021,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2021,11,7,4,59,59],[2021,11,7,1,59,59],
+          '2021031406:00:00','2021031403:00:00','2021110704:59:59','2021110701:59:59' ],
+        [ [2021,11,7,5,0,0],[2021,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2022,3,13,5,59,59],[2022,3,13,1,59,59],
+          '2021110705:00:00','2021110701:00:00','2022031305:59:59','2022031301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,13,6,0,0],[2022,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2022,11,6,4,59,59],[2022,11,6,1,59,59],
+          '2022031306:00:00','2022031303:00:00','2022110604:59:59','2022110601:59:59' ],
+        [ [2022,11,6,5,0,0],[2022,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2023,3,12,5,59,59],[2023,3,12,1,59,59],
+          '2022110605:00:00','2022110601:00:00','2023031205:59:59','2023031201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,12,6,0,0],[2023,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2023,11,5,4,59,59],[2023,11,5,1,59,59],
+          '2023031206:00:00','2023031203:00:00','2023110504:59:59','2023110501:59:59' ],
+        [ [2023,11,5,5,0,0],[2023,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2024,3,10,5,59,59],[2024,3,10,1,59,59],
+          '2023110505:00:00','2023110501:00:00','2024031005:59:59','2024031001:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,10,6,0,0],[2024,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2024,11,3,4,59,59],[2024,11,3,1,59,59],
+          '2024031006:00:00','2024031003:00:00','2024110304:59:59','2024110301:59:59' ],
+        [ [2024,11,3,5,0,0],[2024,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2025,3,9,5,59,59],[2025,3,9,1,59,59],
+          '2024110305:00:00','2024110301:00:00','2025030905:59:59','2025030901:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,9,6,0,0],[2025,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2025,11,2,4,59,59],[2025,11,2,1,59,59],
+          '2025030906:00:00','2025030903:00:00','2025110204:59:59','2025110201:59:59' ],
+        [ [2025,11,2,5,0,0],[2025,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2026,3,8,5,59,59],[2026,3,8,1,59,59],
+          '2025110205:00:00','2025110201:00:00','2026030805:59:59','2026030801:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,8,6,0,0],[2026,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2026,11,1,4,59,59],[2026,11,1,1,59,59],
+          '2026030806:00:00','2026030803:00:00','2026110104:59:59','2026110101:59:59' ],
+        [ [2026,11,1,5,0,0],[2026,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2027,3,14,5,59,59],[2027,3,14,1,59,59],
+          '2026110105:00:00','2026110101:00:00','2027031405:59:59','2027031401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,14,6,0,0],[2027,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2027,11,7,4,59,59],[2027,11,7,1,59,59],
+          '2027031406:00:00','2027031403:00:00','2027110704:59:59','2027110701:59:59' ],
+        [ [2027,11,7,5,0,0],[2027,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2028,3,12,5,59,59],[2028,3,12,1,59,59],
+          '2027110705:00:00','2027110701:00:00','2028031205:59:59','2028031201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,12,6,0,0],[2028,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2028,11,5,4,59,59],[2028,11,5,1,59,59],
+          '2028031206:00:00','2028031203:00:00','2028110504:59:59','2028110501:59:59' ],
+        [ [2028,11,5,5,0,0],[2028,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2029,3,11,5,59,59],[2029,3,11,1,59,59],
+          '2028110505:00:00','2028110501:00:00','2029031105:59:59','2029031101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,11,6,0,0],[2029,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2029,11,4,4,59,59],[2029,11,4,1,59,59],
+          '2029031106:00:00','2029031103:00:00','2029110404:59:59','2029110401:59:59' ],
+        [ [2029,11,4,5,0,0],[2029,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2030,3,10,5,59,59],[2030,3,10,1,59,59],
+          '2029110405:00:00','2029110401:00:00','2030031005:59:59','2030031001:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,10,6,0,0],[2030,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2030,11,3,4,59,59],[2030,11,3,1,59,59],
+          '2030031006:00:00','2030031003:00:00','2030110304:59:59','2030110301:59:59' ],
+        [ [2030,11,3,5,0,0],[2030,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2031,3,9,5,59,59],[2031,3,9,1,59,59],
+          '2030110305:00:00','2030110301:00:00','2031030905:59:59','2031030901:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,9,6,0,0],[2031,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2031,11,2,4,59,59],[2031,11,2,1,59,59],
+          '2031030906:00:00','2031030903:00:00','2031110204:59:59','2031110201:59:59' ],
+        [ [2031,11,2,5,0,0],[2031,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2032,3,14,5,59,59],[2032,3,14,1,59,59],
+          '2031110205:00:00','2031110201:00:00','2032031405:59:59','2032031401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,14,6,0,0],[2032,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2032,11,7,4,59,59],[2032,11,7,1,59,59],
+          '2032031406:00:00','2032031403:00:00','2032110704:59:59','2032110701:59:59' ],
+        [ [2032,11,7,5,0,0],[2032,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2033,3,13,5,59,59],[2033,3,13,1,59,59],
+          '2032110705:00:00','2032110701:00:00','2033031305:59:59','2033031301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,13,6,0,0],[2033,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2033,11,6,4,59,59],[2033,11,6,1,59,59],
+          '2033031306:00:00','2033031303:00:00','2033110604:59:59','2033110601:59:59' ],
+        [ [2033,11,6,5,0,0],[2033,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2034,3,12,5,59,59],[2034,3,12,1,59,59],
+          '2033110605:00:00','2033110601:00:00','2034031205:59:59','2034031201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,12,6,0,0],[2034,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2034,11,5,4,59,59],[2034,11,5,1,59,59],
+          '2034031206:00:00','2034031203:00:00','2034110504:59:59','2034110501:59:59' ],
+        [ [2034,11,5,5,0,0],[2034,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2035,3,11,5,59,59],[2035,3,11,1,59,59],
+          '2034110505:00:00','2034110501:00:00','2035031105:59:59','2035031101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,11,6,0,0],[2035,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2035,11,4,4,59,59],[2035,11,4,1,59,59],
+          '2035031106:00:00','2035031103:00:00','2035110404:59:59','2035110401:59:59' ],
+        [ [2035,11,4,5,0,0],[2035,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2036,3,9,5,59,59],[2036,3,9,1,59,59],
+          '2035110405:00:00','2035110401:00:00','2036030905:59:59','2036030901:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,9,6,0,0],[2036,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2036,11,2,4,59,59],[2036,11,2,1,59,59],
+          '2036030906:00:00','2036030903:00:00','2036110204:59:59','2036110201:59:59' ],
+        [ [2036,11,2,5,0,0],[2036,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2037,3,8,5,59,59],[2037,3,8,1,59,59],
+          '2036110205:00:00','2036110201:00:00','2037030805:59:59','2037030801:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,8,6,0,0],[2037,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2037,11,1,4,59,59],[2037,11,1,1,59,59],
+          '2037030806:00:00','2037030803:00:00','2037110104:59:59','2037110101:59:59' ],
+        [ [2037,11,1,5,0,0],[2037,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2038,3,14,5,59,59],[2038,3,14,1,59,59],
+          '2037110105:00:00','2037110101:00:00','2038031405:59:59','2038031401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,14,6,0,0],[2038,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2038,11,7,4,59,59],[2038,11,7,1,59,59],
+          '2038031406:00:00','2038031403:00:00','2038110704:59:59','2038110701:59:59' ],
+        [ [2038,11,7,5,0,0],[2038,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2039,3,13,5,59,59],[2039,3,13,1,59,59],
+          '2038110705:00:00','2038110701:00:00','2039031305:59:59','2039031301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,13,6,0,0],[2039,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2039,11,6,4,59,59],[2039,11,6,1,59,59],
+          '2039031306:00:00','2039031303:00:00','2039110604:59:59','2039110601:59:59' ],
+        [ [2039,11,6,5,0,0],[2039,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2040,3,11,5,59,59],[2040,3,11,1,59,59],
+          '2039110605:00:00','2039110601:00:00','2040031105:59:59','2040031101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,11,6,0,0],[2040,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2040,11,4,4,59,59],[2040,11,4,1,59,59],
+          '2040031106:00:00','2040031103:00:00','2040110404:59:59','2040110401:59:59' ],
+        [ [2040,11,4,5,0,0],[2040,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2041,3,10,5,59,59],[2041,3,10,1,59,59],
+          '2040110405:00:00','2040110401:00:00','2041031005:59:59','2041031001:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,10,6,0,0],[2041,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2041,11,3,4,59,59],[2041,11,3,1,59,59],
+          '2041031006:00:00','2041031003:00:00','2041110304:59:59','2041110301:59:59' ],
+        [ [2041,11,3,5,0,0],[2041,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2042,3,9,5,59,59],[2042,3,9,1,59,59],
+          '2041110305:00:00','2041110301:00:00','2042030905:59:59','2042030901:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,9,6,0,0],[2042,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2042,11,2,4,59,59],[2042,11,2,1,59,59],
+          '2042030906:00:00','2042030903:00:00','2042110204:59:59','2042110201:59:59' ],
+        [ [2042,11,2,5,0,0],[2042,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2043,3,8,5,59,59],[2043,3,8,1,59,59],
+          '2042110205:00:00','2042110201:00:00','2043030805:59:59','2043030801:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,8,6,0,0],[2043,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2043,11,1,4,59,59],[2043,11,1,1,59,59],
+          '2043030806:00:00','2043030803:00:00','2043110104:59:59','2043110101:59:59' ],
+        [ [2043,11,1,5,0,0],[2043,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2044,3,13,5,59,59],[2044,3,13,1,59,59],
+          '2043110105:00:00','2043110101:00:00','2044031305:59:59','2044031301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,13,6,0,0],[2044,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2044,11,6,4,59,59],[2044,11,6,1,59,59],
+          '2044031306:00:00','2044031303:00:00','2044110604:59:59','2044110601:59:59' ],
+        [ [2044,11,6,5,0,0],[2044,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2045,3,12,5,59,59],[2045,3,12,1,59,59],
+          '2044110605:00:00','2044110601:00:00','2045031205:59:59','2045031201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,12,6,0,0],[2045,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2045,11,5,4,59,59],[2045,11,5,1,59,59],
+          '2045031206:00:00','2045031203:00:00','2045110504:59:59','2045110501:59:59' ],
+        [ [2045,11,5,5,0,0],[2045,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2046,3,11,5,59,59],[2046,3,11,1,59,59],
+          '2045110505:00:00','2045110501:00:00','2046031105:59:59','2046031101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,11,6,0,0],[2046,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2046,11,4,4,59,59],[2046,11,4,1,59,59],
+          '2046031106:00:00','2046031103:00:00','2046110404:59:59','2046110401:59:59' ],
+        [ [2046,11,4,5,0,0],[2046,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2047,3,10,5,59,59],[2047,3,10,1,59,59],
+          '2046110405:00:00','2046110401:00:00','2047031005:59:59','2047031001:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,10,6,0,0],[2047,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2047,11,3,4,59,59],[2047,11,3,1,59,59],
+          '2047031006:00:00','2047031003:00:00','2047110304:59:59','2047110301:59:59' ],
+        [ [2047,11,3,5,0,0],[2047,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2048,3,8,5,59,59],[2048,3,8,1,59,59],
+          '2047110305:00:00','2047110301:00:00','2048030805:59:59','2048030801:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,8,6,0,0],[2048,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2048,11,1,4,59,59],[2048,11,1,1,59,59],
+          '2048030806:00:00','2048030803:00:00','2048110104:59:59','2048110101:59:59' ],
+        [ [2048,11,1,5,0,0],[2048,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2049,3,14,5,59,59],[2049,3,14,1,59,59],
+          '2048110105:00:00','2048110101:00:00','2049031405:59:59','2049031401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,14,6,0,0],[2049,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2049,11,7,4,59,59],[2049,11,7,1,59,59],
+          '2049031406:00:00','2049031403:00:00','2049110704:59:59','2049110701:59:59' ],
+        [ [2049,11,7,5,0,0],[2049,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2050,3,13,5,59,59],[2050,3,13,1,59,59],
+          '2049110705:00:00','2049110701:00:00','2050031305:59:59','2050031301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,13,6,0,0],[2050,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2050,11,6,4,59,59],[2050,11,6,1,59,59],
+          '2050031306:00:00','2050031303:00:00','2050110604:59:59','2050110601:59:59' ],
+        [ [2050,11,6,5,0,0],[2050,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2051,3,12,5,59,59],[2051,3,12,1,59,59],
+          '2050110605:00:00','2050110601:00:00','2051031205:59:59','2051031201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,12,6,0,0],[2051,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2051,11,5,4,59,59],[2051,11,5,1,59,59],
+          '2051031206:00:00','2051031203:00:00','2051110504:59:59','2051110501:59:59' ],
+        [ [2051,11,5,5,0,0],[2051,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2052,3,10,5,59,59],[2052,3,10,1,59,59],
+          '2051110505:00:00','2051110501:00:00','2052031005:59:59','2052031001:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,10,6,0,0],[2052,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2052,11,3,4,59,59],[2052,11,3,1,59,59],
+          '2052031006:00:00','2052031003:00:00','2052110304:59:59','2052110301:59:59' ],
+        [ [2052,11,3,5,0,0],[2052,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2053,3,9,5,59,59],[2053,3,9,1,59,59],
+          '2052110305:00:00','2052110301:00:00','2053030905:59:59','2053030901:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,9,6,0,0],[2053,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2053,11,2,4,59,59],[2053,11,2,1,59,59],
+          '2053030906:00:00','2053030903:00:00','2053110204:59:59','2053110201:59:59' ],
+        [ [2053,11,2,5,0,0],[2053,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2054,3,8,5,59,59],[2054,3,8,1,59,59],
+          '2053110205:00:00','2053110201:00:00','2054030805:59:59','2054030801:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,8,6,0,0],[2054,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2054,11,1,4,59,59],[2054,11,1,1,59,59],
+          '2054030806:00:00','2054030803:00:00','2054110104:59:59','2054110101:59:59' ],
+        [ [2054,11,1,5,0,0],[2054,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2055,3,14,5,59,59],[2055,3,14,1,59,59],
+          '2054110105:00:00','2054110101:00:00','2055031405:59:59','2055031401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,14,6,0,0],[2055,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2055,11,7,4,59,59],[2055,11,7,1,59,59],
+          '2055031406:00:00','2055031403:00:00','2055110704:59:59','2055110701:59:59' ],
+        [ [2055,11,7,5,0,0],[2055,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2056,3,12,5,59,59],[2056,3,12,1,59,59],
+          '2055110705:00:00','2055110701:00:00','2056031205:59:59','2056031201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,12,6,0,0],[2056,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2056,11,5,4,59,59],[2056,11,5,1,59,59],
+          '2056031206:00:00','2056031203:00:00','2056110504:59:59','2056110501:59:59' ],
+        [ [2056,11,5,5,0,0],[2056,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2057,3,11,5,59,59],[2057,3,11,1,59,59],
+          '2056110505:00:00','2056110501:00:00','2057031105:59:59','2057031101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,11,6,0,0],[2057,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2057,11,4,4,59,59],[2057,11,4,1,59,59],
+          '2057031106:00:00','2057031103:00:00','2057110404:59:59','2057110401:59:59' ],
+        [ [2057,11,4,5,0,0],[2057,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2058,3,10,5,59,59],[2058,3,10,1,59,59],
+          '2057110405:00:00','2057110401:00:00','2058031005:59:59','2058031001:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,10,6,0,0],[2058,3,10,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2058,11,3,4,59,59],[2058,11,3,1,59,59],
+          '2058031006:00:00','2058031003:00:00','2058110304:59:59','2058110301:59:59' ],
+        [ [2058,11,3,5,0,0],[2058,11,3,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2059,3,9,5,59,59],[2059,3,9,1,59,59],
+          '2058110305:00:00','2058110301:00:00','2059030905:59:59','2059030901:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,9,6,0,0],[2059,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2059,11,2,4,59,59],[2059,11,2,1,59,59],
+          '2059030906:00:00','2059030903:00:00','2059110204:59:59','2059110201:59:59' ],
+        [ [2059,11,2,5,0,0],[2059,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2060,3,14,5,59,59],[2060,3,14,1,59,59],
+          '2059110205:00:00','2059110201:00:00','2060031405:59:59','2060031401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,14,6,0,0],[2060,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2060,11,7,4,59,59],[2060,11,7,1,59,59],
+          '2060031406:00:00','2060031403:00:00','2060110704:59:59','2060110701:59:59' ],
+        [ [2060,11,7,5,0,0],[2060,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2061,3,13,5,59,59],[2061,3,13,1,59,59],
+          '2060110705:00:00','2060110701:00:00','2061031305:59:59','2061031301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,13,6,0,0],[2061,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2061,11,6,4,59,59],[2061,11,6,1,59,59],
+          '2061031306:00:00','2061031303:00:00','2061110604:59:59','2061110601:59:59' ],
+        [ [2061,11,6,5,0,0],[2061,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2062,3,12,5,59,59],[2062,3,12,1,59,59],
+          '2061110605:00:00','2061110601:00:00','2062031205:59:59','2062031201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,12,6,0,0],[2062,3,12,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2062,11,5,4,59,59],[2062,11,5,1,59,59],
+          '2062031206:00:00','2062031203:00:00','2062110504:59:59','2062110501:59:59' ],
+        [ [2062,11,5,5,0,0],[2062,11,5,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2063,3,11,5,59,59],[2063,3,11,1,59,59],
+          '2062110505:00:00','2062110501:00:00','2063031105:59:59','2063031101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,11,6,0,0],[2063,3,11,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2063,11,4,4,59,59],[2063,11,4,1,59,59],
+          '2063031106:00:00','2063031103:00:00','2063110404:59:59','2063110401:59:59' ],
+        [ [2063,11,4,5,0,0],[2063,11,4,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2064,3,9,5,59,59],[2064,3,9,1,59,59],
+          '2063110405:00:00','2063110401:00:00','2064030905:59:59','2064030901:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,9,6,0,0],[2064,3,9,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2064,11,2,4,59,59],[2064,11,2,1,59,59],
+          '2064030906:00:00','2064030903:00:00','2064110204:59:59','2064110201:59:59' ],
+        [ [2064,11,2,5,0,0],[2064,11,2,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2065,3,8,5,59,59],[2065,3,8,1,59,59],
+          '2064110205:00:00','2064110201:00:00','2065030805:59:59','2065030801:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,8,6,0,0],[2065,3,8,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2065,11,1,4,59,59],[2065,11,1,1,59,59],
+          '2065030806:00:00','2065030803:00:00','2065110104:59:59','2065110101:59:59' ],
+        [ [2065,11,1,5,0,0],[2065,11,1,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2066,3,14,5,59,59],[2066,3,14,1,59,59],
+          '2065110105:00:00','2065110101:00:00','2066031405:59:59','2066031401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,14,6,0,0],[2066,3,14,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2066,11,7,4,59,59],[2066,11,7,1,59,59],
+          '2066031406:00:00','2066031403:00:00','2066110704:59:59','2066110701:59:59' ],
+        [ [2066,11,7,5,0,0],[2066,11,7,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2067,3,13,5,59,59],[2067,3,13,1,59,59],
+          '2066110705:00:00','2066110701:00:00','2067031305:59:59','2067031301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,13,6,0,0],[2067,3,13,3,0,0],'-03:00:00',[-3,0,0],
+          'ADT',1,[2067,11,6,4,59,59],[2067,11,6,1,59,59],
+          '2067031306:00:00','2067031303:00:00','2067110604:59:59','2067110601:59:59' ],
+        [ [2067,11,6,5,0,0],[2067,11,6,1,0,0],'-04:00:00',[-4,0,0],
+          'AST',0,[2068,3,11,5,59,59],[2068,3,11,1,59,59],
+          '2067110605:00:00','2067110601:00:00','2068031105:59:59','2068031101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-03:00:00',
+                'stdoff' => '-04:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '8',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ADT',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AST',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atcana00.pm b/lib/Date/Manip/TZ/atcana00.pm
new file mode 100644
index 0000000..a4551cf
--- /dev/null
+++ b/lib/Date/Manip/TZ/atcana00.pm
@@ -0,0 +1,871 @@
+package #
+Date::Manip::TZ::atcana00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,58,24],'-01:01:36',[-1,-1,-36],
+          'LMT',0,[1922,3,1,1,1,35],[1922,2,28,23,59,59],
+          '0001010200:00:00','0001010122:58:24','1922030101:01:35','1922022823:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,1,1,1,36],[1922,3,1,0,1,36],'-01:00:00',[-1,0,0],
+          '-01',0,[1946,9,30,1,59,59],[1946,9,30,0,59,59],
+          '1922030101:01:36','1922030100:01:36','1946093001:59:59','1946093000:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,9,30,2,0,0],[1946,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1980,4,5,23,59,59],[1980,4,5,23,59,59],
+          '1946093002:00:00','1946093002:00:00','1980040523:59:59','1980040523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,0,0,0],[1980,4,6,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1980,9,28,0,59,59],[1980,9,28,1,59,59],
+          '1980040600:00:00','1980040601:00:00','1980092800:59:59','1980092801:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980092801:00:00','1980092801:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1981,9,27,0,59,59],[1981,9,27,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981092700:59:59','1981092701:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981092701:00:00','1981092701:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1982,9,26,0,59,59],[1982,9,26,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982092600:59:59','1982092601:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1983,3,27,0,59,59],[1983,3,27,0,59,59],
+          '1982092601:00:00','1982092601:00:00','1983032700:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1983,9,25,0,59,59],[1983,9,25,1,59,59],
+          '1983032701:00:00','1983032702:00:00','1983092500:59:59','1983092501:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983092501:00:00','1983092501:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1984,9,30,0,59,59],[1984,9,30,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984093000:59:59','1984093001:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984093001:00:00','1984093001:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1985,9,29,0,59,59],[1985,9,29,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985092900:59:59','1985092901:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985092901:00:00','1985092901:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1986,9,28,0,59,59],[1986,9,28,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986092800:59:59','1986092801:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986092801:00:00','1986092801:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1987,9,27,0,59,59],[1987,9,27,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987092700:59:59','1987092701:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987092701:00:00','1987092701:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1988,9,25,0,59,59],[1988,9,25,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988092500:59:59','1988092501:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988092501:00:00','1988092501:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1989,9,24,0,59,59],[1989,9,24,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989092400:59:59','1989092401:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989092401:00:00','1989092401:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1990,9,30,0,59,59],[1990,9,30,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990093000:59:59','1990093001:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990093001:00:00','1990093001:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1991,9,29,0,59,59],[1991,9,29,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991092900:59:59','1991092901:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991092901:00:00','1991092901:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1992,9,27,0,59,59],[1992,9,27,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992092700:59:59','1992092701:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992092701:00:00','1992092701:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1993,9,26,0,59,59],[1993,9,26,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993092600:59:59','1993092601:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993092601:00:00','1993092601:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1994,9,25,0,59,59],[1994,9,25,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994092500:59:59','1994092501:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994092501:00:00','1994092501:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1995,9,24,0,59,59],[1995,9,24,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995092400:59:59','1995092401:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995092401:00:00','1995092401:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atcape00.pm b/lib/Date/Manip/TZ/atcape00.pm
new file mode 100644
index 0000000..e3f5de5
--- /dev/null
+++ b/lib/Date/Manip/TZ/atcape00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::atcape00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,25,56],'-01:34:04',[-1,-34,-4],
+          'LMT',0,[1907,1,1,1,34,3],[1906,12,31,23,59,59],
+          '0001010200:00:00','0001010122:25:56','1907010101:34:03','1906123123:59:59' ],
+     ],
+   1907 =>
+     [
+        [ [1907,1,1,1,34,4],[1906,12,31,23,34,4],'-02:00:00',[-2,0,0],
+          '-02',0,[1942,9,1,1,59,59],[1942,8,31,23,59,59],
+          '1907010101:34:04','1906123123:34:04','1942090101:59:59','1942083123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,9,1,2,0,0],[1942,9,1,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',1,[1945,10,15,0,59,59],[1945,10,14,23,59,59],
+          '1942090102:00:00','1942090101:00:00','1945101500:59:59','1945101423:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,10,15,1,0,0],[1945,10,14,23,0,0],'-02:00:00',[-2,0,0],
+          '-02',0,[1975,11,25,3,59,59],[1975,11,25,1,59,59],
+          '1945101501:00:00','1945101423:00:00','1975112503:59:59','1975112501:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,11,25,4,0,0],[1975,11,25,3,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[9999,12,31,0,0,0],[9999,12,30,23,0,0],
+          '1975112504:00:00','1975112503:00:00','9999123100:00:00','9999123023:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atfaro00.pm b/lib/Date/Manip/TZ/atfaro00.pm
new file mode 100644
index 0000000..375ab0e
--- /dev/null
+++ b/lib/Date/Manip/TZ/atfaro00.pm
@@ -0,0 +1,856 @@
+package #
+Date::Manip::TZ::atfaro00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,32,56],'-00:27:04',[0,-27,-4],
+          'LMT',0,[1908,1,11,0,27,3],[1908,1,10,23,59,59],
+          '0001010200:00:00','0001010123:32:56','1908011100:27:03','1908011023:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,1,11,0,27,4],[1908,1,11,0,27,4],'+00:00:00',[0,0,0],
+          'WET',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1908011100:27:04','1908011100:27:04','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1981,9,27,0,59,59],[1981,9,27,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981092700:59:59','1981092701:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981092701:00:00','1981092701:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1982,9,26,0,59,59],[1982,9,26,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982092600:59:59','1982092601:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1983,3,27,0,59,59],[1983,3,27,0,59,59],
+          '1982092601:00:00','1982092601:00:00','1983032700:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1983,9,25,0,59,59],[1983,9,25,1,59,59],
+          '1983032701:00:00','1983032702:00:00','1983092500:59:59','1983092501:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983092501:00:00','1983092501:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1984,9,30,0,59,59],[1984,9,30,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984093000:59:59','1984093001:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984093001:00:00','1984093001:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1985,9,29,0,59,59],[1985,9,29,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985092900:59:59','1985092901:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985092901:00:00','1985092901:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1986,9,28,0,59,59],[1986,9,28,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986092800:59:59','1986092801:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986092801:00:00','1986092801:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1987,9,27,0,59,59],[1987,9,27,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987092700:59:59','1987092701:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987092701:00:00','1987092701:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1988,9,25,0,59,59],[1988,9,25,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988092500:59:59','1988092501:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988092501:00:00','1988092501:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1989,9,24,0,59,59],[1989,9,24,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989092400:59:59','1989092401:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989092401:00:00','1989092401:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1990,9,30,0,59,59],[1990,9,30,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990093000:59:59','1990093001:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990093001:00:00','1990093001:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1991,9,29,0,59,59],[1991,9,29,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991092900:59:59','1991092901:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991092901:00:00','1991092901:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1992,9,27,0,59,59],[1992,9,27,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992092700:59:59','1992092701:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992092701:00:00','1992092701:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1993,9,26,0,59,59],[1993,9,26,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993092600:59:59','1993092601:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993092601:00:00','1993092601:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1994,9,25,0,59,59],[1994,9,25,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994092500:59:59','1994092501:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994092501:00:00','1994092501:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1995,9,24,0,59,59],[1995,9,24,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995092400:59:59','1995092401:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995092401:00:00','1995092401:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atmade00.pm b/lib/Date/Manip/TZ/atmade00.pm
new file mode 100644
index 0000000..015d737
--- /dev/null
+++ b/lib/Date/Manip/TZ/atmade00.pm
@@ -0,0 +1,1324 @@
+package #
+Date::Manip::TZ::atmade00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,52,24],'-01:07:36',[-1,-7,-36],
+          'LMT',0,[1884,1,1,1,7,35],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010122:52:24','1884010101:07:35','1883123123:59:59' ],
+     ],
+   1884 =>
+     [
+        [ [1884,1,1,1,7,36],[1884,1,1,0,0,0],'-01:07:36',[-1,-7,-36],
+          'FMT',0,[1912,1,1,1,7,35],[1911,12,31,23,59,59],
+          '1884010101:07:36','1884010100:00:00','1912010101:07:35','1911123123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,1,1,7,36],[1912,1,1,0,7,36],'-01:00:00',[-1,0,0],
+          '-01',0,[1916,6,17,23,59,59],[1916,6,17,22,59,59],
+          '1912010101:07:36','1912010100:07:36','1916061723:59:59','1916061722:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,18,0,0,0],[1916,6,18,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1916,11,1,0,59,59],[1916,11,1,0,59,59],
+          '1916061800:00:00','1916061800:00:00','1916110100:59:59','1916110100:59:59' ],
+        [ [1916,11,1,1,0,0],[1916,11,1,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1917,2,28,23,59,59],[1917,2,28,22,59,59],
+          '1916110101:00:00','1916110100:00:00','1917022823:59:59','1917022822:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,1,0,0,0],[1917,3,1,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1917,10,14,23,59,59],[1917,10,14,23,59,59],
+          '1917030100:00:00','1917030100:00:00','1917101423:59:59','1917101423:59:59' ],
+        [ [1917,10,15,0,0,0],[1917,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1918,3,1,23,59,59],[1918,3,1,22,59,59],
+          '1917101500:00:00','1917101423:00:00','1918030123:59:59','1918030122:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,2,0,0,0],[1918,3,2,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1918,10,14,23,59,59],[1918,10,14,23,59,59],
+          '1918030200:00:00','1918030200:00:00','1918101423:59:59','1918101423:59:59' ],
+        [ [1918,10,15,0,0,0],[1918,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1919,2,28,23,59,59],[1919,2,28,22,59,59],
+          '1918101500:00:00','1918101423:00:00','1919022823:59:59','1919022822:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,0,0,0],[1919,3,1,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1919,10,14,23,59,59],[1919,10,14,23,59,59],
+          '1919030100:00:00','1919030100:00:00','1919101423:59:59','1919101423:59:59' ],
+        [ [1919,10,15,0,0,0],[1919,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1920,2,29,23,59,59],[1920,2,29,22,59,59],
+          '1919101500:00:00','1919101423:00:00','1920022923:59:59','1920022922:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,1,0,0,0],[1920,3,1,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1920,10,14,23,59,59],[1920,10,14,23,59,59],
+          '1920030100:00:00','1920030100:00:00','1920101423:59:59','1920101423:59:59' ],
+        [ [1920,10,15,0,0,0],[1920,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1921,2,28,23,59,59],[1921,2,28,22,59,59],
+          '1920101500:00:00','1920101423:00:00','1921022823:59:59','1921022822:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,1,0,0,0],[1921,3,1,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1921,10,14,23,59,59],[1921,10,14,23,59,59],
+          '1921030100:00:00','1921030100:00:00','1921101423:59:59','1921101423:59:59' ],
+        [ [1921,10,15,0,0,0],[1921,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1924,4,16,23,59,59],[1924,4,16,22,59,59],
+          '1921101500:00:00','1921101423:00:00','1924041623:59:59','1924041622:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,17,0,0,0],[1924,4,17,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1924,10,14,23,59,59],[1924,10,14,23,59,59],
+          '1924041700:00:00','1924041700:00:00','1924101423:59:59','1924101423:59:59' ],
+        [ [1924,10,15,0,0,0],[1924,10,14,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1926,4,17,23,59,59],[1926,4,17,22,59,59],
+          '1924101500:00:00','1924101423:00:00','1926041723:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,18,0,0,0],[1926,4,18,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1926,10,2,23,59,59],[1926,10,2,23,59,59],
+          '1926041800:00:00','1926041800:00:00','1926100223:59:59','1926100223:59:59' ],
+        [ [1926,10,3,0,0,0],[1926,10,2,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1927,4,9,23,59,59],[1927,4,9,22,59,59],
+          '1926100300:00:00','1926100223:00:00','1927040923:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,10,0,0,0],[1927,4,10,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1927,10,1,23,59,59],[1927,10,1,23,59,59],
+          '1927041000:00:00','1927041000:00:00','1927100123:59:59','1927100123:59:59' ],
+        [ [1927,10,2,0,0,0],[1927,10,1,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1928,4,14,23,59,59],[1928,4,14,22,59,59],
+          '1927100200:00:00','1927100123:00:00','1928041423:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,15,0,0,0],[1928,4,15,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1928,10,6,23,59,59],[1928,10,6,23,59,59],
+          '1928041500:00:00','1928041500:00:00','1928100623:59:59','1928100623:59:59' ],
+        [ [1928,10,7,0,0,0],[1928,10,6,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1929,4,20,23,59,59],[1929,4,20,22,59,59],
+          '1928100700:00:00','1928100623:00:00','1929042023:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,0,0,0],[1929,4,21,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1929,10,5,23,59,59],[1929,10,5,23,59,59],
+          '1929042100:00:00','1929042100:00:00','1929100523:59:59','1929100523:59:59' ],
+        [ [1929,10,6,0,0,0],[1929,10,5,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1931,4,18,23,59,59],[1931,4,18,22,59,59],
+          '1929100600:00:00','1929100523:00:00','1931041823:59:59','1931041822:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,0,0,0],[1931,4,19,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1931,10,3,23,59,59],[1931,10,3,23,59,59],
+          '1931041900:00:00','1931041900:00:00','1931100323:59:59','1931100323:59:59' ],
+        [ [1931,10,4,0,0,0],[1931,10,3,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1932,4,2,23,59,59],[1932,4,2,22,59,59],
+          '1931100400:00:00','1931100323:00:00','1932040223:59:59','1932040222:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,3,0,0,0],[1932,4,3,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1932,10,1,23,59,59],[1932,10,1,23,59,59],
+          '1932040300:00:00','1932040300:00:00','1932100123:59:59','1932100123:59:59' ],
+        [ [1932,10,2,0,0,0],[1932,10,1,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1934,4,7,23,59,59],[1934,4,7,22,59,59],
+          '1932100200:00:00','1932100123:00:00','1934040723:59:59','1934040722:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,8,0,0,0],[1934,4,8,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1934,10,6,23,59,59],[1934,10,6,23,59,59],
+          '1934040800:00:00','1934040800:00:00','1934100623:59:59','1934100623:59:59' ],
+        [ [1934,10,7,0,0,0],[1934,10,6,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1935,3,30,23,59,59],[1935,3,30,22,59,59],
+          '1934100700:00:00','1934100623:00:00','1935033023:59:59','1935033022:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,31,0,0,0],[1935,3,31,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1935,10,5,23,59,59],[1935,10,5,23,59,59],
+          '1935033100:00:00','1935033100:00:00','1935100523:59:59','1935100523:59:59' ],
+        [ [1935,10,6,0,0,0],[1935,10,5,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1936,4,18,23,59,59],[1936,4,18,22,59,59],
+          '1935100600:00:00','1935100523:00:00','1936041823:59:59','1936041822:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,0,0,0],[1936,4,19,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1936,10,3,23,59,59],[1936,10,3,23,59,59],
+          '1936041900:00:00','1936041900:00:00','1936100323:59:59','1936100323:59:59' ],
+        [ [1936,10,4,0,0,0],[1936,10,3,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1937,4,3,23,59,59],[1937,4,3,22,59,59],
+          '1936100400:00:00','1936100323:00:00','1937040323:59:59','1937040322:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,4,0,0,0],[1937,4,4,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1937,10,2,23,59,59],[1937,10,2,23,59,59],
+          '1937040400:00:00','1937040400:00:00','1937100223:59:59','1937100223:59:59' ],
+        [ [1937,10,3,0,0,0],[1937,10,2,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1938,3,26,23,59,59],[1938,3,26,22,59,59],
+          '1937100300:00:00','1937100223:00:00','1938032623:59:59','1938032622:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,27,0,0,0],[1938,3,27,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1938,10,1,23,59,59],[1938,10,1,23,59,59],
+          '1938032700:00:00','1938032700:00:00','1938100123:59:59','1938100123:59:59' ],
+        [ [1938,10,2,0,0,0],[1938,10,1,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1939,4,15,23,59,59],[1939,4,15,22,59,59],
+          '1938100200:00:00','1938100123:00:00','1939041523:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,0,0,0],[1939,4,16,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1939,11,18,23,59,59],[1939,11,18,23,59,59],
+          '1939041600:00:00','1939041600:00:00','1939111823:59:59','1939111823:59:59' ],
+        [ [1939,11,19,0,0,0],[1939,11,18,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1940,2,24,23,59,59],[1940,2,24,22,59,59],
+          '1939111900:00:00','1939111823:00:00','1940022423:59:59','1940022422:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,0,0,0],[1940,2,25,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1940,10,5,23,59,59],[1940,10,5,23,59,59],
+          '1940022500:00:00','1940022500:00:00','1940100523:59:59','1940100523:59:59' ],
+        [ [1940,10,6,0,0,0],[1940,10,5,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1941,4,5,23,59,59],[1941,4,5,22,59,59],
+          '1940100600:00:00','1940100523:00:00','1941040523:59:59','1941040522:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,6,0,0,0],[1941,4,6,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1941,10,5,23,59,59],[1941,10,5,23,59,59],
+          '1941040600:00:00','1941040600:00:00','1941100523:59:59','1941100523:59:59' ],
+        [ [1941,10,6,0,0,0],[1941,10,5,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1942,3,14,23,59,59],[1942,3,14,22,59,59],
+          '1941100600:00:00','1941100523:00:00','1942031423:59:59','1942031422:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,15,0,0,0],[1942,3,15,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1942,4,25,22,59,59],[1942,4,25,22,59,59],
+          '1942031500:00:00','1942031500:00:00','1942042522:59:59','1942042522:59:59' ],
+        [ [1942,4,25,23,0,0],[1942,4,26,0,0,0],'+01:00:00',[1,0,0],
+          '+01',1,[1942,8,15,22,59,59],[1942,8,15,23,59,59],
+          '1942042523:00:00','1942042600:00:00','1942081522:59:59','1942081523:59:59' ],
+        [ [1942,8,15,23,0,0],[1942,8,15,23,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1942,10,24,23,59,59],[1942,10,24,23,59,59],
+          '1942081523:00:00','1942081523:00:00','1942102423:59:59','1942102423:59:59' ],
+        [ [1942,10,25,0,0,0],[1942,10,24,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1943,3,13,23,59,59],[1943,3,13,22,59,59],
+          '1942102500:00:00','1942102423:00:00','1943031323:59:59','1943031322:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,14,0,0,0],[1943,3,14,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1943,4,17,22,59,59],[1943,4,17,22,59,59],
+          '1943031400:00:00','1943031400:00:00','1943041722:59:59','1943041722:59:59' ],
+        [ [1943,4,17,23,0,0],[1943,4,18,0,0,0],'+01:00:00',[1,0,0],
+          '+01',1,[1943,8,28,22,59,59],[1943,8,28,23,59,59],
+          '1943041723:00:00','1943041800:00:00','1943082822:59:59','1943082823:59:59' ],
+        [ [1943,8,28,23,0,0],[1943,8,28,23,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1943,10,30,23,59,59],[1943,10,30,23,59,59],
+          '1943082823:00:00','1943082823:00:00','1943103023:59:59','1943103023:59:59' ],
+        [ [1943,10,31,0,0,0],[1943,10,30,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1944,3,11,23,59,59],[1944,3,11,22,59,59],
+          '1943103100:00:00','1943103023:00:00','1944031123:59:59','1944031122:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,12,0,0,0],[1944,3,12,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1944,4,22,22,59,59],[1944,4,22,22,59,59],
+          '1944031200:00:00','1944031200:00:00','1944042222:59:59','1944042222:59:59' ],
+        [ [1944,4,22,23,0,0],[1944,4,23,0,0,0],'+01:00:00',[1,0,0],
+          '+01',1,[1944,8,26,22,59,59],[1944,8,26,23,59,59],
+          '1944042223:00:00','1944042300:00:00','1944082622:59:59','1944082623:59:59' ],
+        [ [1944,8,26,23,0,0],[1944,8,26,23,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1944,10,28,23,59,59],[1944,10,28,23,59,59],
+          '1944082623:00:00','1944082623:00:00','1944102823:59:59','1944102823:59:59' ],
+        [ [1944,10,29,0,0,0],[1944,10,28,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1945,3,10,23,59,59],[1945,3,10,22,59,59],
+          '1944102900:00:00','1944102823:00:00','1945031023:59:59','1945031022:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,3,11,0,0,0],[1945,3,11,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1945,4,21,22,59,59],[1945,4,21,22,59,59],
+          '1945031100:00:00','1945031100:00:00','1945042122:59:59','1945042122:59:59' ],
+        [ [1945,4,21,23,0,0],[1945,4,22,0,0,0],'+01:00:00',[1,0,0],
+          '+01',1,[1945,8,25,22,59,59],[1945,8,25,23,59,59],
+          '1945042123:00:00','1945042200:00:00','1945082522:59:59','1945082523:59:59' ],
+        [ [1945,8,25,23,0,0],[1945,8,25,23,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1945,10,27,23,59,59],[1945,10,27,23,59,59],
+          '1945082523:00:00','1945082523:00:00','1945102723:59:59','1945102723:59:59' ],
+        [ [1945,10,28,0,0,0],[1945,10,27,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1946,4,6,23,59,59],[1946,4,6,22,59,59],
+          '1945102800:00:00','1945102723:00:00','1946040623:59:59','1946040622:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,7,0,0,0],[1946,4,7,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1946,10,5,23,59,59],[1946,10,5,23,59,59],
+          '1946040700:00:00','1946040700:00:00','1946100523:59:59','1946100523:59:59' ],
+        [ [1946,10,6,0,0,0],[1946,10,5,23,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1947,4,6,2,59,59],[1947,4,6,1,59,59],
+          '1946100600:00:00','1946100523:00:00','1947040602:59:59','1947040601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,3,0,0],[1947,4,6,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1947,10,5,2,59,59],[1947,10,5,2,59,59],
+          '1947040603:00:00','1947040603:00:00','1947100502:59:59','1947100502:59:59' ],
+        [ [1947,10,5,3,0,0],[1947,10,5,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1948,4,4,2,59,59],[1948,4,4,1,59,59],
+          '1947100503:00:00','1947100502:00:00','1948040402:59:59','1948040401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,4,3,0,0],[1948,4,4,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1948,10,3,2,59,59],[1948,10,3,2,59,59],
+          '1948040403:00:00','1948040403:00:00','1948100302:59:59','1948100302:59:59' ],
+        [ [1948,10,3,3,0,0],[1948,10,3,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1949,4,3,2,59,59],[1949,4,3,1,59,59],
+          '1948100303:00:00','1948100302:00:00','1949040302:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,3,0,0],[1949,4,3,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1949,10,2,2,59,59],[1949,10,2,2,59,59],
+          '1949040303:00:00','1949040303:00:00','1949100202:59:59','1949100202:59:59' ],
+        [ [1949,10,2,3,0,0],[1949,10,2,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1951,4,1,2,59,59],[1951,4,1,1,59,59],
+          '1949100203:00:00','1949100202:00:00','1951040102:59:59','1951040101:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,3,0,0],[1951,4,1,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1951,10,7,2,59,59],[1951,10,7,2,59,59],
+          '1951040103:00:00','1951040103:00:00','1951100702:59:59','1951100702:59:59' ],
+        [ [1951,10,7,3,0,0],[1951,10,7,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1952,4,6,2,59,59],[1952,4,6,1,59,59],
+          '1951100703:00:00','1951100702:00:00','1952040602:59:59','1952040601:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,6,3,0,0],[1952,4,6,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1952,10,5,2,59,59],[1952,10,5,2,59,59],
+          '1952040603:00:00','1952040603:00:00','1952100502:59:59','1952100502:59:59' ],
+        [ [1952,10,5,3,0,0],[1952,10,5,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1953,4,5,2,59,59],[1953,4,5,1,59,59],
+          '1952100503:00:00','1952100502:00:00','1953040502:59:59','1953040501:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,5,3,0,0],[1953,4,5,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1953,10,4,2,59,59],[1953,10,4,2,59,59],
+          '1953040503:00:00','1953040503:00:00','1953100402:59:59','1953100402:59:59' ],
+        [ [1953,10,4,3,0,0],[1953,10,4,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1954,4,4,2,59,59],[1954,4,4,1,59,59],
+          '1953100403:00:00','1953100402:00:00','1954040402:59:59','1954040401:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,4,3,0,0],[1954,4,4,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1954,10,3,2,59,59],[1954,10,3,2,59,59],
+          '1954040403:00:00','1954040403:00:00','1954100302:59:59','1954100302:59:59' ],
+        [ [1954,10,3,3,0,0],[1954,10,3,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1955,4,3,2,59,59],[1955,4,3,1,59,59],
+          '1954100303:00:00','1954100302:00:00','1955040302:59:59','1955040301:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,3,3,0,0],[1955,4,3,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1955,10,2,2,59,59],[1955,10,2,2,59,59],
+          '1955040303:00:00','1955040303:00:00','1955100202:59:59','1955100202:59:59' ],
+        [ [1955,10,2,3,0,0],[1955,10,2,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1956,4,1,2,59,59],[1956,4,1,1,59,59],
+          '1955100203:00:00','1955100202:00:00','1956040102:59:59','1956040101:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,1,3,0,0],[1956,4,1,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1956,10,7,2,59,59],[1956,10,7,2,59,59],
+          '1956040103:00:00','1956040103:00:00','1956100702:59:59','1956100702:59:59' ],
+        [ [1956,10,7,3,0,0],[1956,10,7,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1957,4,7,2,59,59],[1957,4,7,1,59,59],
+          '1956100703:00:00','1956100702:00:00','1957040702:59:59','1957040701:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,7,3,0,0],[1957,4,7,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1957,10,6,2,59,59],[1957,10,6,2,59,59],
+          '1957040703:00:00','1957040703:00:00','1957100602:59:59','1957100602:59:59' ],
+        [ [1957,10,6,3,0,0],[1957,10,6,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1958,4,6,2,59,59],[1958,4,6,1,59,59],
+          '1957100603:00:00','1957100602:00:00','1958040602:59:59','1958040601:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,6,3,0,0],[1958,4,6,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1958,10,5,2,59,59],[1958,10,5,2,59,59],
+          '1958040603:00:00','1958040603:00:00','1958100502:59:59','1958100502:59:59' ],
+        [ [1958,10,5,3,0,0],[1958,10,5,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1959,4,5,2,59,59],[1959,4,5,1,59,59],
+          '1958100503:00:00','1958100502:00:00','1959040502:59:59','1959040501:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,5,3,0,0],[1959,4,5,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1959,10,4,2,59,59],[1959,10,4,2,59,59],
+          '1959040503:00:00','1959040503:00:00','1959100402:59:59','1959100402:59:59' ],
+        [ [1959,10,4,3,0,0],[1959,10,4,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1960,4,3,2,59,59],[1960,4,3,1,59,59],
+          '1959100403:00:00','1959100402:00:00','1960040302:59:59','1960040301:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,3,3,0,0],[1960,4,3,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1960,10,2,2,59,59],[1960,10,2,2,59,59],
+          '1960040303:00:00','1960040303:00:00','1960100202:59:59','1960100202:59:59' ],
+        [ [1960,10,2,3,0,0],[1960,10,2,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1961,4,2,2,59,59],[1961,4,2,1,59,59],
+          '1960100203:00:00','1960100202:00:00','1961040202:59:59','1961040201:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,2,3,0,0],[1961,4,2,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1961,10,1,2,59,59],[1961,10,1,2,59,59],
+          '1961040203:00:00','1961040203:00:00','1961100102:59:59','1961100102:59:59' ],
+        [ [1961,10,1,3,0,0],[1961,10,1,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1962,4,1,2,59,59],[1962,4,1,1,59,59],
+          '1961100103:00:00','1961100102:00:00','1962040102:59:59','1962040101:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,1,3,0,0],[1962,4,1,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1962,10,7,2,59,59],[1962,10,7,2,59,59],
+          '1962040103:00:00','1962040103:00:00','1962100702:59:59','1962100702:59:59' ],
+        [ [1962,10,7,3,0,0],[1962,10,7,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1963,4,7,2,59,59],[1963,4,7,1,59,59],
+          '1962100703:00:00','1962100702:00:00','1963040702:59:59','1963040701:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,7,3,0,0],[1963,4,7,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1963,10,6,2,59,59],[1963,10,6,2,59,59],
+          '1963040703:00:00','1963040703:00:00','1963100602:59:59','1963100602:59:59' ],
+        [ [1963,10,6,3,0,0],[1963,10,6,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1964,4,5,2,59,59],[1964,4,5,1,59,59],
+          '1963100603:00:00','1963100602:00:00','1964040502:59:59','1964040501:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,5,3,0,0],[1964,4,5,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1964,10,4,2,59,59],[1964,10,4,2,59,59],
+          '1964040503:00:00','1964040503:00:00','1964100402:59:59','1964100402:59:59' ],
+        [ [1964,10,4,3,0,0],[1964,10,4,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1965,4,4,2,59,59],[1965,4,4,1,59,59],
+          '1964100403:00:00','1964100402:00:00','1965040402:59:59','1965040401:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,4,3,0,0],[1965,4,4,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1965,10,3,2,59,59],[1965,10,3,2,59,59],
+          '1965040403:00:00','1965040403:00:00','1965100302:59:59','1965100302:59:59' ],
+        [ [1965,10,3,3,0,0],[1965,10,3,2,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1966,4,3,2,59,59],[1966,4,3,1,59,59],
+          '1965100303:00:00','1965100302:00:00','1966040302:59:59','1966040301:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,3,3,0,0],[1966,4,3,3,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,3,26,23,59,59],[1977,3,26,23,59,59],
+          '1966040303:00:00','1966040303:00:00','1977032623:59:59','1977032623:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,27,0,0,0],[1977,3,27,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,24,23,59,59],[1977,9,25,0,59,59],
+          '1977032700:00:00','1977032701:00:00','1977092423:59:59','1977092500:59:59' ],
+        [ [1977,9,25,0,0,0],[1977,9,25,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,4,1,23,59,59],[1978,4,1,23,59,59],
+          '1977092500:00:00','1977092500:00:00','1978040123:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,0,0,0],[1978,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,9,30,23,59,59],[1978,10,1,0,59,59],
+          '1978040200:00:00','1978040201:00:00','1978093023:59:59','1978100100:59:59' ],
+        [ [1978,10,1,0,0,0],[1978,10,1,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1979,3,31,23,59,59],[1979,3,31,23,59,59],
+          '1978100100:00:00','1978100100:00:00','1979033123:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,0,0,0],[1979,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1979,9,30,0,59,59],[1979,9,30,1,59,59],
+          '1979040100:00:00','1979040101:00:00','1979093000:59:59','1979093001:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1980,3,29,23,59,59],[1980,3,29,23,59,59],
+          '1979093001:00:00','1979093001:00:00','1980032923:59:59','1980032923:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,30,0,0,0],[1980,3,30,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1980,9,28,0,59,59],[1980,9,28,1,59,59],
+          '1980033000:00:00','1980033001:00:00','1980092800:59:59','1980092801:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980092801:00:00','1980092801:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1981,9,27,0,59,59],[1981,9,27,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981092700:59:59','1981092701:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981092701:00:00','1981092701:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1982,9,26,0,59,59],[1982,9,26,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982092600:59:59','1982092601:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1983,3,27,1,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092601:00:00','1983032701:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,2,0,0],[1983,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1983,9,25,0,59,59],[1983,9,25,1,59,59],
+          '1983032702:00:00','1983032703:00:00','1983092500:59:59','1983092501:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983092501:00:00','1983092501:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1984,9,30,0,59,59],[1984,9,30,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984093000:59:59','1984093001:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984093001:00:00','1984093001:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1985,9,29,0,59,59],[1985,9,29,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985092900:59:59','1985092901:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985092901:00:00','1985092901:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1986,9,28,0,59,59],[1986,9,28,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986092800:59:59','1986092801:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986092801:00:00','1986092801:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1987,9,27,0,59,59],[1987,9,27,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987092700:59:59','1987092701:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987092701:00:00','1987092701:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1988,9,25,0,59,59],[1988,9,25,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988092500:59:59','1988092501:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988092501:00:00','1988092501:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1989,9,24,0,59,59],[1989,9,24,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989092400:59:59','1989092401:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989092401:00:00','1989092401:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1990,9,30,0,59,59],[1990,9,30,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990093000:59:59','1990093001:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990093001:00:00','1990093001:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1991,9,29,0,59,59],[1991,9,29,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991092900:59:59','1991092901:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991092901:00:00','1991092901:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1992,9,27,0,59,59],[1992,9,27,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992092700:59:59','1992092701:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992092701:00:00','1992092701:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1993,9,26,0,59,59],[1993,9,26,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993092600:59:59','1993092601:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993092601:00:00','1993092601:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1994,9,25,0,59,59],[1994,9,25,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994092500:59:59','1994092501:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994092501:00:00','1994092501:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1995,9,24,0,59,59],[1995,9,24,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995092400:59:59','1995092401:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995092401:00:00','1995092401:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atreyk00.pm b/lib/Date/Manip/TZ/atreyk00.pm
new file mode 100644
index 0000000..1f90d2c
--- /dev/null
+++ b/lib/Date/Manip/TZ/atreyk00.pm
@@ -0,0 +1,352 @@
+package #
+Date::Manip::TZ::atreyk00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,32,0],'-01:28:00',[-1,-28,0],
+          'LMT',0,[1908,1,1,1,27,59],[1907,12,31,23,59,59],
+          '0001010200:00:00','0001010122:32:00','1908010101:27:59','1907123123:59:59' ],
+     ],
+   1908 =>
+     [
+        [ [1908,1,1,1,28,0],[1908,1,1,0,28,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1917,2,19,23,59,59],[1917,2,19,22,59,59],
+          '1908010101:28:00','1908010100:28:00','1917021923:59:59','1917021922:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,2,20,0,0,0],[1917,2,20,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1917,10,21,0,59,59],[1917,10,21,0,59,59],
+          '1917022000:00:00','1917022000:00:00','1917102100:59:59','1917102100:59:59' ],
+        [ [1917,10,21,1,0,0],[1917,10,21,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1918,2,19,23,59,59],[1918,2,19,22,59,59],
+          '1917102101:00:00','1917102100:00:00','1918021923:59:59','1918021922:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,2,20,0,0,0],[1918,2,20,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1918,11,16,0,59,59],[1918,11,16,0,59,59],
+          '1918022000:00:00','1918022000:00:00','1918111600:59:59','1918111600:59:59' ],
+        [ [1918,11,16,1,0,0],[1918,11,16,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1919,2,19,23,59,59],[1919,2,19,22,59,59],
+          '1918111601:00:00','1918111600:00:00','1919021923:59:59','1919021922:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,2,20,0,0,0],[1919,2,20,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1919,11,16,0,59,59],[1919,11,16,0,59,59],
+          '1919022000:00:00','1919022000:00:00','1919111600:59:59','1919111600:59:59' ],
+        [ [1919,11,16,1,0,0],[1919,11,16,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1921,3,19,23,59,59],[1921,3,19,22,59,59],
+          '1919111601:00:00','1919111600:00:00','1921031923:59:59','1921031922:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,20,0,0,0],[1921,3,20,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1921,6,23,0,59,59],[1921,6,23,0,59,59],
+          '1921032000:00:00','1921032000:00:00','1921062300:59:59','1921062300:59:59' ],
+        [ [1921,6,23,1,0,0],[1921,6,23,0,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1939,4,29,23,59,59],[1939,4,29,22,59,59],
+          '1921062301:00:00','1921062300:00:00','1939042923:59:59','1939042922:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,30,0,0,0],[1939,4,30,0,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1939,10,29,1,59,59],[1939,10,29,1,59,59],
+          '1939043000:00:00','1939043000:00:00','1939102901:59:59','1939102901:59:59' ],
+        [ [1939,10,29,2,0,0],[1939,10,29,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1940,2,25,2,59,59],[1940,2,25,1,59,59],
+          '1939102902:00:00','1939102901:00:00','1940022502:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,3,0,0],[1940,2,25,3,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1940,11,3,1,59,59],[1940,11,3,1,59,59],
+          '1940022503:00:00','1940022503:00:00','1940110301:59:59','1940110301:59:59' ],
+        [ [1940,11,3,2,0,0],[1940,11,3,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1941,3,2,1,59,59],[1941,3,2,0,59,59],
+          '1940110302:00:00','1940110301:00:00','1941030201:59:59','1941030200:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,3,2,2,0,0],[1941,3,2,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1941,11,2,1,59,59],[1941,11,2,1,59,59],
+          '1941030202:00:00','1941030202:00:00','1941110201:59:59','1941110201:59:59' ],
+        [ [1941,11,2,2,0,0],[1941,11,2,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1942,3,8,1,59,59],[1942,3,8,0,59,59],
+          '1941110202:00:00','1941110201:00:00','1942030801:59:59','1942030800:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,8,2,0,0],[1942,3,8,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1942,10,25,1,59,59],[1942,10,25,1,59,59],
+          '1942030802:00:00','1942030802:00:00','1942102501:59:59','1942102501:59:59' ],
+        [ [1942,10,25,2,0,0],[1942,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1943,3,7,1,59,59],[1943,3,7,0,59,59],
+          '1942102502:00:00','1942102501:00:00','1943030701:59:59','1943030700:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,7,2,0,0],[1943,3,7,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1943,10,24,1,59,59],[1943,10,24,1,59,59],
+          '1943030702:00:00','1943030702:00:00','1943102401:59:59','1943102401:59:59' ],
+        [ [1943,10,24,2,0,0],[1943,10,24,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1944,3,5,1,59,59],[1944,3,5,0,59,59],
+          '1943102402:00:00','1943102401:00:00','1944030501:59:59','1944030500:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,5,2,0,0],[1944,3,5,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1944,10,22,1,59,59],[1944,10,22,1,59,59],
+          '1944030502:00:00','1944030502:00:00','1944102201:59:59','1944102201:59:59' ],
+        [ [1944,10,22,2,0,0],[1944,10,22,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1945,3,4,1,59,59],[1945,3,4,0,59,59],
+          '1944102202:00:00','1944102201:00:00','1945030401:59:59','1945030400:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,3,4,2,0,0],[1945,3,4,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1945,10,28,1,59,59],[1945,10,28,1,59,59],
+          '1945030402:00:00','1945030402:00:00','1945102801:59:59','1945102801:59:59' ],
+        [ [1945,10,28,2,0,0],[1945,10,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1946,3,3,1,59,59],[1946,3,3,0,59,59],
+          '1945102802:00:00','1945102801:00:00','1946030301:59:59','1946030300:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,3,2,0,0],[1946,3,3,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1946,10,27,1,59,59],[1946,10,27,1,59,59],
+          '1946030302:00:00','1946030302:00:00','1946102701:59:59','1946102701:59:59' ],
+        [ [1946,10,27,2,0,0],[1946,10,27,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1947,4,6,1,59,59],[1947,4,6,0,59,59],
+          '1946102702:00:00','1946102701:00:00','1947040601:59:59','1947040600:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,2,0,0],[1947,4,6,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1947,10,26,1,59,59],[1947,10,26,1,59,59],
+          '1947040602:00:00','1947040602:00:00','1947102601:59:59','1947102601:59:59' ],
+        [ [1947,10,26,2,0,0],[1947,10,26,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1948,4,4,1,59,59],[1948,4,4,0,59,59],
+          '1947102602:00:00','1947102601:00:00','1948040401:59:59','1948040400:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,4,2,0,0],[1948,4,4,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1948,10,24,1,59,59],[1948,10,24,1,59,59],
+          '1948040402:00:00','1948040402:00:00','1948102401:59:59','1948102401:59:59' ],
+        [ [1948,10,24,2,0,0],[1948,10,24,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1949,4,3,1,59,59],[1949,4,3,0,59,59],
+          '1948102402:00:00','1948102401:00:00','1949040301:59:59','1949040300:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,2,0,0],[1949,4,3,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1949,10,30,1,59,59],[1949,10,30,1,59,59],
+          '1949040302:00:00','1949040302:00:00','1949103001:59:59','1949103001:59:59' ],
+        [ [1949,10,30,2,0,0],[1949,10,30,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1950,4,2,1,59,59],[1950,4,2,0,59,59],
+          '1949103002:00:00','1949103001:00:00','1950040201:59:59','1950040200:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,2,2,0,0],[1950,4,2,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1950,10,22,1,59,59],[1950,10,22,1,59,59],
+          '1950040202:00:00','1950040202:00:00','1950102201:59:59','1950102201:59:59' ],
+        [ [1950,10,22,2,0,0],[1950,10,22,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1951,4,1,1,59,59],[1951,4,1,0,59,59],
+          '1950102202:00:00','1950102201:00:00','1951040101:59:59','1951040100:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,4,1,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1951,10,28,1,59,59],[1951,10,28,1,59,59],
+          '1951040102:00:00','1951040102:00:00','1951102801:59:59','1951102801:59:59' ],
+        [ [1951,10,28,2,0,0],[1951,10,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1952,4,6,1,59,59],[1952,4,6,0,59,59],
+          '1951102802:00:00','1951102801:00:00','1952040601:59:59','1952040600:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,6,2,0,0],[1952,4,6,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1952,10,26,1,59,59],[1952,10,26,1,59,59],
+          '1952040602:00:00','1952040602:00:00','1952102601:59:59','1952102601:59:59' ],
+        [ [1952,10,26,2,0,0],[1952,10,26,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1953,4,5,1,59,59],[1953,4,5,0,59,59],
+          '1952102602:00:00','1952102601:00:00','1953040501:59:59','1953040500:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,5,2,0,0],[1953,4,5,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1953,10,25,1,59,59],[1953,10,25,1,59,59],
+          '1953040502:00:00','1953040502:00:00','1953102501:59:59','1953102501:59:59' ],
+        [ [1953,10,25,2,0,0],[1953,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1954,4,4,1,59,59],[1954,4,4,0,59,59],
+          '1953102502:00:00','1953102501:00:00','1954040401:59:59','1954040400:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,4,2,0,0],[1954,4,4,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1954,10,24,1,59,59],[1954,10,24,1,59,59],
+          '1954040402:00:00','1954040402:00:00','1954102401:59:59','1954102401:59:59' ],
+        [ [1954,10,24,2,0,0],[1954,10,24,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1955,4,3,1,59,59],[1955,4,3,0,59,59],
+          '1954102402:00:00','1954102401:00:00','1955040301:59:59','1955040300:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,3,2,0,0],[1955,4,3,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1955,10,23,1,59,59],[1955,10,23,1,59,59],
+          '1955040302:00:00','1955040302:00:00','1955102301:59:59','1955102301:59:59' ],
+        [ [1955,10,23,2,0,0],[1955,10,23,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1956,4,1,1,59,59],[1956,4,1,0,59,59],
+          '1955102302:00:00','1955102301:00:00','1956040101:59:59','1956040100:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,1,2,0,0],[1956,4,1,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1956,10,28,1,59,59],[1956,10,28,1,59,59],
+          '1956040102:00:00','1956040102:00:00','1956102801:59:59','1956102801:59:59' ],
+        [ [1956,10,28,2,0,0],[1956,10,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1957,4,7,1,59,59],[1957,4,7,0,59,59],
+          '1956102802:00:00','1956102801:00:00','1957040701:59:59','1957040700:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,7,2,0,0],[1957,4,7,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1957,10,27,1,59,59],[1957,10,27,1,59,59],
+          '1957040702:00:00','1957040702:00:00','1957102701:59:59','1957102701:59:59' ],
+        [ [1957,10,27,2,0,0],[1957,10,27,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1958,4,6,1,59,59],[1958,4,6,0,59,59],
+          '1957102702:00:00','1957102701:00:00','1958040601:59:59','1958040600:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,6,2,0,0],[1958,4,6,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1958,10,26,1,59,59],[1958,10,26,1,59,59],
+          '1958040602:00:00','1958040602:00:00','1958102601:59:59','1958102601:59:59' ],
+        [ [1958,10,26,2,0,0],[1958,10,26,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1959,4,5,1,59,59],[1959,4,5,0,59,59],
+          '1958102602:00:00','1958102601:00:00','1959040501:59:59','1959040500:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,5,2,0,0],[1959,4,5,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1959,10,25,1,59,59],[1959,10,25,1,59,59],
+          '1959040502:00:00','1959040502:00:00','1959102501:59:59','1959102501:59:59' ],
+        [ [1959,10,25,2,0,0],[1959,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1960,4,3,1,59,59],[1960,4,3,0,59,59],
+          '1959102502:00:00','1959102501:00:00','1960040301:59:59','1960040300:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,3,2,0,0],[1960,4,3,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1960,10,23,1,59,59],[1960,10,23,1,59,59],
+          '1960040302:00:00','1960040302:00:00','1960102301:59:59','1960102301:59:59' ],
+        [ [1960,10,23,2,0,0],[1960,10,23,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1961,4,2,1,59,59],[1961,4,2,0,59,59],
+          '1960102302:00:00','1960102301:00:00','1961040201:59:59','1961040200:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,2,2,0,0],[1961,4,2,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1961,10,22,1,59,59],[1961,10,22,1,59,59],
+          '1961040202:00:00','1961040202:00:00','1961102201:59:59','1961102201:59:59' ],
+        [ [1961,10,22,2,0,0],[1961,10,22,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1962,4,1,1,59,59],[1962,4,1,0,59,59],
+          '1961102202:00:00','1961102201:00:00','1962040101:59:59','1962040100:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,1,2,0,0],[1962,4,1,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1962,10,28,1,59,59],[1962,10,28,1,59,59],
+          '1962040102:00:00','1962040102:00:00','1962102801:59:59','1962102801:59:59' ],
+        [ [1962,10,28,2,0,0],[1962,10,28,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1963,4,7,1,59,59],[1963,4,7,0,59,59],
+          '1962102802:00:00','1962102801:00:00','1963040701:59:59','1963040700:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,7,2,0,0],[1963,4,7,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1963,10,27,1,59,59],[1963,10,27,1,59,59],
+          '1963040702:00:00','1963040702:00:00','1963102701:59:59','1963102701:59:59' ],
+        [ [1963,10,27,2,0,0],[1963,10,27,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1964,4,5,1,59,59],[1964,4,5,0,59,59],
+          '1963102702:00:00','1963102701:00:00','1964040501:59:59','1964040500:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,5,2,0,0],[1964,4,5,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1964,10,25,1,59,59],[1964,10,25,1,59,59],
+          '1964040502:00:00','1964040502:00:00','1964102501:59:59','1964102501:59:59' ],
+        [ [1964,10,25,2,0,0],[1964,10,25,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1965,4,4,1,59,59],[1965,4,4,0,59,59],
+          '1964102502:00:00','1964102501:00:00','1965040401:59:59','1965040400:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,4,2,0,0],[1965,4,4,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1965,10,24,1,59,59],[1965,10,24,1,59,59],
+          '1965040402:00:00','1965040402:00:00','1965102401:59:59','1965102401:59:59' ],
+        [ [1965,10,24,2,0,0],[1965,10,24,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1966,4,3,1,59,59],[1966,4,3,0,59,59],
+          '1965102402:00:00','1965102401:00:00','1966040301:59:59','1966040300:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,3,2,0,0],[1966,4,3,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1966,10,23,1,59,59],[1966,10,23,1,59,59],
+          '1966040302:00:00','1966040302:00:00','1966102301:59:59','1966102301:59:59' ],
+        [ [1966,10,23,2,0,0],[1966,10,23,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1967,4,2,1,59,59],[1967,4,2,0,59,59],
+          '1966102302:00:00','1966102301:00:00','1967040201:59:59','1967040200:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,4,2,2,0,0],[1967,4,2,2,0,0],'+00:00:00',[0,0,0],
+          '+00',1,[1967,10,29,1,59,59],[1967,10,29,1,59,59],
+          '1967040202:00:00','1967040202:00:00','1967102901:59:59','1967102901:59:59' ],
+        [ [1967,10,29,2,0,0],[1967,10,29,1,0,0],'-01:00:00',[-1,0,0],
+          '-01',0,[1968,4,7,1,59,59],[1968,4,7,0,59,59],
+          '1967102902:00:00','1967102901:00:00','1968040701:59:59','1968040700:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,4,7,2,0,0],[1968,4,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '1968040702:00:00','1968040702:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atsout00.pm b/lib/Date/Manip/TZ/atsout00.pm
new file mode 100644
index 0000000..917768b
--- /dev/null
+++ b/lib/Date/Manip/TZ/atsout00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::atsout00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,33,52],'-02:26:08',[-2,-26,-8],
+          'LMT',0,[1890,1,1,2,26,7],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010121:33:52','1890010102:26:07','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,2,26,8],[1890,1,1,0,26,8],'-02:00:00',[-2,0,0],
+          '-02',0,[9999,12,31,0,0,0],[9999,12,30,22,0,0],
+          '1890010102:26:08','1890010100:26:08','9999123100:00:00','9999123022:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/atstan00.pm b/lib/Date/Manip/TZ/atstan00.pm
new file mode 100644
index 0000000..4243457
--- /dev/null
+++ b/lib/Date/Manip/TZ/atstan00.pm
@@ -0,0 +1,364 @@
+package #
+Date::Manip::TZ::atstan00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,8,36],'-03:51:24',[-3,-51,-24],
+          'LMT',0,[1890,1,1,3,51,23],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010120:08:36','1890010103:51:23','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,3,51,24],[1890,1,1,0,0,0],'-03:51:24',[-3,-51,-24],
+          'SMT',0,[1912,3,12,3,51,23],[1912,3,11,23,59,59],
+          '1890010103:51:24','1890010100:00:00','1912031203:51:23','1912031123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,3,12,3,51,24],[1912,3,11,23,51,24],'-04:00:00',[-4,0,0],
+          '-04',0,[1937,9,26,3,59,59],[1937,9,25,23,59,59],
+          '1912031203:51:24','1912031123:51:24','1937092603:59:59','1937092523:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,9,26,4,0,0],[1937,9,26,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1938,3,20,2,59,59],[1938,3,19,23,59,59],
+          '1937092604:00:00','1937092601:00:00','1938032002:59:59','1938031923:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,20,3,0,0],[1938,3,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1938,9,25,3,59,59],[1938,9,24,23,59,59],
+          '1938032003:00:00','1938031923:00:00','1938092503:59:59','1938092423:59:59' ],
+        [ [1938,9,25,4,0,0],[1938,9,25,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1939,3,19,2,59,59],[1939,3,18,23,59,59],
+          '1938092504:00:00','1938092501:00:00','1939031902:59:59','1939031823:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,3,19,3,0,0],[1939,3,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1939,10,1,3,59,59],[1939,9,30,23,59,59],
+          '1939031903:00:00','1939031823:00:00','1939100103:59:59','1939093023:59:59' ],
+        [ [1939,10,1,4,0,0],[1939,10,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1940,3,24,2,59,59],[1940,3,23,23,59,59],
+          '1939100104:00:00','1939100101:00:00','1940032402:59:59','1940032323:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,24,3,0,0],[1940,3,23,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1940,9,29,3,59,59],[1940,9,28,23,59,59],
+          '1940032403:00:00','1940032323:00:00','1940092903:59:59','1940092823:59:59' ],
+        [ [1940,9,29,4,0,0],[1940,9,29,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1941,3,23,2,59,59],[1941,3,22,23,59,59],
+          '1940092904:00:00','1940092901:00:00','1941032302:59:59','1941032223:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,3,23,3,0,0],[1941,3,22,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1941,9,28,3,59,59],[1941,9,27,23,59,59],
+          '1941032303:00:00','1941032223:00:00','1941092803:59:59','1941092723:59:59' ],
+        [ [1941,9,28,4,0,0],[1941,9,28,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1942,3,22,2,59,59],[1942,3,21,23,59,59],
+          '1941092804:00:00','1941092801:00:00','1942032202:59:59','1942032123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,22,3,0,0],[1942,3,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1942,9,27,3,59,59],[1942,9,26,23,59,59],
+          '1942032203:00:00','1942032123:00:00','1942092703:59:59','1942092623:59:59' ],
+        [ [1942,9,27,4,0,0],[1942,9,27,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1943,1,1,2,59,59],[1942,12,31,23,59,59],
+          '1942092704:00:00','1942092701:00:00','1943010102:59:59','1942123123:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,1,1,3,0,0],[1942,12,31,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1983,5,1,3,59,59],[1983,4,30,23,59,59],
+          '1943010103:00:00','1942123123:00:00','1983050103:59:59','1983043023:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,5,1,4,0,0],[1983,5,1,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1983,9,25,2,59,59],[1983,9,24,23,59,59],
+          '1983050104:00:00','1983050101:00:00','1983092502:59:59','1983092423:59:59' ],
+        [ [1983,9,25,3,0,0],[1983,9,25,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1984,4,29,1,59,59],[1984,4,28,23,59,59],
+          '1983092503:00:00','1983092501:00:00','1984042901:59:59','1984042823:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,4,29,2,0,0],[1984,4,28,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1984,9,16,2,59,59],[1984,9,15,23,59,59],
+          '1984042902:00:00','1984042823:00:00','1984091602:59:59','1984091523:59:59' ],
+        [ [1984,9,16,3,0,0],[1984,9,16,1,0,0],'-02:00:00',[-2,0,0],
+          '-02',1,[1985,4,28,1,59,59],[1985,4,27,23,59,59],
+          '1984091603:00:00','1984091601:00:00','1985042801:59:59','1985042723:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,28,2,0,0],[1985,4,27,23,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[1985,9,15,2,59,59],[1985,9,14,23,59,59],
+          '1985042802:00:00','1985042723:00:00','1985091502:59:59','1985091423:59:59' ],
+        [ [1985,9,15,3,0,0],[1985,9,15,0,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1986,4,20,2,59,59],[1986,4,19,23,59,59],
+          '1985091503:00:00','1985091500:00:00','1986042002:59:59','1986041923:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,4,20,3,0,0],[1986,4,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1986,9,14,3,59,59],[1986,9,13,23,59,59],
+          '1986042003:00:00','1986041923:00:00','1986091403:59:59','1986091323:59:59' ],
+        [ [1986,9,14,4,0,0],[1986,9,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1987,4,19,2,59,59],[1987,4,18,23,59,59],
+          '1986091404:00:00','1986091401:00:00','1987041902:59:59','1987041823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,19,3,0,0],[1987,4,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1987,9,13,3,59,59],[1987,9,12,23,59,59],
+          '1987041903:00:00','1987041823:00:00','1987091303:59:59','1987091223:59:59' ],
+        [ [1987,9,13,4,0,0],[1987,9,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1988,4,17,2,59,59],[1988,4,16,23,59,59],
+          '1987091304:00:00','1987091301:00:00','1988041702:59:59','1988041623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,4,17,3,0,0],[1988,4,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1988,9,11,3,59,59],[1988,9,10,23,59,59],
+          '1988041703:00:00','1988041623:00:00','1988091103:59:59','1988091023:59:59' ],
+        [ [1988,9,11,4,0,0],[1988,9,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1989,4,16,2,59,59],[1989,4,15,23,59,59],
+          '1988091104:00:00','1988091101:00:00','1989041602:59:59','1989041523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,4,16,3,0,0],[1989,4,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1989,9,10,3,59,59],[1989,9,9,23,59,59],
+          '1989041603:00:00','1989041523:00:00','1989091003:59:59','1989090923:59:59' ],
+        [ [1989,9,10,4,0,0],[1989,9,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1990,4,22,2,59,59],[1990,4,21,23,59,59],
+          '1989091004:00:00','1989091001:00:00','1990042202:59:59','1990042123:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,4,22,3,0,0],[1990,4,21,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1990,9,9,3,59,59],[1990,9,8,23,59,59],
+          '1990042203:00:00','1990042123:00:00','1990090903:59:59','1990090823:59:59' ],
+        [ [1990,9,9,4,0,0],[1990,9,9,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1991,4,21,2,59,59],[1991,4,20,23,59,59],
+          '1990090904:00:00','1990090901:00:00','1991042102:59:59','1991042023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,4,21,3,0,0],[1991,4,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1991,9,15,3,59,59],[1991,9,14,23,59,59],
+          '1991042103:00:00','1991042023:00:00','1991091503:59:59','1991091423:59:59' ],
+        [ [1991,9,15,4,0,0],[1991,9,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1992,4,19,2,59,59],[1992,4,18,23,59,59],
+          '1991091504:00:00','1991091501:00:00','1992041902:59:59','1992041823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,4,19,3,0,0],[1992,4,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1992,9,13,3,59,59],[1992,9,12,23,59,59],
+          '1992041903:00:00','1992041823:00:00','1992091303:59:59','1992091223:59:59' ],
+        [ [1992,9,13,4,0,0],[1992,9,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1993,4,18,2,59,59],[1993,4,17,23,59,59],
+          '1992091304:00:00','1992091301:00:00','1993041802:59:59','1993041723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,4,18,3,0,0],[1993,4,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1993,9,12,3,59,59],[1993,9,11,23,59,59],
+          '1993041803:00:00','1993041723:00:00','1993091203:59:59','1993091123:59:59' ],
+        [ [1993,9,12,4,0,0],[1993,9,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1994,4,17,2,59,59],[1994,4,16,23,59,59],
+          '1993091204:00:00','1993091201:00:00','1994041702:59:59','1994041623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,4,17,3,0,0],[1994,4,16,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1994,9,11,3,59,59],[1994,9,10,23,59,59],
+          '1994041703:00:00','1994041623:00:00','1994091103:59:59','1994091023:59:59' ],
+        [ [1994,9,11,4,0,0],[1994,9,11,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1995,4,16,2,59,59],[1995,4,15,23,59,59],
+          '1994091104:00:00','1994091101:00:00','1995041602:59:59','1995041523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,4,16,3,0,0],[1995,4,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1995,9,10,3,59,59],[1995,9,9,23,59,59],
+          '1995041603:00:00','1995041523:00:00','1995091003:59:59','1995090923:59:59' ],
+        [ [1995,9,10,4,0,0],[1995,9,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1996,4,21,2,59,59],[1996,4,20,23,59,59],
+          '1995091004:00:00','1995091001:00:00','1996042102:59:59','1996042023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,4,21,3,0,0],[1996,4,20,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1996,9,15,3,59,59],[1996,9,14,23,59,59],
+          '1996042103:00:00','1996042023:00:00','1996091503:59:59','1996091423:59:59' ],
+        [ [1996,9,15,4,0,0],[1996,9,15,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1997,4,20,2,59,59],[1997,4,19,23,59,59],
+          '1996091504:00:00','1996091501:00:00','1997042002:59:59','1997041923:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,4,20,3,0,0],[1997,4,19,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1997,9,14,3,59,59],[1997,9,13,23,59,59],
+          '1997042003:00:00','1997041923:00:00','1997091403:59:59','1997091323:59:59' ],
+        [ [1997,9,14,4,0,0],[1997,9,14,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1998,4,19,2,59,59],[1998,4,18,23,59,59],
+          '1997091404:00:00','1997091401:00:00','1998041902:59:59','1998041823:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,19,3,0,0],[1998,4,18,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1998,9,13,3,59,59],[1998,9,12,23,59,59],
+          '1998041903:00:00','1998041823:00:00','1998091303:59:59','1998091223:59:59' ],
+        [ [1998,9,13,4,0,0],[1998,9,13,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[1999,4,18,2,59,59],[1999,4,17,23,59,59],
+          '1998091304:00:00','1998091301:00:00','1999041802:59:59','1999041723:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,18,3,0,0],[1999,4,17,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[1999,9,12,3,59,59],[1999,9,11,23,59,59],
+          '1999041803:00:00','1999041723:00:00','1999091203:59:59','1999091123:59:59' ],
+        [ [1999,9,12,4,0,0],[1999,9,12,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2000,4,16,2,59,59],[2000,4,15,23,59,59],
+          '1999091204:00:00','1999091201:00:00','2000041602:59:59','2000041523:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,4,16,3,0,0],[2000,4,15,23,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2000,9,10,3,59,59],[2000,9,9,23,59,59],
+          '2000041603:00:00','2000041523:00:00','2000091003:59:59','2000090923:59:59' ],
+        [ [2000,9,10,4,0,0],[2000,9,10,1,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2001,4,15,4,59,59],[2001,4,15,1,59,59],
+          '2000091004:00:00','2000091001:00:00','2001041504:59:59','2001041501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,4,15,5,0,0],[2001,4,15,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2001,9,2,5,59,59],[2001,9,2,1,59,59],
+          '2001041505:00:00','2001041501:00:00','2001090205:59:59','2001090201:59:59' ],
+        [ [2001,9,2,6,0,0],[2001,9,2,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2002,4,21,4,59,59],[2002,4,21,1,59,59],
+          '2001090206:00:00','2001090203:00:00','2002042104:59:59','2002042101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,4,21,5,0,0],[2002,4,21,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2002,9,1,5,59,59],[2002,9,1,1,59,59],
+          '2002042105:00:00','2002042101:00:00','2002090105:59:59','2002090101:59:59' ],
+        [ [2002,9,1,6,0,0],[2002,9,1,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2003,4,20,4,59,59],[2003,4,20,1,59,59],
+          '2002090106:00:00','2002090103:00:00','2003042004:59:59','2003042001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,4,20,5,0,0],[2003,4,20,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2003,9,7,5,59,59],[2003,9,7,1,59,59],
+          '2003042005:00:00','2003042001:00:00','2003090705:59:59','2003090701:59:59' ],
+        [ [2003,9,7,6,0,0],[2003,9,7,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2004,4,18,4,59,59],[2004,4,18,1,59,59],
+          '2003090706:00:00','2003090703:00:00','2004041804:59:59','2004041801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,4,18,5,0,0],[2004,4,18,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2004,9,5,5,59,59],[2004,9,5,1,59,59],
+          '2004041805:00:00','2004041801:00:00','2004090505:59:59','2004090501:59:59' ],
+        [ [2004,9,5,6,0,0],[2004,9,5,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2005,4,17,4,59,59],[2005,4,17,1,59,59],
+          '2004090506:00:00','2004090503:00:00','2005041704:59:59','2005041701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,4,17,5,0,0],[2005,4,17,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2005,9,4,5,59,59],[2005,9,4,1,59,59],
+          '2005041705:00:00','2005041701:00:00','2005090405:59:59','2005090401:59:59' ],
+        [ [2005,9,4,6,0,0],[2005,9,4,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2006,4,16,4,59,59],[2006,4,16,1,59,59],
+          '2005090406:00:00','2005090403:00:00','2006041604:59:59','2006041601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,16,5,0,0],[2006,4,16,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2006,9,3,5,59,59],[2006,9,3,1,59,59],
+          '2006041605:00:00','2006041601:00:00','2006090305:59:59','2006090301:59:59' ],
+        [ [2006,9,3,6,0,0],[2006,9,3,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2007,4,15,4,59,59],[2007,4,15,1,59,59],
+          '2006090306:00:00','2006090303:00:00','2007041504:59:59','2007041501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,4,15,5,0,0],[2007,4,15,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2007,9,2,5,59,59],[2007,9,2,1,59,59],
+          '2007041505:00:00','2007041501:00:00','2007090205:59:59','2007090201:59:59' ],
+        [ [2007,9,2,6,0,0],[2007,9,2,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2008,4,20,4,59,59],[2008,4,20,1,59,59],
+          '2007090206:00:00','2007090203:00:00','2008042004:59:59','2008042001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,20,5,0,0],[2008,4,20,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2008,9,7,5,59,59],[2008,9,7,1,59,59],
+          '2008042005:00:00','2008042001:00:00','2008090705:59:59','2008090701:59:59' ],
+        [ [2008,9,7,6,0,0],[2008,9,7,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2009,4,19,4,59,59],[2009,4,19,1,59,59],
+          '2008090706:00:00','2008090703:00:00','2009041904:59:59','2009041901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,19,5,0,0],[2009,4,19,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2009,9,6,5,59,59],[2009,9,6,1,59,59],
+          '2009041905:00:00','2009041901:00:00','2009090605:59:59','2009090601:59:59' ],
+        [ [2009,9,6,6,0,0],[2009,9,6,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',1,[2010,4,18,4,59,59],[2010,4,18,1,59,59],
+          '2009090606:00:00','2009090603:00:00','2010041804:59:59','2010041801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,18,5,0,0],[2010,4,18,1,0,0],'-04:00:00',[-4,0,0],
+          '-04',0,[2010,9,5,5,59,59],[2010,9,5,1,59,59],
+          '2010041805:00:00','2010041801:00:00','2010090505:59:59','2010090501:59:59' ],
+        [ [2010,9,5,6,0,0],[2010,9,5,3,0,0],'-03:00:00',[-3,0,0],
+          '-03',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '2010090506:00:00','2010090503:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/auadel00.pm b/lib/Date/Manip/TZ/auadel00.pm
new file mode 100644
index 0000000..ff51fc7
--- /dev/null
+++ b/lib/Date/Manip/TZ/auadel00.pm
@@ -0,0 +1,991 @@
+package #
+Date::Manip::TZ::auadel00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,14,20],'+09:14:20',[9,14,20],
+          'LMT',0,[1895,1,31,14,45,39],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010209:14:20','1895013114:45:39','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,14,45,40],[1895,1,31,23,45,40],'+09:00:00',[9,0,0],
+          'ACST',0,[1899,4,30,14,59,59],[1899,4,30,23,59,59],
+          '1895013114:45:40','1895013123:45:40','1899043014:59:59','1899043023:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,4,30,15,0,0],[1899,5,1,0,30,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1916,12,31,14,30,59],[1917,1,1,0,0,59],
+          '1899043015:00:00','1899050100:30:00','1916123114:30:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,31,0],[1917,1,1,1,1,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1917,3,24,15,29,59],[1917,3,25,1,59,59],
+          '1916123114:31:00','1917010101:01:00','1917032415:29:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,30,0],[1917,3,25,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1941,12,31,16,29,59],[1942,1,1,1,59,59],
+          '1917032415:30:00','1917032501:00:00','1941123116:29:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,30,0],[1942,1,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1942,3,28,15,29,59],[1942,3,29,1,59,59],
+          '1941123116:30:00','1942010103:00:00','1942032815:29:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,30,0],[1942,3,29,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1942,9,26,16,29,59],[1942,9,27,1,59,59],
+          '1942032815:30:00','1942032901:00:00','1942092616:29:59','1942092701:59:59' ],
+        [ [1942,9,26,16,30,0],[1942,9,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1943,3,27,15,29,59],[1943,3,28,1,59,59],
+          '1942092616:30:00','1942092703:00:00','1943032715:29:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,30,0],[1943,3,28,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1943,10,2,16,29,59],[1943,10,3,1,59,59],
+          '1943032715:30:00','1943032801:00:00','1943100216:29:59','1943100301:59:59' ],
+        [ [1943,10,2,16,30,0],[1943,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1944,3,25,15,29,59],[1944,3,26,1,59,59],
+          '1943100216:30:00','1943100303:00:00','1944032515:29:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,30,0],[1944,3,26,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1971,10,30,16,29,59],[1971,10,31,1,59,59],
+          '1944032515:30:00','1944032601:00:00','1971103016:29:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,30,0],[1971,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1972,2,26,16,29,59],[1972,2,27,2,59,59],
+          '1971103016:30:00','1971103103:00:00','1972022616:29:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,30,0],[1972,2,27,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1972,10,28,16,29,59],[1972,10,29,1,59,59],
+          '1972022616:30:00','1972022702:00:00','1972102816:29:59','1972102901:59:59' ],
+        [ [1972,10,28,16,30,0],[1972,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1973,3,3,16,29,59],[1973,3,4,2,59,59],
+          '1972102816:30:00','1972102903:00:00','1973030316:29:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,30,0],[1973,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1973,10,27,16,29,59],[1973,10,28,1,59,59],
+          '1973030316:30:00','1973030402:00:00','1973102716:29:59','1973102801:59:59' ],
+        [ [1973,10,27,16,30,0],[1973,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1974,3,2,16,29,59],[1974,3,3,2,59,59],
+          '1973102716:30:00','1973102803:00:00','1974030216:29:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,30,0],[1974,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1974,10,26,16,29,59],[1974,10,27,1,59,59],
+          '1974030216:30:00','1974030302:00:00','1974102616:29:59','1974102701:59:59' ],
+        [ [1974,10,26,16,30,0],[1974,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1975,3,1,16,29,59],[1975,3,2,2,59,59],
+          '1974102616:30:00','1974102703:00:00','1975030116:29:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,30,0],[1975,3,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1975,10,25,16,29,59],[1975,10,26,1,59,59],
+          '1975030116:30:00','1975030202:00:00','1975102516:29:59','1975102601:59:59' ],
+        [ [1975,10,25,16,30,0],[1975,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1976,3,6,16,29,59],[1976,3,7,2,59,59],
+          '1975102516:30:00','1975102603:00:00','1976030616:29:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,30,0],[1976,3,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1976,10,30,16,29,59],[1976,10,31,1,59,59],
+          '1976030616:30:00','1976030702:00:00','1976103016:29:59','1976103101:59:59' ],
+        [ [1976,10,30,16,30,0],[1976,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1977,3,5,16,29,59],[1977,3,6,2,59,59],
+          '1976103016:30:00','1976103103:00:00','1977030516:29:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,30,0],[1977,3,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1977,10,29,16,29,59],[1977,10,30,1,59,59],
+          '1977030516:30:00','1977030602:00:00','1977102916:29:59','1977103001:59:59' ],
+        [ [1977,10,29,16,30,0],[1977,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1978,3,4,16,29,59],[1978,3,5,2,59,59],
+          '1977102916:30:00','1977103003:00:00','1978030416:29:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,30,0],[1978,3,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1978,10,28,16,29,59],[1978,10,29,1,59,59],
+          '1978030416:30:00','1978030502:00:00','1978102816:29:59','1978102901:59:59' ],
+        [ [1978,10,28,16,30,0],[1978,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1979,3,3,16,29,59],[1979,3,4,2,59,59],
+          '1978102816:30:00','1978102903:00:00','1979030316:29:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,30,0],[1979,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1979,10,27,16,29,59],[1979,10,28,1,59,59],
+          '1979030316:30:00','1979030402:00:00','1979102716:29:59','1979102801:59:59' ],
+        [ [1979,10,27,16,30,0],[1979,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1980,3,1,16,29,59],[1980,3,2,2,59,59],
+          '1979102716:30:00','1979102803:00:00','1980030116:29:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,30,0],[1980,3,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1980,10,25,16,29,59],[1980,10,26,1,59,59],
+          '1980030116:30:00','1980030202:00:00','1980102516:29:59','1980102601:59:59' ],
+        [ [1980,10,25,16,30,0],[1980,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1981,2,28,16,29,59],[1981,3,1,2,59,59],
+          '1980102516:30:00','1980102603:00:00','1981022816:29:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,30,0],[1981,3,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1981,10,24,16,29,59],[1981,10,25,1,59,59],
+          '1981022816:30:00','1981030102:00:00','1981102416:29:59','1981102501:59:59' ],
+        [ [1981,10,24,16,30,0],[1981,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1982,3,6,16,29,59],[1982,3,7,2,59,59],
+          '1981102416:30:00','1981102503:00:00','1982030616:29:59','1982030702:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,6,16,30,0],[1982,3,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1982,10,30,16,29,59],[1982,10,31,1,59,59],
+          '1982030616:30:00','1982030702:00:00','1982103016:29:59','1982103101:59:59' ],
+        [ [1982,10,30,16,30,0],[1982,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1983,3,5,16,29,59],[1983,3,6,2,59,59],
+          '1982103016:30:00','1982103103:00:00','1983030516:29:59','1983030602:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,16,30,0],[1983,3,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1983,10,29,16,29,59],[1983,10,30,1,59,59],
+          '1983030516:30:00','1983030602:00:00','1983102916:29:59','1983103001:59:59' ],
+        [ [1983,10,29,16,30,0],[1983,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1984,3,3,16,29,59],[1984,3,4,2,59,59],
+          '1983102916:30:00','1983103003:00:00','1984030316:29:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,30,0],[1984,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1984,10,27,16,29,59],[1984,10,28,1,59,59],
+          '1984030316:30:00','1984030402:00:00','1984102716:29:59','1984102801:59:59' ],
+        [ [1984,10,27,16,30,0],[1984,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1985,3,2,16,29,59],[1985,3,3,2,59,59],
+          '1984102716:30:00','1984102803:00:00','1985030216:29:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,30,0],[1985,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1985,10,26,16,29,59],[1985,10,27,1,59,59],
+          '1985030216:30:00','1985030302:00:00','1985102616:29:59','1985102701:59:59' ],
+        [ [1985,10,26,16,30,0],[1985,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1986,3,15,16,29,59],[1986,3,16,2,59,59],
+          '1985102616:30:00','1985102703:00:00','1986031516:29:59','1986031602:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,16,30,0],[1986,3,16,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1986,10,18,16,29,59],[1986,10,19,1,59,59],
+          '1986031516:30:00','1986031602:00:00','1986101816:29:59','1986101901:59:59' ],
+        [ [1986,10,18,16,30,0],[1986,10,19,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1987,3,14,16,29,59],[1987,3,15,2,59,59],
+          '1986101816:30:00','1986101903:00:00','1987031416:29:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,30,0],[1987,3,15,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1987,10,24,16,29,59],[1987,10,25,1,59,59],
+          '1987031416:30:00','1987031502:00:00','1987102416:29:59','1987102501:59:59' ],
+        [ [1987,10,24,16,30,0],[1987,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1988,3,19,16,29,59],[1988,3,20,2,59,59],
+          '1987102416:30:00','1987102503:00:00','1988031916:29:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,30,0],[1988,3,20,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1988,10,29,16,29,59],[1988,10,30,1,59,59],
+          '1988031916:30:00','1988032002:00:00','1988102916:29:59','1988103001:59:59' ],
+        [ [1988,10,29,16,30,0],[1988,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1989,3,18,16,29,59],[1989,3,19,2,59,59],
+          '1988102916:30:00','1988103003:00:00','1989031816:29:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,30,0],[1989,3,19,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1989,10,28,16,29,59],[1989,10,29,1,59,59],
+          '1989031816:30:00','1989031902:00:00','1989102816:29:59','1989102901:59:59' ],
+        [ [1989,10,28,16,30,0],[1989,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1990,3,17,16,29,59],[1990,3,18,2,59,59],
+          '1989102816:30:00','1989102903:00:00','1990031716:29:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,16,30,0],[1990,3,18,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1990,10,27,16,29,59],[1990,10,28,1,59,59],
+          '1990031716:30:00','1990031802:00:00','1990102716:29:59','1990102801:59:59' ],
+        [ [1990,10,27,16,30,0],[1990,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1991,3,2,16,29,59],[1991,3,3,2,59,59],
+          '1990102716:30:00','1990102803:00:00','1991030216:29:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,30,0],[1991,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1991,10,26,16,29,59],[1991,10,27,1,59,59],
+          '1991030216:30:00','1991030302:00:00','1991102616:29:59','1991102701:59:59' ],
+        [ [1991,10,26,16,30,0],[1991,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1992,3,21,16,29,59],[1992,3,22,2,59,59],
+          '1991102616:30:00','1991102703:00:00','1992032116:29:59','1992032202:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,21,16,30,0],[1992,3,22,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1992,10,24,16,29,59],[1992,10,25,1,59,59],
+          '1992032116:30:00','1992032202:00:00','1992102416:29:59','1992102501:59:59' ],
+        [ [1992,10,24,16,30,0],[1992,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1993,3,6,16,29,59],[1993,3,7,2,59,59],
+          '1992102416:30:00','1992102503:00:00','1993030616:29:59','1993030702:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,16,30,0],[1993,3,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1993,10,30,16,29,59],[1993,10,31,1,59,59],
+          '1993030616:30:00','1993030702:00:00','1993103016:29:59','1993103101:59:59' ],
+        [ [1993,10,30,16,30,0],[1993,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1994,3,19,16,29,59],[1994,3,20,2,59,59],
+          '1993103016:30:00','1993103103:00:00','1994031916:29:59','1994032002:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,19,16,30,0],[1994,3,20,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1994,10,29,16,29,59],[1994,10,30,1,59,59],
+          '1994031916:30:00','1994032002:00:00','1994102916:29:59','1994103001:59:59' ],
+        [ [1994,10,29,16,30,0],[1994,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1995,3,25,16,29,59],[1995,3,26,2,59,59],
+          '1994102916:30:00','1994103003:00:00','1995032516:29:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,30,0],[1995,3,26,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1995,10,28,16,29,59],[1995,10,29,1,59,59],
+          '1995032516:30:00','1995032602:00:00','1995102816:29:59','1995102901:59:59' ],
+        [ [1995,10,28,16,30,0],[1995,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1996,3,30,16,29,59],[1996,3,31,2,59,59],
+          '1995102816:30:00','1995102903:00:00','1996033016:29:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,30,0],[1996,3,31,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1996,10,26,16,29,59],[1996,10,27,1,59,59],
+          '1996033016:30:00','1996033102:00:00','1996102616:29:59','1996102701:59:59' ],
+        [ [1996,10,26,16,30,0],[1996,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1997,3,29,16,29,59],[1997,3,30,2,59,59],
+          '1996102616:30:00','1996102703:00:00','1997032916:29:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,30,0],[1997,3,30,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1997,10,25,16,29,59],[1997,10,26,1,59,59],
+          '1997032916:30:00','1997033002:00:00','1997102516:29:59','1997102601:59:59' ],
+        [ [1997,10,25,16,30,0],[1997,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1998,3,28,16,29,59],[1998,3,29,2,59,59],
+          '1997102516:30:00','1997102603:00:00','1998032816:29:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,30,0],[1998,3,29,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1998,10,24,16,29,59],[1998,10,25,1,59,59],
+          '1998032816:30:00','1998032902:00:00','1998102416:29:59','1998102501:59:59' ],
+        [ [1998,10,24,16,30,0],[1998,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1999,3,27,16,29,59],[1999,3,28,2,59,59],
+          '1998102416:30:00','1998102503:00:00','1999032716:29:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,30,0],[1999,3,28,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1999,10,30,16,29,59],[1999,10,31,1,59,59],
+          '1999032716:30:00','1999032802:00:00','1999103016:29:59','1999103101:59:59' ],
+        [ [1999,10,30,16,30,0],[1999,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2000,3,25,16,29,59],[2000,3,26,2,59,59],
+          '1999103016:30:00','1999103103:00:00','2000032516:29:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,30,0],[2000,3,26,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2000,10,28,16,29,59],[2000,10,29,1,59,59],
+          '2000032516:30:00','2000032602:00:00','2000102816:29:59','2000102901:59:59' ],
+        [ [2000,10,28,16,30,0],[2000,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2001,3,24,16,29,59],[2001,3,25,2,59,59],
+          '2000102816:30:00','2000102903:00:00','2001032416:29:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,30,0],[2001,3,25,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2001,10,27,16,29,59],[2001,10,28,1,59,59],
+          '2001032416:30:00','2001032502:00:00','2001102716:29:59','2001102801:59:59' ],
+        [ [2001,10,27,16,30,0],[2001,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2002,3,30,16,29,59],[2002,3,31,2,59,59],
+          '2001102716:30:00','2001102803:00:00','2002033016:29:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,30,0],[2002,3,31,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2002,10,26,16,29,59],[2002,10,27,1,59,59],
+          '2002033016:30:00','2002033102:00:00','2002102616:29:59','2002102701:59:59' ],
+        [ [2002,10,26,16,30,0],[2002,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2003,3,29,16,29,59],[2003,3,30,2,59,59],
+          '2002102616:30:00','2002102703:00:00','2003032916:29:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,30,0],[2003,3,30,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2003,10,25,16,29,59],[2003,10,26,1,59,59],
+          '2003032916:30:00','2003033002:00:00','2003102516:29:59','2003102601:59:59' ],
+        [ [2003,10,25,16,30,0],[2003,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2004,3,27,16,29,59],[2004,3,28,2,59,59],
+          '2003102516:30:00','2003102603:00:00','2004032716:29:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,30,0],[2004,3,28,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2004,10,30,16,29,59],[2004,10,31,1,59,59],
+          '2004032716:30:00','2004032802:00:00','2004103016:29:59','2004103101:59:59' ],
+        [ [2004,10,30,16,30,0],[2004,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2005,3,26,16,29,59],[2005,3,27,2,59,59],
+          '2004103016:30:00','2004103103:00:00','2005032616:29:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,30,0],[2005,3,27,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2005,10,29,16,29,59],[2005,10,30,1,59,59],
+          '2005032616:30:00','2005032702:00:00','2005102916:29:59','2005103001:59:59' ],
+        [ [2005,10,29,16,30,0],[2005,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2006,4,1,16,29,59],[2006,4,2,2,59,59],
+          '2005102916:30:00','2005103003:00:00','2006040116:29:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,30,0],[2006,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2006,10,28,16,29,59],[2006,10,29,1,59,59],
+          '2006040116:30:00','2006040202:00:00','2006102816:29:59','2006102901:59:59' ],
+        [ [2006,10,28,16,30,0],[2006,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2007,3,24,16,29,59],[2007,3,25,2,59,59],
+          '2006102816:30:00','2006102903:00:00','2007032416:29:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,30,0],[2007,3,25,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2007,10,27,16,29,59],[2007,10,28,1,59,59],
+          '2007032416:30:00','2007032502:00:00','2007102716:29:59','2007102801:59:59' ],
+        [ [2007,10,27,16,30,0],[2007,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2008,4,5,16,29,59],[2008,4,6,2,59,59],
+          '2007102716:30:00','2007102803:00:00','2008040516:29:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,30,0],[2008,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2008,10,4,16,29,59],[2008,10,5,1,59,59],
+          '2008040516:30:00','2008040602:00:00','2008100416:29:59','2008100501:59:59' ],
+        [ [2008,10,4,16,30,0],[2008,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2009,4,4,16,29,59],[2009,4,5,2,59,59],
+          '2008100416:30:00','2008100503:00:00','2009040416:29:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,30,0],[2009,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2009,10,3,16,29,59],[2009,10,4,1,59,59],
+          '2009040416:30:00','2009040502:00:00','2009100316:29:59','2009100401:59:59' ],
+        [ [2009,10,3,16,30,0],[2009,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2010,4,3,16,29,59],[2010,4,4,2,59,59],
+          '2009100316:30:00','2009100403:00:00','2010040316:29:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,30,0],[2010,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2010,10,2,16,29,59],[2010,10,3,1,59,59],
+          '2010040316:30:00','2010040402:00:00','2010100216:29:59','2010100301:59:59' ],
+        [ [2010,10,2,16,30,0],[2010,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2011,4,2,16,29,59],[2011,4,3,2,59,59],
+          '2010100216:30:00','2010100303:00:00','2011040216:29:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,30,0],[2011,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2011,10,1,16,29,59],[2011,10,2,1,59,59],
+          '2011040216:30:00','2011040302:00:00','2011100116:29:59','2011100201:59:59' ],
+        [ [2011,10,1,16,30,0],[2011,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2012,3,31,16,29,59],[2012,4,1,2,59,59],
+          '2011100116:30:00','2011100203:00:00','2012033116:29:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,30,0],[2012,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2012,10,6,16,29,59],[2012,10,7,1,59,59],
+          '2012033116:30:00','2012040102:00:00','2012100616:29:59','2012100701:59:59' ],
+        [ [2012,10,6,16,30,0],[2012,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2013,4,6,16,29,59],[2013,4,7,2,59,59],
+          '2012100616:30:00','2012100703:00:00','2013040616:29:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,30,0],[2013,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2013,10,5,16,29,59],[2013,10,6,1,59,59],
+          '2013040616:30:00','2013040702:00:00','2013100516:29:59','2013100601:59:59' ],
+        [ [2013,10,5,16,30,0],[2013,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2014,4,5,16,29,59],[2014,4,6,2,59,59],
+          '2013100516:30:00','2013100603:00:00','2014040516:29:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,30,0],[2014,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2014,10,4,16,29,59],[2014,10,5,1,59,59],
+          '2014040516:30:00','2014040602:00:00','2014100416:29:59','2014100501:59:59' ],
+        [ [2014,10,4,16,30,0],[2014,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2015,4,4,16,29,59],[2015,4,5,2,59,59],
+          '2014100416:30:00','2014100503:00:00','2015040416:29:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,30,0],[2015,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2015,10,3,16,29,59],[2015,10,4,1,59,59],
+          '2015040416:30:00','2015040502:00:00','2015100316:29:59','2015100401:59:59' ],
+        [ [2015,10,3,16,30,0],[2015,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2016,4,2,16,29,59],[2016,4,3,2,59,59],
+          '2015100316:30:00','2015100403:00:00','2016040216:29:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,30,0],[2016,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2016,10,1,16,29,59],[2016,10,2,1,59,59],
+          '2016040216:30:00','2016040302:00:00','2016100116:29:59','2016100201:59:59' ],
+        [ [2016,10,1,16,30,0],[2016,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2017,4,1,16,29,59],[2017,4,2,2,59,59],
+          '2016100116:30:00','2016100203:00:00','2017040116:29:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,30,0],[2017,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2017,9,30,16,29,59],[2017,10,1,1,59,59],
+          '2017040116:30:00','2017040202:00:00','2017093016:29:59','2017100101:59:59' ],
+        [ [2017,9,30,16,30,0],[2017,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2018,3,31,16,29,59],[2018,4,1,2,59,59],
+          '2017093016:30:00','2017100103:00:00','2018033116:29:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,30,0],[2018,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2018,10,6,16,29,59],[2018,10,7,1,59,59],
+          '2018033116:30:00','2018040102:00:00','2018100616:29:59','2018100701:59:59' ],
+        [ [2018,10,6,16,30,0],[2018,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2019,4,6,16,29,59],[2019,4,7,2,59,59],
+          '2018100616:30:00','2018100703:00:00','2019040616:29:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,30,0],[2019,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2019,10,5,16,29,59],[2019,10,6,1,59,59],
+          '2019040616:30:00','2019040702:00:00','2019100516:29:59','2019100601:59:59' ],
+        [ [2019,10,5,16,30,0],[2019,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2020,4,4,16,29,59],[2020,4,5,2,59,59],
+          '2019100516:30:00','2019100603:00:00','2020040416:29:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,30,0],[2020,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2020,10,3,16,29,59],[2020,10,4,1,59,59],
+          '2020040416:30:00','2020040502:00:00','2020100316:29:59','2020100401:59:59' ],
+        [ [2020,10,3,16,30,0],[2020,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2021,4,3,16,29,59],[2021,4,4,2,59,59],
+          '2020100316:30:00','2020100403:00:00','2021040316:29:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,30,0],[2021,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2021,10,2,16,29,59],[2021,10,3,1,59,59],
+          '2021040316:30:00','2021040402:00:00','2021100216:29:59','2021100301:59:59' ],
+        [ [2021,10,2,16,30,0],[2021,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2022,4,2,16,29,59],[2022,4,3,2,59,59],
+          '2021100216:30:00','2021100303:00:00','2022040216:29:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,30,0],[2022,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2022,10,1,16,29,59],[2022,10,2,1,59,59],
+          '2022040216:30:00','2022040302:00:00','2022100116:29:59','2022100201:59:59' ],
+        [ [2022,10,1,16,30,0],[2022,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2023,4,1,16,29,59],[2023,4,2,2,59,59],
+          '2022100116:30:00','2022100203:00:00','2023040116:29:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,30,0],[2023,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2023,9,30,16,29,59],[2023,10,1,1,59,59],
+          '2023040116:30:00','2023040202:00:00','2023093016:29:59','2023100101:59:59' ],
+        [ [2023,9,30,16,30,0],[2023,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2024,4,6,16,29,59],[2024,4,7,2,59,59],
+          '2023093016:30:00','2023100103:00:00','2024040616:29:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,30,0],[2024,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2024,10,5,16,29,59],[2024,10,6,1,59,59],
+          '2024040616:30:00','2024040702:00:00','2024100516:29:59','2024100601:59:59' ],
+        [ [2024,10,5,16,30,0],[2024,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2025,4,5,16,29,59],[2025,4,6,2,59,59],
+          '2024100516:30:00','2024100603:00:00','2025040516:29:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,30,0],[2025,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2025,10,4,16,29,59],[2025,10,5,1,59,59],
+          '2025040516:30:00','2025040602:00:00','2025100416:29:59','2025100501:59:59' ],
+        [ [2025,10,4,16,30,0],[2025,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2026,4,4,16,29,59],[2026,4,5,2,59,59],
+          '2025100416:30:00','2025100503:00:00','2026040416:29:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,30,0],[2026,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2026,10,3,16,29,59],[2026,10,4,1,59,59],
+          '2026040416:30:00','2026040502:00:00','2026100316:29:59','2026100401:59:59' ],
+        [ [2026,10,3,16,30,0],[2026,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2027,4,3,16,29,59],[2027,4,4,2,59,59],
+          '2026100316:30:00','2026100403:00:00','2027040316:29:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,30,0],[2027,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2027,10,2,16,29,59],[2027,10,3,1,59,59],
+          '2027040316:30:00','2027040402:00:00','2027100216:29:59','2027100301:59:59' ],
+        [ [2027,10,2,16,30,0],[2027,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2028,4,1,16,29,59],[2028,4,2,2,59,59],
+          '2027100216:30:00','2027100303:00:00','2028040116:29:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,30,0],[2028,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2028,9,30,16,29,59],[2028,10,1,1,59,59],
+          '2028040116:30:00','2028040202:00:00','2028093016:29:59','2028100101:59:59' ],
+        [ [2028,9,30,16,30,0],[2028,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2029,3,31,16,29,59],[2029,4,1,2,59,59],
+          '2028093016:30:00','2028100103:00:00','2029033116:29:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,30,0],[2029,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2029,10,6,16,29,59],[2029,10,7,1,59,59],
+          '2029033116:30:00','2029040102:00:00','2029100616:29:59','2029100701:59:59' ],
+        [ [2029,10,6,16,30,0],[2029,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2030,4,6,16,29,59],[2030,4,7,2,59,59],
+          '2029100616:30:00','2029100703:00:00','2030040616:29:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,30,0],[2030,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2030,10,5,16,29,59],[2030,10,6,1,59,59],
+          '2030040616:30:00','2030040702:00:00','2030100516:29:59','2030100601:59:59' ],
+        [ [2030,10,5,16,30,0],[2030,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2031,4,5,16,29,59],[2031,4,6,2,59,59],
+          '2030100516:30:00','2030100603:00:00','2031040516:29:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,30,0],[2031,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2031,10,4,16,29,59],[2031,10,5,1,59,59],
+          '2031040516:30:00','2031040602:00:00','2031100416:29:59','2031100501:59:59' ],
+        [ [2031,10,4,16,30,0],[2031,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2032,4,3,16,29,59],[2032,4,4,2,59,59],
+          '2031100416:30:00','2031100503:00:00','2032040316:29:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,30,0],[2032,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2032,10,2,16,29,59],[2032,10,3,1,59,59],
+          '2032040316:30:00','2032040402:00:00','2032100216:29:59','2032100301:59:59' ],
+        [ [2032,10,2,16,30,0],[2032,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2033,4,2,16,29,59],[2033,4,3,2,59,59],
+          '2032100216:30:00','2032100303:00:00','2033040216:29:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,30,0],[2033,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2033,10,1,16,29,59],[2033,10,2,1,59,59],
+          '2033040216:30:00','2033040302:00:00','2033100116:29:59','2033100201:59:59' ],
+        [ [2033,10,1,16,30,0],[2033,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2034,4,1,16,29,59],[2034,4,2,2,59,59],
+          '2033100116:30:00','2033100203:00:00','2034040116:29:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,30,0],[2034,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2034,9,30,16,29,59],[2034,10,1,1,59,59],
+          '2034040116:30:00','2034040202:00:00','2034093016:29:59','2034100101:59:59' ],
+        [ [2034,9,30,16,30,0],[2034,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2035,3,31,16,29,59],[2035,4,1,2,59,59],
+          '2034093016:30:00','2034100103:00:00','2035033116:29:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,30,0],[2035,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2035,10,6,16,29,59],[2035,10,7,1,59,59],
+          '2035033116:30:00','2035040102:00:00','2035100616:29:59','2035100701:59:59' ],
+        [ [2035,10,6,16,30,0],[2035,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2036,4,5,16,29,59],[2036,4,6,2,59,59],
+          '2035100616:30:00','2035100703:00:00','2036040516:29:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,30,0],[2036,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2036,10,4,16,29,59],[2036,10,5,1,59,59],
+          '2036040516:30:00','2036040602:00:00','2036100416:29:59','2036100501:59:59' ],
+        [ [2036,10,4,16,30,0],[2036,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2037,4,4,16,29,59],[2037,4,5,2,59,59],
+          '2036100416:30:00','2036100503:00:00','2037040416:29:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,30,0],[2037,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2037,10,3,16,29,59],[2037,10,4,1,59,59],
+          '2037040416:30:00','2037040502:00:00','2037100316:29:59','2037100401:59:59' ],
+        [ [2037,10,3,16,30,0],[2037,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2038,4,3,16,29,59],[2038,4,4,2,59,59],
+          '2037100316:30:00','2037100403:00:00','2038040316:29:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,30,0],[2038,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2038,10,2,16,29,59],[2038,10,3,1,59,59],
+          '2038040316:30:00','2038040402:00:00','2038100216:29:59','2038100301:59:59' ],
+        [ [2038,10,2,16,30,0],[2038,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2039,4,2,16,29,59],[2039,4,3,2,59,59],
+          '2038100216:30:00','2038100303:00:00','2039040216:29:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,30,0],[2039,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2039,10,1,16,29,59],[2039,10,2,1,59,59],
+          '2039040216:30:00','2039040302:00:00','2039100116:29:59','2039100201:59:59' ],
+        [ [2039,10,1,16,30,0],[2039,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2040,3,31,16,29,59],[2040,4,1,2,59,59],
+          '2039100116:30:00','2039100203:00:00','2040033116:29:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,30,0],[2040,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2040,10,6,16,29,59],[2040,10,7,1,59,59],
+          '2040033116:30:00','2040040102:00:00','2040100616:29:59','2040100701:59:59' ],
+        [ [2040,10,6,16,30,0],[2040,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2041,4,6,16,29,59],[2041,4,7,2,59,59],
+          '2040100616:30:00','2040100703:00:00','2041040616:29:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,30,0],[2041,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2041,10,5,16,29,59],[2041,10,6,1,59,59],
+          '2041040616:30:00','2041040702:00:00','2041100516:29:59','2041100601:59:59' ],
+        [ [2041,10,5,16,30,0],[2041,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2042,4,5,16,29,59],[2042,4,6,2,59,59],
+          '2041100516:30:00','2041100603:00:00','2042040516:29:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,30,0],[2042,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2042,10,4,16,29,59],[2042,10,5,1,59,59],
+          '2042040516:30:00','2042040602:00:00','2042100416:29:59','2042100501:59:59' ],
+        [ [2042,10,4,16,30,0],[2042,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2043,4,4,16,29,59],[2043,4,5,2,59,59],
+          '2042100416:30:00','2042100503:00:00','2043040416:29:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,30,0],[2043,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2043,10,3,16,29,59],[2043,10,4,1,59,59],
+          '2043040416:30:00','2043040502:00:00','2043100316:29:59','2043100401:59:59' ],
+        [ [2043,10,3,16,30,0],[2043,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2044,4,2,16,29,59],[2044,4,3,2,59,59],
+          '2043100316:30:00','2043100403:00:00','2044040216:29:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,30,0],[2044,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2044,10,1,16,29,59],[2044,10,2,1,59,59],
+          '2044040216:30:00','2044040302:00:00','2044100116:29:59','2044100201:59:59' ],
+        [ [2044,10,1,16,30,0],[2044,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2045,4,1,16,29,59],[2045,4,2,2,59,59],
+          '2044100116:30:00','2044100203:00:00','2045040116:29:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,30,0],[2045,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2045,9,30,16,29,59],[2045,10,1,1,59,59],
+          '2045040116:30:00','2045040202:00:00','2045093016:29:59','2045100101:59:59' ],
+        [ [2045,9,30,16,30,0],[2045,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2046,3,31,16,29,59],[2046,4,1,2,59,59],
+          '2045093016:30:00','2045100103:00:00','2046033116:29:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,30,0],[2046,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2046,10,6,16,29,59],[2046,10,7,1,59,59],
+          '2046033116:30:00','2046040102:00:00','2046100616:29:59','2046100701:59:59' ],
+        [ [2046,10,6,16,30,0],[2046,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2047,4,6,16,29,59],[2047,4,7,2,59,59],
+          '2046100616:30:00','2046100703:00:00','2047040616:29:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,30,0],[2047,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2047,10,5,16,29,59],[2047,10,6,1,59,59],
+          '2047040616:30:00','2047040702:00:00','2047100516:29:59','2047100601:59:59' ],
+        [ [2047,10,5,16,30,0],[2047,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2048,4,4,16,29,59],[2048,4,5,2,59,59],
+          '2047100516:30:00','2047100603:00:00','2048040416:29:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,30,0],[2048,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2048,10,3,16,29,59],[2048,10,4,1,59,59],
+          '2048040416:30:00','2048040502:00:00','2048100316:29:59','2048100401:59:59' ],
+        [ [2048,10,3,16,30,0],[2048,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2049,4,3,16,29,59],[2049,4,4,2,59,59],
+          '2048100316:30:00','2048100403:00:00','2049040316:29:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,30,0],[2049,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2049,10,2,16,29,59],[2049,10,3,1,59,59],
+          '2049040316:30:00','2049040402:00:00','2049100216:29:59','2049100301:59:59' ],
+        [ [2049,10,2,16,30,0],[2049,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2050,4,2,16,29,59],[2050,4,3,2,59,59],
+          '2049100216:30:00','2049100303:00:00','2050040216:29:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,30,0],[2050,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2050,10,1,16,29,59],[2050,10,2,1,59,59],
+          '2050040216:30:00','2050040302:00:00','2050100116:29:59','2050100201:59:59' ],
+        [ [2050,10,1,16,30,0],[2050,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2051,4,1,16,29,59],[2051,4,2,2,59,59],
+          '2050100116:30:00','2050100203:00:00','2051040116:29:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,30,0],[2051,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2051,9,30,16,29,59],[2051,10,1,1,59,59],
+          '2051040116:30:00','2051040202:00:00','2051093016:29:59','2051100101:59:59' ],
+        [ [2051,9,30,16,30,0],[2051,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2052,4,6,16,29,59],[2052,4,7,2,59,59],
+          '2051093016:30:00','2051100103:00:00','2052040616:29:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,30,0],[2052,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2052,10,5,16,29,59],[2052,10,6,1,59,59],
+          '2052040616:30:00','2052040702:00:00','2052100516:29:59','2052100601:59:59' ],
+        [ [2052,10,5,16,30,0],[2052,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2053,4,5,16,29,59],[2053,4,6,2,59,59],
+          '2052100516:30:00','2052100603:00:00','2053040516:29:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,30,0],[2053,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2053,10,4,16,29,59],[2053,10,5,1,59,59],
+          '2053040516:30:00','2053040602:00:00','2053100416:29:59','2053100501:59:59' ],
+        [ [2053,10,4,16,30,0],[2053,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2054,4,4,16,29,59],[2054,4,5,2,59,59],
+          '2053100416:30:00','2053100503:00:00','2054040416:29:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,30,0],[2054,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2054,10,3,16,29,59],[2054,10,4,1,59,59],
+          '2054040416:30:00','2054040502:00:00','2054100316:29:59','2054100401:59:59' ],
+        [ [2054,10,3,16,30,0],[2054,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2055,4,3,16,29,59],[2055,4,4,2,59,59],
+          '2054100316:30:00','2054100403:00:00','2055040316:29:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,30,0],[2055,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2055,10,2,16,29,59],[2055,10,3,1,59,59],
+          '2055040316:30:00','2055040402:00:00','2055100216:29:59','2055100301:59:59' ],
+        [ [2055,10,2,16,30,0],[2055,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2056,4,1,16,29,59],[2056,4,2,2,59,59],
+          '2055100216:30:00','2055100303:00:00','2056040116:29:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,30,0],[2056,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2056,9,30,16,29,59],[2056,10,1,1,59,59],
+          '2056040116:30:00','2056040202:00:00','2056093016:29:59','2056100101:59:59' ],
+        [ [2056,9,30,16,30,0],[2056,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2057,3,31,16,29,59],[2057,4,1,2,59,59],
+          '2056093016:30:00','2056100103:00:00','2057033116:29:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,30,0],[2057,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2057,10,6,16,29,59],[2057,10,7,1,59,59],
+          '2057033116:30:00','2057040102:00:00','2057100616:29:59','2057100701:59:59' ],
+        [ [2057,10,6,16,30,0],[2057,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2058,4,6,16,29,59],[2058,4,7,2,59,59],
+          '2057100616:30:00','2057100703:00:00','2058040616:29:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,30,0],[2058,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2058,10,5,16,29,59],[2058,10,6,1,59,59],
+          '2058040616:30:00','2058040702:00:00','2058100516:29:59','2058100601:59:59' ],
+        [ [2058,10,5,16,30,0],[2058,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2059,4,5,16,29,59],[2059,4,6,2,59,59],
+          '2058100516:30:00','2058100603:00:00','2059040516:29:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,30,0],[2059,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2059,10,4,16,29,59],[2059,10,5,1,59,59],
+          '2059040516:30:00','2059040602:00:00','2059100416:29:59','2059100501:59:59' ],
+        [ [2059,10,4,16,30,0],[2059,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2060,4,3,16,29,59],[2060,4,4,2,59,59],
+          '2059100416:30:00','2059100503:00:00','2060040316:29:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,30,0],[2060,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2060,10,2,16,29,59],[2060,10,3,1,59,59],
+          '2060040316:30:00','2060040402:00:00','2060100216:29:59','2060100301:59:59' ],
+        [ [2060,10,2,16,30,0],[2060,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2061,4,2,16,29,59],[2061,4,3,2,59,59],
+          '2060100216:30:00','2060100303:00:00','2061040216:29:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,30,0],[2061,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2061,10,1,16,29,59],[2061,10,2,1,59,59],
+          '2061040216:30:00','2061040302:00:00','2061100116:29:59','2061100201:59:59' ],
+        [ [2061,10,1,16,30,0],[2061,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2062,4,1,16,29,59],[2062,4,2,2,59,59],
+          '2061100116:30:00','2061100203:00:00','2062040116:29:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,30,0],[2062,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2062,9,30,16,29,59],[2062,10,1,1,59,59],
+          '2062040116:30:00','2062040202:00:00','2062093016:29:59','2062100101:59:59' ],
+        [ [2062,9,30,16,30,0],[2062,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2063,3,31,16,29,59],[2063,4,1,2,59,59],
+          '2062093016:30:00','2062100103:00:00','2063033116:29:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,30,0],[2063,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2063,10,6,16,29,59],[2063,10,7,1,59,59],
+          '2063033116:30:00','2063040102:00:00','2063100616:29:59','2063100701:59:59' ],
+        [ [2063,10,6,16,30,0],[2063,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2064,4,5,16,29,59],[2064,4,6,2,59,59],
+          '2063100616:30:00','2063100703:00:00','2064040516:29:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,30,0],[2064,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2064,10,4,16,29,59],[2064,10,5,1,59,59],
+          '2064040516:30:00','2064040602:00:00','2064100416:29:59','2064100501:59:59' ],
+        [ [2064,10,4,16,30,0],[2064,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2065,4,4,16,29,59],[2065,4,5,2,59,59],
+          '2064100416:30:00','2064100503:00:00','2065040416:29:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,30,0],[2065,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2065,10,3,16,29,59],[2065,10,4,1,59,59],
+          '2065040416:30:00','2065040502:00:00','2065100316:29:59','2065100401:59:59' ],
+        [ [2065,10,3,16,30,0],[2065,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2066,4,3,16,29,59],[2066,4,4,2,59,59],
+          '2065100316:30:00','2065100403:00:00','2066040316:29:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,30,0],[2066,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2066,10,2,16,29,59],[2066,10,3,1,59,59],
+          '2066040316:30:00','2066040402:00:00','2066100216:29:59','2066100301:59:59' ],
+        [ [2066,10,2,16,30,0],[2066,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2067,4,2,16,29,59],[2067,4,3,2,59,59],
+          '2066100216:30:00','2066100303:00:00','2067040216:29:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,30,0],[2067,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2067,10,1,16,29,59],[2067,10,2,1,59,59],
+          '2067040216:30:00','2067040302:00:00','2067100116:29:59','2067100201:59:59' ],
+        [ [2067,10,1,16,30,0],[2067,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2068,3,31,16,29,59],[2068,4,1,2,59,59],
+          '2067100116:30:00','2067100203:00:00','2068033116:29:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+10:30:00',
+                'stdoff' => '+09:30:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'ACST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ACDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aubris00.pm b/lib/Date/Manip/TZ/aubris00.pm
new file mode 100644
index 0000000..dfe1f87
--- /dev/null
+++ b/lib/Date/Manip/TZ/aubris00.pm
@@ -0,0 +1,133 @@
+package #
+Date::Manip::TZ::aubris00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,12,8],'+10:12:08',[10,12,8],
+          'LMT',0,[1894,12,31,13,47,51],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010210:12:08','1894123113:47:51','1894123123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,12,31,13,47,52],[1894,12,31,23,47,52],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,12,31,14,0,59],[1917,1,1,0,0,59],
+          '1894123113:47:52','1894123123:47:52','1916123114:00:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,1,0],[1917,1,1,1,1,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916123114:01:00','1917010101:01:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1971103015:59:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1989102815:59:59','1989102901:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,3,15,59,59],[1990,3,4,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990030315:59:59','1990030402:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,3,16,0,0],[1990,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990030316:00:00','1990030402:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,2,15,59,59],[1991,3,3,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991030215:59:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,0,0],[1991,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,26,15,59,59],[1991,10,27,1,59,59],
+          '1991030216:00:00','1991030302:00:00','1991102615:59:59','1991102701:59:59' ],
+        [ [1991,10,26,16,0,0],[1991,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,2,29,15,59,59],[1992,3,1,2,59,59],
+          '1991102616:00:00','1991102703:00:00','1992022915:59:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,16,0,0],[1992,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '1992022916:00:00','1992030102:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aubrok00.pm b/lib/Date/Manip/TZ/aubrok00.pm
new file mode 100644
index 0000000..bfa141d
--- /dev/null
+++ b/lib/Date/Manip/TZ/aubrok00.pm
@@ -0,0 +1,997 @@
+package #
+Date::Manip::TZ::aubrok00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,25,48],'+09:25:48',[9,25,48],
+          'LMT',0,[1895,1,31,14,34,11],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010209:25:48','1895013114:34:11','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,14,34,12],[1895,2,1,0,34,12],'+10:00:00',[10,0,0],
+          'AEST',0,[1896,8,22,13,59,59],[1896,8,22,23,59,59],
+          '1895013114:34:12','1895020100:34:12','1896082213:59:59','1896082223:59:59' ],
+     ],
+   1896 =>
+     [
+        [ [1896,8,22,14,0,0],[1896,8,22,23,0,0],'+09:00:00',[9,0,0],
+          'ACST',0,[1899,4,30,14,59,59],[1899,4,30,23,59,59],
+          '1896082214:00:00','1896082223:00:00','1899043014:59:59','1899043023:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,4,30,15,0,0],[1899,5,1,0,30,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1916,12,31,14,30,59],[1917,1,1,0,0,59],
+          '1899043015:00:00','1899050100:30:00','1916123114:30:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,31,0],[1917,1,1,1,1,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1917,3,24,15,29,59],[1917,3,25,1,59,59],
+          '1916123114:31:00','1917010101:01:00','1917032415:29:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,30,0],[1917,3,25,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1941,12,31,16,29,59],[1942,1,1,1,59,59],
+          '1917032415:30:00','1917032501:00:00','1941123116:29:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,30,0],[1942,1,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1942,3,28,15,29,59],[1942,3,29,1,59,59],
+          '1941123116:30:00','1942010103:00:00','1942032815:29:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,30,0],[1942,3,29,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1942,9,26,16,29,59],[1942,9,27,1,59,59],
+          '1942032815:30:00','1942032901:00:00','1942092616:29:59','1942092701:59:59' ],
+        [ [1942,9,26,16,30,0],[1942,9,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1943,3,27,15,29,59],[1943,3,28,1,59,59],
+          '1942092616:30:00','1942092703:00:00','1943032715:29:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,30,0],[1943,3,28,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1943,10,2,16,29,59],[1943,10,3,1,59,59],
+          '1943032715:30:00','1943032801:00:00','1943100216:29:59','1943100301:59:59' ],
+        [ [1943,10,2,16,30,0],[1943,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1944,3,25,15,29,59],[1944,3,26,1,59,59],
+          '1943100216:30:00','1943100303:00:00','1944032515:29:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,30,0],[1944,3,26,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1971,10,30,16,29,59],[1971,10,31,1,59,59],
+          '1944032515:30:00','1944032601:00:00','1971103016:29:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,30,0],[1971,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1972,2,26,16,29,59],[1972,2,27,2,59,59],
+          '1971103016:30:00','1971103103:00:00','1972022616:29:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,30,0],[1972,2,27,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1972,10,28,16,29,59],[1972,10,29,1,59,59],
+          '1972022616:30:00','1972022702:00:00','1972102816:29:59','1972102901:59:59' ],
+        [ [1972,10,28,16,30,0],[1972,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1973,3,3,16,29,59],[1973,3,4,2,59,59],
+          '1972102816:30:00','1972102903:00:00','1973030316:29:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,30,0],[1973,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1973,10,27,16,29,59],[1973,10,28,1,59,59],
+          '1973030316:30:00','1973030402:00:00','1973102716:29:59','1973102801:59:59' ],
+        [ [1973,10,27,16,30,0],[1973,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1974,3,2,16,29,59],[1974,3,3,2,59,59],
+          '1973102716:30:00','1973102803:00:00','1974030216:29:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,30,0],[1974,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1974,10,26,16,29,59],[1974,10,27,1,59,59],
+          '1974030216:30:00','1974030302:00:00','1974102616:29:59','1974102701:59:59' ],
+        [ [1974,10,26,16,30,0],[1974,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1975,3,1,16,29,59],[1975,3,2,2,59,59],
+          '1974102616:30:00','1974102703:00:00','1975030116:29:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,30,0],[1975,3,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1975,10,25,16,29,59],[1975,10,26,1,59,59],
+          '1975030116:30:00','1975030202:00:00','1975102516:29:59','1975102601:59:59' ],
+        [ [1975,10,25,16,30,0],[1975,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1976,3,6,16,29,59],[1976,3,7,2,59,59],
+          '1975102516:30:00','1975102603:00:00','1976030616:29:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,30,0],[1976,3,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1976,10,30,16,29,59],[1976,10,31,1,59,59],
+          '1976030616:30:00','1976030702:00:00','1976103016:29:59','1976103101:59:59' ],
+        [ [1976,10,30,16,30,0],[1976,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1977,3,5,16,29,59],[1977,3,6,2,59,59],
+          '1976103016:30:00','1976103103:00:00','1977030516:29:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,30,0],[1977,3,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1977,10,29,16,29,59],[1977,10,30,1,59,59],
+          '1977030516:30:00','1977030602:00:00','1977102916:29:59','1977103001:59:59' ],
+        [ [1977,10,29,16,30,0],[1977,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1978,3,4,16,29,59],[1978,3,5,2,59,59],
+          '1977102916:30:00','1977103003:00:00','1978030416:29:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,30,0],[1978,3,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1978,10,28,16,29,59],[1978,10,29,1,59,59],
+          '1978030416:30:00','1978030502:00:00','1978102816:29:59','1978102901:59:59' ],
+        [ [1978,10,28,16,30,0],[1978,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1979,3,3,16,29,59],[1979,3,4,2,59,59],
+          '1978102816:30:00','1978102903:00:00','1979030316:29:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,30,0],[1979,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1979,10,27,16,29,59],[1979,10,28,1,59,59],
+          '1979030316:30:00','1979030402:00:00','1979102716:29:59','1979102801:59:59' ],
+        [ [1979,10,27,16,30,0],[1979,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1980,3,1,16,29,59],[1980,3,2,2,59,59],
+          '1979102716:30:00','1979102803:00:00','1980030116:29:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,30,0],[1980,3,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1980,10,25,16,29,59],[1980,10,26,1,59,59],
+          '1980030116:30:00','1980030202:00:00','1980102516:29:59','1980102601:59:59' ],
+        [ [1980,10,25,16,30,0],[1980,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1981,2,28,16,29,59],[1981,3,1,2,59,59],
+          '1980102516:30:00','1980102603:00:00','1981022816:29:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,30,0],[1981,3,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1981,10,24,16,29,59],[1981,10,25,1,59,59],
+          '1981022816:30:00','1981030102:00:00','1981102416:29:59','1981102501:59:59' ],
+        [ [1981,10,24,16,30,0],[1981,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1982,4,3,16,29,59],[1982,4,4,2,59,59],
+          '1981102416:30:00','1981102503:00:00','1982040316:29:59','1982040402:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,3,16,30,0],[1982,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1982,10,30,16,29,59],[1982,10,31,1,59,59],
+          '1982040316:30:00','1982040402:00:00','1982103016:29:59','1982103101:59:59' ],
+        [ [1982,10,30,16,30,0],[1982,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1983,3,5,16,29,59],[1983,3,6,2,59,59],
+          '1982103016:30:00','1982103103:00:00','1983030516:29:59','1983030602:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,16,30,0],[1983,3,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1983,10,29,16,29,59],[1983,10,30,1,59,59],
+          '1983030516:30:00','1983030602:00:00','1983102916:29:59','1983103001:59:59' ],
+        [ [1983,10,29,16,30,0],[1983,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1984,3,3,16,29,59],[1984,3,4,2,59,59],
+          '1983102916:30:00','1983103003:00:00','1984030316:29:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,30,0],[1984,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1984,10,27,16,29,59],[1984,10,28,1,59,59],
+          '1984030316:30:00','1984030402:00:00','1984102716:29:59','1984102801:59:59' ],
+        [ [1984,10,27,16,30,0],[1984,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1985,3,2,16,29,59],[1985,3,3,2,59,59],
+          '1984102716:30:00','1984102803:00:00','1985030216:29:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,30,0],[1985,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1985,10,26,16,29,59],[1985,10,27,1,59,59],
+          '1985030216:30:00','1985030302:00:00','1985102616:29:59','1985102701:59:59' ],
+        [ [1985,10,26,16,30,0],[1985,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1986,3,15,16,29,59],[1986,3,16,2,59,59],
+          '1985102616:30:00','1985102703:00:00','1986031516:29:59','1986031602:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,16,30,0],[1986,3,16,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1986,10,18,16,29,59],[1986,10,19,1,59,59],
+          '1986031516:30:00','1986031602:00:00','1986101816:29:59','1986101901:59:59' ],
+        [ [1986,10,18,16,30,0],[1986,10,19,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1987,3,14,16,29,59],[1987,3,15,2,59,59],
+          '1986101816:30:00','1986101903:00:00','1987031416:29:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,30,0],[1987,3,15,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1987,10,24,16,29,59],[1987,10,25,1,59,59],
+          '1987031416:30:00','1987031502:00:00','1987102416:29:59','1987102501:59:59' ],
+        [ [1987,10,24,16,30,0],[1987,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1988,3,19,16,29,59],[1988,3,20,2,59,59],
+          '1987102416:30:00','1987102503:00:00','1988031916:29:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,30,0],[1988,3,20,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1988,10,29,16,29,59],[1988,10,30,1,59,59],
+          '1988031916:30:00','1988032002:00:00','1988102916:29:59','1988103001:59:59' ],
+        [ [1988,10,29,16,30,0],[1988,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1989,3,18,16,29,59],[1989,3,19,2,59,59],
+          '1988102916:30:00','1988103003:00:00','1989031816:29:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,30,0],[1989,3,19,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1989,10,28,16,29,59],[1989,10,29,1,59,59],
+          '1989031816:30:00','1989031902:00:00','1989102816:29:59','1989102901:59:59' ],
+        [ [1989,10,28,16,30,0],[1989,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1990,3,3,16,29,59],[1990,3,4,2,59,59],
+          '1989102816:30:00','1989102903:00:00','1990030316:29:59','1990030402:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,3,16,30,0],[1990,3,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1990,10,27,16,29,59],[1990,10,28,1,59,59],
+          '1990030316:30:00','1990030402:00:00','1990102716:29:59','1990102801:59:59' ],
+        [ [1990,10,27,16,30,0],[1990,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1991,3,2,16,29,59],[1991,3,3,2,59,59],
+          '1990102716:30:00','1990102803:00:00','1991030216:29:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,30,0],[1991,3,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1991,10,26,16,29,59],[1991,10,27,1,59,59],
+          '1991030216:30:00','1991030302:00:00','1991102616:29:59','1991102701:59:59' ],
+        [ [1991,10,26,16,30,0],[1991,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1992,2,29,16,29,59],[1992,3,1,2,59,59],
+          '1991102616:30:00','1991102703:00:00','1992022916:29:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,16,30,0],[1992,3,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1992,10,24,16,29,59],[1992,10,25,1,59,59],
+          '1992022916:30:00','1992030102:00:00','1992102416:29:59','1992102501:59:59' ],
+        [ [1992,10,24,16,30,0],[1992,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1993,3,6,16,29,59],[1993,3,7,2,59,59],
+          '1992102416:30:00','1992102503:00:00','1993030616:29:59','1993030702:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,16,30,0],[1993,3,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1993,10,30,16,29,59],[1993,10,31,1,59,59],
+          '1993030616:30:00','1993030702:00:00','1993103016:29:59','1993103101:59:59' ],
+        [ [1993,10,30,16,30,0],[1993,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1994,3,5,16,29,59],[1994,3,6,2,59,59],
+          '1993103016:30:00','1993103103:00:00','1994030516:29:59','1994030602:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,5,16,30,0],[1994,3,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1994,10,29,16,29,59],[1994,10,30,1,59,59],
+          '1994030516:30:00','1994030602:00:00','1994102916:29:59','1994103001:59:59' ],
+        [ [1994,10,29,16,30,0],[1994,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1995,3,4,16,29,59],[1995,3,5,2,59,59],
+          '1994102916:30:00','1994103003:00:00','1995030416:29:59','1995030502:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,4,16,30,0],[1995,3,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1995,10,28,16,29,59],[1995,10,29,1,59,59],
+          '1995030416:30:00','1995030502:00:00','1995102816:29:59','1995102901:59:59' ],
+        [ [1995,10,28,16,30,0],[1995,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1996,3,30,16,29,59],[1996,3,31,2,59,59],
+          '1995102816:30:00','1995102903:00:00','1996033016:29:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,30,0],[1996,3,31,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1996,10,26,16,29,59],[1996,10,27,1,59,59],
+          '1996033016:30:00','1996033102:00:00','1996102616:29:59','1996102701:59:59' ],
+        [ [1996,10,26,16,30,0],[1996,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1997,3,29,16,29,59],[1997,3,30,2,59,59],
+          '1996102616:30:00','1996102703:00:00','1997032916:29:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,30,0],[1997,3,30,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1997,10,25,16,29,59],[1997,10,26,1,59,59],
+          '1997032916:30:00','1997033002:00:00','1997102516:29:59','1997102601:59:59' ],
+        [ [1997,10,25,16,30,0],[1997,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1998,3,28,16,29,59],[1998,3,29,2,59,59],
+          '1997102516:30:00','1997102603:00:00','1998032816:29:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,30,0],[1998,3,29,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1998,10,24,16,29,59],[1998,10,25,1,59,59],
+          '1998032816:30:00','1998032902:00:00','1998102416:29:59','1998102501:59:59' ],
+        [ [1998,10,24,16,30,0],[1998,10,25,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1999,3,27,16,29,59],[1999,3,28,2,59,59],
+          '1998102416:30:00','1998102503:00:00','1999032716:29:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,30,0],[1999,3,28,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1999,10,30,16,29,59],[1999,10,31,1,59,59],
+          '1999032716:30:00','1999032802:00:00','1999103016:29:59','1999103101:59:59' ],
+        [ [1999,10,30,16,30,0],[1999,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2000,3,25,16,29,59],[2000,3,26,2,59,59],
+          '1999103016:30:00','1999103103:00:00','2000032516:29:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,30,0],[2000,3,26,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2000,10,28,16,29,59],[2000,10,29,1,59,59],
+          '2000032516:30:00','2000032602:00:00','2000102816:29:59','2000102901:59:59' ],
+        [ [2000,10,28,16,30,0],[2000,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2001,3,24,16,29,59],[2001,3,25,2,59,59],
+          '2000102816:30:00','2000102903:00:00','2001032416:29:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,30,0],[2001,3,25,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2001,10,27,16,29,59],[2001,10,28,1,59,59],
+          '2001032416:30:00','2001032502:00:00','2001102716:29:59','2001102801:59:59' ],
+        [ [2001,10,27,16,30,0],[2001,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2002,3,30,16,29,59],[2002,3,31,2,59,59],
+          '2001102716:30:00','2001102803:00:00','2002033016:29:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,30,0],[2002,3,31,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2002,10,26,16,29,59],[2002,10,27,1,59,59],
+          '2002033016:30:00','2002033102:00:00','2002102616:29:59','2002102701:59:59' ],
+        [ [2002,10,26,16,30,0],[2002,10,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2003,3,29,16,29,59],[2003,3,30,2,59,59],
+          '2002102616:30:00','2002102703:00:00','2003032916:29:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,30,0],[2003,3,30,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2003,10,25,16,29,59],[2003,10,26,1,59,59],
+          '2003032916:30:00','2003033002:00:00','2003102516:29:59','2003102601:59:59' ],
+        [ [2003,10,25,16,30,0],[2003,10,26,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2004,3,27,16,29,59],[2004,3,28,2,59,59],
+          '2003102516:30:00','2003102603:00:00','2004032716:29:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,30,0],[2004,3,28,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2004,10,30,16,29,59],[2004,10,31,1,59,59],
+          '2004032716:30:00','2004032802:00:00','2004103016:29:59','2004103101:59:59' ],
+        [ [2004,10,30,16,30,0],[2004,10,31,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2005,3,26,16,29,59],[2005,3,27,2,59,59],
+          '2004103016:30:00','2004103103:00:00','2005032616:29:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,30,0],[2005,3,27,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2005,10,29,16,29,59],[2005,10,30,1,59,59],
+          '2005032616:30:00','2005032702:00:00','2005102916:29:59','2005103001:59:59' ],
+        [ [2005,10,29,16,30,0],[2005,10,30,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2006,4,1,16,29,59],[2006,4,2,2,59,59],
+          '2005102916:30:00','2005103003:00:00','2006040116:29:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,30,0],[2006,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2006,10,28,16,29,59],[2006,10,29,1,59,59],
+          '2006040116:30:00','2006040202:00:00','2006102816:29:59','2006102901:59:59' ],
+        [ [2006,10,28,16,30,0],[2006,10,29,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2007,3,24,16,29,59],[2007,3,25,2,59,59],
+          '2006102816:30:00','2006102903:00:00','2007032416:29:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,30,0],[2007,3,25,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2007,10,27,16,29,59],[2007,10,28,1,59,59],
+          '2007032416:30:00','2007032502:00:00','2007102716:29:59','2007102801:59:59' ],
+        [ [2007,10,27,16,30,0],[2007,10,28,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2008,4,5,16,29,59],[2008,4,6,2,59,59],
+          '2007102716:30:00','2007102803:00:00','2008040516:29:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,30,0],[2008,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2008,10,4,16,29,59],[2008,10,5,1,59,59],
+          '2008040516:30:00','2008040602:00:00','2008100416:29:59','2008100501:59:59' ],
+        [ [2008,10,4,16,30,0],[2008,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2009,4,4,16,29,59],[2009,4,5,2,59,59],
+          '2008100416:30:00','2008100503:00:00','2009040416:29:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,30,0],[2009,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2009,10,3,16,29,59],[2009,10,4,1,59,59],
+          '2009040416:30:00','2009040502:00:00','2009100316:29:59','2009100401:59:59' ],
+        [ [2009,10,3,16,30,0],[2009,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2010,4,3,16,29,59],[2010,4,4,2,59,59],
+          '2009100316:30:00','2009100403:00:00','2010040316:29:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,30,0],[2010,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2010,10,2,16,29,59],[2010,10,3,1,59,59],
+          '2010040316:30:00','2010040402:00:00','2010100216:29:59','2010100301:59:59' ],
+        [ [2010,10,2,16,30,0],[2010,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2011,4,2,16,29,59],[2011,4,3,2,59,59],
+          '2010100216:30:00','2010100303:00:00','2011040216:29:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,30,0],[2011,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2011,10,1,16,29,59],[2011,10,2,1,59,59],
+          '2011040216:30:00','2011040302:00:00','2011100116:29:59','2011100201:59:59' ],
+        [ [2011,10,1,16,30,0],[2011,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2012,3,31,16,29,59],[2012,4,1,2,59,59],
+          '2011100116:30:00','2011100203:00:00','2012033116:29:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,30,0],[2012,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2012,10,6,16,29,59],[2012,10,7,1,59,59],
+          '2012033116:30:00','2012040102:00:00','2012100616:29:59','2012100701:59:59' ],
+        [ [2012,10,6,16,30,0],[2012,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2013,4,6,16,29,59],[2013,4,7,2,59,59],
+          '2012100616:30:00','2012100703:00:00','2013040616:29:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,30,0],[2013,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2013,10,5,16,29,59],[2013,10,6,1,59,59],
+          '2013040616:30:00','2013040702:00:00','2013100516:29:59','2013100601:59:59' ],
+        [ [2013,10,5,16,30,0],[2013,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2014,4,5,16,29,59],[2014,4,6,2,59,59],
+          '2013100516:30:00','2013100603:00:00','2014040516:29:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,30,0],[2014,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2014,10,4,16,29,59],[2014,10,5,1,59,59],
+          '2014040516:30:00','2014040602:00:00','2014100416:29:59','2014100501:59:59' ],
+        [ [2014,10,4,16,30,0],[2014,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2015,4,4,16,29,59],[2015,4,5,2,59,59],
+          '2014100416:30:00','2014100503:00:00','2015040416:29:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,30,0],[2015,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2015,10,3,16,29,59],[2015,10,4,1,59,59],
+          '2015040416:30:00','2015040502:00:00','2015100316:29:59','2015100401:59:59' ],
+        [ [2015,10,3,16,30,0],[2015,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2016,4,2,16,29,59],[2016,4,3,2,59,59],
+          '2015100316:30:00','2015100403:00:00','2016040216:29:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,30,0],[2016,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2016,10,1,16,29,59],[2016,10,2,1,59,59],
+          '2016040216:30:00','2016040302:00:00','2016100116:29:59','2016100201:59:59' ],
+        [ [2016,10,1,16,30,0],[2016,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2017,4,1,16,29,59],[2017,4,2,2,59,59],
+          '2016100116:30:00','2016100203:00:00','2017040116:29:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,30,0],[2017,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2017,9,30,16,29,59],[2017,10,1,1,59,59],
+          '2017040116:30:00','2017040202:00:00','2017093016:29:59','2017100101:59:59' ],
+        [ [2017,9,30,16,30,0],[2017,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2018,3,31,16,29,59],[2018,4,1,2,59,59],
+          '2017093016:30:00','2017100103:00:00','2018033116:29:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,30,0],[2018,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2018,10,6,16,29,59],[2018,10,7,1,59,59],
+          '2018033116:30:00','2018040102:00:00','2018100616:29:59','2018100701:59:59' ],
+        [ [2018,10,6,16,30,0],[2018,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2019,4,6,16,29,59],[2019,4,7,2,59,59],
+          '2018100616:30:00','2018100703:00:00','2019040616:29:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,30,0],[2019,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2019,10,5,16,29,59],[2019,10,6,1,59,59],
+          '2019040616:30:00','2019040702:00:00','2019100516:29:59','2019100601:59:59' ],
+        [ [2019,10,5,16,30,0],[2019,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2020,4,4,16,29,59],[2020,4,5,2,59,59],
+          '2019100516:30:00','2019100603:00:00','2020040416:29:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,30,0],[2020,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2020,10,3,16,29,59],[2020,10,4,1,59,59],
+          '2020040416:30:00','2020040502:00:00','2020100316:29:59','2020100401:59:59' ],
+        [ [2020,10,3,16,30,0],[2020,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2021,4,3,16,29,59],[2021,4,4,2,59,59],
+          '2020100316:30:00','2020100403:00:00','2021040316:29:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,30,0],[2021,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2021,10,2,16,29,59],[2021,10,3,1,59,59],
+          '2021040316:30:00','2021040402:00:00','2021100216:29:59','2021100301:59:59' ],
+        [ [2021,10,2,16,30,0],[2021,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2022,4,2,16,29,59],[2022,4,3,2,59,59],
+          '2021100216:30:00','2021100303:00:00','2022040216:29:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,30,0],[2022,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2022,10,1,16,29,59],[2022,10,2,1,59,59],
+          '2022040216:30:00','2022040302:00:00','2022100116:29:59','2022100201:59:59' ],
+        [ [2022,10,1,16,30,0],[2022,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2023,4,1,16,29,59],[2023,4,2,2,59,59],
+          '2022100116:30:00','2022100203:00:00','2023040116:29:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,30,0],[2023,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2023,9,30,16,29,59],[2023,10,1,1,59,59],
+          '2023040116:30:00','2023040202:00:00','2023093016:29:59','2023100101:59:59' ],
+        [ [2023,9,30,16,30,0],[2023,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2024,4,6,16,29,59],[2024,4,7,2,59,59],
+          '2023093016:30:00','2023100103:00:00','2024040616:29:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,30,0],[2024,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2024,10,5,16,29,59],[2024,10,6,1,59,59],
+          '2024040616:30:00','2024040702:00:00','2024100516:29:59','2024100601:59:59' ],
+        [ [2024,10,5,16,30,0],[2024,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2025,4,5,16,29,59],[2025,4,6,2,59,59],
+          '2024100516:30:00','2024100603:00:00','2025040516:29:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,30,0],[2025,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2025,10,4,16,29,59],[2025,10,5,1,59,59],
+          '2025040516:30:00','2025040602:00:00','2025100416:29:59','2025100501:59:59' ],
+        [ [2025,10,4,16,30,0],[2025,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2026,4,4,16,29,59],[2026,4,5,2,59,59],
+          '2025100416:30:00','2025100503:00:00','2026040416:29:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,30,0],[2026,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2026,10,3,16,29,59],[2026,10,4,1,59,59],
+          '2026040416:30:00','2026040502:00:00','2026100316:29:59','2026100401:59:59' ],
+        [ [2026,10,3,16,30,0],[2026,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2027,4,3,16,29,59],[2027,4,4,2,59,59],
+          '2026100316:30:00','2026100403:00:00','2027040316:29:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,30,0],[2027,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2027,10,2,16,29,59],[2027,10,3,1,59,59],
+          '2027040316:30:00','2027040402:00:00','2027100216:29:59','2027100301:59:59' ],
+        [ [2027,10,2,16,30,0],[2027,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2028,4,1,16,29,59],[2028,4,2,2,59,59],
+          '2027100216:30:00','2027100303:00:00','2028040116:29:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,30,0],[2028,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2028,9,30,16,29,59],[2028,10,1,1,59,59],
+          '2028040116:30:00','2028040202:00:00','2028093016:29:59','2028100101:59:59' ],
+        [ [2028,9,30,16,30,0],[2028,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2029,3,31,16,29,59],[2029,4,1,2,59,59],
+          '2028093016:30:00','2028100103:00:00','2029033116:29:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,30,0],[2029,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2029,10,6,16,29,59],[2029,10,7,1,59,59],
+          '2029033116:30:00','2029040102:00:00','2029100616:29:59','2029100701:59:59' ],
+        [ [2029,10,6,16,30,0],[2029,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2030,4,6,16,29,59],[2030,4,7,2,59,59],
+          '2029100616:30:00','2029100703:00:00','2030040616:29:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,30,0],[2030,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2030,10,5,16,29,59],[2030,10,6,1,59,59],
+          '2030040616:30:00','2030040702:00:00','2030100516:29:59','2030100601:59:59' ],
+        [ [2030,10,5,16,30,0],[2030,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2031,4,5,16,29,59],[2031,4,6,2,59,59],
+          '2030100516:30:00','2030100603:00:00','2031040516:29:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,30,0],[2031,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2031,10,4,16,29,59],[2031,10,5,1,59,59],
+          '2031040516:30:00','2031040602:00:00','2031100416:29:59','2031100501:59:59' ],
+        [ [2031,10,4,16,30,0],[2031,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2032,4,3,16,29,59],[2032,4,4,2,59,59],
+          '2031100416:30:00','2031100503:00:00','2032040316:29:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,30,0],[2032,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2032,10,2,16,29,59],[2032,10,3,1,59,59],
+          '2032040316:30:00','2032040402:00:00','2032100216:29:59','2032100301:59:59' ],
+        [ [2032,10,2,16,30,0],[2032,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2033,4,2,16,29,59],[2033,4,3,2,59,59],
+          '2032100216:30:00','2032100303:00:00','2033040216:29:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,30,0],[2033,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2033,10,1,16,29,59],[2033,10,2,1,59,59],
+          '2033040216:30:00','2033040302:00:00','2033100116:29:59','2033100201:59:59' ],
+        [ [2033,10,1,16,30,0],[2033,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2034,4,1,16,29,59],[2034,4,2,2,59,59],
+          '2033100116:30:00','2033100203:00:00','2034040116:29:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,30,0],[2034,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2034,9,30,16,29,59],[2034,10,1,1,59,59],
+          '2034040116:30:00','2034040202:00:00','2034093016:29:59','2034100101:59:59' ],
+        [ [2034,9,30,16,30,0],[2034,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2035,3,31,16,29,59],[2035,4,1,2,59,59],
+          '2034093016:30:00','2034100103:00:00','2035033116:29:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,30,0],[2035,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2035,10,6,16,29,59],[2035,10,7,1,59,59],
+          '2035033116:30:00','2035040102:00:00','2035100616:29:59','2035100701:59:59' ],
+        [ [2035,10,6,16,30,0],[2035,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2036,4,5,16,29,59],[2036,4,6,2,59,59],
+          '2035100616:30:00','2035100703:00:00','2036040516:29:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,30,0],[2036,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2036,10,4,16,29,59],[2036,10,5,1,59,59],
+          '2036040516:30:00','2036040602:00:00','2036100416:29:59','2036100501:59:59' ],
+        [ [2036,10,4,16,30,0],[2036,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2037,4,4,16,29,59],[2037,4,5,2,59,59],
+          '2036100416:30:00','2036100503:00:00','2037040416:29:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,30,0],[2037,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2037,10,3,16,29,59],[2037,10,4,1,59,59],
+          '2037040416:30:00','2037040502:00:00','2037100316:29:59','2037100401:59:59' ],
+        [ [2037,10,3,16,30,0],[2037,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2038,4,3,16,29,59],[2038,4,4,2,59,59],
+          '2037100316:30:00','2037100403:00:00','2038040316:29:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,30,0],[2038,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2038,10,2,16,29,59],[2038,10,3,1,59,59],
+          '2038040316:30:00','2038040402:00:00','2038100216:29:59','2038100301:59:59' ],
+        [ [2038,10,2,16,30,0],[2038,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2039,4,2,16,29,59],[2039,4,3,2,59,59],
+          '2038100216:30:00','2038100303:00:00','2039040216:29:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,30,0],[2039,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2039,10,1,16,29,59],[2039,10,2,1,59,59],
+          '2039040216:30:00','2039040302:00:00','2039100116:29:59','2039100201:59:59' ],
+        [ [2039,10,1,16,30,0],[2039,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2040,3,31,16,29,59],[2040,4,1,2,59,59],
+          '2039100116:30:00','2039100203:00:00','2040033116:29:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,30,0],[2040,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2040,10,6,16,29,59],[2040,10,7,1,59,59],
+          '2040033116:30:00','2040040102:00:00','2040100616:29:59','2040100701:59:59' ],
+        [ [2040,10,6,16,30,0],[2040,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2041,4,6,16,29,59],[2041,4,7,2,59,59],
+          '2040100616:30:00','2040100703:00:00','2041040616:29:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,30,0],[2041,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2041,10,5,16,29,59],[2041,10,6,1,59,59],
+          '2041040616:30:00','2041040702:00:00','2041100516:29:59','2041100601:59:59' ],
+        [ [2041,10,5,16,30,0],[2041,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2042,4,5,16,29,59],[2042,4,6,2,59,59],
+          '2041100516:30:00','2041100603:00:00','2042040516:29:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,30,0],[2042,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2042,10,4,16,29,59],[2042,10,5,1,59,59],
+          '2042040516:30:00','2042040602:00:00','2042100416:29:59','2042100501:59:59' ],
+        [ [2042,10,4,16,30,0],[2042,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2043,4,4,16,29,59],[2043,4,5,2,59,59],
+          '2042100416:30:00','2042100503:00:00','2043040416:29:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,30,0],[2043,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2043,10,3,16,29,59],[2043,10,4,1,59,59],
+          '2043040416:30:00','2043040502:00:00','2043100316:29:59','2043100401:59:59' ],
+        [ [2043,10,3,16,30,0],[2043,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2044,4,2,16,29,59],[2044,4,3,2,59,59],
+          '2043100316:30:00','2043100403:00:00','2044040216:29:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,30,0],[2044,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2044,10,1,16,29,59],[2044,10,2,1,59,59],
+          '2044040216:30:00','2044040302:00:00','2044100116:29:59','2044100201:59:59' ],
+        [ [2044,10,1,16,30,0],[2044,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2045,4,1,16,29,59],[2045,4,2,2,59,59],
+          '2044100116:30:00','2044100203:00:00','2045040116:29:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,30,0],[2045,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2045,9,30,16,29,59],[2045,10,1,1,59,59],
+          '2045040116:30:00','2045040202:00:00','2045093016:29:59','2045100101:59:59' ],
+        [ [2045,9,30,16,30,0],[2045,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2046,3,31,16,29,59],[2046,4,1,2,59,59],
+          '2045093016:30:00','2045100103:00:00','2046033116:29:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,30,0],[2046,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2046,10,6,16,29,59],[2046,10,7,1,59,59],
+          '2046033116:30:00','2046040102:00:00','2046100616:29:59','2046100701:59:59' ],
+        [ [2046,10,6,16,30,0],[2046,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2047,4,6,16,29,59],[2047,4,7,2,59,59],
+          '2046100616:30:00','2046100703:00:00','2047040616:29:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,30,0],[2047,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2047,10,5,16,29,59],[2047,10,6,1,59,59],
+          '2047040616:30:00','2047040702:00:00','2047100516:29:59','2047100601:59:59' ],
+        [ [2047,10,5,16,30,0],[2047,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2048,4,4,16,29,59],[2048,4,5,2,59,59],
+          '2047100516:30:00','2047100603:00:00','2048040416:29:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,30,0],[2048,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2048,10,3,16,29,59],[2048,10,4,1,59,59],
+          '2048040416:30:00','2048040502:00:00','2048100316:29:59','2048100401:59:59' ],
+        [ [2048,10,3,16,30,0],[2048,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2049,4,3,16,29,59],[2049,4,4,2,59,59],
+          '2048100316:30:00','2048100403:00:00','2049040316:29:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,30,0],[2049,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2049,10,2,16,29,59],[2049,10,3,1,59,59],
+          '2049040316:30:00','2049040402:00:00','2049100216:29:59','2049100301:59:59' ],
+        [ [2049,10,2,16,30,0],[2049,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2050,4,2,16,29,59],[2050,4,3,2,59,59],
+          '2049100216:30:00','2049100303:00:00','2050040216:29:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,30,0],[2050,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2050,10,1,16,29,59],[2050,10,2,1,59,59],
+          '2050040216:30:00','2050040302:00:00','2050100116:29:59','2050100201:59:59' ],
+        [ [2050,10,1,16,30,0],[2050,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2051,4,1,16,29,59],[2051,4,2,2,59,59],
+          '2050100116:30:00','2050100203:00:00','2051040116:29:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,30,0],[2051,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2051,9,30,16,29,59],[2051,10,1,1,59,59],
+          '2051040116:30:00','2051040202:00:00','2051093016:29:59','2051100101:59:59' ],
+        [ [2051,9,30,16,30,0],[2051,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2052,4,6,16,29,59],[2052,4,7,2,59,59],
+          '2051093016:30:00','2051100103:00:00','2052040616:29:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,30,0],[2052,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2052,10,5,16,29,59],[2052,10,6,1,59,59],
+          '2052040616:30:00','2052040702:00:00','2052100516:29:59','2052100601:59:59' ],
+        [ [2052,10,5,16,30,0],[2052,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2053,4,5,16,29,59],[2053,4,6,2,59,59],
+          '2052100516:30:00','2052100603:00:00','2053040516:29:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,30,0],[2053,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2053,10,4,16,29,59],[2053,10,5,1,59,59],
+          '2053040516:30:00','2053040602:00:00','2053100416:29:59','2053100501:59:59' ],
+        [ [2053,10,4,16,30,0],[2053,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2054,4,4,16,29,59],[2054,4,5,2,59,59],
+          '2053100416:30:00','2053100503:00:00','2054040416:29:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,30,0],[2054,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2054,10,3,16,29,59],[2054,10,4,1,59,59],
+          '2054040416:30:00','2054040502:00:00','2054100316:29:59','2054100401:59:59' ],
+        [ [2054,10,3,16,30,0],[2054,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2055,4,3,16,29,59],[2055,4,4,2,59,59],
+          '2054100316:30:00','2054100403:00:00','2055040316:29:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,30,0],[2055,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2055,10,2,16,29,59],[2055,10,3,1,59,59],
+          '2055040316:30:00','2055040402:00:00','2055100216:29:59','2055100301:59:59' ],
+        [ [2055,10,2,16,30,0],[2055,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2056,4,1,16,29,59],[2056,4,2,2,59,59],
+          '2055100216:30:00','2055100303:00:00','2056040116:29:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,30,0],[2056,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2056,9,30,16,29,59],[2056,10,1,1,59,59],
+          '2056040116:30:00','2056040202:00:00','2056093016:29:59','2056100101:59:59' ],
+        [ [2056,9,30,16,30,0],[2056,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2057,3,31,16,29,59],[2057,4,1,2,59,59],
+          '2056093016:30:00','2056100103:00:00','2057033116:29:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,30,0],[2057,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2057,10,6,16,29,59],[2057,10,7,1,59,59],
+          '2057033116:30:00','2057040102:00:00','2057100616:29:59','2057100701:59:59' ],
+        [ [2057,10,6,16,30,0],[2057,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2058,4,6,16,29,59],[2058,4,7,2,59,59],
+          '2057100616:30:00','2057100703:00:00','2058040616:29:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,30,0],[2058,4,7,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2058,10,5,16,29,59],[2058,10,6,1,59,59],
+          '2058040616:30:00','2058040702:00:00','2058100516:29:59','2058100601:59:59' ],
+        [ [2058,10,5,16,30,0],[2058,10,6,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2059,4,5,16,29,59],[2059,4,6,2,59,59],
+          '2058100516:30:00','2058100603:00:00','2059040516:29:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,30,0],[2059,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2059,10,4,16,29,59],[2059,10,5,1,59,59],
+          '2059040516:30:00','2059040602:00:00','2059100416:29:59','2059100501:59:59' ],
+        [ [2059,10,4,16,30,0],[2059,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2060,4,3,16,29,59],[2060,4,4,2,59,59],
+          '2059100416:30:00','2059100503:00:00','2060040316:29:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,30,0],[2060,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2060,10,2,16,29,59],[2060,10,3,1,59,59],
+          '2060040316:30:00','2060040402:00:00','2060100216:29:59','2060100301:59:59' ],
+        [ [2060,10,2,16,30,0],[2060,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2061,4,2,16,29,59],[2061,4,3,2,59,59],
+          '2060100216:30:00','2060100303:00:00','2061040216:29:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,30,0],[2061,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2061,10,1,16,29,59],[2061,10,2,1,59,59],
+          '2061040216:30:00','2061040302:00:00','2061100116:29:59','2061100201:59:59' ],
+        [ [2061,10,1,16,30,0],[2061,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2062,4,1,16,29,59],[2062,4,2,2,59,59],
+          '2061100116:30:00','2061100203:00:00','2062040116:29:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,30,0],[2062,4,2,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2062,9,30,16,29,59],[2062,10,1,1,59,59],
+          '2062040116:30:00','2062040202:00:00','2062093016:29:59','2062100101:59:59' ],
+        [ [2062,9,30,16,30,0],[2062,10,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2063,3,31,16,29,59],[2063,4,1,2,59,59],
+          '2062093016:30:00','2062100103:00:00','2063033116:29:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,30,0],[2063,4,1,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2063,10,6,16,29,59],[2063,10,7,1,59,59],
+          '2063033116:30:00','2063040102:00:00','2063100616:29:59','2063100701:59:59' ],
+        [ [2063,10,6,16,30,0],[2063,10,7,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2064,4,5,16,29,59],[2064,4,6,2,59,59],
+          '2063100616:30:00','2063100703:00:00','2064040516:29:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,30,0],[2064,4,6,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2064,10,4,16,29,59],[2064,10,5,1,59,59],
+          '2064040516:30:00','2064040602:00:00','2064100416:29:59','2064100501:59:59' ],
+        [ [2064,10,4,16,30,0],[2064,10,5,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2065,4,4,16,29,59],[2065,4,5,2,59,59],
+          '2064100416:30:00','2064100503:00:00','2065040416:29:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,30,0],[2065,4,5,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2065,10,3,16,29,59],[2065,10,4,1,59,59],
+          '2065040416:30:00','2065040502:00:00','2065100316:29:59','2065100401:59:59' ],
+        [ [2065,10,3,16,30,0],[2065,10,4,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2066,4,3,16,29,59],[2066,4,4,2,59,59],
+          '2065100316:30:00','2065100403:00:00','2066040316:29:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,30,0],[2066,4,4,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2066,10,2,16,29,59],[2066,10,3,1,59,59],
+          '2066040316:30:00','2066040402:00:00','2066100216:29:59','2066100301:59:59' ],
+        [ [2066,10,2,16,30,0],[2066,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2067,4,2,16,29,59],[2067,4,3,2,59,59],
+          '2066100216:30:00','2066100303:00:00','2067040216:29:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,30,0],[2067,4,3,2,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[2067,10,1,16,29,59],[2067,10,2,1,59,59],
+          '2067040216:30:00','2067040302:00:00','2067100116:29:59','2067100201:59:59' ],
+        [ [2067,10,1,16,30,0],[2067,10,2,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[2068,3,31,16,29,59],[2068,4,1,2,59,59],
+          '2067100116:30:00','2067100203:00:00','2068033116:29:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+10:30:00',
+                'stdoff' => '+09:30:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'ACST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'ACDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aucurr00.pm b/lib/Date/Manip/TZ/aucurr00.pm
new file mode 100644
index 0000000..273dc13
--- /dev/null
+++ b/lib/Date/Manip/TZ/aucurr00.pm
@@ -0,0 +1,985 @@
+package #
+Date::Manip::TZ::aucurr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,35,28],'+09:35:28',[9,35,28],
+          'LMT',0,[1895,8,31,14,24,31],[1895,8,31,23,59,59],
+          '0001010200:00:00','0001010209:35:28','1895083114:24:31','1895083123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,8,31,14,24,32],[1895,9,1,0,24,32],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,9,30,15,59,59],[1916,10,1,1,59,59],
+          '1895083114:24:32','1895090100:24:32','1916093015:59:59','1916100101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,9,30,16,0,0],[1916,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916093016:00:00','1916100103:00:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1971103015:59:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1972,10,28,15,59,59],[1972,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1972102815:59:59','1972102901:59:59' ],
+        [ [1972,10,28,16,0,0],[1972,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1973,3,3,15,59,59],[1973,3,4,2,59,59],
+          '1972102816:00:00','1972102903:00:00','1973030315:59:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,0,0],[1973,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1973,10,27,15,59,59],[1973,10,28,1,59,59],
+          '1973030316:00:00','1973030402:00:00','1973102715:59:59','1973102801:59:59' ],
+        [ [1973,10,27,16,0,0],[1973,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1974,3,2,15,59,59],[1974,3,3,2,59,59],
+          '1973102716:00:00','1973102803:00:00','1974030215:59:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,0,0],[1974,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1974,10,26,15,59,59],[1974,10,27,1,59,59],
+          '1974030216:00:00','1974030302:00:00','1974102615:59:59','1974102701:59:59' ],
+        [ [1974,10,26,16,0,0],[1974,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1975,3,1,15,59,59],[1975,3,2,2,59,59],
+          '1974102616:00:00','1974102703:00:00','1975030115:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,0,0],[1975,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1975,10,25,15,59,59],[1975,10,26,1,59,59],
+          '1975030116:00:00','1975030202:00:00','1975102515:59:59','1975102601:59:59' ],
+        [ [1975,10,25,16,0,0],[1975,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1976,3,6,15,59,59],[1976,3,7,2,59,59],
+          '1975102516:00:00','1975102603:00:00','1976030615:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,0,0],[1976,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1976,10,30,15,59,59],[1976,10,31,1,59,59],
+          '1976030616:00:00','1976030702:00:00','1976103015:59:59','1976103101:59:59' ],
+        [ [1976,10,30,16,0,0],[1976,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1977,3,5,15,59,59],[1977,3,6,2,59,59],
+          '1976103016:00:00','1976103103:00:00','1977030515:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,0,0],[1977,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1977,10,29,15,59,59],[1977,10,30,1,59,59],
+          '1977030516:00:00','1977030602:00:00','1977102915:59:59','1977103001:59:59' ],
+        [ [1977,10,29,16,0,0],[1977,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1978,3,4,15,59,59],[1978,3,5,2,59,59],
+          '1977102916:00:00','1977103003:00:00','1978030415:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,0,0],[1978,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1978,10,28,15,59,59],[1978,10,29,1,59,59],
+          '1978030416:00:00','1978030502:00:00','1978102815:59:59','1978102901:59:59' ],
+        [ [1978,10,28,16,0,0],[1978,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1979,3,3,15,59,59],[1979,3,4,2,59,59],
+          '1978102816:00:00','1978102903:00:00','1979030315:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,0,0],[1979,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1979,10,27,15,59,59],[1979,10,28,1,59,59],
+          '1979030316:00:00','1979030402:00:00','1979102715:59:59','1979102801:59:59' ],
+        [ [1979,10,27,16,0,0],[1979,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1980,3,1,15,59,59],[1980,3,2,2,59,59],
+          '1979102716:00:00','1979102803:00:00','1980030115:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,0,0],[1980,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1980,10,25,15,59,59],[1980,10,26,1,59,59],
+          '1980030116:00:00','1980030202:00:00','1980102515:59:59','1980102601:59:59' ],
+        [ [1980,10,25,16,0,0],[1980,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1981,2,28,15,59,59],[1981,3,1,2,59,59],
+          '1980102516:00:00','1980102603:00:00','1981022815:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,0,0],[1981,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,10,24,15,59,59],[1981,10,25,1,59,59],
+          '1981022816:00:00','1981030102:00:00','1981102415:59:59','1981102501:59:59' ],
+        [ [1981,10,24,16,0,0],[1981,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1982,3,27,15,59,59],[1982,3,28,2,59,59],
+          '1981102416:00:00','1981102503:00:00','1982032715:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,27,16,0,0],[1982,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1982,10,30,15,59,59],[1982,10,31,1,59,59],
+          '1982032716:00:00','1982032802:00:00','1982103015:59:59','1982103101:59:59' ],
+        [ [1982,10,30,16,0,0],[1982,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1983,3,26,15,59,59],[1983,3,27,2,59,59],
+          '1982103016:00:00','1982103103:00:00','1983032615:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,26,16,0,0],[1983,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1983,10,29,15,59,59],[1983,10,30,1,59,59],
+          '1983032616:00:00','1983032702:00:00','1983102915:59:59','1983103001:59:59' ],
+        [ [1983,10,29,16,0,0],[1983,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1984,3,3,15,59,59],[1984,3,4,2,59,59],
+          '1983102916:00:00','1983103003:00:00','1984030315:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,0,0],[1984,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1984,10,27,15,59,59],[1984,10,28,1,59,59],
+          '1984030316:00:00','1984030402:00:00','1984102715:59:59','1984102801:59:59' ],
+        [ [1984,10,27,16,0,0],[1984,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1985,3,2,15,59,59],[1985,3,3,2,59,59],
+          '1984102716:00:00','1984102803:00:00','1985030215:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,0,0],[1985,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1985,10,26,15,59,59],[1985,10,27,1,59,59],
+          '1985030216:00:00','1985030302:00:00','1985102615:59:59','1985102701:59:59' ],
+        [ [1985,10,26,16,0,0],[1985,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1986,3,1,15,59,59],[1986,3,2,2,59,59],
+          '1985102616:00:00','1985102703:00:00','1986030115:59:59','1986030202:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,1,16,0,0],[1986,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1986,10,18,15,59,59],[1986,10,19,1,59,59],
+          '1986030116:00:00','1986030202:00:00','1986101815:59:59','1986101901:59:59' ],
+        [ [1986,10,18,16,0,0],[1986,10,19,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1987,3,14,15,59,59],[1987,3,15,2,59,59],
+          '1986101816:00:00','1986101903:00:00','1987031415:59:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,0,0],[1987,3,15,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1987,10,24,15,59,59],[1987,10,25,1,59,59],
+          '1987031416:00:00','1987031502:00:00','1987102415:59:59','1987102501:59:59' ],
+        [ [1987,10,24,16,0,0],[1987,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1988,3,19,15,59,59],[1988,3,20,2,59,59],
+          '1987102416:00:00','1987102503:00:00','1988031915:59:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,0,0],[1988,3,20,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1988,10,29,15,59,59],[1988,10,30,1,59,59],
+          '1988031916:00:00','1988032002:00:00','1988102915:59:59','1988103001:59:59' ],
+        [ [1988,10,29,16,0,0],[1988,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1989,3,18,15,59,59],[1989,3,19,2,59,59],
+          '1988102916:00:00','1988103003:00:00','1989031815:59:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,0,0],[1989,3,19,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1989031816:00:00','1989031902:00:00','1989102815:59:59','1989102901:59:59' ],
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,17,15,59,59],[1990,3,18,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990031715:59:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,16,0,0],[1990,3,18,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990031716:00:00','1990031802:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,30,15,59,59],[1991,3,31,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991033015:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,16,0,0],[1991,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,5,15,59,59],[1991,10,6,1,59,59],
+          '1991033016:00:00','1991033102:00:00','1991100515:59:59','1991100601:59:59' ],
+        [ [1991,10,5,16,0,0],[1991,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,3,28,15,59,59],[1992,3,29,2,59,59],
+          '1991100516:00:00','1991100603:00:00','1992032815:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,16,0,0],[1992,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,3,15,59,59],[1992,10,4,1,59,59],
+          '1992032816:00:00','1992032902:00:00','1992100315:59:59','1992100401:59:59' ],
+        [ [1992,10,3,16,0,0],[1992,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,27,15,59,59],[1993,3,28,2,59,59],
+          '1992100316:00:00','1992100403:00:00','1993032715:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,16,0,0],[1993,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,2,15,59,59],[1993,10,3,1,59,59],
+          '1993032716:00:00','1993032802:00:00','1993100215:59:59','1993100301:59:59' ],
+        [ [1993,10,2,16,0,0],[1993,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,26,15,59,59],[1994,3,27,2,59,59],
+          '1993100216:00:00','1993100303:00:00','1994032615:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,16,0,0],[1994,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1994,10,1,15,59,59],[1994,10,2,1,59,59],
+          '1994032616:00:00','1994032702:00:00','1994100115:59:59','1994100201:59:59' ],
+        [ [1994,10,1,16,0,0],[1994,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1995,3,25,15,59,59],[1995,3,26,2,59,59],
+          '1994100116:00:00','1994100203:00:00','1995032515:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1995,9,30,15,59,59],[1995,10,1,1,59,59],
+          '1995032516:00:00','1995032602:00:00','1995093015:59:59','1995100101:59:59' ],
+        [ [1995,9,30,16,0,0],[1995,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1996,3,30,15,59,59],[1996,3,31,2,59,59],
+          '1995093016:00:00','1995100103:00:00','1996033015:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1996,10,5,15,59,59],[1996,10,6,1,59,59],
+          '1996033016:00:00','1996033102:00:00','1996100515:59:59','1996100601:59:59' ],
+        [ [1996,10,5,16,0,0],[1996,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1997,3,29,15,59,59],[1997,3,30,2,59,59],
+          '1996100516:00:00','1996100603:00:00','1997032915:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1997,10,4,15,59,59],[1997,10,5,1,59,59],
+          '1997032916:00:00','1997033002:00:00','1997100415:59:59','1997100501:59:59' ],
+        [ [1997,10,4,16,0,0],[1997,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1998,3,28,15,59,59],[1998,3,29,2,59,59],
+          '1997100416:00:00','1997100503:00:00','1998032815:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1998,10,3,15,59,59],[1998,10,4,1,59,59],
+          '1998032816:00:00','1998032902:00:00','1998100315:59:59','1998100401:59:59' ],
+        [ [1998,10,3,16,0,0],[1998,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1999,3,27,15,59,59],[1999,3,28,2,59,59],
+          '1998100316:00:00','1998100403:00:00','1999032715:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1999,10,2,15,59,59],[1999,10,3,1,59,59],
+          '1999032716:00:00','1999032802:00:00','1999100215:59:59','1999100301:59:59' ],
+        [ [1999,10,2,16,0,0],[1999,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2000,3,25,15,59,59],[2000,3,26,2,59,59],
+          '1999100216:00:00','1999100303:00:00','2000032515:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2000,8,26,15,59,59],[2000,8,27,1,59,59],
+          '2000032516:00:00','2000032602:00:00','2000082615:59:59','2000082701:59:59' ],
+        [ [2000,8,26,16,0,0],[2000,8,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2001,3,24,15,59,59],[2001,3,25,2,59,59],
+          '2000082616:00:00','2000082703:00:00','2001032415:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2001,10,6,15,59,59],[2001,10,7,1,59,59],
+          '2001032416:00:00','2001032502:00:00','2001100615:59:59','2001100701:59:59' ],
+        [ [2001,10,6,16,0,0],[2001,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2002,3,30,15,59,59],[2002,3,31,2,59,59],
+          '2001100616:00:00','2001100703:00:00','2002033015:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2002,10,5,15,59,59],[2002,10,6,1,59,59],
+          '2002033016:00:00','2002033102:00:00','2002100515:59:59','2002100601:59:59' ],
+        [ [2002,10,5,16,0,0],[2002,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2003,3,29,15,59,59],[2003,3,30,2,59,59],
+          '2002100516:00:00','2002100603:00:00','2003032915:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2003,10,4,15,59,59],[2003,10,5,1,59,59],
+          '2003032916:00:00','2003033002:00:00','2003100415:59:59','2003100501:59:59' ],
+        [ [2003,10,4,16,0,0],[2003,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2004,3,27,15,59,59],[2004,3,28,2,59,59],
+          '2003100416:00:00','2003100503:00:00','2004032715:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2004,10,2,15,59,59],[2004,10,3,1,59,59],
+          '2004032716:00:00','2004032802:00:00','2004100215:59:59','2004100301:59:59' ],
+        [ [2004,10,2,16,0,0],[2004,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2005,3,26,15,59,59],[2005,3,27,2,59,59],
+          '2004100216:00:00','2004100303:00:00','2005032615:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2005,10,1,15,59,59],[2005,10,2,1,59,59],
+          '2005032616:00:00','2005032702:00:00','2005100115:59:59','2005100201:59:59' ],
+        [ [2005,10,1,16,0,0],[2005,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2006,4,1,15,59,59],[2006,4,2,2,59,59],
+          '2005100116:00:00','2005100203:00:00','2006040115:59:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,0,0],[2006,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2006,9,30,15,59,59],[2006,10,1,1,59,59],
+          '2006040116:00:00','2006040202:00:00','2006093015:59:59','2006100101:59:59' ],
+        [ [2006,9,30,16,0,0],[2006,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2007,3,24,15,59,59],[2007,3,25,2,59,59],
+          '2006093016:00:00','2006100103:00:00','2007032415:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2007,10,6,15,59,59],[2007,10,7,1,59,59],
+          '2007032416:00:00','2007032502:00:00','2007100615:59:59','2007100701:59:59' ],
+        [ [2007,10,6,16,0,0],[2007,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2008,4,5,15,59,59],[2008,4,6,2,59,59],
+          '2007100616:00:00','2007100703:00:00','2008040515:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,0,0],[2008,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2008,10,4,15,59,59],[2008,10,5,1,59,59],
+          '2008040516:00:00','2008040602:00:00','2008100415:59:59','2008100501:59:59' ],
+        [ [2008,10,4,16,0,0],[2008,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2009,4,4,15,59,59],[2009,4,5,2,59,59],
+          '2008100416:00:00','2008100503:00:00','2009040415:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,0,0],[2009,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2009,10,3,15,59,59],[2009,10,4,1,59,59],
+          '2009040416:00:00','2009040502:00:00','2009100315:59:59','2009100401:59:59' ],
+        [ [2009,10,3,16,0,0],[2009,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2010,4,3,15,59,59],[2010,4,4,2,59,59],
+          '2009100316:00:00','2009100403:00:00','2010040315:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,0,0],[2010,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2010,10,2,15,59,59],[2010,10,3,1,59,59],
+          '2010040316:00:00','2010040402:00:00','2010100215:59:59','2010100301:59:59' ],
+        [ [2010,10,2,16,0,0],[2010,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2011,4,2,15,59,59],[2011,4,3,2,59,59],
+          '2010100216:00:00','2010100303:00:00','2011040215:59:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,0,0],[2011,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2011,10,1,15,59,59],[2011,10,2,1,59,59],
+          '2011040216:00:00','2011040302:00:00','2011100115:59:59','2011100201:59:59' ],
+        [ [2011,10,1,16,0,0],[2011,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2012,3,31,15,59,59],[2012,4,1,2,59,59],
+          '2011100116:00:00','2011100203:00:00','2012033115:59:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,0,0],[2012,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2012,10,6,15,59,59],[2012,10,7,1,59,59],
+          '2012033116:00:00','2012040102:00:00','2012100615:59:59','2012100701:59:59' ],
+        [ [2012,10,6,16,0,0],[2012,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2013,4,6,15,59,59],[2013,4,7,2,59,59],
+          '2012100616:00:00','2012100703:00:00','2013040615:59:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,0,0],[2013,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2013,10,5,15,59,59],[2013,10,6,1,59,59],
+          '2013040616:00:00','2013040702:00:00','2013100515:59:59','2013100601:59:59' ],
+        [ [2013,10,5,16,0,0],[2013,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2014,4,5,15,59,59],[2014,4,6,2,59,59],
+          '2013100516:00:00','2013100603:00:00','2014040515:59:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,0,0],[2014,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2014,10,4,15,59,59],[2014,10,5,1,59,59],
+          '2014040516:00:00','2014040602:00:00','2014100415:59:59','2014100501:59:59' ],
+        [ [2014,10,4,16,0,0],[2014,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2015,4,4,15,59,59],[2015,4,5,2,59,59],
+          '2014100416:00:00','2014100503:00:00','2015040415:59:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,0,0],[2015,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2015,10,3,15,59,59],[2015,10,4,1,59,59],
+          '2015040416:00:00','2015040502:00:00','2015100315:59:59','2015100401:59:59' ],
+        [ [2015,10,3,16,0,0],[2015,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2016,4,2,15,59,59],[2016,4,3,2,59,59],
+          '2015100316:00:00','2015100403:00:00','2016040215:59:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,0,0],[2016,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2016,10,1,15,59,59],[2016,10,2,1,59,59],
+          '2016040216:00:00','2016040302:00:00','2016100115:59:59','2016100201:59:59' ],
+        [ [2016,10,1,16,0,0],[2016,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2017,4,1,15,59,59],[2017,4,2,2,59,59],
+          '2016100116:00:00','2016100203:00:00','2017040115:59:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,0,0],[2017,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2017,9,30,15,59,59],[2017,10,1,1,59,59],
+          '2017040116:00:00','2017040202:00:00','2017093015:59:59','2017100101:59:59' ],
+        [ [2017,9,30,16,0,0],[2017,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2018,3,31,15,59,59],[2018,4,1,2,59,59],
+          '2017093016:00:00','2017100103:00:00','2018033115:59:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,0,0],[2018,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2018,10,6,15,59,59],[2018,10,7,1,59,59],
+          '2018033116:00:00','2018040102:00:00','2018100615:59:59','2018100701:59:59' ],
+        [ [2018,10,6,16,0,0],[2018,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2019,4,6,15,59,59],[2019,4,7,2,59,59],
+          '2018100616:00:00','2018100703:00:00','2019040615:59:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,0,0],[2019,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2019,10,5,15,59,59],[2019,10,6,1,59,59],
+          '2019040616:00:00','2019040702:00:00','2019100515:59:59','2019100601:59:59' ],
+        [ [2019,10,5,16,0,0],[2019,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2020,4,4,15,59,59],[2020,4,5,2,59,59],
+          '2019100516:00:00','2019100603:00:00','2020040415:59:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,0,0],[2020,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2020,10,3,15,59,59],[2020,10,4,1,59,59],
+          '2020040416:00:00','2020040502:00:00','2020100315:59:59','2020100401:59:59' ],
+        [ [2020,10,3,16,0,0],[2020,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2021,4,3,15,59,59],[2021,4,4,2,59,59],
+          '2020100316:00:00','2020100403:00:00','2021040315:59:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,0,0],[2021,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2021,10,2,15,59,59],[2021,10,3,1,59,59],
+          '2021040316:00:00','2021040402:00:00','2021100215:59:59','2021100301:59:59' ],
+        [ [2021,10,2,16,0,0],[2021,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2022,4,2,15,59,59],[2022,4,3,2,59,59],
+          '2021100216:00:00','2021100303:00:00','2022040215:59:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,0,0],[2022,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2022,10,1,15,59,59],[2022,10,2,1,59,59],
+          '2022040216:00:00','2022040302:00:00','2022100115:59:59','2022100201:59:59' ],
+        [ [2022,10,1,16,0,0],[2022,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2023,4,1,15,59,59],[2023,4,2,2,59,59],
+          '2022100116:00:00','2022100203:00:00','2023040115:59:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,0,0],[2023,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2023,9,30,15,59,59],[2023,10,1,1,59,59],
+          '2023040116:00:00','2023040202:00:00','2023093015:59:59','2023100101:59:59' ],
+        [ [2023,9,30,16,0,0],[2023,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2024,4,6,15,59,59],[2024,4,7,2,59,59],
+          '2023093016:00:00','2023100103:00:00','2024040615:59:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,0,0],[2024,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2024,10,5,15,59,59],[2024,10,6,1,59,59],
+          '2024040616:00:00','2024040702:00:00','2024100515:59:59','2024100601:59:59' ],
+        [ [2024,10,5,16,0,0],[2024,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2025,4,5,15,59,59],[2025,4,6,2,59,59],
+          '2024100516:00:00','2024100603:00:00','2025040515:59:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,0,0],[2025,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2025,10,4,15,59,59],[2025,10,5,1,59,59],
+          '2025040516:00:00','2025040602:00:00','2025100415:59:59','2025100501:59:59' ],
+        [ [2025,10,4,16,0,0],[2025,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2026,4,4,15,59,59],[2026,4,5,2,59,59],
+          '2025100416:00:00','2025100503:00:00','2026040415:59:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,0,0],[2026,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2026,10,3,15,59,59],[2026,10,4,1,59,59],
+          '2026040416:00:00','2026040502:00:00','2026100315:59:59','2026100401:59:59' ],
+        [ [2026,10,3,16,0,0],[2026,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2027,4,3,15,59,59],[2027,4,4,2,59,59],
+          '2026100316:00:00','2026100403:00:00','2027040315:59:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,0,0],[2027,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2027,10,2,15,59,59],[2027,10,3,1,59,59],
+          '2027040316:00:00','2027040402:00:00','2027100215:59:59','2027100301:59:59' ],
+        [ [2027,10,2,16,0,0],[2027,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2028,4,1,15,59,59],[2028,4,2,2,59,59],
+          '2027100216:00:00','2027100303:00:00','2028040115:59:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,0,0],[2028,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2028,9,30,15,59,59],[2028,10,1,1,59,59],
+          '2028040116:00:00','2028040202:00:00','2028093015:59:59','2028100101:59:59' ],
+        [ [2028,9,30,16,0,0],[2028,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2029,3,31,15,59,59],[2029,4,1,2,59,59],
+          '2028093016:00:00','2028100103:00:00','2029033115:59:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,0,0],[2029,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2029,10,6,15,59,59],[2029,10,7,1,59,59],
+          '2029033116:00:00','2029040102:00:00','2029100615:59:59','2029100701:59:59' ],
+        [ [2029,10,6,16,0,0],[2029,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2030,4,6,15,59,59],[2030,4,7,2,59,59],
+          '2029100616:00:00','2029100703:00:00','2030040615:59:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,0,0],[2030,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2030,10,5,15,59,59],[2030,10,6,1,59,59],
+          '2030040616:00:00','2030040702:00:00','2030100515:59:59','2030100601:59:59' ],
+        [ [2030,10,5,16,0,0],[2030,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2031,4,5,15,59,59],[2031,4,6,2,59,59],
+          '2030100516:00:00','2030100603:00:00','2031040515:59:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,0,0],[2031,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2031,10,4,15,59,59],[2031,10,5,1,59,59],
+          '2031040516:00:00','2031040602:00:00','2031100415:59:59','2031100501:59:59' ],
+        [ [2031,10,4,16,0,0],[2031,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2032,4,3,15,59,59],[2032,4,4,2,59,59],
+          '2031100416:00:00','2031100503:00:00','2032040315:59:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,0,0],[2032,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2032,10,2,15,59,59],[2032,10,3,1,59,59],
+          '2032040316:00:00','2032040402:00:00','2032100215:59:59','2032100301:59:59' ],
+        [ [2032,10,2,16,0,0],[2032,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2033,4,2,15,59,59],[2033,4,3,2,59,59],
+          '2032100216:00:00','2032100303:00:00','2033040215:59:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,0,0],[2033,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2033,10,1,15,59,59],[2033,10,2,1,59,59],
+          '2033040216:00:00','2033040302:00:00','2033100115:59:59','2033100201:59:59' ],
+        [ [2033,10,1,16,0,0],[2033,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2034,4,1,15,59,59],[2034,4,2,2,59,59],
+          '2033100116:00:00','2033100203:00:00','2034040115:59:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,0,0],[2034,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2034,9,30,15,59,59],[2034,10,1,1,59,59],
+          '2034040116:00:00','2034040202:00:00','2034093015:59:59','2034100101:59:59' ],
+        [ [2034,9,30,16,0,0],[2034,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2035,3,31,15,59,59],[2035,4,1,2,59,59],
+          '2034093016:00:00','2034100103:00:00','2035033115:59:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,0,0],[2035,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2035,10,6,15,59,59],[2035,10,7,1,59,59],
+          '2035033116:00:00','2035040102:00:00','2035100615:59:59','2035100701:59:59' ],
+        [ [2035,10,6,16,0,0],[2035,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2036,4,5,15,59,59],[2036,4,6,2,59,59],
+          '2035100616:00:00','2035100703:00:00','2036040515:59:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,0,0],[2036,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2036,10,4,15,59,59],[2036,10,5,1,59,59],
+          '2036040516:00:00','2036040602:00:00','2036100415:59:59','2036100501:59:59' ],
+        [ [2036,10,4,16,0,0],[2036,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2037,4,4,15,59,59],[2037,4,5,2,59,59],
+          '2036100416:00:00','2036100503:00:00','2037040415:59:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,0,0],[2037,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2037,10,3,15,59,59],[2037,10,4,1,59,59],
+          '2037040416:00:00','2037040502:00:00','2037100315:59:59','2037100401:59:59' ],
+        [ [2037,10,3,16,0,0],[2037,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2038,4,3,15,59,59],[2038,4,4,2,59,59],
+          '2037100316:00:00','2037100403:00:00','2038040315:59:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,0,0],[2038,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2038,10,2,15,59,59],[2038,10,3,1,59,59],
+          '2038040316:00:00','2038040402:00:00','2038100215:59:59','2038100301:59:59' ],
+        [ [2038,10,2,16,0,0],[2038,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2039,4,2,15,59,59],[2039,4,3,2,59,59],
+          '2038100216:00:00','2038100303:00:00','2039040215:59:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,0,0],[2039,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2039,10,1,15,59,59],[2039,10,2,1,59,59],
+          '2039040216:00:00','2039040302:00:00','2039100115:59:59','2039100201:59:59' ],
+        [ [2039,10,1,16,0,0],[2039,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2040,3,31,15,59,59],[2040,4,1,2,59,59],
+          '2039100116:00:00','2039100203:00:00','2040033115:59:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,0,0],[2040,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2040,10,6,15,59,59],[2040,10,7,1,59,59],
+          '2040033116:00:00','2040040102:00:00','2040100615:59:59','2040100701:59:59' ],
+        [ [2040,10,6,16,0,0],[2040,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2041,4,6,15,59,59],[2041,4,7,2,59,59],
+          '2040100616:00:00','2040100703:00:00','2041040615:59:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,0,0],[2041,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2041,10,5,15,59,59],[2041,10,6,1,59,59],
+          '2041040616:00:00','2041040702:00:00','2041100515:59:59','2041100601:59:59' ],
+        [ [2041,10,5,16,0,0],[2041,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2042,4,5,15,59,59],[2042,4,6,2,59,59],
+          '2041100516:00:00','2041100603:00:00','2042040515:59:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,0,0],[2042,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2042,10,4,15,59,59],[2042,10,5,1,59,59],
+          '2042040516:00:00','2042040602:00:00','2042100415:59:59','2042100501:59:59' ],
+        [ [2042,10,4,16,0,0],[2042,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2043,4,4,15,59,59],[2043,4,5,2,59,59],
+          '2042100416:00:00','2042100503:00:00','2043040415:59:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,0,0],[2043,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2043,10,3,15,59,59],[2043,10,4,1,59,59],
+          '2043040416:00:00','2043040502:00:00','2043100315:59:59','2043100401:59:59' ],
+        [ [2043,10,3,16,0,0],[2043,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2044,4,2,15,59,59],[2044,4,3,2,59,59],
+          '2043100316:00:00','2043100403:00:00','2044040215:59:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,0,0],[2044,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2044,10,1,15,59,59],[2044,10,2,1,59,59],
+          '2044040216:00:00','2044040302:00:00','2044100115:59:59','2044100201:59:59' ],
+        [ [2044,10,1,16,0,0],[2044,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2045,4,1,15,59,59],[2045,4,2,2,59,59],
+          '2044100116:00:00','2044100203:00:00','2045040115:59:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,0,0],[2045,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2045,9,30,15,59,59],[2045,10,1,1,59,59],
+          '2045040116:00:00','2045040202:00:00','2045093015:59:59','2045100101:59:59' ],
+        [ [2045,9,30,16,0,0],[2045,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2046,3,31,15,59,59],[2046,4,1,2,59,59],
+          '2045093016:00:00','2045100103:00:00','2046033115:59:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,0,0],[2046,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2046,10,6,15,59,59],[2046,10,7,1,59,59],
+          '2046033116:00:00','2046040102:00:00','2046100615:59:59','2046100701:59:59' ],
+        [ [2046,10,6,16,0,0],[2046,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2047,4,6,15,59,59],[2047,4,7,2,59,59],
+          '2046100616:00:00','2046100703:00:00','2047040615:59:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,0,0],[2047,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2047,10,5,15,59,59],[2047,10,6,1,59,59],
+          '2047040616:00:00','2047040702:00:00','2047100515:59:59','2047100601:59:59' ],
+        [ [2047,10,5,16,0,0],[2047,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2048,4,4,15,59,59],[2048,4,5,2,59,59],
+          '2047100516:00:00','2047100603:00:00','2048040415:59:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,0,0],[2048,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2048,10,3,15,59,59],[2048,10,4,1,59,59],
+          '2048040416:00:00','2048040502:00:00','2048100315:59:59','2048100401:59:59' ],
+        [ [2048,10,3,16,0,0],[2048,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2049,4,3,15,59,59],[2049,4,4,2,59,59],
+          '2048100316:00:00','2048100403:00:00','2049040315:59:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,0,0],[2049,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2049,10,2,15,59,59],[2049,10,3,1,59,59],
+          '2049040316:00:00','2049040402:00:00','2049100215:59:59','2049100301:59:59' ],
+        [ [2049,10,2,16,0,0],[2049,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2050,4,2,15,59,59],[2050,4,3,2,59,59],
+          '2049100216:00:00','2049100303:00:00','2050040215:59:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,0,0],[2050,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2050,10,1,15,59,59],[2050,10,2,1,59,59],
+          '2050040216:00:00','2050040302:00:00','2050100115:59:59','2050100201:59:59' ],
+        [ [2050,10,1,16,0,0],[2050,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2051,4,1,15,59,59],[2051,4,2,2,59,59],
+          '2050100116:00:00','2050100203:00:00','2051040115:59:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,0,0],[2051,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2051,9,30,15,59,59],[2051,10,1,1,59,59],
+          '2051040116:00:00','2051040202:00:00','2051093015:59:59','2051100101:59:59' ],
+        [ [2051,9,30,16,0,0],[2051,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2052,4,6,15,59,59],[2052,4,7,2,59,59],
+          '2051093016:00:00','2051100103:00:00','2052040615:59:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,0,0],[2052,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2052,10,5,15,59,59],[2052,10,6,1,59,59],
+          '2052040616:00:00','2052040702:00:00','2052100515:59:59','2052100601:59:59' ],
+        [ [2052,10,5,16,0,0],[2052,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2053,4,5,15,59,59],[2053,4,6,2,59,59],
+          '2052100516:00:00','2052100603:00:00','2053040515:59:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,0,0],[2053,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2053,10,4,15,59,59],[2053,10,5,1,59,59],
+          '2053040516:00:00','2053040602:00:00','2053100415:59:59','2053100501:59:59' ],
+        [ [2053,10,4,16,0,0],[2053,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2054,4,4,15,59,59],[2054,4,5,2,59,59],
+          '2053100416:00:00','2053100503:00:00','2054040415:59:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,0,0],[2054,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2054,10,3,15,59,59],[2054,10,4,1,59,59],
+          '2054040416:00:00','2054040502:00:00','2054100315:59:59','2054100401:59:59' ],
+        [ [2054,10,3,16,0,0],[2054,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2055,4,3,15,59,59],[2055,4,4,2,59,59],
+          '2054100316:00:00','2054100403:00:00','2055040315:59:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,0,0],[2055,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2055,10,2,15,59,59],[2055,10,3,1,59,59],
+          '2055040316:00:00','2055040402:00:00','2055100215:59:59','2055100301:59:59' ],
+        [ [2055,10,2,16,0,0],[2055,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2056,4,1,15,59,59],[2056,4,2,2,59,59],
+          '2055100216:00:00','2055100303:00:00','2056040115:59:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,0,0],[2056,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2056,9,30,15,59,59],[2056,10,1,1,59,59],
+          '2056040116:00:00','2056040202:00:00','2056093015:59:59','2056100101:59:59' ],
+        [ [2056,9,30,16,0,0],[2056,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2057,3,31,15,59,59],[2057,4,1,2,59,59],
+          '2056093016:00:00','2056100103:00:00','2057033115:59:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,0,0],[2057,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2057,10,6,15,59,59],[2057,10,7,1,59,59],
+          '2057033116:00:00','2057040102:00:00','2057100615:59:59','2057100701:59:59' ],
+        [ [2057,10,6,16,0,0],[2057,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2058,4,6,15,59,59],[2058,4,7,2,59,59],
+          '2057100616:00:00','2057100703:00:00','2058040615:59:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,0,0],[2058,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2058,10,5,15,59,59],[2058,10,6,1,59,59],
+          '2058040616:00:00','2058040702:00:00','2058100515:59:59','2058100601:59:59' ],
+        [ [2058,10,5,16,0,0],[2058,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2059,4,5,15,59,59],[2059,4,6,2,59,59],
+          '2058100516:00:00','2058100603:00:00','2059040515:59:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,0,0],[2059,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2059,10,4,15,59,59],[2059,10,5,1,59,59],
+          '2059040516:00:00','2059040602:00:00','2059100415:59:59','2059100501:59:59' ],
+        [ [2059,10,4,16,0,0],[2059,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2060,4,3,15,59,59],[2060,4,4,2,59,59],
+          '2059100416:00:00','2059100503:00:00','2060040315:59:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,0,0],[2060,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2060,10,2,15,59,59],[2060,10,3,1,59,59],
+          '2060040316:00:00','2060040402:00:00','2060100215:59:59','2060100301:59:59' ],
+        [ [2060,10,2,16,0,0],[2060,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2061,4,2,15,59,59],[2061,4,3,2,59,59],
+          '2060100216:00:00','2060100303:00:00','2061040215:59:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,0,0],[2061,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2061,10,1,15,59,59],[2061,10,2,1,59,59],
+          '2061040216:00:00','2061040302:00:00','2061100115:59:59','2061100201:59:59' ],
+        [ [2061,10,1,16,0,0],[2061,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2062,4,1,15,59,59],[2062,4,2,2,59,59],
+          '2061100116:00:00','2061100203:00:00','2062040115:59:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,0,0],[2062,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2062,9,30,15,59,59],[2062,10,1,1,59,59],
+          '2062040116:00:00','2062040202:00:00','2062093015:59:59','2062100101:59:59' ],
+        [ [2062,9,30,16,0,0],[2062,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2063,3,31,15,59,59],[2063,4,1,2,59,59],
+          '2062093016:00:00','2062100103:00:00','2063033115:59:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,0,0],[2063,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2063,10,6,15,59,59],[2063,10,7,1,59,59],
+          '2063033116:00:00','2063040102:00:00','2063100615:59:59','2063100701:59:59' ],
+        [ [2063,10,6,16,0,0],[2063,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2064,4,5,15,59,59],[2064,4,6,2,59,59],
+          '2063100616:00:00','2063100703:00:00','2064040515:59:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,0,0],[2064,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2064,10,4,15,59,59],[2064,10,5,1,59,59],
+          '2064040516:00:00','2064040602:00:00','2064100415:59:59','2064100501:59:59' ],
+        [ [2064,10,4,16,0,0],[2064,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2065,4,4,15,59,59],[2065,4,5,2,59,59],
+          '2064100416:00:00','2064100503:00:00','2065040415:59:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,0,0],[2065,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2065,10,3,15,59,59],[2065,10,4,1,59,59],
+          '2065040416:00:00','2065040502:00:00','2065100315:59:59','2065100401:59:59' ],
+        [ [2065,10,3,16,0,0],[2065,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2066,4,3,15,59,59],[2066,4,4,2,59,59],
+          '2065100316:00:00','2065100403:00:00','2066040315:59:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,0,0],[2066,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2066,10,2,15,59,59],[2066,10,3,1,59,59],
+          '2066040316:00:00','2066040402:00:00','2066100215:59:59','2066100301:59:59' ],
+        [ [2066,10,2,16,0,0],[2066,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2067,4,2,15,59,59],[2067,4,3,2,59,59],
+          '2066100216:00:00','2066100303:00:00','2067040215:59:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,0,0],[2067,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2067,10,1,15,59,59],[2067,10,2,1,59,59],
+          '2067040216:00:00','2067040302:00:00','2067100115:59:59','2067100201:59:59' ],
+        [ [2067,10,1,16,0,0],[2067,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2068,3,31,15,59,59],[2068,4,1,2,59,59],
+          '2067100116:00:00','2067100203:00:00','2068033115:59:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+11:00:00',
+                'stdoff' => '+10:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AEST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AEDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/audarw00.pm b/lib/Date/Manip/TZ/audarw00.pm
new file mode 100644
index 0000000..817487e
--- /dev/null
+++ b/lib/Date/Manip/TZ/audarw00.pm
@@ -0,0 +1,97 @@
+package #
+Date::Manip::TZ::audarw00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,43,20],'+08:43:20',[8,43,20],
+          'LMT',0,[1895,1,31,15,16,39],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010208:43:20','1895013115:16:39','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,15,16,40],[1895,2,1,0,16,40],'+09:00:00',[9,0,0],
+          'ACST',0,[1899,4,30,14,59,59],[1899,4,30,23,59,59],
+          '1895013115:16:40','1895020100:16:40','1899043014:59:59','1899043023:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,4,30,15,0,0],[1899,5,1,0,30,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1916,12,31,14,30,59],[1917,1,1,0,0,59],
+          '1899043015:00:00','1899050100:30:00','1916123114:30:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,31,0],[1917,1,1,1,1,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1917,3,24,15,29,59],[1917,3,25,1,59,59],
+          '1916123114:31:00','1917010101:01:00','1917032415:29:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,30,0],[1917,3,25,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1941,12,31,16,29,59],[1942,1,1,1,59,59],
+          '1917032415:30:00','1917032501:00:00','1941123116:29:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,30,0],[1942,1,1,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1942,3,28,15,29,59],[1942,3,29,1,59,59],
+          '1941123116:30:00','1942010103:00:00','1942032815:29:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,30,0],[1942,3,29,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1942,9,26,16,29,59],[1942,9,27,1,59,59],
+          '1942032815:30:00','1942032901:00:00','1942092616:29:59','1942092701:59:59' ],
+        [ [1942,9,26,16,30,0],[1942,9,27,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1943,3,27,15,29,59],[1943,3,28,1,59,59],
+          '1942092616:30:00','1942092703:00:00','1943032715:29:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,30,0],[1943,3,28,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[1943,10,2,16,29,59],[1943,10,3,1,59,59],
+          '1943032715:30:00','1943032801:00:00','1943100216:29:59','1943100301:59:59' ],
+        [ [1943,10,2,16,30,0],[1943,10,3,3,0,0],'+10:30:00',[10,30,0],
+          'ACDT',1,[1944,3,25,15,29,59],[1944,3,26,1,59,59],
+          '1943100216:30:00','1943100303:00:00','1944032515:29:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,30,0],[1944,3,26,1,0,0],'+09:30:00',[9,30,0],
+          'ACST',0,[9999,12,31,0,0,0],[9999,12,31,9,30,0],
+          '1944032515:30:00','1944032601:00:00','9999123100:00:00','9999123109:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aueucl00.pm b/lib/Date/Manip/TZ/aueucl00.pm
new file mode 100644
index 0000000..1836841
--- /dev/null
+++ b/lib/Date/Manip/TZ/aueucl00.pm
@@ -0,0 +1,148 @@
+package #
+Date::Manip::TZ::aueucl00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,35,28],'+08:35:28',[8,35,28],
+          'LMT',0,[1895,11,30,15,24,31],[1895,11,30,23,59,59],
+          '0001010200:00:00','0001010208:35:28','1895113015:24:31','1895113023:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,11,30,15,24,32],[1895,12,1,0,9,32],'+08:45:00',[8,45,0],
+          '+0845',0,[1916,12,31,15,15,59],[1917,1,1,0,0,59],
+          '1895113015:24:32','1895120100:09:32','1916123115:15:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,15,16,0],[1917,1,1,1,1,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1917,3,24,16,14,59],[1917,3,25,1,59,59],
+          '1916123115:16:00','1917010101:01:00','1917032416:14:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,16,15,0],[1917,3,25,1,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[1941,12,31,17,14,59],[1942,1,1,1,59,59],
+          '1917032416:15:00','1917032501:00:00','1941123117:14:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,17,15,0],[1942,1,1,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1942,3,28,16,14,59],[1942,3,29,1,59,59],
+          '1941123117:15:00','1942010103:00:00','1942032816:14:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,16,15,0],[1942,3,29,1,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[1942,9,26,17,14,59],[1942,9,27,1,59,59],
+          '1942032816:15:00','1942032901:00:00','1942092617:14:59','1942092701:59:59' ],
+        [ [1942,9,26,17,15,0],[1942,9,27,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1943,3,27,16,14,59],[1943,3,28,1,59,59],
+          '1942092617:15:00','1942092703:00:00','1943032716:14:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,16,15,0],[1943,3,28,1,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[1974,10,26,17,14,59],[1974,10,27,1,59,59],
+          '1943032716:15:00','1943032801:00:00','1974102617:14:59','1974102701:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,10,26,17,15,0],[1974,10,27,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1975,3,1,17,14,59],[1975,3,2,2,59,59],
+          '1974102617:15:00','1974102703:00:00','1975030117:14:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,17,15,0],[1975,3,2,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[1983,10,29,17,14,59],[1983,10,30,1,59,59],
+          '1975030117:15:00','1975030202:00:00','1983102917:14:59','1983103001:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,10,29,17,15,0],[1983,10,30,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1984,3,3,17,14,59],[1984,3,4,2,59,59],
+          '1983102917:15:00','1983103003:00:00','1984030317:14:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,17,15,0],[1984,3,4,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[1991,11,16,17,14,59],[1991,11,17,1,59,59],
+          '1984030317:15:00','1984030402:00:00','1991111617:14:59','1991111701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,11,16,17,15,0],[1991,11,17,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[1992,2,29,17,14,59],[1992,3,1,2,59,59],
+          '1991111617:15:00','1991111703:00:00','1992022917:14:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,17,15,0],[1992,3,1,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[2006,12,2,17,14,59],[2006,12,3,1,59,59],
+          '1992022917:15:00','1992030102:00:00','2006120217:14:59','2006120301:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,12,2,17,15,0],[2006,12,3,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[2007,3,24,17,14,59],[2007,3,25,2,59,59],
+          '2006120217:15:00','2006120303:00:00','2007032417:14:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,17,15,0],[2007,3,25,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[2007,10,27,17,14,59],[2007,10,28,1,59,59],
+          '2007032417:15:00','2007032502:00:00','2007102717:14:59','2007102801:59:59' ],
+        [ [2007,10,27,17,15,0],[2007,10,28,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[2008,3,29,17,14,59],[2008,3,30,2,59,59],
+          '2007102717:15:00','2007102803:00:00','2008032917:14:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,17,15,0],[2008,3,30,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[2008,10,25,17,14,59],[2008,10,26,1,59,59],
+          '2008032917:15:00','2008033002:00:00','2008102517:14:59','2008102601:59:59' ],
+        [ [2008,10,25,17,15,0],[2008,10,26,3,0,0],'+09:45:00',[9,45,0],
+          '+0945',1,[2009,3,28,17,14,59],[2009,3,29,2,59,59],
+          '2008102517:15:00','2008102603:00:00','2009032817:14:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,17,15,0],[2009,3,29,2,0,0],'+08:45:00',[8,45,0],
+          '+0845',0,[9999,12,31,0,0,0],[9999,12,31,8,45,0],
+          '2009032817:15:00','2009032902:00:00','9999123100:00:00','9999123108:45:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/auhoba00.pm b/lib/Date/Manip/TZ/auhoba00.pm
new file mode 100644
index 0000000..092ab28
--- /dev/null
+++ b/lib/Date/Manip/TZ/auhoba00.pm
@@ -0,0 +1,1021 @@
+package #
+Date::Manip::TZ::auhoba00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,49,16],'+09:49:16',[9,49,16],
+          'LMT',0,[1895,8,31,14,10,43],[1895,8,31,23,59,59],
+          '0001010200:00:00','0001010209:49:16','1895083114:10:43','1895083123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,8,31,14,10,44],[1895,9,1,0,10,44],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,9,30,15,59,59],[1916,10,1,1,59,59],
+          '1895083114:10:44','1895090100:10:44','1916093015:59:59','1916100101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,9,30,16,0,0],[1916,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916093016:00:00','1916100103:00:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1967,9,30,15,59,59],[1967,10,1,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1967093015:59:59','1967100101:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,9,30,16,0,0],[1967,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1968,3,30,15,59,59],[1968,3,31,2,59,59],
+          '1967093016:00:00','1967100103:00:00','1968033015:59:59','1968033102:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,3,30,16,0,0],[1968,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1968,10,26,15,59,59],[1968,10,27,1,59,59],
+          '1968033016:00:00','1968033102:00:00','1968102615:59:59','1968102701:59:59' ],
+        [ [1968,10,26,16,0,0],[1968,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1969,3,8,15,59,59],[1969,3,9,2,59,59],
+          '1968102616:00:00','1968102703:00:00','1969030815:59:59','1969030902:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,3,8,16,0,0],[1969,3,9,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1969,10,25,15,59,59],[1969,10,26,1,59,59],
+          '1969030816:00:00','1969030902:00:00','1969102515:59:59','1969102601:59:59' ],
+        [ [1969,10,25,16,0,0],[1969,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1970,3,7,15,59,59],[1970,3,8,2,59,59],
+          '1969102516:00:00','1969102603:00:00','1970030715:59:59','1970030802:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,3,7,16,0,0],[1970,3,8,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1970,10,24,15,59,59],[1970,10,25,1,59,59],
+          '1970030716:00:00','1970030802:00:00','1970102415:59:59','1970102501:59:59' ],
+        [ [1970,10,24,16,0,0],[1970,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1971,3,13,15,59,59],[1971,3,14,2,59,59],
+          '1970102416:00:00','1970102503:00:00','1971031315:59:59','1971031402:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,13,16,0,0],[1971,3,14,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1971031316:00:00','1971031402:00:00','1971103015:59:59','1971103101:59:59' ],
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1972,10,28,15,59,59],[1972,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1972102815:59:59','1972102901:59:59' ],
+        [ [1972,10,28,16,0,0],[1972,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1973,3,3,15,59,59],[1973,3,4,2,59,59],
+          '1972102816:00:00','1972102903:00:00','1973030315:59:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,0,0],[1973,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1973,10,27,15,59,59],[1973,10,28,1,59,59],
+          '1973030316:00:00','1973030402:00:00','1973102715:59:59','1973102801:59:59' ],
+        [ [1973,10,27,16,0,0],[1973,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1974,3,2,15,59,59],[1974,3,3,2,59,59],
+          '1973102716:00:00','1973102803:00:00','1974030215:59:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,0,0],[1974,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1974,10,26,15,59,59],[1974,10,27,1,59,59],
+          '1974030216:00:00','1974030302:00:00','1974102615:59:59','1974102701:59:59' ],
+        [ [1974,10,26,16,0,0],[1974,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1975,3,1,15,59,59],[1975,3,2,2,59,59],
+          '1974102616:00:00','1974102703:00:00','1975030115:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,0,0],[1975,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1975,10,25,15,59,59],[1975,10,26,1,59,59],
+          '1975030116:00:00','1975030202:00:00','1975102515:59:59','1975102601:59:59' ],
+        [ [1975,10,25,16,0,0],[1975,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1976,3,6,15,59,59],[1976,3,7,2,59,59],
+          '1975102516:00:00','1975102603:00:00','1976030615:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,0,0],[1976,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1976,10,30,15,59,59],[1976,10,31,1,59,59],
+          '1976030616:00:00','1976030702:00:00','1976103015:59:59','1976103101:59:59' ],
+        [ [1976,10,30,16,0,0],[1976,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1977,3,5,15,59,59],[1977,3,6,2,59,59],
+          '1976103016:00:00','1976103103:00:00','1977030515:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,0,0],[1977,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1977,10,29,15,59,59],[1977,10,30,1,59,59],
+          '1977030516:00:00','1977030602:00:00','1977102915:59:59','1977103001:59:59' ],
+        [ [1977,10,29,16,0,0],[1977,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1978,3,4,15,59,59],[1978,3,5,2,59,59],
+          '1977102916:00:00','1977103003:00:00','1978030415:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,0,0],[1978,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1978,10,28,15,59,59],[1978,10,29,1,59,59],
+          '1978030416:00:00','1978030502:00:00','1978102815:59:59','1978102901:59:59' ],
+        [ [1978,10,28,16,0,0],[1978,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1979,3,3,15,59,59],[1979,3,4,2,59,59],
+          '1978102816:00:00','1978102903:00:00','1979030315:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,0,0],[1979,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1979,10,27,15,59,59],[1979,10,28,1,59,59],
+          '1979030316:00:00','1979030402:00:00','1979102715:59:59','1979102801:59:59' ],
+        [ [1979,10,27,16,0,0],[1979,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1980,3,1,15,59,59],[1980,3,2,2,59,59],
+          '1979102716:00:00','1979102803:00:00','1980030115:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,0,0],[1980,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1980,10,25,15,59,59],[1980,10,26,1,59,59],
+          '1980030116:00:00','1980030202:00:00','1980102515:59:59','1980102601:59:59' ],
+        [ [1980,10,25,16,0,0],[1980,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1981,2,28,15,59,59],[1981,3,1,2,59,59],
+          '1980102516:00:00','1980102603:00:00','1981022815:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,0,0],[1981,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,10,24,15,59,59],[1981,10,25,1,59,59],
+          '1981022816:00:00','1981030102:00:00','1981102415:59:59','1981102501:59:59' ],
+        [ [1981,10,24,16,0,0],[1981,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1982,3,27,15,59,59],[1982,3,28,2,59,59],
+          '1981102416:00:00','1981102503:00:00','1982032715:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,27,16,0,0],[1982,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1982,10,30,15,59,59],[1982,10,31,1,59,59],
+          '1982032716:00:00','1982032802:00:00','1982103015:59:59','1982103101:59:59' ],
+        [ [1982,10,30,16,0,0],[1982,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1983,3,26,15,59,59],[1983,3,27,2,59,59],
+          '1982103016:00:00','1982103103:00:00','1983032615:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,26,16,0,0],[1983,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1983,10,29,15,59,59],[1983,10,30,1,59,59],
+          '1983032616:00:00','1983032702:00:00','1983102915:59:59','1983103001:59:59' ],
+        [ [1983,10,29,16,0,0],[1983,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1984,3,3,15,59,59],[1984,3,4,2,59,59],
+          '1983102916:00:00','1983103003:00:00','1984030315:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,0,0],[1984,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1984,10,27,15,59,59],[1984,10,28,1,59,59],
+          '1984030316:00:00','1984030402:00:00','1984102715:59:59','1984102801:59:59' ],
+        [ [1984,10,27,16,0,0],[1984,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1985,3,2,15,59,59],[1985,3,3,2,59,59],
+          '1984102716:00:00','1984102803:00:00','1985030215:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,0,0],[1985,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1985,10,26,15,59,59],[1985,10,27,1,59,59],
+          '1985030216:00:00','1985030302:00:00','1985102615:59:59','1985102701:59:59' ],
+        [ [1985,10,26,16,0,0],[1985,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1986,3,1,15,59,59],[1986,3,2,2,59,59],
+          '1985102616:00:00','1985102703:00:00','1986030115:59:59','1986030202:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,1,16,0,0],[1986,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1986,10,18,15,59,59],[1986,10,19,1,59,59],
+          '1986030116:00:00','1986030202:00:00','1986101815:59:59','1986101901:59:59' ],
+        [ [1986,10,18,16,0,0],[1986,10,19,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1987,3,14,15,59,59],[1987,3,15,2,59,59],
+          '1986101816:00:00','1986101903:00:00','1987031415:59:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,0,0],[1987,3,15,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1987,10,24,15,59,59],[1987,10,25,1,59,59],
+          '1987031416:00:00','1987031502:00:00','1987102415:59:59','1987102501:59:59' ],
+        [ [1987,10,24,16,0,0],[1987,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1988,3,19,15,59,59],[1988,3,20,2,59,59],
+          '1987102416:00:00','1987102503:00:00','1988031915:59:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,0,0],[1988,3,20,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1988,10,29,15,59,59],[1988,10,30,1,59,59],
+          '1988031916:00:00','1988032002:00:00','1988102915:59:59','1988103001:59:59' ],
+        [ [1988,10,29,16,0,0],[1988,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1989,3,18,15,59,59],[1989,3,19,2,59,59],
+          '1988102916:00:00','1988103003:00:00','1989031815:59:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,0,0],[1989,3,19,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1989031816:00:00','1989031902:00:00','1989102815:59:59','1989102901:59:59' ],
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,17,15,59,59],[1990,3,18,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990031715:59:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,16,0,0],[1990,3,18,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990031716:00:00','1990031802:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,30,15,59,59],[1991,3,31,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991033015:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,16,0,0],[1991,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,5,15,59,59],[1991,10,6,1,59,59],
+          '1991033016:00:00','1991033102:00:00','1991100515:59:59','1991100601:59:59' ],
+        [ [1991,10,5,16,0,0],[1991,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,3,28,15,59,59],[1992,3,29,2,59,59],
+          '1991100516:00:00','1991100603:00:00','1992032815:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,16,0,0],[1992,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,3,15,59,59],[1992,10,4,1,59,59],
+          '1992032816:00:00','1992032902:00:00','1992100315:59:59','1992100401:59:59' ],
+        [ [1992,10,3,16,0,0],[1992,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,27,15,59,59],[1993,3,28,2,59,59],
+          '1992100316:00:00','1992100403:00:00','1993032715:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,16,0,0],[1993,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,2,15,59,59],[1993,10,3,1,59,59],
+          '1993032716:00:00','1993032802:00:00','1993100215:59:59','1993100301:59:59' ],
+        [ [1993,10,2,16,0,0],[1993,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,26,15,59,59],[1994,3,27,2,59,59],
+          '1993100216:00:00','1993100303:00:00','1994032615:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,16,0,0],[1994,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1994,10,1,15,59,59],[1994,10,2,1,59,59],
+          '1994032616:00:00','1994032702:00:00','1994100115:59:59','1994100201:59:59' ],
+        [ [1994,10,1,16,0,0],[1994,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1995,3,25,15,59,59],[1995,3,26,2,59,59],
+          '1994100116:00:00','1994100203:00:00','1995032515:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1995,9,30,15,59,59],[1995,10,1,1,59,59],
+          '1995032516:00:00','1995032602:00:00','1995093015:59:59','1995100101:59:59' ],
+        [ [1995,9,30,16,0,0],[1995,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1996,3,30,15,59,59],[1996,3,31,2,59,59],
+          '1995093016:00:00','1995100103:00:00','1996033015:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1996,10,5,15,59,59],[1996,10,6,1,59,59],
+          '1996033016:00:00','1996033102:00:00','1996100515:59:59','1996100601:59:59' ],
+        [ [1996,10,5,16,0,0],[1996,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1997,3,29,15,59,59],[1997,3,30,2,59,59],
+          '1996100516:00:00','1996100603:00:00','1997032915:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1997,10,4,15,59,59],[1997,10,5,1,59,59],
+          '1997032916:00:00','1997033002:00:00','1997100415:59:59','1997100501:59:59' ],
+        [ [1997,10,4,16,0,0],[1997,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1998,3,28,15,59,59],[1998,3,29,2,59,59],
+          '1997100416:00:00','1997100503:00:00','1998032815:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1998,10,3,15,59,59],[1998,10,4,1,59,59],
+          '1998032816:00:00','1998032902:00:00','1998100315:59:59','1998100401:59:59' ],
+        [ [1998,10,3,16,0,0],[1998,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1999,3,27,15,59,59],[1999,3,28,2,59,59],
+          '1998100316:00:00','1998100403:00:00','1999032715:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1999,10,2,15,59,59],[1999,10,3,1,59,59],
+          '1999032716:00:00','1999032802:00:00','1999100215:59:59','1999100301:59:59' ],
+        [ [1999,10,2,16,0,0],[1999,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2000,3,25,15,59,59],[2000,3,26,2,59,59],
+          '1999100216:00:00','1999100303:00:00','2000032515:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2000,8,26,15,59,59],[2000,8,27,1,59,59],
+          '2000032516:00:00','2000032602:00:00','2000082615:59:59','2000082701:59:59' ],
+        [ [2000,8,26,16,0,0],[2000,8,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2001,3,24,15,59,59],[2001,3,25,2,59,59],
+          '2000082616:00:00','2000082703:00:00','2001032415:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2001,10,6,15,59,59],[2001,10,7,1,59,59],
+          '2001032416:00:00','2001032502:00:00','2001100615:59:59','2001100701:59:59' ],
+        [ [2001,10,6,16,0,0],[2001,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2002,3,30,15,59,59],[2002,3,31,2,59,59],
+          '2001100616:00:00','2001100703:00:00','2002033015:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2002,10,5,15,59,59],[2002,10,6,1,59,59],
+          '2002033016:00:00','2002033102:00:00','2002100515:59:59','2002100601:59:59' ],
+        [ [2002,10,5,16,0,0],[2002,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2003,3,29,15,59,59],[2003,3,30,2,59,59],
+          '2002100516:00:00','2002100603:00:00','2003032915:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2003,10,4,15,59,59],[2003,10,5,1,59,59],
+          '2003032916:00:00','2003033002:00:00','2003100415:59:59','2003100501:59:59' ],
+        [ [2003,10,4,16,0,0],[2003,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2004,3,27,15,59,59],[2004,3,28,2,59,59],
+          '2003100416:00:00','2003100503:00:00','2004032715:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2004,10,2,15,59,59],[2004,10,3,1,59,59],
+          '2004032716:00:00','2004032802:00:00','2004100215:59:59','2004100301:59:59' ],
+        [ [2004,10,2,16,0,0],[2004,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2005,3,26,15,59,59],[2005,3,27,2,59,59],
+          '2004100216:00:00','2004100303:00:00','2005032615:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2005,10,1,15,59,59],[2005,10,2,1,59,59],
+          '2005032616:00:00','2005032702:00:00','2005100115:59:59','2005100201:59:59' ],
+        [ [2005,10,1,16,0,0],[2005,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2006,4,1,15,59,59],[2006,4,2,2,59,59],
+          '2005100116:00:00','2005100203:00:00','2006040115:59:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,0,0],[2006,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2006,9,30,15,59,59],[2006,10,1,1,59,59],
+          '2006040116:00:00','2006040202:00:00','2006093015:59:59','2006100101:59:59' ],
+        [ [2006,9,30,16,0,0],[2006,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2007,3,24,15,59,59],[2007,3,25,2,59,59],
+          '2006093016:00:00','2006100103:00:00','2007032415:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2007,10,6,15,59,59],[2007,10,7,1,59,59],
+          '2007032416:00:00','2007032502:00:00','2007100615:59:59','2007100701:59:59' ],
+        [ [2007,10,6,16,0,0],[2007,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2008,4,5,15,59,59],[2008,4,6,2,59,59],
+          '2007100616:00:00','2007100703:00:00','2008040515:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,0,0],[2008,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2008,10,4,15,59,59],[2008,10,5,1,59,59],
+          '2008040516:00:00','2008040602:00:00','2008100415:59:59','2008100501:59:59' ],
+        [ [2008,10,4,16,0,0],[2008,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2009,4,4,15,59,59],[2009,4,5,2,59,59],
+          '2008100416:00:00','2008100503:00:00','2009040415:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,0,0],[2009,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2009,10,3,15,59,59],[2009,10,4,1,59,59],
+          '2009040416:00:00','2009040502:00:00','2009100315:59:59','2009100401:59:59' ],
+        [ [2009,10,3,16,0,0],[2009,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2010,4,3,15,59,59],[2010,4,4,2,59,59],
+          '2009100316:00:00','2009100403:00:00','2010040315:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,0,0],[2010,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2010,10,2,15,59,59],[2010,10,3,1,59,59],
+          '2010040316:00:00','2010040402:00:00','2010100215:59:59','2010100301:59:59' ],
+        [ [2010,10,2,16,0,0],[2010,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2011,4,2,15,59,59],[2011,4,3,2,59,59],
+          '2010100216:00:00','2010100303:00:00','2011040215:59:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,0,0],[2011,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2011,10,1,15,59,59],[2011,10,2,1,59,59],
+          '2011040216:00:00','2011040302:00:00','2011100115:59:59','2011100201:59:59' ],
+        [ [2011,10,1,16,0,0],[2011,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2012,3,31,15,59,59],[2012,4,1,2,59,59],
+          '2011100116:00:00','2011100203:00:00','2012033115:59:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,0,0],[2012,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2012,10,6,15,59,59],[2012,10,7,1,59,59],
+          '2012033116:00:00','2012040102:00:00','2012100615:59:59','2012100701:59:59' ],
+        [ [2012,10,6,16,0,0],[2012,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2013,4,6,15,59,59],[2013,4,7,2,59,59],
+          '2012100616:00:00','2012100703:00:00','2013040615:59:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,0,0],[2013,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2013,10,5,15,59,59],[2013,10,6,1,59,59],
+          '2013040616:00:00','2013040702:00:00','2013100515:59:59','2013100601:59:59' ],
+        [ [2013,10,5,16,0,0],[2013,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2014,4,5,15,59,59],[2014,4,6,2,59,59],
+          '2013100516:00:00','2013100603:00:00','2014040515:59:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,0,0],[2014,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2014,10,4,15,59,59],[2014,10,5,1,59,59],
+          '2014040516:00:00','2014040602:00:00','2014100415:59:59','2014100501:59:59' ],
+        [ [2014,10,4,16,0,0],[2014,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2015,4,4,15,59,59],[2015,4,5,2,59,59],
+          '2014100416:00:00','2014100503:00:00','2015040415:59:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,0,0],[2015,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2015,10,3,15,59,59],[2015,10,4,1,59,59],
+          '2015040416:00:00','2015040502:00:00','2015100315:59:59','2015100401:59:59' ],
+        [ [2015,10,3,16,0,0],[2015,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2016,4,2,15,59,59],[2016,4,3,2,59,59],
+          '2015100316:00:00','2015100403:00:00','2016040215:59:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,0,0],[2016,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2016,10,1,15,59,59],[2016,10,2,1,59,59],
+          '2016040216:00:00','2016040302:00:00','2016100115:59:59','2016100201:59:59' ],
+        [ [2016,10,1,16,0,0],[2016,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2017,4,1,15,59,59],[2017,4,2,2,59,59],
+          '2016100116:00:00','2016100203:00:00','2017040115:59:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,0,0],[2017,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2017,9,30,15,59,59],[2017,10,1,1,59,59],
+          '2017040116:00:00','2017040202:00:00','2017093015:59:59','2017100101:59:59' ],
+        [ [2017,9,30,16,0,0],[2017,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2018,3,31,15,59,59],[2018,4,1,2,59,59],
+          '2017093016:00:00','2017100103:00:00','2018033115:59:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,0,0],[2018,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2018,10,6,15,59,59],[2018,10,7,1,59,59],
+          '2018033116:00:00','2018040102:00:00','2018100615:59:59','2018100701:59:59' ],
+        [ [2018,10,6,16,0,0],[2018,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2019,4,6,15,59,59],[2019,4,7,2,59,59],
+          '2018100616:00:00','2018100703:00:00','2019040615:59:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,0,0],[2019,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2019,10,5,15,59,59],[2019,10,6,1,59,59],
+          '2019040616:00:00','2019040702:00:00','2019100515:59:59','2019100601:59:59' ],
+        [ [2019,10,5,16,0,0],[2019,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2020,4,4,15,59,59],[2020,4,5,2,59,59],
+          '2019100516:00:00','2019100603:00:00','2020040415:59:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,0,0],[2020,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2020,10,3,15,59,59],[2020,10,4,1,59,59],
+          '2020040416:00:00','2020040502:00:00','2020100315:59:59','2020100401:59:59' ],
+        [ [2020,10,3,16,0,0],[2020,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2021,4,3,15,59,59],[2021,4,4,2,59,59],
+          '2020100316:00:00','2020100403:00:00','2021040315:59:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,0,0],[2021,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2021,10,2,15,59,59],[2021,10,3,1,59,59],
+          '2021040316:00:00','2021040402:00:00','2021100215:59:59','2021100301:59:59' ],
+        [ [2021,10,2,16,0,0],[2021,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2022,4,2,15,59,59],[2022,4,3,2,59,59],
+          '2021100216:00:00','2021100303:00:00','2022040215:59:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,0,0],[2022,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2022,10,1,15,59,59],[2022,10,2,1,59,59],
+          '2022040216:00:00','2022040302:00:00','2022100115:59:59','2022100201:59:59' ],
+        [ [2022,10,1,16,0,0],[2022,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2023,4,1,15,59,59],[2023,4,2,2,59,59],
+          '2022100116:00:00','2022100203:00:00','2023040115:59:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,0,0],[2023,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2023,9,30,15,59,59],[2023,10,1,1,59,59],
+          '2023040116:00:00','2023040202:00:00','2023093015:59:59','2023100101:59:59' ],
+        [ [2023,9,30,16,0,0],[2023,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2024,4,6,15,59,59],[2024,4,7,2,59,59],
+          '2023093016:00:00','2023100103:00:00','2024040615:59:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,0,0],[2024,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2024,10,5,15,59,59],[2024,10,6,1,59,59],
+          '2024040616:00:00','2024040702:00:00','2024100515:59:59','2024100601:59:59' ],
+        [ [2024,10,5,16,0,0],[2024,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2025,4,5,15,59,59],[2025,4,6,2,59,59],
+          '2024100516:00:00','2024100603:00:00','2025040515:59:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,0,0],[2025,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2025,10,4,15,59,59],[2025,10,5,1,59,59],
+          '2025040516:00:00','2025040602:00:00','2025100415:59:59','2025100501:59:59' ],
+        [ [2025,10,4,16,0,0],[2025,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2026,4,4,15,59,59],[2026,4,5,2,59,59],
+          '2025100416:00:00','2025100503:00:00','2026040415:59:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,0,0],[2026,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2026,10,3,15,59,59],[2026,10,4,1,59,59],
+          '2026040416:00:00','2026040502:00:00','2026100315:59:59','2026100401:59:59' ],
+        [ [2026,10,3,16,0,0],[2026,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2027,4,3,15,59,59],[2027,4,4,2,59,59],
+          '2026100316:00:00','2026100403:00:00','2027040315:59:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,0,0],[2027,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2027,10,2,15,59,59],[2027,10,3,1,59,59],
+          '2027040316:00:00','2027040402:00:00','2027100215:59:59','2027100301:59:59' ],
+        [ [2027,10,2,16,0,0],[2027,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2028,4,1,15,59,59],[2028,4,2,2,59,59],
+          '2027100216:00:00','2027100303:00:00','2028040115:59:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,0,0],[2028,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2028,9,30,15,59,59],[2028,10,1,1,59,59],
+          '2028040116:00:00','2028040202:00:00','2028093015:59:59','2028100101:59:59' ],
+        [ [2028,9,30,16,0,0],[2028,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2029,3,31,15,59,59],[2029,4,1,2,59,59],
+          '2028093016:00:00','2028100103:00:00','2029033115:59:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,0,0],[2029,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2029,10,6,15,59,59],[2029,10,7,1,59,59],
+          '2029033116:00:00','2029040102:00:00','2029100615:59:59','2029100701:59:59' ],
+        [ [2029,10,6,16,0,0],[2029,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2030,4,6,15,59,59],[2030,4,7,2,59,59],
+          '2029100616:00:00','2029100703:00:00','2030040615:59:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,0,0],[2030,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2030,10,5,15,59,59],[2030,10,6,1,59,59],
+          '2030040616:00:00','2030040702:00:00','2030100515:59:59','2030100601:59:59' ],
+        [ [2030,10,5,16,0,0],[2030,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2031,4,5,15,59,59],[2031,4,6,2,59,59],
+          '2030100516:00:00','2030100603:00:00','2031040515:59:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,0,0],[2031,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2031,10,4,15,59,59],[2031,10,5,1,59,59],
+          '2031040516:00:00','2031040602:00:00','2031100415:59:59','2031100501:59:59' ],
+        [ [2031,10,4,16,0,0],[2031,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2032,4,3,15,59,59],[2032,4,4,2,59,59],
+          '2031100416:00:00','2031100503:00:00','2032040315:59:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,0,0],[2032,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2032,10,2,15,59,59],[2032,10,3,1,59,59],
+          '2032040316:00:00','2032040402:00:00','2032100215:59:59','2032100301:59:59' ],
+        [ [2032,10,2,16,0,0],[2032,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2033,4,2,15,59,59],[2033,4,3,2,59,59],
+          '2032100216:00:00','2032100303:00:00','2033040215:59:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,0,0],[2033,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2033,10,1,15,59,59],[2033,10,2,1,59,59],
+          '2033040216:00:00','2033040302:00:00','2033100115:59:59','2033100201:59:59' ],
+        [ [2033,10,1,16,0,0],[2033,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2034,4,1,15,59,59],[2034,4,2,2,59,59],
+          '2033100116:00:00','2033100203:00:00','2034040115:59:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,0,0],[2034,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2034,9,30,15,59,59],[2034,10,1,1,59,59],
+          '2034040116:00:00','2034040202:00:00','2034093015:59:59','2034100101:59:59' ],
+        [ [2034,9,30,16,0,0],[2034,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2035,3,31,15,59,59],[2035,4,1,2,59,59],
+          '2034093016:00:00','2034100103:00:00','2035033115:59:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,0,0],[2035,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2035,10,6,15,59,59],[2035,10,7,1,59,59],
+          '2035033116:00:00','2035040102:00:00','2035100615:59:59','2035100701:59:59' ],
+        [ [2035,10,6,16,0,0],[2035,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2036,4,5,15,59,59],[2036,4,6,2,59,59],
+          '2035100616:00:00','2035100703:00:00','2036040515:59:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,0,0],[2036,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2036,10,4,15,59,59],[2036,10,5,1,59,59],
+          '2036040516:00:00','2036040602:00:00','2036100415:59:59','2036100501:59:59' ],
+        [ [2036,10,4,16,0,0],[2036,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2037,4,4,15,59,59],[2037,4,5,2,59,59],
+          '2036100416:00:00','2036100503:00:00','2037040415:59:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,0,0],[2037,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2037,10,3,15,59,59],[2037,10,4,1,59,59],
+          '2037040416:00:00','2037040502:00:00','2037100315:59:59','2037100401:59:59' ],
+        [ [2037,10,3,16,0,0],[2037,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2038,4,3,15,59,59],[2038,4,4,2,59,59],
+          '2037100316:00:00','2037100403:00:00','2038040315:59:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,0,0],[2038,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2038,10,2,15,59,59],[2038,10,3,1,59,59],
+          '2038040316:00:00','2038040402:00:00','2038100215:59:59','2038100301:59:59' ],
+        [ [2038,10,2,16,0,0],[2038,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2039,4,2,15,59,59],[2039,4,3,2,59,59],
+          '2038100216:00:00','2038100303:00:00','2039040215:59:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,0,0],[2039,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2039,10,1,15,59,59],[2039,10,2,1,59,59],
+          '2039040216:00:00','2039040302:00:00','2039100115:59:59','2039100201:59:59' ],
+        [ [2039,10,1,16,0,0],[2039,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2040,3,31,15,59,59],[2040,4,1,2,59,59],
+          '2039100116:00:00','2039100203:00:00','2040033115:59:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,0,0],[2040,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2040,10,6,15,59,59],[2040,10,7,1,59,59],
+          '2040033116:00:00','2040040102:00:00','2040100615:59:59','2040100701:59:59' ],
+        [ [2040,10,6,16,0,0],[2040,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2041,4,6,15,59,59],[2041,4,7,2,59,59],
+          '2040100616:00:00','2040100703:00:00','2041040615:59:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,0,0],[2041,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2041,10,5,15,59,59],[2041,10,6,1,59,59],
+          '2041040616:00:00','2041040702:00:00','2041100515:59:59','2041100601:59:59' ],
+        [ [2041,10,5,16,0,0],[2041,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2042,4,5,15,59,59],[2042,4,6,2,59,59],
+          '2041100516:00:00','2041100603:00:00','2042040515:59:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,0,0],[2042,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2042,10,4,15,59,59],[2042,10,5,1,59,59],
+          '2042040516:00:00','2042040602:00:00','2042100415:59:59','2042100501:59:59' ],
+        [ [2042,10,4,16,0,0],[2042,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2043,4,4,15,59,59],[2043,4,5,2,59,59],
+          '2042100416:00:00','2042100503:00:00','2043040415:59:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,0,0],[2043,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2043,10,3,15,59,59],[2043,10,4,1,59,59],
+          '2043040416:00:00','2043040502:00:00','2043100315:59:59','2043100401:59:59' ],
+        [ [2043,10,3,16,0,0],[2043,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2044,4,2,15,59,59],[2044,4,3,2,59,59],
+          '2043100316:00:00','2043100403:00:00','2044040215:59:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,0,0],[2044,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2044,10,1,15,59,59],[2044,10,2,1,59,59],
+          '2044040216:00:00','2044040302:00:00','2044100115:59:59','2044100201:59:59' ],
+        [ [2044,10,1,16,0,0],[2044,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2045,4,1,15,59,59],[2045,4,2,2,59,59],
+          '2044100116:00:00','2044100203:00:00','2045040115:59:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,0,0],[2045,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2045,9,30,15,59,59],[2045,10,1,1,59,59],
+          '2045040116:00:00','2045040202:00:00','2045093015:59:59','2045100101:59:59' ],
+        [ [2045,9,30,16,0,0],[2045,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2046,3,31,15,59,59],[2046,4,1,2,59,59],
+          '2045093016:00:00','2045100103:00:00','2046033115:59:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,0,0],[2046,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2046,10,6,15,59,59],[2046,10,7,1,59,59],
+          '2046033116:00:00','2046040102:00:00','2046100615:59:59','2046100701:59:59' ],
+        [ [2046,10,6,16,0,0],[2046,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2047,4,6,15,59,59],[2047,4,7,2,59,59],
+          '2046100616:00:00','2046100703:00:00','2047040615:59:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,0,0],[2047,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2047,10,5,15,59,59],[2047,10,6,1,59,59],
+          '2047040616:00:00','2047040702:00:00','2047100515:59:59','2047100601:59:59' ],
+        [ [2047,10,5,16,0,0],[2047,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2048,4,4,15,59,59],[2048,4,5,2,59,59],
+          '2047100516:00:00','2047100603:00:00','2048040415:59:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,0,0],[2048,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2048,10,3,15,59,59],[2048,10,4,1,59,59],
+          '2048040416:00:00','2048040502:00:00','2048100315:59:59','2048100401:59:59' ],
+        [ [2048,10,3,16,0,0],[2048,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2049,4,3,15,59,59],[2049,4,4,2,59,59],
+          '2048100316:00:00','2048100403:00:00','2049040315:59:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,0,0],[2049,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2049,10,2,15,59,59],[2049,10,3,1,59,59],
+          '2049040316:00:00','2049040402:00:00','2049100215:59:59','2049100301:59:59' ],
+        [ [2049,10,2,16,0,0],[2049,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2050,4,2,15,59,59],[2050,4,3,2,59,59],
+          '2049100216:00:00','2049100303:00:00','2050040215:59:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,0,0],[2050,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2050,10,1,15,59,59],[2050,10,2,1,59,59],
+          '2050040216:00:00','2050040302:00:00','2050100115:59:59','2050100201:59:59' ],
+        [ [2050,10,1,16,0,0],[2050,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2051,4,1,15,59,59],[2051,4,2,2,59,59],
+          '2050100116:00:00','2050100203:00:00','2051040115:59:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,0,0],[2051,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2051,9,30,15,59,59],[2051,10,1,1,59,59],
+          '2051040116:00:00','2051040202:00:00','2051093015:59:59','2051100101:59:59' ],
+        [ [2051,9,30,16,0,0],[2051,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2052,4,6,15,59,59],[2052,4,7,2,59,59],
+          '2051093016:00:00','2051100103:00:00','2052040615:59:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,0,0],[2052,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2052,10,5,15,59,59],[2052,10,6,1,59,59],
+          '2052040616:00:00','2052040702:00:00','2052100515:59:59','2052100601:59:59' ],
+        [ [2052,10,5,16,0,0],[2052,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2053,4,5,15,59,59],[2053,4,6,2,59,59],
+          '2052100516:00:00','2052100603:00:00','2053040515:59:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,0,0],[2053,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2053,10,4,15,59,59],[2053,10,5,1,59,59],
+          '2053040516:00:00','2053040602:00:00','2053100415:59:59','2053100501:59:59' ],
+        [ [2053,10,4,16,0,0],[2053,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2054,4,4,15,59,59],[2054,4,5,2,59,59],
+          '2053100416:00:00','2053100503:00:00','2054040415:59:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,0,0],[2054,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2054,10,3,15,59,59],[2054,10,4,1,59,59],
+          '2054040416:00:00','2054040502:00:00','2054100315:59:59','2054100401:59:59' ],
+        [ [2054,10,3,16,0,0],[2054,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2055,4,3,15,59,59],[2055,4,4,2,59,59],
+          '2054100316:00:00','2054100403:00:00','2055040315:59:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,0,0],[2055,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2055,10,2,15,59,59],[2055,10,3,1,59,59],
+          '2055040316:00:00','2055040402:00:00','2055100215:59:59','2055100301:59:59' ],
+        [ [2055,10,2,16,0,0],[2055,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2056,4,1,15,59,59],[2056,4,2,2,59,59],
+          '2055100216:00:00','2055100303:00:00','2056040115:59:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,0,0],[2056,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2056,9,30,15,59,59],[2056,10,1,1,59,59],
+          '2056040116:00:00','2056040202:00:00','2056093015:59:59','2056100101:59:59' ],
+        [ [2056,9,30,16,0,0],[2056,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2057,3,31,15,59,59],[2057,4,1,2,59,59],
+          '2056093016:00:00','2056100103:00:00','2057033115:59:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,0,0],[2057,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2057,10,6,15,59,59],[2057,10,7,1,59,59],
+          '2057033116:00:00','2057040102:00:00','2057100615:59:59','2057100701:59:59' ],
+        [ [2057,10,6,16,0,0],[2057,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2058,4,6,15,59,59],[2058,4,7,2,59,59],
+          '2057100616:00:00','2057100703:00:00','2058040615:59:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,0,0],[2058,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2058,10,5,15,59,59],[2058,10,6,1,59,59],
+          '2058040616:00:00','2058040702:00:00','2058100515:59:59','2058100601:59:59' ],
+        [ [2058,10,5,16,0,0],[2058,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2059,4,5,15,59,59],[2059,4,6,2,59,59],
+          '2058100516:00:00','2058100603:00:00','2059040515:59:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,0,0],[2059,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2059,10,4,15,59,59],[2059,10,5,1,59,59],
+          '2059040516:00:00','2059040602:00:00','2059100415:59:59','2059100501:59:59' ],
+        [ [2059,10,4,16,0,0],[2059,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2060,4,3,15,59,59],[2060,4,4,2,59,59],
+          '2059100416:00:00','2059100503:00:00','2060040315:59:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,0,0],[2060,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2060,10,2,15,59,59],[2060,10,3,1,59,59],
+          '2060040316:00:00','2060040402:00:00','2060100215:59:59','2060100301:59:59' ],
+        [ [2060,10,2,16,0,0],[2060,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2061,4,2,15,59,59],[2061,4,3,2,59,59],
+          '2060100216:00:00','2060100303:00:00','2061040215:59:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,0,0],[2061,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2061,10,1,15,59,59],[2061,10,2,1,59,59],
+          '2061040216:00:00','2061040302:00:00','2061100115:59:59','2061100201:59:59' ],
+        [ [2061,10,1,16,0,0],[2061,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2062,4,1,15,59,59],[2062,4,2,2,59,59],
+          '2061100116:00:00','2061100203:00:00','2062040115:59:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,0,0],[2062,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2062,9,30,15,59,59],[2062,10,1,1,59,59],
+          '2062040116:00:00','2062040202:00:00','2062093015:59:59','2062100101:59:59' ],
+        [ [2062,9,30,16,0,0],[2062,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2063,3,31,15,59,59],[2063,4,1,2,59,59],
+          '2062093016:00:00','2062100103:00:00','2063033115:59:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,0,0],[2063,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2063,10,6,15,59,59],[2063,10,7,1,59,59],
+          '2063033116:00:00','2063040102:00:00','2063100615:59:59','2063100701:59:59' ],
+        [ [2063,10,6,16,0,0],[2063,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2064,4,5,15,59,59],[2064,4,6,2,59,59],
+          '2063100616:00:00','2063100703:00:00','2064040515:59:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,0,0],[2064,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2064,10,4,15,59,59],[2064,10,5,1,59,59],
+          '2064040516:00:00','2064040602:00:00','2064100415:59:59','2064100501:59:59' ],
+        [ [2064,10,4,16,0,0],[2064,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2065,4,4,15,59,59],[2065,4,5,2,59,59],
+          '2064100416:00:00','2064100503:00:00','2065040415:59:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,0,0],[2065,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2065,10,3,15,59,59],[2065,10,4,1,59,59],
+          '2065040416:00:00','2065040502:00:00','2065100315:59:59','2065100401:59:59' ],
+        [ [2065,10,3,16,0,0],[2065,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2066,4,3,15,59,59],[2066,4,4,2,59,59],
+          '2065100316:00:00','2065100403:00:00','2066040315:59:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,0,0],[2066,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2066,10,2,15,59,59],[2066,10,3,1,59,59],
+          '2066040316:00:00','2066040402:00:00','2066100215:59:59','2066100301:59:59' ],
+        [ [2066,10,2,16,0,0],[2066,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2067,4,2,15,59,59],[2067,4,3,2,59,59],
+          '2066100216:00:00','2066100303:00:00','2067040215:59:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,0,0],[2067,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2067,10,1,15,59,59],[2067,10,2,1,59,59],
+          '2067040216:00:00','2067040302:00:00','2067100115:59:59','2067100201:59:59' ],
+        [ [2067,10,1,16,0,0],[2067,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2068,3,31,15,59,59],[2068,4,1,2,59,59],
+          '2067100116:00:00','2067100203:00:00','2068033115:59:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+11:00:00',
+                'stdoff' => '+10:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AEST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AEDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aulind00.pm b/lib/Date/Manip/TZ/aulind00.pm
new file mode 100644
index 0000000..7d157d5
--- /dev/null
+++ b/lib/Date/Manip/TZ/aulind00.pm
@@ -0,0 +1,151 @@
+package #
+Date::Manip::TZ::aulind00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,55,56],'+09:55:56',[9,55,56],
+          'LMT',0,[1894,12,31,14,4,3],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010209:55:56','1894123114:04:03','1894123123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,12,31,14,4,4],[1895,1,1,0,4,4],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,12,31,14,0,59],[1917,1,1,0,0,59],
+          '1894123114:04:04','1895010100:04:04','1916123114:00:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,1,0],[1917,1,1,1,1,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916123114:01:00','1917010101:01:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1971103015:59:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1989102815:59:59','1989102901:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,3,15,59,59],[1990,3,4,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990030315:59:59','1990030402:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,3,16,0,0],[1990,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990030316:00:00','1990030402:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,2,15,59,59],[1991,3,3,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991030215:59:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,0,0],[1991,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,26,15,59,59],[1991,10,27,1,59,59],
+          '1991030216:00:00','1991030302:00:00','1991102615:59:59','1991102701:59:59' ],
+        [ [1991,10,26,16,0,0],[1991,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,2,29,15,59,59],[1992,3,1,2,59,59],
+          '1991102616:00:00','1991102703:00:00','1992022915:59:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,16,0,0],[1992,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,24,15,59,59],[1992,10,25,1,59,59],
+          '1992022916:00:00','1992030102:00:00','1992102415:59:59','1992102501:59:59' ],
+        [ [1992,10,24,16,0,0],[1992,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,6,15,59,59],[1993,3,7,2,59,59],
+          '1992102416:00:00','1992102503:00:00','1993030615:59:59','1993030702:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,16,0,0],[1993,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,30,15,59,59],[1993,10,31,1,59,59],
+          '1993030616:00:00','1993030702:00:00','1993103015:59:59','1993103101:59:59' ],
+        [ [1993,10,30,16,0,0],[1993,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,5,15,59,59],[1994,3,6,2,59,59],
+          '1993103016:00:00','1993103103:00:00','1994030515:59:59','1994030602:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,5,16,0,0],[1994,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '1994030516:00:00','1994030602:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aulord00.pm b/lib/Date/Manip/TZ/aulord00.pm
new file mode 100644
index 0000000..a82409d
--- /dev/null
+++ b/lib/Date/Manip/TZ/aulord00.pm
@@ -0,0 +1,856 @@
+package #
+Date::Manip::TZ::aulord00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,36,20],'+10:36:20',[10,36,20],
+          'LMT',0,[1895,1,31,13,23,39],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010210:36:20','1895013113:23:39','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,13,23,40],[1895,1,31,23,23,40],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,2,28,13,59,59],[1981,2,28,23,59,59],
+          '1895013113:23:40','1895013123:23:40','1981022813:59:59','1981022823:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,14,0,0],[1981,3,1,0,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1981,10,24,15,29,59],[1981,10,25,1,59,59],
+          '1981022814:00:00','1981030100:30:00','1981102415:29:59','1981102501:59:59' ],
+        [ [1981,10,24,15,30,0],[1981,10,25,3,0,0],'+11:30:00',[11,30,0],
+          '+1130',1,[1982,3,6,14,29,59],[1982,3,7,1,59,59],
+          '1981102415:30:00','1981102503:00:00','1982030614:29:59','1982030701:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,6,14,30,0],[1982,3,7,1,0,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1982,10,30,15,29,59],[1982,10,31,1,59,59],
+          '1982030614:30:00','1982030701:00:00','1982103015:29:59','1982103101:59:59' ],
+        [ [1982,10,30,15,30,0],[1982,10,31,3,0,0],'+11:30:00',[11,30,0],
+          '+1130',1,[1983,3,5,14,29,59],[1983,3,6,1,59,59],
+          '1982103015:30:00','1982103103:00:00','1983030514:29:59','1983030601:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,14,30,0],[1983,3,6,1,0,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1983,10,29,15,29,59],[1983,10,30,1,59,59],
+          '1983030514:30:00','1983030601:00:00','1983102915:29:59','1983103001:59:59' ],
+        [ [1983,10,29,15,30,0],[1983,10,30,3,0,0],'+11:30:00',[11,30,0],
+          '+1130',1,[1984,3,3,14,29,59],[1984,3,4,1,59,59],
+          '1983102915:30:00','1983103003:00:00','1984030314:29:59','1984030401:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,14,30,0],[1984,3,4,1,0,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1984,10,27,15,29,59],[1984,10,28,1,59,59],
+          '1984030314:30:00','1984030401:00:00','1984102715:29:59','1984102801:59:59' ],
+        [ [1984,10,27,15,30,0],[1984,10,28,3,0,0],'+11:30:00',[11,30,0],
+          '+1130',1,[1985,3,2,14,29,59],[1985,3,3,1,59,59],
+          '1984102715:30:00','1984102803:00:00','1985030214:29:59','1985030301:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,14,30,0],[1985,3,3,1,0,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1985,10,26,15,29,59],[1985,10,27,1,59,59],
+          '1985030214:30:00','1985030301:00:00','1985102615:29:59','1985102701:59:59' ],
+        [ [1985,10,26,15,30,0],[1985,10,27,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1986,3,15,14,59,59],[1986,3,16,1,59,59],
+          '1985102615:30:00','1985102702:30:00','1986031514:59:59','1986031601:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,15,0,0],[1986,3,16,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1986,10,18,15,29,59],[1986,10,19,1,59,59],
+          '1986031515:00:00','1986031601:30:00','1986101815:29:59','1986101901:59:59' ],
+        [ [1986,10,18,15,30,0],[1986,10,19,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1987,3,14,14,59,59],[1987,3,15,1,59,59],
+          '1986101815:30:00','1986101902:30:00','1987031414:59:59','1987031501:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,15,0,0],[1987,3,15,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1987,10,24,15,29,59],[1987,10,25,1,59,59],
+          '1987031415:00:00','1987031501:30:00','1987102415:29:59','1987102501:59:59' ],
+        [ [1987,10,24,15,30,0],[1987,10,25,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1988,3,19,14,59,59],[1988,3,20,1,59,59],
+          '1987102415:30:00','1987102502:30:00','1988031914:59:59','1988032001:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,15,0,0],[1988,3,20,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1988,10,29,15,29,59],[1988,10,30,1,59,59],
+          '1988031915:00:00','1988032001:30:00','1988102915:29:59','1988103001:59:59' ],
+        [ [1988,10,29,15,30,0],[1988,10,30,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1989,3,18,14,59,59],[1989,3,19,1,59,59],
+          '1988102915:30:00','1988103002:30:00','1989031814:59:59','1989031901:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,15,0,0],[1989,3,19,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1989,10,28,15,29,59],[1989,10,29,1,59,59],
+          '1989031815:00:00','1989031901:30:00','1989102815:29:59','1989102901:59:59' ],
+        [ [1989,10,28,15,30,0],[1989,10,29,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1990,3,3,14,59,59],[1990,3,4,1,59,59],
+          '1989102815:30:00','1989102902:30:00','1990030314:59:59','1990030401:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,3,15,0,0],[1990,3,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1990,10,27,15,29,59],[1990,10,28,1,59,59],
+          '1990030315:00:00','1990030401:30:00','1990102715:29:59','1990102801:59:59' ],
+        [ [1990,10,27,15,30,0],[1990,10,28,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1991,3,2,14,59,59],[1991,3,3,1,59,59],
+          '1990102715:30:00','1990102802:30:00','1991030214:59:59','1991030301:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,15,0,0],[1991,3,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1991,10,26,15,29,59],[1991,10,27,1,59,59],
+          '1991030215:00:00','1991030301:30:00','1991102615:29:59','1991102701:59:59' ],
+        [ [1991,10,26,15,30,0],[1991,10,27,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1992,2,29,14,59,59],[1992,3,1,1,59,59],
+          '1991102615:30:00','1991102702:30:00','1992022914:59:59','1992030101:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,15,0,0],[1992,3,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1992,10,24,15,29,59],[1992,10,25,1,59,59],
+          '1992022915:00:00','1992030101:30:00','1992102415:29:59','1992102501:59:59' ],
+        [ [1992,10,24,15,30,0],[1992,10,25,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1993,3,6,14,59,59],[1993,3,7,1,59,59],
+          '1992102415:30:00','1992102502:30:00','1993030614:59:59','1993030701:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,15,0,0],[1993,3,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1993,10,30,15,29,59],[1993,10,31,1,59,59],
+          '1993030615:00:00','1993030701:30:00','1993103015:29:59','1993103101:59:59' ],
+        [ [1993,10,30,15,30,0],[1993,10,31,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1994,3,5,14,59,59],[1994,3,6,1,59,59],
+          '1993103015:30:00','1993103102:30:00','1994030514:59:59','1994030601:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,5,15,0,0],[1994,3,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1994,10,29,15,29,59],[1994,10,30,1,59,59],
+          '1994030515:00:00','1994030601:30:00','1994102915:29:59','1994103001:59:59' ],
+        [ [1994,10,29,15,30,0],[1994,10,30,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1995,3,4,14,59,59],[1995,3,5,1,59,59],
+          '1994102915:30:00','1994103002:30:00','1995030414:59:59','1995030501:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,4,15,0,0],[1995,3,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1995,10,28,15,29,59],[1995,10,29,1,59,59],
+          '1995030415:00:00','1995030501:30:00','1995102815:29:59','1995102901:59:59' ],
+        [ [1995,10,28,15,30,0],[1995,10,29,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1996,3,30,14,59,59],[1996,3,31,1,59,59],
+          '1995102815:30:00','1995102902:30:00','1996033014:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,15,0,0],[1996,3,31,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1996,10,26,15,29,59],[1996,10,27,1,59,59],
+          '1996033015:00:00','1996033101:30:00','1996102615:29:59','1996102701:59:59' ],
+        [ [1996,10,26,15,30,0],[1996,10,27,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1997,3,29,14,59,59],[1997,3,30,1,59,59],
+          '1996102615:30:00','1996102702:30:00','1997032914:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,15,0,0],[1997,3,30,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1997,10,25,15,29,59],[1997,10,26,1,59,59],
+          '1997032915:00:00','1997033001:30:00','1997102515:29:59','1997102601:59:59' ],
+        [ [1997,10,25,15,30,0],[1997,10,26,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1998,3,28,14,59,59],[1998,3,29,1,59,59],
+          '1997102515:30:00','1997102602:30:00','1998032814:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,15,0,0],[1998,3,29,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1998,10,24,15,29,59],[1998,10,25,1,59,59],
+          '1998032815:00:00','1998032901:30:00','1998102415:29:59','1998102501:59:59' ],
+        [ [1998,10,24,15,30,0],[1998,10,25,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[1999,3,27,14,59,59],[1999,3,28,1,59,59],
+          '1998102415:30:00','1998102502:30:00','1999032714:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,15,0,0],[1999,3,28,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[1999,10,30,15,29,59],[1999,10,31,1,59,59],
+          '1999032715:00:00','1999032801:30:00','1999103015:29:59','1999103101:59:59' ],
+        [ [1999,10,30,15,30,0],[1999,10,31,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2000,3,25,14,59,59],[2000,3,26,1,59,59],
+          '1999103015:30:00','1999103102:30:00','2000032514:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,15,0,0],[2000,3,26,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2000,8,26,15,29,59],[2000,8,27,1,59,59],
+          '2000032515:00:00','2000032601:30:00','2000082615:29:59','2000082701:59:59' ],
+        [ [2000,8,26,15,30,0],[2000,8,27,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2001,3,24,14,59,59],[2001,3,25,1,59,59],
+          '2000082615:30:00','2000082702:30:00','2001032414:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,15,0,0],[2001,3,25,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2001,10,27,15,29,59],[2001,10,28,1,59,59],
+          '2001032415:00:00','2001032501:30:00','2001102715:29:59','2001102801:59:59' ],
+        [ [2001,10,27,15,30,0],[2001,10,28,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2002,3,30,14,59,59],[2002,3,31,1,59,59],
+          '2001102715:30:00','2001102802:30:00','2002033014:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,15,0,0],[2002,3,31,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2002,10,26,15,29,59],[2002,10,27,1,59,59],
+          '2002033015:00:00','2002033101:30:00','2002102615:29:59','2002102701:59:59' ],
+        [ [2002,10,26,15,30,0],[2002,10,27,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2003,3,29,14,59,59],[2003,3,30,1,59,59],
+          '2002102615:30:00','2002102702:30:00','2003032914:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,15,0,0],[2003,3,30,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2003,10,25,15,29,59],[2003,10,26,1,59,59],
+          '2003032915:00:00','2003033001:30:00','2003102515:29:59','2003102601:59:59' ],
+        [ [2003,10,25,15,30,0],[2003,10,26,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2004,3,27,14,59,59],[2004,3,28,1,59,59],
+          '2003102515:30:00','2003102602:30:00','2004032714:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,15,0,0],[2004,3,28,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2004,10,30,15,29,59],[2004,10,31,1,59,59],
+          '2004032715:00:00','2004032801:30:00','2004103015:29:59','2004103101:59:59' ],
+        [ [2004,10,30,15,30,0],[2004,10,31,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2005,3,26,14,59,59],[2005,3,27,1,59,59],
+          '2004103015:30:00','2004103102:30:00','2005032614:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,15,0,0],[2005,3,27,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2005,10,29,15,29,59],[2005,10,30,1,59,59],
+          '2005032615:00:00','2005032701:30:00','2005102915:29:59','2005103001:59:59' ],
+        [ [2005,10,29,15,30,0],[2005,10,30,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2006,4,1,14,59,59],[2006,4,2,1,59,59],
+          '2005102915:30:00','2005103002:30:00','2006040114:59:59','2006040201:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,15,0,0],[2006,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2006,10,28,15,29,59],[2006,10,29,1,59,59],
+          '2006040115:00:00','2006040201:30:00','2006102815:29:59','2006102901:59:59' ],
+        [ [2006,10,28,15,30,0],[2006,10,29,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2007,3,24,14,59,59],[2007,3,25,1,59,59],
+          '2006102815:30:00','2006102902:30:00','2007032414:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,15,0,0],[2007,3,25,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2007,10,27,15,29,59],[2007,10,28,1,59,59],
+          '2007032415:00:00','2007032501:30:00','2007102715:29:59','2007102801:59:59' ],
+        [ [2007,10,27,15,30,0],[2007,10,28,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2008,4,5,14,59,59],[2008,4,6,1,59,59],
+          '2007102715:30:00','2007102802:30:00','2008040514:59:59','2008040601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,15,0,0],[2008,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2008,10,4,15,29,59],[2008,10,5,1,59,59],
+          '2008040515:00:00','2008040601:30:00','2008100415:29:59','2008100501:59:59' ],
+        [ [2008,10,4,15,30,0],[2008,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2009,4,4,14,59,59],[2009,4,5,1,59,59],
+          '2008100415:30:00','2008100502:30:00','2009040414:59:59','2009040501:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,15,0,0],[2009,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2009,10,3,15,29,59],[2009,10,4,1,59,59],
+          '2009040415:00:00','2009040501:30:00','2009100315:29:59','2009100401:59:59' ],
+        [ [2009,10,3,15,30,0],[2009,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2010,4,3,14,59,59],[2010,4,4,1,59,59],
+          '2009100315:30:00','2009100402:30:00','2010040314:59:59','2010040401:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,15,0,0],[2010,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2010,10,2,15,29,59],[2010,10,3,1,59,59],
+          '2010040315:00:00','2010040401:30:00','2010100215:29:59','2010100301:59:59' ],
+        [ [2010,10,2,15,30,0],[2010,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2011,4,2,14,59,59],[2011,4,3,1,59,59],
+          '2010100215:30:00','2010100302:30:00','2011040214:59:59','2011040301:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,15,0,0],[2011,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2011,10,1,15,29,59],[2011,10,2,1,59,59],
+          '2011040215:00:00','2011040301:30:00','2011100115:29:59','2011100201:59:59' ],
+        [ [2011,10,1,15,30,0],[2011,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2012,3,31,14,59,59],[2012,4,1,1,59,59],
+          '2011100115:30:00','2011100202:30:00','2012033114:59:59','2012040101:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,15,0,0],[2012,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2012,10,6,15,29,59],[2012,10,7,1,59,59],
+          '2012033115:00:00','2012040101:30:00','2012100615:29:59','2012100701:59:59' ],
+        [ [2012,10,6,15,30,0],[2012,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2013,4,6,14,59,59],[2013,4,7,1,59,59],
+          '2012100615:30:00','2012100702:30:00','2013040614:59:59','2013040701:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,15,0,0],[2013,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2013,10,5,15,29,59],[2013,10,6,1,59,59],
+          '2013040615:00:00','2013040701:30:00','2013100515:29:59','2013100601:59:59' ],
+        [ [2013,10,5,15,30,0],[2013,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2014,4,5,14,59,59],[2014,4,6,1,59,59],
+          '2013100515:30:00','2013100602:30:00','2014040514:59:59','2014040601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,15,0,0],[2014,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2014,10,4,15,29,59],[2014,10,5,1,59,59],
+          '2014040515:00:00','2014040601:30:00','2014100415:29:59','2014100501:59:59' ],
+        [ [2014,10,4,15,30,0],[2014,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2015,4,4,14,59,59],[2015,4,5,1,59,59],
+          '2014100415:30:00','2014100502:30:00','2015040414:59:59','2015040501:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,15,0,0],[2015,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2015,10,3,15,29,59],[2015,10,4,1,59,59],
+          '2015040415:00:00','2015040501:30:00','2015100315:29:59','2015100401:59:59' ],
+        [ [2015,10,3,15,30,0],[2015,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2016,4,2,14,59,59],[2016,4,3,1,59,59],
+          '2015100315:30:00','2015100402:30:00','2016040214:59:59','2016040301:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,15,0,0],[2016,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2016,10,1,15,29,59],[2016,10,2,1,59,59],
+          '2016040215:00:00','2016040301:30:00','2016100115:29:59','2016100201:59:59' ],
+        [ [2016,10,1,15,30,0],[2016,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2017,4,1,14,59,59],[2017,4,2,1,59,59],
+          '2016100115:30:00','2016100202:30:00','2017040114:59:59','2017040201:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,15,0,0],[2017,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2017,9,30,15,29,59],[2017,10,1,1,59,59],
+          '2017040115:00:00','2017040201:30:00','2017093015:29:59','2017100101:59:59' ],
+        [ [2017,9,30,15,30,0],[2017,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2018,3,31,14,59,59],[2018,4,1,1,59,59],
+          '2017093015:30:00','2017100102:30:00','2018033114:59:59','2018040101:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,15,0,0],[2018,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2018,10,6,15,29,59],[2018,10,7,1,59,59],
+          '2018033115:00:00','2018040101:30:00','2018100615:29:59','2018100701:59:59' ],
+        [ [2018,10,6,15,30,0],[2018,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2019,4,6,14,59,59],[2019,4,7,1,59,59],
+          '2018100615:30:00','2018100702:30:00','2019040614:59:59','2019040701:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,15,0,0],[2019,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2019,10,5,15,29,59],[2019,10,6,1,59,59],
+          '2019040615:00:00','2019040701:30:00','2019100515:29:59','2019100601:59:59' ],
+        [ [2019,10,5,15,30,0],[2019,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2020,4,4,14,59,59],[2020,4,5,1,59,59],
+          '2019100515:30:00','2019100602:30:00','2020040414:59:59','2020040501:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,15,0,0],[2020,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2020,10,3,15,29,59],[2020,10,4,1,59,59],
+          '2020040415:00:00','2020040501:30:00','2020100315:29:59','2020100401:59:59' ],
+        [ [2020,10,3,15,30,0],[2020,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2021,4,3,14,59,59],[2021,4,4,1,59,59],
+          '2020100315:30:00','2020100402:30:00','2021040314:59:59','2021040401:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,15,0,0],[2021,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2021,10,2,15,29,59],[2021,10,3,1,59,59],
+          '2021040315:00:00','2021040401:30:00','2021100215:29:59','2021100301:59:59' ],
+        [ [2021,10,2,15,30,0],[2021,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2022,4,2,14,59,59],[2022,4,3,1,59,59],
+          '2021100215:30:00','2021100302:30:00','2022040214:59:59','2022040301:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,15,0,0],[2022,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2022,10,1,15,29,59],[2022,10,2,1,59,59],
+          '2022040215:00:00','2022040301:30:00','2022100115:29:59','2022100201:59:59' ],
+        [ [2022,10,1,15,30,0],[2022,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2023,4,1,14,59,59],[2023,4,2,1,59,59],
+          '2022100115:30:00','2022100202:30:00','2023040114:59:59','2023040201:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,15,0,0],[2023,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2023,9,30,15,29,59],[2023,10,1,1,59,59],
+          '2023040115:00:00','2023040201:30:00','2023093015:29:59','2023100101:59:59' ],
+        [ [2023,9,30,15,30,0],[2023,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2024,4,6,14,59,59],[2024,4,7,1,59,59],
+          '2023093015:30:00','2023100102:30:00','2024040614:59:59','2024040701:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,15,0,0],[2024,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2024,10,5,15,29,59],[2024,10,6,1,59,59],
+          '2024040615:00:00','2024040701:30:00','2024100515:29:59','2024100601:59:59' ],
+        [ [2024,10,5,15,30,0],[2024,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2025,4,5,14,59,59],[2025,4,6,1,59,59],
+          '2024100515:30:00','2024100602:30:00','2025040514:59:59','2025040601:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,15,0,0],[2025,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2025,10,4,15,29,59],[2025,10,5,1,59,59],
+          '2025040515:00:00','2025040601:30:00','2025100415:29:59','2025100501:59:59' ],
+        [ [2025,10,4,15,30,0],[2025,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2026,4,4,14,59,59],[2026,4,5,1,59,59],
+          '2025100415:30:00','2025100502:30:00','2026040414:59:59','2026040501:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,15,0,0],[2026,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2026,10,3,15,29,59],[2026,10,4,1,59,59],
+          '2026040415:00:00','2026040501:30:00','2026100315:29:59','2026100401:59:59' ],
+        [ [2026,10,3,15,30,0],[2026,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2027,4,3,14,59,59],[2027,4,4,1,59,59],
+          '2026100315:30:00','2026100402:30:00','2027040314:59:59','2027040401:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,15,0,0],[2027,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2027,10,2,15,29,59],[2027,10,3,1,59,59],
+          '2027040315:00:00','2027040401:30:00','2027100215:29:59','2027100301:59:59' ],
+        [ [2027,10,2,15,30,0],[2027,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2028,4,1,14,59,59],[2028,4,2,1,59,59],
+          '2027100215:30:00','2027100302:30:00','2028040114:59:59','2028040201:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,15,0,0],[2028,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2028,9,30,15,29,59],[2028,10,1,1,59,59],
+          '2028040115:00:00','2028040201:30:00','2028093015:29:59','2028100101:59:59' ],
+        [ [2028,9,30,15,30,0],[2028,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2029,3,31,14,59,59],[2029,4,1,1,59,59],
+          '2028093015:30:00','2028100102:30:00','2029033114:59:59','2029040101:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,15,0,0],[2029,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2029,10,6,15,29,59],[2029,10,7,1,59,59],
+          '2029033115:00:00','2029040101:30:00','2029100615:29:59','2029100701:59:59' ],
+        [ [2029,10,6,15,30,0],[2029,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2030,4,6,14,59,59],[2030,4,7,1,59,59],
+          '2029100615:30:00','2029100702:30:00','2030040614:59:59','2030040701:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,15,0,0],[2030,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2030,10,5,15,29,59],[2030,10,6,1,59,59],
+          '2030040615:00:00','2030040701:30:00','2030100515:29:59','2030100601:59:59' ],
+        [ [2030,10,5,15,30,0],[2030,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2031,4,5,14,59,59],[2031,4,6,1,59,59],
+          '2030100515:30:00','2030100602:30:00','2031040514:59:59','2031040601:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,15,0,0],[2031,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2031,10,4,15,29,59],[2031,10,5,1,59,59],
+          '2031040515:00:00','2031040601:30:00','2031100415:29:59','2031100501:59:59' ],
+        [ [2031,10,4,15,30,0],[2031,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2032,4,3,14,59,59],[2032,4,4,1,59,59],
+          '2031100415:30:00','2031100502:30:00','2032040314:59:59','2032040401:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,15,0,0],[2032,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2032,10,2,15,29,59],[2032,10,3,1,59,59],
+          '2032040315:00:00','2032040401:30:00','2032100215:29:59','2032100301:59:59' ],
+        [ [2032,10,2,15,30,0],[2032,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2033,4,2,14,59,59],[2033,4,3,1,59,59],
+          '2032100215:30:00','2032100302:30:00','2033040214:59:59','2033040301:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,15,0,0],[2033,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2033,10,1,15,29,59],[2033,10,2,1,59,59],
+          '2033040215:00:00','2033040301:30:00','2033100115:29:59','2033100201:59:59' ],
+        [ [2033,10,1,15,30,0],[2033,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2034,4,1,14,59,59],[2034,4,2,1,59,59],
+          '2033100115:30:00','2033100202:30:00','2034040114:59:59','2034040201:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,15,0,0],[2034,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2034,9,30,15,29,59],[2034,10,1,1,59,59],
+          '2034040115:00:00','2034040201:30:00','2034093015:29:59','2034100101:59:59' ],
+        [ [2034,9,30,15,30,0],[2034,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2035,3,31,14,59,59],[2035,4,1,1,59,59],
+          '2034093015:30:00','2034100102:30:00','2035033114:59:59','2035040101:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,15,0,0],[2035,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2035,10,6,15,29,59],[2035,10,7,1,59,59],
+          '2035033115:00:00','2035040101:30:00','2035100615:29:59','2035100701:59:59' ],
+        [ [2035,10,6,15,30,0],[2035,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2036,4,5,14,59,59],[2036,4,6,1,59,59],
+          '2035100615:30:00','2035100702:30:00','2036040514:59:59','2036040601:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,15,0,0],[2036,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2036,10,4,15,29,59],[2036,10,5,1,59,59],
+          '2036040515:00:00','2036040601:30:00','2036100415:29:59','2036100501:59:59' ],
+        [ [2036,10,4,15,30,0],[2036,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2037,4,4,14,59,59],[2037,4,5,1,59,59],
+          '2036100415:30:00','2036100502:30:00','2037040414:59:59','2037040501:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,15,0,0],[2037,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2037,10,3,15,29,59],[2037,10,4,1,59,59],
+          '2037040415:00:00','2037040501:30:00','2037100315:29:59','2037100401:59:59' ],
+        [ [2037,10,3,15,30,0],[2037,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2038,4,3,14,59,59],[2038,4,4,1,59,59],
+          '2037100315:30:00','2037100402:30:00','2038040314:59:59','2038040401:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,15,0,0],[2038,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2038,10,2,15,29,59],[2038,10,3,1,59,59],
+          '2038040315:00:00','2038040401:30:00','2038100215:29:59','2038100301:59:59' ],
+        [ [2038,10,2,15,30,0],[2038,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2039,4,2,14,59,59],[2039,4,3,1,59,59],
+          '2038100215:30:00','2038100302:30:00','2039040214:59:59','2039040301:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,15,0,0],[2039,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2039,10,1,15,29,59],[2039,10,2,1,59,59],
+          '2039040215:00:00','2039040301:30:00','2039100115:29:59','2039100201:59:59' ],
+        [ [2039,10,1,15,30,0],[2039,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2040,3,31,14,59,59],[2040,4,1,1,59,59],
+          '2039100115:30:00','2039100202:30:00','2040033114:59:59','2040040101:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,15,0,0],[2040,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2040,10,6,15,29,59],[2040,10,7,1,59,59],
+          '2040033115:00:00','2040040101:30:00','2040100615:29:59','2040100701:59:59' ],
+        [ [2040,10,6,15,30,0],[2040,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2041,4,6,14,59,59],[2041,4,7,1,59,59],
+          '2040100615:30:00','2040100702:30:00','2041040614:59:59','2041040701:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,15,0,0],[2041,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2041,10,5,15,29,59],[2041,10,6,1,59,59],
+          '2041040615:00:00','2041040701:30:00','2041100515:29:59','2041100601:59:59' ],
+        [ [2041,10,5,15,30,0],[2041,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2042,4,5,14,59,59],[2042,4,6,1,59,59],
+          '2041100515:30:00','2041100602:30:00','2042040514:59:59','2042040601:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,15,0,0],[2042,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2042,10,4,15,29,59],[2042,10,5,1,59,59],
+          '2042040515:00:00','2042040601:30:00','2042100415:29:59','2042100501:59:59' ],
+        [ [2042,10,4,15,30,0],[2042,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2043,4,4,14,59,59],[2043,4,5,1,59,59],
+          '2042100415:30:00','2042100502:30:00','2043040414:59:59','2043040501:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,15,0,0],[2043,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2043,10,3,15,29,59],[2043,10,4,1,59,59],
+          '2043040415:00:00','2043040501:30:00','2043100315:29:59','2043100401:59:59' ],
+        [ [2043,10,3,15,30,0],[2043,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2044,4,2,14,59,59],[2044,4,3,1,59,59],
+          '2043100315:30:00','2043100402:30:00','2044040214:59:59','2044040301:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,15,0,0],[2044,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2044,10,1,15,29,59],[2044,10,2,1,59,59],
+          '2044040215:00:00','2044040301:30:00','2044100115:29:59','2044100201:59:59' ],
+        [ [2044,10,1,15,30,0],[2044,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2045,4,1,14,59,59],[2045,4,2,1,59,59],
+          '2044100115:30:00','2044100202:30:00','2045040114:59:59','2045040201:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,15,0,0],[2045,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2045,9,30,15,29,59],[2045,10,1,1,59,59],
+          '2045040115:00:00','2045040201:30:00','2045093015:29:59','2045100101:59:59' ],
+        [ [2045,9,30,15,30,0],[2045,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2046,3,31,14,59,59],[2046,4,1,1,59,59],
+          '2045093015:30:00','2045100102:30:00','2046033114:59:59','2046040101:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,15,0,0],[2046,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2046,10,6,15,29,59],[2046,10,7,1,59,59],
+          '2046033115:00:00','2046040101:30:00','2046100615:29:59','2046100701:59:59' ],
+        [ [2046,10,6,15,30,0],[2046,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2047,4,6,14,59,59],[2047,4,7,1,59,59],
+          '2046100615:30:00','2046100702:30:00','2047040614:59:59','2047040701:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,15,0,0],[2047,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2047,10,5,15,29,59],[2047,10,6,1,59,59],
+          '2047040615:00:00','2047040701:30:00','2047100515:29:59','2047100601:59:59' ],
+        [ [2047,10,5,15,30,0],[2047,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2048,4,4,14,59,59],[2048,4,5,1,59,59],
+          '2047100515:30:00','2047100602:30:00','2048040414:59:59','2048040501:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,15,0,0],[2048,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2048,10,3,15,29,59],[2048,10,4,1,59,59],
+          '2048040415:00:00','2048040501:30:00','2048100315:29:59','2048100401:59:59' ],
+        [ [2048,10,3,15,30,0],[2048,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2049,4,3,14,59,59],[2049,4,4,1,59,59],
+          '2048100315:30:00','2048100402:30:00','2049040314:59:59','2049040401:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,15,0,0],[2049,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2049,10,2,15,29,59],[2049,10,3,1,59,59],
+          '2049040315:00:00','2049040401:30:00','2049100215:29:59','2049100301:59:59' ],
+        [ [2049,10,2,15,30,0],[2049,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2050,4,2,14,59,59],[2050,4,3,1,59,59],
+          '2049100215:30:00','2049100302:30:00','2050040214:59:59','2050040301:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,15,0,0],[2050,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2050,10,1,15,29,59],[2050,10,2,1,59,59],
+          '2050040215:00:00','2050040301:30:00','2050100115:29:59','2050100201:59:59' ],
+        [ [2050,10,1,15,30,0],[2050,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2051,4,1,14,59,59],[2051,4,2,1,59,59],
+          '2050100115:30:00','2050100202:30:00','2051040114:59:59','2051040201:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,15,0,0],[2051,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2051,9,30,15,29,59],[2051,10,1,1,59,59],
+          '2051040115:00:00','2051040201:30:00','2051093015:29:59','2051100101:59:59' ],
+        [ [2051,9,30,15,30,0],[2051,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2052,4,6,14,59,59],[2052,4,7,1,59,59],
+          '2051093015:30:00','2051100102:30:00','2052040614:59:59','2052040701:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,15,0,0],[2052,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2052,10,5,15,29,59],[2052,10,6,1,59,59],
+          '2052040615:00:00','2052040701:30:00','2052100515:29:59','2052100601:59:59' ],
+        [ [2052,10,5,15,30,0],[2052,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2053,4,5,14,59,59],[2053,4,6,1,59,59],
+          '2052100515:30:00','2052100602:30:00','2053040514:59:59','2053040601:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,15,0,0],[2053,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2053,10,4,15,29,59],[2053,10,5,1,59,59],
+          '2053040515:00:00','2053040601:30:00','2053100415:29:59','2053100501:59:59' ],
+        [ [2053,10,4,15,30,0],[2053,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2054,4,4,14,59,59],[2054,4,5,1,59,59],
+          '2053100415:30:00','2053100502:30:00','2054040414:59:59','2054040501:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,15,0,0],[2054,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2054,10,3,15,29,59],[2054,10,4,1,59,59],
+          '2054040415:00:00','2054040501:30:00','2054100315:29:59','2054100401:59:59' ],
+        [ [2054,10,3,15,30,0],[2054,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2055,4,3,14,59,59],[2055,4,4,1,59,59],
+          '2054100315:30:00','2054100402:30:00','2055040314:59:59','2055040401:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,15,0,0],[2055,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2055,10,2,15,29,59],[2055,10,3,1,59,59],
+          '2055040315:00:00','2055040401:30:00','2055100215:29:59','2055100301:59:59' ],
+        [ [2055,10,2,15,30,0],[2055,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2056,4,1,14,59,59],[2056,4,2,1,59,59],
+          '2055100215:30:00','2055100302:30:00','2056040114:59:59','2056040201:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,15,0,0],[2056,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2056,9,30,15,29,59],[2056,10,1,1,59,59],
+          '2056040115:00:00','2056040201:30:00','2056093015:29:59','2056100101:59:59' ],
+        [ [2056,9,30,15,30,0],[2056,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2057,3,31,14,59,59],[2057,4,1,1,59,59],
+          '2056093015:30:00','2056100102:30:00','2057033114:59:59','2057040101:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,15,0,0],[2057,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2057,10,6,15,29,59],[2057,10,7,1,59,59],
+          '2057033115:00:00','2057040101:30:00','2057100615:29:59','2057100701:59:59' ],
+        [ [2057,10,6,15,30,0],[2057,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2058,4,6,14,59,59],[2058,4,7,1,59,59],
+          '2057100615:30:00','2057100702:30:00','2058040614:59:59','2058040701:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,15,0,0],[2058,4,7,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2058,10,5,15,29,59],[2058,10,6,1,59,59],
+          '2058040615:00:00','2058040701:30:00','2058100515:29:59','2058100601:59:59' ],
+        [ [2058,10,5,15,30,0],[2058,10,6,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2059,4,5,14,59,59],[2059,4,6,1,59,59],
+          '2058100515:30:00','2058100602:30:00','2059040514:59:59','2059040601:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,15,0,0],[2059,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2059,10,4,15,29,59],[2059,10,5,1,59,59],
+          '2059040515:00:00','2059040601:30:00','2059100415:29:59','2059100501:59:59' ],
+        [ [2059,10,4,15,30,0],[2059,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2060,4,3,14,59,59],[2060,4,4,1,59,59],
+          '2059100415:30:00','2059100502:30:00','2060040314:59:59','2060040401:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,15,0,0],[2060,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2060,10,2,15,29,59],[2060,10,3,1,59,59],
+          '2060040315:00:00','2060040401:30:00','2060100215:29:59','2060100301:59:59' ],
+        [ [2060,10,2,15,30,0],[2060,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2061,4,2,14,59,59],[2061,4,3,1,59,59],
+          '2060100215:30:00','2060100302:30:00','2061040214:59:59','2061040301:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,15,0,0],[2061,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2061,10,1,15,29,59],[2061,10,2,1,59,59],
+          '2061040215:00:00','2061040301:30:00','2061100115:29:59','2061100201:59:59' ],
+        [ [2061,10,1,15,30,0],[2061,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2062,4,1,14,59,59],[2062,4,2,1,59,59],
+          '2061100115:30:00','2061100202:30:00','2062040114:59:59','2062040201:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,15,0,0],[2062,4,2,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2062,9,30,15,29,59],[2062,10,1,1,59,59],
+          '2062040115:00:00','2062040201:30:00','2062093015:29:59','2062100101:59:59' ],
+        [ [2062,9,30,15,30,0],[2062,10,1,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2063,3,31,14,59,59],[2063,4,1,1,59,59],
+          '2062093015:30:00','2062100102:30:00','2063033114:59:59','2063040101:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,15,0,0],[2063,4,1,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2063,10,6,15,29,59],[2063,10,7,1,59,59],
+          '2063033115:00:00','2063040101:30:00','2063100615:29:59','2063100701:59:59' ],
+        [ [2063,10,6,15,30,0],[2063,10,7,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2064,4,5,14,59,59],[2064,4,6,1,59,59],
+          '2063100615:30:00','2063100702:30:00','2064040514:59:59','2064040601:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,15,0,0],[2064,4,6,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2064,10,4,15,29,59],[2064,10,5,1,59,59],
+          '2064040515:00:00','2064040601:30:00','2064100415:29:59','2064100501:59:59' ],
+        [ [2064,10,4,15,30,0],[2064,10,5,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2065,4,4,14,59,59],[2065,4,5,1,59,59],
+          '2064100415:30:00','2064100502:30:00','2065040414:59:59','2065040501:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,15,0,0],[2065,4,5,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2065,10,3,15,29,59],[2065,10,4,1,59,59],
+          '2065040415:00:00','2065040501:30:00','2065100315:29:59','2065100401:59:59' ],
+        [ [2065,10,3,15,30,0],[2065,10,4,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2066,4,3,14,59,59],[2066,4,4,1,59,59],
+          '2065100315:30:00','2065100402:30:00','2066040314:59:59','2066040401:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,15,0,0],[2066,4,4,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2066,10,2,15,29,59],[2066,10,3,1,59,59],
+          '2066040315:00:00','2066040401:30:00','2066100215:29:59','2066100301:59:59' ],
+        [ [2066,10,2,15,30,0],[2066,10,3,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2067,4,2,14,59,59],[2067,4,3,1,59,59],
+          '2066100215:30:00','2066100302:30:00','2067040214:59:59','2067040301:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,15,0,0],[2067,4,3,1,30,0],'+10:30:00',[10,30,0],
+          '+1030',0,[2067,10,1,15,29,59],[2067,10,2,1,59,59],
+          '2067040215:00:00','2067040301:30:00','2067100115:29:59','2067100201:59:59' ],
+        [ [2067,10,1,15,30,0],[2067,10,2,2,30,0],'+11:00:00',[11,0,0],
+          '+11',1,[2068,3,31,14,59,59],[2068,4,1,1,59,59],
+          '2067100115:30:00','2067100202:30:00','2068033114:59:59','2068040101:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+11:00:00',
+                'stdoff' => '+10:30:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '+1030',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+11',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aumelb00.pm b/lib/Date/Manip/TZ/aumelb00.pm
new file mode 100644
index 0000000..5dcc6d6
--- /dev/null
+++ b/lib/Date/Manip/TZ/aumelb00.pm
@@ -0,0 +1,985 @@
+package #
+Date::Manip::TZ::aumelb00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,39,52],'+09:39:52',[9,39,52],
+          'LMT',0,[1895,1,31,14,20,7],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010209:39:52','1895013114:20:07','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,14,20,8],[1895,2,1,0,20,8],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,12,31,14,0,59],[1917,1,1,0,0,59],
+          '1895013114:20:08','1895020100:20:08','1916123114:00:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,1,0],[1917,1,1,1,1,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916123114:01:00','1917010101:01:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1971103015:59:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1972,10,28,15,59,59],[1972,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1972102815:59:59','1972102901:59:59' ],
+        [ [1972,10,28,16,0,0],[1972,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1973,3,3,15,59,59],[1973,3,4,2,59,59],
+          '1972102816:00:00','1972102903:00:00','1973030315:59:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,0,0],[1973,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1973,10,27,15,59,59],[1973,10,28,1,59,59],
+          '1973030316:00:00','1973030402:00:00','1973102715:59:59','1973102801:59:59' ],
+        [ [1973,10,27,16,0,0],[1973,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1974,3,2,15,59,59],[1974,3,3,2,59,59],
+          '1973102716:00:00','1973102803:00:00','1974030215:59:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,0,0],[1974,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1974,10,26,15,59,59],[1974,10,27,1,59,59],
+          '1974030216:00:00','1974030302:00:00','1974102615:59:59','1974102701:59:59' ],
+        [ [1974,10,26,16,0,0],[1974,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1975,3,1,15,59,59],[1975,3,2,2,59,59],
+          '1974102616:00:00','1974102703:00:00','1975030115:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,0,0],[1975,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1975,10,25,15,59,59],[1975,10,26,1,59,59],
+          '1975030116:00:00','1975030202:00:00','1975102515:59:59','1975102601:59:59' ],
+        [ [1975,10,25,16,0,0],[1975,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1976,3,6,15,59,59],[1976,3,7,2,59,59],
+          '1975102516:00:00','1975102603:00:00','1976030615:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,0,0],[1976,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1976,10,30,15,59,59],[1976,10,31,1,59,59],
+          '1976030616:00:00','1976030702:00:00','1976103015:59:59','1976103101:59:59' ],
+        [ [1976,10,30,16,0,0],[1976,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1977,3,5,15,59,59],[1977,3,6,2,59,59],
+          '1976103016:00:00','1976103103:00:00','1977030515:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,0,0],[1977,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1977,10,29,15,59,59],[1977,10,30,1,59,59],
+          '1977030516:00:00','1977030602:00:00','1977102915:59:59','1977103001:59:59' ],
+        [ [1977,10,29,16,0,0],[1977,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1978,3,4,15,59,59],[1978,3,5,2,59,59],
+          '1977102916:00:00','1977103003:00:00','1978030415:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,0,0],[1978,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1978,10,28,15,59,59],[1978,10,29,1,59,59],
+          '1978030416:00:00','1978030502:00:00','1978102815:59:59','1978102901:59:59' ],
+        [ [1978,10,28,16,0,0],[1978,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1979,3,3,15,59,59],[1979,3,4,2,59,59],
+          '1978102816:00:00','1978102903:00:00','1979030315:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,0,0],[1979,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1979,10,27,15,59,59],[1979,10,28,1,59,59],
+          '1979030316:00:00','1979030402:00:00','1979102715:59:59','1979102801:59:59' ],
+        [ [1979,10,27,16,0,0],[1979,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1980,3,1,15,59,59],[1980,3,2,2,59,59],
+          '1979102716:00:00','1979102803:00:00','1980030115:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,0,0],[1980,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1980,10,25,15,59,59],[1980,10,26,1,59,59],
+          '1980030116:00:00','1980030202:00:00','1980102515:59:59','1980102601:59:59' ],
+        [ [1980,10,25,16,0,0],[1980,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1981,2,28,15,59,59],[1981,3,1,2,59,59],
+          '1980102516:00:00','1980102603:00:00','1981022815:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,0,0],[1981,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,10,24,15,59,59],[1981,10,25,1,59,59],
+          '1981022816:00:00','1981030102:00:00','1981102415:59:59','1981102501:59:59' ],
+        [ [1981,10,24,16,0,0],[1981,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1982,3,6,15,59,59],[1982,3,7,2,59,59],
+          '1981102416:00:00','1981102503:00:00','1982030615:59:59','1982030702:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,6,16,0,0],[1982,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1982,10,30,15,59,59],[1982,10,31,1,59,59],
+          '1982030616:00:00','1982030702:00:00','1982103015:59:59','1982103101:59:59' ],
+        [ [1982,10,30,16,0,0],[1982,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1983,3,5,15,59,59],[1983,3,6,2,59,59],
+          '1982103016:00:00','1982103103:00:00','1983030515:59:59','1983030602:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,16,0,0],[1983,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1983,10,29,15,59,59],[1983,10,30,1,59,59],
+          '1983030516:00:00','1983030602:00:00','1983102915:59:59','1983103001:59:59' ],
+        [ [1983,10,29,16,0,0],[1983,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1984,3,3,15,59,59],[1984,3,4,2,59,59],
+          '1983102916:00:00','1983103003:00:00','1984030315:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,0,0],[1984,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1984,10,27,15,59,59],[1984,10,28,1,59,59],
+          '1984030316:00:00','1984030402:00:00','1984102715:59:59','1984102801:59:59' ],
+        [ [1984,10,27,16,0,0],[1984,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1985,3,2,15,59,59],[1985,3,3,2,59,59],
+          '1984102716:00:00','1984102803:00:00','1985030215:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,0,0],[1985,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1985,10,26,15,59,59],[1985,10,27,1,59,59],
+          '1985030216:00:00','1985030302:00:00','1985102615:59:59','1985102701:59:59' ],
+        [ [1985,10,26,16,0,0],[1985,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1986,3,15,15,59,59],[1986,3,16,2,59,59],
+          '1985102616:00:00','1985102703:00:00','1986031515:59:59','1986031602:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,16,0,0],[1986,3,16,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1986,10,18,15,59,59],[1986,10,19,1,59,59],
+          '1986031516:00:00','1986031602:00:00','1986101815:59:59','1986101901:59:59' ],
+        [ [1986,10,18,16,0,0],[1986,10,19,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1987,3,14,15,59,59],[1987,3,15,2,59,59],
+          '1986101816:00:00','1986101903:00:00','1987031415:59:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,0,0],[1987,3,15,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1987,10,17,15,59,59],[1987,10,18,1,59,59],
+          '1987031416:00:00','1987031502:00:00','1987101715:59:59','1987101801:59:59' ],
+        [ [1987,10,17,16,0,0],[1987,10,18,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1988,3,19,15,59,59],[1988,3,20,2,59,59],
+          '1987101716:00:00','1987101803:00:00','1988031915:59:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,0,0],[1988,3,20,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1988,10,29,15,59,59],[1988,10,30,1,59,59],
+          '1988031916:00:00','1988032002:00:00','1988102915:59:59','1988103001:59:59' ],
+        [ [1988,10,29,16,0,0],[1988,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1989,3,18,15,59,59],[1989,3,19,2,59,59],
+          '1988102916:00:00','1988103003:00:00','1989031815:59:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,0,0],[1989,3,19,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1989031816:00:00','1989031902:00:00','1989102815:59:59','1989102901:59:59' ],
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,17,15,59,59],[1990,3,18,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990031715:59:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,16,0,0],[1990,3,18,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990031716:00:00','1990031802:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,2,15,59,59],[1991,3,3,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991030215:59:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,0,0],[1991,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,26,15,59,59],[1991,10,27,1,59,59],
+          '1991030216:00:00','1991030302:00:00','1991102615:59:59','1991102701:59:59' ],
+        [ [1991,10,26,16,0,0],[1991,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,2,29,15,59,59],[1992,3,1,2,59,59],
+          '1991102616:00:00','1991102703:00:00','1992022915:59:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,16,0,0],[1992,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,24,15,59,59],[1992,10,25,1,59,59],
+          '1992022916:00:00','1992030102:00:00','1992102415:59:59','1992102501:59:59' ],
+        [ [1992,10,24,16,0,0],[1992,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,6,15,59,59],[1993,3,7,2,59,59],
+          '1992102416:00:00','1992102503:00:00','1993030615:59:59','1993030702:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,16,0,0],[1993,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,30,15,59,59],[1993,10,31,1,59,59],
+          '1993030616:00:00','1993030702:00:00','1993103015:59:59','1993103101:59:59' ],
+        [ [1993,10,30,16,0,0],[1993,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,5,15,59,59],[1994,3,6,2,59,59],
+          '1993103016:00:00','1993103103:00:00','1994030515:59:59','1994030602:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,5,16,0,0],[1994,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1994,10,29,15,59,59],[1994,10,30,1,59,59],
+          '1994030516:00:00','1994030602:00:00','1994102915:59:59','1994103001:59:59' ],
+        [ [1994,10,29,16,0,0],[1994,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1995,3,25,15,59,59],[1995,3,26,2,59,59],
+          '1994102916:00:00','1994103003:00:00','1995032515:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,16,0,0],[1995,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1995,10,28,15,59,59],[1995,10,29,1,59,59],
+          '1995032516:00:00','1995032602:00:00','1995102815:59:59','1995102901:59:59' ],
+        [ [1995,10,28,16,0,0],[1995,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1996,3,30,15,59,59],[1996,3,31,2,59,59],
+          '1995102816:00:00','1995102903:00:00','1996033015:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1996,10,26,15,59,59],[1996,10,27,1,59,59],
+          '1996033016:00:00','1996033102:00:00','1996102615:59:59','1996102701:59:59' ],
+        [ [1996,10,26,16,0,0],[1996,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1997,3,29,15,59,59],[1997,3,30,2,59,59],
+          '1996102616:00:00','1996102703:00:00','1997032915:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1997,10,25,15,59,59],[1997,10,26,1,59,59],
+          '1997032916:00:00','1997033002:00:00','1997102515:59:59','1997102601:59:59' ],
+        [ [1997,10,25,16,0,0],[1997,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1998,3,28,15,59,59],[1998,3,29,2,59,59],
+          '1997102516:00:00','1997102603:00:00','1998032815:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1998,10,24,15,59,59],[1998,10,25,1,59,59],
+          '1998032816:00:00','1998032902:00:00','1998102415:59:59','1998102501:59:59' ],
+        [ [1998,10,24,16,0,0],[1998,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1999,3,27,15,59,59],[1999,3,28,2,59,59],
+          '1998102416:00:00','1998102503:00:00','1999032715:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1999,10,30,15,59,59],[1999,10,31,1,59,59],
+          '1999032716:00:00','1999032802:00:00','1999103015:59:59','1999103101:59:59' ],
+        [ [1999,10,30,16,0,0],[1999,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2000,3,25,15,59,59],[2000,3,26,2,59,59],
+          '1999103016:00:00','1999103103:00:00','2000032515:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2000,8,26,15,59,59],[2000,8,27,1,59,59],
+          '2000032516:00:00','2000032602:00:00','2000082615:59:59','2000082701:59:59' ],
+        [ [2000,8,26,16,0,0],[2000,8,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2001,3,24,15,59,59],[2001,3,25,2,59,59],
+          '2000082616:00:00','2000082703:00:00','2001032415:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2001,10,27,15,59,59],[2001,10,28,1,59,59],
+          '2001032416:00:00','2001032502:00:00','2001102715:59:59','2001102801:59:59' ],
+        [ [2001,10,27,16,0,0],[2001,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2002,3,30,15,59,59],[2002,3,31,2,59,59],
+          '2001102716:00:00','2001102803:00:00','2002033015:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2002,10,26,15,59,59],[2002,10,27,1,59,59],
+          '2002033016:00:00','2002033102:00:00','2002102615:59:59','2002102701:59:59' ],
+        [ [2002,10,26,16,0,0],[2002,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2003,3,29,15,59,59],[2003,3,30,2,59,59],
+          '2002102616:00:00','2002102703:00:00','2003032915:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2003,10,25,15,59,59],[2003,10,26,1,59,59],
+          '2003032916:00:00','2003033002:00:00','2003102515:59:59','2003102601:59:59' ],
+        [ [2003,10,25,16,0,0],[2003,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2004,3,27,15,59,59],[2004,3,28,2,59,59],
+          '2003102516:00:00','2003102603:00:00','2004032715:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2004,10,30,15,59,59],[2004,10,31,1,59,59],
+          '2004032716:00:00','2004032802:00:00','2004103015:59:59','2004103101:59:59' ],
+        [ [2004,10,30,16,0,0],[2004,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2005,3,26,15,59,59],[2005,3,27,2,59,59],
+          '2004103016:00:00','2004103103:00:00','2005032615:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2005,10,29,15,59,59],[2005,10,30,1,59,59],
+          '2005032616:00:00','2005032702:00:00','2005102915:59:59','2005103001:59:59' ],
+        [ [2005,10,29,16,0,0],[2005,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2006,4,1,15,59,59],[2006,4,2,2,59,59],
+          '2005102916:00:00','2005103003:00:00','2006040115:59:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,0,0],[2006,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2006,10,28,15,59,59],[2006,10,29,1,59,59],
+          '2006040116:00:00','2006040202:00:00','2006102815:59:59','2006102901:59:59' ],
+        [ [2006,10,28,16,0,0],[2006,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2007,3,24,15,59,59],[2007,3,25,2,59,59],
+          '2006102816:00:00','2006102903:00:00','2007032415:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2007,10,27,15,59,59],[2007,10,28,1,59,59],
+          '2007032416:00:00','2007032502:00:00','2007102715:59:59','2007102801:59:59' ],
+        [ [2007,10,27,16,0,0],[2007,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2008,4,5,15,59,59],[2008,4,6,2,59,59],
+          '2007102716:00:00','2007102803:00:00','2008040515:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,0,0],[2008,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2008,10,4,15,59,59],[2008,10,5,1,59,59],
+          '2008040516:00:00','2008040602:00:00','2008100415:59:59','2008100501:59:59' ],
+        [ [2008,10,4,16,0,0],[2008,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2009,4,4,15,59,59],[2009,4,5,2,59,59],
+          '2008100416:00:00','2008100503:00:00','2009040415:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,0,0],[2009,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2009,10,3,15,59,59],[2009,10,4,1,59,59],
+          '2009040416:00:00','2009040502:00:00','2009100315:59:59','2009100401:59:59' ],
+        [ [2009,10,3,16,0,0],[2009,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2010,4,3,15,59,59],[2010,4,4,2,59,59],
+          '2009100316:00:00','2009100403:00:00','2010040315:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,0,0],[2010,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2010,10,2,15,59,59],[2010,10,3,1,59,59],
+          '2010040316:00:00','2010040402:00:00','2010100215:59:59','2010100301:59:59' ],
+        [ [2010,10,2,16,0,0],[2010,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2011,4,2,15,59,59],[2011,4,3,2,59,59],
+          '2010100216:00:00','2010100303:00:00','2011040215:59:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,0,0],[2011,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2011,10,1,15,59,59],[2011,10,2,1,59,59],
+          '2011040216:00:00','2011040302:00:00','2011100115:59:59','2011100201:59:59' ],
+        [ [2011,10,1,16,0,0],[2011,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2012,3,31,15,59,59],[2012,4,1,2,59,59],
+          '2011100116:00:00','2011100203:00:00','2012033115:59:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,0,0],[2012,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2012,10,6,15,59,59],[2012,10,7,1,59,59],
+          '2012033116:00:00','2012040102:00:00','2012100615:59:59','2012100701:59:59' ],
+        [ [2012,10,6,16,0,0],[2012,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2013,4,6,15,59,59],[2013,4,7,2,59,59],
+          '2012100616:00:00','2012100703:00:00','2013040615:59:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,0,0],[2013,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2013,10,5,15,59,59],[2013,10,6,1,59,59],
+          '2013040616:00:00','2013040702:00:00','2013100515:59:59','2013100601:59:59' ],
+        [ [2013,10,5,16,0,0],[2013,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2014,4,5,15,59,59],[2014,4,6,2,59,59],
+          '2013100516:00:00','2013100603:00:00','2014040515:59:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,0,0],[2014,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2014,10,4,15,59,59],[2014,10,5,1,59,59],
+          '2014040516:00:00','2014040602:00:00','2014100415:59:59','2014100501:59:59' ],
+        [ [2014,10,4,16,0,0],[2014,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2015,4,4,15,59,59],[2015,4,5,2,59,59],
+          '2014100416:00:00','2014100503:00:00','2015040415:59:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,0,0],[2015,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2015,10,3,15,59,59],[2015,10,4,1,59,59],
+          '2015040416:00:00','2015040502:00:00','2015100315:59:59','2015100401:59:59' ],
+        [ [2015,10,3,16,0,0],[2015,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2016,4,2,15,59,59],[2016,4,3,2,59,59],
+          '2015100316:00:00','2015100403:00:00','2016040215:59:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,0,0],[2016,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2016,10,1,15,59,59],[2016,10,2,1,59,59],
+          '2016040216:00:00','2016040302:00:00','2016100115:59:59','2016100201:59:59' ],
+        [ [2016,10,1,16,0,0],[2016,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2017,4,1,15,59,59],[2017,4,2,2,59,59],
+          '2016100116:00:00','2016100203:00:00','2017040115:59:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,0,0],[2017,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2017,9,30,15,59,59],[2017,10,1,1,59,59],
+          '2017040116:00:00','2017040202:00:00','2017093015:59:59','2017100101:59:59' ],
+        [ [2017,9,30,16,0,0],[2017,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2018,3,31,15,59,59],[2018,4,1,2,59,59],
+          '2017093016:00:00','2017100103:00:00','2018033115:59:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,0,0],[2018,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2018,10,6,15,59,59],[2018,10,7,1,59,59],
+          '2018033116:00:00','2018040102:00:00','2018100615:59:59','2018100701:59:59' ],
+        [ [2018,10,6,16,0,0],[2018,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2019,4,6,15,59,59],[2019,4,7,2,59,59],
+          '2018100616:00:00','2018100703:00:00','2019040615:59:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,0,0],[2019,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2019,10,5,15,59,59],[2019,10,6,1,59,59],
+          '2019040616:00:00','2019040702:00:00','2019100515:59:59','2019100601:59:59' ],
+        [ [2019,10,5,16,0,0],[2019,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2020,4,4,15,59,59],[2020,4,5,2,59,59],
+          '2019100516:00:00','2019100603:00:00','2020040415:59:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,0,0],[2020,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2020,10,3,15,59,59],[2020,10,4,1,59,59],
+          '2020040416:00:00','2020040502:00:00','2020100315:59:59','2020100401:59:59' ],
+        [ [2020,10,3,16,0,0],[2020,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2021,4,3,15,59,59],[2021,4,4,2,59,59],
+          '2020100316:00:00','2020100403:00:00','2021040315:59:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,0,0],[2021,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2021,10,2,15,59,59],[2021,10,3,1,59,59],
+          '2021040316:00:00','2021040402:00:00','2021100215:59:59','2021100301:59:59' ],
+        [ [2021,10,2,16,0,0],[2021,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2022,4,2,15,59,59],[2022,4,3,2,59,59],
+          '2021100216:00:00','2021100303:00:00','2022040215:59:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,0,0],[2022,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2022,10,1,15,59,59],[2022,10,2,1,59,59],
+          '2022040216:00:00','2022040302:00:00','2022100115:59:59','2022100201:59:59' ],
+        [ [2022,10,1,16,0,0],[2022,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2023,4,1,15,59,59],[2023,4,2,2,59,59],
+          '2022100116:00:00','2022100203:00:00','2023040115:59:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,0,0],[2023,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2023,9,30,15,59,59],[2023,10,1,1,59,59],
+          '2023040116:00:00','2023040202:00:00','2023093015:59:59','2023100101:59:59' ],
+        [ [2023,9,30,16,0,0],[2023,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2024,4,6,15,59,59],[2024,4,7,2,59,59],
+          '2023093016:00:00','2023100103:00:00','2024040615:59:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,0,0],[2024,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2024,10,5,15,59,59],[2024,10,6,1,59,59],
+          '2024040616:00:00','2024040702:00:00','2024100515:59:59','2024100601:59:59' ],
+        [ [2024,10,5,16,0,0],[2024,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2025,4,5,15,59,59],[2025,4,6,2,59,59],
+          '2024100516:00:00','2024100603:00:00','2025040515:59:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,0,0],[2025,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2025,10,4,15,59,59],[2025,10,5,1,59,59],
+          '2025040516:00:00','2025040602:00:00','2025100415:59:59','2025100501:59:59' ],
+        [ [2025,10,4,16,0,0],[2025,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2026,4,4,15,59,59],[2026,4,5,2,59,59],
+          '2025100416:00:00','2025100503:00:00','2026040415:59:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,0,0],[2026,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2026,10,3,15,59,59],[2026,10,4,1,59,59],
+          '2026040416:00:00','2026040502:00:00','2026100315:59:59','2026100401:59:59' ],
+        [ [2026,10,3,16,0,0],[2026,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2027,4,3,15,59,59],[2027,4,4,2,59,59],
+          '2026100316:00:00','2026100403:00:00','2027040315:59:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,0,0],[2027,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2027,10,2,15,59,59],[2027,10,3,1,59,59],
+          '2027040316:00:00','2027040402:00:00','2027100215:59:59','2027100301:59:59' ],
+        [ [2027,10,2,16,0,0],[2027,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2028,4,1,15,59,59],[2028,4,2,2,59,59],
+          '2027100216:00:00','2027100303:00:00','2028040115:59:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,0,0],[2028,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2028,9,30,15,59,59],[2028,10,1,1,59,59],
+          '2028040116:00:00','2028040202:00:00','2028093015:59:59','2028100101:59:59' ],
+        [ [2028,9,30,16,0,0],[2028,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2029,3,31,15,59,59],[2029,4,1,2,59,59],
+          '2028093016:00:00','2028100103:00:00','2029033115:59:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,0,0],[2029,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2029,10,6,15,59,59],[2029,10,7,1,59,59],
+          '2029033116:00:00','2029040102:00:00','2029100615:59:59','2029100701:59:59' ],
+        [ [2029,10,6,16,0,0],[2029,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2030,4,6,15,59,59],[2030,4,7,2,59,59],
+          '2029100616:00:00','2029100703:00:00','2030040615:59:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,0,0],[2030,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2030,10,5,15,59,59],[2030,10,6,1,59,59],
+          '2030040616:00:00','2030040702:00:00','2030100515:59:59','2030100601:59:59' ],
+        [ [2030,10,5,16,0,0],[2030,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2031,4,5,15,59,59],[2031,4,6,2,59,59],
+          '2030100516:00:00','2030100603:00:00','2031040515:59:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,0,0],[2031,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2031,10,4,15,59,59],[2031,10,5,1,59,59],
+          '2031040516:00:00','2031040602:00:00','2031100415:59:59','2031100501:59:59' ],
+        [ [2031,10,4,16,0,0],[2031,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2032,4,3,15,59,59],[2032,4,4,2,59,59],
+          '2031100416:00:00','2031100503:00:00','2032040315:59:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,0,0],[2032,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2032,10,2,15,59,59],[2032,10,3,1,59,59],
+          '2032040316:00:00','2032040402:00:00','2032100215:59:59','2032100301:59:59' ],
+        [ [2032,10,2,16,0,0],[2032,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2033,4,2,15,59,59],[2033,4,3,2,59,59],
+          '2032100216:00:00','2032100303:00:00','2033040215:59:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,0,0],[2033,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2033,10,1,15,59,59],[2033,10,2,1,59,59],
+          '2033040216:00:00','2033040302:00:00','2033100115:59:59','2033100201:59:59' ],
+        [ [2033,10,1,16,0,0],[2033,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2034,4,1,15,59,59],[2034,4,2,2,59,59],
+          '2033100116:00:00','2033100203:00:00','2034040115:59:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,0,0],[2034,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2034,9,30,15,59,59],[2034,10,1,1,59,59],
+          '2034040116:00:00','2034040202:00:00','2034093015:59:59','2034100101:59:59' ],
+        [ [2034,9,30,16,0,0],[2034,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2035,3,31,15,59,59],[2035,4,1,2,59,59],
+          '2034093016:00:00','2034100103:00:00','2035033115:59:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,0,0],[2035,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2035,10,6,15,59,59],[2035,10,7,1,59,59],
+          '2035033116:00:00','2035040102:00:00','2035100615:59:59','2035100701:59:59' ],
+        [ [2035,10,6,16,0,0],[2035,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2036,4,5,15,59,59],[2036,4,6,2,59,59],
+          '2035100616:00:00','2035100703:00:00','2036040515:59:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,0,0],[2036,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2036,10,4,15,59,59],[2036,10,5,1,59,59],
+          '2036040516:00:00','2036040602:00:00','2036100415:59:59','2036100501:59:59' ],
+        [ [2036,10,4,16,0,0],[2036,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2037,4,4,15,59,59],[2037,4,5,2,59,59],
+          '2036100416:00:00','2036100503:00:00','2037040415:59:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,0,0],[2037,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2037,10,3,15,59,59],[2037,10,4,1,59,59],
+          '2037040416:00:00','2037040502:00:00','2037100315:59:59','2037100401:59:59' ],
+        [ [2037,10,3,16,0,0],[2037,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2038,4,3,15,59,59],[2038,4,4,2,59,59],
+          '2037100316:00:00','2037100403:00:00','2038040315:59:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,0,0],[2038,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2038,10,2,15,59,59],[2038,10,3,1,59,59],
+          '2038040316:00:00','2038040402:00:00','2038100215:59:59','2038100301:59:59' ],
+        [ [2038,10,2,16,0,0],[2038,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2039,4,2,15,59,59],[2039,4,3,2,59,59],
+          '2038100216:00:00','2038100303:00:00','2039040215:59:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,0,0],[2039,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2039,10,1,15,59,59],[2039,10,2,1,59,59],
+          '2039040216:00:00','2039040302:00:00','2039100115:59:59','2039100201:59:59' ],
+        [ [2039,10,1,16,0,0],[2039,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2040,3,31,15,59,59],[2040,4,1,2,59,59],
+          '2039100116:00:00','2039100203:00:00','2040033115:59:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,0,0],[2040,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2040,10,6,15,59,59],[2040,10,7,1,59,59],
+          '2040033116:00:00','2040040102:00:00','2040100615:59:59','2040100701:59:59' ],
+        [ [2040,10,6,16,0,0],[2040,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2041,4,6,15,59,59],[2041,4,7,2,59,59],
+          '2040100616:00:00','2040100703:00:00','2041040615:59:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,0,0],[2041,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2041,10,5,15,59,59],[2041,10,6,1,59,59],
+          '2041040616:00:00','2041040702:00:00','2041100515:59:59','2041100601:59:59' ],
+        [ [2041,10,5,16,0,0],[2041,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2042,4,5,15,59,59],[2042,4,6,2,59,59],
+          '2041100516:00:00','2041100603:00:00','2042040515:59:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,0,0],[2042,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2042,10,4,15,59,59],[2042,10,5,1,59,59],
+          '2042040516:00:00','2042040602:00:00','2042100415:59:59','2042100501:59:59' ],
+        [ [2042,10,4,16,0,0],[2042,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2043,4,4,15,59,59],[2043,4,5,2,59,59],
+          '2042100416:00:00','2042100503:00:00','2043040415:59:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,0,0],[2043,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2043,10,3,15,59,59],[2043,10,4,1,59,59],
+          '2043040416:00:00','2043040502:00:00','2043100315:59:59','2043100401:59:59' ],
+        [ [2043,10,3,16,0,0],[2043,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2044,4,2,15,59,59],[2044,4,3,2,59,59],
+          '2043100316:00:00','2043100403:00:00','2044040215:59:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,0,0],[2044,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2044,10,1,15,59,59],[2044,10,2,1,59,59],
+          '2044040216:00:00','2044040302:00:00','2044100115:59:59','2044100201:59:59' ],
+        [ [2044,10,1,16,0,0],[2044,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2045,4,1,15,59,59],[2045,4,2,2,59,59],
+          '2044100116:00:00','2044100203:00:00','2045040115:59:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,0,0],[2045,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2045,9,30,15,59,59],[2045,10,1,1,59,59],
+          '2045040116:00:00','2045040202:00:00','2045093015:59:59','2045100101:59:59' ],
+        [ [2045,9,30,16,0,0],[2045,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2046,3,31,15,59,59],[2046,4,1,2,59,59],
+          '2045093016:00:00','2045100103:00:00','2046033115:59:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,0,0],[2046,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2046,10,6,15,59,59],[2046,10,7,1,59,59],
+          '2046033116:00:00','2046040102:00:00','2046100615:59:59','2046100701:59:59' ],
+        [ [2046,10,6,16,0,0],[2046,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2047,4,6,15,59,59],[2047,4,7,2,59,59],
+          '2046100616:00:00','2046100703:00:00','2047040615:59:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,0,0],[2047,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2047,10,5,15,59,59],[2047,10,6,1,59,59],
+          '2047040616:00:00','2047040702:00:00','2047100515:59:59','2047100601:59:59' ],
+        [ [2047,10,5,16,0,0],[2047,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2048,4,4,15,59,59],[2048,4,5,2,59,59],
+          '2047100516:00:00','2047100603:00:00','2048040415:59:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,0,0],[2048,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2048,10,3,15,59,59],[2048,10,4,1,59,59],
+          '2048040416:00:00','2048040502:00:00','2048100315:59:59','2048100401:59:59' ],
+        [ [2048,10,3,16,0,0],[2048,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2049,4,3,15,59,59],[2049,4,4,2,59,59],
+          '2048100316:00:00','2048100403:00:00','2049040315:59:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,0,0],[2049,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2049,10,2,15,59,59],[2049,10,3,1,59,59],
+          '2049040316:00:00','2049040402:00:00','2049100215:59:59','2049100301:59:59' ],
+        [ [2049,10,2,16,0,0],[2049,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2050,4,2,15,59,59],[2050,4,3,2,59,59],
+          '2049100216:00:00','2049100303:00:00','2050040215:59:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,0,0],[2050,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2050,10,1,15,59,59],[2050,10,2,1,59,59],
+          '2050040216:00:00','2050040302:00:00','2050100115:59:59','2050100201:59:59' ],
+        [ [2050,10,1,16,0,0],[2050,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2051,4,1,15,59,59],[2051,4,2,2,59,59],
+          '2050100116:00:00','2050100203:00:00','2051040115:59:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,0,0],[2051,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2051,9,30,15,59,59],[2051,10,1,1,59,59],
+          '2051040116:00:00','2051040202:00:00','2051093015:59:59','2051100101:59:59' ],
+        [ [2051,9,30,16,0,0],[2051,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2052,4,6,15,59,59],[2052,4,7,2,59,59],
+          '2051093016:00:00','2051100103:00:00','2052040615:59:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,0,0],[2052,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2052,10,5,15,59,59],[2052,10,6,1,59,59],
+          '2052040616:00:00','2052040702:00:00','2052100515:59:59','2052100601:59:59' ],
+        [ [2052,10,5,16,0,0],[2052,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2053,4,5,15,59,59],[2053,4,6,2,59,59],
+          '2052100516:00:00','2052100603:00:00','2053040515:59:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,0,0],[2053,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2053,10,4,15,59,59],[2053,10,5,1,59,59],
+          '2053040516:00:00','2053040602:00:00','2053100415:59:59','2053100501:59:59' ],
+        [ [2053,10,4,16,0,0],[2053,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2054,4,4,15,59,59],[2054,4,5,2,59,59],
+          '2053100416:00:00','2053100503:00:00','2054040415:59:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,0,0],[2054,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2054,10,3,15,59,59],[2054,10,4,1,59,59],
+          '2054040416:00:00','2054040502:00:00','2054100315:59:59','2054100401:59:59' ],
+        [ [2054,10,3,16,0,0],[2054,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2055,4,3,15,59,59],[2055,4,4,2,59,59],
+          '2054100316:00:00','2054100403:00:00','2055040315:59:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,0,0],[2055,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2055,10,2,15,59,59],[2055,10,3,1,59,59],
+          '2055040316:00:00','2055040402:00:00','2055100215:59:59','2055100301:59:59' ],
+        [ [2055,10,2,16,0,0],[2055,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2056,4,1,15,59,59],[2056,4,2,2,59,59],
+          '2055100216:00:00','2055100303:00:00','2056040115:59:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,0,0],[2056,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2056,9,30,15,59,59],[2056,10,1,1,59,59],
+          '2056040116:00:00','2056040202:00:00','2056093015:59:59','2056100101:59:59' ],
+        [ [2056,9,30,16,0,0],[2056,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2057,3,31,15,59,59],[2057,4,1,2,59,59],
+          '2056093016:00:00','2056100103:00:00','2057033115:59:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,0,0],[2057,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2057,10,6,15,59,59],[2057,10,7,1,59,59],
+          '2057033116:00:00','2057040102:00:00','2057100615:59:59','2057100701:59:59' ],
+        [ [2057,10,6,16,0,0],[2057,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2058,4,6,15,59,59],[2058,4,7,2,59,59],
+          '2057100616:00:00','2057100703:00:00','2058040615:59:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,0,0],[2058,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2058,10,5,15,59,59],[2058,10,6,1,59,59],
+          '2058040616:00:00','2058040702:00:00','2058100515:59:59','2058100601:59:59' ],
+        [ [2058,10,5,16,0,0],[2058,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2059,4,5,15,59,59],[2059,4,6,2,59,59],
+          '2058100516:00:00','2058100603:00:00','2059040515:59:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,0,0],[2059,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2059,10,4,15,59,59],[2059,10,5,1,59,59],
+          '2059040516:00:00','2059040602:00:00','2059100415:59:59','2059100501:59:59' ],
+        [ [2059,10,4,16,0,0],[2059,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2060,4,3,15,59,59],[2060,4,4,2,59,59],
+          '2059100416:00:00','2059100503:00:00','2060040315:59:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,0,0],[2060,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2060,10,2,15,59,59],[2060,10,3,1,59,59],
+          '2060040316:00:00','2060040402:00:00','2060100215:59:59','2060100301:59:59' ],
+        [ [2060,10,2,16,0,0],[2060,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2061,4,2,15,59,59],[2061,4,3,2,59,59],
+          '2060100216:00:00','2060100303:00:00','2061040215:59:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,0,0],[2061,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2061,10,1,15,59,59],[2061,10,2,1,59,59],
+          '2061040216:00:00','2061040302:00:00','2061100115:59:59','2061100201:59:59' ],
+        [ [2061,10,1,16,0,0],[2061,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2062,4,1,15,59,59],[2062,4,2,2,59,59],
+          '2061100116:00:00','2061100203:00:00','2062040115:59:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,0,0],[2062,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2062,9,30,15,59,59],[2062,10,1,1,59,59],
+          '2062040116:00:00','2062040202:00:00','2062093015:59:59','2062100101:59:59' ],
+        [ [2062,9,30,16,0,0],[2062,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2063,3,31,15,59,59],[2063,4,1,2,59,59],
+          '2062093016:00:00','2062100103:00:00','2063033115:59:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,0,0],[2063,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2063,10,6,15,59,59],[2063,10,7,1,59,59],
+          '2063033116:00:00','2063040102:00:00','2063100615:59:59','2063100701:59:59' ],
+        [ [2063,10,6,16,0,0],[2063,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2064,4,5,15,59,59],[2064,4,6,2,59,59],
+          '2063100616:00:00','2063100703:00:00','2064040515:59:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,0,0],[2064,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2064,10,4,15,59,59],[2064,10,5,1,59,59],
+          '2064040516:00:00','2064040602:00:00','2064100415:59:59','2064100501:59:59' ],
+        [ [2064,10,4,16,0,0],[2064,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2065,4,4,15,59,59],[2065,4,5,2,59,59],
+          '2064100416:00:00','2064100503:00:00','2065040415:59:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,0,0],[2065,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2065,10,3,15,59,59],[2065,10,4,1,59,59],
+          '2065040416:00:00','2065040502:00:00','2065100315:59:59','2065100401:59:59' ],
+        [ [2065,10,3,16,0,0],[2065,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2066,4,3,15,59,59],[2066,4,4,2,59,59],
+          '2065100316:00:00','2065100403:00:00','2066040315:59:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,0,0],[2066,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2066,10,2,15,59,59],[2066,10,3,1,59,59],
+          '2066040316:00:00','2066040402:00:00','2066100215:59:59','2066100301:59:59' ],
+        [ [2066,10,2,16,0,0],[2066,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2067,4,2,15,59,59],[2067,4,3,2,59,59],
+          '2066100216:00:00','2066100303:00:00','2067040215:59:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,0,0],[2067,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2067,10,1,15,59,59],[2067,10,2,1,59,59],
+          '2067040216:00:00','2067040302:00:00','2067100115:59:59','2067100201:59:59' ],
+        [ [2067,10,1,16,0,0],[2067,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2068,3,31,15,59,59],[2068,4,1,2,59,59],
+          '2067100116:00:00','2067100203:00:00','2068033115:59:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+11:00:00',
+                'stdoff' => '+10:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AEST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AEDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/aupert00.pm b/lib/Date/Manip/TZ/aupert00.pm
new file mode 100644
index 0000000..b993b8a
--- /dev/null
+++ b/lib/Date/Manip/TZ/aupert00.pm
@@ -0,0 +1,148 @@
+package #
+Date::Manip::TZ::aupert00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,43,24],'+07:43:24',[7,43,24],
+          'LMT',0,[1895,11,30,16,16,35],[1895,11,30,23,59,59],
+          '0001010200:00:00','0001010207:43:24','1895113016:16:35','1895113023:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,11,30,16,16,36],[1895,12,1,0,16,36],'+08:00:00',[8,0,0],
+          'AWST',0,[1916,12,31,16,0,59],[1917,1,1,0,0,59],
+          '1895113016:16:36','1895120100:16:36','1916123116:00:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,16,1,0],[1917,1,1,1,1,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1917,3,24,16,59,59],[1917,3,25,1,59,59],
+          '1916123116:01:00','1917010101:01:00','1917032416:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,17,0,0],[1917,3,25,1,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[1941,12,31,17,59,59],[1942,1,1,1,59,59],
+          '1917032417:00:00','1917032501:00:00','1941123117:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,18,0,0],[1942,1,1,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1942,3,28,16,59,59],[1942,3,29,1,59,59],
+          '1941123118:00:00','1942010103:00:00','1942032816:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,17,0,0],[1942,3,29,1,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[1942,9,26,17,59,59],[1942,9,27,1,59,59],
+          '1942032817:00:00','1942032901:00:00','1942092617:59:59','1942092701:59:59' ],
+        [ [1942,9,26,18,0,0],[1942,9,27,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1943,3,27,16,59,59],[1943,3,28,1,59,59],
+          '1942092618:00:00','1942092703:00:00','1943032716:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,17,0,0],[1943,3,28,1,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[1974,10,26,17,59,59],[1974,10,27,1,59,59],
+          '1943032717:00:00','1943032801:00:00','1974102617:59:59','1974102701:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,10,26,18,0,0],[1974,10,27,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1975,3,1,17,59,59],[1975,3,2,2,59,59],
+          '1974102618:00:00','1974102703:00:00','1975030117:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,18,0,0],[1975,3,2,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[1983,10,29,17,59,59],[1983,10,30,1,59,59],
+          '1975030118:00:00','1975030202:00:00','1983102917:59:59','1983103001:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,10,29,18,0,0],[1983,10,30,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1984,3,3,17,59,59],[1984,3,4,2,59,59],
+          '1983102918:00:00','1983103003:00:00','1984030317:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,18,0,0],[1984,3,4,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[1991,11,16,17,59,59],[1991,11,17,1,59,59],
+          '1984030318:00:00','1984030402:00:00','1991111617:59:59','1991111701:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,11,16,18,0,0],[1991,11,17,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[1992,2,29,17,59,59],[1992,3,1,2,59,59],
+          '1991111618:00:00','1991111703:00:00','1992022917:59:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,18,0,0],[1992,3,1,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[2006,12,2,17,59,59],[2006,12,3,1,59,59],
+          '1992022918:00:00','1992030102:00:00','2006120217:59:59','2006120301:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,12,2,18,0,0],[2006,12,3,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[2007,3,24,17,59,59],[2007,3,25,2,59,59],
+          '2006120218:00:00','2006120303:00:00','2007032417:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,18,0,0],[2007,3,25,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[2007,10,27,17,59,59],[2007,10,28,1,59,59],
+          '2007032418:00:00','2007032502:00:00','2007102717:59:59','2007102801:59:59' ],
+        [ [2007,10,27,18,0,0],[2007,10,28,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[2008,3,29,17,59,59],[2008,3,30,2,59,59],
+          '2007102718:00:00','2007102803:00:00','2008032917:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,18,0,0],[2008,3,30,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[2008,10,25,17,59,59],[2008,10,26,1,59,59],
+          '2008032918:00:00','2008033002:00:00','2008102517:59:59','2008102601:59:59' ],
+        [ [2008,10,25,18,0,0],[2008,10,26,3,0,0],'+09:00:00',[9,0,0],
+          'AWDT',1,[2009,3,28,17,59,59],[2009,3,29,2,59,59],
+          '2008102518:00:00','2008102603:00:00','2009032817:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,18,0,0],[2009,3,29,2,0,0],'+08:00:00',[8,0,0],
+          'AWST',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '2009032818:00:00','2009032902:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ausydn00.pm b/lib/Date/Manip/TZ/ausydn00.pm
new file mode 100644
index 0000000..ce115f3
--- /dev/null
+++ b/lib/Date/Manip/TZ/ausydn00.pm
@@ -0,0 +1,985 @@
+package #
+Date::Manip::TZ::ausydn00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,4,52],'+10:04:52',[10,4,52],
+          'LMT',0,[1895,1,31,13,55,7],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010210:04:52','1895013113:55:07','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,13,55,8],[1895,1,31,23,55,8],'+10:00:00',[10,0,0],
+          'AEST',0,[1916,12,31,14,0,59],[1917,1,1,0,0,59],
+          '1895013113:55:08','1895013123:55:08','1916123114:00:59','1917010100:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,14,1,0],[1917,1,1,1,1,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1917,3,24,14,59,59],[1917,3,25,1,59,59],
+          '1916123114:01:00','1917010101:01:00','1917032414:59:59','1917032501:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,15,0,0],[1917,3,25,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1941,12,31,15,59,59],[1942,1,1,1,59,59],
+          '1917032415:00:00','1917032501:00:00','1941123115:59:59','1942010101:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,12,31,16,0,0],[1942,1,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1942,3,28,14,59,59],[1942,3,29,1,59,59],
+          '1941123116:00:00','1942010103:00:00','1942032814:59:59','1942032901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,28,15,0,0],[1942,3,29,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1942,9,26,15,59,59],[1942,9,27,1,59,59],
+          '1942032815:00:00','1942032901:00:00','1942092615:59:59','1942092701:59:59' ],
+        [ [1942,9,26,16,0,0],[1942,9,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1943,3,27,14,59,59],[1943,3,28,1,59,59],
+          '1942092616:00:00','1942092703:00:00','1943032714:59:59','1943032801:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,27,15,0,0],[1943,3,28,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1943,10,2,15,59,59],[1943,10,3,1,59,59],
+          '1943032715:00:00','1943032801:00:00','1943100215:59:59','1943100301:59:59' ],
+        [ [1943,10,2,16,0,0],[1943,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1944,3,25,14,59,59],[1944,3,26,1,59,59],
+          '1943100216:00:00','1943100303:00:00','1944032514:59:59','1944032601:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,25,15,0,0],[1944,3,26,1,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1971,10,30,15,59,59],[1971,10,31,1,59,59],
+          '1944032515:00:00','1944032601:00:00','1971103015:59:59','1971103101:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,30,16,0,0],[1971,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1972,2,26,15,59,59],[1972,2,27,2,59,59],
+          '1971103016:00:00','1971103103:00:00','1972022615:59:59','1972022702:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,2,26,16,0,0],[1972,2,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1972,10,28,15,59,59],[1972,10,29,1,59,59],
+          '1972022616:00:00','1972022702:00:00','1972102815:59:59','1972102901:59:59' ],
+        [ [1972,10,28,16,0,0],[1972,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1973,3,3,15,59,59],[1973,3,4,2,59,59],
+          '1972102816:00:00','1972102903:00:00','1973030315:59:59','1973030402:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,3,16,0,0],[1973,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1973,10,27,15,59,59],[1973,10,28,1,59,59],
+          '1973030316:00:00','1973030402:00:00','1973102715:59:59','1973102801:59:59' ],
+        [ [1973,10,27,16,0,0],[1973,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1974,3,2,15,59,59],[1974,3,3,2,59,59],
+          '1973102716:00:00','1973102803:00:00','1974030215:59:59','1974030302:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,2,16,0,0],[1974,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1974,10,26,15,59,59],[1974,10,27,1,59,59],
+          '1974030216:00:00','1974030302:00:00','1974102615:59:59','1974102701:59:59' ],
+        [ [1974,10,26,16,0,0],[1974,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1975,3,1,15,59,59],[1975,3,2,2,59,59],
+          '1974102616:00:00','1974102703:00:00','1975030115:59:59','1975030202:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,16,0,0],[1975,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1975,10,25,15,59,59],[1975,10,26,1,59,59],
+          '1975030116:00:00','1975030202:00:00','1975102515:59:59','1975102601:59:59' ],
+        [ [1975,10,25,16,0,0],[1975,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1976,3,6,15,59,59],[1976,3,7,2,59,59],
+          '1975102516:00:00','1975102603:00:00','1976030615:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,16,0,0],[1976,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1976,10,30,15,59,59],[1976,10,31,1,59,59],
+          '1976030616:00:00','1976030702:00:00','1976103015:59:59','1976103101:59:59' ],
+        [ [1976,10,30,16,0,0],[1976,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1977,3,5,15,59,59],[1977,3,6,2,59,59],
+          '1976103016:00:00','1976103103:00:00','1977030515:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,16,0,0],[1977,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1977,10,29,15,59,59],[1977,10,30,1,59,59],
+          '1977030516:00:00','1977030602:00:00','1977102915:59:59','1977103001:59:59' ],
+        [ [1977,10,29,16,0,0],[1977,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1978,3,4,15,59,59],[1978,3,5,2,59,59],
+          '1977102916:00:00','1977103003:00:00','1978030415:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,16,0,0],[1978,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1978,10,28,15,59,59],[1978,10,29,1,59,59],
+          '1978030416:00:00','1978030502:00:00','1978102815:59:59','1978102901:59:59' ],
+        [ [1978,10,28,16,0,0],[1978,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1979,3,3,15,59,59],[1979,3,4,2,59,59],
+          '1978102816:00:00','1978102903:00:00','1979030315:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,16,0,0],[1979,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1979,10,27,15,59,59],[1979,10,28,1,59,59],
+          '1979030316:00:00','1979030402:00:00','1979102715:59:59','1979102801:59:59' ],
+        [ [1979,10,27,16,0,0],[1979,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1980,3,1,15,59,59],[1980,3,2,2,59,59],
+          '1979102716:00:00','1979102803:00:00','1980030115:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,16,0,0],[1980,3,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1980,10,25,15,59,59],[1980,10,26,1,59,59],
+          '1980030116:00:00','1980030202:00:00','1980102515:59:59','1980102601:59:59' ],
+        [ [1980,10,25,16,0,0],[1980,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1981,2,28,15,59,59],[1981,3,1,2,59,59],
+          '1980102516:00:00','1980102603:00:00','1981022815:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,16,0,0],[1981,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1981,10,24,15,59,59],[1981,10,25,1,59,59],
+          '1981022816:00:00','1981030102:00:00','1981102415:59:59','1981102501:59:59' ],
+        [ [1981,10,24,16,0,0],[1981,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1982,4,3,15,59,59],[1982,4,4,2,59,59],
+          '1981102416:00:00','1981102503:00:00','1982040315:59:59','1982040402:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,3,16,0,0],[1982,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1982,10,30,15,59,59],[1982,10,31,1,59,59],
+          '1982040316:00:00','1982040402:00:00','1982103015:59:59','1982103101:59:59' ],
+        [ [1982,10,30,16,0,0],[1982,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1983,3,5,15,59,59],[1983,3,6,2,59,59],
+          '1982103016:00:00','1982103103:00:00','1983030515:59:59','1983030602:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,16,0,0],[1983,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1983,10,29,15,59,59],[1983,10,30,1,59,59],
+          '1983030516:00:00','1983030602:00:00','1983102915:59:59','1983103001:59:59' ],
+        [ [1983,10,29,16,0,0],[1983,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1984,3,3,15,59,59],[1984,3,4,2,59,59],
+          '1983102916:00:00','1983103003:00:00','1984030315:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,16,0,0],[1984,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1984,10,27,15,59,59],[1984,10,28,1,59,59],
+          '1984030316:00:00','1984030402:00:00','1984102715:59:59','1984102801:59:59' ],
+        [ [1984,10,27,16,0,0],[1984,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1985,3,2,15,59,59],[1985,3,3,2,59,59],
+          '1984102716:00:00','1984102803:00:00','1985030215:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,16,0,0],[1985,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1985,10,26,15,59,59],[1985,10,27,1,59,59],
+          '1985030216:00:00','1985030302:00:00','1985102615:59:59','1985102701:59:59' ],
+        [ [1985,10,26,16,0,0],[1985,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1986,3,15,15,59,59],[1986,3,16,2,59,59],
+          '1985102616:00:00','1985102703:00:00','1986031515:59:59','1986031602:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,15,16,0,0],[1986,3,16,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1986,10,18,15,59,59],[1986,10,19,1,59,59],
+          '1986031516:00:00','1986031602:00:00','1986101815:59:59','1986101901:59:59' ],
+        [ [1986,10,18,16,0,0],[1986,10,19,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1987,3,14,15,59,59],[1987,3,15,2,59,59],
+          '1986101816:00:00','1986101903:00:00','1987031415:59:59','1987031502:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,14,16,0,0],[1987,3,15,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1987,10,24,15,59,59],[1987,10,25,1,59,59],
+          '1987031416:00:00','1987031502:00:00','1987102415:59:59','1987102501:59:59' ],
+        [ [1987,10,24,16,0,0],[1987,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1988,3,19,15,59,59],[1988,3,20,2,59,59],
+          '1987102416:00:00','1987102503:00:00','1988031915:59:59','1988032002:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,19,16,0,0],[1988,3,20,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1988,10,29,15,59,59],[1988,10,30,1,59,59],
+          '1988031916:00:00','1988032002:00:00','1988102915:59:59','1988103001:59:59' ],
+        [ [1988,10,29,16,0,0],[1988,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1989,3,18,15,59,59],[1989,3,19,2,59,59],
+          '1988102916:00:00','1988103003:00:00','1989031815:59:59','1989031902:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,18,16,0,0],[1989,3,19,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1989,10,28,15,59,59],[1989,10,29,1,59,59],
+          '1989031816:00:00','1989031902:00:00','1989102815:59:59','1989102901:59:59' ],
+        [ [1989,10,28,16,0,0],[1989,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1990,3,3,15,59,59],[1990,3,4,2,59,59],
+          '1989102816:00:00','1989102903:00:00','1990030315:59:59','1990030402:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,3,16,0,0],[1990,3,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1990,10,27,15,59,59],[1990,10,28,1,59,59],
+          '1990030316:00:00','1990030402:00:00','1990102715:59:59','1990102801:59:59' ],
+        [ [1990,10,27,16,0,0],[1990,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1991,3,2,15,59,59],[1991,3,3,2,59,59],
+          '1990102716:00:00','1990102803:00:00','1991030215:59:59','1991030302:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,2,16,0,0],[1991,3,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1991,10,26,15,59,59],[1991,10,27,1,59,59],
+          '1991030216:00:00','1991030302:00:00','1991102615:59:59','1991102701:59:59' ],
+        [ [1991,10,26,16,0,0],[1991,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1992,2,29,15,59,59],[1992,3,1,2,59,59],
+          '1991102616:00:00','1991102703:00:00','1992022915:59:59','1992030102:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,2,29,16,0,0],[1992,3,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1992,10,24,15,59,59],[1992,10,25,1,59,59],
+          '1992022916:00:00','1992030102:00:00','1992102415:59:59','1992102501:59:59' ],
+        [ [1992,10,24,16,0,0],[1992,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1993,3,6,15,59,59],[1993,3,7,2,59,59],
+          '1992102416:00:00','1992102503:00:00','1993030615:59:59','1993030702:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,6,16,0,0],[1993,3,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1993,10,30,15,59,59],[1993,10,31,1,59,59],
+          '1993030616:00:00','1993030702:00:00','1993103015:59:59','1993103101:59:59' ],
+        [ [1993,10,30,16,0,0],[1993,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1994,3,5,15,59,59],[1994,3,6,2,59,59],
+          '1993103016:00:00','1993103103:00:00','1994030515:59:59','1994030602:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,5,16,0,0],[1994,3,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1994,10,29,15,59,59],[1994,10,30,1,59,59],
+          '1994030516:00:00','1994030602:00:00','1994102915:59:59','1994103001:59:59' ],
+        [ [1994,10,29,16,0,0],[1994,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1995,3,4,15,59,59],[1995,3,5,2,59,59],
+          '1994102916:00:00','1994103003:00:00','1995030415:59:59','1995030502:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,4,16,0,0],[1995,3,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1995,10,28,15,59,59],[1995,10,29,1,59,59],
+          '1995030416:00:00','1995030502:00:00','1995102815:59:59','1995102901:59:59' ],
+        [ [1995,10,28,16,0,0],[1995,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1996,3,30,15,59,59],[1996,3,31,2,59,59],
+          '1995102816:00:00','1995102903:00:00','1996033015:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,16,0,0],[1996,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1996,10,26,15,59,59],[1996,10,27,1,59,59],
+          '1996033016:00:00','1996033102:00:00','1996102615:59:59','1996102701:59:59' ],
+        [ [1996,10,26,16,0,0],[1996,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1997,3,29,15,59,59],[1997,3,30,2,59,59],
+          '1996102616:00:00','1996102703:00:00','1997032915:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,16,0,0],[1997,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1997,10,25,15,59,59],[1997,10,26,1,59,59],
+          '1997032916:00:00','1997033002:00:00','1997102515:59:59','1997102601:59:59' ],
+        [ [1997,10,25,16,0,0],[1997,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1998,3,28,15,59,59],[1998,3,29,2,59,59],
+          '1997102516:00:00','1997102603:00:00','1998032815:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,16,0,0],[1998,3,29,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1998,10,24,15,59,59],[1998,10,25,1,59,59],
+          '1998032816:00:00','1998032902:00:00','1998102415:59:59','1998102501:59:59' ],
+        [ [1998,10,24,16,0,0],[1998,10,25,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[1999,3,27,15,59,59],[1999,3,28,2,59,59],
+          '1998102416:00:00','1998102503:00:00','1999032715:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,16,0,0],[1999,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[1999,10,30,15,59,59],[1999,10,31,1,59,59],
+          '1999032716:00:00','1999032802:00:00','1999103015:59:59','1999103101:59:59' ],
+        [ [1999,10,30,16,0,0],[1999,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2000,3,25,15,59,59],[2000,3,26,2,59,59],
+          '1999103016:00:00','1999103103:00:00','2000032515:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,16,0,0],[2000,3,26,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2000,8,26,15,59,59],[2000,8,27,1,59,59],
+          '2000032516:00:00','2000032602:00:00','2000082615:59:59','2000082701:59:59' ],
+        [ [2000,8,26,16,0,0],[2000,8,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2001,3,24,15,59,59],[2001,3,25,2,59,59],
+          '2000082616:00:00','2000082703:00:00','2001032415:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,16,0,0],[2001,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2001,10,27,15,59,59],[2001,10,28,1,59,59],
+          '2001032416:00:00','2001032502:00:00','2001102715:59:59','2001102801:59:59' ],
+        [ [2001,10,27,16,0,0],[2001,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2002,3,30,15,59,59],[2002,3,31,2,59,59],
+          '2001102716:00:00','2001102803:00:00','2002033015:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,16,0,0],[2002,3,31,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2002,10,26,15,59,59],[2002,10,27,1,59,59],
+          '2002033016:00:00','2002033102:00:00','2002102615:59:59','2002102701:59:59' ],
+        [ [2002,10,26,16,0,0],[2002,10,27,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2003,3,29,15,59,59],[2003,3,30,2,59,59],
+          '2002102616:00:00','2002102703:00:00','2003032915:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,16,0,0],[2003,3,30,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2003,10,25,15,59,59],[2003,10,26,1,59,59],
+          '2003032916:00:00','2003033002:00:00','2003102515:59:59','2003102601:59:59' ],
+        [ [2003,10,25,16,0,0],[2003,10,26,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2004,3,27,15,59,59],[2004,3,28,2,59,59],
+          '2003102516:00:00','2003102603:00:00','2004032715:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,16,0,0],[2004,3,28,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2004,10,30,15,59,59],[2004,10,31,1,59,59],
+          '2004032716:00:00','2004032802:00:00','2004103015:59:59','2004103101:59:59' ],
+        [ [2004,10,30,16,0,0],[2004,10,31,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2005,3,26,15,59,59],[2005,3,27,2,59,59],
+          '2004103016:00:00','2004103103:00:00','2005032615:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,16,0,0],[2005,3,27,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2005,10,29,15,59,59],[2005,10,30,1,59,59],
+          '2005032616:00:00','2005032702:00:00','2005102915:59:59','2005103001:59:59' ],
+        [ [2005,10,29,16,0,0],[2005,10,30,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2006,4,1,15,59,59],[2006,4,2,2,59,59],
+          '2005102916:00:00','2005103003:00:00','2006040115:59:59','2006040202:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,4,1,16,0,0],[2006,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2006,10,28,15,59,59],[2006,10,29,1,59,59],
+          '2006040116:00:00','2006040202:00:00','2006102815:59:59','2006102901:59:59' ],
+        [ [2006,10,28,16,0,0],[2006,10,29,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2007,3,24,15,59,59],[2007,3,25,2,59,59],
+          '2006102816:00:00','2006102903:00:00','2007032415:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,16,0,0],[2007,3,25,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2007,10,27,15,59,59],[2007,10,28,1,59,59],
+          '2007032416:00:00','2007032502:00:00','2007102715:59:59','2007102801:59:59' ],
+        [ [2007,10,27,16,0,0],[2007,10,28,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2008,4,5,15,59,59],[2008,4,6,2,59,59],
+          '2007102716:00:00','2007102803:00:00','2008040515:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,16,0,0],[2008,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2008,10,4,15,59,59],[2008,10,5,1,59,59],
+          '2008040516:00:00','2008040602:00:00','2008100415:59:59','2008100501:59:59' ],
+        [ [2008,10,4,16,0,0],[2008,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2009,4,4,15,59,59],[2009,4,5,2,59,59],
+          '2008100416:00:00','2008100503:00:00','2009040415:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,16,0,0],[2009,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2009,10,3,15,59,59],[2009,10,4,1,59,59],
+          '2009040416:00:00','2009040502:00:00','2009100315:59:59','2009100401:59:59' ],
+        [ [2009,10,3,16,0,0],[2009,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2010,4,3,15,59,59],[2010,4,4,2,59,59],
+          '2009100316:00:00','2009100403:00:00','2010040315:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,16,0,0],[2010,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2010,10,2,15,59,59],[2010,10,3,1,59,59],
+          '2010040316:00:00','2010040402:00:00','2010100215:59:59','2010100301:59:59' ],
+        [ [2010,10,2,16,0,0],[2010,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2011,4,2,15,59,59],[2011,4,3,2,59,59],
+          '2010100216:00:00','2010100303:00:00','2011040215:59:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,16,0,0],[2011,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2011,10,1,15,59,59],[2011,10,2,1,59,59],
+          '2011040216:00:00','2011040302:00:00','2011100115:59:59','2011100201:59:59' ],
+        [ [2011,10,1,16,0,0],[2011,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2012,3,31,15,59,59],[2012,4,1,2,59,59],
+          '2011100116:00:00','2011100203:00:00','2012033115:59:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,16,0,0],[2012,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2012,10,6,15,59,59],[2012,10,7,1,59,59],
+          '2012033116:00:00','2012040102:00:00','2012100615:59:59','2012100701:59:59' ],
+        [ [2012,10,6,16,0,0],[2012,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2013,4,6,15,59,59],[2013,4,7,2,59,59],
+          '2012100616:00:00','2012100703:00:00','2013040615:59:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,16,0,0],[2013,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2013,10,5,15,59,59],[2013,10,6,1,59,59],
+          '2013040616:00:00','2013040702:00:00','2013100515:59:59','2013100601:59:59' ],
+        [ [2013,10,5,16,0,0],[2013,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2014,4,5,15,59,59],[2014,4,6,2,59,59],
+          '2013100516:00:00','2013100603:00:00','2014040515:59:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,16,0,0],[2014,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2014,10,4,15,59,59],[2014,10,5,1,59,59],
+          '2014040516:00:00','2014040602:00:00','2014100415:59:59','2014100501:59:59' ],
+        [ [2014,10,4,16,0,0],[2014,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2015,4,4,15,59,59],[2015,4,5,2,59,59],
+          '2014100416:00:00','2014100503:00:00','2015040415:59:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,16,0,0],[2015,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2015,10,3,15,59,59],[2015,10,4,1,59,59],
+          '2015040416:00:00','2015040502:00:00','2015100315:59:59','2015100401:59:59' ],
+        [ [2015,10,3,16,0,0],[2015,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2016,4,2,15,59,59],[2016,4,3,2,59,59],
+          '2015100316:00:00','2015100403:00:00','2016040215:59:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,16,0,0],[2016,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2016,10,1,15,59,59],[2016,10,2,1,59,59],
+          '2016040216:00:00','2016040302:00:00','2016100115:59:59','2016100201:59:59' ],
+        [ [2016,10,1,16,0,0],[2016,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2017,4,1,15,59,59],[2017,4,2,2,59,59],
+          '2016100116:00:00','2016100203:00:00','2017040115:59:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,16,0,0],[2017,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2017,9,30,15,59,59],[2017,10,1,1,59,59],
+          '2017040116:00:00','2017040202:00:00','2017093015:59:59','2017100101:59:59' ],
+        [ [2017,9,30,16,0,0],[2017,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2018,3,31,15,59,59],[2018,4,1,2,59,59],
+          '2017093016:00:00','2017100103:00:00','2018033115:59:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,16,0,0],[2018,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2018,10,6,15,59,59],[2018,10,7,1,59,59],
+          '2018033116:00:00','2018040102:00:00','2018100615:59:59','2018100701:59:59' ],
+        [ [2018,10,6,16,0,0],[2018,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2019,4,6,15,59,59],[2019,4,7,2,59,59],
+          '2018100616:00:00','2018100703:00:00','2019040615:59:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,16,0,0],[2019,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2019,10,5,15,59,59],[2019,10,6,1,59,59],
+          '2019040616:00:00','2019040702:00:00','2019100515:59:59','2019100601:59:59' ],
+        [ [2019,10,5,16,0,0],[2019,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2020,4,4,15,59,59],[2020,4,5,2,59,59],
+          '2019100516:00:00','2019100603:00:00','2020040415:59:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,16,0,0],[2020,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2020,10,3,15,59,59],[2020,10,4,1,59,59],
+          '2020040416:00:00','2020040502:00:00','2020100315:59:59','2020100401:59:59' ],
+        [ [2020,10,3,16,0,0],[2020,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2021,4,3,15,59,59],[2021,4,4,2,59,59],
+          '2020100316:00:00','2020100403:00:00','2021040315:59:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,16,0,0],[2021,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2021,10,2,15,59,59],[2021,10,3,1,59,59],
+          '2021040316:00:00','2021040402:00:00','2021100215:59:59','2021100301:59:59' ],
+        [ [2021,10,2,16,0,0],[2021,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2022,4,2,15,59,59],[2022,4,3,2,59,59],
+          '2021100216:00:00','2021100303:00:00','2022040215:59:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,16,0,0],[2022,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2022,10,1,15,59,59],[2022,10,2,1,59,59],
+          '2022040216:00:00','2022040302:00:00','2022100115:59:59','2022100201:59:59' ],
+        [ [2022,10,1,16,0,0],[2022,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2023,4,1,15,59,59],[2023,4,2,2,59,59],
+          '2022100116:00:00','2022100203:00:00','2023040115:59:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,16,0,0],[2023,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2023,9,30,15,59,59],[2023,10,1,1,59,59],
+          '2023040116:00:00','2023040202:00:00','2023093015:59:59','2023100101:59:59' ],
+        [ [2023,9,30,16,0,0],[2023,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2024,4,6,15,59,59],[2024,4,7,2,59,59],
+          '2023093016:00:00','2023100103:00:00','2024040615:59:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,16,0,0],[2024,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2024,10,5,15,59,59],[2024,10,6,1,59,59],
+          '2024040616:00:00','2024040702:00:00','2024100515:59:59','2024100601:59:59' ],
+        [ [2024,10,5,16,0,0],[2024,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2025,4,5,15,59,59],[2025,4,6,2,59,59],
+          '2024100516:00:00','2024100603:00:00','2025040515:59:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,16,0,0],[2025,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2025,10,4,15,59,59],[2025,10,5,1,59,59],
+          '2025040516:00:00','2025040602:00:00','2025100415:59:59','2025100501:59:59' ],
+        [ [2025,10,4,16,0,0],[2025,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2026,4,4,15,59,59],[2026,4,5,2,59,59],
+          '2025100416:00:00','2025100503:00:00','2026040415:59:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,16,0,0],[2026,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2026,10,3,15,59,59],[2026,10,4,1,59,59],
+          '2026040416:00:00','2026040502:00:00','2026100315:59:59','2026100401:59:59' ],
+        [ [2026,10,3,16,0,0],[2026,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2027,4,3,15,59,59],[2027,4,4,2,59,59],
+          '2026100316:00:00','2026100403:00:00','2027040315:59:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,16,0,0],[2027,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2027,10,2,15,59,59],[2027,10,3,1,59,59],
+          '2027040316:00:00','2027040402:00:00','2027100215:59:59','2027100301:59:59' ],
+        [ [2027,10,2,16,0,0],[2027,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2028,4,1,15,59,59],[2028,4,2,2,59,59],
+          '2027100216:00:00','2027100303:00:00','2028040115:59:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,16,0,0],[2028,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2028,9,30,15,59,59],[2028,10,1,1,59,59],
+          '2028040116:00:00','2028040202:00:00','2028093015:59:59','2028100101:59:59' ],
+        [ [2028,9,30,16,0,0],[2028,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2029,3,31,15,59,59],[2029,4,1,2,59,59],
+          '2028093016:00:00','2028100103:00:00','2029033115:59:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,16,0,0],[2029,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2029,10,6,15,59,59],[2029,10,7,1,59,59],
+          '2029033116:00:00','2029040102:00:00','2029100615:59:59','2029100701:59:59' ],
+        [ [2029,10,6,16,0,0],[2029,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2030,4,6,15,59,59],[2030,4,7,2,59,59],
+          '2029100616:00:00','2029100703:00:00','2030040615:59:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,16,0,0],[2030,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2030,10,5,15,59,59],[2030,10,6,1,59,59],
+          '2030040616:00:00','2030040702:00:00','2030100515:59:59','2030100601:59:59' ],
+        [ [2030,10,5,16,0,0],[2030,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2031,4,5,15,59,59],[2031,4,6,2,59,59],
+          '2030100516:00:00','2030100603:00:00','2031040515:59:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,16,0,0],[2031,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2031,10,4,15,59,59],[2031,10,5,1,59,59],
+          '2031040516:00:00','2031040602:00:00','2031100415:59:59','2031100501:59:59' ],
+        [ [2031,10,4,16,0,0],[2031,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2032,4,3,15,59,59],[2032,4,4,2,59,59],
+          '2031100416:00:00','2031100503:00:00','2032040315:59:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,16,0,0],[2032,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2032,10,2,15,59,59],[2032,10,3,1,59,59],
+          '2032040316:00:00','2032040402:00:00','2032100215:59:59','2032100301:59:59' ],
+        [ [2032,10,2,16,0,0],[2032,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2033,4,2,15,59,59],[2033,4,3,2,59,59],
+          '2032100216:00:00','2032100303:00:00','2033040215:59:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,16,0,0],[2033,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2033,10,1,15,59,59],[2033,10,2,1,59,59],
+          '2033040216:00:00','2033040302:00:00','2033100115:59:59','2033100201:59:59' ],
+        [ [2033,10,1,16,0,0],[2033,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2034,4,1,15,59,59],[2034,4,2,2,59,59],
+          '2033100116:00:00','2033100203:00:00','2034040115:59:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,16,0,0],[2034,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2034,9,30,15,59,59],[2034,10,1,1,59,59],
+          '2034040116:00:00','2034040202:00:00','2034093015:59:59','2034100101:59:59' ],
+        [ [2034,9,30,16,0,0],[2034,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2035,3,31,15,59,59],[2035,4,1,2,59,59],
+          '2034093016:00:00','2034100103:00:00','2035033115:59:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,16,0,0],[2035,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2035,10,6,15,59,59],[2035,10,7,1,59,59],
+          '2035033116:00:00','2035040102:00:00','2035100615:59:59','2035100701:59:59' ],
+        [ [2035,10,6,16,0,0],[2035,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2036,4,5,15,59,59],[2036,4,6,2,59,59],
+          '2035100616:00:00','2035100703:00:00','2036040515:59:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,16,0,0],[2036,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2036,10,4,15,59,59],[2036,10,5,1,59,59],
+          '2036040516:00:00','2036040602:00:00','2036100415:59:59','2036100501:59:59' ],
+        [ [2036,10,4,16,0,0],[2036,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2037,4,4,15,59,59],[2037,4,5,2,59,59],
+          '2036100416:00:00','2036100503:00:00','2037040415:59:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,16,0,0],[2037,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2037,10,3,15,59,59],[2037,10,4,1,59,59],
+          '2037040416:00:00','2037040502:00:00','2037100315:59:59','2037100401:59:59' ],
+        [ [2037,10,3,16,0,0],[2037,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2038,4,3,15,59,59],[2038,4,4,2,59,59],
+          '2037100316:00:00','2037100403:00:00','2038040315:59:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,16,0,0],[2038,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2038,10,2,15,59,59],[2038,10,3,1,59,59],
+          '2038040316:00:00','2038040402:00:00','2038100215:59:59','2038100301:59:59' ],
+        [ [2038,10,2,16,0,0],[2038,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2039,4,2,15,59,59],[2039,4,3,2,59,59],
+          '2038100216:00:00','2038100303:00:00','2039040215:59:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,16,0,0],[2039,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2039,10,1,15,59,59],[2039,10,2,1,59,59],
+          '2039040216:00:00','2039040302:00:00','2039100115:59:59','2039100201:59:59' ],
+        [ [2039,10,1,16,0,0],[2039,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2040,3,31,15,59,59],[2040,4,1,2,59,59],
+          '2039100116:00:00','2039100203:00:00','2040033115:59:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,16,0,0],[2040,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2040,10,6,15,59,59],[2040,10,7,1,59,59],
+          '2040033116:00:00','2040040102:00:00','2040100615:59:59','2040100701:59:59' ],
+        [ [2040,10,6,16,0,0],[2040,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2041,4,6,15,59,59],[2041,4,7,2,59,59],
+          '2040100616:00:00','2040100703:00:00','2041040615:59:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,16,0,0],[2041,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2041,10,5,15,59,59],[2041,10,6,1,59,59],
+          '2041040616:00:00','2041040702:00:00','2041100515:59:59','2041100601:59:59' ],
+        [ [2041,10,5,16,0,0],[2041,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2042,4,5,15,59,59],[2042,4,6,2,59,59],
+          '2041100516:00:00','2041100603:00:00','2042040515:59:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,16,0,0],[2042,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2042,10,4,15,59,59],[2042,10,5,1,59,59],
+          '2042040516:00:00','2042040602:00:00','2042100415:59:59','2042100501:59:59' ],
+        [ [2042,10,4,16,0,0],[2042,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2043,4,4,15,59,59],[2043,4,5,2,59,59],
+          '2042100416:00:00','2042100503:00:00','2043040415:59:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,16,0,0],[2043,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2043,10,3,15,59,59],[2043,10,4,1,59,59],
+          '2043040416:00:00','2043040502:00:00','2043100315:59:59','2043100401:59:59' ],
+        [ [2043,10,3,16,0,0],[2043,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2044,4,2,15,59,59],[2044,4,3,2,59,59],
+          '2043100316:00:00','2043100403:00:00','2044040215:59:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,16,0,0],[2044,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2044,10,1,15,59,59],[2044,10,2,1,59,59],
+          '2044040216:00:00','2044040302:00:00','2044100115:59:59','2044100201:59:59' ],
+        [ [2044,10,1,16,0,0],[2044,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2045,4,1,15,59,59],[2045,4,2,2,59,59],
+          '2044100116:00:00','2044100203:00:00','2045040115:59:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,16,0,0],[2045,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2045,9,30,15,59,59],[2045,10,1,1,59,59],
+          '2045040116:00:00','2045040202:00:00','2045093015:59:59','2045100101:59:59' ],
+        [ [2045,9,30,16,0,0],[2045,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2046,3,31,15,59,59],[2046,4,1,2,59,59],
+          '2045093016:00:00','2045100103:00:00','2046033115:59:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,16,0,0],[2046,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2046,10,6,15,59,59],[2046,10,7,1,59,59],
+          '2046033116:00:00','2046040102:00:00','2046100615:59:59','2046100701:59:59' ],
+        [ [2046,10,6,16,0,0],[2046,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2047,4,6,15,59,59],[2047,4,7,2,59,59],
+          '2046100616:00:00','2046100703:00:00','2047040615:59:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,16,0,0],[2047,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2047,10,5,15,59,59],[2047,10,6,1,59,59],
+          '2047040616:00:00','2047040702:00:00','2047100515:59:59','2047100601:59:59' ],
+        [ [2047,10,5,16,0,0],[2047,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2048,4,4,15,59,59],[2048,4,5,2,59,59],
+          '2047100516:00:00','2047100603:00:00','2048040415:59:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,16,0,0],[2048,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2048,10,3,15,59,59],[2048,10,4,1,59,59],
+          '2048040416:00:00','2048040502:00:00','2048100315:59:59','2048100401:59:59' ],
+        [ [2048,10,3,16,0,0],[2048,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2049,4,3,15,59,59],[2049,4,4,2,59,59],
+          '2048100316:00:00','2048100403:00:00','2049040315:59:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,16,0,0],[2049,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2049,10,2,15,59,59],[2049,10,3,1,59,59],
+          '2049040316:00:00','2049040402:00:00','2049100215:59:59','2049100301:59:59' ],
+        [ [2049,10,2,16,0,0],[2049,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2050,4,2,15,59,59],[2050,4,3,2,59,59],
+          '2049100216:00:00','2049100303:00:00','2050040215:59:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,16,0,0],[2050,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2050,10,1,15,59,59],[2050,10,2,1,59,59],
+          '2050040216:00:00','2050040302:00:00','2050100115:59:59','2050100201:59:59' ],
+        [ [2050,10,1,16,0,0],[2050,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2051,4,1,15,59,59],[2051,4,2,2,59,59],
+          '2050100116:00:00','2050100203:00:00','2051040115:59:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,16,0,0],[2051,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2051,9,30,15,59,59],[2051,10,1,1,59,59],
+          '2051040116:00:00','2051040202:00:00','2051093015:59:59','2051100101:59:59' ],
+        [ [2051,9,30,16,0,0],[2051,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2052,4,6,15,59,59],[2052,4,7,2,59,59],
+          '2051093016:00:00','2051100103:00:00','2052040615:59:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,16,0,0],[2052,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2052,10,5,15,59,59],[2052,10,6,1,59,59],
+          '2052040616:00:00','2052040702:00:00','2052100515:59:59','2052100601:59:59' ],
+        [ [2052,10,5,16,0,0],[2052,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2053,4,5,15,59,59],[2053,4,6,2,59,59],
+          '2052100516:00:00','2052100603:00:00','2053040515:59:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,16,0,0],[2053,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2053,10,4,15,59,59],[2053,10,5,1,59,59],
+          '2053040516:00:00','2053040602:00:00','2053100415:59:59','2053100501:59:59' ],
+        [ [2053,10,4,16,0,0],[2053,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2054,4,4,15,59,59],[2054,4,5,2,59,59],
+          '2053100416:00:00','2053100503:00:00','2054040415:59:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,16,0,0],[2054,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2054,10,3,15,59,59],[2054,10,4,1,59,59],
+          '2054040416:00:00','2054040502:00:00','2054100315:59:59','2054100401:59:59' ],
+        [ [2054,10,3,16,0,0],[2054,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2055,4,3,15,59,59],[2055,4,4,2,59,59],
+          '2054100316:00:00','2054100403:00:00','2055040315:59:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,16,0,0],[2055,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2055,10,2,15,59,59],[2055,10,3,1,59,59],
+          '2055040316:00:00','2055040402:00:00','2055100215:59:59','2055100301:59:59' ],
+        [ [2055,10,2,16,0,0],[2055,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2056,4,1,15,59,59],[2056,4,2,2,59,59],
+          '2055100216:00:00','2055100303:00:00','2056040115:59:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,16,0,0],[2056,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2056,9,30,15,59,59],[2056,10,1,1,59,59],
+          '2056040116:00:00','2056040202:00:00','2056093015:59:59','2056100101:59:59' ],
+        [ [2056,9,30,16,0,0],[2056,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2057,3,31,15,59,59],[2057,4,1,2,59,59],
+          '2056093016:00:00','2056100103:00:00','2057033115:59:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,16,0,0],[2057,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2057,10,6,15,59,59],[2057,10,7,1,59,59],
+          '2057033116:00:00','2057040102:00:00','2057100615:59:59','2057100701:59:59' ],
+        [ [2057,10,6,16,0,0],[2057,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2058,4,6,15,59,59],[2058,4,7,2,59,59],
+          '2057100616:00:00','2057100703:00:00','2058040615:59:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,16,0,0],[2058,4,7,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2058,10,5,15,59,59],[2058,10,6,1,59,59],
+          '2058040616:00:00','2058040702:00:00','2058100515:59:59','2058100601:59:59' ],
+        [ [2058,10,5,16,0,0],[2058,10,6,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2059,4,5,15,59,59],[2059,4,6,2,59,59],
+          '2058100516:00:00','2058100603:00:00','2059040515:59:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,16,0,0],[2059,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2059,10,4,15,59,59],[2059,10,5,1,59,59],
+          '2059040516:00:00','2059040602:00:00','2059100415:59:59','2059100501:59:59' ],
+        [ [2059,10,4,16,0,0],[2059,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2060,4,3,15,59,59],[2060,4,4,2,59,59],
+          '2059100416:00:00','2059100503:00:00','2060040315:59:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,16,0,0],[2060,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2060,10,2,15,59,59],[2060,10,3,1,59,59],
+          '2060040316:00:00','2060040402:00:00','2060100215:59:59','2060100301:59:59' ],
+        [ [2060,10,2,16,0,0],[2060,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2061,4,2,15,59,59],[2061,4,3,2,59,59],
+          '2060100216:00:00','2060100303:00:00','2061040215:59:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,16,0,0],[2061,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2061,10,1,15,59,59],[2061,10,2,1,59,59],
+          '2061040216:00:00','2061040302:00:00','2061100115:59:59','2061100201:59:59' ],
+        [ [2061,10,1,16,0,0],[2061,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2062,4,1,15,59,59],[2062,4,2,2,59,59],
+          '2061100116:00:00','2061100203:00:00','2062040115:59:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,16,0,0],[2062,4,2,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2062,9,30,15,59,59],[2062,10,1,1,59,59],
+          '2062040116:00:00','2062040202:00:00','2062093015:59:59','2062100101:59:59' ],
+        [ [2062,9,30,16,0,0],[2062,10,1,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2063,3,31,15,59,59],[2063,4,1,2,59,59],
+          '2062093016:00:00','2062100103:00:00','2063033115:59:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,16,0,0],[2063,4,1,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2063,10,6,15,59,59],[2063,10,7,1,59,59],
+          '2063033116:00:00','2063040102:00:00','2063100615:59:59','2063100701:59:59' ],
+        [ [2063,10,6,16,0,0],[2063,10,7,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2064,4,5,15,59,59],[2064,4,6,2,59,59],
+          '2063100616:00:00','2063100703:00:00','2064040515:59:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,16,0,0],[2064,4,6,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2064,10,4,15,59,59],[2064,10,5,1,59,59],
+          '2064040516:00:00','2064040602:00:00','2064100415:59:59','2064100501:59:59' ],
+        [ [2064,10,4,16,0,0],[2064,10,5,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2065,4,4,15,59,59],[2065,4,5,2,59,59],
+          '2064100416:00:00','2064100503:00:00','2065040415:59:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,16,0,0],[2065,4,5,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2065,10,3,15,59,59],[2065,10,4,1,59,59],
+          '2065040416:00:00','2065040502:00:00','2065100315:59:59','2065100401:59:59' ],
+        [ [2065,10,3,16,0,0],[2065,10,4,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2066,4,3,15,59,59],[2066,4,4,2,59,59],
+          '2065100316:00:00','2065100403:00:00','2066040315:59:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,16,0,0],[2066,4,4,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2066,10,2,15,59,59],[2066,10,3,1,59,59],
+          '2066040316:00:00','2066040402:00:00','2066100215:59:59','2066100301:59:59' ],
+        [ [2066,10,2,16,0,0],[2066,10,3,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2067,4,2,15,59,59],[2067,4,3,2,59,59],
+          '2066100216:00:00','2066100303:00:00','2067040215:59:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,16,0,0],[2067,4,3,2,0,0],'+10:00:00',[10,0,0],
+          'AEST',0,[2067,10,1,15,59,59],[2067,10,2,1,59,59],
+          '2067040216:00:00','2067040302:00:00','2067100115:59:59','2067100201:59:59' ],
+        [ [2067,10,1,16,0,0],[2067,10,2,3,0,0],'+11:00:00',[11,0,0],
+          'AEDT',1,[2068,3,31,15,59,59],[2068,4,1,2,59,59],
+          '2067100116:00:00','2067100203:00:00','2068033115:59:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+11:00:00',
+                'stdoff' => '+10:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'AEST',
+                        },
+                '10' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'AEDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/b00.pm b/lib/Date/Manip/TZ/b00.pm
new file mode 100644
index 0000000..97cdb95
--- /dev/null
+++ b/lib/Date/Manip/TZ/b00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::b00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,0,0],'-02:00:00',[-2,0,0],
+          'B',0,[9999,12,31,0,0,0],[9999,12,30,22,0,0],
+          '0001010200:00:00','0001010122:00:00','9999123100:00:00','9999123022:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/c00.pm b/lib/Date/Manip/TZ/c00.pm
new file mode 100644
index 0000000..a39e062
--- /dev/null
+++ b/lib/Date/Manip/TZ/c00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::c00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,0,0],'-03:00:00',[-3,0,0],
+          'C',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '0001010200:00:00','0001010121:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/cet00.pm b/lib/Date/Manip/TZ/cet00.pm
new file mode 100644
index 0000000..e3d4164
--- /dev/null
+++ b/lib/Date/Manip/TZ/cet00.pm
@@ -0,0 +1,952 @@
+package #
+Date::Manip::TZ::cet00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '0001010200:00:00','0001010201:00:00','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/d00.pm b/lib/Date/Manip/TZ/d00.pm
new file mode 100644
index 0000000..bc56df0
--- /dev/null
+++ b/lib/Date/Manip/TZ/d00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::d00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,0,0],'-04:00:00',[-4,0,0],
+          'D',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '0001010200:00:00','0001010120:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/e00.pm b/lib/Date/Manip/TZ/e00.pm
new file mode 100644
index 0000000..3e721ff
--- /dev/null
+++ b/lib/Date/Manip/TZ/e00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::e00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,0,0],'-05:00:00',[-5,0,0],
+          'E',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '0001010200:00:00','0001010119:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eet00.pm b/lib/Date/Manip/TZ/eet00.pm
new file mode 100644
index 0000000..2d94dd2
--- /dev/null
+++ b/lib/Date/Manip/TZ/eet00.pm
@@ -0,0 +1,886 @@
+package #
+Date::Manip::TZ::eet00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,3,0,59,59],[1977,4,3,2,59,59],
+          '0001010200:00:00','0001010202:00:00','1977040300:59:59','1977040302:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,25,0,59,59],[1977,9,25,3,59,59],
+          '1977040301:00:00','1977040304:00:00','1977092500:59:59','1977092503:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,2,0,59,59],[1978,4,2,2,59,59],
+          '1977092501:00:00','1977092503:00:00','1978040200:59:59','1978040202:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,10,1,0,59,59],[1978,10,1,3,59,59],
+          '1978040201:00:00','1978040204:00:00','1978100100:59:59','1978100103:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,4,1,0,59,59],[1979,4,1,2,59,59],
+          '1978100101:00:00','1978100103:00:00','1979040100:59:59','1979040102:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,30,0,59,59],[1979,9,30,3,59,59],
+          '1979040101:00:00','1979040104:00:00','1979093000:59:59','1979093003:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,6,0,59,59],[1980,4,6,2,59,59],
+          '1979093001:00:00','1979093003:00:00','1980040600:59:59','1980040602:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,28,0,59,59],[1980,9,28,3,59,59],
+          '1980040601:00:00','1980040604:00:00','1980092800:59:59','1980092803:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,29,0,59,59],[1981,3,29,2,59,59],
+          '1980092801:00:00','1980092803:00:00','1981032900:59:59','1981032902:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,27,0,59,59],[1981,9,27,3,59,59],
+          '1981032901:00:00','1981032904:00:00','1981092700:59:59','1981092703:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,28,0,59,59],[1982,3,28,2,59,59],
+          '1981092701:00:00','1981092703:00:00','1982032800:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,26,0,59,59],[1982,9,26,3,59,59],
+          '1982032801:00:00','1982032804:00:00','1982092600:59:59','1982092603:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,27,0,59,59],[1983,3,27,2,59,59],
+          '1982092601:00:00','1982092603:00:00','1983032700:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,25,0,59,59],[1983,9,25,3,59,59],
+          '1983032701:00:00','1983032704:00:00','1983092500:59:59','1983092503:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,25,0,59,59],[1984,3,25,2,59,59],
+          '1983092501:00:00','1983092503:00:00','1984032500:59:59','1984032502:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,30,0,59,59],[1984,9,30,3,59,59],
+          '1984032501:00:00','1984032504:00:00','1984093000:59:59','1984093003:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,31,0,59,59],[1985,3,31,2,59,59],
+          '1984093001:00:00','1984093003:00:00','1985033100:59:59','1985033102:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,29,0,59,59],[1985,9,29,3,59,59],
+          '1985033101:00:00','1985033104:00:00','1985092900:59:59','1985092903:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,30,0,59,59],[1986,3,30,2,59,59],
+          '1985092901:00:00','1985092903:00:00','1986033000:59:59','1986033002:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,28,0,59,59],[1986,9,28,3,59,59],
+          '1986033001:00:00','1986033004:00:00','1986092800:59:59','1986092803:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,29,0,59,59],[1987,3,29,2,59,59],
+          '1986092801:00:00','1986092803:00:00','1987032900:59:59','1987032902:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,27,0,59,59],[1987,9,27,3,59,59],
+          '1987032901:00:00','1987032904:00:00','1987092700:59:59','1987092703:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,27,0,59,59],[1988,3,27,2,59,59],
+          '1987092701:00:00','1987092703:00:00','1988032700:59:59','1988032702:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,25,0,59,59],[1988,9,25,3,59,59],
+          '1988032701:00:00','1988032704:00:00','1988092500:59:59','1988092503:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,26,0,59,59],[1989,3,26,2,59,59],
+          '1988092501:00:00','1988092503:00:00','1989032600:59:59','1989032602:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,24,0,59,59],[1989,9,24,3,59,59],
+          '1989032601:00:00','1989032604:00:00','1989092400:59:59','1989092403:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,25,0,59,59],[1990,3,25,2,59,59],
+          '1989092401:00:00','1989092403:00:00','1990032500:59:59','1990032502:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,30,0,59,59],[1990,9,30,3,59,59],
+          '1990032501:00:00','1990032504:00:00','1990093000:59:59','1990093003:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,31,0,59,59],[1991,3,31,2,59,59],
+          '1990093001:00:00','1990093003:00:00','1991033100:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,29,0,59,59],[1991,9,29,3,59,59],
+          '1991033101:00:00','1991033104:00:00','1991092900:59:59','1991092903:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,29,0,59,59],[1992,3,29,2,59,59],
+          '1991092901:00:00','1991092903:00:00','1992032900:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,27,0,59,59],[1992,9,27,3,59,59],
+          '1992032901:00:00','1992032904:00:00','1992092700:59:59','1992092703:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,28,0,59,59],[1993,3,28,2,59,59],
+          '1992092701:00:00','1992092703:00:00','1993032800:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,26,0,59,59],[1993,9,26,3,59,59],
+          '1993032801:00:00','1993032804:00:00','1993092600:59:59','1993092603:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,27,0,59,59],[1994,3,27,2,59,59],
+          '1993092601:00:00','1993092603:00:00','1994032700:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,25,0,59,59],[1994,9,25,3,59,59],
+          '1994032701:00:00','1994032704:00:00','1994092500:59:59','1994092503:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092501:00:00','1994092503:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmt00.pm b/lib/Date/Manip/TZ/etgmt00.pm
new file mode 100644
index 0000000..8feecee
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmt00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmt00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '0001010200:00:00','0001010200:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm00.pm b/lib/Date/Manip/TZ/etgmtm00.pm
new file mode 100644
index 0000000..dd2c285
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,0,0],'-01:00:00',[-1,0,0],
+          'GMT-1',0,[9999,12,31,0,0,0],[9999,12,30,23,0,0],
+          '0001010200:00:00','0001010123:00:00','9999123100:00:00','9999123023:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm01.pm b/lib/Date/Manip/TZ/etgmtm01.pm
new file mode 100644
index 0000000..3b85b88
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm01.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,0,0],'-10:00:00',[-10,0,0],
+          'GMT-10',0,[9999,12,31,0,0,0],[9999,12,30,14,0,0],
+          '0001010200:00:00','0001010114:00:00','9999123100:00:00','9999123014:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm02.pm b/lib/Date/Manip/TZ/etgmtm02.pm
new file mode 100644
index 0000000..c4760f2
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm02.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm02;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,13,0,0],'-11:00:00',[-11,0,0],
+          'GMT-11',0,[9999,12,31,0,0,0],[9999,12,30,13,0,0],
+          '0001010200:00:00','0001010113:00:00','9999123100:00:00','9999123013:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm03.pm b/lib/Date/Manip/TZ/etgmtm03.pm
new file mode 100644
index 0000000..bfe2324
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm03.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm03;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,12,0,0],'-12:00:00',[-12,0,0],
+          'GMT-12',0,[9999,12,31,0,0,0],[9999,12,30,12,0,0],
+          '0001010200:00:00','0001010112:00:00','9999123100:00:00','9999123012:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm04.pm b/lib/Date/Manip/TZ/etgmtm04.pm
new file mode 100644
index 0000000..0a4ec27
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm04.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm04;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,11,0,0],'-13:00:00',[-13,0,0],
+          'GMT-13',0,[9999,12,31,0,0,0],[9999,12,30,11,0,0],
+          '0001010200:00:00','0001010111:00:00','9999123100:00:00','9999123011:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm05.pm b/lib/Date/Manip/TZ/etgmtm05.pm
new file mode 100644
index 0000000..4da3212
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm05.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm05;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,10,0,0],'-14:00:00',[-14,0,0],
+          'GMT-14',0,[9999,12,31,0,0,0],[9999,12,30,10,0,0],
+          '0001010200:00:00','0001010110:00:00','9999123100:00:00','9999123010:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm06.pm b/lib/Date/Manip/TZ/etgmtm06.pm
new file mode 100644
index 0000000..7724a2a
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm06.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm06;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,22,0,0],'-02:00:00',[-2,0,0],
+          'GMT-2',0,[9999,12,31,0,0,0],[9999,12,30,22,0,0],
+          '0001010200:00:00','0001010122:00:00','9999123100:00:00','9999123022:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm07.pm b/lib/Date/Manip/TZ/etgmtm07.pm
new file mode 100644
index 0000000..b9d375c
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm07.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm07;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,21,0,0],'-03:00:00',[-3,0,0],
+          'GMT-3',0,[9999,12,31,0,0,0],[9999,12,30,21,0,0],
+          '0001010200:00:00','0001010121:00:00','9999123100:00:00','9999123021:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm08.pm b/lib/Date/Manip/TZ/etgmtm08.pm
new file mode 100644
index 0000000..caac207
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm08.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm08;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,20,0,0],'-04:00:00',[-4,0,0],
+          'GMT-4',0,[9999,12,31,0,0,0],[9999,12,30,20,0,0],
+          '0001010200:00:00','0001010120:00:00','9999123100:00:00','9999123020:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm09.pm b/lib/Date/Manip/TZ/etgmtm09.pm
new file mode 100644
index 0000000..4f1a6e9
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm09.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm09;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,19,0,0],'-05:00:00',[-5,0,0],
+          'GMT-5',0,[9999,12,31,0,0,0],[9999,12,30,19,0,0],
+          '0001010200:00:00','0001010119:00:00','9999123100:00:00','9999123019:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm10.pm b/lib/Date/Manip/TZ/etgmtm10.pm
new file mode 100644
index 0000000..2e1b4d4
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm10.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm10;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,0,0],'-06:00:00',[-6,0,0],
+          'GMT-6',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '0001010200:00:00','0001010118:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm11.pm b/lib/Date/Manip/TZ/etgmtm11.pm
new file mode 100644
index 0000000..a3d91b6
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm11.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm11;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,0,0],'-07:00:00',[-7,0,0],
+          'GMT-7',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '0001010200:00:00','0001010117:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm12.pm b/lib/Date/Manip/TZ/etgmtm12.pm
new file mode 100644
index 0000000..b2e4324
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm12.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm12;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,0,0],'-08:00:00',[-8,0,0],
+          'GMT-8',0,[9999,12,31,0,0,0],[9999,12,30,16,0,0],
+          '0001010200:00:00','0001010116:00:00','9999123100:00:00','9999123016:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtm13.pm b/lib/Date/Manip/TZ/etgmtm13.pm
new file mode 100644
index 0000000..5f3d72a
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtm13.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtm13;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,0,0],'-09:00:00',[-9,0,0],
+          'GMT-9',0,[9999,12,31,0,0,0],[9999,12,30,15,0,0],
+          '0001010200:00:00','0001010115:00:00','9999123100:00:00','9999123015:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp00.pm b/lib/Date/Manip/TZ/etgmtp00.pm
new file mode 100644
index 0000000..b555819
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,0,0],'+01:00:00',[1,0,0],
+          'GMT+1',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '0001010200:00:00','0001010201:00:00','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp01.pm b/lib/Date/Manip/TZ/etgmtp01.pm
new file mode 100644
index 0000000..6f649f3
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp01.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp01;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,0,0],'+10:00:00',[10,0,0],
+          'GMT+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '0001010200:00:00','0001010210:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp02.pm b/lib/Date/Manip/TZ/etgmtp02.pm
new file mode 100644
index 0000000..968439b
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp02.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp02;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,0,0],'+11:00:00',[11,0,0],
+          'GMT+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '0001010200:00:00','0001010211:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp03.pm b/lib/Date/Manip/TZ/etgmtp03.pm
new file mode 100644
index 0000000..2429d4c
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp03.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp03;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,0,0],'+12:00:00',[12,0,0],
+          'GMT+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '0001010200:00:00','0001010212:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp04.pm b/lib/Date/Manip/TZ/etgmtp04.pm
new file mode 100644
index 0000000..b5a40c0
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp04.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp04;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,0,0],'+02:00:00',[2,0,0],
+          'GMT+2',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '0001010200:00:00','0001010202:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp05.pm b/lib/Date/Manip/TZ/etgmtp05.pm
new file mode 100644
index 0000000..d5b2636
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp05.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp05;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,0,0],'+03:00:00',[3,0,0],
+          'GMT+3',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '0001010200:00:00','0001010203:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp06.pm b/lib/Date/Manip/TZ/etgmtp06.pm
new file mode 100644
index 0000000..4d2e0e4
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp06.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp06;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,0,0],'+04:00:00',[4,0,0],
+          'GMT+4',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '0001010200:00:00','0001010204:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp07.pm b/lib/Date/Manip/TZ/etgmtp07.pm
new file mode 100644
index 0000000..e51901f
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp07.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp07;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,0,0],'+05:00:00',[5,0,0],
+          'GMT+5',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '0001010200:00:00','0001010205:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp08.pm b/lib/Date/Manip/TZ/etgmtp08.pm
new file mode 100644
index 0000000..b3c69fb
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp08.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp08;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,0,0],'+06:00:00',[6,0,0],
+          'GMT+6',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '0001010200:00:00','0001010206:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp09.pm b/lib/Date/Manip/TZ/etgmtp09.pm
new file mode 100644
index 0000000..5d947c9
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp09.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp09;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,0,0],'+07:00:00',[7,0,0],
+          'GMT+7',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '0001010200:00:00','0001010207:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp10.pm b/lib/Date/Manip/TZ/etgmtp10.pm
new file mode 100644
index 0000000..ec030a7
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp10.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp10;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,0,0],'+08:00:00',[8,0,0],
+          'GMT+8',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '0001010200:00:00','0001010208:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/etgmtp11.pm b/lib/Date/Manip/TZ/etgmtp11.pm
new file mode 100644
index 0000000..4a64649
--- /dev/null
+++ b/lib/Date/Manip/TZ/etgmtp11.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::etgmtp11;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,0,0],'+09:00:00',[9,0,0],
+          'GMT+9',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '0001010200:00:00','0001010209:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euamst00.pm b/lib/Date/Manip/TZ/euamst00.pm
new file mode 100644
index 0000000..bd2f406
--- /dev/null
+++ b/lib/Date/Manip/TZ/euamst00.pm
@@ -0,0 +1,1150 @@
+package #
+Date::Manip::TZ::euamst00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,19,32],'+00:19:32',[0,19,32],
+          'LMT',0,[1834,12,31,23,40,27],[1834,12,31,23,59,59],
+          '0001010200:00:00','0001010200:19:32','1834123123:40:27','1834123123:59:59' ],
+     ],
+   1834 =>
+     [
+        [ [1834,12,31,23,40,28],[1835,1,1,0,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1916,4,30,23,40,27],[1916,4,30,23,59,59],
+          '1834123123:40:28','1835010100:00:00','1916043023:40:27','1916043023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,23,40,28],[1916,5,1,1,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1916,9,30,22,40,27],[1916,9,30,23,59,59],
+          '1916043023:40:28','1916050101:00:00','1916093022:40:27','1916093023:59:59' ],
+        [ [1916,9,30,22,40,28],[1916,9,30,23,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1917,4,16,1,40,27],[1917,4,16,1,59,59],
+          '1916093022:40:28','1916093023:00:00','1917041601:40:27','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,40,28],[1917,4,16,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1917,9,17,1,40,27],[1917,9,17,2,59,59],
+          '1917041601:40:28','1917041603:00:00','1917091701:40:27','1917091702:59:59' ],
+        [ [1917,9,17,1,40,28],[1917,9,17,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1918,4,1,1,40,27],[1918,4,1,1,59,59],
+          '1917091701:40:28','1917091702:00:00','1918040101:40:27','1918040101:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,1,1,40,28],[1918,4,1,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1918,9,30,1,40,27],[1918,9,30,2,59,59],
+          '1918040101:40:28','1918040103:00:00','1918093001:40:27','1918093002:59:59' ],
+        [ [1918,9,30,1,40,28],[1918,9,30,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1919,4,7,1,40,27],[1919,4,7,1,59,59],
+          '1918093001:40:28','1918093002:00:00','1919040701:40:27','1919040701:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,7,1,40,28],[1919,4,7,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1919,9,29,1,40,27],[1919,9,29,2,59,59],
+          '1919040701:40:28','1919040703:00:00','1919092901:40:27','1919092902:59:59' ],
+        [ [1919,9,29,1,40,28],[1919,9,29,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1920,4,5,1,40,27],[1920,4,5,1,59,59],
+          '1919092901:40:28','1919092902:00:00','1920040501:40:27','1920040501:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,4,5,1,40,28],[1920,4,5,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1920,9,27,1,40,27],[1920,9,27,2,59,59],
+          '1920040501:40:28','1920040503:00:00','1920092701:40:27','1920092702:59:59' ],
+        [ [1920,9,27,1,40,28],[1920,9,27,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1921,4,4,1,40,27],[1921,4,4,1,59,59],
+          '1920092701:40:28','1920092702:00:00','1921040401:40:27','1921040401:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,4,1,40,28],[1921,4,4,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1921,9,26,1,40,27],[1921,9,26,2,59,59],
+          '1921040401:40:28','1921040403:00:00','1921092601:40:27','1921092602:59:59' ],
+        [ [1921,9,26,1,40,28],[1921,9,26,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1922,3,26,1,40,27],[1922,3,26,1,59,59],
+          '1921092601:40:28','1921092602:00:00','1922032601:40:27','1922032601:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,26,1,40,28],[1922,3,26,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1922,10,8,1,40,27],[1922,10,8,2,59,59],
+          '1922032601:40:28','1922032603:00:00','1922100801:40:27','1922100802:59:59' ],
+        [ [1922,10,8,1,40,28],[1922,10,8,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1923,6,1,1,40,27],[1923,6,1,1,59,59],
+          '1922100801:40:28','1922100802:00:00','1923060101:40:27','1923060101:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,6,1,1,40,28],[1923,6,1,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1923,10,7,1,40,27],[1923,10,7,2,59,59],
+          '1923060101:40:28','1923060103:00:00','1923100701:40:27','1923100702:59:59' ],
+        [ [1923,10,7,1,40,28],[1923,10,7,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1924,3,30,1,40,27],[1924,3,30,1,59,59],
+          '1923100701:40:28','1923100702:00:00','1924033001:40:27','1924033001:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,3,30,1,40,28],[1924,3,30,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1924,10,5,1,40,27],[1924,10,5,2,59,59],
+          '1924033001:40:28','1924033003:00:00','1924100501:40:27','1924100502:59:59' ],
+        [ [1924,10,5,1,40,28],[1924,10,5,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1925,6,5,1,40,27],[1925,6,5,1,59,59],
+          '1924100501:40:28','1924100502:00:00','1925060501:40:27','1925060501:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,6,5,1,40,28],[1925,6,5,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1925,10,4,1,40,27],[1925,10,4,2,59,59],
+          '1925060501:40:28','1925060503:00:00','1925100401:40:27','1925100402:59:59' ],
+        [ [1925,10,4,1,40,28],[1925,10,4,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1926,5,15,1,40,27],[1926,5,15,1,59,59],
+          '1925100401:40:28','1925100402:00:00','1926051501:40:27','1926051501:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,5,15,1,40,28],[1926,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1926,10,3,1,40,27],[1926,10,3,2,59,59],
+          '1926051501:40:28','1926051503:00:00','1926100301:40:27','1926100302:59:59' ],
+        [ [1926,10,3,1,40,28],[1926,10,3,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1927,5,15,1,40,27],[1927,5,15,1,59,59],
+          '1926100301:40:28','1926100302:00:00','1927051501:40:27','1927051501:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,5,15,1,40,28],[1927,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1927,10,2,1,40,27],[1927,10,2,2,59,59],
+          '1927051501:40:28','1927051503:00:00','1927100201:40:27','1927100202:59:59' ],
+        [ [1927,10,2,1,40,28],[1927,10,2,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1928,5,15,1,40,27],[1928,5,15,1,59,59],
+          '1927100201:40:28','1927100202:00:00','1928051501:40:27','1928051501:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,5,15,1,40,28],[1928,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1928,10,7,1,40,27],[1928,10,7,2,59,59],
+          '1928051501:40:28','1928051503:00:00','1928100701:40:27','1928100702:59:59' ],
+        [ [1928,10,7,1,40,28],[1928,10,7,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1929,5,15,1,40,27],[1929,5,15,1,59,59],
+          '1928100701:40:28','1928100702:00:00','1929051501:40:27','1929051501:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,5,15,1,40,28],[1929,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1929,10,6,1,40,27],[1929,10,6,2,59,59],
+          '1929051501:40:28','1929051503:00:00','1929100601:40:27','1929100602:59:59' ],
+        [ [1929,10,6,1,40,28],[1929,10,6,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1930,5,15,1,40,27],[1930,5,15,1,59,59],
+          '1929100601:40:28','1929100602:00:00','1930051501:40:27','1930051501:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,5,15,1,40,28],[1930,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1930,10,5,1,40,27],[1930,10,5,2,59,59],
+          '1930051501:40:28','1930051503:00:00','1930100501:40:27','1930100502:59:59' ],
+        [ [1930,10,5,1,40,28],[1930,10,5,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1931,5,15,1,40,27],[1931,5,15,1,59,59],
+          '1930100501:40:28','1930100502:00:00','1931051501:40:27','1931051501:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,5,15,1,40,28],[1931,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1931,10,4,1,40,27],[1931,10,4,2,59,59],
+          '1931051501:40:28','1931051503:00:00','1931100401:40:27','1931100402:59:59' ],
+        [ [1931,10,4,1,40,28],[1931,10,4,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1932,5,22,1,40,27],[1932,5,22,1,59,59],
+          '1931100401:40:28','1931100402:00:00','1932052201:40:27','1932052201:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,22,1,40,28],[1932,5,22,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1932,10,2,1,40,27],[1932,10,2,2,59,59],
+          '1932052201:40:28','1932052203:00:00','1932100201:40:27','1932100202:59:59' ],
+        [ [1932,10,2,1,40,28],[1932,10,2,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1933,5,15,1,40,27],[1933,5,15,1,59,59],
+          '1932100201:40:28','1932100202:00:00','1933051501:40:27','1933051501:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,5,15,1,40,28],[1933,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1933,10,8,1,40,27],[1933,10,8,2,59,59],
+          '1933051501:40:28','1933051503:00:00','1933100801:40:27','1933100802:59:59' ],
+        [ [1933,10,8,1,40,28],[1933,10,8,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1934,5,15,1,40,27],[1934,5,15,1,59,59],
+          '1933100801:40:28','1933100802:00:00','1934051501:40:27','1934051501:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,5,15,1,40,28],[1934,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1934,10,7,1,40,27],[1934,10,7,2,59,59],
+          '1934051501:40:28','1934051503:00:00','1934100701:40:27','1934100702:59:59' ],
+        [ [1934,10,7,1,40,28],[1934,10,7,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1935,5,15,1,40,27],[1935,5,15,1,59,59],
+          '1934100701:40:28','1934100702:00:00','1935051501:40:27','1935051501:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,5,15,1,40,28],[1935,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1935,10,6,1,40,27],[1935,10,6,2,59,59],
+          '1935051501:40:28','1935051503:00:00','1935100601:40:27','1935100602:59:59' ],
+        [ [1935,10,6,1,40,28],[1935,10,6,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1936,5,15,1,40,27],[1936,5,15,1,59,59],
+          '1935100601:40:28','1935100602:00:00','1936051501:40:27','1936051501:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,5,15,1,40,28],[1936,5,15,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1936,10,4,1,40,27],[1936,10,4,2,59,59],
+          '1936051501:40:28','1936051503:00:00','1936100401:40:27','1936100402:59:59' ],
+        [ [1936,10,4,1,40,28],[1936,10,4,2,0,0],'+00:19:32',[0,19,32],
+          'AMT',0,[1937,5,22,1,40,27],[1937,5,22,1,59,59],
+          '1936100401:40:28','1936100402:00:00','1937052201:40:27','1937052201:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,5,22,1,40,28],[1937,5,22,3,0,0],'+01:19:32',[1,19,32],
+          'NST',1,[1937,6,30,22,40,27],[1937,6,30,23,59,59],
+          '1937052201:40:28','1937052203:00:00','1937063022:40:27','1937063023:59:59' ],
+        [ [1937,6,30,22,40,28],[1937,7,1,0,0,28],'+01:20:00',[1,20,0],
+          '+0120',1,[1937,10,3,1,39,59],[1937,10,3,2,59,59],
+          '1937063022:40:28','1937070100:00:28','1937100301:39:59','1937100302:59:59' ],
+        [ [1937,10,3,1,40,0],[1937,10,3,2,0,0],'+00:20:00',[0,20,0],
+          '+0020',0,[1938,5,15,1,39,59],[1938,5,15,1,59,59],
+          '1937100301:40:00','1937100302:00:00','1938051501:39:59','1938051501:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,5,15,1,40,0],[1938,5,15,3,0,0],'+01:20:00',[1,20,0],
+          '+0120',1,[1938,10,2,1,39,59],[1938,10,2,2,59,59],
+          '1938051501:40:00','1938051503:00:00','1938100201:39:59','1938100202:59:59' ],
+        [ [1938,10,2,1,40,0],[1938,10,2,2,0,0],'+00:20:00',[0,20,0],
+          '+0020',0,[1939,5,15,1,39,59],[1939,5,15,1,59,59],
+          '1938100201:40:00','1938100202:00:00','1939051501:39:59','1939051501:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,5,15,1,40,0],[1939,5,15,3,0,0],'+01:20:00',[1,20,0],
+          '+0120',1,[1939,10,8,1,39,59],[1939,10,8,2,59,59],
+          '1939051501:40:00','1939051503:00:00','1939100801:39:59','1939100802:59:59' ],
+        [ [1939,10,8,1,40,0],[1939,10,8,2,0,0],'+00:20:00',[0,20,0],
+          '+0020',0,[1940,5,15,23,39,59],[1940,5,15,23,59,59],
+          '1939100801:40:00','1939100802:00:00','1940051523:39:59','1940051523:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,15,23,40,0],[1940,5,16,1,40,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940051523:40:00','1940051601:40:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euando00.pm b/lib/Date/Manip/TZ/euando00.pm
new file mode 100644
index 0000000..5b6c830
--- /dev/null
+++ b/lib/Date/Manip/TZ/euando00.pm
@@ -0,0 +1,826 @@
+package #
+Date::Manip::TZ::euando00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,6,4],'+00:06:04',[0,6,4],
+          'LMT',0,[1900,12,31,23,53,55],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010200:06:04','1900123123:53:55','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,23,53,56],[1900,12,31,23,53,56],'+00:00:00',[0,0,0],
+          'WET',0,[1946,9,29,23,59,59],[1946,9,29,23,59,59],
+          '1900123123:53:56','1900123123:53:56','1946092923:59:59','1946092923:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,9,30,0,0,0],[1946,9,30,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1946093000:00:00','1946093001:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euastr00.pm b/lib/Date/Manip/TZ/euastr00.pm
new file mode 100644
index 0000000..f38b871
--- /dev/null
+++ b/lib/Date/Manip/TZ/euastr00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::euastr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,12,12],'+03:12:12',[3,12,12],
+          'LMT',0,[1924,4,30,20,47,47],[1924,4,30,23,59,59],
+          '0001010200:00:00','0001010203:12:12','1924043020:47:47','1924043023:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,30,20,47,48],[1924,4,30,23,47,48],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1924043020:47:48','1924043023:47:48','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032602:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,3,28,21,59,59],[1992,3,29,1,59,59],
+          '1991033023:00:00','1991033103:00:00','1992032821:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032822:00:00','1992032902:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2016,3,26,22,59,59],[2016,3,27,1,59,59],
+          '2014102522:00:00','2014102601:00:00','2016032622:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,23,0,0],[2016,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2016032623:00:00','2016032703:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euathe00.pm b/lib/Date/Manip/TZ/euathe00.pm
new file mode 100644
index 0000000..9d23418
--- /dev/null
+++ b/lib/Date/Manip/TZ/euathe00.pm
@@ -0,0 +1,964 @@
+package #
+Date::Manip::TZ::euathe00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,34,52],'+01:34:52',[1,34,52],
+          'LMT',0,[1895,9,13,22,25,7],[1895,9,13,23,59,59],
+          '0001010200:00:00','0001010201:34:52','1895091322:25:07','1895091323:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,9,13,22,25,8],[1895,9,14,0,0,0],'+01:34:52',[1,34,52],
+          'AMT',0,[1916,7,27,22,26,7],[1916,7,28,0,0,59],
+          '1895091322:25:08','1895091400:00:00','1916072722:26:07','1916072800:00:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,27,22,26,8],[1916,7,28,0,26,8],'+02:00:00',[2,0,0],
+          'EET',0,[1932,7,6,21,59,59],[1932,7,6,23,59,59],
+          '1916072722:26:08','1916072800:26:08','1932070621:59:59','1932070623:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,7,6,22,0,0],[1932,7,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1932,8,31,20,59,59],[1932,8,31,23,59,59],
+          '1932070622:00:00','1932070701:00:00','1932083120:59:59','1932083123:59:59' ],
+        [ [1932,8,31,21,0,0],[1932,8,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1941,4,6,21,59,59],[1941,4,6,23,59,59],
+          '1932083121:00:00','1932083123:00:00','1941040621:59:59','1941040623:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,6,22,0,0],[1941,4,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1941,4,29,20,59,59],[1941,4,29,23,59,59],
+          '1941040622:00:00','1941040701:00:00','1941042920:59:59','1941042923:59:59' ],
+        [ [1941,4,29,21,0,0],[1941,4,29,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941042921:00:00','1941042923:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,22,59,59],[1943,3,29,23,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032922:59:59','1943032923:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,23,0,0],[1943,3,30,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,3,21,59,59],[1943,10,3,23,59,59],
+          '1943032923:00:00','1943033001:00:00','1943100321:59:59','1943100323:59:59' ],
+        [ [1943,10,3,22,0,0],[1943,10,3,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,22,59,59],[1944,4,3,23,59,59],
+          '1943100322:00:00','1943100323:00:00','1944040322:59:59','1944040323:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,23,0,0],[1944,4,4,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1952,6,30,21,59,59],[1952,6,30,23,59,59],
+          '1944040323:00:00','1944040401:00:00','1952063021:59:59','1952063023:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,6,30,22,0,0],[1952,7,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1952,11,1,20,59,59],[1952,11,1,23,59,59],
+          '1952063022:00:00','1952070101:00:00','1952110120:59:59','1952110123:59:59' ],
+        [ [1952,11,1,21,0,0],[1952,11,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,4,11,21,59,59],[1975,4,11,23,59,59],
+          '1952110121:00:00','1952110123:00:00','1975041121:59:59','1975041123:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,11,22,0,0],[1975,4,12,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,11,25,21,59,59],[1975,11,26,0,59,59],
+          '1975041122:00:00','1975041201:00:00','1975112521:59:59','1975112600:59:59' ],
+        [ [1975,11,25,22,0,0],[1975,11,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,4,10,23,59,59],[1976,4,11,1,59,59],
+          '1975112522:00:00','1975112600:00:00','1976041023:59:59','1976041101:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,11,0,0,0],[1976,4,11,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,10,9,23,59,59],[1976,10,10,2,59,59],
+          '1976041100:00:00','1976041103:00:00','1976100923:59:59','1976101002:59:59' ],
+        [ [1976,10,10,0,0,0],[1976,10,10,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,2,23,59,59],[1977,4,3,1,59,59],
+          '1976101000:00:00','1976101002:00:00','1977040223:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,0,0,0],[1977,4,3,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,9,25,23,59,59],[1977,9,26,2,59,59],
+          '1977040300:00:00','1977040303:00:00','1977092523:59:59','1977092602:59:59' ],
+        [ [1977,9,26,0,0,0],[1977,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,1,23,59,59],[1978,4,2,1,59,59],
+          '1977092600:00:00','1977092602:00:00','1978040123:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,0,0,0],[1978,4,2,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,9,24,0,59,59],[1978,9,24,3,59,59],
+          '1978040200:00:00','1978040203:00:00','1978092400:59:59','1978092403:59:59' ],
+        [ [1978,9,24,1,0,0],[1978,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,4,1,6,59,59],[1979,4,1,8,59,59],
+          '1978092401:00:00','1978092403:00:00','1979040106:59:59','1979040108:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,7,0,0],[1979,4,1,10,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,28,22,59,59],[1979,9,29,1,59,59],
+          '1979040107:00:00','1979040110:00:00','1979092822:59:59','1979092901:59:59' ],
+        [ [1979,9,28,23,0,0],[1979,9,29,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,3,31,21,59,59],[1980,3,31,23,59,59],
+          '1979092823:00:00','1979092901:00:00','1980033121:59:59','1980033123:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,31,22,0,0],[1980,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,27,20,59,59],[1980,9,27,23,59,59],
+          '1980033122:00:00','1980040101:00:00','1980092720:59:59','1980092723:59:59' ],
+        [ [1980,9,27,21,0,0],[1980,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,29,0,59,59],[1981,3,29,2,59,59],
+          '1980092721:00:00','1980092723:00:00','1981032900:59:59','1981032902:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,27,0,59,59],[1981,9,27,3,59,59],
+          '1981032901:00:00','1981032904:00:00','1981092700:59:59','1981092703:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,28,0,59,59],[1982,3,28,2,59,59],
+          '1981092701:00:00','1981092703:00:00','1982032800:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,26,0,59,59],[1982,9,26,3,59,59],
+          '1982032801:00:00','1982032804:00:00','1982092600:59:59','1982092603:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,27,0,59,59],[1983,3,27,2,59,59],
+          '1982092601:00:00','1982092603:00:00','1983032700:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,25,0,59,59],[1983,9,25,3,59,59],
+          '1983032701:00:00','1983032704:00:00','1983092500:59:59','1983092503:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,25,0,59,59],[1984,3,25,2,59,59],
+          '1983092501:00:00','1983092503:00:00','1984032500:59:59','1984032502:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,30,0,59,59],[1984,9,30,3,59,59],
+          '1984032501:00:00','1984032504:00:00','1984093000:59:59','1984093003:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,31,0,59,59],[1985,3,31,2,59,59],
+          '1984093001:00:00','1984093003:00:00','1985033100:59:59','1985033102:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,29,0,59,59],[1985,9,29,3,59,59],
+          '1985033101:00:00','1985033104:00:00','1985092900:59:59','1985092903:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,30,0,59,59],[1986,3,30,2,59,59],
+          '1985092901:00:00','1985092903:00:00','1986033000:59:59','1986033002:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,28,0,59,59],[1986,9,28,3,59,59],
+          '1986033001:00:00','1986033004:00:00','1986092800:59:59','1986092803:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,29,0,59,59],[1987,3,29,2,59,59],
+          '1986092801:00:00','1986092803:00:00','1987032900:59:59','1987032902:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,27,0,59,59],[1987,9,27,3,59,59],
+          '1987032901:00:00','1987032904:00:00','1987092700:59:59','1987092703:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,27,0,59,59],[1988,3,27,2,59,59],
+          '1987092701:00:00','1987092703:00:00','1988032700:59:59','1988032702:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,25,0,59,59],[1988,9,25,3,59,59],
+          '1988032701:00:00','1988032704:00:00','1988092500:59:59','1988092503:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,26,0,59,59],[1989,3,26,2,59,59],
+          '1988092501:00:00','1988092503:00:00','1989032600:59:59','1989032602:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,24,0,59,59],[1989,9,24,3,59,59],
+          '1989032601:00:00','1989032604:00:00','1989092400:59:59','1989092403:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,25,0,59,59],[1990,3,25,2,59,59],
+          '1989092401:00:00','1989092403:00:00','1990032500:59:59','1990032502:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,30,0,59,59],[1990,9,30,3,59,59],
+          '1990032501:00:00','1990032504:00:00','1990093000:59:59','1990093003:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,31,0,59,59],[1991,3,31,2,59,59],
+          '1990093001:00:00','1990093003:00:00','1991033100:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,29,0,59,59],[1991,9,29,3,59,59],
+          '1991033101:00:00','1991033104:00:00','1991092900:59:59','1991092903:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,29,0,59,59],[1992,3,29,2,59,59],
+          '1991092901:00:00','1991092903:00:00','1992032900:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,27,0,59,59],[1992,9,27,3,59,59],
+          '1992032901:00:00','1992032904:00:00','1992092700:59:59','1992092703:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,28,0,59,59],[1993,3,28,2,59,59],
+          '1992092701:00:00','1992092703:00:00','1993032800:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,26,0,59,59],[1993,9,26,3,59,59],
+          '1993032801:00:00','1993032804:00:00','1993092600:59:59','1993092603:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,27,0,59,59],[1994,3,27,2,59,59],
+          '1993092601:00:00','1993092603:00:00','1994032700:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,25,0,59,59],[1994,9,25,3,59,59],
+          '1994032701:00:00','1994032704:00:00','1994092500:59:59','1994092503:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092501:00:00','1994092503:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eubelg00.pm b/lib/Date/Manip/TZ/eubelg00.pm
new file mode 100644
index 0000000..de17d5d
--- /dev/null
+++ b/lib/Date/Manip/TZ/eubelg00.pm
@@ -0,0 +1,877 @@
+package #
+Date::Manip::TZ::eubelg00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,22,0],'+01:22:00',[1,22,0],
+          'LMT',0,[1883,12,31,22,37,59],[1883,12,31,23,59,59],
+          '0001010200:00:00','0001010201:22:00','1883123122:37:59','1883123123:59:59' ],
+     ],
+   1883 =>
+     [
+        [ [1883,12,31,22,38,0],[1883,12,31,23,38,0],'+01:00:00',[1,0,0],
+          'CET',0,[1941,4,18,21,59,59],[1941,4,18,22,59,59],
+          '1883123122:38:00','1883123123:38:00','1941041821:59:59','1941041822:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,18,22,0,0],[1941,4,19,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941041822:00:00','1941041900:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,5,8,0,59,59],[1945,5,8,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945050800:59:59','1945050801:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,5,8,1,0,0],[1945,5,8,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945050801:00:00','1945050803:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euberl00.pm b/lib/Date/Manip/TZ/euberl00.pm
new file mode 100644
index 0000000..f4f1437
--- /dev/null
+++ b/lib/Date/Manip/TZ/euberl00.pm
@@ -0,0 +1,979 @@
+package #
+Date::Manip::TZ::euberl00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,53,28],'+00:53:28',[0,53,28],
+          'LMT',0,[1893,3,31,23,6,31],[1893,3,31,23,59,59],
+          '0001010200:00:00','0001010200:53:28','1893033123:06:31','1893033123:59:59' ],
+     ],
+   1893 =>
+     [
+        [ [1893,3,31,23,6,32],[1893,4,1,0,6,32],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1893033123:06:32','1893040100:06:32','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,5,23,23,59,59],[1945,5,24,1,59,59],
+          '1945040201:00:00','1945040203:00:00','1945052323:59:59','1945052401:59:59' ],
+        [ [1945,5,24,0,0,0],[1945,5,24,3,0,0],'+03:00:00',[3,0,0],
+          'CEMT',1,[1945,9,23,23,59,59],[1945,9,24,2,59,59],
+          '1945052400:00:00','1945052403:00:00','1945092323:59:59','1945092402:59:59' ],
+        [ [1945,9,24,0,0,0],[1945,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,11,18,0,59,59],[1945,11,18,2,59,59],
+          '1945092400:00:00','1945092402:00:00','1945111800:59:59','1945111802:59:59' ],
+        [ [1945,11,18,1,0,0],[1945,11,18,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,4,14,0,59,59],[1946,4,14,1,59,59],
+          '1945111801:00:00','1945111802:00:00','1946041400:59:59','1946041401:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,14,1,0,0],[1946,4,14,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,7,0,59,59],[1946,10,7,2,59,59],
+          '1946041401:00:00','1946041403:00:00','1946100700:59:59','1946100702:59:59' ],
+        [ [1946,10,7,1,0,0],[1946,10,7,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,4,6,1,59,59],[1947,4,6,2,59,59],
+          '1946100701:00:00','1946100702:00:00','1947040601:59:59','1947040602:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,2,0,0],[1947,4,6,4,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,5,11,0,59,59],[1947,5,11,2,59,59],
+          '1947040602:00:00','1947040604:00:00','1947051100:59:59','1947051102:59:59' ],
+        [ [1947,5,11,1,0,0],[1947,5,11,4,0,0],'+03:00:00',[3,0,0],
+          'CEMT',1,[1947,6,28,23,59,59],[1947,6,29,2,59,59],
+          '1947051101:00:00','1947051104:00:00','1947062823:59:59','1947062902:59:59' ],
+        [ [1947,6,29,0,0,0],[1947,6,29,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,5,0,59,59],[1947,10,5,2,59,59],
+          '1947062900:00:00','1947062902:00:00','1947100500:59:59','1947100502:59:59' ],
+        [ [1947,10,5,1,0,0],[1947,10,5,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,4,18,0,59,59],[1948,4,18,1,59,59],
+          '1947100501:00:00','1947100502:00:00','1948041800:59:59','1948041801:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,18,1,0,0],[1948,4,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948041801:00:00','1948041803:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1949,4,10,0,59,59],[1949,4,10,1,59,59],
+          '1948100301:00:00','1948100302:00:00','1949041000:59:59','1949041001:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,10,1,0,0],[1949,4,10,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1949,10,2,0,59,59],[1949,10,2,2,59,59],
+          '1949041001:00:00','1949041003:00:00','1949100200:59:59','1949100202:59:59' ],
+        [ [1949,10,2,1,0,0],[1949,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1949100201:00:00','1949100202:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eubrus00.pm b/lib/Date/Manip/TZ/eubrus00.pm
new file mode 100644
index 0000000..41d8463
--- /dev/null
+++ b/lib/Date/Manip/TZ/eubrus00.pm
@@ -0,0 +1,1174 @@
+package #
+Date::Manip::TZ::eubrus00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,17,30],'+00:17:30',[0,17,30],
+          'LMT',0,[1879,12,31,23,42,29],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010200:17:30','1879123123:42:29','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,23,42,30],[1880,1,1,0,0,0],'+00:17:30',[0,17,30],
+          'BMT',0,[1892,5,1,11,42,29],[1892,5,1,11,59,59],
+          '1879123123:42:30','1880010100:00:00','1892050111:42:29','1892050111:59:59' ],
+     ],
+   1892 =>
+     [
+        [ [1892,5,1,11,42,30],[1892,5,1,11,42,30],'+00:00:00',[0,0,0],
+          'WET',0,[1914,11,7,23,59,59],[1914,11,7,23,59,59],
+          '1892050111:42:30','1892050111:42:30','1914110723:59:59','1914110723:59:59' ],
+     ],
+   1914 =>
+     [
+        [ [1914,11,8,0,0,0],[1914,11,8,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,22,59,59],[1916,4,30,23,59,59],
+          '1914110800:00:00','1914110801:00:00','1916043022:59:59','1916043023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,23,0,0],[1916,5,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043023:00:00','1916050101:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,11,11,10,59,59],[1918,11,11,11,59,59],
+          '1918091601:00:00','1918091602:00:00','1918111110:59:59','1918111111:59:59' ],
+        [ [1918,11,11,11,0,0],[1918,11,11,11,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,3,1,22,59,59],[1919,3,1,22,59,59],
+          '1918111111:00:00','1918111111:00:00','1919030122:59:59','1919030122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,4,22,59,59],[1919,10,4,23,59,59],
+          '1919030123:00:00','1919030200:00:00','1919100422:59:59','1919100423:59:59' ],
+        [ [1919,10,4,23,0,0],[1919,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,14,22,59,59],[1920,2,14,22,59,59],
+          '1919100423:00:00','1919100423:00:00','1920021422:59:59','1920021422:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,14,23,0,0],[1920,2,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,23,22,59,59],[1920,10,23,23,59,59],
+          '1920021423:00:00','1920021500:00:00','1920102322:59:59','1920102323:59:59' ],
+        [ [1920,10,23,23,0,0],[1920,10,23,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,3,14,22,59,59],[1921,3,14,22,59,59],
+          '1920102323:00:00','1920102323:00:00','1921031422:59:59','1921031422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,14,23,0,0],[1921,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,10,25,22,59,59],[1921,10,25,23,59,59],
+          '1921031423:00:00','1921031500:00:00','1921102522:59:59','1921102523:59:59' ],
+        [ [1921,10,25,23,0,0],[1921,10,25,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1922,3,25,22,59,59],[1922,3,25,22,59,59],
+          '1921102523:00:00','1921102523:00:00','1922032522:59:59','1922032522:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,23,0,0],[1922,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1922,10,7,22,59,59],[1922,10,7,23,59,59],
+          '1922032523:00:00','1922032600:00:00','1922100722:59:59','1922100723:59:59' ],
+        [ [1922,10,7,23,0,0],[1922,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1923,4,21,22,59,59],[1923,4,21,22,59,59],
+          '1922100723:00:00','1922100723:00:00','1923042122:59:59','1923042122:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,21,23,0,0],[1923,4,22,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1923,10,6,22,59,59],[1923,10,6,23,59,59],
+          '1923042123:00:00','1923042200:00:00','1923100622:59:59','1923100623:59:59' ],
+        [ [1923,10,6,23,0,0],[1923,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,3,29,22,59,59],[1924,3,29,22,59,59],
+          '1923100623:00:00','1923100623:00:00','1924032922:59:59','1924032922:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,3,29,23,0,0],[1924,3,30,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,22,59,59],[1924,10,4,23,59,59],
+          '1924032923:00:00','1924033000:00:00','1924100422:59:59','1924100423:59:59' ],
+        [ [1924,10,4,23,0,0],[1924,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1925,4,4,22,59,59],[1925,4,4,22,59,59],
+          '1924100423:00:00','1924100423:00:00','1925040422:59:59','1925040422:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,4,23,0,0],[1925,4,5,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1925,10,3,22,59,59],[1925,10,3,23,59,59],
+          '1925040423:00:00','1925040500:00:00','1925100322:59:59','1925100323:59:59' ],
+        [ [1925,10,3,23,0,0],[1925,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1925100323:00:00','1925100323:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,22,59,59],[1926,10,2,23,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100222:59:59','1926100223:59:59' ],
+        [ [1926,10,2,23,0,0],[1926,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100223:00:00','1926100223:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,22,59,59],[1927,10,1,23,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100122:59:59','1927100123:59:59' ],
+        [ [1927,10,1,23,0,0],[1927,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,22,59,59],[1928,4,14,22,59,59],
+          '1927100123:00:00','1927100123:00:00','1928041422:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,14,23,0,0],[1928,4,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,7,1,59,59],[1928,10,7,2,59,59],
+          '1928041423:00:00','1928041500:00:00','1928100701:59:59','1928100702:59:59' ],
+        [ [1928,10,7,2,0,0],[1928,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,21,1,59,59],[1929,4,21,1,59,59],
+          '1928100702:00:00','1928100702:00:00','1929042101:59:59','1929042101:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,2,0,0],[1929,4,21,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,6,1,59,59],[1929,10,6,2,59,59],
+          '1929042102:00:00','1929042103:00:00','1929100601:59:59','1929100602:59:59' ],
+        [ [1929,10,6,2,0,0],[1929,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1930,4,13,1,59,59],[1930,4,13,1,59,59],
+          '1929100602:00:00','1929100602:00:00','1930041301:59:59','1930041301:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,13,2,0,0],[1930,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1930,10,5,1,59,59],[1930,10,5,2,59,59],
+          '1930041302:00:00','1930041303:00:00','1930100501:59:59','1930100502:59:59' ],
+        [ [1930,10,5,2,0,0],[1930,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1931,4,19,1,59,59],[1931,4,19,1,59,59],
+          '1930100502:00:00','1930100502:00:00','1931041901:59:59','1931041901:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,2,0,0],[1931,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1931,10,4,1,59,59],[1931,10,4,2,59,59],
+          '1931041902:00:00','1931041903:00:00','1931100401:59:59','1931100402:59:59' ],
+        [ [1931,10,4,2,0,0],[1931,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1932,4,3,1,59,59],[1932,4,3,1,59,59],
+          '1931100402:00:00','1931100402:00:00','1932040301:59:59','1932040301:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,3,2,0,0],[1932,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1932,10,2,1,59,59],[1932,10,2,2,59,59],
+          '1932040302:00:00','1932040303:00:00','1932100201:59:59','1932100202:59:59' ],
+        [ [1932,10,2,2,0,0],[1932,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1933,3,26,1,59,59],[1933,3,26,1,59,59],
+          '1932100202:00:00','1932100202:00:00','1933032601:59:59','1933032601:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,26,2,0,0],[1933,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1933,10,8,1,59,59],[1933,10,8,2,59,59],
+          '1933032602:00:00','1933032603:00:00','1933100801:59:59','1933100802:59:59' ],
+        [ [1933,10,8,2,0,0],[1933,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1934,4,8,1,59,59],[1934,4,8,1,59,59],
+          '1933100802:00:00','1933100802:00:00','1934040801:59:59','1934040801:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,8,2,0,0],[1934,4,8,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1934,10,7,1,59,59],[1934,10,7,2,59,59],
+          '1934040802:00:00','1934040803:00:00','1934100701:59:59','1934100702:59:59' ],
+        [ [1934,10,7,2,0,0],[1934,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1935,3,31,1,59,59],[1935,3,31,1,59,59],
+          '1934100702:00:00','1934100702:00:00','1935033101:59:59','1935033101:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,31,2,0,0],[1935,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1935,10,6,1,59,59],[1935,10,6,2,59,59],
+          '1935033102:00:00','1935033103:00:00','1935100601:59:59','1935100602:59:59' ],
+        [ [1935,10,6,2,0,0],[1935,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1936,4,19,1,59,59],[1936,4,19,1,59,59],
+          '1935100602:00:00','1935100602:00:00','1936041901:59:59','1936041901:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,2,0,0],[1936,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1936,10,4,1,59,59],[1936,10,4,2,59,59],
+          '1936041902:00:00','1936041903:00:00','1936100401:59:59','1936100402:59:59' ],
+        [ [1936,10,4,2,0,0],[1936,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,4,4,1,59,59],[1937,4,4,1,59,59],
+          '1936100402:00:00','1936100402:00:00','1937040401:59:59','1937040401:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,4,2,0,0],[1937,4,4,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,3,1,59,59],[1937,10,3,2,59,59],
+          '1937040402:00:00','1937040403:00:00','1937100301:59:59','1937100302:59:59' ],
+        [ [1937,10,3,2,0,0],[1937,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,3,27,1,59,59],[1938,3,27,1,59,59],
+          '1937100302:00:00','1937100302:00:00','1938032701:59:59','1938032701:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,27,2,0,0],[1938,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,10,2,1,59,59],[1938,10,2,2,59,59],
+          '1938032702:00:00','1938032703:00:00','1938100201:59:59','1938100202:59:59' ],
+        [ [1938,10,2,2,0,0],[1938,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,4,16,1,59,59],[1939,4,16,1,59,59],
+          '1938100202:00:00','1938100202:00:00','1939041601:59:59','1939041601:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,2,0,0],[1939,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,19,1,59,59],[1939,11,19,2,59,59],
+          '1939041602:00:00','1939041603:00:00','1939111901:59:59','1939111902:59:59' ],
+        [ [1939,11,19,2,0,0],[1939,11,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111902:00:00','1939111902:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1940,5,20,1,59,59],[1940,5,20,2,59,59],
+          '1940022502:00:00','1940022503:00:00','1940052001:59:59','1940052002:59:59' ],
+        [ [1940,5,20,2,0,0],[1940,5,20,4,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940052002:00:00','1940052004:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,5,19,0,59,59],[1946,5,19,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1946051900:59:59','1946051901:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,19,1,0,0],[1946,5,19,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,7,0,59,59],[1946,10,7,2,59,59],
+          '1946051901:00:00','1946051903:00:00','1946100700:59:59','1946100702:59:59' ],
+        [ [1946,10,7,1,0,0],[1946,10,7,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1946100701:00:00','1946100702:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eubuch00.pm b/lib/Date/Manip/TZ/eubuch00.pm
new file mode 100644
index 0000000..7378cdd
--- /dev/null
+++ b/lib/Date/Manip/TZ/eubuch00.pm
@@ -0,0 +1,952 @@
+package #
+Date::Manip::TZ::eubuch00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,44,24],'+01:44:24',[1,44,24],
+          'LMT',0,[1891,9,30,22,15,35],[1891,9,30,23,59,59],
+          '0001010200:00:00','0001010201:44:24','1891093022:15:35','1891093023:59:59' ],
+     ],
+   1891 =>
+     [
+        [ [1891,9,30,22,15,36],[1891,10,1,0,0,0],'+01:44:24',[1,44,24],
+          'BMT',0,[1931,7,23,22,15,35],[1931,7,23,23,59,59],
+          '1891093022:15:36','1891100100:00:00','1931072322:15:35','1931072323:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,7,23,22,15,36],[1931,7,24,0,15,36],'+02:00:00',[2,0,0],
+          'EET',0,[1932,5,20,21,59,59],[1932,5,20,23,59,59],
+          '1931072322:15:36','1931072400:15:36','1932052021:59:59','1932052023:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,20,22,0,0],[1932,5,21,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1932,10,1,21,59,59],[1932,10,2,0,59,59],
+          '1932052022:00:00','1932052101:00:00','1932100121:59:59','1932100200:59:59' ],
+        [ [1932,10,1,22,0,0],[1932,10,2,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1933,4,1,21,59,59],[1933,4,1,23,59,59],
+          '1932100122:00:00','1932100200:00:00','1933040121:59:59','1933040123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,22,0,0],[1933,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1933,9,30,21,59,59],[1933,10,1,0,59,59],
+          '1933040122:00:00','1933040201:00:00','1933093021:59:59','1933100100:59:59' ],
+        [ [1933,9,30,22,0,0],[1933,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1934,4,7,21,59,59],[1934,4,7,23,59,59],
+          '1933093022:00:00','1933100100:00:00','1934040721:59:59','1934040723:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,7,22,0,0],[1934,4,8,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1934,10,6,21,59,59],[1934,10,7,0,59,59],
+          '1934040722:00:00','1934040801:00:00','1934100621:59:59','1934100700:59:59' ],
+        [ [1934,10,6,22,0,0],[1934,10,7,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1935,4,6,21,59,59],[1935,4,6,23,59,59],
+          '1934100622:00:00','1934100700:00:00','1935040621:59:59','1935040623:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,6,22,0,0],[1935,4,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1935,10,5,21,59,59],[1935,10,6,0,59,59],
+          '1935040622:00:00','1935040701:00:00','1935100521:59:59','1935100600:59:59' ],
+        [ [1935,10,5,22,0,0],[1935,10,6,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1936,4,4,21,59,59],[1936,4,4,23,59,59],
+          '1935100522:00:00','1935100600:00:00','1936040421:59:59','1936040423:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,4,22,0,0],[1936,4,5,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1936,10,3,21,59,59],[1936,10,4,0,59,59],
+          '1936040422:00:00','1936040501:00:00','1936100321:59:59','1936100400:59:59' ],
+        [ [1936,10,3,22,0,0],[1936,10,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1937,4,3,21,59,59],[1937,4,3,23,59,59],
+          '1936100322:00:00','1936100400:00:00','1937040321:59:59','1937040323:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,3,22,0,0],[1937,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1937,10,2,21,59,59],[1937,10,3,0,59,59],
+          '1937040322:00:00','1937040401:00:00','1937100221:59:59','1937100300:59:59' ],
+        [ [1937,10,2,22,0,0],[1937,10,3,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1938,4,2,21,59,59],[1938,4,2,23,59,59],
+          '1937100222:00:00','1937100300:00:00','1938040221:59:59','1938040223:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,2,22,0,0],[1938,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1938,10,1,21,59,59],[1938,10,2,0,59,59],
+          '1938040222:00:00','1938040301:00:00','1938100121:59:59','1938100200:59:59' ],
+        [ [1938,10,1,22,0,0],[1938,10,2,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1939,4,1,21,59,59],[1939,4,1,23,59,59],
+          '1938100122:00:00','1938100200:00:00','1939040121:59:59','1939040123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,1,22,0,0],[1939,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1939,9,30,21,59,59],[1939,10,1,0,59,59],
+          '1939040122:00:00','1939040201:00:00','1939093021:59:59','1939100100:59:59' ],
+        [ [1939,9,30,22,0,0],[1939,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,5,26,21,59,59],[1979,5,26,23,59,59],
+          '1939093022:00:00','1939100100:00:00','1979052621:59:59','1979052623:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,5,26,22,0,0],[1979,5,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,29,20,59,59],[1979,9,29,23,59,59],
+          '1979052622:00:00','1979052701:00:00','1979092920:59:59','1979092923:59:59' ],
+        [ [1979,9,29,21,0,0],[1979,9,29,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,5,20,59,59],[1980,4,5,22,59,59],
+          '1979092921:00:00','1979092923:00:00','1980040520:59:59','1980040522:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,5,21,0,0],[1980,4,6,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,27,21,59,59],[1980,9,28,0,59,59],
+          '1980040521:00:00','1980040600:00:00','1980092721:59:59','1980092800:59:59' ],
+        [ [1980,9,27,22,0,0],[1980,9,28,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,28,23,59,59],[1981,3,29,1,59,59],
+          '1980092722:00:00','1980092800:00:00','1981032823:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,0,0,0],[1981,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,26,23,59,59],[1981,9,27,2,59,59],
+          '1981032900:00:00','1981032903:00:00','1981092623:59:59','1981092702:59:59' ],
+        [ [1981,9,27,0,0,0],[1981,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,27,23,59,59],[1982,3,28,1,59,59],
+          '1981092700:00:00','1981092702:00:00','1982032723:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,0,0,0],[1982,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,25,23,59,59],[1982,9,26,2,59,59],
+          '1982032800:00:00','1982032803:00:00','1982092523:59:59','1982092602:59:59' ],
+        [ [1982,9,26,0,0,0],[1982,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,26,23,59,59],[1983,3,27,1,59,59],
+          '1982092600:00:00','1982092602:00:00','1983032623:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,0,0,0],[1983,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,24,23,59,59],[1983,9,25,2,59,59],
+          '1983032700:00:00','1983032703:00:00','1983092423:59:59','1983092502:59:59' ],
+        [ [1983,9,25,0,0,0],[1983,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,24,23,59,59],[1984,3,25,1,59,59],
+          '1983092500:00:00','1983092502:00:00','1984032423:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,0,0,0],[1984,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,29,23,59,59],[1984,9,30,2,59,59],
+          '1984032500:00:00','1984032503:00:00','1984092923:59:59','1984093002:59:59' ],
+        [ [1984,9,30,0,0,0],[1984,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,30,23,59,59],[1985,3,31,1,59,59],
+          '1984093000:00:00','1984093002:00:00','1985033023:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,0,0,0],[1985,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,28,23,59,59],[1985,9,29,2,59,59],
+          '1985033100:00:00','1985033103:00:00','1985092823:59:59','1985092902:59:59' ],
+        [ [1985,9,29,0,0,0],[1985,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,29,23,59,59],[1986,3,30,1,59,59],
+          '1985092900:00:00','1985092902:00:00','1986032923:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,0,0,0],[1986,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,27,23,59,59],[1986,9,28,2,59,59],
+          '1986033000:00:00','1986033003:00:00','1986092723:59:59','1986092802:59:59' ],
+        [ [1986,9,28,0,0,0],[1986,9,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,28,23,59,59],[1987,3,29,1,59,59],
+          '1986092800:00:00','1986092802:00:00','1987032823:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,0,0,0],[1987,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,26,23,59,59],[1987,9,27,2,59,59],
+          '1987032900:00:00','1987032903:00:00','1987092623:59:59','1987092702:59:59' ],
+        [ [1987,9,27,0,0,0],[1987,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,26,23,59,59],[1988,3,27,1,59,59],
+          '1987092700:00:00','1987092702:00:00','1988032623:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,0,0,0],[1988,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,24,23,59,59],[1988,9,25,2,59,59],
+          '1988032700:00:00','1988032703:00:00','1988092423:59:59','1988092502:59:59' ],
+        [ [1988,9,25,0,0,0],[1988,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,25,23,59,59],[1989,3,26,1,59,59],
+          '1988092500:00:00','1988092502:00:00','1989032523:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,0,0,0],[1989,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032600:00:00','1989032603:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,21,59,59],[1991,3,30,23,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033021:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,21,59,59],[1991,9,29,0,59,59],
+          '1991033022:00:00','1991033101:00:00','1991092821:59:59','1991092900:59:59' ],
+        [ [1991,9,28,22,0,0],[1991,9,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092822:00:00','1991092900:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,21,59,59],[1992,9,27,0,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092621:59:59','1992092700:59:59' ],
+        [ [1992,9,26,22,0,0],[1992,9,27,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092622:00:00','1992092700:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,21,59,59],[1993,9,26,0,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092521:59:59','1993092600:59:59' ],
+        [ [1993,9,25,22,0,0],[1993,9,26,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092522:00:00','1993092600:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,20,59,59],[1996,10,26,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996102620:59:59','1996102623:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102621:00:00','1996102623:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eubuda00.pm b/lib/Date/Manip/TZ/eubuda00.pm
new file mode 100644
index 0000000..6398fc4
--- /dev/null
+++ b/lib/Date/Manip/TZ/eubuda00.pm
@@ -0,0 +1,1021 @@
+package #
+Date::Manip::TZ::eubuda00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,16,20],'+01:16:20',[1,16,20],
+          'LMT',0,[1890,9,30,22,43,39],[1890,9,30,23,59,59],
+          '0001010200:00:00','0001010201:16:20','1890093022:43:39','1890093023:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,9,30,22,43,40],[1890,9,30,23,43,40],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1890093022:43:40','1890093023:43:40','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,1,1,59,59],[1918,4,1,2,59,59],
+          '1917091701:00:00','1917091702:00:00','1918040101:59:59','1918040102:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,1,2,0,0],[1918,4,1,4,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918040102:00:00','1918040104:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1919,4,15,1,59,59],[1919,4,15,2,59,59],
+          '1918091601:00:00','1918091602:00:00','1919041501:59:59','1919041502:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,15,2,0,0],[1919,4,15,4,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1919,11,24,0,59,59],[1919,11,24,2,59,59],
+          '1919041502:00:00','1919041504:00:00','1919112400:59:59','1919112402:59:59' ],
+        [ [1919,11,24,1,0,0],[1919,11,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1941,4,7,22,59,59],[1941,4,7,23,59,59],
+          '1919112401:00:00','1919112402:00:00','1941040722:59:59','1941040723:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,7,23,0,0],[1941,4,8,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941040723:00:00','1941040801:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,5,1,21,59,59],[1945,5,1,22,59,59],
+          '1944100201:00:00','1944100202:00:00','1945050121:59:59','1945050122:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,5,1,22,0,0],[1945,5,2,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,10,31,21,59,59],[1945,10,31,23,59,59],
+          '1945050122:00:00','1945050200:00:00','1945103121:59:59','1945103123:59:59' ],
+        [ [1945,10,31,22,0,0],[1945,10,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,3,31,0,59,59],[1946,3,31,1,59,59],
+          '1945103122:00:00','1945103123:00:00','1946033100:59:59','1946033101:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,31,1,0,0],[1946,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,6,0,59,59],[1946,10,6,2,59,59],
+          '1946033101:00:00','1946033103:00:00','1946100600:59:59','1946100602:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,6,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,4,6,0,59,59],[1947,4,6,1,59,59],
+          '1946100601:00:00','1946100602:00:00','1947040600:59:59','1947040601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,1,0,0],[1947,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,5,0,59,59],[1947,10,5,2,59,59],
+          '1947040601:00:00','1947040603:00:00','1947100500:59:59','1947100502:59:59' ],
+        [ [1947,10,5,1,0,0],[1947,10,5,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,4,4,0,59,59],[1948,4,4,1,59,59],
+          '1947100501:00:00','1947100502:00:00','1948040400:59:59','1948040401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,4,1,0,0],[1948,4,4,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948040401:00:00','1948040403:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1949,4,10,0,59,59],[1949,4,10,1,59,59],
+          '1948100301:00:00','1948100302:00:00','1949041000:59:59','1949041001:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,10,1,0,0],[1949,4,10,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1949,10,2,0,59,59],[1949,10,2,2,59,59],
+          '1949041001:00:00','1949041003:00:00','1949100200:59:59','1949100202:59:59' ],
+        [ [1949,10,2,1,0,0],[1949,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1950,4,17,0,59,59],[1950,4,17,1,59,59],
+          '1949100201:00:00','1949100202:00:00','1950041700:59:59','1950041701:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,17,1,0,0],[1950,4,17,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1950,10,23,0,59,59],[1950,10,23,2,59,59],
+          '1950041701:00:00','1950041703:00:00','1950102300:59:59','1950102302:59:59' ],
+        [ [1950,10,23,1,0,0],[1950,10,23,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1954,5,22,22,59,59],[1954,5,22,23,59,59],
+          '1950102301:00:00','1950102302:00:00','1954052222:59:59','1954052223:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,5,22,23,0,0],[1954,5,23,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1954,10,2,21,59,59],[1954,10,2,23,59,59],
+          '1954052223:00:00','1954052301:00:00','1954100221:59:59','1954100223:59:59' ],
+        [ [1954,10,2,22,0,0],[1954,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1955,5,22,22,59,59],[1955,5,22,23,59,59],
+          '1954100222:00:00','1954100223:00:00','1955052222:59:59','1955052223:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,5,22,23,0,0],[1955,5,23,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1955,10,2,21,59,59],[1955,10,2,23,59,59],
+          '1955052223:00:00','1955052301:00:00','1955100221:59:59','1955100223:59:59' ],
+        [ [1955,10,2,22,0,0],[1955,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1956,6,2,22,59,59],[1956,6,2,23,59,59],
+          '1955100222:00:00','1955100223:00:00','1956060222:59:59','1956060223:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,6,2,23,0,0],[1956,6,3,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1956,9,29,21,59,59],[1956,9,29,23,59,59],
+          '1956060223:00:00','1956060301:00:00','1956092921:59:59','1956092923:59:59' ],
+        [ [1956,9,29,22,0,0],[1956,9,29,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1957,6,1,23,59,59],[1957,6,2,0,59,59],
+          '1956092922:00:00','1956092923:00:00','1957060123:59:59','1957060200:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,6,2,0,0,0],[1957,6,2,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1957,9,29,0,59,59],[1957,9,29,2,59,59],
+          '1957060200:00:00','1957060202:00:00','1957092900:59:59','1957092902:59:59' ],
+        [ [1957,9,29,1,0,0],[1957,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,5,23,59,59],[1980,4,6,0,59,59],
+          '1957092901:00:00','1957092902:00:00','1980040523:59:59','1980040600:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,0,0,0],[1980,4,6,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040600:00:00','1980040602:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euchis00.pm b/lib/Date/Manip/TZ/euchis00.pm
new file mode 100644
index 0000000..c9357cb
--- /dev/null
+++ b/lib/Date/Manip/TZ/euchis00.pm
@@ -0,0 +1,979 @@
+package #
+Date::Manip::TZ::euchis00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,55,20],'+01:55:20',[1,55,20],
+          'LMT',0,[1879,12,31,22,4,39],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:55:20','1879123122:04:39','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,4,40],[1879,12,31,23,59,40],'+01:55:00',[1,55,0],
+          'CMT',0,[1918,2,14,22,4,59],[1918,2,14,23,59,59],
+          '1879123122:04:40','1879123123:59:40','1918021422:04:59','1918021423:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,2,14,22,5,0],[1918,2,14,23,49,24],'+01:44:24',[1,44,24],
+          'BMT',0,[1931,7,23,22,15,35],[1931,7,23,23,59,59],
+          '1918021422:05:00','1918021423:49:24','1931072322:15:35','1931072323:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,7,23,22,15,36],[1931,7,24,0,15,36],'+02:00:00',[2,0,0],
+          'EET',0,[1932,5,20,21,59,59],[1932,5,20,23,59,59],
+          '1931072322:15:36','1931072400:15:36','1932052021:59:59','1932052023:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,5,20,22,0,0],[1932,5,21,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1932,10,1,21,59,59],[1932,10,2,0,59,59],
+          '1932052022:00:00','1932052101:00:00','1932100121:59:59','1932100200:59:59' ],
+        [ [1932,10,1,22,0,0],[1932,10,2,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1933,4,1,21,59,59],[1933,4,1,23,59,59],
+          '1932100122:00:00','1932100200:00:00','1933040121:59:59','1933040123:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,1,22,0,0],[1933,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1933,9,30,21,59,59],[1933,10,1,0,59,59],
+          '1933040122:00:00','1933040201:00:00','1933093021:59:59','1933100100:59:59' ],
+        [ [1933,9,30,22,0,0],[1933,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1934,4,7,21,59,59],[1934,4,7,23,59,59],
+          '1933093022:00:00','1933100100:00:00','1934040721:59:59','1934040723:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,7,22,0,0],[1934,4,8,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1934,10,6,21,59,59],[1934,10,7,0,59,59],
+          '1934040722:00:00','1934040801:00:00','1934100621:59:59','1934100700:59:59' ],
+        [ [1934,10,6,22,0,0],[1934,10,7,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1935,4,6,21,59,59],[1935,4,6,23,59,59],
+          '1934100622:00:00','1934100700:00:00','1935040621:59:59','1935040623:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,6,22,0,0],[1935,4,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1935,10,5,21,59,59],[1935,10,6,0,59,59],
+          '1935040622:00:00','1935040701:00:00','1935100521:59:59','1935100600:59:59' ],
+        [ [1935,10,5,22,0,0],[1935,10,6,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1936,4,4,21,59,59],[1936,4,4,23,59,59],
+          '1935100522:00:00','1935100600:00:00','1936040421:59:59','1936040423:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,4,22,0,0],[1936,4,5,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1936,10,3,21,59,59],[1936,10,4,0,59,59],
+          '1936040422:00:00','1936040501:00:00','1936100321:59:59','1936100400:59:59' ],
+        [ [1936,10,3,22,0,0],[1936,10,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1937,4,3,21,59,59],[1937,4,3,23,59,59],
+          '1936100322:00:00','1936100400:00:00','1937040321:59:59','1937040323:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,3,22,0,0],[1937,4,4,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1937,10,2,21,59,59],[1937,10,3,0,59,59],
+          '1937040322:00:00','1937040401:00:00','1937100221:59:59','1937100300:59:59' ],
+        [ [1937,10,2,22,0,0],[1937,10,3,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1938,4,2,21,59,59],[1938,4,2,23,59,59],
+          '1937100222:00:00','1937100300:00:00','1938040221:59:59','1938040223:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,2,22,0,0],[1938,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1938,10,1,21,59,59],[1938,10,2,0,59,59],
+          '1938040222:00:00','1938040301:00:00','1938100121:59:59','1938100200:59:59' ],
+        [ [1938,10,1,22,0,0],[1938,10,2,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1939,4,1,21,59,59],[1939,4,1,23,59,59],
+          '1938100122:00:00','1938100200:00:00','1939040121:59:59','1939040123:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,1,22,0,0],[1939,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1939,9,30,21,59,59],[1939,10,1,0,59,59],
+          '1939040122:00:00','1939040201:00:00','1939093021:59:59','1939100100:59:59' ],
+        [ [1939,9,30,22,0,0],[1939,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1940,8,14,21,59,59],[1940,8,14,23,59,59],
+          '1939093022:00:00','1939100100:00:00','1940081421:59:59','1940081423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,8,14,22,0,0],[1940,8,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1941,7,16,20,59,59],[1941,7,16,23,59,59],
+          '1940081422:00:00','1940081501:00:00','1941071620:59:59','1941071623:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,7,16,21,0,0],[1941,7,16,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941071621:00:00','1941071623:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,8,23,21,59,59],[1944,8,23,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944082321:59:59','1944082323:59:59' ],
+        [ [1944,8,23,22,0,0],[1944,8,24,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944082322:00:00','1944082401:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1990,5,5,21,59,59],[1990,5,6,1,59,59],
+          '1990032423:00:00','1990032503:00:00','1990050521:59:59','1990050601:59:59' ],
+        [ [1990,5,5,22,0,0],[1990,5,6,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990050522:00:00','1990050601:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,23,59,59],[1991,3,31,1,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033023:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,0,0,0],[1991,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033100:00:00','1991033103:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,20,59,59],[1996,10,26,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996102620:59:59','1996102623:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,23,59,59],[1997,3,30,1,59,59],
+          '1996102621:00:00','1996102623:00:00','1997032923:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,23,59,59],[1997,10,26,2,59,59],
+          '1997033000:00:00','1997033003:00:00','1997102523:59:59','1997102602:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,23,59,59],[1998,3,29,1,59,59],
+          '1997102600:00:00','1997102602:00:00','1998032823:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,0,0,0],[1998,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,24,23,59,59],[1998,10,25,2,59,59],
+          '1998032900:00:00','1998032903:00:00','1998102423:59:59','1998102502:59:59' ],
+        [ [1998,10,25,0,0,0],[1998,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,27,23,59,59],[1999,3,28,1,59,59],
+          '1998102500:00:00','1998102502:00:00','1999032723:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,0,0,0],[1999,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,30,23,59,59],[1999,10,31,2,59,59],
+          '1999032800:00:00','1999032803:00:00','1999103023:59:59','1999103102:59:59' ],
+        [ [1999,10,31,0,0,0],[1999,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,25,23,59,59],[2000,3,26,1,59,59],
+          '1999103100:00:00','1999103102:00:00','2000032523:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,0,0,0],[2000,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,28,23,59,59],[2000,10,29,2,59,59],
+          '2000032600:00:00','2000032603:00:00','2000102823:59:59','2000102902:59:59' ],
+        [ [2000,10,29,0,0,0],[2000,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,24,23,59,59],[2001,3,25,1,59,59],
+          '2000102900:00:00','2000102902:00:00','2001032423:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,0,0,0],[2001,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,27,23,59,59],[2001,10,28,2,59,59],
+          '2001032500:00:00','2001032503:00:00','2001102723:59:59','2001102802:59:59' ],
+        [ [2001,10,28,0,0,0],[2001,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,30,23,59,59],[2002,3,31,1,59,59],
+          '2001102800:00:00','2001102802:00:00','2002033023:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,0,0,0],[2002,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,26,23,59,59],[2002,10,27,2,59,59],
+          '2002033100:00:00','2002033103:00:00','2002102623:59:59','2002102702:59:59' ],
+        [ [2002,10,27,0,0,0],[2002,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,29,23,59,59],[2003,3,30,1,59,59],
+          '2002102700:00:00','2002102702:00:00','2003032923:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,0,0,0],[2003,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,25,23,59,59],[2003,10,26,2,59,59],
+          '2003033000:00:00','2003033003:00:00','2003102523:59:59','2003102602:59:59' ],
+        [ [2003,10,26,0,0,0],[2003,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,27,23,59,59],[2004,3,28,1,59,59],
+          '2003102600:00:00','2003102602:00:00','2004032723:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,0,0,0],[2004,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,30,23,59,59],[2004,10,31,2,59,59],
+          '2004032800:00:00','2004032803:00:00','2004103023:59:59','2004103102:59:59' ],
+        [ [2004,10,31,0,0,0],[2004,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,26,23,59,59],[2005,3,27,1,59,59],
+          '2004103100:00:00','2004103102:00:00','2005032623:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,0,0,0],[2005,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,29,23,59,59],[2005,10,30,2,59,59],
+          '2005032700:00:00','2005032703:00:00','2005102923:59:59','2005103002:59:59' ],
+        [ [2005,10,30,0,0,0],[2005,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,25,23,59,59],[2006,3,26,1,59,59],
+          '2005103000:00:00','2005103002:00:00','2006032523:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,0,0,0],[2006,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,28,23,59,59],[2006,10,29,2,59,59],
+          '2006032600:00:00','2006032603:00:00','2006102823:59:59','2006102902:59:59' ],
+        [ [2006,10,29,0,0,0],[2006,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,24,23,59,59],[2007,3,25,1,59,59],
+          '2006102900:00:00','2006102902:00:00','2007032423:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,0,0,0],[2007,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,27,23,59,59],[2007,10,28,2,59,59],
+          '2007032500:00:00','2007032503:00:00','2007102723:59:59','2007102802:59:59' ],
+        [ [2007,10,28,0,0,0],[2007,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,29,23,59,59],[2008,3,30,1,59,59],
+          '2007102800:00:00','2007102802:00:00','2008032923:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,0,0,0],[2008,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,25,23,59,59],[2008,10,26,2,59,59],
+          '2008033000:00:00','2008033003:00:00','2008102523:59:59','2008102602:59:59' ],
+        [ [2008,10,26,0,0,0],[2008,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,28,23,59,59],[2009,3,29,1,59,59],
+          '2008102600:00:00','2008102602:00:00','2009032823:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,0,0,0],[2009,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,24,23,59,59],[2009,10,25,2,59,59],
+          '2009032900:00:00','2009032903:00:00','2009102423:59:59','2009102502:59:59' ],
+        [ [2009,10,25,0,0,0],[2009,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,27,23,59,59],[2010,3,28,1,59,59],
+          '2009102500:00:00','2009102502:00:00','2010032723:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,0,0,0],[2010,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,30,23,59,59],[2010,10,31,2,59,59],
+          '2010032800:00:00','2010032803:00:00','2010103023:59:59','2010103102:59:59' ],
+        [ [2010,10,31,0,0,0],[2010,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,26,23,59,59],[2011,3,27,1,59,59],
+          '2010103100:00:00','2010103102:00:00','2011032623:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,0,0,0],[2011,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,29,23,59,59],[2011,10,30,2,59,59],
+          '2011032700:00:00','2011032703:00:00','2011102923:59:59','2011103002:59:59' ],
+        [ [2011,10,30,0,0,0],[2011,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,24,23,59,59],[2012,3,25,1,59,59],
+          '2011103000:00:00','2011103002:00:00','2012032423:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,0,0,0],[2012,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,27,23,59,59],[2012,10,28,2,59,59],
+          '2012032500:00:00','2012032503:00:00','2012102723:59:59','2012102802:59:59' ],
+        [ [2012,10,28,0,0,0],[2012,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,30,23,59,59],[2013,3,31,1,59,59],
+          '2012102800:00:00','2012102802:00:00','2013033023:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,0,0,0],[2013,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,26,23,59,59],[2013,10,27,2,59,59],
+          '2013033100:00:00','2013033103:00:00','2013102623:59:59','2013102702:59:59' ],
+        [ [2013,10,27,0,0,0],[2013,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,29,23,59,59],[2014,3,30,1,59,59],
+          '2013102700:00:00','2013102702:00:00','2014032923:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,0,0,0],[2014,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,25,23,59,59],[2014,10,26,2,59,59],
+          '2014033000:00:00','2014033003:00:00','2014102523:59:59','2014102602:59:59' ],
+        [ [2014,10,26,0,0,0],[2014,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,28,23,59,59],[2015,3,29,1,59,59],
+          '2014102600:00:00','2014102602:00:00','2015032823:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,0,0,0],[2015,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,24,23,59,59],[2015,10,25,2,59,59],
+          '2015032900:00:00','2015032903:00:00','2015102423:59:59','2015102502:59:59' ],
+        [ [2015,10,25,0,0,0],[2015,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,26,23,59,59],[2016,3,27,1,59,59],
+          '2015102500:00:00','2015102502:00:00','2016032623:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,0,0,0],[2016,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,29,23,59,59],[2016,10,30,2,59,59],
+          '2016032700:00:00','2016032703:00:00','2016102923:59:59','2016103002:59:59' ],
+        [ [2016,10,30,0,0,0],[2016,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,25,23,59,59],[2017,3,26,1,59,59],
+          '2016103000:00:00','2016103002:00:00','2017032523:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,0,0,0],[2017,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,28,23,59,59],[2017,10,29,2,59,59],
+          '2017032600:00:00','2017032603:00:00','2017102823:59:59','2017102902:59:59' ],
+        [ [2017,10,29,0,0,0],[2017,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,24,23,59,59],[2018,3,25,1,59,59],
+          '2017102900:00:00','2017102902:00:00','2018032423:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,0,0,0],[2018,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,27,23,59,59],[2018,10,28,2,59,59],
+          '2018032500:00:00','2018032503:00:00','2018102723:59:59','2018102802:59:59' ],
+        [ [2018,10,28,0,0,0],[2018,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,30,23,59,59],[2019,3,31,1,59,59],
+          '2018102800:00:00','2018102802:00:00','2019033023:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,0,0,0],[2019,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,26,23,59,59],[2019,10,27,2,59,59],
+          '2019033100:00:00','2019033103:00:00','2019102623:59:59','2019102702:59:59' ],
+        [ [2019,10,27,0,0,0],[2019,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,28,23,59,59],[2020,3,29,1,59,59],
+          '2019102700:00:00','2019102702:00:00','2020032823:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,0,0,0],[2020,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,24,23,59,59],[2020,10,25,2,59,59],
+          '2020032900:00:00','2020032903:00:00','2020102423:59:59','2020102502:59:59' ],
+        [ [2020,10,25,0,0,0],[2020,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,27,23,59,59],[2021,3,28,1,59,59],
+          '2020102500:00:00','2020102502:00:00','2021032723:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,0,0,0],[2021,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,30,23,59,59],[2021,10,31,2,59,59],
+          '2021032800:00:00','2021032803:00:00','2021103023:59:59','2021103102:59:59' ],
+        [ [2021,10,31,0,0,0],[2021,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,26,23,59,59],[2022,3,27,1,59,59],
+          '2021103100:00:00','2021103102:00:00','2022032623:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,0,0,0],[2022,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,29,23,59,59],[2022,10,30,2,59,59],
+          '2022032700:00:00','2022032703:00:00','2022102923:59:59','2022103002:59:59' ],
+        [ [2022,10,30,0,0,0],[2022,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,25,23,59,59],[2023,3,26,1,59,59],
+          '2022103000:00:00','2022103002:00:00','2023032523:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,0,0,0],[2023,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,28,23,59,59],[2023,10,29,2,59,59],
+          '2023032600:00:00','2023032603:00:00','2023102823:59:59','2023102902:59:59' ],
+        [ [2023,10,29,0,0,0],[2023,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,30,23,59,59],[2024,3,31,1,59,59],
+          '2023102900:00:00','2023102902:00:00','2024033023:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,0,0,0],[2024,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,26,23,59,59],[2024,10,27,2,59,59],
+          '2024033100:00:00','2024033103:00:00','2024102623:59:59','2024102702:59:59' ],
+        [ [2024,10,27,0,0,0],[2024,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,29,23,59,59],[2025,3,30,1,59,59],
+          '2024102700:00:00','2024102702:00:00','2025032923:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,0,0,0],[2025,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,25,23,59,59],[2025,10,26,2,59,59],
+          '2025033000:00:00','2025033003:00:00','2025102523:59:59','2025102602:59:59' ],
+        [ [2025,10,26,0,0,0],[2025,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,28,23,59,59],[2026,3,29,1,59,59],
+          '2025102600:00:00','2025102602:00:00','2026032823:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,0,0,0],[2026,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,24,23,59,59],[2026,10,25,2,59,59],
+          '2026032900:00:00','2026032903:00:00','2026102423:59:59','2026102502:59:59' ],
+        [ [2026,10,25,0,0,0],[2026,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,27,23,59,59],[2027,3,28,1,59,59],
+          '2026102500:00:00','2026102502:00:00','2027032723:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,0,0,0],[2027,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,30,23,59,59],[2027,10,31,2,59,59],
+          '2027032800:00:00','2027032803:00:00','2027103023:59:59','2027103102:59:59' ],
+        [ [2027,10,31,0,0,0],[2027,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,25,23,59,59],[2028,3,26,1,59,59],
+          '2027103100:00:00','2027103102:00:00','2028032523:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,0,0,0],[2028,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,28,23,59,59],[2028,10,29,2,59,59],
+          '2028032600:00:00','2028032603:00:00','2028102823:59:59','2028102902:59:59' ],
+        [ [2028,10,29,0,0,0],[2028,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,24,23,59,59],[2029,3,25,1,59,59],
+          '2028102900:00:00','2028102902:00:00','2029032423:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,0,0,0],[2029,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,27,23,59,59],[2029,10,28,2,59,59],
+          '2029032500:00:00','2029032503:00:00','2029102723:59:59','2029102802:59:59' ],
+        [ [2029,10,28,0,0,0],[2029,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,30,23,59,59],[2030,3,31,1,59,59],
+          '2029102800:00:00','2029102802:00:00','2030033023:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,0,0,0],[2030,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,26,23,59,59],[2030,10,27,2,59,59],
+          '2030033100:00:00','2030033103:00:00','2030102623:59:59','2030102702:59:59' ],
+        [ [2030,10,27,0,0,0],[2030,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,29,23,59,59],[2031,3,30,1,59,59],
+          '2030102700:00:00','2030102702:00:00','2031032923:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,0,0,0],[2031,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,25,23,59,59],[2031,10,26,2,59,59],
+          '2031033000:00:00','2031033003:00:00','2031102523:59:59','2031102602:59:59' ],
+        [ [2031,10,26,0,0,0],[2031,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,27,23,59,59],[2032,3,28,1,59,59],
+          '2031102600:00:00','2031102602:00:00','2032032723:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,0,0,0],[2032,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,30,23,59,59],[2032,10,31,2,59,59],
+          '2032032800:00:00','2032032803:00:00','2032103023:59:59','2032103102:59:59' ],
+        [ [2032,10,31,0,0,0],[2032,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,26,23,59,59],[2033,3,27,1,59,59],
+          '2032103100:00:00','2032103102:00:00','2033032623:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,0,0,0],[2033,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,29,23,59,59],[2033,10,30,2,59,59],
+          '2033032700:00:00','2033032703:00:00','2033102923:59:59','2033103002:59:59' ],
+        [ [2033,10,30,0,0,0],[2033,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,25,23,59,59],[2034,3,26,1,59,59],
+          '2033103000:00:00','2033103002:00:00','2034032523:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,0,0,0],[2034,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,28,23,59,59],[2034,10,29,2,59,59],
+          '2034032600:00:00','2034032603:00:00','2034102823:59:59','2034102902:59:59' ],
+        [ [2034,10,29,0,0,0],[2034,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,24,23,59,59],[2035,3,25,1,59,59],
+          '2034102900:00:00','2034102902:00:00','2035032423:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,0,0,0],[2035,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,27,23,59,59],[2035,10,28,2,59,59],
+          '2035032500:00:00','2035032503:00:00','2035102723:59:59','2035102802:59:59' ],
+        [ [2035,10,28,0,0,0],[2035,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,29,23,59,59],[2036,3,30,1,59,59],
+          '2035102800:00:00','2035102802:00:00','2036032923:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,0,0,0],[2036,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,25,23,59,59],[2036,10,26,2,59,59],
+          '2036033000:00:00','2036033003:00:00','2036102523:59:59','2036102602:59:59' ],
+        [ [2036,10,26,0,0,0],[2036,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,28,23,59,59],[2037,3,29,1,59,59],
+          '2036102600:00:00','2036102602:00:00','2037032823:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,0,0,0],[2037,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,24,23,59,59],[2037,10,25,2,59,59],
+          '2037032900:00:00','2037032903:00:00','2037102423:59:59','2037102502:59:59' ],
+        [ [2037,10,25,0,0,0],[2037,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,27,23,59,59],[2038,3,28,1,59,59],
+          '2037102500:00:00','2037102502:00:00','2038032723:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,0,0,0],[2038,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,30,23,59,59],[2038,10,31,2,59,59],
+          '2038032800:00:00','2038032803:00:00','2038103023:59:59','2038103102:59:59' ],
+        [ [2038,10,31,0,0,0],[2038,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,26,23,59,59],[2039,3,27,1,59,59],
+          '2038103100:00:00','2038103102:00:00','2039032623:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,0,0,0],[2039,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,29,23,59,59],[2039,10,30,2,59,59],
+          '2039032700:00:00','2039032703:00:00','2039102923:59:59','2039103002:59:59' ],
+        [ [2039,10,30,0,0,0],[2039,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,24,23,59,59],[2040,3,25,1,59,59],
+          '2039103000:00:00','2039103002:00:00','2040032423:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,0,0,0],[2040,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,27,23,59,59],[2040,10,28,2,59,59],
+          '2040032500:00:00','2040032503:00:00','2040102723:59:59','2040102802:59:59' ],
+        [ [2040,10,28,0,0,0],[2040,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,30,23,59,59],[2041,3,31,1,59,59],
+          '2040102800:00:00','2040102802:00:00','2041033023:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,0,0,0],[2041,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,26,23,59,59],[2041,10,27,2,59,59],
+          '2041033100:00:00','2041033103:00:00','2041102623:59:59','2041102702:59:59' ],
+        [ [2041,10,27,0,0,0],[2041,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,29,23,59,59],[2042,3,30,1,59,59],
+          '2041102700:00:00','2041102702:00:00','2042032923:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,0,0,0],[2042,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,25,23,59,59],[2042,10,26,2,59,59],
+          '2042033000:00:00','2042033003:00:00','2042102523:59:59','2042102602:59:59' ],
+        [ [2042,10,26,0,0,0],[2042,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,28,23,59,59],[2043,3,29,1,59,59],
+          '2042102600:00:00','2042102602:00:00','2043032823:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,0,0,0],[2043,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,24,23,59,59],[2043,10,25,2,59,59],
+          '2043032900:00:00','2043032903:00:00','2043102423:59:59','2043102502:59:59' ],
+        [ [2043,10,25,0,0,0],[2043,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,26,23,59,59],[2044,3,27,1,59,59],
+          '2043102500:00:00','2043102502:00:00','2044032623:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,0,0,0],[2044,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,29,23,59,59],[2044,10,30,2,59,59],
+          '2044032700:00:00','2044032703:00:00','2044102923:59:59','2044103002:59:59' ],
+        [ [2044,10,30,0,0,0],[2044,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,25,23,59,59],[2045,3,26,1,59,59],
+          '2044103000:00:00','2044103002:00:00','2045032523:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,0,0,0],[2045,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,28,23,59,59],[2045,10,29,2,59,59],
+          '2045032600:00:00','2045032603:00:00','2045102823:59:59','2045102902:59:59' ],
+        [ [2045,10,29,0,0,0],[2045,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,24,23,59,59],[2046,3,25,1,59,59],
+          '2045102900:00:00','2045102902:00:00','2046032423:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,0,0,0],[2046,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,27,23,59,59],[2046,10,28,2,59,59],
+          '2046032500:00:00','2046032503:00:00','2046102723:59:59','2046102802:59:59' ],
+        [ [2046,10,28,0,0,0],[2046,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,30,23,59,59],[2047,3,31,1,59,59],
+          '2046102800:00:00','2046102802:00:00','2047033023:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,0,0,0],[2047,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,26,23,59,59],[2047,10,27,2,59,59],
+          '2047033100:00:00','2047033103:00:00','2047102623:59:59','2047102702:59:59' ],
+        [ [2047,10,27,0,0,0],[2047,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,28,23,59,59],[2048,3,29,1,59,59],
+          '2047102700:00:00','2047102702:00:00','2048032823:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,0,0,0],[2048,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,24,23,59,59],[2048,10,25,2,59,59],
+          '2048032900:00:00','2048032903:00:00','2048102423:59:59','2048102502:59:59' ],
+        [ [2048,10,25,0,0,0],[2048,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,27,23,59,59],[2049,3,28,1,59,59],
+          '2048102500:00:00','2048102502:00:00','2049032723:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,0,0,0],[2049,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,30,23,59,59],[2049,10,31,2,59,59],
+          '2049032800:00:00','2049032803:00:00','2049103023:59:59','2049103102:59:59' ],
+        [ [2049,10,31,0,0,0],[2049,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,26,23,59,59],[2050,3,27,1,59,59],
+          '2049103100:00:00','2049103102:00:00','2050032623:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,0,0,0],[2050,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,29,23,59,59],[2050,10,30,2,59,59],
+          '2050032700:00:00','2050032703:00:00','2050102923:59:59','2050103002:59:59' ],
+        [ [2050,10,30,0,0,0],[2050,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,25,23,59,59],[2051,3,26,1,59,59],
+          '2050103000:00:00','2050103002:00:00','2051032523:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,0,0,0],[2051,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,28,23,59,59],[2051,10,29,2,59,59],
+          '2051032600:00:00','2051032603:00:00','2051102823:59:59','2051102902:59:59' ],
+        [ [2051,10,29,0,0,0],[2051,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,30,23,59,59],[2052,3,31,1,59,59],
+          '2051102900:00:00','2051102902:00:00','2052033023:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,0,0,0],[2052,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,26,23,59,59],[2052,10,27,2,59,59],
+          '2052033100:00:00','2052033103:00:00','2052102623:59:59','2052102702:59:59' ],
+        [ [2052,10,27,0,0,0],[2052,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,29,23,59,59],[2053,3,30,1,59,59],
+          '2052102700:00:00','2052102702:00:00','2053032923:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,0,0,0],[2053,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,25,23,59,59],[2053,10,26,2,59,59],
+          '2053033000:00:00','2053033003:00:00','2053102523:59:59','2053102602:59:59' ],
+        [ [2053,10,26,0,0,0],[2053,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,28,23,59,59],[2054,3,29,1,59,59],
+          '2053102600:00:00','2053102602:00:00','2054032823:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,0,0,0],[2054,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,24,23,59,59],[2054,10,25,2,59,59],
+          '2054032900:00:00','2054032903:00:00','2054102423:59:59','2054102502:59:59' ],
+        [ [2054,10,25,0,0,0],[2054,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,27,23,59,59],[2055,3,28,1,59,59],
+          '2054102500:00:00','2054102502:00:00','2055032723:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,0,0,0],[2055,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,30,23,59,59],[2055,10,31,2,59,59],
+          '2055032800:00:00','2055032803:00:00','2055103023:59:59','2055103102:59:59' ],
+        [ [2055,10,31,0,0,0],[2055,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,25,23,59,59],[2056,3,26,1,59,59],
+          '2055103100:00:00','2055103102:00:00','2056032523:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,0,0,0],[2056,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,28,23,59,59],[2056,10,29,2,59,59],
+          '2056032600:00:00','2056032603:00:00','2056102823:59:59','2056102902:59:59' ],
+        [ [2056,10,29,0,0,0],[2056,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,24,23,59,59],[2057,3,25,1,59,59],
+          '2056102900:00:00','2056102902:00:00','2057032423:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,0,0,0],[2057,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,27,23,59,59],[2057,10,28,2,59,59],
+          '2057032500:00:00','2057032503:00:00','2057102723:59:59','2057102802:59:59' ],
+        [ [2057,10,28,0,0,0],[2057,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,30,23,59,59],[2058,3,31,1,59,59],
+          '2057102800:00:00','2057102802:00:00','2058033023:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,0,0,0],[2058,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,26,23,59,59],[2058,10,27,2,59,59],
+          '2058033100:00:00','2058033103:00:00','2058102623:59:59','2058102702:59:59' ],
+        [ [2058,10,27,0,0,0],[2058,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,29,23,59,59],[2059,3,30,1,59,59],
+          '2058102700:00:00','2058102702:00:00','2059032923:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,0,0,0],[2059,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,25,23,59,59],[2059,10,26,2,59,59],
+          '2059033000:00:00','2059033003:00:00','2059102523:59:59','2059102602:59:59' ],
+        [ [2059,10,26,0,0,0],[2059,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,27,23,59,59],[2060,3,28,1,59,59],
+          '2059102600:00:00','2059102602:00:00','2060032723:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,0,0,0],[2060,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,30,23,59,59],[2060,10,31,2,59,59],
+          '2060032800:00:00','2060032803:00:00','2060103023:59:59','2060103102:59:59' ],
+        [ [2060,10,31,0,0,0],[2060,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,26,23,59,59],[2061,3,27,1,59,59],
+          '2060103100:00:00','2060103102:00:00','2061032623:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,0,0,0],[2061,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,29,23,59,59],[2061,10,30,2,59,59],
+          '2061032700:00:00','2061032703:00:00','2061102923:59:59','2061103002:59:59' ],
+        [ [2061,10,30,0,0,0],[2061,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,25,23,59,59],[2062,3,26,1,59,59],
+          '2061103000:00:00','2061103002:00:00','2062032523:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,0,0,0],[2062,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,28,23,59,59],[2062,10,29,2,59,59],
+          '2062032600:00:00','2062032603:00:00','2062102823:59:59','2062102902:59:59' ],
+        [ [2062,10,29,0,0,0],[2062,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,24,23,59,59],[2063,3,25,1,59,59],
+          '2062102900:00:00','2062102902:00:00','2063032423:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,0,0,0],[2063,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,27,23,59,59],[2063,10,28,2,59,59],
+          '2063032500:00:00','2063032503:00:00','2063102723:59:59','2063102802:59:59' ],
+        [ [2063,10,28,0,0,0],[2063,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,29,23,59,59],[2064,3,30,1,59,59],
+          '2063102800:00:00','2063102802:00:00','2064032923:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,0,0,0],[2064,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,25,23,59,59],[2064,10,26,2,59,59],
+          '2064033000:00:00','2064033003:00:00','2064102523:59:59','2064102602:59:59' ],
+        [ [2064,10,26,0,0,0],[2064,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,28,23,59,59],[2065,3,29,1,59,59],
+          '2064102600:00:00','2064102602:00:00','2065032823:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,0,0,0],[2065,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,24,23,59,59],[2065,10,25,2,59,59],
+          '2065032900:00:00','2065032903:00:00','2065102423:59:59','2065102502:59:59' ],
+        [ [2065,10,25,0,0,0],[2065,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,27,23,59,59],[2066,3,28,1,59,59],
+          '2065102500:00:00','2065102502:00:00','2066032723:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,0,0,0],[2066,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,30,23,59,59],[2066,10,31,2,59,59],
+          '2066032800:00:00','2066032803:00:00','2066103023:59:59','2066103102:59:59' ],
+        [ [2066,10,31,0,0,0],[2066,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,26,23,59,59],[2067,3,27,1,59,59],
+          '2066103100:00:00','2066103102:00:00','2067032623:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,0,0,0],[2067,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,29,23,59,59],[2067,10,30,2,59,59],
+          '2067032700:00:00','2067032703:00:00','2067102923:59:59','2067103002:59:59' ],
+        [ [2067,10,30,0,0,0],[2067,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,24,23,59,59],[2068,3,25,1,59,59],
+          '2067103000:00:00','2067103002:00:00','2068032423:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eucope00.pm b/lib/Date/Manip/TZ/eucope00.pm
new file mode 100644
index 0000000..5d2ecf5
--- /dev/null
+++ b/lib/Date/Manip/TZ/eucope00.pm
@@ -0,0 +1,946 @@
+package #
+Date::Manip::TZ::eucope00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,50,20],'+00:50:20',[0,50,20],
+          'LMT',0,[1889,12,31,23,9,39],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010200:50:20','1889123123:09:39','1889123123:59:59' ],
+     ],
+   1889 =>
+     [
+        [ [1889,12,31,23,9,40],[1890,1,1,0,0,0],'+00:50:20',[0,50,20],
+          'CMT',0,[1893,12,31,23,9,39],[1893,12,31,23,59,59],
+          '1889123123:09:40','1890010100:00:00','1893123123:09:39','1893123123:59:59' ],
+     ],
+   1893 =>
+     [
+        [ [1893,12,31,23,9,40],[1894,1,1,0,9,40],'+01:00:00',[1,0,0],
+          'CET',0,[1916,5,14,21,59,59],[1916,5,14,22,59,59],
+          '1893123123:09:40','1894010100:09:40','1916051421:59:59','1916051422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,14,22,0,0],[1916,5,15,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,20,59,59],[1916,9,30,22,59,59],
+          '1916051422:00:00','1916051500:00:00','1916093020:59:59','1916093022:59:59' ],
+        [ [1916,9,30,21,0,0],[1916,9,30,22,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,5,14,22,59,59],[1940,5,14,23,59,59],
+          '1916093021:00:00','1916093022:00:00','1940051422:59:59','1940051423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,5,14,23,0,0],[1940,5,15,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940051423:00:00','1940051501:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,8,15,0,59,59],[1945,8,15,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945081500:59:59','1945081502:59:59' ],
+        [ [1945,8,15,1,0,0],[1945,8,15,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,5,1,0,59,59],[1946,5,1,1,59,59],
+          '1945081501:00:00','1945081502:00:00','1946050100:59:59','1946050101:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,1,1,0,0],[1946,5,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,9,1,0,59,59],[1946,9,1,2,59,59],
+          '1946050101:00:00','1946050103:00:00','1946090100:59:59','1946090102:59:59' ],
+        [ [1946,9,1,1,0,0],[1946,9,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,5,4,0,59,59],[1947,5,4,1,59,59],
+          '1946090101:00:00','1946090102:00:00','1947050400:59:59','1947050401:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,5,4,1,0,0],[1947,5,4,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,8,10,0,59,59],[1947,8,10,2,59,59],
+          '1947050401:00:00','1947050403:00:00','1947081000:59:59','1947081002:59:59' ],
+        [ [1947,8,10,1,0,0],[1947,8,10,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,5,9,0,59,59],[1948,5,9,1,59,59],
+          '1947081001:00:00','1947081002:00:00','1948050900:59:59','1948050901:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,5,9,1,0,0],[1948,5,9,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,8,8,0,59,59],[1948,8,8,2,59,59],
+          '1948050901:00:00','1948050903:00:00','1948080800:59:59','1948080802:59:59' ],
+        [ [1948,8,8,1,0,0],[1948,8,8,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1948080801:00:00','1948080802:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eudubl00.pm b/lib/Date/Manip/TZ/eudubl00.pm
new file mode 100644
index 0000000..33c9054
--- /dev/null
+++ b/lib/Date/Manip/TZ/eudubl00.pm
@@ -0,0 +1,1369 @@
+package #
+Date::Manip::TZ::eudubl00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,35,0],'-00:25:00',[0,-25,0],
+          'LMT',0,[1880,8,2,0,24,59],[1880,8,1,23,59,59],
+          '0001010200:00:00','0001010123:35:00','1880080200:24:59','1880080123:59:59' ],
+     ],
+   1880 =>
+     [
+        [ [1880,8,2,0,25,0],[1880,8,1,23,59,39],'-00:25:21',[0,-25,-21],
+          'DMT',0,[1916,5,21,2,25,20],[1916,5,21,1,59,59],
+          '1880080200:25:00','1880080123:59:39','1916052102:25:20','1916052101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,21,2,25,21],[1916,5,21,3,0,0],'+00:34:39',[0,34,39],
+          'IST',1,[1916,10,1,2,25,20],[1916,10,1,2,59,59],
+          '1916052102:25:21','1916052103:00:00','1916100102:25:20','1916100102:59:59' ],
+        [ [1916,10,1,2,25,21],[1916,10,1,2,25,21],'+00:00:00',[0,0,0],
+          'GMT',0,[1917,4,8,1,59,59],[1917,4,8,1,59,59],
+          '1916100102:25:21','1916100102:25:21','1917040801:59:59','1917040801:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,8,2,0,0],[1917,4,8,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1917,9,17,1,59,59],[1917,9,17,2,59,59],
+          '1917040802:00:00','1917040803:00:00','1917091701:59:59','1917091702:59:59' ],
+        [ [1917,9,17,2,0,0],[1917,9,17,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1918,3,24,1,59,59],[1918,3,24,1,59,59],
+          '1917091702:00:00','1917091702:00:00','1918032401:59:59','1918032401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,24,2,0,0],[1918,3,24,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1918,9,30,1,59,59],[1918,9,30,2,59,59],
+          '1918032402:00:00','1918032403:00:00','1918093001:59:59','1918093002:59:59' ],
+        [ [1918,9,30,2,0,0],[1918,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1919,3,30,1,59,59],[1919,3,30,1,59,59],
+          '1918093002:00:00','1918093002:00:00','1919033001:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,2,0,0],[1919,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1919,9,29,1,59,59],[1919,9,29,2,59,59],
+          '1919033002:00:00','1919033003:00:00','1919092901:59:59','1919092902:59:59' ],
+        [ [1919,9,29,2,0,0],[1919,9,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1920,3,28,1,59,59],[1920,3,28,1,59,59],
+          '1919092902:00:00','1919092902:00:00','1920032801:59:59','1920032801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,28,2,0,0],[1920,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1920,10,25,1,59,59],[1920,10,25,2,59,59],
+          '1920032802:00:00','1920032803:00:00','1920102501:59:59','1920102502:59:59' ],
+        [ [1920,10,25,2,0,0],[1920,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1921,4,3,1,59,59],[1921,4,3,1,59,59],
+          '1920102502:00:00','1920102502:00:00','1921040301:59:59','1921040301:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,3,2,0,0],[1921,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1921,10,3,1,59,59],[1921,10,3,2,59,59],
+          '1921040302:00:00','1921040303:00:00','1921100301:59:59','1921100302:59:59' ],
+        [ [1921,10,3,2,0,0],[1921,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1922,3,26,1,59,59],[1922,3,26,1,59,59],
+          '1921100302:00:00','1921100302:00:00','1922032601:59:59','1922032601:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,26,2,0,0],[1922,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1922,10,8,1,59,59],[1922,10,8,2,59,59],
+          '1922032602:00:00','1922032603:00:00','1922100801:59:59','1922100802:59:59' ],
+        [ [1922,10,8,2,0,0],[1922,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1923,4,22,1,59,59],[1923,4,22,1,59,59],
+          '1922100802:00:00','1922100802:00:00','1923042201:59:59','1923042201:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,22,2,0,0],[1923,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1923,9,16,1,59,59],[1923,9,16,2,59,59],
+          '1923042202:00:00','1923042203:00:00','1923091601:59:59','1923091602:59:59' ],
+        [ [1923,9,16,2,0,0],[1923,9,16,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1924,4,13,1,59,59],[1924,4,13,1,59,59],
+          '1923091602:00:00','1923091602:00:00','1924041301:59:59','1924041301:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,13,2,0,0],[1924,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1924,9,21,1,59,59],[1924,9,21,2,59,59],
+          '1924041302:00:00','1924041303:00:00','1924092101:59:59','1924092102:59:59' ],
+        [ [1924,9,21,2,0,0],[1924,9,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1925,4,19,1,59,59],[1925,4,19,1,59,59],
+          '1924092102:00:00','1924092102:00:00','1925041901:59:59','1925041901:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,19,2,0,0],[1925,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1925,10,4,1,59,59],[1925,10,4,2,59,59],
+          '1925041902:00:00','1925041903:00:00','1925100401:59:59','1925100402:59:59' ],
+        [ [1925,10,4,2,0,0],[1925,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1926,4,18,1,59,59],[1926,4,18,1,59,59],
+          '1925100402:00:00','1925100402:00:00','1926041801:59:59','1926041801:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,18,2,0,0],[1926,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1926,10,3,1,59,59],[1926,10,3,2,59,59],
+          '1926041802:00:00','1926041803:00:00','1926100301:59:59','1926100302:59:59' ],
+        [ [1926,10,3,2,0,0],[1926,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1927,4,10,1,59,59],[1927,4,10,1,59,59],
+          '1926100302:00:00','1926100302:00:00','1927041001:59:59','1927041001:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,10,2,0,0],[1927,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1927,10,2,1,59,59],[1927,10,2,2,59,59],
+          '1927041002:00:00','1927041003:00:00','1927100201:59:59','1927100202:59:59' ],
+        [ [1927,10,2,2,0,0],[1927,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1928,4,22,1,59,59],[1928,4,22,1,59,59],
+          '1927100202:00:00','1927100202:00:00','1928042201:59:59','1928042201:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,22,2,0,0],[1928,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1928,10,7,1,59,59],[1928,10,7,2,59,59],
+          '1928042202:00:00','1928042203:00:00','1928100701:59:59','1928100702:59:59' ],
+        [ [1928,10,7,2,0,0],[1928,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1929,4,21,1,59,59],[1929,4,21,1,59,59],
+          '1928100702:00:00','1928100702:00:00','1929042101:59:59','1929042101:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,2,0,0],[1929,4,21,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1929,10,6,1,59,59],[1929,10,6,2,59,59],
+          '1929042102:00:00','1929042103:00:00','1929100601:59:59','1929100602:59:59' ],
+        [ [1929,10,6,2,0,0],[1929,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1930,4,13,1,59,59],[1930,4,13,1,59,59],
+          '1929100602:00:00','1929100602:00:00','1930041301:59:59','1930041301:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,13,2,0,0],[1930,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1930,10,5,1,59,59],[1930,10,5,2,59,59],
+          '1930041302:00:00','1930041303:00:00','1930100501:59:59','1930100502:59:59' ],
+        [ [1930,10,5,2,0,0],[1930,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1931,4,19,1,59,59],[1931,4,19,1,59,59],
+          '1930100502:00:00','1930100502:00:00','1931041901:59:59','1931041901:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,2,0,0],[1931,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1931,10,4,1,59,59],[1931,10,4,2,59,59],
+          '1931041902:00:00','1931041903:00:00','1931100401:59:59','1931100402:59:59' ],
+        [ [1931,10,4,2,0,0],[1931,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1932,4,17,1,59,59],[1932,4,17,1,59,59],
+          '1931100402:00:00','1931100402:00:00','1932041701:59:59','1932041701:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,17,2,0,0],[1932,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1932,10,2,1,59,59],[1932,10,2,2,59,59],
+          '1932041702:00:00','1932041703:00:00','1932100201:59:59','1932100202:59:59' ],
+        [ [1932,10,2,2,0,0],[1932,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1933,4,9,1,59,59],[1933,4,9,1,59,59],
+          '1932100202:00:00','1932100202:00:00','1933040901:59:59','1933040901:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,9,2,0,0],[1933,4,9,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1933,10,8,1,59,59],[1933,10,8,2,59,59],
+          '1933040902:00:00','1933040903:00:00','1933100801:59:59','1933100802:59:59' ],
+        [ [1933,10,8,2,0,0],[1933,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1934,4,22,1,59,59],[1934,4,22,1,59,59],
+          '1933100802:00:00','1933100802:00:00','1934042201:59:59','1934042201:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,22,2,0,0],[1934,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1934,10,7,1,59,59],[1934,10,7,2,59,59],
+          '1934042202:00:00','1934042203:00:00','1934100701:59:59','1934100702:59:59' ],
+        [ [1934,10,7,2,0,0],[1934,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1935,4,14,1,59,59],[1935,4,14,1,59,59],
+          '1934100702:00:00','1934100702:00:00','1935041401:59:59','1935041401:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,14,2,0,0],[1935,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1935,10,6,1,59,59],[1935,10,6,2,59,59],
+          '1935041402:00:00','1935041403:00:00','1935100601:59:59','1935100602:59:59' ],
+        [ [1935,10,6,2,0,0],[1935,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1936,4,19,1,59,59],[1936,4,19,1,59,59],
+          '1935100602:00:00','1935100602:00:00','1936041901:59:59','1936041901:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,2,0,0],[1936,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1936,10,4,1,59,59],[1936,10,4,2,59,59],
+          '1936041902:00:00','1936041903:00:00','1936100401:59:59','1936100402:59:59' ],
+        [ [1936,10,4,2,0,0],[1936,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1937,4,18,1,59,59],[1937,4,18,1,59,59],
+          '1936100402:00:00','1936100402:00:00','1937041801:59:59','1937041801:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,18,2,0,0],[1937,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1937,10,3,1,59,59],[1937,10,3,2,59,59],
+          '1937041802:00:00','1937041803:00:00','1937100301:59:59','1937100302:59:59' ],
+        [ [1937,10,3,2,0,0],[1937,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1938,4,10,1,59,59],[1938,4,10,1,59,59],
+          '1937100302:00:00','1937100302:00:00','1938041001:59:59','1938041001:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,10,2,0,0],[1938,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1938,10,2,1,59,59],[1938,10,2,2,59,59],
+          '1938041002:00:00','1938041003:00:00','1938100201:59:59','1938100202:59:59' ],
+        [ [1938,10,2,2,0,0],[1938,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1939,4,16,1,59,59],[1939,4,16,1,59,59],
+          '1938100202:00:00','1938100202:00:00','1939041601:59:59','1939041601:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,2,0,0],[1939,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1939,11,19,1,59,59],[1939,11,19,2,59,59],
+          '1939041602:00:00','1939041603:00:00','1939111901:59:59','1939111902:59:59' ],
+        [ [1939,11,19,2,0,0],[1939,11,19,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111902:00:00','1939111902:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1946,10,6,0,59,59],[1946,10,6,1,59,59],
+          '1940022502:00:00','1940022503:00:00','1946100600:59:59','1946100601:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,10,6,1,0,0],[1946,10,6,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1947,3,16,1,59,59],[1947,3,16,1,59,59],
+          '1946100601:00:00','1946100601:00:00','1947031601:59:59','1947031601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,16,2,0,0],[1947,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1947,11,2,0,59,59],[1947,11,2,1,59,59],
+          '1947031602:00:00','1947031603:00:00','1947110200:59:59','1947110201:59:59' ],
+        [ [1947,11,2,1,0,0],[1947,11,2,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1948,4,18,1,59,59],[1948,4,18,1,59,59],
+          '1947110201:00:00','1947110201:00:00','1948041801:59:59','1948041801:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,18,2,0,0],[1948,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1948,10,31,1,59,59],[1948,10,31,2,59,59],
+          '1948041802:00:00','1948041803:00:00','1948103101:59:59','1948103102:59:59' ],
+        [ [1948,10,31,2,0,0],[1948,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1949,4,3,1,59,59],[1949,4,3,1,59,59],
+          '1948103102:00:00','1948103102:00:00','1949040301:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,2,0,0],[1949,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1949,10,30,1,59,59],[1949,10,30,2,59,59],
+          '1949040302:00:00','1949040303:00:00','1949103001:59:59','1949103002:59:59' ],
+        [ [1949,10,30,2,0,0],[1949,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1950,4,16,1,59,59],[1950,4,16,1,59,59],
+          '1949103002:00:00','1949103002:00:00','1950041601:59:59','1950041601:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,2,0,0],[1950,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1950,10,22,1,59,59],[1950,10,22,2,59,59],
+          '1950041602:00:00','1950041603:00:00','1950102201:59:59','1950102202:59:59' ],
+        [ [1950,10,22,2,0,0],[1950,10,22,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1951,4,15,1,59,59],[1951,4,15,1,59,59],
+          '1950102202:00:00','1950102202:00:00','1951041501:59:59','1951041501:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,15,2,0,0],[1951,4,15,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1951,10,21,1,59,59],[1951,10,21,2,59,59],
+          '1951041502:00:00','1951041503:00:00','1951102101:59:59','1951102102:59:59' ],
+        [ [1951,10,21,2,0,0],[1951,10,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1952,4,20,1,59,59],[1952,4,20,1,59,59],
+          '1951102102:00:00','1951102102:00:00','1952042001:59:59','1952042001:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,20,2,0,0],[1952,4,20,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1952,10,26,1,59,59],[1952,10,26,2,59,59],
+          '1952042002:00:00','1952042003:00:00','1952102601:59:59','1952102602:59:59' ],
+        [ [1952,10,26,2,0,0],[1952,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1953,4,19,1,59,59],[1953,4,19,1,59,59],
+          '1952102602:00:00','1952102602:00:00','1953041901:59:59','1953041901:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,19,2,0,0],[1953,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1953,10,4,1,59,59],[1953,10,4,2,59,59],
+          '1953041902:00:00','1953041903:00:00','1953100401:59:59','1953100402:59:59' ],
+        [ [1953,10,4,2,0,0],[1953,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1954,4,11,1,59,59],[1954,4,11,1,59,59],
+          '1953100402:00:00','1953100402:00:00','1954041101:59:59','1954041101:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,11,2,0,0],[1954,4,11,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1954,10,3,1,59,59],[1954,10,3,2,59,59],
+          '1954041102:00:00','1954041103:00:00','1954100301:59:59','1954100302:59:59' ],
+        [ [1954,10,3,2,0,0],[1954,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1955,4,17,1,59,59],[1955,4,17,1,59,59],
+          '1954100302:00:00','1954100302:00:00','1955041701:59:59','1955041701:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,17,2,0,0],[1955,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1955,10,2,1,59,59],[1955,10,2,2,59,59],
+          '1955041702:00:00','1955041703:00:00','1955100201:59:59','1955100202:59:59' ],
+        [ [1955,10,2,2,0,0],[1955,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1956,4,22,1,59,59],[1956,4,22,1,59,59],
+          '1955100202:00:00','1955100202:00:00','1956042201:59:59','1956042201:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,22,2,0,0],[1956,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1956,10,7,1,59,59],[1956,10,7,2,59,59],
+          '1956042202:00:00','1956042203:00:00','1956100701:59:59','1956100702:59:59' ],
+        [ [1956,10,7,2,0,0],[1956,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1957,4,14,1,59,59],[1957,4,14,1,59,59],
+          '1956100702:00:00','1956100702:00:00','1957041401:59:59','1957041401:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,14,2,0,0],[1957,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1957,10,6,1,59,59],[1957,10,6,2,59,59],
+          '1957041402:00:00','1957041403:00:00','1957100601:59:59','1957100602:59:59' ],
+        [ [1957,10,6,2,0,0],[1957,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1958,4,20,1,59,59],[1958,4,20,1,59,59],
+          '1957100602:00:00','1957100602:00:00','1958042001:59:59','1958042001:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,20,2,0,0],[1958,4,20,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1958,10,5,1,59,59],[1958,10,5,2,59,59],
+          '1958042002:00:00','1958042003:00:00','1958100501:59:59','1958100502:59:59' ],
+        [ [1958,10,5,2,0,0],[1958,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1959,4,19,1,59,59],[1959,4,19,1,59,59],
+          '1958100502:00:00','1958100502:00:00','1959041901:59:59','1959041901:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,19,2,0,0],[1959,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1959,10,4,1,59,59],[1959,10,4,2,59,59],
+          '1959041902:00:00','1959041903:00:00','1959100401:59:59','1959100402:59:59' ],
+        [ [1959,10,4,2,0,0],[1959,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1960,4,10,1,59,59],[1960,4,10,1,59,59],
+          '1959100402:00:00','1959100402:00:00','1960041001:59:59','1960041001:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,10,2,0,0],[1960,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1960,10,2,1,59,59],[1960,10,2,2,59,59],
+          '1960041002:00:00','1960041003:00:00','1960100201:59:59','1960100202:59:59' ],
+        [ [1960,10,2,2,0,0],[1960,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1961,3,26,1,59,59],[1961,3,26,1,59,59],
+          '1960100202:00:00','1960100202:00:00','1961032601:59:59','1961032601:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,3,26,2,0,0],[1961,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1961,10,29,1,59,59],[1961,10,29,2,59,59],
+          '1961032602:00:00','1961032603:00:00','1961102901:59:59','1961102902:59:59' ],
+        [ [1961,10,29,2,0,0],[1961,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1962,3,25,1,59,59],[1962,3,25,1,59,59],
+          '1961102902:00:00','1961102902:00:00','1962032501:59:59','1962032501:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,3,25,2,0,0],[1962,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1962,10,28,1,59,59],[1962,10,28,2,59,59],
+          '1962032502:00:00','1962032503:00:00','1962102801:59:59','1962102802:59:59' ],
+        [ [1962,10,28,2,0,0],[1962,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1963,3,31,1,59,59],[1963,3,31,1,59,59],
+          '1962102802:00:00','1962102802:00:00','1963033101:59:59','1963033101:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,3,31,2,0,0],[1963,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1963,10,27,1,59,59],[1963,10,27,2,59,59],
+          '1963033102:00:00','1963033103:00:00','1963102701:59:59','1963102702:59:59' ],
+        [ [1963,10,27,2,0,0],[1963,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1964,3,22,1,59,59],[1964,3,22,1,59,59],
+          '1963102702:00:00','1963102702:00:00','1964032201:59:59','1964032201:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,22,2,0,0],[1964,3,22,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1964,10,25,1,59,59],[1964,10,25,2,59,59],
+          '1964032202:00:00','1964032203:00:00','1964102501:59:59','1964102502:59:59' ],
+        [ [1964,10,25,2,0,0],[1964,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1965,3,21,1,59,59],[1965,3,21,1,59,59],
+          '1964102502:00:00','1964102502:00:00','1965032101:59:59','1965032101:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,21,2,0,0],[1965,3,21,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1965,10,24,1,59,59],[1965,10,24,2,59,59],
+          '1965032102:00:00','1965032103:00:00','1965102401:59:59','1965102402:59:59' ],
+        [ [1965,10,24,2,0,0],[1965,10,24,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1966,3,20,1,59,59],[1966,3,20,1,59,59],
+          '1965102402:00:00','1965102402:00:00','1966032001:59:59','1966032001:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,20,2,0,0],[1966,3,20,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1966,10,23,1,59,59],[1966,10,23,2,59,59],
+          '1966032002:00:00','1966032003:00:00','1966102301:59:59','1966102302:59:59' ],
+        [ [1966,10,23,2,0,0],[1966,10,23,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1967,3,19,1,59,59],[1967,3,19,1,59,59],
+          '1966102302:00:00','1966102302:00:00','1967031901:59:59','1967031901:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,19,2,0,0],[1967,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1967,10,29,1,59,59],[1967,10,29,2,59,59],
+          '1967031902:00:00','1967031903:00:00','1967102901:59:59','1967102902:59:59' ],
+        [ [1967,10,29,2,0,0],[1967,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1968,2,18,1,59,59],[1968,2,18,1,59,59],
+          '1967102902:00:00','1967102902:00:00','1968021801:59:59','1968021801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,2,18,2,0,0],[1968,2,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1968,10,26,22,59,59],[1968,10,26,23,59,59],
+          '1968021802:00:00','1968021803:00:00','1968102622:59:59','1968102623:59:59' ],
+        [ [1968,10,26,23,0,0],[1968,10,27,0,0,0],'+01:00:00',[1,0,0],
+          'IST',0,[1971,10,31,1,59,59],[1971,10,31,2,59,59],
+          '1968102623:00:00','1968102700:00:00','1971103101:59:59','1971103102:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,31,2,0,0],[1971,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1972,3,19,1,59,59],[1972,3,19,1,59,59],
+          '1971103102:00:00','1971103102:00:00','1972031901:59:59','1972031901:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,3,19,2,0,0],[1972,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1972,10,29,1,59,59],[1972,10,29,2,59,59],
+          '1972031902:00:00','1972031903:00:00','1972102901:59:59','1972102902:59:59' ],
+        [ [1972,10,29,2,0,0],[1972,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1973,3,18,1,59,59],[1973,3,18,1,59,59],
+          '1972102902:00:00','1972102902:00:00','1973031801:59:59','1973031801:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,18,2,0,0],[1973,3,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1973,10,28,1,59,59],[1973,10,28,2,59,59],
+          '1973031802:00:00','1973031803:00:00','1973102801:59:59','1973102802:59:59' ],
+        [ [1973,10,28,2,0,0],[1973,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1974,3,17,1,59,59],[1974,3,17,1,59,59],
+          '1973102802:00:00','1973102802:00:00','1974031701:59:59','1974031701:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,17,2,0,0],[1974,3,17,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1974,10,27,1,59,59],[1974,10,27,2,59,59],
+          '1974031702:00:00','1974031703:00:00','1974102701:59:59','1974102702:59:59' ],
+        [ [1974,10,27,2,0,0],[1974,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1975,3,16,1,59,59],[1975,3,16,1,59,59],
+          '1974102702:00:00','1974102702:00:00','1975031601:59:59','1975031601:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,16,2,0,0],[1975,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1975,10,26,1,59,59],[1975,10,26,2,59,59],
+          '1975031602:00:00','1975031603:00:00','1975102601:59:59','1975102602:59:59' ],
+        [ [1975,10,26,2,0,0],[1975,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1976,3,21,1,59,59],[1976,3,21,1,59,59],
+          '1975102602:00:00','1975102602:00:00','1976032101:59:59','1976032101:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,21,2,0,0],[1976,3,21,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1976,10,24,1,59,59],[1976,10,24,2,59,59],
+          '1976032102:00:00','1976032103:00:00','1976102401:59:59','1976102402:59:59' ],
+        [ [1976,10,24,2,0,0],[1976,10,24,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1977,3,20,1,59,59],[1977,3,20,1,59,59],
+          '1976102402:00:00','1976102402:00:00','1977032001:59:59','1977032001:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,20,2,0,0],[1977,3,20,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1977,10,23,1,59,59],[1977,10,23,2,59,59],
+          '1977032002:00:00','1977032003:00:00','1977102301:59:59','1977102302:59:59' ],
+        [ [1977,10,23,2,0,0],[1977,10,23,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1978,3,19,1,59,59],[1978,3,19,1,59,59],
+          '1977102302:00:00','1977102302:00:00','1978031901:59:59','1978031901:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,19,2,0,0],[1978,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1978,10,29,1,59,59],[1978,10,29,2,59,59],
+          '1978031902:00:00','1978031903:00:00','1978102901:59:59','1978102902:59:59' ],
+        [ [1978,10,29,2,0,0],[1978,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1979,3,18,1,59,59],[1979,3,18,1,59,59],
+          '1978102902:00:00','1978102902:00:00','1979031801:59:59','1979031801:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,18,2,0,0],[1979,3,18,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1979,10,28,1,59,59],[1979,10,28,2,59,59],
+          '1979031802:00:00','1979031803:00:00','1979102801:59:59','1979102802:59:59' ],
+        [ [1979,10,28,2,0,0],[1979,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1980,3,16,1,59,59],[1980,3,16,1,59,59],
+          '1979102802:00:00','1979102802:00:00','1980031601:59:59','1980031601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,16,2,0,0],[1980,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1980,10,26,1,59,59],[1980,10,26,2,59,59],
+          '1980031602:00:00','1980031603:00:00','1980102601:59:59','1980102602:59:59' ],
+        [ [1980,10,26,2,0,0],[1980,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980102602:00:00','1980102602:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1981,10,25,0,59,59],[1981,10,25,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981102500:59:59','1981102501:59:59' ],
+        [ [1981,10,25,1,0,0],[1981,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981102501:00:00','1981102501:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1982,10,24,0,59,59],[1982,10,24,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982102400:59:59','1982102401:59:59' ],
+        [ [1982,10,24,1,0,0],[1982,10,24,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1983,3,27,0,59,59],[1983,3,27,0,59,59],
+          '1982102401:00:00','1982102401:00:00','1983032700:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1983,10,23,0,59,59],[1983,10,23,1,59,59],
+          '1983032701:00:00','1983032702:00:00','1983102300:59:59','1983102301:59:59' ],
+        [ [1983,10,23,1,0,0],[1983,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983102301:00:00','1983102301:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1984,10,28,0,59,59],[1984,10,28,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984102800:59:59','1984102801:59:59' ],
+        [ [1984,10,28,1,0,0],[1984,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984102801:00:00','1984102801:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1985,10,27,0,59,59],[1985,10,27,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985102700:59:59','1985102701:59:59' ],
+        [ [1985,10,27,1,0,0],[1985,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985102701:00:00','1985102701:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1986,10,26,0,59,59],[1986,10,26,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986102600:59:59','1986102601:59:59' ],
+        [ [1986,10,26,1,0,0],[1986,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986102601:00:00','1986102601:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1987,10,25,0,59,59],[1987,10,25,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987102500:59:59','1987102501:59:59' ],
+        [ [1987,10,25,1,0,0],[1987,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987102501:00:00','1987102501:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1988,10,23,0,59,59],[1988,10,23,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988102300:59:59','1988102301:59:59' ],
+        [ [1988,10,23,1,0,0],[1988,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988102301:00:00','1988102301:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1989,10,29,0,59,59],[1989,10,29,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989102900:59:59','1989102901:59:59' ],
+        [ [1989,10,29,1,0,0],[1989,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989102901:00:00','1989102901:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1990,10,28,0,59,59],[1990,10,28,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990102800:59:59','1990102801:59:59' ],
+        [ [1990,10,28,1,0,0],[1990,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990102801:00:00','1990102801:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1991,10,27,0,59,59],[1991,10,27,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991102700:59:59','1991102701:59:59' ],
+        [ [1991,10,27,1,0,0],[1991,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991102701:00:00','1991102701:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1992,10,25,0,59,59],[1992,10,25,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992102500:59:59','1992102501:59:59' ],
+        [ [1992,10,25,1,0,0],[1992,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992102501:00:00','1992102501:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1993,10,24,0,59,59],[1993,10,24,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993102400:59:59','1993102401:59:59' ],
+        [ [1993,10,24,1,0,0],[1993,10,24,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993102401:00:00','1993102401:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1994,10,23,0,59,59],[1994,10,23,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994102300:59:59','1994102301:59:59' ],
+        [ [1994,10,23,1,0,0],[1994,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994102301:00:00','1994102301:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1995,10,22,0,59,59],[1995,10,22,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995102200:59:59','1995102201:59:59' ],
+        [ [1995,10,22,1,0,0],[1995,10,22,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995102201:00:00','1995102201:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'IST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'IST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'GMT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eugibr00.pm b/lib/Date/Manip/TZ/eugibr00.pm
new file mode 100644
index 0000000..994ea83
--- /dev/null
+++ b/lib/Date/Manip/TZ/eugibr00.pm
@@ -0,0 +1,1228 @@
+package #
+Date::Manip::TZ::eugibr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,38,36],'-00:21:24',[0,-21,-24],
+          'LMT',0,[1880,8,2,0,21,23],[1880,8,1,23,59,59],
+          '0001010200:00:00','0001010123:38:36','1880080200:21:23','1880080123:59:59' ],
+     ],
+   1880 =>
+     [
+        [ [1880,8,2,0,21,24],[1880,8,2,0,21,24],'+00:00:00',[0,0,0],
+          'GMT',0,[1916,5,21,1,59,59],[1916,5,21,1,59,59],
+          '1880080200:21:24','1880080200:21:24','1916052101:59:59','1916052101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,21,2,0,0],[1916,5,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1916,10,1,1,59,59],[1916,10,1,2,59,59],
+          '1916052102:00:00','1916052103:00:00','1916100101:59:59','1916100102:59:59' ],
+        [ [1916,10,1,2,0,0],[1916,10,1,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1917,4,8,1,59,59],[1917,4,8,1,59,59],
+          '1916100102:00:00','1916100102:00:00','1917040801:59:59','1917040801:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,8,2,0,0],[1917,4,8,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1917,9,17,1,59,59],[1917,9,17,2,59,59],
+          '1917040802:00:00','1917040803:00:00','1917091701:59:59','1917091702:59:59' ],
+        [ [1917,9,17,2,0,0],[1917,9,17,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1918,3,24,1,59,59],[1918,3,24,1,59,59],
+          '1917091702:00:00','1917091702:00:00','1918032401:59:59','1918032401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,24,2,0,0],[1918,3,24,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1918,9,30,1,59,59],[1918,9,30,2,59,59],
+          '1918032402:00:00','1918032403:00:00','1918093001:59:59','1918093002:59:59' ],
+        [ [1918,9,30,2,0,0],[1918,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1919,3,30,1,59,59],[1919,3,30,1,59,59],
+          '1918093002:00:00','1918093002:00:00','1919033001:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,2,0,0],[1919,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1919,9,29,1,59,59],[1919,9,29,2,59,59],
+          '1919033002:00:00','1919033003:00:00','1919092901:59:59','1919092902:59:59' ],
+        [ [1919,9,29,2,0,0],[1919,9,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1920,3,28,1,59,59],[1920,3,28,1,59,59],
+          '1919092902:00:00','1919092902:00:00','1920032801:59:59','1920032801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,28,2,0,0],[1920,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1920,10,25,1,59,59],[1920,10,25,2,59,59],
+          '1920032802:00:00','1920032803:00:00','1920102501:59:59','1920102502:59:59' ],
+        [ [1920,10,25,2,0,0],[1920,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1921,4,3,1,59,59],[1921,4,3,1,59,59],
+          '1920102502:00:00','1920102502:00:00','1921040301:59:59','1921040301:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,3,2,0,0],[1921,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1921,10,3,1,59,59],[1921,10,3,2,59,59],
+          '1921040302:00:00','1921040303:00:00','1921100301:59:59','1921100302:59:59' ],
+        [ [1921,10,3,2,0,0],[1921,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1922,3,26,1,59,59],[1922,3,26,1,59,59],
+          '1921100302:00:00','1921100302:00:00','1922032601:59:59','1922032601:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,26,2,0,0],[1922,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1922,10,8,1,59,59],[1922,10,8,2,59,59],
+          '1922032602:00:00','1922032603:00:00','1922100801:59:59','1922100802:59:59' ],
+        [ [1922,10,8,2,0,0],[1922,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1923,4,22,1,59,59],[1923,4,22,1,59,59],
+          '1922100802:00:00','1922100802:00:00','1923042201:59:59','1923042201:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,22,2,0,0],[1923,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1923,9,16,1,59,59],[1923,9,16,2,59,59],
+          '1923042202:00:00','1923042203:00:00','1923091601:59:59','1923091602:59:59' ],
+        [ [1923,9,16,2,0,0],[1923,9,16,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1924,4,13,1,59,59],[1924,4,13,1,59,59],
+          '1923091602:00:00','1923091602:00:00','1924041301:59:59','1924041301:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,13,2,0,0],[1924,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1924,9,21,1,59,59],[1924,9,21,2,59,59],
+          '1924041302:00:00','1924041303:00:00','1924092101:59:59','1924092102:59:59' ],
+        [ [1924,9,21,2,0,0],[1924,9,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1925,4,19,1,59,59],[1925,4,19,1,59,59],
+          '1924092102:00:00','1924092102:00:00','1925041901:59:59','1925041901:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,19,2,0,0],[1925,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1925,10,4,1,59,59],[1925,10,4,2,59,59],
+          '1925041902:00:00','1925041903:00:00','1925100401:59:59','1925100402:59:59' ],
+        [ [1925,10,4,2,0,0],[1925,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1926,4,18,1,59,59],[1926,4,18,1,59,59],
+          '1925100402:00:00','1925100402:00:00','1926041801:59:59','1926041801:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,18,2,0,0],[1926,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1926,10,3,1,59,59],[1926,10,3,2,59,59],
+          '1926041802:00:00','1926041803:00:00','1926100301:59:59','1926100302:59:59' ],
+        [ [1926,10,3,2,0,0],[1926,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1927,4,10,1,59,59],[1927,4,10,1,59,59],
+          '1926100302:00:00','1926100302:00:00','1927041001:59:59','1927041001:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,10,2,0,0],[1927,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1927,10,2,1,59,59],[1927,10,2,2,59,59],
+          '1927041002:00:00','1927041003:00:00','1927100201:59:59','1927100202:59:59' ],
+        [ [1927,10,2,2,0,0],[1927,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1928,4,22,1,59,59],[1928,4,22,1,59,59],
+          '1927100202:00:00','1927100202:00:00','1928042201:59:59','1928042201:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,22,2,0,0],[1928,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1928,10,7,1,59,59],[1928,10,7,2,59,59],
+          '1928042202:00:00','1928042203:00:00','1928100701:59:59','1928100702:59:59' ],
+        [ [1928,10,7,2,0,0],[1928,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1929,4,21,1,59,59],[1929,4,21,1,59,59],
+          '1928100702:00:00','1928100702:00:00','1929042101:59:59','1929042101:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,2,0,0],[1929,4,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1929,10,6,1,59,59],[1929,10,6,2,59,59],
+          '1929042102:00:00','1929042103:00:00','1929100601:59:59','1929100602:59:59' ],
+        [ [1929,10,6,2,0,0],[1929,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1930,4,13,1,59,59],[1930,4,13,1,59,59],
+          '1929100602:00:00','1929100602:00:00','1930041301:59:59','1930041301:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,13,2,0,0],[1930,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1930,10,5,1,59,59],[1930,10,5,2,59,59],
+          '1930041302:00:00','1930041303:00:00','1930100501:59:59','1930100502:59:59' ],
+        [ [1930,10,5,2,0,0],[1930,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1931,4,19,1,59,59],[1931,4,19,1,59,59],
+          '1930100502:00:00','1930100502:00:00','1931041901:59:59','1931041901:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,2,0,0],[1931,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1931,10,4,1,59,59],[1931,10,4,2,59,59],
+          '1931041902:00:00','1931041903:00:00','1931100401:59:59','1931100402:59:59' ],
+        [ [1931,10,4,2,0,0],[1931,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1932,4,17,1,59,59],[1932,4,17,1,59,59],
+          '1931100402:00:00','1931100402:00:00','1932041701:59:59','1932041701:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,17,2,0,0],[1932,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1932,10,2,1,59,59],[1932,10,2,2,59,59],
+          '1932041702:00:00','1932041703:00:00','1932100201:59:59','1932100202:59:59' ],
+        [ [1932,10,2,2,0,0],[1932,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1933,4,9,1,59,59],[1933,4,9,1,59,59],
+          '1932100202:00:00','1932100202:00:00','1933040901:59:59','1933040901:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,9,2,0,0],[1933,4,9,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1933,10,8,1,59,59],[1933,10,8,2,59,59],
+          '1933040902:00:00','1933040903:00:00','1933100801:59:59','1933100802:59:59' ],
+        [ [1933,10,8,2,0,0],[1933,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1934,4,22,1,59,59],[1934,4,22,1,59,59],
+          '1933100802:00:00','1933100802:00:00','1934042201:59:59','1934042201:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,22,2,0,0],[1934,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1934,10,7,1,59,59],[1934,10,7,2,59,59],
+          '1934042202:00:00','1934042203:00:00','1934100701:59:59','1934100702:59:59' ],
+        [ [1934,10,7,2,0,0],[1934,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1935,4,14,1,59,59],[1935,4,14,1,59,59],
+          '1934100702:00:00','1934100702:00:00','1935041401:59:59','1935041401:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,14,2,0,0],[1935,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1935,10,6,1,59,59],[1935,10,6,2,59,59],
+          '1935041402:00:00','1935041403:00:00','1935100601:59:59','1935100602:59:59' ],
+        [ [1935,10,6,2,0,0],[1935,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1936,4,19,1,59,59],[1936,4,19,1,59,59],
+          '1935100602:00:00','1935100602:00:00','1936041901:59:59','1936041901:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,2,0,0],[1936,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1936,10,4,1,59,59],[1936,10,4,2,59,59],
+          '1936041902:00:00','1936041903:00:00','1936100401:59:59','1936100402:59:59' ],
+        [ [1936,10,4,2,0,0],[1936,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1937,4,18,1,59,59],[1937,4,18,1,59,59],
+          '1936100402:00:00','1936100402:00:00','1937041801:59:59','1937041801:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,18,2,0,0],[1937,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1937,10,3,1,59,59],[1937,10,3,2,59,59],
+          '1937041802:00:00','1937041803:00:00','1937100301:59:59','1937100302:59:59' ],
+        [ [1937,10,3,2,0,0],[1937,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1938,4,10,1,59,59],[1938,4,10,1,59,59],
+          '1937100302:00:00','1937100302:00:00','1938041001:59:59','1938041001:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,10,2,0,0],[1938,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1938,10,2,1,59,59],[1938,10,2,2,59,59],
+          '1938041002:00:00','1938041003:00:00','1938100201:59:59','1938100202:59:59' ],
+        [ [1938,10,2,2,0,0],[1938,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1939,4,16,1,59,59],[1939,4,16,1,59,59],
+          '1938100202:00:00','1938100202:00:00','1939041601:59:59','1939041601:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,2,0,0],[1939,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1939,11,19,1,59,59],[1939,11,19,2,59,59],
+          '1939041602:00:00','1939041603:00:00','1939111901:59:59','1939111902:59:59' ],
+        [ [1939,11,19,2,0,0],[1939,11,19,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111902:00:00','1939111902:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1941,5,4,0,59,59],[1941,5,4,1,59,59],
+          '1940022502:00:00','1940022503:00:00','1941050400:59:59','1941050401:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,4,1,0,0],[1941,5,4,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1941,8,10,0,59,59],[1941,8,10,2,59,59],
+          '1941050401:00:00','1941050403:00:00','1941081000:59:59','1941081002:59:59' ],
+        [ [1941,8,10,1,0,0],[1941,8,10,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1942,4,5,0,59,59],[1942,4,5,1,59,59],
+          '1941081001:00:00','1941081002:00:00','1942040500:59:59','1942040501:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,5,1,0,0],[1942,4,5,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1942,8,9,0,59,59],[1942,8,9,2,59,59],
+          '1942040501:00:00','1942040503:00:00','1942080900:59:59','1942080902:59:59' ],
+        [ [1942,8,9,1,0,0],[1942,8,9,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1943,4,4,0,59,59],[1943,4,4,1,59,59],
+          '1942080901:00:00','1942080902:00:00','1943040400:59:59','1943040401:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,4,1,0,0],[1943,4,4,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1943,8,15,0,59,59],[1943,8,15,2,59,59],
+          '1943040401:00:00','1943040403:00:00','1943081500:59:59','1943081502:59:59' ],
+        [ [1943,8,15,1,0,0],[1943,8,15,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1944,4,2,0,59,59],[1944,4,2,1,59,59],
+          '1943081501:00:00','1943081502:00:00','1944040200:59:59','1944040201:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,2,1,0,0],[1944,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040201:00:00','1944040203:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1945,7,15,0,59,59],[1945,7,15,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945071500:59:59','1945071502:59:59' ],
+        [ [1945,7,15,1,0,0],[1945,7,15,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1945,10,7,1,59,59],[1945,10,7,2,59,59],
+          '1945071501:00:00','1945071502:00:00','1945100701:59:59','1945100702:59:59' ],
+        [ [1945,10,7,2,0,0],[1945,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1946,4,14,1,59,59],[1946,4,14,1,59,59],
+          '1945100702:00:00','1945100702:00:00','1946041401:59:59','1946041401:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,14,2,0,0],[1946,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1946,10,6,1,59,59],[1946,10,6,2,59,59],
+          '1946041402:00:00','1946041403:00:00','1946100601:59:59','1946100602:59:59' ],
+        [ [1946,10,6,2,0,0],[1946,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1947,3,16,1,59,59],[1947,3,16,1,59,59],
+          '1946100602:00:00','1946100602:00:00','1947031601:59:59','1947031601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,16,2,0,0],[1947,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1947,4,13,0,59,59],[1947,4,13,1,59,59],
+          '1947031602:00:00','1947031603:00:00','1947041300:59:59','1947041301:59:59' ],
+        [ [1947,4,13,1,0,0],[1947,4,13,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1947,8,10,0,59,59],[1947,8,10,2,59,59],
+          '1947041301:00:00','1947041303:00:00','1947081000:59:59','1947081002:59:59' ],
+        [ [1947,8,10,1,0,0],[1947,8,10,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1947,11,2,1,59,59],[1947,11,2,2,59,59],
+          '1947081001:00:00','1947081002:00:00','1947110201:59:59','1947110202:59:59' ],
+        [ [1947,11,2,2,0,0],[1947,11,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1948,3,14,1,59,59],[1948,3,14,1,59,59],
+          '1947110202:00:00','1947110202:00:00','1948031401:59:59','1948031401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,3,14,2,0,0],[1948,3,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1948,10,31,1,59,59],[1948,10,31,2,59,59],
+          '1948031402:00:00','1948031403:00:00','1948103101:59:59','1948103102:59:59' ],
+        [ [1948,10,31,2,0,0],[1948,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1949,4,3,1,59,59],[1949,4,3,1,59,59],
+          '1948103102:00:00','1948103102:00:00','1949040301:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,2,0,0],[1949,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1949,10,30,1,59,59],[1949,10,30,2,59,59],
+          '1949040302:00:00','1949040303:00:00','1949103001:59:59','1949103002:59:59' ],
+        [ [1949,10,30,2,0,0],[1949,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1950,4,16,1,59,59],[1950,4,16,1,59,59],
+          '1949103002:00:00','1949103002:00:00','1950041601:59:59','1950041601:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,2,0,0],[1950,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1950,10,22,1,59,59],[1950,10,22,2,59,59],
+          '1950041602:00:00','1950041603:00:00','1950102201:59:59','1950102202:59:59' ],
+        [ [1950,10,22,2,0,0],[1950,10,22,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1951,4,15,1,59,59],[1951,4,15,1,59,59],
+          '1950102202:00:00','1950102202:00:00','1951041501:59:59','1951041501:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,15,2,0,0],[1951,4,15,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1951,10,21,1,59,59],[1951,10,21,2,59,59],
+          '1951041502:00:00','1951041503:00:00','1951102101:59:59','1951102102:59:59' ],
+        [ [1951,10,21,2,0,0],[1951,10,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1952,4,20,1,59,59],[1952,4,20,1,59,59],
+          '1951102102:00:00','1951102102:00:00','1952042001:59:59','1952042001:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,20,2,0,0],[1952,4,20,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1952,10,26,1,59,59],[1952,10,26,2,59,59],
+          '1952042002:00:00','1952042003:00:00','1952102601:59:59','1952102602:59:59' ],
+        [ [1952,10,26,2,0,0],[1952,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1953,4,19,1,59,59],[1953,4,19,1,59,59],
+          '1952102602:00:00','1952102602:00:00','1953041901:59:59','1953041901:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,19,2,0,0],[1953,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1953,10,4,1,59,59],[1953,10,4,2,59,59],
+          '1953041902:00:00','1953041903:00:00','1953100401:59:59','1953100402:59:59' ],
+        [ [1953,10,4,2,0,0],[1953,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1954,4,11,1,59,59],[1954,4,11,1,59,59],
+          '1953100402:00:00','1953100402:00:00','1954041101:59:59','1954041101:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,11,2,0,0],[1954,4,11,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1954,10,3,1,59,59],[1954,10,3,2,59,59],
+          '1954041102:00:00','1954041103:00:00','1954100301:59:59','1954100302:59:59' ],
+        [ [1954,10,3,2,0,0],[1954,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1955,4,17,1,59,59],[1955,4,17,1,59,59],
+          '1954100302:00:00','1954100302:00:00','1955041701:59:59','1955041701:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,17,2,0,0],[1955,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1955,10,2,1,59,59],[1955,10,2,2,59,59],
+          '1955041702:00:00','1955041703:00:00','1955100201:59:59','1955100202:59:59' ],
+        [ [1955,10,2,2,0,0],[1955,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1956,4,22,1,59,59],[1956,4,22,1,59,59],
+          '1955100202:00:00','1955100202:00:00','1956042201:59:59','1956042201:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,22,2,0,0],[1956,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1956,10,7,1,59,59],[1956,10,7,2,59,59],
+          '1956042202:00:00','1956042203:00:00','1956100701:59:59','1956100702:59:59' ],
+        [ [1956,10,7,2,0,0],[1956,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1957,4,14,1,59,59],[1957,4,14,1,59,59],
+          '1956100702:00:00','1956100702:00:00','1957041401:59:59','1957041401:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,14,2,0,0],[1957,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1957041402:00:00','1957041403:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euhels00.pm b/lib/Date/Manip/TZ/euhels00.pm
new file mode 100644
index 0000000..f64fd70
--- /dev/null
+++ b/lib/Date/Manip/TZ/euhels00.pm
@@ -0,0 +1,871 @@
+package #
+Date::Manip::TZ::euhels00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,39,49],'+01:39:49',[1,39,49],
+          'LMT',0,[1878,5,30,22,20,10],[1878,5,30,23,59,59],
+          '0001010200:00:00','0001010201:39:49','1878053022:20:10','1878053023:59:59' ],
+     ],
+   1878 =>
+     [
+        [ [1878,5,30,22,20,11],[1878,5,31,0,0,0],'+01:39:49',[1,39,49],
+          'HMT',0,[1921,4,30,22,20,10],[1921,4,30,23,59,59],
+          '1878053022:20:11','1878053100:00:00','1921043022:20:10','1921043023:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,30,22,20,11],[1921,5,1,0,20,11],'+02:00:00',[2,0,0],
+          'EET',0,[1942,4,2,21,59,59],[1942,4,2,23,59,59],
+          '1921043022:20:11','1921050100:20:11','1942040221:59:59','1942040223:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,2,22,0,0],[1942,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1942,10,3,21,59,59],[1942,10,4,0,59,59],
+          '1942040222:00:00','1942040301:00:00','1942100321:59:59','1942100400:59:59' ],
+        [ [1942,10,3,22,0,0],[1942,10,4,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,3,28,23,59,59],[1981,3,29,1,59,59],
+          '1942100322:00:00','1942100400:00:00','1981032823:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,0,0,0],[1981,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,26,23,59,59],[1981,9,27,2,59,59],
+          '1981032900:00:00','1981032903:00:00','1981092623:59:59','1981092702:59:59' ],
+        [ [1981,9,27,0,0,0],[1981,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,3,27,23,59,59],[1982,3,28,1,59,59],
+          '1981092700:00:00','1981092702:00:00','1982032723:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,0,0,0],[1982,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,25,23,59,59],[1982,9,26,2,59,59],
+          '1982032800:00:00','1982032803:00:00','1982092523:59:59','1982092602:59:59' ],
+        [ [1982,9,26,0,0,0],[1982,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,27,0,59,59],[1983,3,27,2,59,59],
+          '1982092600:00:00','1982092602:00:00','1983032700:59:59','1983032702:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,25,0,59,59],[1983,9,25,3,59,59],
+          '1983032701:00:00','1983032704:00:00','1983092500:59:59','1983092503:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,25,0,59,59],[1984,3,25,2,59,59],
+          '1983092501:00:00','1983092503:00:00','1984032500:59:59','1984032502:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,30,0,59,59],[1984,9,30,3,59,59],
+          '1984032501:00:00','1984032504:00:00','1984093000:59:59','1984093003:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,31,0,59,59],[1985,3,31,2,59,59],
+          '1984093001:00:00','1984093003:00:00','1985033100:59:59','1985033102:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,29,0,59,59],[1985,9,29,3,59,59],
+          '1985033101:00:00','1985033104:00:00','1985092900:59:59','1985092903:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,30,0,59,59],[1986,3,30,2,59,59],
+          '1985092901:00:00','1985092903:00:00','1986033000:59:59','1986033002:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,28,0,59,59],[1986,9,28,3,59,59],
+          '1986033001:00:00','1986033004:00:00','1986092800:59:59','1986092803:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,29,0,59,59],[1987,3,29,2,59,59],
+          '1986092801:00:00','1986092803:00:00','1987032900:59:59','1987032902:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,27,0,59,59],[1987,9,27,3,59,59],
+          '1987032901:00:00','1987032904:00:00','1987092700:59:59','1987092703:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,27,0,59,59],[1988,3,27,2,59,59],
+          '1987092701:00:00','1987092703:00:00','1988032700:59:59','1988032702:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,25,0,59,59],[1988,9,25,3,59,59],
+          '1988032701:00:00','1988032704:00:00','1988092500:59:59','1988092503:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,26,0,59,59],[1989,3,26,2,59,59],
+          '1988092501:00:00','1988092503:00:00','1989032600:59:59','1989032602:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,24,0,59,59],[1989,9,24,3,59,59],
+          '1989032601:00:00','1989032604:00:00','1989092400:59:59','1989092403:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,25,0,59,59],[1990,3,25,2,59,59],
+          '1989092401:00:00','1989092403:00:00','1990032500:59:59','1990032502:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,30,0,59,59],[1990,9,30,3,59,59],
+          '1990032501:00:00','1990032504:00:00','1990093000:59:59','1990093003:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,31,0,59,59],[1991,3,31,2,59,59],
+          '1990093001:00:00','1990093003:00:00','1991033100:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,29,0,59,59],[1991,9,29,3,59,59],
+          '1991033101:00:00','1991033104:00:00','1991092900:59:59','1991092903:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,29,0,59,59],[1992,3,29,2,59,59],
+          '1991092901:00:00','1991092903:00:00','1992032900:59:59','1992032902:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,27,0,59,59],[1992,9,27,3,59,59],
+          '1992032901:00:00','1992032904:00:00','1992092700:59:59','1992092703:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,28,0,59,59],[1993,3,28,2,59,59],
+          '1992092701:00:00','1992092703:00:00','1993032800:59:59','1993032802:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,26,0,59,59],[1993,9,26,3,59,59],
+          '1993032801:00:00','1993032804:00:00','1993092600:59:59','1993092603:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,27,0,59,59],[1994,3,27,2,59,59],
+          '1993092601:00:00','1993092603:00:00','1994032700:59:59','1994032702:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,25,0,59,59],[1994,9,25,3,59,59],
+          '1994032701:00:00','1994032704:00:00','1994092500:59:59','1994092503:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092501:00:00','1994092503:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euista00.pm b/lib/Date/Manip/TZ/euista00.pm
new file mode 100644
index 0000000..356d5c8
--- /dev/null
+++ b/lib/Date/Manip/TZ/euista00.pm
@@ -0,0 +1,628 @@
+package #
+Date::Manip::TZ::euista00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,55,52],'+01:55:52',[1,55,52],
+          'LMT',0,[1879,12,31,22,4,7],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:55:52','1879123122:04:07','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,4,8],[1880,1,1,0,1,4],'+01:56:56',[1,56,56],
+          'IMT',0,[1910,9,30,22,3,3],[1910,9,30,23,59,59],
+          '1879123122:04:08','1880010100:01:04','1910093022:03:03','1910093023:59:59' ],
+     ],
+   1910 =>
+     [
+        [ [1910,9,30,22,3,4],[1910,10,1,0,3,4],'+02:00:00',[2,0,0],
+          'EET',0,[1916,4,30,21,59,59],[1916,4,30,23,59,59],
+          '1910093022:03:04','1910100100:03:04','1916043021:59:59','1916043023:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1916,9,30,20,59,59],[1916,9,30,23,59,59],
+          '1916043022:00:00','1916050101:00:00','1916093020:59:59','1916093023:59:59' ],
+        [ [1916,9,30,21,0,0],[1916,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1920,3,27,21,59,59],[1920,3,27,23,59,59],
+          '1916093021:00:00','1916093023:00:00','1920032721:59:59','1920032723:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,27,22,0,0],[1920,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1920,10,24,20,59,59],[1920,10,24,23,59,59],
+          '1920032722:00:00','1920032801:00:00','1920102420:59:59','1920102423:59:59' ],
+        [ [1920,10,24,21,0,0],[1920,10,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1921,4,2,21,59,59],[1921,4,2,23,59,59],
+          '1920102421:00:00','1920102423:00:00','1921040221:59:59','1921040223:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,2,22,0,0],[1921,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1921,10,2,20,59,59],[1921,10,2,23,59,59],
+          '1921040222:00:00','1921040301:00:00','1921100220:59:59','1921100223:59:59' ],
+        [ [1921,10,2,21,0,0],[1921,10,2,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1922,3,25,21,59,59],[1922,3,25,23,59,59],
+          '1921100221:00:00','1921100223:00:00','1922032521:59:59','1922032523:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,22,0,0],[1922,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1922,10,7,20,59,59],[1922,10,7,23,59,59],
+          '1922032522:00:00','1922032601:00:00','1922100720:59:59','1922100723:59:59' ],
+        [ [1922,10,7,21,0,0],[1922,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1924,5,12,21,59,59],[1924,5,12,23,59,59],
+          '1922100721:00:00','1922100723:00:00','1924051221:59:59','1924051223:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,12,22,0,0],[1924,5,13,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1924,9,30,20,59,59],[1924,9,30,23,59,59],
+          '1924051222:00:00','1924051301:00:00','1924093020:59:59','1924093023:59:59' ],
+        [ [1924,9,30,21,0,0],[1924,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1925,4,30,21,59,59],[1925,4,30,23,59,59],
+          '1924093021:00:00','1924093023:00:00','1925043021:59:59','1925043023:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,30,22,0,0],[1925,5,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1925,9,30,20,59,59],[1925,9,30,23,59,59],
+          '1925043022:00:00','1925050101:00:00','1925093020:59:59','1925093023:59:59' ],
+        [ [1925,9,30,21,0,0],[1925,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1940,6,29,21,59,59],[1940,6,29,23,59,59],
+          '1925093021:00:00','1925093023:00:00','1940062921:59:59','1940062923:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,29,22,0,0],[1940,6,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1940,10,4,20,59,59],[1940,10,4,23,59,59],
+          '1940062922:00:00','1940063001:00:00','1940100420:59:59','1940100423:59:59' ],
+        [ [1940,10,4,21,0,0],[1940,10,4,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1940,11,30,21,59,59],[1940,11,30,23,59,59],
+          '1940100421:00:00','1940100423:00:00','1940113021:59:59','1940113023:59:59' ],
+        [ [1940,11,30,22,0,0],[1940,12,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1941,9,20,20,59,59],[1941,9,20,23,59,59],
+          '1940113022:00:00','1940120101:00:00','1941092020:59:59','1941092023:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,20,21,0,0],[1941,9,20,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1942,3,31,21,59,59],[1942,3,31,23,59,59],
+          '1941092021:00:00','1941092023:00:00','1942033121:59:59','1942033123:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,31,22,0,0],[1942,4,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1942,10,31,20,59,59],[1942,10,31,23,59,59],
+          '1942033122:00:00','1942040101:00:00','1942103120:59:59','1942103123:59:59' ],
+        [ [1942,10,31,21,0,0],[1942,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1945,4,1,21,59,59],[1945,4,1,23,59,59],
+          '1942103121:00:00','1942103123:00:00','1945040121:59:59','1945040123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,1,22,0,0],[1945,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1945,10,7,20,59,59],[1945,10,7,23,59,59],
+          '1945040122:00:00','1945040201:00:00','1945100720:59:59','1945100723:59:59' ],
+        [ [1945,10,7,21,0,0],[1945,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1946,5,31,21,59,59],[1946,5,31,23,59,59],
+          '1945100721:00:00','1945100723:00:00','1946053121:59:59','1946053123:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,31,22,0,0],[1946,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1946,9,30,20,59,59],[1946,9,30,23,59,59],
+          '1946053122:00:00','1946060101:00:00','1946093020:59:59','1946093023:59:59' ],
+        [ [1946,9,30,21,0,0],[1946,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1947,4,19,21,59,59],[1947,4,19,23,59,59],
+          '1946093021:00:00','1946093023:00:00','1947041921:59:59','1947041923:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,19,22,0,0],[1947,4,20,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1947,10,4,20,59,59],[1947,10,4,23,59,59],
+          '1947041922:00:00','1947042001:00:00','1947100420:59:59','1947100423:59:59' ],
+        [ [1947,10,4,21,0,0],[1947,10,4,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1948,4,17,21,59,59],[1948,4,17,23,59,59],
+          '1947100421:00:00','1947100423:00:00','1948041721:59:59','1948041723:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,17,22,0,0],[1948,4,18,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1948,10,2,20,59,59],[1948,10,2,23,59,59],
+          '1948041722:00:00','1948041801:00:00','1948100220:59:59','1948100223:59:59' ],
+        [ [1948,10,2,21,0,0],[1948,10,2,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1949,4,9,21,59,59],[1949,4,9,23,59,59],
+          '1948100221:00:00','1948100223:00:00','1949040921:59:59','1949040923:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,9,22,0,0],[1949,4,10,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1949,10,1,20,59,59],[1949,10,1,23,59,59],
+          '1949040922:00:00','1949041001:00:00','1949100120:59:59','1949100123:59:59' ],
+        [ [1949,10,1,21,0,0],[1949,10,1,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1950,4,18,21,59,59],[1950,4,18,23,59,59],
+          '1949100121:00:00','1949100123:00:00','1950041821:59:59','1950041823:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,18,22,0,0],[1950,4,19,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1950,10,7,20,59,59],[1950,10,7,23,59,59],
+          '1950041822:00:00','1950041901:00:00','1950100720:59:59','1950100723:59:59' ],
+        [ [1950,10,7,21,0,0],[1950,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1951,4,21,21,59,59],[1951,4,21,23,59,59],
+          '1950100721:00:00','1950100723:00:00','1951042121:59:59','1951042123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,21,22,0,0],[1951,4,22,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1951,10,7,20,59,59],[1951,10,7,23,59,59],
+          '1951042122:00:00','1951042201:00:00','1951100720:59:59','1951100723:59:59' ],
+        [ [1951,10,7,21,0,0],[1951,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1962,7,14,21,59,59],[1962,7,14,23,59,59],
+          '1951100721:00:00','1951100723:00:00','1962071421:59:59','1962071423:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,7,14,22,0,0],[1962,7,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1962,10,7,20,59,59],[1962,10,7,23,59,59],
+          '1962071422:00:00','1962071501:00:00','1962100720:59:59','1962100723:59:59' ],
+        [ [1962,10,7,21,0,0],[1962,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1964,5,14,21,59,59],[1964,5,14,23,59,59],
+          '1962100721:00:00','1962100723:00:00','1964051421:59:59','1964051423:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,5,14,22,0,0],[1964,5,15,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1964,9,30,20,59,59],[1964,9,30,23,59,59],
+          '1964051422:00:00','1964051501:00:00','1964093020:59:59','1964093023:59:59' ],
+        [ [1964,9,30,21,0,0],[1964,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1970,5,2,21,59,59],[1970,5,2,23,59,59],
+          '1964093021:00:00','1964093023:00:00','1970050221:59:59','1970050223:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,5,2,22,0,0],[1970,5,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1970,10,3,20,59,59],[1970,10,3,23,59,59],
+          '1970050222:00:00','1970050301:00:00','1970100320:59:59','1970100323:59:59' ],
+        [ [1970,10,3,21,0,0],[1970,10,3,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1971,5,1,21,59,59],[1971,5,1,23,59,59],
+          '1970100321:00:00','1970100323:00:00','1971050121:59:59','1971050123:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,5,1,22,0,0],[1971,5,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1971,10,2,20,59,59],[1971,10,2,23,59,59],
+          '1971050122:00:00','1971050201:00:00','1971100220:59:59','1971100223:59:59' ],
+        [ [1971,10,2,21,0,0],[1971,10,2,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1972,5,6,21,59,59],[1972,5,6,23,59,59],
+          '1971100221:00:00','1971100223:00:00','1972050621:59:59','1972050623:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,5,6,22,0,0],[1972,5,7,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1972,10,7,20,59,59],[1972,10,7,23,59,59],
+          '1972050622:00:00','1972050701:00:00','1972100720:59:59','1972100723:59:59' ],
+        [ [1972,10,7,21,0,0],[1972,10,7,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1973,6,2,22,59,59],[1973,6,3,0,59,59],
+          '1972100721:00:00','1972100723:00:00','1973060222:59:59','1973060300:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,6,2,23,0,0],[1973,6,3,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1973,11,3,23,59,59],[1973,11,4,2,59,59],
+          '1973060223:00:00','1973060302:00:00','1973110323:59:59','1973110402:59:59' ],
+        [ [1973,11,4,0,0,0],[1973,11,4,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1974,3,30,23,59,59],[1974,3,31,1,59,59],
+          '1973110400:00:00','1973110402:00:00','1974033023:59:59','1974033101:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,31,0,0,0],[1974,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1974,11,3,1,59,59],[1974,11,3,4,59,59],
+          '1974033100:00:00','1974033103:00:00','1974110301:59:59','1974110304:59:59' ],
+        [ [1974,11,3,2,0,0],[1974,11,3,4,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1975,3,29,21,59,59],[1975,3,29,23,59,59],
+          '1974110302:00:00','1974110304:00:00','1975032921:59:59','1975032923:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,29,22,0,0],[1975,3,30,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1975,10,25,20,59,59],[1975,10,25,23,59,59],
+          '1975032922:00:00','1975033001:00:00','1975102520:59:59','1975102523:59:59' ],
+        [ [1975,10,25,21,0,0],[1975,10,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1976,5,31,21,59,59],[1976,5,31,23,59,59],
+          '1975102521:00:00','1975102523:00:00','1976053121:59:59','1976053123:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,31,22,0,0],[1976,6,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1976,10,30,20,59,59],[1976,10,30,23,59,59],
+          '1976053122:00:00','1976060101:00:00','1976103020:59:59','1976103023:59:59' ],
+        [ [1976,10,30,21,0,0],[1976,10,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1977,4,2,21,59,59],[1977,4,2,23,59,59],
+          '1976103021:00:00','1976103023:00:00','1977040221:59:59','1977040223:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,2,22,0,0],[1977,4,3,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1977,10,15,20,59,59],[1977,10,15,23,59,59],
+          '1977040222:00:00','1977040301:00:00','1977101520:59:59','1977101523:59:59' ],
+        [ [1977,10,15,21,0,0],[1977,10,15,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1978,4,1,21,59,59],[1978,4,1,23,59,59],
+          '1977101521:00:00','1977101523:00:00','1978040121:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,1,22,0,0],[1978,4,2,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1978,10,14,20,59,59],[1978,10,14,23,59,59],
+          '1978040122:00:00','1978040201:00:00','1978101420:59:59','1978101423:59:59' ],
+        [ [1978,10,14,21,0,0],[1978,10,15,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1979,10,14,19,59,59],[1979,10,14,23,59,59],
+          '1978101421:00:00','1978101501:00:00','1979101419:59:59','1979101423:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,14,20,0,0],[1979,10,14,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1980,4,5,23,59,59],[1980,4,6,2,59,59],
+          '1979101420:00:00','1979101423:00:00','1980040523:59:59','1980040602:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,0,0,0],[1980,4,6,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1980,10,12,19,59,59],[1980,10,12,23,59,59],
+          '1980040600:00:00','1980040604:00:00','1980101219:59:59','1980101223:59:59' ],
+        [ [1980,10,12,20,0,0],[1980,10,12,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1981,3,28,23,59,59],[1981,3,29,2,59,59],
+          '1980101220:00:00','1980101223:00:00','1981032823:59:59','1981032902:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,0,0,0],[1981,3,29,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1981,10,11,19,59,59],[1981,10,11,23,59,59],
+          '1981032900:00:00','1981032904:00:00','1981101119:59:59','1981101123:59:59' ],
+        [ [1981,10,11,20,0,0],[1981,10,11,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1982,3,27,23,59,59],[1982,3,28,2,59,59],
+          '1981101120:00:00','1981101123:00:00','1982032723:59:59','1982032802:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,0,0,0],[1982,3,28,4,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1982,10,10,19,59,59],[1982,10,10,23,59,59],
+          '1982032800:00:00','1982032804:00:00','1982101019:59:59','1982101023:59:59' ],
+        [ [1982,10,10,20,0,0],[1982,10,10,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1983,7,30,20,59,59],[1983,7,30,23,59,59],
+          '1982101020:00:00','1982101023:00:00','1983073020:59:59','1983073023:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,7,30,21,0,0],[1983,7,31,1,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1983,10,1,19,59,59],[1983,10,1,23,59,59],
+          '1983073021:00:00','1983073101:00:00','1983100119:59:59','1983100123:59:59' ],
+        [ [1983,10,1,20,0,0],[1983,10,1,23,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1985,4,19,20,59,59],[1985,4,19,23,59,59],
+          '1983100120:00:00','1983100123:00:00','1985041920:59:59','1985041923:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,4,19,21,0,0],[1985,4,20,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,27,20,59,59],[1985,9,27,23,59,59],
+          '1985041921:00:00','1985042000:00:00','1985092720:59:59','1985092723:59:59' ],
+        [ [1985,9,27,21,0,0],[1985,9,27,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,29,22,59,59],[1986,3,30,0,59,59],
+          '1985092721:00:00','1985092723:00:00','1986032922:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,27,22,59,59],[1986,9,28,1,59,59],
+          '1986032923:00:00','1986033002:00:00','1986092722:59:59','1986092801:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,28,22,59,59],[1987,3,29,0,59,59],
+          '1986092723:00:00','1986092801:00:00','1987032822:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,26,22,59,59],[1987,9,27,1,59,59],
+          '1987032823:00:00','1987032902:00:00','1987092622:59:59','1987092701:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,26,22,59,59],[1988,3,27,0,59,59],
+          '1987092623:00:00','1987092701:00:00','1988032622:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,24,22,59,59],[1988,9,25,1,59,59],
+          '1988032623:00:00','1988032702:00:00','1988092422:59:59','1988092501:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,25,22,59,59],[1989,3,26,0,59,59],
+          '1988092423:00:00','1988092501:00:00','1989032522:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,22,59,59],[1989,9,24,1,59,59],
+          '1989032523:00:00','1989032602:00:00','1989092322:59:59','1989092401:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,22,59,59],[1990,3,25,0,59,59],
+          '1989092323:00:00','1989092401:00:00','1990032422:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,22,59,59],[1990,9,30,1,59,59],
+          '1990032423:00:00','1990032502:00:00','1990092922:59:59','1990093001:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,22,59,59],[1991,3,31,0,59,59],
+          '1990092923:00:00','1990093001:00:00','1991033022:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,22,59,59],[1991,9,29,1,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092822:59:59','1991092901:59:59' ],
+        [ [1991,9,28,23,0,0],[1991,9,29,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,22,59,59],[1992,3,29,0,59,59],
+          '1991092823:00:00','1991092901:00:00','1992032822:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,23,0,0],[1992,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,22,59,59],[1992,9,27,1,59,59],
+          '1992032823:00:00','1992032902:00:00','1992092622:59:59','1992092701:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,22,59,59],[1993,3,28,0,59,59],
+          '1992092623:00:00','1992092701:00:00','1993032722:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,22,59,59],[1993,9,26,1,59,59],
+          '1993032723:00:00','1993032802:00:00','1993092522:59:59','1993092601:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,19,22,59,59],[1994,3,20,0,59,59],
+          '1993092523:00:00','1993092601:00:00','1994031922:59:59','1994032000:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,19,23,0,0],[1994,3,20,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,22,59,59],[1994,9,25,1,59,59],
+          '1994031923:00:00','1994032002:00:00','1994092422:59:59','1994092501:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,22,59,59],[1995,3,26,0,59,59],
+          '1994092423:00:00','1994092501:00:00','1995032522:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,22,59,59],[1995,9,24,1,59,59],
+          '1995032523:00:00','1995032602:00:00','1995092322:59:59','1995092401:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,22,59,59],[1996,3,31,0,59,59],
+          '1995092323:00:00','1995092401:00:00','1996033022:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,22,59,59],[1996,10,27,1,59,59],
+          '1996033023:00:00','1996033102:00:00','1996102622:59:59','1996102701:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,22,59,59],[1997,3,30,0,59,59],
+          '1996102623:00:00','1996102701:00:00','1997032922:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,22,59,59],[1997,10,26,1,59,59],
+          '1997032923:00:00','1997033002:00:00','1997102522:59:59','1997102601:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,22,59,59],[1998,3,29,0,59,59],
+          '1997102523:00:00','1997102601:00:00','1998032822:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,24,22,59,59],[1998,10,25,1,59,59],
+          '1998032823:00:00','1998032902:00:00','1998102422:59:59','1998102501:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,27,22,59,59],[1999,3,28,0,59,59],
+          '1998102423:00:00','1998102501:00:00','1999032722:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,30,22,59,59],[1999,10,31,1,59,59],
+          '1999032723:00:00','1999032802:00:00','1999103022:59:59','1999103101:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,25,22,59,59],[2000,3,26,0,59,59],
+          '1999103023:00:00','1999103101:00:00','2000032522:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,28,22,59,59],[2000,10,29,1,59,59],
+          '2000032523:00:00','2000032602:00:00','2000102822:59:59','2000102901:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,24,22,59,59],[2001,3,25,0,59,59],
+          '2000102823:00:00','2000102901:00:00','2001032422:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,27,22,59,59],[2001,10,28,1,59,59],
+          '2001032423:00:00','2001032502:00:00','2001102722:59:59','2001102801:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,30,22,59,59],[2002,3,31,0,59,59],
+          '2001102723:00:00','2001102801:00:00','2002033022:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,26,22,59,59],[2002,10,27,1,59,59],
+          '2002033023:00:00','2002033102:00:00','2002102622:59:59','2002102701:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,29,22,59,59],[2003,3,30,0,59,59],
+          '2002102623:00:00','2002102701:00:00','2003032922:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,25,22,59,59],[2003,10,26,1,59,59],
+          '2003032923:00:00','2003033002:00:00','2003102522:59:59','2003102601:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,27,22,59,59],[2004,3,28,0,59,59],
+          '2003102523:00:00','2003102601:00:00','2004032722:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,30,22,59,59],[2004,10,31,1,59,59],
+          '2004032723:00:00','2004032802:00:00','2004103022:59:59','2004103101:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,26,22,59,59],[2005,3,27,0,59,59],
+          '2004103023:00:00','2004103101:00:00','2005032622:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,29,22,59,59],[2005,10,30,1,59,59],
+          '2005032623:00:00','2005032702:00:00','2005102922:59:59','2005103001:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,25,22,59,59],[2006,3,26,0,59,59],
+          '2005102923:00:00','2005103001:00:00','2006032522:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,28,22,59,59],[2006,10,29,1,59,59],
+          '2006032523:00:00','2006032602:00:00','2006102822:59:59','2006102901:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102823:00:00','2006102901:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,28,0,59,59],[2011,3,28,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032800:59:59','2011032802:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,28,1,0,0],[2011,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032801:00:00','2011032804:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,31,0,59,59],[2014,3,31,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033100:59:59','2014033102:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,31,1,0,0],[2014,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033101:00:00','2014033104:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,11,8,0,59,59],[2015,11,8,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015110800:59:59','2015110803:59:59' ],
+        [ [2015,11,8,1,0,0],[2015,11,8,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015110801:00:00','2015110803:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,9,6,20,59,59],[2016,9,6,23,59,59],
+          '2016032701:00:00','2016032704:00:00','2016090620:59:59','2016090623:59:59' ],
+        [ [2016,9,6,21,0,0],[2016,9,7,0,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2016090621:00:00','2016090700:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eukali00.pm b/lib/Date/Manip/TZ/eukali00.pm
new file mode 100644
index 0000000..696ac78
--- /dev/null
+++ b/lib/Date/Manip/TZ/eukali00.pm
@@ -0,0 +1,403 @@
+package #
+Date::Manip::TZ::eukali00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,22,0],'+01:22:00',[1,22,0],
+          'LMT',0,[1893,3,31,22,37,59],[1893,3,31,23,59,59],
+          '0001010200:00:00','0001010201:22:00','1893033122:37:59','1893033123:59:59' ],
+     ],
+   1893 =>
+     [
+        [ [1893,3,31,22,38,0],[1893,3,31,23,38,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1893033122:38:00','1893033123:38:00','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,12,31,22,59,59],[1944,12,31,23,59,59],
+          '1944100201:00:00','1944100202:00:00','1944123122:59:59','1944123123:59:59' ],
+        [ [1944,12,31,23,0,0],[1945,1,1,1,0,0],'+02:00:00',[2,0,0],
+          'CET',0,[1945,4,28,21,59,59],[1945,4,28,23,59,59],
+          '1944123123:00:00','1945010101:00:00','1945042821:59:59','1945042823:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,28,22,0,0],[1945,4,29,1,0,0],'+03:00:00',[3,0,0],
+          'CEST',1,[1945,10,31,20,59,59],[1945,10,31,23,59,59],
+          '1945042822:00:00','1945042901:00:00','1945103120:59:59','1945103123:59:59' ],
+        [ [1945,10,31,21,0,0],[1945,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'CET',0,[1945,12,31,21,59,59],[1945,12,31,23,59,59],
+          '1945103121:00:00','1945103123:00:00','1945123121:59:59','1945123123:59:59' ],
+        [ [1945,12,31,22,0,0],[1946,1,1,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1945123122:00:00','1946010101:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032602:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,23,59,59],[1991,3,31,1,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033023:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,0,0,0],[1991,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033100:00:00','1991033103:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,23,59,59],[1992,3,29,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032823:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,0,0,0],[1992,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,23,59,59],[1992,9,27,2,59,59],
+          '1992032900:00:00','1992032903:00:00','1992092623:59:59','1992092702:59:59' ],
+        [ [1992,9,27,0,0,0],[1992,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,23,59,59],[1993,3,28,1,59,59],
+          '1992092700:00:00','1992092702:00:00','1993032723:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,0,0,0],[1993,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,23,59,59],[1993,9,26,2,59,59],
+          '1993032800:00:00','1993032803:00:00','1993092523:59:59','1993092602:59:59' ],
+        [ [1993,9,26,0,0,0],[1993,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,23,59,59],[1994,3,27,1,59,59],
+          '1993092600:00:00','1993092602:00:00','1994032623:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,0,0,0],[1994,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,23,59,59],[1994,9,25,2,59,59],
+          '1994032700:00:00','1994032703:00:00','1994092423:59:59','1994092502:59:59' ],
+        [ [1994,9,25,0,0,0],[1994,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,23,59,59],[1995,3,26,1,59,59],
+          '1994092500:00:00','1994092502:00:00','1995032523:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,0,0,0],[1995,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,23,59,59],[1995,9,24,2,59,59],
+          '1995032600:00:00','1995032603:00:00','1995092323:59:59','1995092402:59:59' ],
+        [ [1995,9,24,0,0,0],[1995,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,23,59,59],[1996,3,31,1,59,59],
+          '1995092400:00:00','1995092402:00:00','1996033023:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,0,0,0],[1996,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,23,59,59],[1996,10,27,2,59,59],
+          '1996033100:00:00','1996033103:00:00','1996102623:59:59','1996102702:59:59' ],
+        [ [1996,10,27,0,0,0],[1996,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,23,59,59],[1997,3,30,1,59,59],
+          '1996102700:00:00','1996102702:00:00','1997032923:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,23,59,59],[1997,10,26,2,59,59],
+          '1997033000:00:00','1997033003:00:00','1997102523:59:59','1997102602:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,23,59,59],[1998,3,29,1,59,59],
+          '1997102600:00:00','1997102602:00:00','1998032823:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,0,0,0],[1998,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,24,23,59,59],[1998,10,25,2,59,59],
+          '1998032900:00:00','1998032903:00:00','1998102423:59:59','1998102502:59:59' ],
+        [ [1998,10,25,0,0,0],[1998,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,27,23,59,59],[1999,3,28,1,59,59],
+          '1998102500:00:00','1998102502:00:00','1999032723:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,0,0,0],[1999,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,30,23,59,59],[1999,10,31,2,59,59],
+          '1999032800:00:00','1999032803:00:00','1999103023:59:59','1999103102:59:59' ],
+        [ [1999,10,31,0,0,0],[1999,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,25,23,59,59],[2000,3,26,1,59,59],
+          '1999103100:00:00','1999103102:00:00','2000032523:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,0,0,0],[2000,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,28,23,59,59],[2000,10,29,2,59,59],
+          '2000032600:00:00','2000032603:00:00','2000102823:59:59','2000102902:59:59' ],
+        [ [2000,10,29,0,0,0],[2000,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,24,23,59,59],[2001,3,25,1,59,59],
+          '2000102900:00:00','2000102902:00:00','2001032423:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,0,0,0],[2001,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,27,23,59,59],[2001,10,28,2,59,59],
+          '2001032500:00:00','2001032503:00:00','2001102723:59:59','2001102802:59:59' ],
+        [ [2001,10,28,0,0,0],[2001,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,30,23,59,59],[2002,3,31,1,59,59],
+          '2001102800:00:00','2001102802:00:00','2002033023:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,0,0,0],[2002,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,26,23,59,59],[2002,10,27,2,59,59],
+          '2002033100:00:00','2002033103:00:00','2002102623:59:59','2002102702:59:59' ],
+        [ [2002,10,27,0,0,0],[2002,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,29,23,59,59],[2003,3,30,1,59,59],
+          '2002102700:00:00','2002102702:00:00','2003032923:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,0,0,0],[2003,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,25,23,59,59],[2003,10,26,2,59,59],
+          '2003033000:00:00','2003033003:00:00','2003102523:59:59','2003102602:59:59' ],
+        [ [2003,10,26,0,0,0],[2003,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,27,23,59,59],[2004,3,28,1,59,59],
+          '2003102600:00:00','2003102602:00:00','2004032723:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,0,0,0],[2004,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,30,23,59,59],[2004,10,31,2,59,59],
+          '2004032800:00:00','2004032803:00:00','2004103023:59:59','2004103102:59:59' ],
+        [ [2004,10,31,0,0,0],[2004,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,26,23,59,59],[2005,3,27,1,59,59],
+          '2004103100:00:00','2004103102:00:00','2005032623:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,0,0,0],[2005,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,29,23,59,59],[2005,10,30,2,59,59],
+          '2005032700:00:00','2005032703:00:00','2005102923:59:59','2005103002:59:59' ],
+        [ [2005,10,30,0,0,0],[2005,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,25,23,59,59],[2006,3,26,1,59,59],
+          '2005103000:00:00','2005103002:00:00','2006032523:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,0,0,0],[2006,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,28,23,59,59],[2006,10,29,2,59,59],
+          '2006032600:00:00','2006032603:00:00','2006102823:59:59','2006102902:59:59' ],
+        [ [2006,10,29,0,0,0],[2006,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,24,23,59,59],[2007,3,25,1,59,59],
+          '2006102900:00:00','2006102902:00:00','2007032423:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,0,0,0],[2007,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,27,23,59,59],[2007,10,28,2,59,59],
+          '2007032500:00:00','2007032503:00:00','2007102723:59:59','2007102802:59:59' ],
+        [ [2007,10,28,0,0,0],[2007,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,29,23,59,59],[2008,3,30,1,59,59],
+          '2007102800:00:00','2007102802:00:00','2008032923:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,0,0,0],[2008,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,25,23,59,59],[2008,10,26,2,59,59],
+          '2008033000:00:00','2008033003:00:00','2008102523:59:59','2008102602:59:59' ],
+        [ [2008,10,26,0,0,0],[2008,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,28,23,59,59],[2009,3,29,1,59,59],
+          '2008102600:00:00','2008102602:00:00','2009032823:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,0,0,0],[2009,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,24,23,59,59],[2009,10,25,2,59,59],
+          '2009032900:00:00','2009032903:00:00','2009102423:59:59','2009102502:59:59' ],
+        [ [2009,10,25,0,0,0],[2009,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,27,23,59,59],[2010,3,28,1,59,59],
+          '2009102500:00:00','2009102502:00:00','2010032723:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,0,0,0],[2010,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,30,23,59,59],[2010,10,31,2,59,59],
+          '2010032800:00:00','2010032803:00:00','2010103023:59:59','2010103102:59:59' ],
+        [ [2010,10,31,0,0,0],[2010,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,26,23,59,59],[2011,3,27,1,59,59],
+          '2010103100:00:00','2010103102:00:00','2011032623:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,0,0,0],[2011,3,27,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2014,10,25,22,59,59],[2014,10,26,1,59,59],
+          '2011032700:00:00','2011032703:00:00','2014102522:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,23,0,0],[2014,10,26,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '2014102523:00:00','2014102601:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eukiev00.pm b/lib/Date/Manip/TZ/eukiev00.pm
new file mode 100644
index 0000000..13323b4
--- /dev/null
+++ b/lib/Date/Manip/TZ/eukiev00.pm
@@ -0,0 +1,889 @@
+package #
+Date::Manip::TZ::eukiev00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,2,4],'+02:02:04',[2,2,4],
+          'LMT',0,[1879,12,31,21,57,55],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:02:04','1879123121:57:55','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,57,56],[1880,1,1,0,0,0],'+02:02:04',[2,2,4],
+          'KMT',0,[1924,5,1,21,57,55],[1924,5,1,23,59,59],
+          '1879123121:57:56','1880010100:00:00','1924050121:57:55','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,21,57,56],[1924,5,1,23,57,56],'+02:00:00',[2,0,0],
+          'EET',0,[1930,6,20,21,59,59],[1930,6,20,23,59,59],
+          '1924050121:57:56','1924050123:57:56','1930062021:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,22,0,0],[1930,6,21,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,9,19,20,59,59],[1941,9,19,23,59,59],
+          '1930062022:00:00','1930062101:00:00','1941091920:59:59','1941091923:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,19,21,0,0],[1941,9,19,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941091921:00:00','1941091923:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,11,5,22,59,59],[1943,11,5,23,59,59],
+          '1943100401:00:00','1943100402:00:00','1943110522:59:59','1943110523:59:59' ],
+        [ [1943,11,5,23,0,0],[1943,11,6,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1943110523:00:00','1943110602:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1990,6,30,21,59,59],[1990,7,1,1,59,59],
+          '1990032423:00:00','1990032503:00:00','1990063021:59:59','1990070101:59:59' ],
+        [ [1990,6,30,22,0,0],[1990,7,1,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1990063022:00:00','1990070101:00:00','1991092823:59:59','1991092902:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eukiro00.pm b/lib/Date/Manip/TZ/eukiro00.pm
new file mode 100644
index 0000000..790c011
--- /dev/null
+++ b/lib/Date/Manip/TZ/eukiro00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::eukiro00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,18,48],'+03:18:48',[3,18,48],
+          'LMT',0,[1919,6,30,23,59,59],[1919,7,1,3,18,47],
+          '0001010200:00:00','0001010203:18:48','1919063023:59:59','1919070103:18:47' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,0,0,0],[1919,7,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1919070100:00:00','1919070103:00:00','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032602:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,3,28,21,59,59],[1992,3,29,1,59,59],
+          '1991033023:00:00','1991033103:00:00','1992032821:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032822:00:00','1992032902:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2014102522:00:00','2014102601:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eulisb00.pm b/lib/Date/Manip/TZ/eulisb00.pm
new file mode 100644
index 0000000..01acf1d
--- /dev/null
+++ b/lib/Date/Manip/TZ/eulisb00.pm
@@ -0,0 +1,1324 @@
+package #
+Date::Manip::TZ::eulisb00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,23,15],'-00:36:45',[0,-36,-45],
+          'LMT',0,[1912,1,1,0,36,44],[1911,12,31,23,59,59],
+          '0001010200:00:00','0001010123:23:15','1912010100:36:44','1911123123:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,1,0,36,45],[1912,1,1,0,36,45],'+00:00:00',[0,0,0],
+          'WET',0,[1916,6,17,22,59,59],[1916,6,17,22,59,59],
+          '1912010100:36:45','1912010100:36:45','1916061722:59:59','1916061722:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,17,23,0,0],[1916,6,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1916,10,31,23,59,59],[1916,11,1,0,59,59],
+          '1916061723:00:00','1916061800:00:00','1916103123:59:59','1916110100:59:59' ],
+        [ [1916,11,1,0,0,0],[1916,11,1,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1917,2,28,22,59,59],[1917,2,28,22,59,59],
+          '1916110100:00:00','1916110100:00:00','1917022822:59:59','1917022822:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,2,28,23,0,0],[1917,3,1,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1917,10,14,22,59,59],[1917,10,14,23,59,59],
+          '1917022823:00:00','1917030100:00:00','1917101422:59:59','1917101423:59:59' ],
+        [ [1917,10,14,23,0,0],[1917,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,3,1,22,59,59],[1918,3,1,22,59,59],
+          '1917101423:00:00','1917101423:00:00','1918030122:59:59','1918030122:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,1,23,0,0],[1918,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,14,22,59,59],[1918,10,14,23,59,59],
+          '1918030123:00:00','1918030200:00:00','1918101422:59:59','1918101423:59:59' ],
+        [ [1918,10,14,23,0,0],[1918,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,2,28,22,59,59],[1919,2,28,22,59,59],
+          '1918101423:00:00','1918101423:00:00','1919022822:59:59','1919022822:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,2,28,23,0,0],[1919,3,1,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,14,22,59,59],[1919,10,14,23,59,59],
+          '1919022823:00:00','1919030100:00:00','1919101422:59:59','1919101423:59:59' ],
+        [ [1919,10,14,23,0,0],[1919,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,29,22,59,59],[1920,2,29,22,59,59],
+          '1919101423:00:00','1919101423:00:00','1920022922:59:59','1920022922:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,29,23,0,0],[1920,3,1,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,14,22,59,59],[1920,10,14,23,59,59],
+          '1920022923:00:00','1920030100:00:00','1920101422:59:59','1920101423:59:59' ],
+        [ [1920,10,14,23,0,0],[1920,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,2,28,22,59,59],[1921,2,28,22,59,59],
+          '1920101423:00:00','1920101423:00:00','1921022822:59:59','1921022822:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,2,28,23,0,0],[1921,3,1,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,10,14,22,59,59],[1921,10,14,23,59,59],
+          '1921022823:00:00','1921030100:00:00','1921101422:59:59','1921101423:59:59' ],
+        [ [1921,10,14,23,0,0],[1921,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,4,16,22,59,59],[1924,4,16,22,59,59],
+          '1921101423:00:00','1921101423:00:00','1924041622:59:59','1924041622:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,16,23,0,0],[1924,4,17,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,14,22,59,59],[1924,10,14,23,59,59],
+          '1924041623:00:00','1924041700:00:00','1924101422:59:59','1924101423:59:59' ],
+        [ [1924,10,14,23,0,0],[1924,10,14,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1924101423:00:00','1924101423:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,22,59,59],[1926,10,2,23,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100222:59:59','1926100223:59:59' ],
+        [ [1926,10,2,23,0,0],[1926,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100223:00:00','1926100223:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,22,59,59],[1927,10,1,23,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100122:59:59','1927100123:59:59' ],
+        [ [1927,10,1,23,0,0],[1927,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,22,59,59],[1928,4,14,22,59,59],
+          '1927100123:00:00','1927100123:00:00','1928041422:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,14,23,0,0],[1928,4,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,22,59,59],[1928,10,6,23,59,59],
+          '1928041423:00:00','1928041500:00:00','1928100622:59:59','1928100623:59:59' ],
+        [ [1928,10,6,23,0,0],[1928,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,20,22,59,59],[1929,4,20,22,59,59],
+          '1928100623:00:00','1928100623:00:00','1929042022:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,20,23,0,0],[1929,4,21,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,5,22,59,59],[1929,10,5,23,59,59],
+          '1929042023:00:00','1929042100:00:00','1929100522:59:59','1929100523:59:59' ],
+        [ [1929,10,5,23,0,0],[1929,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1931,4,18,22,59,59],[1931,4,18,22,59,59],
+          '1929100523:00:00','1929100523:00:00','1931041822:59:59','1931041822:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,18,23,0,0],[1931,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1931,10,3,22,59,59],[1931,10,3,23,59,59],
+          '1931041823:00:00','1931041900:00:00','1931100322:59:59','1931100323:59:59' ],
+        [ [1931,10,3,23,0,0],[1931,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1932,4,2,22,59,59],[1932,4,2,22,59,59],
+          '1931100323:00:00','1931100323:00:00','1932040222:59:59','1932040222:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,2,23,0,0],[1932,4,3,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1932,10,1,22,59,59],[1932,10,1,23,59,59],
+          '1932040223:00:00','1932040300:00:00','1932100122:59:59','1932100123:59:59' ],
+        [ [1932,10,1,23,0,0],[1932,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1934,4,7,22,59,59],[1934,4,7,22,59,59],
+          '1932100123:00:00','1932100123:00:00','1934040722:59:59','1934040722:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,7,23,0,0],[1934,4,8,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1934,10,6,22,59,59],[1934,10,6,23,59,59],
+          '1934040723:00:00','1934040800:00:00','1934100622:59:59','1934100623:59:59' ],
+        [ [1934,10,6,23,0,0],[1934,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1935,3,30,22,59,59],[1935,3,30,22,59,59],
+          '1934100623:00:00','1934100623:00:00','1935033022:59:59','1935033022:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,30,23,0,0],[1935,3,31,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1935,10,5,22,59,59],[1935,10,5,23,59,59],
+          '1935033023:00:00','1935033100:00:00','1935100522:59:59','1935100523:59:59' ],
+        [ [1935,10,5,23,0,0],[1935,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1936,4,18,22,59,59],[1936,4,18,22,59,59],
+          '1935100523:00:00','1935100523:00:00','1936041822:59:59','1936041822:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,18,23,0,0],[1936,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1936,10,3,22,59,59],[1936,10,3,23,59,59],
+          '1936041823:00:00','1936041900:00:00','1936100322:59:59','1936100323:59:59' ],
+        [ [1936,10,3,23,0,0],[1936,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,4,3,22,59,59],[1937,4,3,22,59,59],
+          '1936100323:00:00','1936100323:00:00','1937040322:59:59','1937040322:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,3,23,0,0],[1937,4,4,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,2,22,59,59],[1937,10,2,23,59,59],
+          '1937040323:00:00','1937040400:00:00','1937100222:59:59','1937100223:59:59' ],
+        [ [1937,10,2,23,0,0],[1937,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,3,26,22,59,59],[1938,3,26,22,59,59],
+          '1937100223:00:00','1937100223:00:00','1938032622:59:59','1938032622:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,26,23,0,0],[1938,3,27,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,10,1,22,59,59],[1938,10,1,23,59,59],
+          '1938032623:00:00','1938032700:00:00','1938100122:59:59','1938100123:59:59' ],
+        [ [1938,10,1,23,0,0],[1938,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,4,15,22,59,59],[1939,4,15,22,59,59],
+          '1938100123:00:00','1938100123:00:00','1939041522:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,15,23,0,0],[1939,4,16,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,18,22,59,59],[1939,11,18,23,59,59],
+          '1939041523:00:00','1939041600:00:00','1939111822:59:59','1939111823:59:59' ],
+        [ [1939,11,18,23,0,0],[1939,11,18,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,24,22,59,59],[1940,2,24,22,59,59],
+          '1939111823:00:00','1939111823:00:00','1940022422:59:59','1940022422:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,24,23,0,0],[1940,2,25,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1940,10,5,22,59,59],[1940,10,5,23,59,59],
+          '1940022423:00:00','1940022500:00:00','1940100522:59:59','1940100523:59:59' ],
+        [ [1940,10,5,23,0,0],[1940,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1941,4,5,22,59,59],[1941,4,5,22,59,59],
+          '1940100523:00:00','1940100523:00:00','1941040522:59:59','1941040522:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,4,5,23,0,0],[1941,4,6,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1941,10,5,22,59,59],[1941,10,5,23,59,59],
+          '1941040523:00:00','1941040600:00:00','1941100522:59:59','1941100523:59:59' ],
+        [ [1941,10,5,23,0,0],[1941,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1942,3,14,22,59,59],[1942,3,14,22,59,59],
+          '1941100523:00:00','1941100523:00:00','1942031422:59:59','1942031422:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,14,23,0,0],[1942,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1942,4,25,21,59,59],[1942,4,25,22,59,59],
+          '1942031423:00:00','1942031500:00:00','1942042521:59:59','1942042522:59:59' ],
+        [ [1942,4,25,22,0,0],[1942,4,26,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1942,8,15,21,59,59],[1942,8,15,23,59,59],
+          '1942042522:00:00','1942042600:00:00','1942081521:59:59','1942081523:59:59' ],
+        [ [1942,8,15,22,0,0],[1942,8,15,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1942,10,24,22,59,59],[1942,10,24,23,59,59],
+          '1942081522:00:00','1942081523:00:00','1942102422:59:59','1942102423:59:59' ],
+        [ [1942,10,24,23,0,0],[1942,10,24,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1943,3,13,22,59,59],[1943,3,13,22,59,59],
+          '1942102423:00:00','1942102423:00:00','1943031322:59:59','1943031322:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,13,23,0,0],[1943,3,14,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1943,4,17,21,59,59],[1943,4,17,22,59,59],
+          '1943031323:00:00','1943031400:00:00','1943041721:59:59','1943041722:59:59' ],
+        [ [1943,4,17,22,0,0],[1943,4,18,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1943,8,28,21,59,59],[1943,8,28,23,59,59],
+          '1943041722:00:00','1943041800:00:00','1943082821:59:59','1943082823:59:59' ],
+        [ [1943,8,28,22,0,0],[1943,8,28,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1943,10,30,22,59,59],[1943,10,30,23,59,59],
+          '1943082822:00:00','1943082823:00:00','1943103022:59:59','1943103023:59:59' ],
+        [ [1943,10,30,23,0,0],[1943,10,30,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1944,3,11,22,59,59],[1944,3,11,22,59,59],
+          '1943103023:00:00','1943103023:00:00','1944031122:59:59','1944031122:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,3,11,23,0,0],[1944,3,12,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1944,4,22,21,59,59],[1944,4,22,22,59,59],
+          '1944031123:00:00','1944031200:00:00','1944042221:59:59','1944042222:59:59' ],
+        [ [1944,4,22,22,0,0],[1944,4,23,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1944,8,26,21,59,59],[1944,8,26,23,59,59],
+          '1944042222:00:00','1944042300:00:00','1944082621:59:59','1944082623:59:59' ],
+        [ [1944,8,26,22,0,0],[1944,8,26,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1944,10,28,22,59,59],[1944,10,28,23,59,59],
+          '1944082622:00:00','1944082623:00:00','1944102822:59:59','1944102823:59:59' ],
+        [ [1944,10,28,23,0,0],[1944,10,28,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1945,3,10,22,59,59],[1945,3,10,22,59,59],
+          '1944102823:00:00','1944102823:00:00','1945031022:59:59','1945031022:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,3,10,23,0,0],[1945,3,11,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1945,4,21,21,59,59],[1945,4,21,22,59,59],
+          '1945031023:00:00','1945031100:00:00','1945042121:59:59','1945042122:59:59' ],
+        [ [1945,4,21,22,0,0],[1945,4,22,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1945,8,25,21,59,59],[1945,8,25,23,59,59],
+          '1945042122:00:00','1945042200:00:00','1945082521:59:59','1945082523:59:59' ],
+        [ [1945,8,25,22,0,0],[1945,8,25,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1945,10,27,22,59,59],[1945,10,27,23,59,59],
+          '1945082522:00:00','1945082523:00:00','1945102722:59:59','1945102723:59:59' ],
+        [ [1945,10,27,23,0,0],[1945,10,27,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1946,4,6,22,59,59],[1946,4,6,22,59,59],
+          '1945102723:00:00','1945102723:00:00','1946040622:59:59','1946040622:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,6,23,0,0],[1946,4,7,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1946,10,5,22,59,59],[1946,10,5,23,59,59],
+          '1946040623:00:00','1946040700:00:00','1946100522:59:59','1946100523:59:59' ],
+        [ [1946,10,5,23,0,0],[1946,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1947,4,6,1,59,59],[1947,4,6,1,59,59],
+          '1946100523:00:00','1946100523:00:00','1947040601:59:59','1947040601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,2,0,0],[1947,4,6,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1947,10,5,1,59,59],[1947,10,5,2,59,59],
+          '1947040602:00:00','1947040603:00:00','1947100501:59:59','1947100502:59:59' ],
+        [ [1947,10,5,2,0,0],[1947,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1948,4,4,1,59,59],[1948,4,4,1,59,59],
+          '1947100502:00:00','1947100502:00:00','1948040401:59:59','1948040401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,4,2,0,0],[1948,4,4,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1948,10,3,1,59,59],[1948,10,3,2,59,59],
+          '1948040402:00:00','1948040403:00:00','1948100301:59:59','1948100302:59:59' ],
+        [ [1948,10,3,2,0,0],[1948,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1949,4,3,1,59,59],[1949,4,3,1,59,59],
+          '1948100302:00:00','1948100302:00:00','1949040301:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,2,0,0],[1949,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1949,10,2,1,59,59],[1949,10,2,2,59,59],
+          '1949040302:00:00','1949040303:00:00','1949100201:59:59','1949100202:59:59' ],
+        [ [1949,10,2,2,0,0],[1949,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1951,4,1,1,59,59],[1951,4,1,1,59,59],
+          '1949100202:00:00','1949100202:00:00','1951040101:59:59','1951040101:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,1,2,0,0],[1951,4,1,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1951,10,7,1,59,59],[1951,10,7,2,59,59],
+          '1951040102:00:00','1951040103:00:00','1951100701:59:59','1951100702:59:59' ],
+        [ [1951,10,7,2,0,0],[1951,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1952,4,6,1,59,59],[1952,4,6,1,59,59],
+          '1951100702:00:00','1951100702:00:00','1952040601:59:59','1952040601:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,6,2,0,0],[1952,4,6,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1952,10,5,1,59,59],[1952,10,5,2,59,59],
+          '1952040602:00:00','1952040603:00:00','1952100501:59:59','1952100502:59:59' ],
+        [ [1952,10,5,2,0,0],[1952,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1953,4,5,1,59,59],[1953,4,5,1,59,59],
+          '1952100502:00:00','1952100502:00:00','1953040501:59:59','1953040501:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,5,2,0,0],[1953,4,5,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1953,10,4,1,59,59],[1953,10,4,2,59,59],
+          '1953040502:00:00','1953040503:00:00','1953100401:59:59','1953100402:59:59' ],
+        [ [1953,10,4,2,0,0],[1953,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1954,4,4,1,59,59],[1954,4,4,1,59,59],
+          '1953100402:00:00','1953100402:00:00','1954040401:59:59','1954040401:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,4,2,0,0],[1954,4,4,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1954,10,3,1,59,59],[1954,10,3,2,59,59],
+          '1954040402:00:00','1954040403:00:00','1954100301:59:59','1954100302:59:59' ],
+        [ [1954,10,3,2,0,0],[1954,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1955,4,3,1,59,59],[1955,4,3,1,59,59],
+          '1954100302:00:00','1954100302:00:00','1955040301:59:59','1955040301:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,3,2,0,0],[1955,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1955,10,2,1,59,59],[1955,10,2,2,59,59],
+          '1955040302:00:00','1955040303:00:00','1955100201:59:59','1955100202:59:59' ],
+        [ [1955,10,2,2,0,0],[1955,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1956,4,1,1,59,59],[1956,4,1,1,59,59],
+          '1955100202:00:00','1955100202:00:00','1956040101:59:59','1956040101:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,1,2,0,0],[1956,4,1,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1956,10,7,1,59,59],[1956,10,7,2,59,59],
+          '1956040102:00:00','1956040103:00:00','1956100701:59:59','1956100702:59:59' ],
+        [ [1956,10,7,2,0,0],[1956,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1957,4,7,1,59,59],[1957,4,7,1,59,59],
+          '1956100702:00:00','1956100702:00:00','1957040701:59:59','1957040701:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,7,2,0,0],[1957,4,7,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1957,10,6,1,59,59],[1957,10,6,2,59,59],
+          '1957040702:00:00','1957040703:00:00','1957100601:59:59','1957100602:59:59' ],
+        [ [1957,10,6,2,0,0],[1957,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1958,4,6,1,59,59],[1958,4,6,1,59,59],
+          '1957100602:00:00','1957100602:00:00','1958040601:59:59','1958040601:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,6,2,0,0],[1958,4,6,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1958,10,5,1,59,59],[1958,10,5,2,59,59],
+          '1958040602:00:00','1958040603:00:00','1958100501:59:59','1958100502:59:59' ],
+        [ [1958,10,5,2,0,0],[1958,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1959,4,5,1,59,59],[1959,4,5,1,59,59],
+          '1958100502:00:00','1958100502:00:00','1959040501:59:59','1959040501:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,5,2,0,0],[1959,4,5,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1959,10,4,1,59,59],[1959,10,4,2,59,59],
+          '1959040502:00:00','1959040503:00:00','1959100401:59:59','1959100402:59:59' ],
+        [ [1959,10,4,2,0,0],[1959,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1960,4,3,1,59,59],[1960,4,3,1,59,59],
+          '1959100402:00:00','1959100402:00:00','1960040301:59:59','1960040301:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,3,2,0,0],[1960,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1960,10,2,1,59,59],[1960,10,2,2,59,59],
+          '1960040302:00:00','1960040303:00:00','1960100201:59:59','1960100202:59:59' ],
+        [ [1960,10,2,2,0,0],[1960,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1961,4,2,1,59,59],[1961,4,2,1,59,59],
+          '1960100202:00:00','1960100202:00:00','1961040201:59:59','1961040201:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,4,2,2,0,0],[1961,4,2,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1961,10,1,1,59,59],[1961,10,1,2,59,59],
+          '1961040202:00:00','1961040203:00:00','1961100101:59:59','1961100102:59:59' ],
+        [ [1961,10,1,2,0,0],[1961,10,1,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1962,4,1,1,59,59],[1962,4,1,1,59,59],
+          '1961100102:00:00','1961100102:00:00','1962040101:59:59','1962040101:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,4,1,2,0,0],[1962,4,1,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1962,10,7,1,59,59],[1962,10,7,2,59,59],
+          '1962040102:00:00','1962040103:00:00','1962100701:59:59','1962100702:59:59' ],
+        [ [1962,10,7,2,0,0],[1962,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1963,4,7,1,59,59],[1963,4,7,1,59,59],
+          '1962100702:00:00','1962100702:00:00','1963040701:59:59','1963040701:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,4,7,2,0,0],[1963,4,7,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1963,10,6,1,59,59],[1963,10,6,2,59,59],
+          '1963040702:00:00','1963040703:00:00','1963100601:59:59','1963100602:59:59' ],
+        [ [1963,10,6,2,0,0],[1963,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1964,4,5,1,59,59],[1964,4,5,1,59,59],
+          '1963100602:00:00','1963100602:00:00','1964040501:59:59','1964040501:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,4,5,2,0,0],[1964,4,5,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1964,10,4,1,59,59],[1964,10,4,2,59,59],
+          '1964040502:00:00','1964040503:00:00','1964100401:59:59','1964100402:59:59' ],
+        [ [1964,10,4,2,0,0],[1964,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1965,4,4,1,59,59],[1965,4,4,1,59,59],
+          '1964100402:00:00','1964100402:00:00','1965040401:59:59','1965040401:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,4,2,0,0],[1965,4,4,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1965,10,3,1,59,59],[1965,10,3,2,59,59],
+          '1965040402:00:00','1965040403:00:00','1965100301:59:59','1965100302:59:59' ],
+        [ [1965,10,3,2,0,0],[1965,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1966,4,3,1,59,59],[1966,4,3,1,59,59],
+          '1965100302:00:00','1965100302:00:00','1966040301:59:59','1966040301:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,4,3,2,0,0],[1966,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,9,25,23,59,59],[1976,9,26,0,59,59],
+          '1966040302:00:00','1966040303:00:00','1976092523:59:59','1976092600:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,9,26,0,0,0],[1976,9,26,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,3,26,23,59,59],[1977,3,26,23,59,59],
+          '1976092600:00:00','1976092600:00:00','1977032623:59:59','1977032623:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,27,0,0,0],[1977,3,27,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,24,23,59,59],[1977,9,25,0,59,59],
+          '1977032700:00:00','1977032701:00:00','1977092423:59:59','1977092500:59:59' ],
+        [ [1977,9,25,0,0,0],[1977,9,25,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,4,1,23,59,59],[1978,4,1,23,59,59],
+          '1977092500:00:00','1977092500:00:00','1978040123:59:59','1978040123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,0,0,0],[1978,4,2,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,9,30,23,59,59],[1978,10,1,0,59,59],
+          '1978040200:00:00','1978040201:00:00','1978093023:59:59','1978100100:59:59' ],
+        [ [1978,10,1,0,0,0],[1978,10,1,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1979,3,31,23,59,59],[1979,3,31,23,59,59],
+          '1978100100:00:00','1978100100:00:00','1979033123:59:59','1979033123:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,0,0,0],[1979,4,1,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1979,9,30,0,59,59],[1979,9,30,1,59,59],
+          '1979040100:00:00','1979040101:00:00','1979093000:59:59','1979093001:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1980,3,29,23,59,59],[1980,3,29,23,59,59],
+          '1979093001:00:00','1979093001:00:00','1980032923:59:59','1980032923:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,30,0,0,0],[1980,3,30,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1980,9,28,0,59,59],[1980,9,28,1,59,59],
+          '1980033000:00:00','1980033001:00:00','1980092800:59:59','1980092801:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980092801:00:00','1980092801:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1981,9,27,0,59,59],[1981,9,27,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981092700:59:59','1981092701:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981092701:00:00','1981092701:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1982,9,26,0,59,59],[1982,9,26,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982092600:59:59','1982092601:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1983,3,27,1,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092601:00:00','1983032701:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,2,0,0],[1983,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1983,9,25,0,59,59],[1983,9,25,1,59,59],
+          '1983032702:00:00','1983032703:00:00','1983092500:59:59','1983092501:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983092501:00:00','1983092501:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1984,9,30,0,59,59],[1984,9,30,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984093000:59:59','1984093001:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984093001:00:00','1984093001:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1985,9,29,0,59,59],[1985,9,29,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985092900:59:59','1985092901:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985092901:00:00','1985092901:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1986,9,28,0,59,59],[1986,9,28,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986092800:59:59','1986092801:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986092801:00:00','1986092801:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1987,9,27,0,59,59],[1987,9,27,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987092700:59:59','1987092701:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987092701:00:00','1987092701:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1988,9,25,0,59,59],[1988,9,25,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988092500:59:59','1988092501:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988092501:00:00','1988092501:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1989,9,24,0,59,59],[1989,9,24,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989092400:59:59','1989092401:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989092401:00:00','1989092401:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1990,9,30,0,59,59],[1990,9,30,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990093000:59:59','1990093001:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990093001:00:00','1990093001:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1991,9,29,0,59,59],[1991,9,29,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991092900:59:59','1991092901:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991092901:00:00','1991092901:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1992,9,27,0,59,59],[1992,9,27,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992092700:59:59','1992092701:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eulond00.pm b/lib/Date/Manip/TZ/eulond00.pm
new file mode 100644
index 0000000..70e15bd
--- /dev/null
+++ b/lib/Date/Manip/TZ/eulond00.pm
@@ -0,0 +1,1426 @@
+package #
+Date::Manip::TZ::eulond00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,58,45],'-00:01:15',[0,-1,-15],
+          'LMT',0,[1847,12,1,0,1,14],[1847,11,30,23,59,59],
+          '0001010200:00:00','0001010123:58:45','1847120100:01:14','1847113023:59:59' ],
+     ],
+   1847 =>
+     [
+        [ [1847,12,1,0,1,15],[1847,12,1,0,1,15],'+00:00:00',[0,0,0],
+          'GMT',0,[1916,5,21,1,59,59],[1916,5,21,1,59,59],
+          '1847120100:01:15','1847120100:01:15','1916052101:59:59','1916052101:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,21,2,0,0],[1916,5,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1916,10,1,1,59,59],[1916,10,1,2,59,59],
+          '1916052102:00:00','1916052103:00:00','1916100101:59:59','1916100102:59:59' ],
+        [ [1916,10,1,2,0,0],[1916,10,1,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1917,4,8,1,59,59],[1917,4,8,1,59,59],
+          '1916100102:00:00','1916100102:00:00','1917040801:59:59','1917040801:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,8,2,0,0],[1917,4,8,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1917,9,17,1,59,59],[1917,9,17,2,59,59],
+          '1917040802:00:00','1917040803:00:00','1917091701:59:59','1917091702:59:59' ],
+        [ [1917,9,17,2,0,0],[1917,9,17,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1918,3,24,1,59,59],[1918,3,24,1,59,59],
+          '1917091702:00:00','1917091702:00:00','1918032401:59:59','1918032401:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,24,2,0,0],[1918,3,24,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1918,9,30,1,59,59],[1918,9,30,2,59,59],
+          '1918032402:00:00','1918032403:00:00','1918093001:59:59','1918093002:59:59' ],
+        [ [1918,9,30,2,0,0],[1918,9,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1919,3,30,1,59,59],[1919,3,30,1,59,59],
+          '1918093002:00:00','1918093002:00:00','1919033001:59:59','1919033001:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,30,2,0,0],[1919,3,30,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1919,9,29,1,59,59],[1919,9,29,2,59,59],
+          '1919033002:00:00','1919033003:00:00','1919092901:59:59','1919092902:59:59' ],
+        [ [1919,9,29,2,0,0],[1919,9,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1920,3,28,1,59,59],[1920,3,28,1,59,59],
+          '1919092902:00:00','1919092902:00:00','1920032801:59:59','1920032801:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,28,2,0,0],[1920,3,28,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1920,10,25,1,59,59],[1920,10,25,2,59,59],
+          '1920032802:00:00','1920032803:00:00','1920102501:59:59','1920102502:59:59' ],
+        [ [1920,10,25,2,0,0],[1920,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1921,4,3,1,59,59],[1921,4,3,1,59,59],
+          '1920102502:00:00','1920102502:00:00','1921040301:59:59','1921040301:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,3,2,0,0],[1921,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1921,10,3,1,59,59],[1921,10,3,2,59,59],
+          '1921040302:00:00','1921040303:00:00','1921100301:59:59','1921100302:59:59' ],
+        [ [1921,10,3,2,0,0],[1921,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1922,3,26,1,59,59],[1922,3,26,1,59,59],
+          '1921100302:00:00','1921100302:00:00','1922032601:59:59','1922032601:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,26,2,0,0],[1922,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1922,10,8,1,59,59],[1922,10,8,2,59,59],
+          '1922032602:00:00','1922032603:00:00','1922100801:59:59','1922100802:59:59' ],
+        [ [1922,10,8,2,0,0],[1922,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1923,4,22,1,59,59],[1923,4,22,1,59,59],
+          '1922100802:00:00','1922100802:00:00','1923042201:59:59','1923042201:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,22,2,0,0],[1923,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1923,9,16,1,59,59],[1923,9,16,2,59,59],
+          '1923042202:00:00','1923042203:00:00','1923091601:59:59','1923091602:59:59' ],
+        [ [1923,9,16,2,0,0],[1923,9,16,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1924,4,13,1,59,59],[1924,4,13,1,59,59],
+          '1923091602:00:00','1923091602:00:00','1924041301:59:59','1924041301:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,13,2,0,0],[1924,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1924,9,21,1,59,59],[1924,9,21,2,59,59],
+          '1924041302:00:00','1924041303:00:00','1924092101:59:59','1924092102:59:59' ],
+        [ [1924,9,21,2,0,0],[1924,9,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1925,4,19,1,59,59],[1925,4,19,1,59,59],
+          '1924092102:00:00','1924092102:00:00','1925041901:59:59','1925041901:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,19,2,0,0],[1925,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1925,10,4,1,59,59],[1925,10,4,2,59,59],
+          '1925041902:00:00','1925041903:00:00','1925100401:59:59','1925100402:59:59' ],
+        [ [1925,10,4,2,0,0],[1925,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1926,4,18,1,59,59],[1926,4,18,1,59,59],
+          '1925100402:00:00','1925100402:00:00','1926041801:59:59','1926041801:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,18,2,0,0],[1926,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1926,10,3,1,59,59],[1926,10,3,2,59,59],
+          '1926041802:00:00','1926041803:00:00','1926100301:59:59','1926100302:59:59' ],
+        [ [1926,10,3,2,0,0],[1926,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1927,4,10,1,59,59],[1927,4,10,1,59,59],
+          '1926100302:00:00','1926100302:00:00','1927041001:59:59','1927041001:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,10,2,0,0],[1927,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1927,10,2,1,59,59],[1927,10,2,2,59,59],
+          '1927041002:00:00','1927041003:00:00','1927100201:59:59','1927100202:59:59' ],
+        [ [1927,10,2,2,0,0],[1927,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1928,4,22,1,59,59],[1928,4,22,1,59,59],
+          '1927100202:00:00','1927100202:00:00','1928042201:59:59','1928042201:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,22,2,0,0],[1928,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1928,10,7,1,59,59],[1928,10,7,2,59,59],
+          '1928042202:00:00','1928042203:00:00','1928100701:59:59','1928100702:59:59' ],
+        [ [1928,10,7,2,0,0],[1928,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1929,4,21,1,59,59],[1929,4,21,1,59,59],
+          '1928100702:00:00','1928100702:00:00','1929042101:59:59','1929042101:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,21,2,0,0],[1929,4,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1929,10,6,1,59,59],[1929,10,6,2,59,59],
+          '1929042102:00:00','1929042103:00:00','1929100601:59:59','1929100602:59:59' ],
+        [ [1929,10,6,2,0,0],[1929,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1930,4,13,1,59,59],[1930,4,13,1,59,59],
+          '1929100602:00:00','1929100602:00:00','1930041301:59:59','1930041301:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,13,2,0,0],[1930,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1930,10,5,1,59,59],[1930,10,5,2,59,59],
+          '1930041302:00:00','1930041303:00:00','1930100501:59:59','1930100502:59:59' ],
+        [ [1930,10,5,2,0,0],[1930,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1931,4,19,1,59,59],[1931,4,19,1,59,59],
+          '1930100502:00:00','1930100502:00:00','1931041901:59:59','1931041901:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,2,0,0],[1931,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1931,10,4,1,59,59],[1931,10,4,2,59,59],
+          '1931041902:00:00','1931041903:00:00','1931100401:59:59','1931100402:59:59' ],
+        [ [1931,10,4,2,0,0],[1931,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1932,4,17,1,59,59],[1932,4,17,1,59,59],
+          '1931100402:00:00','1931100402:00:00','1932041701:59:59','1932041701:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,17,2,0,0],[1932,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1932,10,2,1,59,59],[1932,10,2,2,59,59],
+          '1932041702:00:00','1932041703:00:00','1932100201:59:59','1932100202:59:59' ],
+        [ [1932,10,2,2,0,0],[1932,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1933,4,9,1,59,59],[1933,4,9,1,59,59],
+          '1932100202:00:00','1932100202:00:00','1933040901:59:59','1933040901:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,9,2,0,0],[1933,4,9,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1933,10,8,1,59,59],[1933,10,8,2,59,59],
+          '1933040902:00:00','1933040903:00:00','1933100801:59:59','1933100802:59:59' ],
+        [ [1933,10,8,2,0,0],[1933,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1934,4,22,1,59,59],[1934,4,22,1,59,59],
+          '1933100802:00:00','1933100802:00:00','1934042201:59:59','1934042201:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,22,2,0,0],[1934,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1934,10,7,1,59,59],[1934,10,7,2,59,59],
+          '1934042202:00:00','1934042203:00:00','1934100701:59:59','1934100702:59:59' ],
+        [ [1934,10,7,2,0,0],[1934,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1935,4,14,1,59,59],[1935,4,14,1,59,59],
+          '1934100702:00:00','1934100702:00:00','1935041401:59:59','1935041401:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,14,2,0,0],[1935,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1935,10,6,1,59,59],[1935,10,6,2,59,59],
+          '1935041402:00:00','1935041403:00:00','1935100601:59:59','1935100602:59:59' ],
+        [ [1935,10,6,2,0,0],[1935,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1936,4,19,1,59,59],[1936,4,19,1,59,59],
+          '1935100602:00:00','1935100602:00:00','1936041901:59:59','1936041901:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,2,0,0],[1936,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1936,10,4,1,59,59],[1936,10,4,2,59,59],
+          '1936041902:00:00','1936041903:00:00','1936100401:59:59','1936100402:59:59' ],
+        [ [1936,10,4,2,0,0],[1936,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1937,4,18,1,59,59],[1937,4,18,1,59,59],
+          '1936100402:00:00','1936100402:00:00','1937041801:59:59','1937041801:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,18,2,0,0],[1937,4,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1937,10,3,1,59,59],[1937,10,3,2,59,59],
+          '1937041802:00:00','1937041803:00:00','1937100301:59:59','1937100302:59:59' ],
+        [ [1937,10,3,2,0,0],[1937,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1938,4,10,1,59,59],[1938,4,10,1,59,59],
+          '1937100302:00:00','1937100302:00:00','1938041001:59:59','1938041001:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,10,2,0,0],[1938,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1938,10,2,1,59,59],[1938,10,2,2,59,59],
+          '1938041002:00:00','1938041003:00:00','1938100201:59:59','1938100202:59:59' ],
+        [ [1938,10,2,2,0,0],[1938,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1939,4,16,1,59,59],[1939,4,16,1,59,59],
+          '1938100202:00:00','1938100202:00:00','1939041601:59:59','1939041601:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,2,0,0],[1939,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1939,11,19,1,59,59],[1939,11,19,2,59,59],
+          '1939041602:00:00','1939041603:00:00','1939111901:59:59','1939111902:59:59' ],
+        [ [1939,11,19,2,0,0],[1939,11,19,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111902:00:00','1939111902:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1941,5,4,0,59,59],[1941,5,4,1,59,59],
+          '1940022502:00:00','1940022503:00:00','1941050400:59:59','1941050401:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,4,1,0,0],[1941,5,4,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1941,8,10,0,59,59],[1941,8,10,2,59,59],
+          '1941050401:00:00','1941050403:00:00','1941081000:59:59','1941081002:59:59' ],
+        [ [1941,8,10,1,0,0],[1941,8,10,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1942,4,5,0,59,59],[1942,4,5,1,59,59],
+          '1941081001:00:00','1941081002:00:00','1942040500:59:59','1942040501:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,4,5,1,0,0],[1942,4,5,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1942,8,9,0,59,59],[1942,8,9,2,59,59],
+          '1942040501:00:00','1942040503:00:00','1942080900:59:59','1942080902:59:59' ],
+        [ [1942,8,9,1,0,0],[1942,8,9,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1943,4,4,0,59,59],[1943,4,4,1,59,59],
+          '1942080901:00:00','1942080902:00:00','1943040400:59:59','1943040401:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,4,1,0,0],[1943,4,4,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1943,8,15,0,59,59],[1943,8,15,2,59,59],
+          '1943040401:00:00','1943040403:00:00','1943081500:59:59','1943081502:59:59' ],
+        [ [1943,8,15,1,0,0],[1943,8,15,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1944,4,2,0,59,59],[1944,4,2,1,59,59],
+          '1943081501:00:00','1943081502:00:00','1944040200:59:59','1944040201:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,2,1,0,0],[1944,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040201:00:00','1944040203:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1945,7,15,0,59,59],[1945,7,15,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945071500:59:59','1945071502:59:59' ],
+        [ [1945,7,15,1,0,0],[1945,7,15,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1945,10,7,1,59,59],[1945,10,7,2,59,59],
+          '1945071501:00:00','1945071502:00:00','1945100701:59:59','1945100702:59:59' ],
+        [ [1945,10,7,2,0,0],[1945,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1946,4,14,1,59,59],[1946,4,14,1,59,59],
+          '1945100702:00:00','1945100702:00:00','1946041401:59:59','1946041401:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,14,2,0,0],[1946,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1946,10,6,1,59,59],[1946,10,6,2,59,59],
+          '1946041402:00:00','1946041403:00:00','1946100601:59:59','1946100602:59:59' ],
+        [ [1946,10,6,2,0,0],[1946,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1947,3,16,1,59,59],[1947,3,16,1,59,59],
+          '1946100602:00:00','1946100602:00:00','1947031601:59:59','1947031601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,16,2,0,0],[1947,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1947,4,13,0,59,59],[1947,4,13,1,59,59],
+          '1947031602:00:00','1947031603:00:00','1947041300:59:59','1947041301:59:59' ],
+        [ [1947,4,13,1,0,0],[1947,4,13,3,0,0],'+02:00:00',[2,0,0],
+          'BDST',1,[1947,8,10,0,59,59],[1947,8,10,2,59,59],
+          '1947041301:00:00','1947041303:00:00','1947081000:59:59','1947081002:59:59' ],
+        [ [1947,8,10,1,0,0],[1947,8,10,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1947,11,2,1,59,59],[1947,11,2,2,59,59],
+          '1947081001:00:00','1947081002:00:00','1947110201:59:59','1947110202:59:59' ],
+        [ [1947,11,2,2,0,0],[1947,11,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1948,3,14,1,59,59],[1948,3,14,1,59,59],
+          '1947110202:00:00','1947110202:00:00','1948031401:59:59','1948031401:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,3,14,2,0,0],[1948,3,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1948,10,31,1,59,59],[1948,10,31,2,59,59],
+          '1948031402:00:00','1948031403:00:00','1948103101:59:59','1948103102:59:59' ],
+        [ [1948,10,31,2,0,0],[1948,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1949,4,3,1,59,59],[1949,4,3,1,59,59],
+          '1948103102:00:00','1948103102:00:00','1949040301:59:59','1949040301:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,3,2,0,0],[1949,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1949,10,30,1,59,59],[1949,10,30,2,59,59],
+          '1949040302:00:00','1949040303:00:00','1949103001:59:59','1949103002:59:59' ],
+        [ [1949,10,30,2,0,0],[1949,10,30,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1950,4,16,1,59,59],[1950,4,16,1,59,59],
+          '1949103002:00:00','1949103002:00:00','1950041601:59:59','1950041601:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,4,16,2,0,0],[1950,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1950,10,22,1,59,59],[1950,10,22,2,59,59],
+          '1950041602:00:00','1950041603:00:00','1950102201:59:59','1950102202:59:59' ],
+        [ [1950,10,22,2,0,0],[1950,10,22,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1951,4,15,1,59,59],[1951,4,15,1,59,59],
+          '1950102202:00:00','1950102202:00:00','1951041501:59:59','1951041501:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,4,15,2,0,0],[1951,4,15,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1951,10,21,1,59,59],[1951,10,21,2,59,59],
+          '1951041502:00:00','1951041503:00:00','1951102101:59:59','1951102102:59:59' ],
+        [ [1951,10,21,2,0,0],[1951,10,21,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1952,4,20,1,59,59],[1952,4,20,1,59,59],
+          '1951102102:00:00','1951102102:00:00','1952042001:59:59','1952042001:59:59' ],
+     ],
+   1952 =>
+     [
+        [ [1952,4,20,2,0,0],[1952,4,20,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1952,10,26,1,59,59],[1952,10,26,2,59,59],
+          '1952042002:00:00','1952042003:00:00','1952102601:59:59','1952102602:59:59' ],
+        [ [1952,10,26,2,0,0],[1952,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1953,4,19,1,59,59],[1953,4,19,1,59,59],
+          '1952102602:00:00','1952102602:00:00','1953041901:59:59','1953041901:59:59' ],
+     ],
+   1953 =>
+     [
+        [ [1953,4,19,2,0,0],[1953,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1953,10,4,1,59,59],[1953,10,4,2,59,59],
+          '1953041902:00:00','1953041903:00:00','1953100401:59:59','1953100402:59:59' ],
+        [ [1953,10,4,2,0,0],[1953,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1954,4,11,1,59,59],[1954,4,11,1,59,59],
+          '1953100402:00:00','1953100402:00:00','1954041101:59:59','1954041101:59:59' ],
+     ],
+   1954 =>
+     [
+        [ [1954,4,11,2,0,0],[1954,4,11,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1954,10,3,1,59,59],[1954,10,3,2,59,59],
+          '1954041102:00:00','1954041103:00:00','1954100301:59:59','1954100302:59:59' ],
+        [ [1954,10,3,2,0,0],[1954,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1955,4,17,1,59,59],[1955,4,17,1,59,59],
+          '1954100302:00:00','1954100302:00:00','1955041701:59:59','1955041701:59:59' ],
+     ],
+   1955 =>
+     [
+        [ [1955,4,17,2,0,0],[1955,4,17,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1955,10,2,1,59,59],[1955,10,2,2,59,59],
+          '1955041702:00:00','1955041703:00:00','1955100201:59:59','1955100202:59:59' ],
+        [ [1955,10,2,2,0,0],[1955,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1956,4,22,1,59,59],[1956,4,22,1,59,59],
+          '1955100202:00:00','1955100202:00:00','1956042201:59:59','1956042201:59:59' ],
+     ],
+   1956 =>
+     [
+        [ [1956,4,22,2,0,0],[1956,4,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1956,10,7,1,59,59],[1956,10,7,2,59,59],
+          '1956042202:00:00','1956042203:00:00','1956100701:59:59','1956100702:59:59' ],
+        [ [1956,10,7,2,0,0],[1956,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1957,4,14,1,59,59],[1957,4,14,1,59,59],
+          '1956100702:00:00','1956100702:00:00','1957041401:59:59','1957041401:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,4,14,2,0,0],[1957,4,14,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1957,10,6,1,59,59],[1957,10,6,2,59,59],
+          '1957041402:00:00','1957041403:00:00','1957100601:59:59','1957100602:59:59' ],
+        [ [1957,10,6,2,0,0],[1957,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1958,4,20,1,59,59],[1958,4,20,1,59,59],
+          '1957100602:00:00','1957100602:00:00','1958042001:59:59','1958042001:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,4,20,2,0,0],[1958,4,20,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1958,10,5,1,59,59],[1958,10,5,2,59,59],
+          '1958042002:00:00','1958042003:00:00','1958100501:59:59','1958100502:59:59' ],
+        [ [1958,10,5,2,0,0],[1958,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1959,4,19,1,59,59],[1959,4,19,1,59,59],
+          '1958100502:00:00','1958100502:00:00','1959041901:59:59','1959041901:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,4,19,2,0,0],[1959,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1959,10,4,1,59,59],[1959,10,4,2,59,59],
+          '1959041902:00:00','1959041903:00:00','1959100401:59:59','1959100402:59:59' ],
+        [ [1959,10,4,2,0,0],[1959,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1960,4,10,1,59,59],[1960,4,10,1,59,59],
+          '1959100402:00:00','1959100402:00:00','1960041001:59:59','1960041001:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,10,2,0,0],[1960,4,10,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1960,10,2,1,59,59],[1960,10,2,2,59,59],
+          '1960041002:00:00','1960041003:00:00','1960100201:59:59','1960100202:59:59' ],
+        [ [1960,10,2,2,0,0],[1960,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1961,3,26,1,59,59],[1961,3,26,1,59,59],
+          '1960100202:00:00','1960100202:00:00','1961032601:59:59','1961032601:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,3,26,2,0,0],[1961,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1961,10,29,1,59,59],[1961,10,29,2,59,59],
+          '1961032602:00:00','1961032603:00:00','1961102901:59:59','1961102902:59:59' ],
+        [ [1961,10,29,2,0,0],[1961,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1962,3,25,1,59,59],[1962,3,25,1,59,59],
+          '1961102902:00:00','1961102902:00:00','1962032501:59:59','1962032501:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,3,25,2,0,0],[1962,3,25,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1962,10,28,1,59,59],[1962,10,28,2,59,59],
+          '1962032502:00:00','1962032503:00:00','1962102801:59:59','1962102802:59:59' ],
+        [ [1962,10,28,2,0,0],[1962,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1963,3,31,1,59,59],[1963,3,31,1,59,59],
+          '1962102802:00:00','1962102802:00:00','1963033101:59:59','1963033101:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,3,31,2,0,0],[1963,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1963,10,27,1,59,59],[1963,10,27,2,59,59],
+          '1963033102:00:00','1963033103:00:00','1963102701:59:59','1963102702:59:59' ],
+        [ [1963,10,27,2,0,0],[1963,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1964,3,22,1,59,59],[1964,3,22,1,59,59],
+          '1963102702:00:00','1963102702:00:00','1964032201:59:59','1964032201:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,22,2,0,0],[1964,3,22,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1964,10,25,1,59,59],[1964,10,25,2,59,59],
+          '1964032202:00:00','1964032203:00:00','1964102501:59:59','1964102502:59:59' ],
+        [ [1964,10,25,2,0,0],[1964,10,25,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1965,3,21,1,59,59],[1965,3,21,1,59,59],
+          '1964102502:00:00','1964102502:00:00','1965032101:59:59','1965032101:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,3,21,2,0,0],[1965,3,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1965,10,24,1,59,59],[1965,10,24,2,59,59],
+          '1965032102:00:00','1965032103:00:00','1965102401:59:59','1965102402:59:59' ],
+        [ [1965,10,24,2,0,0],[1965,10,24,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1966,3,20,1,59,59],[1966,3,20,1,59,59],
+          '1965102402:00:00','1965102402:00:00','1966032001:59:59','1966032001:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,3,20,2,0,0],[1966,3,20,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1966,10,23,1,59,59],[1966,10,23,2,59,59],
+          '1966032002:00:00','1966032003:00:00','1966102301:59:59','1966102302:59:59' ],
+        [ [1966,10,23,2,0,0],[1966,10,23,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1967,3,19,1,59,59],[1967,3,19,1,59,59],
+          '1966102302:00:00','1966102302:00:00','1967031901:59:59','1967031901:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,3,19,2,0,0],[1967,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1967,10,29,1,59,59],[1967,10,29,2,59,59],
+          '1967031902:00:00','1967031903:00:00','1967102901:59:59','1967102902:59:59' ],
+        [ [1967,10,29,2,0,0],[1967,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1968,2,18,1,59,59],[1968,2,18,1,59,59],
+          '1967102902:00:00','1967102902:00:00','1968021801:59:59','1968021801:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,2,18,2,0,0],[1968,2,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1968,10,26,22,59,59],[1968,10,26,23,59,59],
+          '1968021802:00:00','1968021803:00:00','1968102622:59:59','1968102623:59:59' ],
+        [ [1968,10,26,23,0,0],[1968,10,27,0,0,0],'+01:00:00',[1,0,0],
+          'BST',0,[1971,10,31,1,59,59],[1971,10,31,2,59,59],
+          '1968102623:00:00','1968102700:00:00','1971103101:59:59','1971103102:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,10,31,2,0,0],[1971,10,31,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1972,3,19,1,59,59],[1972,3,19,1,59,59],
+          '1971103102:00:00','1971103102:00:00','1972031901:59:59','1972031901:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,3,19,2,0,0],[1972,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1972,10,29,1,59,59],[1972,10,29,2,59,59],
+          '1972031902:00:00','1972031903:00:00','1972102901:59:59','1972102902:59:59' ],
+        [ [1972,10,29,2,0,0],[1972,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1973,3,18,1,59,59],[1973,3,18,1,59,59],
+          '1972102902:00:00','1972102902:00:00','1973031801:59:59','1973031801:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,18,2,0,0],[1973,3,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1973,10,28,1,59,59],[1973,10,28,2,59,59],
+          '1973031802:00:00','1973031803:00:00','1973102801:59:59','1973102802:59:59' ],
+        [ [1973,10,28,2,0,0],[1973,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1974,3,17,1,59,59],[1974,3,17,1,59,59],
+          '1973102802:00:00','1973102802:00:00','1974031701:59:59','1974031701:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,17,2,0,0],[1974,3,17,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1974,10,27,1,59,59],[1974,10,27,2,59,59],
+          '1974031702:00:00','1974031703:00:00','1974102701:59:59','1974102702:59:59' ],
+        [ [1974,10,27,2,0,0],[1974,10,27,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1975,3,16,1,59,59],[1975,3,16,1,59,59],
+          '1974102702:00:00','1974102702:00:00','1975031601:59:59','1975031601:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,16,2,0,0],[1975,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1975,10,26,1,59,59],[1975,10,26,2,59,59],
+          '1975031602:00:00','1975031603:00:00','1975102601:59:59','1975102602:59:59' ],
+        [ [1975,10,26,2,0,0],[1975,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1976,3,21,1,59,59],[1976,3,21,1,59,59],
+          '1975102602:00:00','1975102602:00:00','1976032101:59:59','1976032101:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,21,2,0,0],[1976,3,21,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1976,10,24,1,59,59],[1976,10,24,2,59,59],
+          '1976032102:00:00','1976032103:00:00','1976102401:59:59','1976102402:59:59' ],
+        [ [1976,10,24,2,0,0],[1976,10,24,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1977,3,20,1,59,59],[1977,3,20,1,59,59],
+          '1976102402:00:00','1976102402:00:00','1977032001:59:59','1977032001:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,20,2,0,0],[1977,3,20,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1977,10,23,1,59,59],[1977,10,23,2,59,59],
+          '1977032002:00:00','1977032003:00:00','1977102301:59:59','1977102302:59:59' ],
+        [ [1977,10,23,2,0,0],[1977,10,23,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1978,3,19,1,59,59],[1978,3,19,1,59,59],
+          '1977102302:00:00','1977102302:00:00','1978031901:59:59','1978031901:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,19,2,0,0],[1978,3,19,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1978,10,29,1,59,59],[1978,10,29,2,59,59],
+          '1978031902:00:00','1978031903:00:00','1978102901:59:59','1978102902:59:59' ],
+        [ [1978,10,29,2,0,0],[1978,10,29,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1979,3,18,1,59,59],[1979,3,18,1,59,59],
+          '1978102902:00:00','1978102902:00:00','1979031801:59:59','1979031801:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,18,2,0,0],[1979,3,18,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1979,10,28,1,59,59],[1979,10,28,2,59,59],
+          '1979031802:00:00','1979031803:00:00','1979102801:59:59','1979102802:59:59' ],
+        [ [1979,10,28,2,0,0],[1979,10,28,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1980,3,16,1,59,59],[1980,3,16,1,59,59],
+          '1979102802:00:00','1979102802:00:00','1980031601:59:59','1980031601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,16,2,0,0],[1980,3,16,3,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1980,10,26,1,59,59],[1980,10,26,2,59,59],
+          '1980031602:00:00','1980031603:00:00','1980102601:59:59','1980102602:59:59' ],
+        [ [1980,10,26,2,0,0],[1980,10,26,2,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980102602:00:00','1980102602:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1981,10,25,0,59,59],[1981,10,25,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981102500:59:59','1981102501:59:59' ],
+        [ [1981,10,25,1,0,0],[1981,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981102501:00:00','1981102501:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1982,10,24,0,59,59],[1982,10,24,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982102400:59:59','1982102401:59:59' ],
+        [ [1982,10,24,1,0,0],[1982,10,24,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1983,3,27,0,59,59],[1983,3,27,0,59,59],
+          '1982102401:00:00','1982102401:00:00','1983032700:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1983,10,23,0,59,59],[1983,10,23,1,59,59],
+          '1983032701:00:00','1983032702:00:00','1983102300:59:59','1983102301:59:59' ],
+        [ [1983,10,23,1,0,0],[1983,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983102301:00:00','1983102301:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1984,10,28,0,59,59],[1984,10,28,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984102800:59:59','1984102801:59:59' ],
+        [ [1984,10,28,1,0,0],[1984,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984102801:00:00','1984102801:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1985,10,27,0,59,59],[1985,10,27,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985102700:59:59','1985102701:59:59' ],
+        [ [1985,10,27,1,0,0],[1985,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985102701:00:00','1985102701:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1986,10,26,0,59,59],[1986,10,26,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986102600:59:59','1986102601:59:59' ],
+        [ [1986,10,26,1,0,0],[1986,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986102601:00:00','1986102601:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1987,10,25,0,59,59],[1987,10,25,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987102500:59:59','1987102501:59:59' ],
+        [ [1987,10,25,1,0,0],[1987,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987102501:00:00','1987102501:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1988,10,23,0,59,59],[1988,10,23,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988102300:59:59','1988102301:59:59' ],
+        [ [1988,10,23,1,0,0],[1988,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988102301:00:00','1988102301:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1989,10,29,0,59,59],[1989,10,29,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989102900:59:59','1989102901:59:59' ],
+        [ [1989,10,29,1,0,0],[1989,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989102901:00:00','1989102901:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1990,10,28,0,59,59],[1990,10,28,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990102800:59:59','1990102801:59:59' ],
+        [ [1990,10,28,1,0,0],[1990,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990102801:00:00','1990102801:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1991,10,27,0,59,59],[1991,10,27,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991102700:59:59','1991102701:59:59' ],
+        [ [1991,10,27,1,0,0],[1991,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991102701:00:00','1991102701:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1992,10,25,0,59,59],[1992,10,25,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992102500:59:59','1992102501:59:59' ],
+        [ [1992,10,25,1,0,0],[1992,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992102501:00:00','1992102501:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1993,10,24,0,59,59],[1993,10,24,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993102400:59:59','1993102401:59:59' ],
+        [ [1993,10,24,1,0,0],[1993,10,24,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993102401:00:00','1993102401:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1994,10,23,0,59,59],[1994,10,23,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994102300:59:59','1994102301:59:59' ],
+        [ [1994,10,23,1,0,0],[1994,10,23,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994102301:00:00','1994102301:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1995,10,22,0,59,59],[1995,10,22,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995102200:59:59','1995102201:59:59' ],
+        [ [1995,10,22,1,0,0],[1995,10,22,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995102201:00:00','1995102201:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'BST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'GMT',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'BST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'GMT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euluxe00.pm b/lib/Date/Manip/TZ/euluxe00.pm
new file mode 100644
index 0000000..e42a89d
--- /dev/null
+++ b/lib/Date/Manip/TZ/euluxe00.pm
@@ -0,0 +1,1162 @@
+package #
+Date::Manip::TZ::euluxe00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,24,36],'+00:24:36',[0,24,36],
+          'LMT',0,[1904,5,31,23,35,23],[1904,5,31,23,59,59],
+          '0001010200:00:00','0001010200:24:36','1904053123:35:23','1904053123:59:59' ],
+     ],
+   1904 =>
+     [
+        [ [1904,5,31,23,35,24],[1904,6,1,0,35,24],'+01:00:00',[1,0,0],
+          'CET',0,[1916,5,14,21,59,59],[1916,5,14,22,59,59],
+          '1904053123:35:24','1904060100:35:24','1916051421:59:59','1916051422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,14,22,0,0],[1916,5,15,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916051422:00:00','1916051500:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,28,21,59,59],[1917,4,28,22,59,59],
+          '1916093023:00:00','1916100100:00:00','1917042821:59:59','1917042822:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,28,22,0,0],[1917,4,29,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,16,22,59,59],[1917,9,17,0,59,59],
+          '1917042822:00:00','1917042900:00:00','1917091622:59:59','1917091700:59:59' ],
+        [ [1917,9,16,23,0,0],[1917,9,17,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091623:00:00','1917091700:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,11,24,22,59,59],[1918,11,24,23,59,59],
+          '1918091601:00:00','1918091602:00:00','1918112422:59:59','1918112423:59:59' ],
+        [ [1918,11,24,23,0,0],[1918,11,24,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,3,1,22,59,59],[1919,3,1,22,59,59],
+          '1918112423:00:00','1918112423:00:00','1919030122:59:59','1919030122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,5,1,59,59],[1919,10,5,2,59,59],
+          '1919030123:00:00','1919030200:00:00','1919100501:59:59','1919100502:59:59' ],
+        [ [1919,10,5,2,0,0],[1919,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,14,22,59,59],[1920,2,14,22,59,59],
+          '1919100502:00:00','1919100502:00:00','1920021422:59:59','1920021422:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,14,23,0,0],[1920,2,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,24,0,59,59],[1920,10,24,1,59,59],
+          '1920021423:00:00','1920021500:00:00','1920102400:59:59','1920102401:59:59' ],
+        [ [1920,10,24,1,0,0],[1920,10,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,3,14,22,59,59],[1921,3,14,22,59,59],
+          '1920102401:00:00','1920102401:00:00','1921031422:59:59','1921031422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,14,23,0,0],[1921,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,10,26,0,59,59],[1921,10,26,1,59,59],
+          '1921031423:00:00','1921031500:00:00','1921102600:59:59','1921102601:59:59' ],
+        [ [1921,10,26,1,0,0],[1921,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1922,3,25,22,59,59],[1922,3,25,22,59,59],
+          '1921102601:00:00','1921102601:00:00','1922032522:59:59','1922032522:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,23,0,0],[1922,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1922,10,7,23,59,59],[1922,10,8,0,59,59],
+          '1922032523:00:00','1922032600:00:00','1922100723:59:59','1922100800:59:59' ],
+        [ [1922,10,8,0,0,0],[1922,10,8,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1923,4,21,22,59,59],[1923,4,21,22,59,59],
+          '1922100800:00:00','1922100800:00:00','1923042122:59:59','1923042122:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,4,21,23,0,0],[1923,4,22,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1923,10,7,0,59,59],[1923,10,7,1,59,59],
+          '1923042123:00:00','1923042200:00:00','1923100700:59:59','1923100701:59:59' ],
+        [ [1923,10,7,1,0,0],[1923,10,7,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,3,29,22,59,59],[1924,3,29,22,59,59],
+          '1923100701:00:00','1923100701:00:00','1924032922:59:59','1924032922:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,3,29,23,0,0],[1924,3,30,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,23,59,59],[1924,10,5,0,59,59],
+          '1924032923:00:00','1924033000:00:00','1924100423:59:59','1924100500:59:59' ],
+        [ [1924,10,5,0,0,0],[1924,10,5,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1925,4,5,22,59,59],[1925,4,5,22,59,59],
+          '1924100500:00:00','1924100500:00:00','1925040522:59:59','1925040522:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,5,23,0,0],[1925,4,6,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1925,10,3,23,59,59],[1925,10,4,0,59,59],
+          '1925040523:00:00','1925040600:00:00','1925100323:59:59','1925100400:59:59' ],
+        [ [1925,10,4,0,0,0],[1925,10,4,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1925100400:00:00','1925100400:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,23,59,59],[1926,10,3,0,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100223:59:59','1926100300:59:59' ],
+        [ [1926,10,3,0,0,0],[1926,10,3,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100300:00:00','1926100300:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,23,59,59],[1927,10,2,0,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100123:59:59','1927100200:59:59' ],
+        [ [1927,10,2,0,0,0],[1927,10,2,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,22,59,59],[1928,4,14,22,59,59],
+          '1927100200:00:00','1927100200:00:00','1928041422:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,14,23,0,0],[1928,4,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,23,59,59],[1928,10,7,0,59,59],
+          '1928041423:00:00','1928041500:00:00','1928100623:59:59','1928100700:59:59' ],
+        [ [1928,10,7,0,0,0],[1928,10,7,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,20,22,59,59],[1929,4,20,22,59,59],
+          '1928100700:00:00','1928100700:00:00','1929042022:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,20,23,0,0],[1929,4,21,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,6,1,59,59],[1929,10,6,2,59,59],
+          '1929042023:00:00','1929042100:00:00','1929100601:59:59','1929100602:59:59' ],
+        [ [1929,10,6,2,0,0],[1929,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1930,4,13,1,59,59],[1930,4,13,1,59,59],
+          '1929100602:00:00','1929100602:00:00','1930041301:59:59','1930041301:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,13,2,0,0],[1930,4,13,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1930,10,5,1,59,59],[1930,10,5,2,59,59],
+          '1930041302:00:00','1930041303:00:00','1930100501:59:59','1930100502:59:59' ],
+        [ [1930,10,5,2,0,0],[1930,10,5,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1931,4,19,1,59,59],[1931,4,19,1,59,59],
+          '1930100502:00:00','1930100502:00:00','1931041901:59:59','1931041901:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,19,2,0,0],[1931,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1931,10,4,1,59,59],[1931,10,4,2,59,59],
+          '1931041902:00:00','1931041903:00:00','1931100401:59:59','1931100402:59:59' ],
+        [ [1931,10,4,2,0,0],[1931,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1932,4,3,1,59,59],[1932,4,3,1,59,59],
+          '1931100402:00:00','1931100402:00:00','1932040301:59:59','1932040301:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,3,2,0,0],[1932,4,3,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1932,10,2,1,59,59],[1932,10,2,2,59,59],
+          '1932040302:00:00','1932040303:00:00','1932100201:59:59','1932100202:59:59' ],
+        [ [1932,10,2,2,0,0],[1932,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1933,3,26,1,59,59],[1933,3,26,1,59,59],
+          '1932100202:00:00','1932100202:00:00','1933032601:59:59','1933032601:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,26,2,0,0],[1933,3,26,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1933,10,8,1,59,59],[1933,10,8,2,59,59],
+          '1933032602:00:00','1933032603:00:00','1933100801:59:59','1933100802:59:59' ],
+        [ [1933,10,8,2,0,0],[1933,10,8,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1934,4,8,1,59,59],[1934,4,8,1,59,59],
+          '1933100802:00:00','1933100802:00:00','1934040801:59:59','1934040801:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,8,2,0,0],[1934,4,8,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1934,10,7,1,59,59],[1934,10,7,2,59,59],
+          '1934040802:00:00','1934040803:00:00','1934100701:59:59','1934100702:59:59' ],
+        [ [1934,10,7,2,0,0],[1934,10,7,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1935,3,31,1,59,59],[1935,3,31,1,59,59],
+          '1934100702:00:00','1934100702:00:00','1935033101:59:59','1935033101:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,31,2,0,0],[1935,3,31,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1935,10,6,1,59,59],[1935,10,6,2,59,59],
+          '1935033102:00:00','1935033103:00:00','1935100601:59:59','1935100602:59:59' ],
+        [ [1935,10,6,2,0,0],[1935,10,6,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1936,4,19,1,59,59],[1936,4,19,1,59,59],
+          '1935100602:00:00','1935100602:00:00','1936041901:59:59','1936041901:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,19,2,0,0],[1936,4,19,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1936,10,4,1,59,59],[1936,10,4,2,59,59],
+          '1936041902:00:00','1936041903:00:00','1936100401:59:59','1936100402:59:59' ],
+        [ [1936,10,4,2,0,0],[1936,10,4,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,4,4,1,59,59],[1937,4,4,1,59,59],
+          '1936100402:00:00','1936100402:00:00','1937040401:59:59','1937040401:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,4,2,0,0],[1937,4,4,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,3,1,59,59],[1937,10,3,2,59,59],
+          '1937040402:00:00','1937040403:00:00','1937100301:59:59','1937100302:59:59' ],
+        [ [1937,10,3,2,0,0],[1937,10,3,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,3,27,1,59,59],[1938,3,27,1,59,59],
+          '1937100302:00:00','1937100302:00:00','1938032701:59:59','1938032701:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,27,2,0,0],[1938,3,27,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,10,2,1,59,59],[1938,10,2,2,59,59],
+          '1938032702:00:00','1938032703:00:00','1938100201:59:59','1938100202:59:59' ],
+        [ [1938,10,2,2,0,0],[1938,10,2,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,4,16,1,59,59],[1939,4,16,1,59,59],
+          '1938100202:00:00','1938100202:00:00','1939041601:59:59','1939041601:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,16,2,0,0],[1939,4,16,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,19,1,59,59],[1939,11,19,2,59,59],
+          '1939041602:00:00','1939041603:00:00','1939111901:59:59','1939111902:59:59' ],
+        [ [1939,11,19,2,0,0],[1939,11,19,2,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111902:00:00','1939111902:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1940,5,14,1,59,59],[1940,5,14,2,59,59],
+          '1940022502:00:00','1940022503:00:00','1940051401:59:59','1940051402:59:59' ],
+        [ [1940,5,14,2,0,0],[1940,5,14,4,0,0],'+02:00:00',[2,0,0],
+          'WEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940051402:00:00','1940051404:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'WET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'WEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'WET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'WEST',1,[1944,9,18,0,59,59],[1944,9,18,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944091800:59:59','1944091802:59:59' ],
+        [ [1944,9,18,1,0,0],[1944,9,18,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091801:00:00','1944091802:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,5,19,0,59,59],[1946,5,19,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1946051900:59:59','1946051901:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,19,1,0,0],[1946,5,19,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,7,0,59,59],[1946,10,7,2,59,59],
+          '1946051901:00:00','1946051903:00:00','1946100700:59:59','1946100702:59:59' ],
+        [ [1946,10,7,1,0,0],[1946,10,7,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1946100701:00:00','1946100702:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eumadr00.pm b/lib/Date/Manip/TZ/eumadr00.pm
new file mode 100644
index 0000000..38844ab
--- /dev/null
+++ b/lib/Date/Manip/TZ/eumadr00.pm
@@ -0,0 +1,1069 @@
+package #
+Date::Manip::TZ::eumadr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,23,45,16],'-00:14:44',[0,-14,-44],
+          'LMT',0,[1900,12,31,23,59,59],[1900,12,31,23,45,15],
+          '0001010200:00:00','0001010123:45:16','1900123123:59:59','1900123123:45:15' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,0,0,0],[1901,1,1,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,4,15,22,59,59],[1918,4,15,22,59,59],
+          '1901010100:00:00','1901010100:00:00','1918041522:59:59','1918041522:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,23,0,0],[1918,4,16,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,6,23,59,59],[1918,10,7,0,59,59],
+          '1918041523:00:00','1918041600:00:00','1918100623:59:59','1918100700:59:59' ],
+        [ [1918,10,7,0,0,0],[1918,10,7,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,4,6,22,59,59],[1919,4,6,22,59,59],
+          '1918100700:00:00','1918100700:00:00','1919040622:59:59','1919040622:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,6,23,0,0],[1919,4,7,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,6,23,59,59],[1919,10,7,0,59,59],
+          '1919040623:00:00','1919040700:00:00','1919100623:59:59','1919100700:59:59' ],
+        [ [1919,10,7,0,0,0],[1919,10,7,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,4,16,22,59,59],[1924,4,16,22,59,59],
+          '1919100700:00:00','1919100700:00:00','1924041622:59:59','1924041622:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,4,16,23,0,0],[1924,4,17,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,23,59,59],[1924,10,5,0,59,59],
+          '1924041623:00:00','1924041700:00:00','1924100423:59:59','1924100500:59:59' ],
+        [ [1924,10,5,0,0,0],[1924,10,5,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1924100500:00:00','1924100500:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,23,59,59],[1926,10,3,0,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100223:59:59','1926100300:59:59' ],
+        [ [1926,10,3,0,0,0],[1926,10,3,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100300:00:00','1926100300:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,23,59,59],[1927,10,2,0,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100123:59:59','1927100200:59:59' ],
+        [ [1927,10,2,0,0,0],[1927,10,2,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,23,59,59],[1928,4,14,23,59,59],
+          '1927100200:00:00','1927100200:00:00','1928041423:59:59','1928041423:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,15,0,0,0],[1928,4,15,1,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,23,59,59],[1928,10,7,0,59,59],
+          '1928041500:00:00','1928041501:00:00','1928100623:59:59','1928100700:59:59' ],
+        [ [1928,10,7,0,0,0],[1928,10,7,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,20,22,59,59],[1929,4,20,22,59,59],
+          '1928100700:00:00','1928100700:00:00','1929042022:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,20,23,0,0],[1929,4,21,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,5,23,59,59],[1929,10,6,0,59,59],
+          '1929042023:00:00','1929042100:00:00','1929100523:59:59','1929100600:59:59' ],
+        [ [1929,10,6,0,0,0],[1929,10,6,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,6,16,22,59,59],[1937,6,16,22,59,59],
+          '1929100600:00:00','1929100600:00:00','1937061622:59:59','1937061622:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,6,16,23,0,0],[1937,6,17,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,2,23,59,59],[1937,10,3,0,59,59],
+          '1937061623:00:00','1937061700:00:00','1937100223:59:59','1937100300:59:59' ],
+        [ [1937,10,3,0,0,0],[1937,10,3,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,4,2,22,59,59],[1938,4,2,22,59,59],
+          '1937100300:00:00','1937100300:00:00','1938040222:59:59','1938040222:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,2,23,0,0],[1938,4,3,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,4,30,21,59,59],[1938,4,30,22,59,59],
+          '1938040223:00:00','1938040300:00:00','1938043021:59:59','1938043022:59:59' ],
+        [ [1938,4,30,22,0,0],[1938,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1938,10,2,21,59,59],[1938,10,2,23,59,59],
+          '1938043022:00:00','1938050100:00:00','1938100221:59:59','1938100223:59:59' ],
+        [ [1938,10,2,22,0,0],[1938,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,10,7,23,59,59],[1939,10,8,0,59,59],
+          '1938100222:00:00','1938100223:00:00','1939100723:59:59','1939100800:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,10,8,0,0,0],[1939,10,8,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,3,16,22,59,59],[1940,3,16,22,59,59],
+          '1939100800:00:00','1939100800:00:00','1940031622:59:59','1940031622:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,3,16,23,0,0],[1940,3,17,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1942,5,2,21,59,59],[1942,5,2,22,59,59],
+          '1940031623:00:00','1940031700:00:00','1942050221:59:59','1942050222:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,2,22,0,0],[1942,5,3,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,8,31,22,59,59],[1942,9,1,0,59,59],
+          '1942050222:00:00','1942050300:00:00','1942083122:59:59','1942090100:59:59' ],
+        [ [1942,8,31,23,0,0],[1942,9,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,4,17,21,59,59],[1943,4,17,22,59,59],
+          '1942083123:00:00','1942090100:00:00','1943041721:59:59','1943041722:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,4,17,22,0,0],[1943,4,18,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,2,22,59,59],[1943,10,3,0,59,59],
+          '1943041722:00:00','1943041800:00:00','1943100222:59:59','1943100300:59:59' ],
+        [ [1943,10,2,23,0,0],[1943,10,3,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,15,21,59,59],[1944,4,15,22,59,59],
+          '1943100223:00:00','1943100300:00:00','1944041521:59:59','1944041522:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,15,22,0,0],[1944,4,16,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,30,22,59,59],[1944,10,1,0,59,59],
+          '1944041522:00:00','1944041600:00:00','1944093022:59:59','1944100100:59:59' ],
+        [ [1944,9,30,23,0,0],[1944,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,14,21,59,59],[1945,4,14,22,59,59],
+          '1944093023:00:00','1944100100:00:00','1945041421:59:59','1945041422:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,14,22,0,0],[1945,4,15,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,29,22,59,59],[1945,9,30,0,59,59],
+          '1945041422:00:00','1945041500:00:00','1945092922:59:59','1945093000:59:59' ],
+        [ [1945,9,29,23,0,0],[1945,9,30,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,4,13,21,59,59],[1946,4,13,22,59,59],
+          '1945092923:00:00','1945093000:00:00','1946041321:59:59','1946041322:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,13,22,0,0],[1946,4,14,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,9,28,22,59,59],[1946,9,29,0,59,59],
+          '1946041322:00:00','1946041400:00:00','1946092822:59:59','1946092900:59:59' ],
+        [ [1946,9,28,23,0,0],[1946,9,29,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1949,4,30,21,59,59],[1949,4,30,22,59,59],
+          '1946092823:00:00','1946092900:00:00','1949043021:59:59','1949043022:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,30,22,0,0],[1949,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1949,10,1,22,59,59],[1949,10,2,0,59,59],
+          '1949043022:00:00','1949050100:00:00','1949100122:59:59','1949100200:59:59' ],
+        [ [1949,10,1,23,0,0],[1949,10,2,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1974,4,13,21,59,59],[1974,4,13,22,59,59],
+          '1949100123:00:00','1949100200:00:00','1974041321:59:59','1974041322:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,13,22,0,0],[1974,4,14,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1974,10,5,22,59,59],[1974,10,6,0,59,59],
+          '1974041322:00:00','1974041400:00:00','1974100522:59:59','1974100600:59:59' ],
+        [ [1974,10,5,23,0,0],[1974,10,6,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1975,4,12,21,59,59],[1975,4,12,22,59,59],
+          '1974100523:00:00','1974100600:00:00','1975041221:59:59','1975041222:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,12,22,0,0],[1975,4,13,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1975,10,4,22,59,59],[1975,10,5,0,59,59],
+          '1975041222:00:00','1975041300:00:00','1975100422:59:59','1975100500:59:59' ],
+        [ [1975,10,4,23,0,0],[1975,10,5,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,3,27,21,59,59],[1976,3,27,22,59,59],
+          '1975100423:00:00','1975100500:00:00','1976032721:59:59','1976032722:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,27,22,0,0],[1976,3,28,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,9,25,22,59,59],[1976,9,26,0,59,59],
+          '1976032722:00:00','1976032800:00:00','1976092522:59:59','1976092600:59:59' ],
+        [ [1976,9,25,23,0,0],[1976,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,2,21,59,59],[1977,4,2,22,59,59],
+          '1976092523:00:00','1976092600:00:00','1977040221:59:59','1977040222:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,2,22,0,0],[1977,4,3,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,24,22,59,59],[1977,9,25,0,59,59],
+          '1977040222:00:00','1977040300:00:00','1977092422:59:59','1977092500:59:59' ],
+        [ [1977,9,24,23,0,0],[1977,9,25,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092423:00:00','1977092500:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eumalt00.pm b/lib/Date/Manip/TZ/eumalt00.pm
new file mode 100644
index 0000000..b630e1e
--- /dev/null
+++ b/lib/Date/Manip/TZ/eumalt00.pm
@@ -0,0 +1,1102 @@
+package #
+Date::Manip::TZ::eumalt00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,58,4],'+00:58:04',[0,58,4],
+          'LMT',0,[1893,11,1,23,1,55],[1893,11,1,23,59,59],
+          '0001010200:00:00','0001010200:58:04','1893110123:01:55','1893110123:59:59' ],
+     ],
+   1893 =>
+     [
+        [ [1893,11,1,23,1,56],[1893,11,2,0,1,56],'+01:00:00',[1,0,0],
+          'CET',0,[1916,6,3,22,59,59],[1916,6,3,23,59,59],
+          '1893110123:01:56','1893110200:01:56','1916060322:59:59','1916060323:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,3,23,0,0],[1916,6,4,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,21,59,59],[1916,9,30,23,59,59],
+          '1916060323:00:00','1916060401:00:00','1916093021:59:59','1916093023:59:59' ],
+        [ [1916,9,30,22,0,0],[1916,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,3,31,22,59,59],[1917,3,31,23,59,59],
+          '1916093022:00:00','1916093023:00:00','1917033122:59:59','1917033123:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,31,23,0,0],[1917,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,30,21,59,59],[1917,9,30,23,59,59],
+          '1917033123:00:00','1917040101:00:00','1917093021:59:59','1917093023:59:59' ],
+        [ [1917,9,30,22,0,0],[1917,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,3,9,22,59,59],[1918,3,9,23,59,59],
+          '1917093022:00:00','1917093023:00:00','1918030922:59:59','1918030923:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,9,23,0,0],[1918,3,10,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,10,6,21,59,59],[1918,10,6,23,59,59],
+          '1918030923:00:00','1918031001:00:00','1918100621:59:59','1918100623:59:59' ],
+        [ [1918,10,6,22,0,0],[1918,10,6,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1919,3,1,22,59,59],[1919,3,1,23,59,59],
+          '1918100622:00:00','1918100623:00:00','1919030122:59:59','1919030123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1919,10,4,21,59,59],[1919,10,4,23,59,59],
+          '1919030123:00:00','1919030201:00:00','1919100421:59:59','1919100423:59:59' ],
+        [ [1919,10,4,22,0,0],[1919,10,4,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1920,3,20,22,59,59],[1920,3,20,23,59,59],
+          '1919100422:00:00','1919100423:00:00','1920032022:59:59','1920032023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,20,23,0,0],[1920,3,21,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1920,9,18,21,59,59],[1920,9,18,23,59,59],
+          '1920032023:00:00','1920032101:00:00','1920091821:59:59','1920091823:59:59' ],
+        [ [1920,9,18,22,0,0],[1920,9,18,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,6,14,22,59,59],[1940,6,14,23,59,59],
+          '1920091822:00:00','1920091823:00:00','1940061422:59:59','1940061423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,14,23,0,0],[1940,6,15,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940061423:00:00','1940061501:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,2,0,59,59],[1944,4,2,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040200:59:59','1944040201:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,2,1,0,0],[1944,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040201:00:00','1944040203:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,14,22,59,59],[1945,9,15,0,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091422:59:59','1945091500:59:59' ],
+        [ [1945,9,14,23,0,0],[1945,9,15,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,3,17,0,59,59],[1946,3,17,1,59,59],
+          '1945091423:00:00','1945091500:00:00','1946031700:59:59','1946031701:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,17,1,0,0],[1946,3,17,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,6,0,59,59],[1946,10,6,2,59,59],
+          '1946031701:00:00','1946031703:00:00','1946100600:59:59','1946100602:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,6,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,3,15,22,59,59],[1947,3,15,23,59,59],
+          '1946100601:00:00','1946100602:00:00','1947031522:59:59','1947031523:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,15,23,0,0],[1947,3,16,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,4,22,59,59],[1947,10,5,0,59,59],
+          '1947031523:00:00','1947031601:00:00','1947100422:59:59','1947100500:59:59' ],
+        [ [1947,10,4,23,0,0],[1947,10,5,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,2,29,0,59,59],[1948,2,29,1,59,59],
+          '1947100423:00:00','1947100500:00:00','1948022900:59:59','1948022901:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,2,29,1,0,0],[1948,2,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948022901:00:00','1948022903:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1966,5,21,22,59,59],[1966,5,21,23,59,59],
+          '1948100301:00:00','1948100302:00:00','1966052122:59:59','1966052123:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,5,21,23,0,0],[1966,5,22,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1966,9,24,21,59,59],[1966,9,24,23,59,59],
+          '1966052123:00:00','1966052201:00:00','1966092421:59:59','1966092423:59:59' ],
+        [ [1966,9,24,22,0,0],[1966,9,24,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1967,5,27,22,59,59],[1967,5,27,23,59,59],
+          '1966092422:00:00','1966092423:00:00','1967052722:59:59','1967052723:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,5,27,23,0,0],[1967,5,28,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1967,9,23,22,59,59],[1967,9,24,0,59,59],
+          '1967052723:00:00','1967052801:00:00','1967092322:59:59','1967092400:59:59' ],
+        [ [1967,9,23,23,0,0],[1967,9,24,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1968,5,25,22,59,59],[1968,5,25,23,59,59],
+          '1967092323:00:00','1967092400:00:00','1968052522:59:59','1968052523:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,5,25,23,0,0],[1968,5,26,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1968,9,21,22,59,59],[1968,9,22,0,59,59],
+          '1968052523:00:00','1968052601:00:00','1968092122:59:59','1968092200:59:59' ],
+        [ [1968,9,21,23,0,0],[1968,9,22,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1969,5,31,22,59,59],[1969,5,31,23,59,59],
+          '1968092123:00:00','1968092200:00:00','1969053122:59:59','1969053123:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,5,31,23,0,0],[1969,6,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1969,9,27,22,59,59],[1969,9,28,0,59,59],
+          '1969053123:00:00','1969060101:00:00','1969092722:59:59','1969092800:59:59' ],
+        [ [1969,9,27,23,0,0],[1969,9,28,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1970,5,30,22,59,59],[1970,5,30,23,59,59],
+          '1969092723:00:00','1969092800:00:00','1970053022:59:59','1970053023:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,5,30,23,0,0],[1970,5,31,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1970,9,26,22,59,59],[1970,9,27,0,59,59],
+          '1970053023:00:00','1970053101:00:00','1970092622:59:59','1970092700:59:59' ],
+        [ [1970,9,26,23,0,0],[1970,9,27,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1971,5,22,22,59,59],[1971,5,22,23,59,59],
+          '1970092623:00:00','1970092700:00:00','1971052222:59:59','1971052223:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,5,22,23,0,0],[1971,5,23,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1971,9,25,22,59,59],[1971,9,26,0,59,59],
+          '1971052223:00:00','1971052301:00:00','1971092522:59:59','1971092600:59:59' ],
+        [ [1971,9,25,23,0,0],[1971,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1972,5,27,22,59,59],[1972,5,27,23,59,59],
+          '1971092523:00:00','1971092600:00:00','1972052722:59:59','1972052723:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,5,27,23,0,0],[1972,5,28,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1972,9,30,22,59,59],[1972,10,1,0,59,59],
+          '1972052723:00:00','1972052801:00:00','1972093022:59:59','1972100100:59:59' ],
+        [ [1972,9,30,23,0,0],[1972,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1973,3,30,22,59,59],[1973,3,30,23,59,59],
+          '1972093023:00:00','1972100100:00:00','1973033022:59:59','1973033023:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,30,23,0,0],[1973,3,31,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1973,9,28,22,59,59],[1973,9,29,0,59,59],
+          '1973033023:00:00','1973033101:00:00','1973092822:59:59','1973092900:59:59' ],
+        [ [1973,9,28,23,0,0],[1973,9,29,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1974,4,20,22,59,59],[1974,4,20,23,59,59],
+          '1973092823:00:00','1973092900:00:00','1974042022:59:59','1974042023:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,4,20,23,0,0],[1974,4,21,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1974,9,15,22,59,59],[1974,9,16,0,59,59],
+          '1974042023:00:00','1974042101:00:00','1974091522:59:59','1974091600:59:59' ],
+        [ [1974,9,15,23,0,0],[1974,9,16,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1975,4,20,0,59,59],[1975,4,20,1,59,59],
+          '1974091523:00:00','1974091600:00:00','1975042000:59:59','1975042001:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,20,1,0,0],[1975,4,20,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1975,9,20,23,59,59],[1975,9,21,1,59,59],
+          '1975042001:00:00','1975042003:00:00','1975092023:59:59','1975092101:59:59' ],
+        [ [1975,9,21,0,0,0],[1975,9,21,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,4,18,0,59,59],[1976,4,18,1,59,59],
+          '1975092100:00:00','1975092101:00:00','1976041800:59:59','1976041801:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,4,18,1,0,0],[1976,4,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,9,18,23,59,59],[1976,9,19,1,59,59],
+          '1976041801:00:00','1976041803:00:00','1976091823:59:59','1976091901:59:59' ],
+        [ [1976,9,19,0,0,0],[1976,9,19,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,17,0,59,59],[1977,4,17,1,59,59],
+          '1976091900:00:00','1976091901:00:00','1977041700:59:59','1977041701:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,17,1,0,0],[1977,4,17,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,17,23,59,59],[1977,9,18,1,59,59],
+          '1977041701:00:00','1977041703:00:00','1977091723:59:59','1977091801:59:59' ],
+        [ [1977,9,18,0,0,0],[1977,9,18,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,16,0,59,59],[1978,4,16,1,59,59],
+          '1977091800:00:00','1977091801:00:00','1978041600:59:59','1978041601:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,16,1,0,0],[1978,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,16,23,59,59],[1978,9,17,1,59,59],
+          '1978041601:00:00','1978041603:00:00','1978091623:59:59','1978091701:59:59' ],
+        [ [1978,9,17,0,0,0],[1978,9,17,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,15,0,59,59],[1979,4,15,1,59,59],
+          '1978091700:00:00','1978091701:00:00','1979041500:59:59','1979041501:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,15,1,0,0],[1979,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,15,23,59,59],[1979,9,16,1,59,59],
+          '1979041501:00:00','1979041503:00:00','1979091523:59:59','1979091601:59:59' ],
+        [ [1979,9,16,0,0,0],[1979,9,16,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,3,31,0,59,59],[1980,3,31,1,59,59],
+          '1979091600:00:00','1979091601:00:00','1980033100:59:59','1980033101:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,31,1,0,0],[1980,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,20,23,59,59],[1980,9,21,1,59,59],
+          '1980033101:00:00','1980033103:00:00','1980092023:59:59','1980092101:59:59' ],
+        [ [1980,9,21,0,0,0],[1980,9,21,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092100:00:00','1980092101:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eumins00.pm b/lib/Date/Manip/TZ/eumins00.pm
new file mode 100644
index 0000000..b91bc47
--- /dev/null
+++ b/lib/Date/Manip/TZ/eumins00.pm
@@ -0,0 +1,358 @@
+package #
+Date::Manip::TZ::eumins00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,50,16],'+01:50:16',[1,50,16],
+          'LMT',0,[1879,12,31,22,9,43],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:50:16','1879123122:09:43','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,9,44],[1879,12,31,23,59,44],'+01:50:00',[1,50,0],
+          'MMT',0,[1924,5,1,22,9,59],[1924,5,1,23,59,59],
+          '1879123122:09:44','1879123123:59:44','1924050122:09:59','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,22,10,0],[1924,5,2,0,10,0],'+02:00:00',[2,0,0],
+          'EET',0,[1930,6,20,21,59,59],[1930,6,20,23,59,59],
+          '1924050122:10:00','1924050200:10:00','1930062021:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,22,0,0],[1930,6,21,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,6,27,20,59,59],[1941,6,27,23,59,59],
+          '1930062022:00:00','1930062101:00:00','1941062720:59:59','1941062723:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,27,21,0,0],[1941,6,27,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941062721:00:00','1941062723:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,7,2,21,59,59],[1944,7,2,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944070221:59:59','1944070223:59:59' ],
+        [ [1944,7,2,22,0,0],[1944,7,3,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944070222:00:00','1944070301:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,23,59,59],[1992,3,29,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032823:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,0,0,0],[1992,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,23,59,59],[1992,9,27,2,59,59],
+          '1992032900:00:00','1992032903:00:00','1992092623:59:59','1992092702:59:59' ],
+        [ [1992,9,27,0,0,0],[1992,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,23,59,59],[1993,3,28,1,59,59],
+          '1992092700:00:00','1992092702:00:00','1993032723:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,0,0,0],[1993,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,23,59,59],[1993,9,26,2,59,59],
+          '1993032800:00:00','1993032803:00:00','1993092523:59:59','1993092602:59:59' ],
+        [ [1993,9,26,0,0,0],[1993,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,23,59,59],[1994,3,27,1,59,59],
+          '1993092600:00:00','1993092602:00:00','1994032623:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,0,0,0],[1994,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,23,59,59],[1994,9,25,2,59,59],
+          '1994032700:00:00','1994032703:00:00','1994092423:59:59','1994092502:59:59' ],
+        [ [1994,9,25,0,0,0],[1994,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,23,59,59],[1995,3,26,1,59,59],
+          '1994092500:00:00','1994092502:00:00','1995032523:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,0,0,0],[1995,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,23,59,59],[1995,9,24,2,59,59],
+          '1995032600:00:00','1995032603:00:00','1995092323:59:59','1995092402:59:59' ],
+        [ [1995,9,24,0,0,0],[1995,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,23,59,59],[1996,3,31,1,59,59],
+          '1995092400:00:00','1995092402:00:00','1996033023:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,0,0,0],[1996,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,23,59,59],[1996,10,27,2,59,59],
+          '1996033100:00:00','1996033103:00:00','1996102623:59:59','1996102702:59:59' ],
+        [ [1996,10,27,0,0,0],[1996,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,23,59,59],[1997,3,30,1,59,59],
+          '1996102700:00:00','1996102702:00:00','1997032923:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,23,59,59],[1997,10,26,2,59,59],
+          '1997033000:00:00','1997033003:00:00','1997102523:59:59','1997102602:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,23,59,59],[1998,3,29,1,59,59],
+          '1997102600:00:00','1997102602:00:00','1998032823:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,0,0,0],[1998,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,24,23,59,59],[1998,10,25,2,59,59],
+          '1998032900:00:00','1998032903:00:00','1998102423:59:59','1998102502:59:59' ],
+        [ [1998,10,25,0,0,0],[1998,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,27,23,59,59],[1999,3,28,1,59,59],
+          '1998102500:00:00','1998102502:00:00','1999032723:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,0,0,0],[1999,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,30,23,59,59],[1999,10,31,2,59,59],
+          '1999032800:00:00','1999032803:00:00','1999103023:59:59','1999103102:59:59' ],
+        [ [1999,10,31,0,0,0],[1999,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,25,23,59,59],[2000,3,26,1,59,59],
+          '1999103100:00:00','1999103102:00:00','2000032523:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,0,0,0],[2000,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,28,23,59,59],[2000,10,29,2,59,59],
+          '2000032600:00:00','2000032603:00:00','2000102823:59:59','2000102902:59:59' ],
+        [ [2000,10,29,0,0,0],[2000,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,24,23,59,59],[2001,3,25,1,59,59],
+          '2000102900:00:00','2000102902:00:00','2001032423:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,0,0,0],[2001,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,27,23,59,59],[2001,10,28,2,59,59],
+          '2001032500:00:00','2001032503:00:00','2001102723:59:59','2001102802:59:59' ],
+        [ [2001,10,28,0,0,0],[2001,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,30,23,59,59],[2002,3,31,1,59,59],
+          '2001102800:00:00','2001102802:00:00','2002033023:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,0,0,0],[2002,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,26,23,59,59],[2002,10,27,2,59,59],
+          '2002033100:00:00','2002033103:00:00','2002102623:59:59','2002102702:59:59' ],
+        [ [2002,10,27,0,0,0],[2002,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,29,23,59,59],[2003,3,30,1,59,59],
+          '2002102700:00:00','2002102702:00:00','2003032923:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,0,0,0],[2003,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,25,23,59,59],[2003,10,26,2,59,59],
+          '2003033000:00:00','2003033003:00:00','2003102523:59:59','2003102602:59:59' ],
+        [ [2003,10,26,0,0,0],[2003,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,27,23,59,59],[2004,3,28,1,59,59],
+          '2003102600:00:00','2003102602:00:00','2004032723:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,0,0,0],[2004,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,30,23,59,59],[2004,10,31,2,59,59],
+          '2004032800:00:00','2004032803:00:00','2004103023:59:59','2004103102:59:59' ],
+        [ [2004,10,31,0,0,0],[2004,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,26,23,59,59],[2005,3,27,1,59,59],
+          '2004103100:00:00','2004103102:00:00','2005032623:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,0,0,0],[2005,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,29,23,59,59],[2005,10,30,2,59,59],
+          '2005032700:00:00','2005032703:00:00','2005102923:59:59','2005103002:59:59' ],
+        [ [2005,10,30,0,0,0],[2005,10,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,25,23,59,59],[2006,3,26,1,59,59],
+          '2005103000:00:00','2005103002:00:00','2006032523:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,0,0,0],[2006,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,28,23,59,59],[2006,10,29,2,59,59],
+          '2006032600:00:00','2006032603:00:00','2006102823:59:59','2006102902:59:59' ],
+        [ [2006,10,29,0,0,0],[2006,10,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,24,23,59,59],[2007,3,25,1,59,59],
+          '2006102900:00:00','2006102902:00:00','2007032423:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,0,0,0],[2007,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,27,23,59,59],[2007,10,28,2,59,59],
+          '2007032500:00:00','2007032503:00:00','2007102723:59:59','2007102802:59:59' ],
+        [ [2007,10,28,0,0,0],[2007,10,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,29,23,59,59],[2008,3,30,1,59,59],
+          '2007102800:00:00','2007102802:00:00','2008032923:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,0,0,0],[2008,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,25,23,59,59],[2008,10,26,2,59,59],
+          '2008033000:00:00','2008033003:00:00','2008102523:59:59','2008102602:59:59' ],
+        [ [2008,10,26,0,0,0],[2008,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,28,23,59,59],[2009,3,29,1,59,59],
+          '2008102600:00:00','2008102602:00:00','2009032823:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,0,0,0],[2009,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,24,23,59,59],[2009,10,25,2,59,59],
+          '2009032900:00:00','2009032903:00:00','2009102423:59:59','2009102502:59:59' ],
+        [ [2009,10,25,0,0,0],[2009,10,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,27,23,59,59],[2010,3,28,1,59,59],
+          '2009102500:00:00','2009102502:00:00','2010032723:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,0,0,0],[2010,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,30,23,59,59],[2010,10,31,2,59,59],
+          '2010032800:00:00','2010032803:00:00','2010103023:59:59','2010103102:59:59' ],
+        [ [2010,10,31,0,0,0],[2010,10,31,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,26,23,59,59],[2011,3,27,1,59,59],
+          '2010103100:00:00','2010103102:00:00','2011032623:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,0,0,0],[2011,3,27,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2011032700:00:00','2011032703:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eumona00.pm b/lib/Date/Manip/TZ/eumona00.pm
new file mode 100644
index 0000000..3e28194
--- /dev/null
+++ b/lib/Date/Manip/TZ/eumona00.pm
@@ -0,0 +1,1174 @@
+package #
+Date::Manip::TZ::eumona00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,29,32],'+00:29:32',[0,29,32],
+          'LMT',0,[1891,3,14,23,30,27],[1891,3,14,23,59,59],
+          '0001010200:00:00','0001010200:29:32','1891031423:30:27','1891031423:59:59' ],
+     ],
+   1891 =>
+     [
+        [ [1891,3,14,23,30,28],[1891,3,14,23,39,49],'+00:09:21',[0,9,21],
+          'PMT',0,[1911,3,10,23,50,38],[1911,3,10,23,59,59],
+          '1891031423:30:28','1891031423:39:49','1911031023:50:38','1911031023:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,3,10,23,50,39],[1911,3,10,23,50,39],'+00:00:00',[0,0,0],
+          'WET',0,[1916,6,14,22,59,59],[1916,6,14,22,59,59],
+          '1911031023:50:39','1911031023:50:39','1916061422:59:59','1916061422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,14,23,0,0],[1916,6,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1916,10,1,22,59,59],[1916,10,1,23,59,59],
+          '1916061423:00:00','1916061500:00:00','1916100122:59:59','1916100123:59:59' ],
+        [ [1916,10,1,23,0,0],[1916,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1917,3,24,22,59,59],[1917,3,24,22,59,59],
+          '1916100123:00:00','1916100123:00:00','1917032422:59:59','1917032422:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,23,0,0],[1917,3,25,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1917,10,7,22,59,59],[1917,10,7,23,59,59],
+          '1917032423:00:00','1917032500:00:00','1917100722:59:59','1917100723:59:59' ],
+        [ [1917,10,7,23,0,0],[1917,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,3,9,22,59,59],[1918,3,9,22,59,59],
+          '1917100723:00:00','1917100723:00:00','1918030922:59:59','1918030922:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,9,23,0,0],[1918,3,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,6,22,59,59],[1918,10,6,23,59,59],
+          '1918030923:00:00','1918031000:00:00','1918100622:59:59','1918100623:59:59' ],
+        [ [1918,10,6,23,0,0],[1918,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,3,1,22,59,59],[1919,3,1,22,59,59],
+          '1918100623:00:00','1918100623:00:00','1919030122:59:59','1919030122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,5,22,59,59],[1919,10,5,23,59,59],
+          '1919030123:00:00','1919030200:00:00','1919100522:59:59','1919100523:59:59' ],
+        [ [1919,10,5,23,0,0],[1919,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,14,22,59,59],[1920,2,14,22,59,59],
+          '1919100523:00:00','1919100523:00:00','1920021422:59:59','1920021422:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,14,23,0,0],[1920,2,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,23,22,59,59],[1920,10,23,23,59,59],
+          '1920021423:00:00','1920021500:00:00','1920102322:59:59','1920102323:59:59' ],
+        [ [1920,10,23,23,0,0],[1920,10,23,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,3,14,22,59,59],[1921,3,14,22,59,59],
+          '1920102323:00:00','1920102323:00:00','1921031422:59:59','1921031422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,14,23,0,0],[1921,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,10,25,22,59,59],[1921,10,25,23,59,59],
+          '1921031423:00:00','1921031500:00:00','1921102522:59:59','1921102523:59:59' ],
+        [ [1921,10,25,23,0,0],[1921,10,25,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1922,3,25,22,59,59],[1922,3,25,22,59,59],
+          '1921102523:00:00','1921102523:00:00','1922032522:59:59','1922032522:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,23,0,0],[1922,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1922,10,7,22,59,59],[1922,10,7,23,59,59],
+          '1922032523:00:00','1922032600:00:00','1922100722:59:59','1922100723:59:59' ],
+        [ [1922,10,7,23,0,0],[1922,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1923,5,26,22,59,59],[1923,5,26,22,59,59],
+          '1922100723:00:00','1922100723:00:00','1923052622:59:59','1923052622:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,26,23,0,0],[1923,5,27,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1923,10,6,22,59,59],[1923,10,6,23,59,59],
+          '1923052623:00:00','1923052700:00:00','1923100622:59:59','1923100623:59:59' ],
+        [ [1923,10,6,23,0,0],[1923,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,3,29,22,59,59],[1924,3,29,22,59,59],
+          '1923100623:00:00','1923100623:00:00','1924032922:59:59','1924032922:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,3,29,23,0,0],[1924,3,30,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,22,59,59],[1924,10,4,23,59,59],
+          '1924032923:00:00','1924033000:00:00','1924100422:59:59','1924100423:59:59' ],
+        [ [1924,10,4,23,0,0],[1924,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1925,4,4,22,59,59],[1925,4,4,22,59,59],
+          '1924100423:00:00','1924100423:00:00','1925040422:59:59','1925040422:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,4,23,0,0],[1925,4,5,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1925,10,3,22,59,59],[1925,10,3,23,59,59],
+          '1925040423:00:00','1925040500:00:00','1925100322:59:59','1925100323:59:59' ],
+        [ [1925,10,3,23,0,0],[1925,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1925100323:00:00','1925100323:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,22,59,59],[1926,10,2,23,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100222:59:59','1926100223:59:59' ],
+        [ [1926,10,2,23,0,0],[1926,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100223:00:00','1926100223:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,22,59,59],[1927,10,1,23,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100122:59:59','1927100123:59:59' ],
+        [ [1927,10,1,23,0,0],[1927,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,22,59,59],[1928,4,14,22,59,59],
+          '1927100123:00:00','1927100123:00:00','1928041422:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,14,23,0,0],[1928,4,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,22,59,59],[1928,10,6,23,59,59],
+          '1928041423:00:00','1928041500:00:00','1928100622:59:59','1928100623:59:59' ],
+        [ [1928,10,6,23,0,0],[1928,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,20,22,59,59],[1929,4,20,22,59,59],
+          '1928100623:00:00','1928100623:00:00','1929042022:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,20,23,0,0],[1929,4,21,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,5,22,59,59],[1929,10,5,23,59,59],
+          '1929042023:00:00','1929042100:00:00','1929100522:59:59','1929100523:59:59' ],
+        [ [1929,10,5,23,0,0],[1929,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1930,4,12,22,59,59],[1930,4,12,22,59,59],
+          '1929100523:00:00','1929100523:00:00','1930041222:59:59','1930041222:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,12,23,0,0],[1930,4,13,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1930,10,4,22,59,59],[1930,10,4,23,59,59],
+          '1930041223:00:00','1930041300:00:00','1930100422:59:59','1930100423:59:59' ],
+        [ [1930,10,4,23,0,0],[1930,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1931,4,18,22,59,59],[1931,4,18,22,59,59],
+          '1930100423:00:00','1930100423:00:00','1931041822:59:59','1931041822:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,18,23,0,0],[1931,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1931,10,3,22,59,59],[1931,10,3,23,59,59],
+          '1931041823:00:00','1931041900:00:00','1931100322:59:59','1931100323:59:59' ],
+        [ [1931,10,3,23,0,0],[1931,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1932,4,2,22,59,59],[1932,4,2,22,59,59],
+          '1931100323:00:00','1931100323:00:00','1932040222:59:59','1932040222:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,2,23,0,0],[1932,4,3,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1932,10,1,22,59,59],[1932,10,1,23,59,59],
+          '1932040223:00:00','1932040300:00:00','1932100122:59:59','1932100123:59:59' ],
+        [ [1932,10,1,23,0,0],[1932,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1933,3,25,22,59,59],[1933,3,25,22,59,59],
+          '1932100123:00:00','1932100123:00:00','1933032522:59:59','1933032522:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,25,23,0,0],[1933,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1933,10,7,22,59,59],[1933,10,7,23,59,59],
+          '1933032523:00:00','1933032600:00:00','1933100722:59:59','1933100723:59:59' ],
+        [ [1933,10,7,23,0,0],[1933,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1934,4,7,22,59,59],[1934,4,7,22,59,59],
+          '1933100723:00:00','1933100723:00:00','1934040722:59:59','1934040722:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,7,23,0,0],[1934,4,8,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1934,10,6,22,59,59],[1934,10,6,23,59,59],
+          '1934040723:00:00','1934040800:00:00','1934100622:59:59','1934100623:59:59' ],
+        [ [1934,10,6,23,0,0],[1934,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1935,3,30,22,59,59],[1935,3,30,22,59,59],
+          '1934100623:00:00','1934100623:00:00','1935033022:59:59','1935033022:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,30,23,0,0],[1935,3,31,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1935,10,5,22,59,59],[1935,10,5,23,59,59],
+          '1935033023:00:00','1935033100:00:00','1935100522:59:59','1935100523:59:59' ],
+        [ [1935,10,5,23,0,0],[1935,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1936,4,18,22,59,59],[1936,4,18,22,59,59],
+          '1935100523:00:00','1935100523:00:00','1936041822:59:59','1936041822:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,18,23,0,0],[1936,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1936,10,3,22,59,59],[1936,10,3,23,59,59],
+          '1936041823:00:00','1936041900:00:00','1936100322:59:59','1936100323:59:59' ],
+        [ [1936,10,3,23,0,0],[1936,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,4,3,22,59,59],[1937,4,3,22,59,59],
+          '1936100323:00:00','1936100323:00:00','1937040322:59:59','1937040322:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,3,23,0,0],[1937,4,4,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,2,22,59,59],[1937,10,2,23,59,59],
+          '1937040323:00:00','1937040400:00:00','1937100222:59:59','1937100223:59:59' ],
+        [ [1937,10,2,23,0,0],[1937,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,3,26,22,59,59],[1938,3,26,22,59,59],
+          '1937100223:00:00','1937100223:00:00','1938032622:59:59','1938032622:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,26,23,0,0],[1938,3,27,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,10,1,22,59,59],[1938,10,1,23,59,59],
+          '1938032623:00:00','1938032700:00:00','1938100122:59:59','1938100123:59:59' ],
+        [ [1938,10,1,23,0,0],[1938,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,4,15,22,59,59],[1939,4,15,22,59,59],
+          '1938100123:00:00','1938100123:00:00','1939041522:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,15,23,0,0],[1939,4,16,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,18,22,59,59],[1939,11,18,23,59,59],
+          '1939041523:00:00','1939041600:00:00','1939111822:59:59','1939111823:59:59' ],
+        [ [1939,11,18,23,0,0],[1939,11,18,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111823:00:00','1939111823:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1941,5,4,22,59,59],[1941,5,4,23,59,59],
+          '1940022502:00:00','1940022503:00:00','1941050422:59:59','1941050423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,4,23,0,0],[1941,5,5,1,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1941,10,5,21,59,59],[1941,10,5,23,59,59],
+          '1941050423:00:00','1941050501:00:00','1941100521:59:59','1941100523:59:59' ],
+        [ [1941,10,5,22,0,0],[1941,10,5,23,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1942,3,8,22,59,59],[1942,3,8,23,59,59],
+          '1941100522:00:00','1941100523:00:00','1942030822:59:59','1942030823:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,8,23,0,0],[1942,3,9,1,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1942030823:00:00','1942030901:00:00','1942110200:59:59','1942110202:59:59' ],
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1944,10,7,22,59,59],[1944,10,8,0,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100722:59:59','1944100800:59:59' ],
+        [ [1944,10,7,23,0,0],[1944,10,8,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100723:00:00','1944100800:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,3,27,23,59,59],[1976,3,28,0,59,59],
+          '1945091601:00:00','1945091602:00:00','1976032723:59:59','1976032800:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,28,0,0,0],[1976,3,28,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,9,25,22,59,59],[1976,9,26,0,59,59],
+          '1976032800:00:00','1976032802:00:00','1976092522:59:59','1976092600:59:59' ],
+        [ [1976,9,25,23,0,0],[1976,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1976092523:00:00','1976092600:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eumosc00.pm b/lib/Date/Manip/TZ/eumosc00.pm
new file mode 100644
index 0000000..09966ba
--- /dev/null
+++ b/lib/Date/Manip/TZ/eumosc00.pm
@@ -0,0 +1,397 @@
+package #
+Date::Manip::TZ::eumosc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,30,17],'+02:30:17',[2,30,17],
+          'LMT',0,[1879,12,31,21,29,42],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:30:17','1879123121:29:42','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,29,43],[1880,1,1,0,0,0],'+02:30:17',[2,30,17],
+          'MMT',0,[1916,7,2,21,29,42],[1916,7,2,23,59,59],
+          '1879123121:29:43','1880010100:00:00','1916070221:29:42','1916070223:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,7,2,21,29,43],[1916,7,3,0,1,2],'+02:31:19',[2,31,19],
+          'MMT',0,[1917,7,1,20,28,40],[1917,7,1,22,59,59],
+          '1916070221:29:43','1916070300:01:02','1917070120:28:40','1917070122:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,7,1,20,28,41],[1917,7,2,0,0,0],'+03:31:19',[3,31,19],
+          'MST',1,[1917,12,27,20,28,40],[1917,12,27,23,59,59],
+          '1917070120:28:41','1917070200:00:00','1917122720:28:40','1917122723:59:59' ],
+        [ [1917,12,27,20,28,41],[1917,12,27,23,0,0],'+02:31:19',[2,31,19],
+          'MMT',0,[1918,5,31,19,28,40],[1918,5,31,21,59,59],
+          '1917122720:28:41','1917122723:00:00','1918053119:28:40','1918053121:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,5,31,19,28,41],[1918,6,1,0,0,0],'+04:31:19',[4,31,19],
+          'MDST',1,[1918,9,15,20,28,40],[1918,9,16,0,59,59],
+          '1918053119:28:41','1918060100:00:00','1918091520:28:40','1918091600:59:59' ],
+        [ [1918,9,15,20,28,41],[1918,9,16,0,0,0],'+03:31:19',[3,31,19],
+          'MST',1,[1919,5,31,19,28,40],[1919,5,31,22,59,59],
+          '1918091520:28:41','1918091600:00:00','1919053119:28:40','1919053122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,5,31,19,28,41],[1919,6,1,0,0,0],'+04:31:19',[4,31,19],
+          'MDST',1,[1919,6,30,23,59,59],[1919,7,1,4,31,18],
+          '1919053119:28:41','1919060100:00:00','1919063023:59:59','1919070104:31:18' ],
+        [ [1919,7,1,0,0,0],[1919,7,1,4,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1919,8,15,19,59,59],[1919,8,15,23,59,59],
+          '1919070100:00:00','1919070104:00:00','1919081519:59:59','1919081523:59:59' ],
+        [ [1919,8,15,20,0,0],[1919,8,15,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1921,2,14,19,59,59],[1921,2,14,22,59,59],
+          '1919081520:00:00','1919081523:00:00','1921021419:59:59','1921021422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,2,14,20,0,0],[1921,2,15,0,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1921,3,20,18,59,59],[1921,3,20,22,59,59],
+          '1921021420:00:00','1921021500:00:00','1921032018:59:59','1921032022:59:59' ],
+        [ [1921,3,20,19,0,0],[1921,3,21,0,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1921,8,31,18,59,59],[1921,8,31,23,59,59],
+          '1921032019:00:00','1921032100:00:00','1921083118:59:59','1921083123:59:59' ],
+        [ [1921,8,31,19,0,0],[1921,8,31,23,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1921,9,30,19,59,59],[1921,9,30,23,59,59],
+          '1921083119:00:00','1921083123:00:00','1921093019:59:59','1921093023:59:59' ],
+        [ [1921,9,30,20,0,0],[1921,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1922,9,30,20,59,59],[1922,9,30,23,59,59],
+          '1921093020:00:00','1921093023:00:00','1922093020:59:59','1922093023:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,9,30,21,0,0],[1922,9,30,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1930,6,20,21,59,59],[1930,6,20,23,59,59],
+          '1922093021:00:00','1922093023:00:00','1930062021:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,22,0,0],[1930,6,21,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1930062022:00:00','1930062101:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,1,18,23,59,59],[1992,1,19,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992011823:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,19,0,0,0],[1992,1,19,3,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1992,3,28,22,59,59],[1992,3,29,1,59,59],
+          '1992011900:00:00','1992011903:00:00','1992032822:59:59','1992032901:59:59' ],
+        [ [1992,3,28,23,0,0],[1992,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032823:00:00','1992032903:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSK',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2014102522:00:00','2014102601:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euoslo00.pm b/lib/Date/Manip/TZ/euoslo00.pm
new file mode 100644
index 0000000..7b26a11
--- /dev/null
+++ b/lib/Date/Manip/TZ/euoslo00.pm
@@ -0,0 +1,976 @@
+package #
+Date::Manip::TZ::euoslo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,43,0],'+00:43:00',[0,43,0],
+          'LMT',0,[1894,12,31,23,16,59],[1894,12,31,23,59,59],
+          '0001010200:00:00','0001010200:43:00','1894123123:16:59','1894123123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,12,31,23,17,0],[1895,1,1,0,17,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,5,21,23,59,59],[1916,5,22,0,59,59],
+          '1894123123:17:00','1895010100:17:00','1916052123:59:59','1916052200:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,22,0,0,0],[1916,5,22,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,29,21,59,59],[1916,9,29,23,59,59],
+          '1916052200:00:00','1916052202:00:00','1916092921:59:59','1916092923:59:59' ],
+        [ [1916,9,29,22,0,0],[1916,9,29,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,8,10,21,59,59],[1940,8,10,22,59,59],
+          '1916092922:00:00','1916092923:00:00','1940081021:59:59','1940081022:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,8,10,22,0,0],[1940,8,11,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940081022:00:00','1940081100:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,10,1,0,59,59],[1945,10,1,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945100100:59:59','1945100102:59:59' ],
+        [ [1945,10,1,1,0,0],[1945,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1959,3,15,0,59,59],[1959,3,15,1,59,59],
+          '1945100101:00:00','1945100102:00:00','1959031500:59:59','1959031501:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,3,15,1,0,0],[1959,3,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1959,9,20,0,59,59],[1959,9,20,2,59,59],
+          '1959031501:00:00','1959031503:00:00','1959092000:59:59','1959092002:59:59' ],
+        [ [1959,9,20,1,0,0],[1959,9,20,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1960,3,20,0,59,59],[1960,3,20,1,59,59],
+          '1959092001:00:00','1959092002:00:00','1960032000:59:59','1960032001:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,3,20,1,0,0],[1960,3,20,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1960,9,18,0,59,59],[1960,9,18,2,59,59],
+          '1960032001:00:00','1960032003:00:00','1960091800:59:59','1960091802:59:59' ],
+        [ [1960,9,18,1,0,0],[1960,9,18,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1961,3,19,0,59,59],[1961,3,19,1,59,59],
+          '1960091801:00:00','1960091802:00:00','1961031900:59:59','1961031901:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,3,19,1,0,0],[1961,3,19,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1961,9,17,0,59,59],[1961,9,17,2,59,59],
+          '1961031901:00:00','1961031903:00:00','1961091700:59:59','1961091702:59:59' ],
+        [ [1961,9,17,1,0,0],[1961,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1962,3,18,0,59,59],[1962,3,18,1,59,59],
+          '1961091701:00:00','1961091702:00:00','1962031800:59:59','1962031801:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,3,18,1,0,0],[1962,3,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1962,9,16,0,59,59],[1962,9,16,2,59,59],
+          '1962031801:00:00','1962031803:00:00','1962091600:59:59','1962091602:59:59' ],
+        [ [1962,9,16,1,0,0],[1962,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1963,3,17,0,59,59],[1963,3,17,1,59,59],
+          '1962091601:00:00','1962091602:00:00','1963031700:59:59','1963031701:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,3,17,1,0,0],[1963,3,17,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1963,9,15,0,59,59],[1963,9,15,2,59,59],
+          '1963031701:00:00','1963031703:00:00','1963091500:59:59','1963091502:59:59' ],
+        [ [1963,9,15,1,0,0],[1963,9,15,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1964,3,15,0,59,59],[1964,3,15,1,59,59],
+          '1963091501:00:00','1963091502:00:00','1964031500:59:59','1964031501:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,3,15,1,0,0],[1964,3,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1964,9,20,0,59,59],[1964,9,20,2,59,59],
+          '1964031501:00:00','1964031503:00:00','1964092000:59:59','1964092002:59:59' ],
+        [ [1964,9,20,1,0,0],[1964,9,20,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1965,4,25,0,59,59],[1965,4,25,1,59,59],
+          '1964092001:00:00','1964092002:00:00','1965042500:59:59','1965042501:59:59' ],
+     ],
+   1965 =>
+     [
+        [ [1965,4,25,1,0,0],[1965,4,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1965,9,19,0,59,59],[1965,9,19,2,59,59],
+          '1965042501:00:00','1965042503:00:00','1965091900:59:59','1965091902:59:59' ],
+        [ [1965,9,19,1,0,0],[1965,9,19,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1965091901:00:00','1965091902:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eupari00.pm b/lib/Date/Manip/TZ/eupari00.pm
new file mode 100644
index 0000000..bbf0f2c
--- /dev/null
+++ b/lib/Date/Manip/TZ/eupari00.pm
@@ -0,0 +1,1168 @@
+package #
+Date::Manip::TZ::eupari00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,9,21],'+00:09:21',[0,9,21],
+          'LMT',0,[1891,3,14,23,51,38],[1891,3,15,0,0,59],
+          '0001010200:00:00','0001010200:09:21','1891031423:51:38','1891031500:00:59' ],
+     ],
+   1891 =>
+     [
+        [ [1891,3,14,23,51,39],[1891,3,15,0,1,0],'+00:09:21',[0,9,21],
+          'PMT',0,[1911,3,10,23,51,38],[1911,3,11,0,0,59],
+          '1891031423:51:39','1891031500:01:00','1911031023:51:38','1911031100:00:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,3,10,23,51,39],[1911,3,10,23,51,39],'+00:00:00',[0,0,0],
+          'WET',0,[1916,6,14,22,59,59],[1916,6,14,22,59,59],
+          '1911031023:51:39','1911031023:51:39','1916061422:59:59','1916061422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,14,23,0,0],[1916,6,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1916,10,1,22,59,59],[1916,10,1,23,59,59],
+          '1916061423:00:00','1916061500:00:00','1916100122:59:59','1916100123:59:59' ],
+        [ [1916,10,1,23,0,0],[1916,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1917,3,24,22,59,59],[1917,3,24,22,59,59],
+          '1916100123:00:00','1916100123:00:00','1917032422:59:59','1917032422:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,24,23,0,0],[1917,3,25,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1917,10,7,22,59,59],[1917,10,7,23,59,59],
+          '1917032423:00:00','1917032500:00:00','1917100722:59:59','1917100723:59:59' ],
+        [ [1917,10,7,23,0,0],[1917,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1918,3,9,22,59,59],[1918,3,9,22,59,59],
+          '1917100723:00:00','1917100723:00:00','1918030922:59:59','1918030922:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,9,23,0,0],[1918,3,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1918,10,6,22,59,59],[1918,10,6,23,59,59],
+          '1918030923:00:00','1918031000:00:00','1918100622:59:59','1918100623:59:59' ],
+        [ [1918,10,6,23,0,0],[1918,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1919,3,1,22,59,59],[1919,3,1,22,59,59],
+          '1918100623:00:00','1918100623:00:00','1919030122:59:59','1919030122:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1919,10,5,22,59,59],[1919,10,5,23,59,59],
+          '1919030123:00:00','1919030200:00:00','1919100522:59:59','1919100523:59:59' ],
+        [ [1919,10,5,23,0,0],[1919,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1920,2,14,22,59,59],[1920,2,14,22,59,59],
+          '1919100523:00:00','1919100523:00:00','1920021422:59:59','1920021422:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,2,14,23,0,0],[1920,2,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1920,10,23,22,59,59],[1920,10,23,23,59,59],
+          '1920021423:00:00','1920021500:00:00','1920102322:59:59','1920102323:59:59' ],
+        [ [1920,10,23,23,0,0],[1920,10,23,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1921,3,14,22,59,59],[1921,3,14,22,59,59],
+          '1920102323:00:00','1920102323:00:00','1921031422:59:59','1921031422:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,3,14,23,0,0],[1921,3,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1921,10,25,22,59,59],[1921,10,25,23,59,59],
+          '1921031423:00:00','1921031500:00:00','1921102522:59:59','1921102523:59:59' ],
+        [ [1921,10,25,23,0,0],[1921,10,25,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1922,3,25,22,59,59],[1922,3,25,22,59,59],
+          '1921102523:00:00','1921102523:00:00','1922032522:59:59','1922032522:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,3,25,23,0,0],[1922,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1922,10,7,22,59,59],[1922,10,7,23,59,59],
+          '1922032523:00:00','1922032600:00:00','1922100722:59:59','1922100723:59:59' ],
+        [ [1922,10,7,23,0,0],[1922,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1923,5,26,22,59,59],[1923,5,26,22,59,59],
+          '1922100723:00:00','1922100723:00:00','1923052622:59:59','1923052622:59:59' ],
+     ],
+   1923 =>
+     [
+        [ [1923,5,26,23,0,0],[1923,5,27,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1923,10,6,22,59,59],[1923,10,6,23,59,59],
+          '1923052623:00:00','1923052700:00:00','1923100622:59:59','1923100623:59:59' ],
+        [ [1923,10,6,23,0,0],[1923,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1924,3,29,22,59,59],[1924,3,29,22,59,59],
+          '1923100623:00:00','1923100623:00:00','1924032922:59:59','1924032922:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,3,29,23,0,0],[1924,3,30,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1924,10,4,22,59,59],[1924,10,4,23,59,59],
+          '1924032923:00:00','1924033000:00:00','1924100422:59:59','1924100423:59:59' ],
+        [ [1924,10,4,23,0,0],[1924,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1925,4,4,22,59,59],[1925,4,4,22,59,59],
+          '1924100423:00:00','1924100423:00:00','1925040422:59:59','1925040422:59:59' ],
+     ],
+   1925 =>
+     [
+        [ [1925,4,4,23,0,0],[1925,4,5,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1925,10,3,22,59,59],[1925,10,3,23,59,59],
+          '1925040423:00:00','1925040500:00:00','1925100322:59:59','1925100323:59:59' ],
+        [ [1925,10,3,23,0,0],[1925,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1926,4,17,22,59,59],[1926,4,17,22,59,59],
+          '1925100323:00:00','1925100323:00:00','1926041722:59:59','1926041722:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,4,17,23,0,0],[1926,4,18,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1926,10,2,22,59,59],[1926,10,2,23,59,59],
+          '1926041723:00:00','1926041800:00:00','1926100222:59:59','1926100223:59:59' ],
+        [ [1926,10,2,23,0,0],[1926,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1927,4,9,22,59,59],[1927,4,9,22,59,59],
+          '1926100223:00:00','1926100223:00:00','1927040922:59:59','1927040922:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,4,9,23,0,0],[1927,4,10,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1927,10,1,22,59,59],[1927,10,1,23,59,59],
+          '1927040923:00:00','1927041000:00:00','1927100122:59:59','1927100123:59:59' ],
+        [ [1927,10,1,23,0,0],[1927,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1928,4,14,22,59,59],[1928,4,14,22,59,59],
+          '1927100123:00:00','1927100123:00:00','1928041422:59:59','1928041422:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,4,14,23,0,0],[1928,4,15,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1928,10,6,22,59,59],[1928,10,6,23,59,59],
+          '1928041423:00:00','1928041500:00:00','1928100622:59:59','1928100623:59:59' ],
+        [ [1928,10,6,23,0,0],[1928,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1929,4,20,22,59,59],[1929,4,20,22,59,59],
+          '1928100623:00:00','1928100623:00:00','1929042022:59:59','1929042022:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,4,20,23,0,0],[1929,4,21,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1929,10,5,22,59,59],[1929,10,5,23,59,59],
+          '1929042023:00:00','1929042100:00:00','1929100522:59:59','1929100523:59:59' ],
+        [ [1929,10,5,23,0,0],[1929,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1930,4,12,22,59,59],[1930,4,12,22,59,59],
+          '1929100523:00:00','1929100523:00:00','1930041222:59:59','1930041222:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,4,12,23,0,0],[1930,4,13,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1930,10,4,22,59,59],[1930,10,4,23,59,59],
+          '1930041223:00:00','1930041300:00:00','1930100422:59:59','1930100423:59:59' ],
+        [ [1930,10,4,23,0,0],[1930,10,4,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1931,4,18,22,59,59],[1931,4,18,22,59,59],
+          '1930100423:00:00','1930100423:00:00','1931041822:59:59','1931041822:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,4,18,23,0,0],[1931,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1931,10,3,22,59,59],[1931,10,3,23,59,59],
+          '1931041823:00:00','1931041900:00:00','1931100322:59:59','1931100323:59:59' ],
+        [ [1931,10,3,23,0,0],[1931,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1932,4,2,22,59,59],[1932,4,2,22,59,59],
+          '1931100323:00:00','1931100323:00:00','1932040222:59:59','1932040222:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,4,2,23,0,0],[1932,4,3,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1932,10,1,22,59,59],[1932,10,1,23,59,59],
+          '1932040223:00:00','1932040300:00:00','1932100122:59:59','1932100123:59:59' ],
+        [ [1932,10,1,23,0,0],[1932,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1933,3,25,22,59,59],[1933,3,25,22,59,59],
+          '1932100123:00:00','1932100123:00:00','1933032522:59:59','1933032522:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,25,23,0,0],[1933,3,26,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1933,10,7,22,59,59],[1933,10,7,23,59,59],
+          '1933032523:00:00','1933032600:00:00','1933100722:59:59','1933100723:59:59' ],
+        [ [1933,10,7,23,0,0],[1933,10,7,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1934,4,7,22,59,59],[1934,4,7,22,59,59],
+          '1933100723:00:00','1933100723:00:00','1934040722:59:59','1934040722:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,7,23,0,0],[1934,4,8,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1934,10,6,22,59,59],[1934,10,6,23,59,59],
+          '1934040723:00:00','1934040800:00:00','1934100622:59:59','1934100623:59:59' ],
+        [ [1934,10,6,23,0,0],[1934,10,6,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1935,3,30,22,59,59],[1935,3,30,22,59,59],
+          '1934100623:00:00','1934100623:00:00','1935033022:59:59','1935033022:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,3,30,23,0,0],[1935,3,31,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1935,10,5,22,59,59],[1935,10,5,23,59,59],
+          '1935033023:00:00','1935033100:00:00','1935100522:59:59','1935100523:59:59' ],
+        [ [1935,10,5,23,0,0],[1935,10,5,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1936,4,18,22,59,59],[1936,4,18,22,59,59],
+          '1935100523:00:00','1935100523:00:00','1936041822:59:59','1936041822:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,18,23,0,0],[1936,4,19,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1936,10,3,22,59,59],[1936,10,3,23,59,59],
+          '1936041823:00:00','1936041900:00:00','1936100322:59:59','1936100323:59:59' ],
+        [ [1936,10,3,23,0,0],[1936,10,3,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1937,4,3,22,59,59],[1937,4,3,22,59,59],
+          '1936100323:00:00','1936100323:00:00','1937040322:59:59','1937040322:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,3,23,0,0],[1937,4,4,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1937,10,2,22,59,59],[1937,10,2,23,59,59],
+          '1937040323:00:00','1937040400:00:00','1937100222:59:59','1937100223:59:59' ],
+        [ [1937,10,2,23,0,0],[1937,10,2,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1938,3,26,22,59,59],[1938,3,26,22,59,59],
+          '1937100223:00:00','1937100223:00:00','1938032622:59:59','1938032622:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,3,26,23,0,0],[1938,3,27,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1938,10,1,22,59,59],[1938,10,1,23,59,59],
+          '1938032623:00:00','1938032700:00:00','1938100122:59:59','1938100123:59:59' ],
+        [ [1938,10,1,23,0,0],[1938,10,1,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1939,4,15,22,59,59],[1939,4,15,22,59,59],
+          '1938100123:00:00','1938100123:00:00','1939041522:59:59','1939041522:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,15,23,0,0],[1939,4,16,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1939,11,18,22,59,59],[1939,11,18,23,59,59],
+          '1939041523:00:00','1939041600:00:00','1939111822:59:59','1939111823:59:59' ],
+        [ [1939,11,18,23,0,0],[1939,11,18,23,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1940,2,25,1,59,59],[1940,2,25,1,59,59],
+          '1939111823:00:00','1939111823:00:00','1940022501:59:59','1940022501:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,2,25,2,0,0],[1940,2,25,3,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1940,6,14,21,59,59],[1940,6,14,22,59,59],
+          '1940022502:00:00','1940022503:00:00','1940061421:59:59','1940061422:59:59' ],
+        [ [1940,6,14,22,0,0],[1940,6,15,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940061422:00:00','1940061500:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,8,24,21,59,59],[1944,8,24,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944082421:59:59','1944082423:59:59' ],
+        [ [1944,8,24,22,0,0],[1944,8,25,0,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1944,10,7,22,59,59],[1944,10,8,0,59,59],
+          '1944082422:00:00','1944082500:00:00','1944100722:59:59','1944100800:59:59' ],
+        [ [1944,10,7,23,0,0],[1944,10,8,0,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100723:00:00','1944100800:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'WEMT',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,3,27,23,59,59],[1976,3,28,0,59,59],
+          '1945091601:00:00','1945091602:00:00','1976032723:59:59','1976032800:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,28,0,0,0],[1976,3,28,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,9,25,22,59,59],[1976,9,26,0,59,59],
+          '1976032800:00:00','1976032802:00:00','1976092522:59:59','1976092600:59:59' ],
+        [ [1976,9,25,23,0,0],[1976,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1976092523:00:00','1976092600:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euprag00.pm b/lib/Date/Manip/TZ/euprag00.pm
new file mode 100644
index 0000000..3803243
--- /dev/null
+++ b/lib/Date/Manip/TZ/euprag00.pm
@@ -0,0 +1,982 @@
+package #
+Date::Manip::TZ::euprag00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,57,44],'+00:57:44',[0,57,44],
+          'LMT',0,[1849,12,31,23,2,15],[1849,12,31,23,59,59],
+          '0001010200:00:00','0001010200:57:44','1849123123:02:15','1849123123:59:59' ],
+     ],
+   1849 =>
+     [
+        [ [1849,12,31,23,2,16],[1850,1,1,0,0,0],'+00:57:44',[0,57,44],
+          'PMT',0,[1891,9,30,23,2,15],[1891,9,30,23,59,59],
+          '1849123123:02:16','1850010100:00:00','1891093023:02:15','1891093023:59:59' ],
+     ],
+   1891 =>
+     [
+        [ [1891,9,30,23,2,16],[1891,10,1,0,2,16],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1891093023:02:16','1891100100:02:16','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,8,0,59,59],[1945,4,8,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040800:59:59','1945040801:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,8,1,0,0],[1945,4,8,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,11,18,0,59,59],[1945,11,18,2,59,59],
+          '1945040801:00:00','1945040803:00:00','1945111800:59:59','1945111802:59:59' ],
+        [ [1945,11,18,1,0,0],[1945,11,18,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,5,6,0,59,59],[1946,5,6,1,59,59],
+          '1945111801:00:00','1945111802:00:00','1946050600:59:59','1946050601:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,5,6,1,0,0],[1946,5,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,6,0,59,59],[1946,10,6,2,59,59],
+          '1946050601:00:00','1946050603:00:00','1946100600:59:59','1946100602:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,6,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,4,20,0,59,59],[1947,4,20,1,59,59],
+          '1946100601:00:00','1946100602:00:00','1947042000:59:59','1947042001:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,20,1,0,0],[1947,4,20,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,5,0,59,59],[1947,10,5,2,59,59],
+          '1947042001:00:00','1947042003:00:00','1947100500:59:59','1947100502:59:59' ],
+        [ [1947,10,5,1,0,0],[1947,10,5,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,4,18,0,59,59],[1948,4,18,1,59,59],
+          '1947100501:00:00','1947100502:00:00','1948041800:59:59','1948041801:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,18,1,0,0],[1948,4,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948041801:00:00','1948041803:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1949,4,9,0,59,59],[1949,4,9,1,59,59],
+          '1948100301:00:00','1948100302:00:00','1949040900:59:59','1949040901:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,9,1,0,0],[1949,4,9,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1949,10,2,0,59,59],[1949,10,2,2,59,59],
+          '1949040901:00:00','1949040903:00:00','1949100200:59:59','1949100202:59:59' ],
+        [ [1949,10,2,1,0,0],[1949,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1949100201:00:00','1949100202:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euriga00.pm b/lib/Date/Manip/TZ/euriga00.pm
new file mode 100644
index 0000000..f74c6ca
--- /dev/null
+++ b/lib/Date/Manip/TZ/euriga00.pm
@@ -0,0 +1,910 @@
+package #
+Date::Manip::TZ::euriga00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,36,34],'+01:36:34',[1,36,34],
+          'LMT',0,[1879,12,31,22,23,25],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:36:34','1879123122:23:25','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,23,26],[1880,1,1,0,0,0],'+01:36:34',[1,36,34],
+          'RMT',0,[1918,4,15,0,23,25],[1918,4,15,1,59,59],
+          '1879123122:23:26','1880010100:00:00','1918041500:23:25','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,0,23,26],[1918,4,15,3,0,0],'+02:36:34',[2,36,34],
+          'LST',1,[1918,9,16,0,23,25],[1918,9,16,2,59,59],
+          '1918041500:23:26','1918041503:00:00','1918091600:23:25','1918091602:59:59' ],
+        [ [1918,9,16,0,23,26],[1918,9,16,2,0,0],'+01:36:34',[1,36,34],
+          'RMT',0,[1919,4,1,0,23,25],[1919,4,1,1,59,59],
+          '1918091600:23:26','1918091602:00:00','1919040100:23:25','1919040101:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,1,0,23,26],[1919,4,1,3,0,0],'+02:36:34',[2,36,34],
+          'LST',1,[1919,5,22,0,23,25],[1919,5,22,2,59,59],
+          '1919040100:23:26','1919040103:00:00','1919052200:23:25','1919052202:59:59' ],
+        [ [1919,5,22,0,23,26],[1919,5,22,2,0,0],'+01:36:34',[1,36,34],
+          'RMT',0,[1926,5,10,22,23,25],[1926,5,10,23,59,59],
+          '1919052200:23:26','1919052202:00:00','1926051022:23:25','1926051023:59:59' ],
+     ],
+   1926 =>
+     [
+        [ [1926,5,10,22,23,26],[1926,5,11,0,23,26],'+02:00:00',[2,0,0],
+          'EET',0,[1940,8,4,21,59,59],[1940,8,4,23,59,59],
+          '1926051022:23:26','1926051100:23:26','1940080421:59:59','1940080423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,8,4,22,0,0],[1940,8,5,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,6,30,20,59,59],[1941,6,30,23,59,59],
+          '1940080422:00:00','1940080501:00:00','1941063020:59:59','1941063023:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,30,21,0,0],[1941,6,30,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941063021:00:00','1941063023:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,10,12,22,59,59],[1944,10,12,23,59,59],
+          '1944100201:00:00','1944100202:00:00','1944101222:59:59','1944101223:59:59' ],
+        [ [1944,10,12,23,0,0],[1944,10,13,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944101223:00:00','1944101302:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032602:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,23,59,59],[1991,3,31,1,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033023:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,0,0,0],[1991,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033100:00:00','1991033103:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,23,59,59],[1992,3,29,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032823:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,0,0,0],[1992,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,23,59,59],[1992,9,27,2,59,59],
+          '1992032900:00:00','1992032903:00:00','1992092623:59:59','1992092702:59:59' ],
+        [ [1992,9,27,0,0,0],[1992,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,23,59,59],[1993,3,28,1,59,59],
+          '1992092700:00:00','1992092702:00:00','1993032723:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,0,0,0],[1993,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,23,59,59],[1993,9,26,2,59,59],
+          '1993032800:00:00','1993032803:00:00','1993092523:59:59','1993092602:59:59' ],
+        [ [1993,9,26,0,0,0],[1993,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,23,59,59],[1994,3,27,1,59,59],
+          '1993092600:00:00','1993092602:00:00','1994032623:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,0,0,0],[1994,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,23,59,59],[1994,9,25,2,59,59],
+          '1994032700:00:00','1994032703:00:00','1994092423:59:59','1994092502:59:59' ],
+        [ [1994,9,25,0,0,0],[1994,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,23,59,59],[1995,3,26,1,59,59],
+          '1994092500:00:00','1994092502:00:00','1995032523:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,0,0,0],[1995,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,23,59,59],[1995,9,24,2,59,59],
+          '1995032600:00:00','1995032603:00:00','1995092323:59:59','1995092402:59:59' ],
+        [ [1995,9,24,0,0,0],[1995,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,23,59,59],[1996,3,31,1,59,59],
+          '1995092400:00:00','1995092402:00:00','1996033023:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,0,0,0],[1996,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,9,28,23,59,59],[1996,9,29,2,59,59],
+          '1996033100:00:00','1996033103:00:00','1996092823:59:59','1996092902:59:59' ],
+        [ [1996,9,29,0,0,0],[1996,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996092900:00:00','1996092902:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eurome00.pm b/lib/Date/Manip/TZ/eurome00.pm
new file mode 100644
index 0000000..2c05325
--- /dev/null
+++ b/lib/Date/Manip/TZ/eurome00.pm
@@ -0,0 +1,1108 @@
+package #
+Date::Manip::TZ::eurome00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,49,56],'+00:49:56',[0,49,56],
+          'LMT',0,[1866,9,21,23,10,3],[1866,9,21,23,59,59],
+          '0001010200:00:00','0001010200:49:56','1866092123:10:03','1866092123:59:59' ],
+     ],
+   1866 =>
+     [
+        [ [1866,9,21,23,10,4],[1866,9,22,0,0,0],'+00:49:56',[0,49,56],
+          'RMT',0,[1893,10,31,22,59,59],[1893,10,31,23,49,55],
+          '1866092123:10:04','1866092200:00:00','1893103122:59:59','1893103123:49:55' ],
+     ],
+   1893 =>
+     [
+        [ [1893,10,31,23,0,0],[1893,11,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,6,3,22,59,59],[1916,6,3,23,59,59],
+          '1893103123:00:00','1893110100:00:00','1916060322:59:59','1916060323:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,6,3,23,0,0],[1916,6,4,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,21,59,59],[1916,9,30,23,59,59],
+          '1916060323:00:00','1916060401:00:00','1916093021:59:59','1916093023:59:59' ],
+        [ [1916,9,30,22,0,0],[1916,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,3,31,22,59,59],[1917,3,31,23,59,59],
+          '1916093022:00:00','1916093023:00:00','1917033122:59:59','1917033123:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,3,31,23,0,0],[1917,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,30,21,59,59],[1917,9,30,23,59,59],
+          '1917033123:00:00','1917040101:00:00','1917093021:59:59','1917093023:59:59' ],
+        [ [1917,9,30,22,0,0],[1917,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,3,9,22,59,59],[1918,3,9,23,59,59],
+          '1917093022:00:00','1917093023:00:00','1918030922:59:59','1918030923:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,3,9,23,0,0],[1918,3,10,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,10,6,21,59,59],[1918,10,6,23,59,59],
+          '1918030923:00:00','1918031001:00:00','1918100621:59:59','1918100623:59:59' ],
+        [ [1918,10,6,22,0,0],[1918,10,6,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1919,3,1,22,59,59],[1919,3,1,23,59,59],
+          '1918100622:00:00','1918100623:00:00','1919030122:59:59','1919030123:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,3,1,23,0,0],[1919,3,2,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1919,10,4,21,59,59],[1919,10,4,23,59,59],
+          '1919030123:00:00','1919030201:00:00','1919100421:59:59','1919100423:59:59' ],
+        [ [1919,10,4,22,0,0],[1919,10,4,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1920,3,20,22,59,59],[1920,3,20,23,59,59],
+          '1919100422:00:00','1919100423:00:00','1920032022:59:59','1920032023:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,3,20,23,0,0],[1920,3,21,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1920,9,18,21,59,59],[1920,9,18,23,59,59],
+          '1920032023:00:00','1920032101:00:00','1920091821:59:59','1920091823:59:59' ],
+        [ [1920,9,18,22,0,0],[1920,9,18,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,6,14,22,59,59],[1940,6,14,23,59,59],
+          '1920091822:00:00','1920091823:00:00','1940061422:59:59','1940061423:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,14,23,0,0],[1940,6,15,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940061423:00:00','1940061501:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,17,0,59,59],[1944,9,17,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944091700:59:59','1944091702:59:59' ],
+        [ [1944,9,17,1,0,0],[1944,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944091701:00:00','1944091702:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,9,14,22,59,59],[1945,9,15,0,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091422:59:59','1945091500:59:59' ],
+        [ [1945,9,14,23,0,0],[1945,9,15,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,3,17,0,59,59],[1946,3,17,1,59,59],
+          '1945091423:00:00','1945091500:00:00','1946031700:59:59','1946031701:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,3,17,1,0,0],[1946,3,17,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,6,0,59,59],[1946,10,6,2,59,59],
+          '1946031701:00:00','1946031703:00:00','1946100600:59:59','1946100602:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,6,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,3,15,22,59,59],[1947,3,15,23,59,59],
+          '1946100601:00:00','1946100602:00:00','1947031522:59:59','1947031523:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,3,15,23,0,0],[1947,3,16,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,4,22,59,59],[1947,10,5,0,59,59],
+          '1947031523:00:00','1947031601:00:00','1947100422:59:59','1947100500:59:59' ],
+        [ [1947,10,4,23,0,0],[1947,10,5,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,2,29,0,59,59],[1948,2,29,1,59,59],
+          '1947100423:00:00','1947100500:00:00','1948022900:59:59','1948022901:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,2,29,1,0,0],[1948,2,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948022901:00:00','1948022903:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1966,5,21,22,59,59],[1966,5,21,23,59,59],
+          '1948100301:00:00','1948100302:00:00','1966052122:59:59','1966052123:59:59' ],
+     ],
+   1966 =>
+     [
+        [ [1966,5,21,23,0,0],[1966,5,22,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1966,9,24,21,59,59],[1966,9,24,23,59,59],
+          '1966052123:00:00','1966052201:00:00','1966092421:59:59','1966092423:59:59' ],
+        [ [1966,9,24,22,0,0],[1966,9,24,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1967,5,27,22,59,59],[1967,5,27,23,59,59],
+          '1966092422:00:00','1966092423:00:00','1967052722:59:59','1967052723:59:59' ],
+     ],
+   1967 =>
+     [
+        [ [1967,5,27,23,0,0],[1967,5,28,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1967,9,23,22,59,59],[1967,9,24,0,59,59],
+          '1967052723:00:00','1967052801:00:00','1967092322:59:59','1967092400:59:59' ],
+        [ [1967,9,23,23,0,0],[1967,9,24,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1968,5,25,22,59,59],[1968,5,25,23,59,59],
+          '1967092323:00:00','1967092400:00:00','1968052522:59:59','1968052523:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,5,25,23,0,0],[1968,5,26,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1968,9,21,22,59,59],[1968,9,22,0,59,59],
+          '1968052523:00:00','1968052601:00:00','1968092122:59:59','1968092200:59:59' ],
+        [ [1968,9,21,23,0,0],[1968,9,22,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1969,5,31,22,59,59],[1969,5,31,23,59,59],
+          '1968092123:00:00','1968092200:00:00','1969053122:59:59','1969053123:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,5,31,23,0,0],[1969,6,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1969,9,27,22,59,59],[1969,9,28,0,59,59],
+          '1969053123:00:00','1969060101:00:00','1969092722:59:59','1969092800:59:59' ],
+        [ [1969,9,27,23,0,0],[1969,9,28,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1970,5,30,22,59,59],[1970,5,30,23,59,59],
+          '1969092723:00:00','1969092800:00:00','1970053022:59:59','1970053023:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,5,30,23,0,0],[1970,5,31,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1970,9,26,22,59,59],[1970,9,27,0,59,59],
+          '1970053023:00:00','1970053101:00:00','1970092622:59:59','1970092700:59:59' ],
+        [ [1970,9,26,23,0,0],[1970,9,27,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1971,5,22,22,59,59],[1971,5,22,23,59,59],
+          '1970092623:00:00','1970092700:00:00','1971052222:59:59','1971052223:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,5,22,23,0,0],[1971,5,23,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1971,9,25,22,59,59],[1971,9,26,0,59,59],
+          '1971052223:00:00','1971052301:00:00','1971092522:59:59','1971092600:59:59' ],
+        [ [1971,9,25,23,0,0],[1971,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1972,5,27,22,59,59],[1972,5,27,23,59,59],
+          '1971092523:00:00','1971092600:00:00','1972052722:59:59','1972052723:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,5,27,23,0,0],[1972,5,28,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1972,9,30,22,59,59],[1972,10,1,0,59,59],
+          '1972052723:00:00','1972052801:00:00','1972093022:59:59','1972100100:59:59' ],
+        [ [1972,9,30,23,0,0],[1972,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1973,6,2,22,59,59],[1973,6,2,23,59,59],
+          '1972093023:00:00','1972100100:00:00','1973060222:59:59','1973060223:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,6,2,23,0,0],[1973,6,3,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1973,9,29,22,59,59],[1973,9,30,0,59,59],
+          '1973060223:00:00','1973060301:00:00','1973092922:59:59','1973093000:59:59' ],
+        [ [1973,9,29,23,0,0],[1973,9,30,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1974,5,25,22,59,59],[1974,5,25,23,59,59],
+          '1973092923:00:00','1973093000:00:00','1974052522:59:59','1974052523:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,5,25,23,0,0],[1974,5,26,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1974,9,28,22,59,59],[1974,9,29,0,59,59],
+          '1974052523:00:00','1974052601:00:00','1974092822:59:59','1974092900:59:59' ],
+        [ [1974,9,28,23,0,0],[1974,9,29,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1975,5,31,22,59,59],[1975,5,31,23,59,59],
+          '1974092823:00:00','1974092900:00:00','1975053122:59:59','1975053123:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,5,31,23,0,0],[1975,6,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1975,9,27,22,59,59],[1975,9,28,0,59,59],
+          '1975053123:00:00','1975060101:00:00','1975092722:59:59','1975092800:59:59' ],
+        [ [1975,9,27,23,0,0],[1975,9,28,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,5,29,22,59,59],[1976,5,29,23,59,59],
+          '1975092723:00:00','1975092800:00:00','1976052922:59:59','1976052923:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,29,23,0,0],[1976,5,30,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,9,25,22,59,59],[1976,9,26,0,59,59],
+          '1976052923:00:00','1976053001:00:00','1976092522:59:59','1976092600:59:59' ],
+        [ [1976,9,25,23,0,0],[1976,9,26,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,5,21,22,59,59],[1977,5,21,23,59,59],
+          '1976092523:00:00','1976092600:00:00','1977052122:59:59','1977052123:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,21,23,0,0],[1977,5,22,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,24,22,59,59],[1977,9,25,0,59,59],
+          '1977052123:00:00','1977052201:00:00','1977092422:59:59','1977092500:59:59' ],
+        [ [1977,9,24,23,0,0],[1977,9,25,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,5,27,22,59,59],[1978,5,27,23,59,59],
+          '1977092423:00:00','1977092500:00:00','1978052722:59:59','1978052723:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,5,27,23,0,0],[1978,5,28,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,30,22,59,59],[1978,10,1,0,59,59],
+          '1978052723:00:00','1978052801:00:00','1978093022:59:59','1978100100:59:59' ],
+        [ [1978,9,30,23,0,0],[1978,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,5,26,22,59,59],[1979,5,26,23,59,59],
+          '1978093023:00:00','1978100100:00:00','1979052622:59:59','1979052623:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,5,26,23,0,0],[1979,5,27,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,29,22,59,59],[1979,9,30,0,59,59],
+          '1979052623:00:00','1979052701:00:00','1979092922:59:59','1979093000:59:59' ],
+        [ [1979,9,29,23,0,0],[1979,9,30,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979092923:00:00','1979093000:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eusama00.pm b/lib/Date/Manip/TZ/eusama00.pm
new file mode 100644
index 0000000..34b44ef
--- /dev/null
+++ b/lib/Date/Manip/TZ/eusama00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::eusama00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,20,20],'+03:20:20',[3,20,20],
+          'LMT',0,[1919,6,30,23,59,59],[1919,7,1,3,20,19],
+          '0001010200:00:00','0001010203:20:20','1919063023:59:59','1919070103:20:19' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,0,0,0],[1919,7,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1919070100:00:00','1919070103:00:00','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032602:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,10,19,23,59,59],[1991,10,20,2,59,59],
+          '1991092900:00:00','1991092903:00:00','1991101923:59:59','1991102002:59:59' ],
+        [ [1991,10,20,0,0,0],[1991,10,20,4,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,3,28,21,59,59],[1992,3,29,1,59,59],
+          '1991102000:00:00','1991102004:00:00','1992032821:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1992,9,26,21,59,59],[1992,9,27,2,59,59],
+          '1992032822:00:00','1992032903:00:00','1992092621:59:59','1992092702:59:59' ],
+        [ [1992,9,26,22,0,0],[1992,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1993,3,27,21,59,59],[1993,3,28,1,59,59],
+          '1992092622:00:00','1992092702:00:00','1993032721:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1993,9,25,21,59,59],[1993,9,26,2,59,59],
+          '1993032722:00:00','1993032803:00:00','1993092521:59:59','1993092602:59:59' ],
+        [ [1993,9,25,22,0,0],[1993,9,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1994,3,26,21,59,59],[1994,3,27,1,59,59],
+          '1993092522:00:00','1993092602:00:00','1994032621:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1994,9,24,21,59,59],[1994,9,25,2,59,59],
+          '1994032622:00:00','1994032703:00:00','1994092421:59:59','1994092502:59:59' ],
+        [ [1994,9,24,22,0,0],[1994,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1995,3,25,21,59,59],[1995,3,26,1,59,59],
+          '1994092422:00:00','1994092502:00:00','1995032521:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1995,9,23,21,59,59],[1995,9,24,2,59,59],
+          '1995032522:00:00','1995032603:00:00','1995092321:59:59','1995092402:59:59' ],
+        [ [1995,9,23,22,0,0],[1995,9,24,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1996,3,30,21,59,59],[1996,3,31,1,59,59],
+          '1995092322:00:00','1995092402:00:00','1996033021:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1996,10,26,21,59,59],[1996,10,27,2,59,59],
+          '1996033022:00:00','1996033103:00:00','1996102621:59:59','1996102702:59:59' ],
+        [ [1996,10,26,22,0,0],[1996,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1997,3,29,21,59,59],[1997,3,30,1,59,59],
+          '1996102622:00:00','1996102702:00:00','1997032921:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,22,0,0],[1997,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1997,10,25,21,59,59],[1997,10,26,2,59,59],
+          '1997032922:00:00','1997033003:00:00','1997102521:59:59','1997102602:59:59' ],
+        [ [1997,10,25,22,0,0],[1997,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1998,3,28,21,59,59],[1998,3,29,1,59,59],
+          '1997102522:00:00','1997102602:00:00','1998032821:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,22,0,0],[1998,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1998,10,24,21,59,59],[1998,10,25,2,59,59],
+          '1998032822:00:00','1998032903:00:00','1998102421:59:59','1998102502:59:59' ],
+        [ [1998,10,24,22,0,0],[1998,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1999,3,27,21,59,59],[1999,3,28,1,59,59],
+          '1998102422:00:00','1998102502:00:00','1999032721:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,22,0,0],[1999,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1999,10,30,21,59,59],[1999,10,31,2,59,59],
+          '1999032722:00:00','1999032803:00:00','1999103021:59:59','1999103102:59:59' ],
+        [ [1999,10,30,22,0,0],[1999,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2000,3,25,21,59,59],[2000,3,26,1,59,59],
+          '1999103022:00:00','1999103102:00:00','2000032521:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,22,0,0],[2000,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2000,10,28,21,59,59],[2000,10,29,2,59,59],
+          '2000032522:00:00','2000032603:00:00','2000102821:59:59','2000102902:59:59' ],
+        [ [2000,10,28,22,0,0],[2000,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2001,3,24,21,59,59],[2001,3,25,1,59,59],
+          '2000102822:00:00','2000102902:00:00','2001032421:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,22,0,0],[2001,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2001,10,27,21,59,59],[2001,10,28,2,59,59],
+          '2001032422:00:00','2001032503:00:00','2001102721:59:59','2001102802:59:59' ],
+        [ [2001,10,27,22,0,0],[2001,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2002,3,30,21,59,59],[2002,3,31,1,59,59],
+          '2001102722:00:00','2001102802:00:00','2002033021:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,22,0,0],[2002,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2002,10,26,21,59,59],[2002,10,27,2,59,59],
+          '2002033022:00:00','2002033103:00:00','2002102621:59:59','2002102702:59:59' ],
+        [ [2002,10,26,22,0,0],[2002,10,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2003,3,29,21,59,59],[2003,3,30,1,59,59],
+          '2002102622:00:00','2002102702:00:00','2003032921:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,22,0,0],[2003,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2003,10,25,21,59,59],[2003,10,26,2,59,59],
+          '2003032922:00:00','2003033003:00:00','2003102521:59:59','2003102602:59:59' ],
+        [ [2003,10,25,22,0,0],[2003,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2004,3,27,21,59,59],[2004,3,28,1,59,59],
+          '2003102522:00:00','2003102602:00:00','2004032721:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,22,0,0],[2004,3,28,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2004,10,30,21,59,59],[2004,10,31,2,59,59],
+          '2004032722:00:00','2004032803:00:00','2004103021:59:59','2004103102:59:59' ],
+        [ [2004,10,30,22,0,0],[2004,10,31,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2005,3,26,21,59,59],[2005,3,27,1,59,59],
+          '2004103022:00:00','2004103102:00:00','2005032621:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,22,0,0],[2005,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2005,10,29,21,59,59],[2005,10,30,2,59,59],
+          '2005032622:00:00','2005032703:00:00','2005102921:59:59','2005103002:59:59' ],
+        [ [2005,10,29,22,0,0],[2005,10,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2006,3,25,21,59,59],[2006,3,26,1,59,59],
+          '2005102922:00:00','2005103002:00:00','2006032521:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,22,0,0],[2006,3,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2006,10,28,21,59,59],[2006,10,29,2,59,59],
+          '2006032522:00:00','2006032603:00:00','2006102821:59:59','2006102902:59:59' ],
+        [ [2006,10,28,22,0,0],[2006,10,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2007,3,24,21,59,59],[2007,3,25,1,59,59],
+          '2006102822:00:00','2006102902:00:00','2007032421:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,22,0,0],[2007,3,25,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2007,10,27,21,59,59],[2007,10,28,2,59,59],
+          '2007032422:00:00','2007032503:00:00','2007102721:59:59','2007102802:59:59' ],
+        [ [2007,10,27,22,0,0],[2007,10,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2008,3,29,21,59,59],[2008,3,30,1,59,59],
+          '2007102722:00:00','2007102802:00:00','2008032921:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,22,0,0],[2008,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2008,10,25,21,59,59],[2008,10,26,2,59,59],
+          '2008032922:00:00','2008033003:00:00','2008102521:59:59','2008102602:59:59' ],
+        [ [2008,10,25,22,0,0],[2008,10,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2009,3,28,21,59,59],[2009,3,29,1,59,59],
+          '2008102522:00:00','2008102602:00:00','2009032821:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,22,0,0],[2009,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2009,10,24,21,59,59],[2009,10,25,2,59,59],
+          '2009032822:00:00','2009032903:00:00','2009102421:59:59','2009102502:59:59' ],
+        [ [2009,10,24,22,0,0],[2009,10,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2010,3,27,21,59,59],[2010,3,28,1,59,59],
+          '2009102422:00:00','2009102502:00:00','2010032721:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,22,0,0],[2010,3,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032722:00:00','2010032802:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2011032623:00:00','2011032703:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eusara00.pm b/lib/Date/Manip/TZ/eusara00.pm
new file mode 100644
index 0000000..d37000c
--- /dev/null
+++ b/lib/Date/Manip/TZ/eusara00.pm
@@ -0,0 +1,340 @@
+package #
+Date::Manip::TZ::eusara00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,4,18],'+03:04:18',[3,4,18],
+          'LMT',0,[1919,6,30,23,59,59],[1919,7,1,3,4,17],
+          '0001010200:00:00','0001010203:04:18','1919063023:59:59','1919070103:04:17' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,0,0,0],[1919,7,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1919070100:00:00','1919070103:00:00','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032702:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,3,28,21,59,59],[1992,3,29,1,59,59],
+          '1991033023:00:00','1991033103:00:00','1992032821:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032822:00:00','1992032902:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2016,12,3,22,59,59],[2016,12,4,1,59,59],
+          '2014102522:00:00','2014102601:00:00','2016120322:59:59','2016120401:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,12,3,23,0,0],[2016,12,4,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2016120323:00:00','2016120403:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eusimf00.pm b/lib/Date/Manip/TZ/eusimf00.pm
new file mode 100644
index 0000000..4ea6b5c
--- /dev/null
+++ b/lib/Date/Manip/TZ/eusimf00.pm
@@ -0,0 +1,388 @@
+package #
+Date::Manip::TZ::eusimf00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,16,24],'+02:16:24',[2,16,24],
+          'LMT',0,[1879,12,31,21,43,35],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:16:24','1879123121:43:35','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,43,36],[1879,12,31,23,59,36],'+02:16:00',[2,16,0],
+          'SMT',0,[1924,5,1,21,43,59],[1924,5,1,23,59,59],
+          '1879123121:43:36','1879123123:59:36','1924050121:43:59','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,21,44,0],[1924,5,1,23,44,0],'+02:00:00',[2,0,0],
+          'EET',0,[1930,6,20,21,59,59],[1930,6,20,23,59,59],
+          '1924050121:44:00','1924050123:44:00','1930062021:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,22,0,0],[1930,6,21,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,10,31,20,59,59],[1941,10,31,23,59,59],
+          '1930062022:00:00','1930062101:00:00','1941103120:59:59','1941103123:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,10,31,21,0,0],[1941,10,31,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941103121:00:00','1941103123:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,4,12,21,59,59],[1944,4,12,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944041221:59:59','1944041223:59:59' ],
+        [ [1944,4,12,22,0,0],[1944,4,13,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944041222:00:00','1944041301:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,6,30,22,59,59],[1990,7,1,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990063022:59:59','1990070101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,6,30,23,0,0],[1990,7,1,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1990063023:00:00','1990070101:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,4,30,20,59,59],[1994,4,30,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994043020:59:59','1994043023:59:59' ],
+        [ [1994,4,30,21,0,0],[1994,5,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1994,9,24,19,59,59],[1994,9,24,23,59,59],
+          '1994043021:00:00','1994050101:00:00','1994092419:59:59','1994092423:59:59' ],
+        [ [1994,9,24,20,0,0],[1994,9,24,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1995,3,25,20,59,59],[1995,3,25,23,59,59],
+          '1994092420:00:00','1994092423:00:00','1995032520:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,21,0,0],[1995,3,26,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1995,9,23,19,59,59],[1995,9,23,23,59,59],
+          '1995032521:00:00','1995032601:00:00','1995092319:59:59','1995092323:59:59' ],
+        [ [1995,9,23,20,0,0],[1995,9,23,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1996,3,30,20,59,59],[1996,3,30,23,59,59],
+          '1995092320:00:00','1995092323:00:00','1996033020:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,21,0,0],[1996,3,31,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1996,10,26,23,59,59],[1996,10,27,3,59,59],
+          '1996033021:00:00','1996033101:00:00','1996102623:59:59','1996102703:59:59' ],
+        [ [1996,10,27,0,0,0],[1996,10,27,3,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1997,3,30,0,59,59],[1997,3,30,3,59,59],
+          '1996102700:00:00','1996102703:00:00','1997033000:59:59','1997033003:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,29,23,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102703:00:00','2014032923:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,0,0,0],[2014,3,30,4,0,0],'+04:00:00',[4,0,0],
+          'MSK',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2014033000:00:00','2014033004:00:00','2014102521:59:59','2014102601:59:59' ],
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2014102522:00:00','2014102601:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eusofi00.pm b/lib/Date/Manip/TZ/eusofi00.pm
new file mode 100644
index 0000000..4b4c728
--- /dev/null
+++ b/lib/Date/Manip/TZ/eusofi00.pm
@@ -0,0 +1,910 @@
+package #
+Date::Manip::TZ::eusofi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,33,16],'+01:33:16',[1,33,16],
+          'LMT',0,[1879,12,31,22,26,43],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:33:16','1879123122:26:43','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,26,44],[1880,1,1,0,23,40],'+01:56:56',[1,56,56],
+          'IMT',0,[1894,11,29,22,3,3],[1894,11,29,23,59,59],
+          '1879123122:26:44','1880010100:23:40','1894112922:03:03','1894112923:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,11,29,22,3,4],[1894,11,30,0,3,4],'+02:00:00',[2,0,0],
+          'EET',0,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1894112922:03:04','1894113000:03:04','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,1,59,59],[1945,4,2,2,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040201:59:59','1945040202:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,2,0,0],[1945,4,2,4,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1979,3,31,20,59,59],[1979,3,31,22,59,59],
+          '1945040202:00:00','1945040204:00:00','1979033120:59:59','1979033122:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,31,21,0,0],[1979,4,1,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1979,9,30,21,59,59],[1979,10,1,0,59,59],
+          '1979033121:00:00','1979040100:00:00','1979093021:59:59','1979100100:59:59' ],
+        [ [1979,9,30,22,0,0],[1979,10,1,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1980,4,5,20,59,59],[1980,4,5,22,59,59],
+          '1979093022:00:00','1979100100:00:00','1980040520:59:59','1980040522:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,5,21,0,0],[1980,4,6,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1980,9,28,21,59,59],[1980,9,29,0,59,59],
+          '1980040521:00:00','1980040600:00:00','1980092821:59:59','1980092900:59:59' ],
+        [ [1980,9,28,22,0,0],[1980,9,29,0,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1981,4,4,20,59,59],[1981,4,4,22,59,59],
+          '1980092822:00:00','1980092900:00:00','1981040420:59:59','1981040422:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,4,21,0,0],[1981,4,5,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1981,9,26,22,59,59],[1981,9,27,1,59,59],
+          '1981040421:00:00','1981040500:00:00','1981092622:59:59','1981092701:59:59' ],
+        [ [1981,9,26,23,0,0],[1981,9,27,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1982,4,3,20,59,59],[1982,4,3,22,59,59],
+          '1981092623:00:00','1981092701:00:00','1982040320:59:59','1982040322:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,4,3,21,0,0],[1982,4,4,0,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1982,9,25,23,59,59],[1982,9,26,2,59,59],
+          '1982040321:00:00','1982040400:00:00','1982092523:59:59','1982092602:59:59' ],
+        [ [1982,9,26,0,0,0],[1982,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1983,3,26,23,59,59],[1983,3,27,1,59,59],
+          '1982092600:00:00','1982092602:00:00','1983032623:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,0,0,0],[1983,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1983,9,24,23,59,59],[1983,9,25,2,59,59],
+          '1983032700:00:00','1983032703:00:00','1983092423:59:59','1983092502:59:59' ],
+        [ [1983,9,25,0,0,0],[1983,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1984,3,24,23,59,59],[1984,3,25,1,59,59],
+          '1983092500:00:00','1983092502:00:00','1984032423:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,0,0,0],[1984,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1984,9,29,23,59,59],[1984,9,30,2,59,59],
+          '1984032500:00:00','1984032503:00:00','1984092923:59:59','1984093002:59:59' ],
+        [ [1984,9,30,0,0,0],[1984,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1985,3,30,23,59,59],[1985,3,31,1,59,59],
+          '1984093000:00:00','1984093002:00:00','1985033023:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,0,0,0],[1985,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1985,9,28,23,59,59],[1985,9,29,2,59,59],
+          '1985033100:00:00','1985033103:00:00','1985092823:59:59','1985092902:59:59' ],
+        [ [1985,9,29,0,0,0],[1985,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1986,3,29,23,59,59],[1986,3,30,1,59,59],
+          '1985092900:00:00','1985092902:00:00','1986032923:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,0,0,0],[1986,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1986,9,27,23,59,59],[1986,9,28,2,59,59],
+          '1986033000:00:00','1986033003:00:00','1986092723:59:59','1986092802:59:59' ],
+        [ [1986,9,28,0,0,0],[1986,9,28,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1987,3,28,23,59,59],[1987,3,29,1,59,59],
+          '1986092800:00:00','1986092802:00:00','1987032823:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,0,0,0],[1987,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1987,9,26,23,59,59],[1987,9,27,2,59,59],
+          '1987032900:00:00','1987032903:00:00','1987092623:59:59','1987092702:59:59' ],
+        [ [1987,9,27,0,0,0],[1987,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1988,3,26,23,59,59],[1988,3,27,1,59,59],
+          '1987092700:00:00','1987092702:00:00','1988032623:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,0,0,0],[1988,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1988,9,24,23,59,59],[1988,9,25,2,59,59],
+          '1988032700:00:00','1988032703:00:00','1988092423:59:59','1988092502:59:59' ],
+        [ [1988,9,25,0,0,0],[1988,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1989,3,25,23,59,59],[1989,3,26,1,59,59],
+          '1988092500:00:00','1988092502:00:00','1989032523:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,0,0,0],[1989,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032600:00:00','1989032603:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,21,59,59],[1991,3,30,23,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033021:59:59','1991033023:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,22,0,0],[1991,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,20,59,59],[1991,9,28,23,59,59],
+          '1991033022:00:00','1991033101:00:00','1991092820:59:59','1991092823:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092821:00:00','1991092823:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,21,59,59],[1995,3,25,23,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032521:59:59','1995032523:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,22,0,0],[1995,3,26,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,20,59,59],[1995,9,23,23,59,59],
+          '1995032522:00:00','1995032601:00:00','1995092320:59:59','1995092323:59:59' ],
+        [ [1995,9,23,21,0,0],[1995,9,23,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,21,59,59],[1996,3,30,23,59,59],
+          '1995092321:00:00','1995092323:00:00','1996033021:59:59','1996033023:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,22,0,0],[1996,3,31,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,20,59,59],[1996,10,26,23,59,59],
+          '1996033022:00:00','1996033101:00:00','1996102620:59:59','1996102623:59:59' ],
+        [ [1996,10,26,21,0,0],[1996,10,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102621:00:00','1996102623:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eustoc00.pm b/lib/Date/Manip/TZ/eustoc00.pm
new file mode 100644
index 0000000..2560f01
--- /dev/null
+++ b/lib/Date/Manip/TZ/eustoc00.pm
@@ -0,0 +1,880 @@
+package #
+Date::Manip::TZ::eustoc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,12,12],'+01:12:12',[1,12,12],
+          'LMT',0,[1878,12,31,22,47,47],[1878,12,31,23,59,59],
+          '0001010200:00:00','0001010201:12:12','1878123122:47:47','1878123123:59:59' ],
+     ],
+   1878 =>
+     [
+        [ [1878,12,31,22,47,48],[1878,12,31,23,48,2],'+01:00:14',[1,0,14],
+          'SET',0,[1899,12,31,22,59,45],[1899,12,31,23,59,59],
+          '1878123122:47:48','1878123123:48:02','1899123122:59:45','1899123123:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,12,31,22,59,46],[1899,12,31,23,59,46],'+01:00:00',[1,0,0],
+          'CET',0,[1916,5,14,21,59,59],[1916,5,14,22,59,59],
+          '1899123122:59:46','1899123123:59:46','1916051421:59:59','1916051422:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,5,14,22,0,0],[1916,5,15,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916051422:00:00','1916051500:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eutall00.pm b/lib/Date/Manip/TZ/eutall00.pm
new file mode 100644
index 0000000..bdfe1b7
--- /dev/null
+++ b/lib/Date/Manip/TZ/eutall00.pm
@@ -0,0 +1,898 @@
+package #
+Date::Manip::TZ::eutall00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,39,0],'+01:39:00',[1,39,0],
+          'LMT',0,[1879,12,31,22,20,59],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:39:00','1879123122:20:59','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,21,0],[1880,1,1,0,0,0],'+01:39:00',[1,39,0],
+          'TMT',0,[1918,1,31,22,20,59],[1918,1,31,23,59,59],
+          '1879123122:21:00','1880010100:00:00','1918013122:20:59','1918013123:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,1,31,22,21,0],[1918,1,31,23,21,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1918013122:21:00','1918013123:21:00','1918041500:59:59','1918041501:59:59' ],
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1919,6,30,22,59,59],[1919,6,30,23,59,59],
+          '1918091601:00:00','1918091602:00:00','1919063022:59:59','1919063023:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,6,30,23,0,0],[1919,7,1,0,39,0],'+01:39:00',[1,39,0],
+          'TMT',0,[1921,4,30,22,20,59],[1921,4,30,23,59,59],
+          '1919063023:00:00','1919070100:39:00','1921043022:20:59','1921043023:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,4,30,22,21,0],[1921,5,1,0,21,0],'+02:00:00',[2,0,0],
+          'EET',0,[1940,8,5,21,59,59],[1940,8,5,23,59,59],
+          '1921043022:21:00','1921050100:21:00','1940080521:59:59','1940080523:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,8,5,22,0,0],[1940,8,6,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,9,14,20,59,59],[1941,9,14,23,59,59],
+          '1940080522:00:00','1940080601:00:00','1941091420:59:59','1941091423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,9,14,21,0,0],[1941,9,14,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941091421:00:00','1941091423:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,9,21,21,59,59],[1944,9,21,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944092121:59:59','1944092123:59:59' ],
+        [ [1944,9,21,22,0,0],[1944,9,22,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944092122:00:00','1944092201:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032602:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,23,59,59],[1991,3,31,1,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033023:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,0,0,0],[1991,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033100:00:00','1991033103:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,23,59,59],[1992,3,29,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032823:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,0,0,0],[1992,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,23,59,59],[1992,9,27,2,59,59],
+          '1992032900:00:00','1992032903:00:00','1992092623:59:59','1992092702:59:59' ],
+        [ [1992,9,27,0,0,0],[1992,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,23,59,59],[1993,3,28,1,59,59],
+          '1992092700:00:00','1992092702:00:00','1993032723:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,0,0,0],[1993,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,23,59,59],[1993,9,26,2,59,59],
+          '1993032800:00:00','1993032803:00:00','1993092523:59:59','1993092602:59:59' ],
+        [ [1993,9,26,0,0,0],[1993,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,23,59,59],[1994,3,27,1,59,59],
+          '1993092600:00:00','1993092602:00:00','1994032623:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,0,0,0],[1994,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,23,59,59],[1994,9,25,2,59,59],
+          '1994032700:00:00','1994032703:00:00','1994092423:59:59','1994092502:59:59' ],
+        [ [1994,9,25,0,0,0],[1994,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,23,59,59],[1995,3,26,1,59,59],
+          '1994092500:00:00','1994092502:00:00','1995032523:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,0,0,0],[1995,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,23,59,59],[1995,9,24,2,59,59],
+          '1995032600:00:00','1995032603:00:00','1995092323:59:59','1995092402:59:59' ],
+        [ [1995,9,24,0,0,0],[1995,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,23,59,59],[1996,3,31,1,59,59],
+          '1995092400:00:00','1995092402:00:00','1996033023:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,0,0,0],[1996,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,23,59,59],[1996,10,27,2,59,59],
+          '1996033100:00:00','1996033103:00:00','1996102623:59:59','1996102702:59:59' ],
+        [ [1996,10,27,0,0,0],[1996,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,23,59,59],[1997,3,30,1,59,59],
+          '1996102700:00:00','1996102702:00:00','1997032923:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,23,59,59],[1997,10,26,2,59,59],
+          '1997033000:00:00','1997033003:00:00','1997102523:59:59','1997102602:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,28,23,59,59],[1998,3,29,1,59,59],
+          '1997102600:00:00','1997102602:00:00','1998032823:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,0,0,0],[1998,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032900:00:00','1998032903:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/eutira00.pm b/lib/Date/Manip/TZ/eutira00.pm
new file mode 100644
index 0000000..bc770ed
--- /dev/null
+++ b/lib/Date/Manip/TZ/eutira00.pm
@@ -0,0 +1,940 @@
+package #
+Date::Manip::TZ::eutira00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,19,20],'+01:19:20',[1,19,20],
+          'LMT',0,[1913,12,31,22,40,39],[1913,12,31,23,59,59],
+          '0001010200:00:00','0001010201:19:20','1913123122:40:39','1913123123:59:59' ],
+     ],
+   1913 =>
+     [
+        [ [1913,12,31,22,40,40],[1913,12,31,23,40,40],'+01:00:00',[1,0,0],
+          'CET',0,[1940,6,15,22,59,59],[1940,6,15,23,59,59],
+          '1913123122:40:40','1913123123:40:40','1940061522:59:59','1940061523:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,15,23,0,0],[1940,6,16,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940061523:00:00','1940061601:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,4,10,0,59,59],[1943,4,10,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943041000:59:59','1943041002:59:59' ],
+        [ [1943,4,10,1,0,0],[1943,4,10,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1974,5,3,22,59,59],[1974,5,3,23,59,59],
+          '1943041001:00:00','1943041002:00:00','1974050322:59:59','1974050323:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,5,3,23,0,0],[1974,5,4,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1974,10,1,21,59,59],[1974,10,1,23,59,59],
+          '1974050323:00:00','1974050401:00:00','1974100121:59:59','1974100123:59:59' ],
+        [ [1974,10,1,22,0,0],[1974,10,1,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1975,4,30,22,59,59],[1975,4,30,23,59,59],
+          '1974100122:00:00','1974100123:00:00','1975043022:59:59','1975043023:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,4,30,23,0,0],[1975,5,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1975,10,1,21,59,59],[1975,10,1,23,59,59],
+          '1975043023:00:00','1975050101:00:00','1975100121:59:59','1975100123:59:59' ],
+        [ [1975,10,1,22,0,0],[1975,10,1,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1976,5,1,22,59,59],[1976,5,1,23,59,59],
+          '1975100122:00:00','1975100123:00:00','1976050122:59:59','1976050123:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,5,1,23,0,0],[1976,5,2,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1976,10,2,21,59,59],[1976,10,2,23,59,59],
+          '1976050123:00:00','1976050201:00:00','1976100221:59:59','1976100223:59:59' ],
+        [ [1976,10,2,22,0,0],[1976,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,5,7,22,59,59],[1977,5,7,23,59,59],
+          '1976100222:00:00','1976100223:00:00','1977050722:59:59','1977050723:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,5,7,23,0,0],[1977,5,8,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,10,1,21,59,59],[1977,10,1,23,59,59],
+          '1977050723:00:00','1977050801:00:00','1977100121:59:59','1977100123:59:59' ],
+        [ [1977,10,1,22,0,0],[1977,10,1,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,5,5,22,59,59],[1978,5,5,23,59,59],
+          '1977100122:00:00','1977100123:00:00','1978050522:59:59','1978050523:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,5,5,23,0,0],[1978,5,6,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,30,21,59,59],[1978,9,30,23,59,59],
+          '1978050523:00:00','1978050601:00:00','1978093021:59:59','1978093023:59:59' ],
+        [ [1978,9,30,22,0,0],[1978,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,5,4,22,59,59],[1979,5,4,23,59,59],
+          '1978093022:00:00','1978093023:00:00','1979050422:59:59','1979050423:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,5,4,23,0,0],[1979,5,5,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,29,21,59,59],[1979,9,29,23,59,59],
+          '1979050423:00:00','1979050501:00:00','1979092921:59:59','1979092923:59:59' ],
+        [ [1979,9,29,22,0,0],[1979,9,29,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,5,2,22,59,59],[1980,5,2,23,59,59],
+          '1979092922:00:00','1979092923:00:00','1980050222:59:59','1980050223:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,5,2,23,0,0],[1980,5,3,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,10,3,21,59,59],[1980,10,3,23,59,59],
+          '1980050223:00:00','1980050301:00:00','1980100321:59:59','1980100323:59:59' ],
+        [ [1980,10,3,22,0,0],[1980,10,3,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,4,25,22,59,59],[1981,4,25,23,59,59],
+          '1980100322:00:00','1980100323:00:00','1981042522:59:59','1981042523:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,4,25,23,0,0],[1981,4,26,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,26,21,59,59],[1981,9,26,23,59,59],
+          '1981042523:00:00','1981042601:00:00','1981092621:59:59','1981092623:59:59' ],
+        [ [1981,9,26,22,0,0],[1981,9,26,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,5,1,22,59,59],[1982,5,1,23,59,59],
+          '1981092622:00:00','1981092623:00:00','1982050122:59:59','1982050123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,5,1,23,0,0],[1982,5,2,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,10,2,21,59,59],[1982,10,2,23,59,59],
+          '1982050123:00:00','1982050201:00:00','1982100221:59:59','1982100223:59:59' ],
+        [ [1982,10,2,22,0,0],[1982,10,2,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,4,17,22,59,59],[1983,4,17,23,59,59],
+          '1982100222:00:00','1982100223:00:00','1983041722:59:59','1983041723:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,4,17,23,0,0],[1983,4,18,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,30,21,59,59],[1983,9,30,23,59,59],
+          '1983041723:00:00','1983041801:00:00','1983093021:59:59','1983093023:59:59' ],
+        [ [1983,9,30,22,0,0],[1983,9,30,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,31,22,59,59],[1984,3,31,23,59,59],
+          '1983093022:00:00','1983093023:00:00','1984033122:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,23,0,0],[1984,4,1,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984033123:00:00','1984040101:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euulya00.pm b/lib/Date/Manip/TZ/euulya00.pm
new file mode 100644
index 0000000..b784386
--- /dev/null
+++ b/lib/Date/Manip/TZ/euulya00.pm
@@ -0,0 +1,346 @@
+package #
+Date::Manip::TZ::euulya00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,13,36],'+03:13:36',[3,13,36],
+          'LMT',0,[1919,6,30,23,59,59],[1919,7,1,3,13,35],
+          '0001010200:00:00','0001010203:13:36','1919063023:59:59','1919070103:13:35' ],
+     ],
+   1919 =>
+     [
+        [ [1919,7,1,0,0,0],[1919,7,1,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1919070100:00:00','1919070103:00:00','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1988,9,24,21,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032703:00:00','1988092421:59:59','1988092502:59:59' ],
+        [ [1988,9,24,22,0,0],[1988,9,25,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1989,3,25,21,59,59],[1989,3,26,1,59,59],
+          '1988092422:00:00','1988092502:00:00','1989032521:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,22,0,0],[1989,3,26,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032522:00:00','1989032602:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          '+02',0,[1992,1,18,23,59,59],[1992,1,19,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992011823:59:59','1992011901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,19,0,0,0],[1992,1,19,3,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1992,3,28,22,59,59],[1992,3,29,1,59,59],
+          '1992011900:00:00','1992011903:00:00','1992032822:59:59','1992032901:59:59' ],
+        [ [1992,3,28,23,0,0],[1992,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032823:00:00','1992032903:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2016,3,26,22,59,59],[2016,3,27,1,59,59],
+          '2014102522:00:00','2014102601:00:00','2016032622:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,26,23,0,0],[2016,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2016032623:00:00','2016032703:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euuzhg00.pm b/lib/Date/Manip/TZ/euuzhg00.pm
new file mode 100644
index 0000000..576215a
--- /dev/null
+++ b/lib/Date/Manip/TZ/euuzhg00.pm
@@ -0,0 +1,886 @@
+package #
+Date::Manip::TZ::euuzhg00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,29,12],'+01:29:12',[1,29,12],
+          'LMT',0,[1890,9,30,22,30,47],[1890,9,30,23,59,59],
+          '0001010200:00:00','0001010201:29:12','1890093022:30:47','1890093023:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,9,30,22,30,48],[1890,9,30,23,30,48],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1890093022:30:48','1890093023:30:48','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,25,21,59,59],[1944,10,25,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944102521:59:59','1944102523:59:59' ],
+        [ [1944,10,25,22,0,0],[1944,10,25,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,6,28,22,59,59],[1945,6,28,23,59,59],
+          '1944102522:00:00','1944102523:00:00','1945062822:59:59','1945062823:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,6,28,23,0,0],[1945,6,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1945062823:00:00','1945062902:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,6,30,22,59,59],[1990,7,1,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990063022:59:59','1990070101:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,6,30,23,0,0],[1990,7,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,1,59,59],[1991,3,31,2,59,59],
+          '1990063023:00:00','1990070100:00:00','1991033101:59:59','1991033102:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,2,0,0],[1991,3,31,4,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991033102:00:00','1991033104:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euvien00.pm b/lib/Date/Manip/TZ/euvien00.pm
new file mode 100644
index 0000000..e204fc5
--- /dev/null
+++ b/lib/Date/Manip/TZ/euvien00.pm
@@ -0,0 +1,967 @@
+package #
+Date::Manip::TZ::euvien00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,5,21],'+01:05:21',[1,5,21],
+          'LMT',0,[1893,3,31,22,54,38],[1893,3,31,23,59,59],
+          '0001010200:00:00','0001010201:05:21','1893033122:54:38','1893033123:59:59' ],
+     ],
+   1893 =>
+     [
+        [ [1893,3,31,22,54,39],[1893,3,31,23,54,39],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1893033122:54:39','1893033123:54:39','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1920,4,5,0,59,59],[1920,4,5,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1920040500:59:59','1920040501:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,4,5,1,0,0],[1920,4,5,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1920,9,13,0,59,59],[1920,9,13,2,59,59],
+          '1920040501:00:00','1920040503:00:00','1920091300:59:59','1920091302:59:59' ],
+        [ [1920,9,13,1,0,0],[1920,9,13,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1920091301:00:00','1920091302:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,4,12,0,59,59],[1945,4,12,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945041200:59:59','1945041202:59:59' ],
+        [ [1945,4,12,1,0,0],[1945,4,12,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,4,14,0,59,59],[1946,4,14,1,59,59],
+          '1945041201:00:00','1945041202:00:00','1946041400:59:59','1946041401:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,14,1,0,0],[1946,4,14,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,6,0,59,59],[1946,10,6,2,59,59],
+          '1946041401:00:00','1946041403:00:00','1946100600:59:59','1946100602:59:59' ],
+        [ [1946,10,6,1,0,0],[1946,10,6,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,4,6,0,59,59],[1947,4,6,1,59,59],
+          '1946100601:00:00','1946100602:00:00','1947040600:59:59','1947040601:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,4,6,1,0,0],[1947,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,5,0,59,59],[1947,10,5,2,59,59],
+          '1947040601:00:00','1947040603:00:00','1947100500:59:59','1947100502:59:59' ],
+        [ [1947,10,5,1,0,0],[1947,10,5,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,4,18,0,59,59],[1948,4,18,1,59,59],
+          '1947100501:00:00','1947100502:00:00','1948041800:59:59','1948041801:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,18,1,0,0],[1948,4,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948041801:00:00','1948041803:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,5,22,59,59],[1980,4,5,23,59,59],
+          '1948100301:00:00','1948100302:00:00','1980040522:59:59','1980040523:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,5,23,0,0],[1980,4,6,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,27,21,59,59],[1980,9,27,23,59,59],
+          '1980040523:00:00','1980040601:00:00','1980092721:59:59','1980092723:59:59' ],
+        [ [1980,9,27,22,0,0],[1980,9,27,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092722:00:00','1980092723:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euviln00.pm b/lib/Date/Manip/TZ/euviln00.pm
new file mode 100644
index 0000000..bd009e2
--- /dev/null
+++ b/lib/Date/Manip/TZ/euviln00.pm
@@ -0,0 +1,886 @@
+package #
+Date::Manip::TZ::euviln00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,41,16],'+01:41:16',[1,41,16],
+          'LMT',0,[1879,12,31,22,18,43],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:41:16','1879123122:18:43','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,18,44],[1879,12,31,23,42,44],'+01:24:00',[1,24,0],
+          'WMT',0,[1916,12,31,22,35,59],[1916,12,31,23,59,59],
+          '1879123122:18:44','1879123123:42:44','1916123122:35:59','1916123123:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,12,31,22,36,0],[1917,1,1,0,11,36],'+01:35:36',[1,35,36],
+          'KMT',0,[1919,10,9,22,24,23],[1919,10,9,23,59,59],
+          '1916123122:36:00','1917010100:11:36','1919100922:24:23','1919100923:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,10,9,22,24,24],[1919,10,9,23,24,24],'+01:00:00',[1,0,0],
+          'CET',0,[1920,7,11,22,59,59],[1920,7,11,23,59,59],
+          '1919100922:24:24','1919100923:24:24','1920071122:59:59','1920071123:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,7,11,23,0,0],[1920,7,12,1,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1920,10,8,21,59,59],[1920,10,8,23,59,59],
+          '1920071123:00:00','1920071201:00:00','1920100821:59:59','1920100823:59:59' ],
+        [ [1920,10,8,22,0,0],[1920,10,8,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,8,2,22,59,59],[1940,8,2,23,59,59],
+          '1920100822:00:00','1920100823:00:00','1940080222:59:59','1940080223:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,8,2,23,0,0],[1940,8,3,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,6,23,20,59,59],[1941,6,23,23,59,59],
+          '1940080223:00:00','1940080302:00:00','1941062320:59:59','1941062323:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,6,23,21,0,0],[1941,6,23,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941062321:00:00','1941062323:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,7,31,21,59,59],[1944,7,31,23,59,59],
+          '1944040301:00:00','1944040303:00:00','1944073121:59:59','1944073123:59:59' ],
+        [ [1944,7,31,22,0,0],[1944,8,1,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1944073122:00:00','1944080101:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1989,9,23,23,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032602:00:00','1989092323:59:59','1989092402:59:59' ],
+        [ [1989,9,24,0,0,0],[1989,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1990,3,24,23,59,59],[1990,3,25,1,59,59],
+          '1989092400:00:00','1989092402:00:00','1990032423:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,0,0,0],[1990,3,25,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1990,9,29,23,59,59],[1990,9,30,2,59,59],
+          '1990032500:00:00','1990032503:00:00','1990092923:59:59','1990093002:59:59' ],
+        [ [1990,9,30,0,0,0],[1990,9,30,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1991,3,30,23,59,59],[1991,3,31,1,59,59],
+          '1990093000:00:00','1990093002:00:00','1991033023:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,0,0,0],[1991,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,23,59,59],[1991,9,29,2,59,59],
+          '1991033100:00:00','1991033103:00:00','1991092823:59:59','1991092902:59:59' ],
+        [ [1991,9,29,0,0,0],[1991,9,29,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,23,59,59],[1992,3,29,1,59,59],
+          '1991092900:00:00','1991092902:00:00','1992032823:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,0,0,0],[1992,3,29,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,23,59,59],[1992,9,27,2,59,59],
+          '1992032900:00:00','1992032903:00:00','1992092623:59:59','1992092702:59:59' ],
+        [ [1992,9,27,0,0,0],[1992,9,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,23,59,59],[1993,3,28,1,59,59],
+          '1992092700:00:00','1992092702:00:00','1993032723:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,0,0,0],[1993,3,28,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,23,59,59],[1993,9,26,2,59,59],
+          '1993032800:00:00','1993032803:00:00','1993092523:59:59','1993092602:59:59' ],
+        [ [1993,9,26,0,0,0],[1993,9,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,23,59,59],[1994,3,27,1,59,59],
+          '1993092600:00:00','1993092602:00:00','1994032623:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,0,0,0],[1994,3,27,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,23,59,59],[1994,9,25,2,59,59],
+          '1994032700:00:00','1994032703:00:00','1994092423:59:59','1994092502:59:59' ],
+        [ [1994,9,25,0,0,0],[1994,9,25,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,25,23,59,59],[1995,3,26,1,59,59],
+          '1994092500:00:00','1994092502:00:00','1995032523:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,0,0,0],[1995,3,26,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,23,23,59,59],[1995,9,24,2,59,59],
+          '1995032600:00:00','1995032603:00:00','1995092323:59:59','1995092402:59:59' ],
+        [ [1995,9,24,0,0,0],[1995,9,24,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,30,23,59,59],[1996,3,31,1,59,59],
+          '1995092400:00:00','1995092402:00:00','1996033023:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,0,0,0],[1996,3,31,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,26,23,59,59],[1996,10,27,2,59,59],
+          '1996033100:00:00','1996033103:00:00','1996102623:59:59','1996102702:59:59' ],
+        [ [1996,10,27,0,0,0],[1996,10,27,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,29,23,59,59],[1997,3,30,1,59,59],
+          '1996102700:00:00','1996102702:00:00','1997032923:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,0,0,0],[1997,3,30,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,25,23,59,59],[1997,10,26,2,59,59],
+          '1997033000:00:00','1997033003:00:00','1997102523:59:59','1997102602:59:59' ],
+        [ [1997,10,26,0,0,0],[1997,10,26,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102600:00:00','1997102602:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euvolg00.pm b/lib/Date/Manip/TZ/euvolg00.pm
new file mode 100644
index 0000000..d71c9af
--- /dev/null
+++ b/lib/Date/Manip/TZ/euvolg00.pm
@@ -0,0 +1,334 @@
+package #
+Date::Manip::TZ::euvolg00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,57,40],'+02:57:40',[2,57,40],
+          'LMT',0,[1920,1,2,21,2,19],[1920,1,2,23,59,59],
+          '0001010200:00:00','0001010202:57:40','1920010221:02:19','1920010223:59:59' ],
+     ],
+   1920 =>
+     [
+        [ [1920,1,2,21,2,20],[1920,1,3,0,2,20],'+03:00:00',[3,0,0],
+          '+03',0,[1930,6,20,20,59,59],[1930,6,20,23,59,59],
+          '1920010221:02:20','1920010300:02:20','1930062020:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,21,0,0],[1930,6,21,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1981,3,31,19,59,59],[1981,3,31,23,59,59],
+          '1930062021:00:00','1930062101:00:00','1981033119:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,20,0,0],[1981,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1981,9,30,18,59,59],[1981,9,30,23,59,59],
+          '1981033120:00:00','1981040101:00:00','1981093018:59:59','1981093023:59:59' ],
+        [ [1981,9,30,19,0,0],[1981,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,3,31,19,59,59],[1982,3,31,23,59,59],
+          '1981093019:00:00','1981093023:00:00','1982033119:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,20,0,0],[1982,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1982,9,30,18,59,59],[1982,9,30,23,59,59],
+          '1982033120:00:00','1982040101:00:00','1982093018:59:59','1982093023:59:59' ],
+        [ [1982,9,30,19,0,0],[1982,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1983,3,31,19,59,59],[1983,3,31,23,59,59],
+          '1982093019:00:00','1982093023:00:00','1983033119:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,20,0,0],[1983,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,9,30,18,59,59],[1983,9,30,23,59,59],
+          '1983033120:00:00','1983040101:00:00','1983093018:59:59','1983093023:59:59' ],
+        [ [1983,9,30,19,0,0],[1983,9,30,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1984,3,31,19,59,59],[1984,3,31,23,59,59],
+          '1983093019:00:00','1983093023:00:00','1984033119:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,20,0,0],[1984,4,1,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1984,9,29,21,59,59],[1984,9,30,2,59,59],
+          '1984033120:00:00','1984040101:00:00','1984092921:59:59','1984093002:59:59' ],
+        [ [1984,9,29,22,0,0],[1984,9,30,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1985,3,30,21,59,59],[1985,3,31,1,59,59],
+          '1984092922:00:00','1984093002:00:00','1985033021:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,22,0,0],[1985,3,31,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1985,9,28,21,59,59],[1985,9,29,2,59,59],
+          '1985033022:00:00','1985033103:00:00','1985092821:59:59','1985092902:59:59' ],
+        [ [1985,9,28,22,0,0],[1985,9,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1986,3,29,21,59,59],[1986,3,30,1,59,59],
+          '1985092822:00:00','1985092902:00:00','1986032921:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,22,0,0],[1986,3,30,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1986,9,27,21,59,59],[1986,9,28,2,59,59],
+          '1986032922:00:00','1986033003:00:00','1986092721:59:59','1986092802:59:59' ],
+        [ [1986,9,27,22,0,0],[1986,9,28,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1987,3,28,21,59,59],[1987,3,29,1,59,59],
+          '1986092722:00:00','1986092802:00:00','1987032821:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,22,0,0],[1987,3,29,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1987,9,26,21,59,59],[1987,9,27,2,59,59],
+          '1987032822:00:00','1987032903:00:00','1987092621:59:59','1987092702:59:59' ],
+        [ [1987,9,26,22,0,0],[1987,9,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1988,3,26,21,59,59],[1988,3,27,1,59,59],
+          '1987092622:00:00','1987092702:00:00','1988032621:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,22,0,0],[1988,3,27,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032622:00:00','1988032702:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[1992,3,28,21,59,59],[1992,3,29,1,59,59],
+          '1991033023:00:00','1991033103:00:00','1992032821:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,2,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1992,9,26,22,59,59],[1992,9,27,2,59,59],
+          '1992032822:00:00','1992032902:00:00','1992092622:59:59','1992092702:59:59' ],
+        [ [1992,9,26,23,0,0],[1992,9,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1993,3,27,22,59,59],[1993,3,28,1,59,59],
+          '1992092623:00:00','1992092702:00:00','1993032722:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,23,0,0],[1993,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1993,9,25,22,59,59],[1993,9,26,2,59,59],
+          '1993032723:00:00','1993032803:00:00','1993092522:59:59','1993092602:59:59' ],
+        [ [1993,9,25,23,0,0],[1993,9,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1994,3,26,22,59,59],[1994,3,27,1,59,59],
+          '1993092523:00:00','1993092602:00:00','1994032622:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,23,0,0],[1994,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1994,9,24,22,59,59],[1994,9,25,2,59,59],
+          '1994032623:00:00','1994032703:00:00','1994092422:59:59','1994092502:59:59' ],
+        [ [1994,9,24,23,0,0],[1994,9,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1995,3,25,22,59,59],[1995,3,26,1,59,59],
+          '1994092423:00:00','1994092502:00:00','1995032522:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,25,23,0,0],[1995,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1995,9,23,22,59,59],[1995,9,24,2,59,59],
+          '1995032523:00:00','1995032603:00:00','1995092322:59:59','1995092402:59:59' ],
+        [ [1995,9,23,23,0,0],[1995,9,24,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1996,3,30,22,59,59],[1996,3,31,1,59,59],
+          '1995092323:00:00','1995092402:00:00','1996033022:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,30,23,0,0],[1996,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1996,10,26,22,59,59],[1996,10,27,2,59,59],
+          '1996033023:00:00','1996033103:00:00','1996102622:59:59','1996102702:59:59' ],
+        [ [1996,10,26,23,0,0],[1996,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1997,3,29,22,59,59],[1997,3,30,1,59,59],
+          '1996102623:00:00','1996102702:00:00','1997032922:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,29,23,0,0],[1997,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1997,10,25,22,59,59],[1997,10,26,2,59,59],
+          '1997032923:00:00','1997033003:00:00','1997102522:59:59','1997102602:59:59' ],
+        [ [1997,10,25,23,0,0],[1997,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1998,3,28,22,59,59],[1998,3,29,1,59,59],
+          '1997102523:00:00','1997102602:00:00','1998032822:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,28,23,0,0],[1998,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1998,10,24,22,59,59],[1998,10,25,2,59,59],
+          '1998032823:00:00','1998032903:00:00','1998102422:59:59','1998102502:59:59' ],
+        [ [1998,10,24,23,0,0],[1998,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[1999,3,27,22,59,59],[1999,3,28,1,59,59],
+          '1998102423:00:00','1998102502:00:00','1999032722:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,27,23,0,0],[1999,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[1999,10,30,22,59,59],[1999,10,31,2,59,59],
+          '1999032723:00:00','1999032803:00:00','1999103022:59:59','1999103102:59:59' ],
+        [ [1999,10,30,23,0,0],[1999,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2000,3,25,22,59,59],[2000,3,26,1,59,59],
+          '1999103023:00:00','1999103102:00:00','2000032522:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,25,23,0,0],[2000,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2000,10,28,22,59,59],[2000,10,29,2,59,59],
+          '2000032523:00:00','2000032603:00:00','2000102822:59:59','2000102902:59:59' ],
+        [ [2000,10,28,23,0,0],[2000,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2001,3,24,22,59,59],[2001,3,25,1,59,59],
+          '2000102823:00:00','2000102902:00:00','2001032422:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,24,23,0,0],[2001,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2001,10,27,22,59,59],[2001,10,28,2,59,59],
+          '2001032423:00:00','2001032503:00:00','2001102722:59:59','2001102802:59:59' ],
+        [ [2001,10,27,23,0,0],[2001,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2002,3,30,22,59,59],[2002,3,31,1,59,59],
+          '2001102723:00:00','2001102802:00:00','2002033022:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,30,23,0,0],[2002,3,31,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2002,10,26,22,59,59],[2002,10,27,2,59,59],
+          '2002033023:00:00','2002033103:00:00','2002102622:59:59','2002102702:59:59' ],
+        [ [2002,10,26,23,0,0],[2002,10,27,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2003,3,29,22,59,59],[2003,3,30,1,59,59],
+          '2002102623:00:00','2002102702:00:00','2003032922:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,29,23,0,0],[2003,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2003,10,25,22,59,59],[2003,10,26,2,59,59],
+          '2003032923:00:00','2003033003:00:00','2003102522:59:59','2003102602:59:59' ],
+        [ [2003,10,25,23,0,0],[2003,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2004,3,27,22,59,59],[2004,3,28,1,59,59],
+          '2003102523:00:00','2003102602:00:00','2004032722:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,27,23,0,0],[2004,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2004,10,30,22,59,59],[2004,10,31,2,59,59],
+          '2004032723:00:00','2004032803:00:00','2004103022:59:59','2004103102:59:59' ],
+        [ [2004,10,30,23,0,0],[2004,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2005,3,26,22,59,59],[2005,3,27,1,59,59],
+          '2004103023:00:00','2004103102:00:00','2005032622:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,26,23,0,0],[2005,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2005,10,29,22,59,59],[2005,10,30,2,59,59],
+          '2005032623:00:00','2005032703:00:00','2005102922:59:59','2005103002:59:59' ],
+        [ [2005,10,29,23,0,0],[2005,10,30,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2006,3,25,22,59,59],[2006,3,26,1,59,59],
+          '2005102923:00:00','2005103002:00:00','2006032522:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,25,23,0,0],[2006,3,26,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2006,10,28,22,59,59],[2006,10,29,2,59,59],
+          '2006032523:00:00','2006032603:00:00','2006102822:59:59','2006102902:59:59' ],
+        [ [2006,10,28,23,0,0],[2006,10,29,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2007,3,24,22,59,59],[2007,3,25,1,59,59],
+          '2006102823:00:00','2006102902:00:00','2007032422:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,24,23,0,0],[2007,3,25,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2007,10,27,22,59,59],[2007,10,28,2,59,59],
+          '2007032423:00:00','2007032503:00:00','2007102722:59:59','2007102802:59:59' ],
+        [ [2007,10,27,23,0,0],[2007,10,28,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2008,3,29,22,59,59],[2008,3,30,1,59,59],
+          '2007102723:00:00','2007102802:00:00','2008032922:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,29,23,0,0],[2008,3,30,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2008,10,25,22,59,59],[2008,10,26,2,59,59],
+          '2008032923:00:00','2008033003:00:00','2008102522:59:59','2008102602:59:59' ],
+        [ [2008,10,25,23,0,0],[2008,10,26,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2009,3,28,22,59,59],[2009,3,29,1,59,59],
+          '2008102523:00:00','2008102602:00:00','2009032822:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,23,0,0],[2009,3,29,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2009,10,24,22,59,59],[2009,10,25,2,59,59],
+          '2009032823:00:00','2009032903:00:00','2009102422:59:59','2009102502:59:59' ],
+        [ [2009,10,24,23,0,0],[2009,10,25,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2010,3,27,22,59,59],[2010,3,28,1,59,59],
+          '2009102423:00:00','2009102502:00:00','2010032722:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,23,0,0],[2010,3,28,3,0,0],'+04:00:00',[4,0,0],
+          '+04',1,[2010,10,30,22,59,59],[2010,10,31,2,59,59],
+          '2010032723:00:00','2010032803:00:00','2010103022:59:59','2010103102:59:59' ],
+        [ [2010,10,30,23,0,0],[2010,10,31,2,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[2011,3,26,22,59,59],[2011,3,27,1,59,59],
+          '2010103023:00:00','2010103102:00:00','2011032622:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,26,23,0,0],[2011,3,27,3,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2014,10,25,21,59,59],[2014,10,26,1,59,59],
+          '2011032623:00:00','2011032703:00:00','2014102521:59:59','2014102601:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,10,25,22,0,0],[2014,10,26,1,0,0],'+03:00:00',[3,0,0],
+          '+03',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '2014102522:00:00','2014102601:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euwars00.pm b/lib/Date/Manip/TZ/euwars00.pm
new file mode 100644
index 0000000..df23909
--- /dev/null
+++ b/lib/Date/Manip/TZ/euwars00.pm
@@ -0,0 +1,1087 @@
+package #
+Date::Manip::TZ::euwars00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,24,0],'+01:24:00',[1,24,0],
+          'LMT',0,[1879,12,31,22,35,59],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010201:24:00','1879123122:35:59','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,22,36,0],[1880,1,1,0,0,0],'+01:24:00',[1,24,0],
+          'WMT',0,[1915,8,4,22,35,59],[1915,8,4,23,59,59],
+          '1879123122:36:00','1880010100:00:00','1915080422:35:59','1915080423:59:59' ],
+     ],
+   1915 =>
+     [
+        [ [1915,8,4,22,36,0],[1915,8,4,23,36,0],'+01:00:00',[1,0,0],
+          'CET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '1915080422:36:00','1915080423:36:00','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1919,4,14,23,59,59],[1919,4,15,1,59,59],
+          '1918091601:00:00','1918091603:00:00','1919041423:59:59','1919041501:59:59' ],
+     ],
+   1919 =>
+     [
+        [ [1919,4,15,0,0,0],[1919,4,15,3,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1919,9,15,23,59,59],[1919,9,16,2,59,59],
+          '1919041500:00:00','1919041503:00:00','1919091523:59:59','1919091602:59:59' ],
+        [ [1919,9,16,0,0,0],[1919,9,16,2,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1922,5,31,21,59,59],[1922,5,31,23,59,59],
+          '1919091600:00:00','1919091602:00:00','1922053121:59:59','1922053123:59:59' ],
+     ],
+   1922 =>
+     [
+        [ [1922,5,31,22,0,0],[1922,5,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1940,6,23,0,59,59],[1940,6,23,1,59,59],
+          '1922053122:00:00','1922053123:00:00','1940062300:59:59','1940062301:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,6,23,1,0,0],[1940,6,23,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940062301:00:00','1940062303:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1944,10,3,23,59,59],[1944,10,4,1,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100323:59:59','1944100401:59:59' ],
+        [ [1944,10,4,0,0,0],[1944,10,4,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1945,4,28,22,59,59],[1945,4,28,23,59,59],
+          '1944100400:00:00','1944100401:00:00','1945042822:59:59','1945042823:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,28,23,0,0],[1945,4,29,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1945,10,31,21,59,59],[1945,10,31,23,59,59],
+          '1945042823:00:00','1945042901:00:00','1945103121:59:59','1945103123:59:59' ],
+        [ [1945,10,31,22,0,0],[1945,10,31,23,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1946,4,13,22,59,59],[1946,4,13,23,59,59],
+          '1945103122:00:00','1945103123:00:00','1946041322:59:59','1946041323:59:59' ],
+     ],
+   1946 =>
+     [
+        [ [1946,4,13,23,0,0],[1946,4,14,1,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1946,10,7,0,59,59],[1946,10,7,2,59,59],
+          '1946041323:00:00','1946041401:00:00','1946100700:59:59','1946100702:59:59' ],
+        [ [1946,10,7,1,0,0],[1946,10,7,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1947,5,4,0,59,59],[1947,5,4,1,59,59],
+          '1946100701:00:00','1946100702:00:00','1947050400:59:59','1947050401:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,5,4,1,0,0],[1947,5,4,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1947,10,5,0,59,59],[1947,10,5,2,59,59],
+          '1947050401:00:00','1947050403:00:00','1947100500:59:59','1947100502:59:59' ],
+        [ [1947,10,5,1,0,0],[1947,10,5,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1948,4,18,0,59,59],[1948,4,18,1,59,59],
+          '1947100501:00:00','1947100502:00:00','1948041800:59:59','1948041801:59:59' ],
+     ],
+   1948 =>
+     [
+        [ [1948,4,18,1,0,0],[1948,4,18,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1948,10,3,0,59,59],[1948,10,3,2,59,59],
+          '1948041801:00:00','1948041803:00:00','1948100300:59:59','1948100302:59:59' ],
+        [ [1948,10,3,1,0,0],[1948,10,3,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1949,4,10,0,59,59],[1949,4,10,1,59,59],
+          '1948100301:00:00','1948100302:00:00','1949041000:59:59','1949041001:59:59' ],
+     ],
+   1949 =>
+     [
+        [ [1949,4,10,1,0,0],[1949,4,10,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1949,10,2,0,59,59],[1949,10,2,2,59,59],
+          '1949041001:00:00','1949041003:00:00','1949100200:59:59','1949100202:59:59' ],
+        [ [1949,10,2,1,0,0],[1949,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1957,6,1,23,59,59],[1957,6,2,0,59,59],
+          '1949100201:00:00','1949100202:00:00','1957060123:59:59','1957060200:59:59' ],
+     ],
+   1957 =>
+     [
+        [ [1957,6,2,0,0,0],[1957,6,2,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1957,9,28,23,59,59],[1957,9,29,1,59,59],
+          '1957060200:00:00','1957060202:00:00','1957092823:59:59','1957092901:59:59' ],
+        [ [1957,9,29,0,0,0],[1957,9,29,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1958,3,29,23,59,59],[1958,3,30,0,59,59],
+          '1957092900:00:00','1957092901:00:00','1958032923:59:59','1958033000:59:59' ],
+     ],
+   1958 =>
+     [
+        [ [1958,3,30,0,0,0],[1958,3,30,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1958,9,27,23,59,59],[1958,9,28,1,59,59],
+          '1958033000:00:00','1958033002:00:00','1958092723:59:59','1958092801:59:59' ],
+        [ [1958,9,28,0,0,0],[1958,9,28,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1959,5,30,23,59,59],[1959,5,31,0,59,59],
+          '1958092800:00:00','1958092801:00:00','1959053023:59:59','1959053100:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,5,31,0,0,0],[1959,5,31,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1959,10,3,23,59,59],[1959,10,4,1,59,59],
+          '1959053100:00:00','1959053102:00:00','1959100323:59:59','1959100401:59:59' ],
+        [ [1959,10,4,0,0,0],[1959,10,4,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1960,4,2,23,59,59],[1960,4,3,0,59,59],
+          '1959100400:00:00','1959100401:00:00','1960040223:59:59','1960040300:59:59' ],
+     ],
+   1960 =>
+     [
+        [ [1960,4,3,0,0,0],[1960,4,3,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1960,10,1,23,59,59],[1960,10,2,1,59,59],
+          '1960040300:00:00','1960040302:00:00','1960100123:59:59','1960100201:59:59' ],
+        [ [1960,10,2,0,0,0],[1960,10,2,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1961,5,27,23,59,59],[1961,5,28,0,59,59],
+          '1960100200:00:00','1960100201:00:00','1961052723:59:59','1961052800:59:59' ],
+     ],
+   1961 =>
+     [
+        [ [1961,5,28,0,0,0],[1961,5,28,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1961,9,30,23,59,59],[1961,10,1,1,59,59],
+          '1961052800:00:00','1961052802:00:00','1961093023:59:59','1961100101:59:59' ],
+        [ [1961,10,1,0,0,0],[1961,10,1,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1962,5,26,23,59,59],[1962,5,27,0,59,59],
+          '1961100100:00:00','1961100101:00:00','1962052623:59:59','1962052700:59:59' ],
+     ],
+   1962 =>
+     [
+        [ [1962,5,27,0,0,0],[1962,5,27,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1962,9,29,23,59,59],[1962,9,30,1,59,59],
+          '1962052700:00:00','1962052702:00:00','1962092923:59:59','1962093001:59:59' ],
+        [ [1962,9,30,0,0,0],[1962,9,30,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1963,5,25,23,59,59],[1963,5,26,0,59,59],
+          '1962093000:00:00','1962093001:00:00','1963052523:59:59','1963052600:59:59' ],
+     ],
+   1963 =>
+     [
+        [ [1963,5,26,0,0,0],[1963,5,26,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1963,9,28,23,59,59],[1963,9,29,1,59,59],
+          '1963052600:00:00','1963052602:00:00','1963092823:59:59','1963092901:59:59' ],
+        [ [1963,9,29,0,0,0],[1963,9,29,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1964,5,30,23,59,59],[1964,5,31,0,59,59],
+          '1963092900:00:00','1963092901:00:00','1964053023:59:59','1964053100:59:59' ],
+     ],
+   1964 =>
+     [
+        [ [1964,5,31,0,0,0],[1964,5,31,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1964,9,26,23,59,59],[1964,9,27,1,59,59],
+          '1964053100:00:00','1964053102:00:00','1964092623:59:59','1964092701:59:59' ],
+        [ [1964,9,27,0,0,0],[1964,9,27,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1977,4,2,23,59,59],[1977,4,3,0,59,59],
+          '1964092700:00:00','1964092701:00:00','1977040223:59:59','1977040300:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,0,0,0],[1977,4,3,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1977,9,24,23,59,59],[1977,9,25,1,59,59],
+          '1977040300:00:00','1977040302:00:00','1977092423:59:59','1977092501:59:59' ],
+        [ [1977,9,25,0,0,0],[1977,9,25,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1978,4,1,23,59,59],[1978,4,2,0,59,59],
+          '1977092500:00:00','1977092501:00:00','1978040123:59:59','1978040200:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,0,0,0],[1978,4,2,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1978,9,30,23,59,59],[1978,10,1,1,59,59],
+          '1978040200:00:00','1978040202:00:00','1978093023:59:59','1978100101:59:59' ],
+        [ [1978,10,1,0,0,0],[1978,10,1,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1979,3,31,23,59,59],[1979,4,1,0,59,59],
+          '1978100100:00:00','1978100101:00:00','1979033123:59:59','1979040100:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,0,0,0],[1979,4,1,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1979,9,29,23,59,59],[1979,9,30,1,59,59],
+          '1979040100:00:00','1979040102:00:00','1979092923:59:59','1979093001:59:59' ],
+        [ [1979,9,30,0,0,0],[1979,9,30,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1980,4,5,23,59,59],[1980,4,6,0,59,59],
+          '1979093000:00:00','1979093001:00:00','1980040523:59:59','1980040600:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,0,0,0],[1980,4,6,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1980,9,27,23,59,59],[1980,9,28,1,59,59],
+          '1980040600:00:00','1980040602:00:00','1980092723:59:59','1980092801:59:59' ],
+        [ [1980,9,28,0,0,0],[1980,9,28,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,28,23,59,59],[1981,3,29,0,59,59],
+          '1980092800:00:00','1980092801:00:00','1981032823:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,0,0,0],[1981,3,29,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,26,23,59,59],[1981,9,27,1,59,59],
+          '1981032900:00:00','1981032902:00:00','1981092623:59:59','1981092701:59:59' ],
+        [ [1981,9,27,0,0,0],[1981,9,27,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,27,23,59,59],[1982,3,28,0,59,59],
+          '1981092700:00:00','1981092701:00:00','1982032723:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,0,0,0],[1982,3,28,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,25,23,59,59],[1982,9,26,1,59,59],
+          '1982032800:00:00','1982032802:00:00','1982092523:59:59','1982092601:59:59' ],
+        [ [1982,9,26,0,0,0],[1982,9,26,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,26,23,59,59],[1983,3,27,0,59,59],
+          '1982092600:00:00','1982092601:00:00','1983032623:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,0,0,0],[1983,3,27,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,24,23,59,59],[1983,9,25,1,59,59],
+          '1983032700:00:00','1983032702:00:00','1983092423:59:59','1983092501:59:59' ],
+        [ [1983,9,25,0,0,0],[1983,9,25,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,24,23,59,59],[1984,3,25,0,59,59],
+          '1983092500:00:00','1983092501:00:00','1984032423:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,0,0,0],[1984,3,25,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,29,23,59,59],[1984,9,30,1,59,59],
+          '1984032500:00:00','1984032502:00:00','1984092923:59:59','1984093001:59:59' ],
+        [ [1984,9,30,0,0,0],[1984,9,30,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,30,23,59,59],[1985,3,31,0,59,59],
+          '1984093000:00:00','1984093001:00:00','1985033023:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,0,0,0],[1985,3,31,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,28,23,59,59],[1985,9,29,1,59,59],
+          '1985033100:00:00','1985033102:00:00','1985092823:59:59','1985092901:59:59' ],
+        [ [1985,9,29,0,0,0],[1985,9,29,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,29,23,59,59],[1986,3,30,0,59,59],
+          '1985092900:00:00','1985092901:00:00','1986032923:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,0,0,0],[1986,3,30,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,27,23,59,59],[1986,9,28,1,59,59],
+          '1986033000:00:00','1986033002:00:00','1986092723:59:59','1986092801:59:59' ],
+        [ [1986,9,28,0,0,0],[1986,9,28,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,28,23,59,59],[1987,3,29,0,59,59],
+          '1986092800:00:00','1986092801:00:00','1987032823:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,0,0,0],[1987,3,29,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,26,23,59,59],[1987,9,27,1,59,59],
+          '1987032900:00:00','1987032902:00:00','1987092623:59:59','1987092701:59:59' ],
+        [ [1987,9,27,0,0,0],[1987,9,27,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092700:00:00','1987092701:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euzapo00.pm b/lib/Date/Manip/TZ/euzapo00.pm
new file mode 100644
index 0000000..d80e660
--- /dev/null
+++ b/lib/Date/Manip/TZ/euzapo00.pm
@@ -0,0 +1,892 @@
+package #
+Date::Manip::TZ::euzapo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,20,40],'+02:20:40',[2,20,40],
+          'LMT',0,[1879,12,31,21,39,19],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010202:20:40','1879123121:39:19','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,21,39,20],[1879,12,31,23,59,20],'+02:20:00',[2,20,0],
+          '+0220',0,[1924,5,1,21,39,59],[1924,5,1,23,59,59],
+          '1879123121:39:20','1879123123:59:20','1924050121:39:59','1924050123:59:59' ],
+     ],
+   1924 =>
+     [
+        [ [1924,5,1,21,40,0],[1924,5,1,23,40,0],'+02:00:00',[2,0,0],
+          'EET',0,[1930,6,20,21,59,59],[1930,6,20,23,59,59],
+          '1924050121:40:00','1924050123:40:00','1930062021:59:59','1930062023:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,6,20,22,0,0],[1930,6,21,1,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1941,8,24,20,59,59],[1941,8,24,23,59,59],
+          '1930062022:00:00','1930062101:00:00','1941082420:59:59','1941082423:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,8,24,21,0,0],[1941,8,24,23,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1941082421:00:00','1941082423:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1943,10,24,22,59,59],[1943,10,24,23,59,59],
+          '1943100401:00:00','1943100402:00:00','1943102422:59:59','1943102423:59:59' ],
+        [ [1943,10,24,23,0,0],[1943,10,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1981,3,31,20,59,59],[1981,3,31,23,59,59],
+          '1943102423:00:00','1943102502:00:00','1981033120:59:59','1981033123:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,31,21,0,0],[1981,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1981,9,30,19,59,59],[1981,9,30,23,59,59],
+          '1981033121:00:00','1981040101:00:00','1981093019:59:59','1981093023:59:59' ],
+        [ [1981,9,30,20,0,0],[1981,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1982,3,31,20,59,59],[1982,3,31,23,59,59],
+          '1981093020:00:00','1981093023:00:00','1982033120:59:59','1982033123:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,31,21,0,0],[1982,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1982,9,30,19,59,59],[1982,9,30,23,59,59],
+          '1982033121:00:00','1982040101:00:00','1982093019:59:59','1982093023:59:59' ],
+        [ [1982,9,30,20,0,0],[1982,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1983,3,31,20,59,59],[1983,3,31,23,59,59],
+          '1982093020:00:00','1982093023:00:00','1983033120:59:59','1983033123:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,31,21,0,0],[1983,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1983,9,30,19,59,59],[1983,9,30,23,59,59],
+          '1983033121:00:00','1983040101:00:00','1983093019:59:59','1983093023:59:59' ],
+        [ [1983,9,30,20,0,0],[1983,9,30,23,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1984,3,31,20,59,59],[1984,3,31,23,59,59],
+          '1983093020:00:00','1983093023:00:00','1984033120:59:59','1984033123:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,31,21,0,0],[1984,4,1,1,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1984,9,29,22,59,59],[1984,9,30,2,59,59],
+          '1984033121:00:00','1984040101:00:00','1984092922:59:59','1984093002:59:59' ],
+        [ [1984,9,29,23,0,0],[1984,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1985,3,30,22,59,59],[1985,3,31,1,59,59],
+          '1984092923:00:00','1984093002:00:00','1985033022:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,30,23,0,0],[1985,3,31,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1985,9,28,22,59,59],[1985,9,29,2,59,59],
+          '1985033023:00:00','1985033103:00:00','1985092822:59:59','1985092902:59:59' ],
+        [ [1985,9,28,23,0,0],[1985,9,29,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1986,3,29,22,59,59],[1986,3,30,1,59,59],
+          '1985092823:00:00','1985092902:00:00','1986032922:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,29,23,0,0],[1986,3,30,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1986,9,27,22,59,59],[1986,9,28,2,59,59],
+          '1986032923:00:00','1986033003:00:00','1986092722:59:59','1986092802:59:59' ],
+        [ [1986,9,27,23,0,0],[1986,9,28,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1987,3,28,22,59,59],[1987,3,29,1,59,59],
+          '1986092723:00:00','1986092802:00:00','1987032822:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,23,0,0],[1987,3,29,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1987,9,26,22,59,59],[1987,9,27,2,59,59],
+          '1987032823:00:00','1987032903:00:00','1987092622:59:59','1987092702:59:59' ],
+        [ [1987,9,26,23,0,0],[1987,9,27,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1988,3,26,22,59,59],[1988,3,27,1,59,59],
+          '1987092623:00:00','1987092702:00:00','1988032622:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,23,0,0],[1988,3,27,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1988,9,24,22,59,59],[1988,9,25,2,59,59],
+          '1988032623:00:00','1988032703:00:00','1988092422:59:59','1988092502:59:59' ],
+        [ [1988,9,24,23,0,0],[1988,9,25,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1989,3,25,22,59,59],[1989,3,26,1,59,59],
+          '1988092423:00:00','1988092502:00:00','1989032522:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,23,0,0],[1989,3,26,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1989,9,23,22,59,59],[1989,9,24,2,59,59],
+          '1989032523:00:00','1989032603:00:00','1989092322:59:59','1989092402:59:59' ],
+        [ [1989,9,23,23,0,0],[1989,9,24,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1990,3,24,22,59,59],[1990,3,25,1,59,59],
+          '1989092323:00:00','1989092402:00:00','1990032422:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,23,0,0],[1990,3,25,3,0,0],'+04:00:00',[4,0,0],
+          'MSD',1,[1990,9,29,22,59,59],[1990,9,30,2,59,59],
+          '1990032423:00:00','1990032503:00:00','1990092922:59:59','1990093002:59:59' ],
+        [ [1990,9,29,23,0,0],[1990,9,30,2,0,0],'+03:00:00',[3,0,0],
+          'MSK',0,[1991,3,30,22,59,59],[1991,3,31,1,59,59],
+          '1990092923:00:00','1990093002:00:00','1991033022:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,30,23,0,0],[1991,3,31,2,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1991,9,28,20,59,59],[1991,9,28,23,59,59],
+          '1991033023:00:00','1991033102:00:00','1991092820:59:59','1991092823:59:59' ],
+        [ [1991,9,28,21,0,0],[1991,9,28,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1992,3,28,21,59,59],[1992,3,28,23,59,59],
+          '1991092821:00:00','1991092823:00:00','1992032821:59:59','1992032823:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,28,22,0,0],[1992,3,29,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1992,9,26,20,59,59],[1992,9,26,23,59,59],
+          '1992032822:00:00','1992032901:00:00','1992092620:59:59','1992092623:59:59' ],
+        [ [1992,9,26,21,0,0],[1992,9,26,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1993,3,27,21,59,59],[1993,3,27,23,59,59],
+          '1992092621:00:00','1992092623:00:00','1993032721:59:59','1993032723:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,27,22,0,0],[1993,3,28,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1993,9,25,20,59,59],[1993,9,25,23,59,59],
+          '1993032722:00:00','1993032801:00:00','1993092520:59:59','1993092523:59:59' ],
+        [ [1993,9,25,21,0,0],[1993,9,25,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1994,3,26,21,59,59],[1994,3,26,23,59,59],
+          '1993092521:00:00','1993092523:00:00','1994032621:59:59','1994032623:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,26,22,0,0],[1994,3,27,1,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1994,9,24,20,59,59],[1994,9,24,23,59,59],
+          '1994032622:00:00','1994032701:00:00','1994092420:59:59','1994092423:59:59' ],
+        [ [1994,9,24,21,0,0],[1994,9,24,23,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1995,3,26,0,59,59],[1995,3,26,2,59,59],
+          '1994092421:00:00','1994092423:00:00','1995032600:59:59','1995032602:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1995,9,24,0,59,59],[1995,9,24,3,59,59],
+          '1995032601:00:00','1995032604:00:00','1995092400:59:59','1995092403:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1996,3,31,0,59,59],[1996,3,31,2,59,59],
+          '1995092401:00:00','1995092403:00:00','1996033100:59:59','1996033102:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1996,10,27,0,59,59],[1996,10,27,3,59,59],
+          '1996033101:00:00','1996033104:00:00','1996102700:59:59','1996102703:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1997,3,30,0,59,59],[1997,3,30,2,59,59],
+          '1996102701:00:00','1996102703:00:00','1997033000:59:59','1997033002:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1997,10,26,0,59,59],[1997,10,26,3,59,59],
+          '1997033001:00:00','1997033004:00:00','1997102600:59:59','1997102603:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1998,3,29,0,59,59],[1998,3,29,2,59,59],
+          '1997102601:00:00','1997102603:00:00','1998032900:59:59','1998032902:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1998,10,25,0,59,59],[1998,10,25,3,59,59],
+          '1998032901:00:00','1998032904:00:00','1998102500:59:59','1998102503:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[1999,3,28,0,59,59],[1999,3,28,2,59,59],
+          '1998102501:00:00','1998102503:00:00','1999032800:59:59','1999032802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[1999,10,31,0,59,59],[1999,10,31,3,59,59],
+          '1999032801:00:00','1999032804:00:00','1999103100:59:59','1999103103:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2000,3,26,0,59,59],[2000,3,26,2,59,59],
+          '1999103101:00:00','1999103103:00:00','2000032600:59:59','2000032602:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2000,10,29,0,59,59],[2000,10,29,3,59,59],
+          '2000032601:00:00','2000032604:00:00','2000102900:59:59','2000102903:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2001,3,25,0,59,59],[2001,3,25,2,59,59],
+          '2000102901:00:00','2000102903:00:00','2001032500:59:59','2001032502:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2001,10,28,0,59,59],[2001,10,28,3,59,59],
+          '2001032501:00:00','2001032504:00:00','2001102800:59:59','2001102803:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2002,3,31,0,59,59],[2002,3,31,2,59,59],
+          '2001102801:00:00','2001102803:00:00','2002033100:59:59','2002033102:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2002,10,27,0,59,59],[2002,10,27,3,59,59],
+          '2002033101:00:00','2002033104:00:00','2002102700:59:59','2002102703:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2003,3,30,0,59,59],[2003,3,30,2,59,59],
+          '2002102701:00:00','2002102703:00:00','2003033000:59:59','2003033002:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2003,10,26,0,59,59],[2003,10,26,3,59,59],
+          '2003033001:00:00','2003033004:00:00','2003102600:59:59','2003102603:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2004,3,28,0,59,59],[2004,3,28,2,59,59],
+          '2003102601:00:00','2003102603:00:00','2004032800:59:59','2004032802:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2004,10,31,0,59,59],[2004,10,31,3,59,59],
+          '2004032801:00:00','2004032804:00:00','2004103100:59:59','2004103103:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2005,3,27,0,59,59],[2005,3,27,2,59,59],
+          '2004103101:00:00','2004103103:00:00','2005032700:59:59','2005032702:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2005,10,30,0,59,59],[2005,10,30,3,59,59],
+          '2005032701:00:00','2005032704:00:00','2005103000:59:59','2005103003:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2006,3,26,0,59,59],[2006,3,26,2,59,59],
+          '2005103001:00:00','2005103003:00:00','2006032600:59:59','2006032602:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2006,10,29,0,59,59],[2006,10,29,3,59,59],
+          '2006032601:00:00','2006032604:00:00','2006102900:59:59','2006102903:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2007,3,25,0,59,59],[2007,3,25,2,59,59],
+          '2006102901:00:00','2006102903:00:00','2007032500:59:59','2007032502:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2007,10,28,0,59,59],[2007,10,28,3,59,59],
+          '2007032501:00:00','2007032504:00:00','2007102800:59:59','2007102803:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2008,3,30,0,59,59],[2008,3,30,2,59,59],
+          '2007102801:00:00','2007102803:00:00','2008033000:59:59','2008033002:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2008,10,26,0,59,59],[2008,10,26,3,59,59],
+          '2008033001:00:00','2008033004:00:00','2008102600:59:59','2008102603:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2009,3,29,0,59,59],[2009,3,29,2,59,59],
+          '2008102601:00:00','2008102603:00:00','2009032900:59:59','2009032902:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2009,10,25,0,59,59],[2009,10,25,3,59,59],
+          '2009032901:00:00','2009032904:00:00','2009102500:59:59','2009102503:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2010,3,28,0,59,59],[2010,3,28,2,59,59],
+          '2009102501:00:00','2009102503:00:00','2010032800:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2010,10,31,0,59,59],[2010,10,31,3,59,59],
+          '2010032801:00:00','2010032804:00:00','2010103100:59:59','2010103103:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2011,3,27,0,59,59],[2011,3,27,2,59,59],
+          '2010103101:00:00','2010103103:00:00','2011032700:59:59','2011032702:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2011,10,30,0,59,59],[2011,10,30,3,59,59],
+          '2011032701:00:00','2011032704:00:00','2011103000:59:59','2011103003:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2012,3,25,0,59,59],[2012,3,25,2,59,59],
+          '2011103001:00:00','2011103003:00:00','2012032500:59:59','2012032502:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2012,10,28,0,59,59],[2012,10,28,3,59,59],
+          '2012032501:00:00','2012032504:00:00','2012102800:59:59','2012102803:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2013,3,31,0,59,59],[2013,3,31,2,59,59],
+          '2012102801:00:00','2012102803:00:00','2013033100:59:59','2013033102:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2013,10,27,0,59,59],[2013,10,27,3,59,59],
+          '2013033101:00:00','2013033104:00:00','2013102700:59:59','2013102703:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2014,3,30,0,59,59],[2014,3,30,2,59,59],
+          '2013102701:00:00','2013102703:00:00','2014033000:59:59','2014033002:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2014,10,26,0,59,59],[2014,10,26,3,59,59],
+          '2014033001:00:00','2014033004:00:00','2014102600:59:59','2014102603:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2015,3,29,0,59,59],[2015,3,29,2,59,59],
+          '2014102601:00:00','2014102603:00:00','2015032900:59:59','2015032902:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2015,10,25,0,59,59],[2015,10,25,3,59,59],
+          '2015032901:00:00','2015032904:00:00','2015102500:59:59','2015102503:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2016,3,27,0,59,59],[2016,3,27,2,59,59],
+          '2015102501:00:00','2015102503:00:00','2016032700:59:59','2016032702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2016,10,30,0,59,59],[2016,10,30,3,59,59],
+          '2016032701:00:00','2016032704:00:00','2016103000:59:59','2016103003:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2017,3,26,0,59,59],[2017,3,26,2,59,59],
+          '2016103001:00:00','2016103003:00:00','2017032600:59:59','2017032602:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2017,10,29,0,59,59],[2017,10,29,3,59,59],
+          '2017032601:00:00','2017032604:00:00','2017102900:59:59','2017102903:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2018,3,25,0,59,59],[2018,3,25,2,59,59],
+          '2017102901:00:00','2017102903:00:00','2018032500:59:59','2018032502:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2018,10,28,0,59,59],[2018,10,28,3,59,59],
+          '2018032501:00:00','2018032504:00:00','2018102800:59:59','2018102803:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2019,3,31,0,59,59],[2019,3,31,2,59,59],
+          '2018102801:00:00','2018102803:00:00','2019033100:59:59','2019033102:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2019,10,27,0,59,59],[2019,10,27,3,59,59],
+          '2019033101:00:00','2019033104:00:00','2019102700:59:59','2019102703:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2020,3,29,0,59,59],[2020,3,29,2,59,59],
+          '2019102701:00:00','2019102703:00:00','2020032900:59:59','2020032902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2020,10,25,0,59,59],[2020,10,25,3,59,59],
+          '2020032901:00:00','2020032904:00:00','2020102500:59:59','2020102503:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2021,3,28,0,59,59],[2021,3,28,2,59,59],
+          '2020102501:00:00','2020102503:00:00','2021032800:59:59','2021032802:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2021,10,31,0,59,59],[2021,10,31,3,59,59],
+          '2021032801:00:00','2021032804:00:00','2021103100:59:59','2021103103:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2022,3,27,0,59,59],[2022,3,27,2,59,59],
+          '2021103101:00:00','2021103103:00:00','2022032700:59:59','2022032702:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2022,10,30,0,59,59],[2022,10,30,3,59,59],
+          '2022032701:00:00','2022032704:00:00','2022103000:59:59','2022103003:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2023,3,26,0,59,59],[2023,3,26,2,59,59],
+          '2022103001:00:00','2022103003:00:00','2023032600:59:59','2023032602:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2023,10,29,0,59,59],[2023,10,29,3,59,59],
+          '2023032601:00:00','2023032604:00:00','2023102900:59:59','2023102903:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2024,3,31,0,59,59],[2024,3,31,2,59,59],
+          '2023102901:00:00','2023102903:00:00','2024033100:59:59','2024033102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2024,10,27,0,59,59],[2024,10,27,3,59,59],
+          '2024033101:00:00','2024033104:00:00','2024102700:59:59','2024102703:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2025,3,30,0,59,59],[2025,3,30,2,59,59],
+          '2024102701:00:00','2024102703:00:00','2025033000:59:59','2025033002:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2025,10,26,0,59,59],[2025,10,26,3,59,59],
+          '2025033001:00:00','2025033004:00:00','2025102600:59:59','2025102603:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2026,3,29,0,59,59],[2026,3,29,2,59,59],
+          '2025102601:00:00','2025102603:00:00','2026032900:59:59','2026032902:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2026,10,25,0,59,59],[2026,10,25,3,59,59],
+          '2026032901:00:00','2026032904:00:00','2026102500:59:59','2026102503:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2027,3,28,0,59,59],[2027,3,28,2,59,59],
+          '2026102501:00:00','2026102503:00:00','2027032800:59:59','2027032802:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2027,10,31,0,59,59],[2027,10,31,3,59,59],
+          '2027032801:00:00','2027032804:00:00','2027103100:59:59','2027103103:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2028,3,26,0,59,59],[2028,3,26,2,59,59],
+          '2027103101:00:00','2027103103:00:00','2028032600:59:59','2028032602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2028,10,29,0,59,59],[2028,10,29,3,59,59],
+          '2028032601:00:00','2028032604:00:00','2028102900:59:59','2028102903:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2029,3,25,0,59,59],[2029,3,25,2,59,59],
+          '2028102901:00:00','2028102903:00:00','2029032500:59:59','2029032502:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2029,10,28,0,59,59],[2029,10,28,3,59,59],
+          '2029032501:00:00','2029032504:00:00','2029102800:59:59','2029102803:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2030,3,31,0,59,59],[2030,3,31,2,59,59],
+          '2029102801:00:00','2029102803:00:00','2030033100:59:59','2030033102:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2030,10,27,0,59,59],[2030,10,27,3,59,59],
+          '2030033101:00:00','2030033104:00:00','2030102700:59:59','2030102703:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2031,3,30,0,59,59],[2031,3,30,2,59,59],
+          '2030102701:00:00','2030102703:00:00','2031033000:59:59','2031033002:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2031,10,26,0,59,59],[2031,10,26,3,59,59],
+          '2031033001:00:00','2031033004:00:00','2031102600:59:59','2031102603:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2032,3,28,0,59,59],[2032,3,28,2,59,59],
+          '2031102601:00:00','2031102603:00:00','2032032800:59:59','2032032802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2032,10,31,0,59,59],[2032,10,31,3,59,59],
+          '2032032801:00:00','2032032804:00:00','2032103100:59:59','2032103103:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2033,3,27,0,59,59],[2033,3,27,2,59,59],
+          '2032103101:00:00','2032103103:00:00','2033032700:59:59','2033032702:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2033,10,30,0,59,59],[2033,10,30,3,59,59],
+          '2033032701:00:00','2033032704:00:00','2033103000:59:59','2033103003:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2034,3,26,0,59,59],[2034,3,26,2,59,59],
+          '2033103001:00:00','2033103003:00:00','2034032600:59:59','2034032602:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2034,10,29,0,59,59],[2034,10,29,3,59,59],
+          '2034032601:00:00','2034032604:00:00','2034102900:59:59','2034102903:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2035,3,25,0,59,59],[2035,3,25,2,59,59],
+          '2034102901:00:00','2034102903:00:00','2035032500:59:59','2035032502:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2035,10,28,0,59,59],[2035,10,28,3,59,59],
+          '2035032501:00:00','2035032504:00:00','2035102800:59:59','2035102803:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2036,3,30,0,59,59],[2036,3,30,2,59,59],
+          '2035102801:00:00','2035102803:00:00','2036033000:59:59','2036033002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2036,10,26,0,59,59],[2036,10,26,3,59,59],
+          '2036033001:00:00','2036033004:00:00','2036102600:59:59','2036102603:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2037,3,29,0,59,59],[2037,3,29,2,59,59],
+          '2036102601:00:00','2036102603:00:00','2037032900:59:59','2037032902:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2037,10,25,0,59,59],[2037,10,25,3,59,59],
+          '2037032901:00:00','2037032904:00:00','2037102500:59:59','2037102503:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2038,3,28,0,59,59],[2038,3,28,2,59,59],
+          '2037102501:00:00','2037102503:00:00','2038032800:59:59','2038032802:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2038,10,31,0,59,59],[2038,10,31,3,59,59],
+          '2038032801:00:00','2038032804:00:00','2038103100:59:59','2038103103:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2039,3,27,0,59,59],[2039,3,27,2,59,59],
+          '2038103101:00:00','2038103103:00:00','2039032700:59:59','2039032702:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2039,10,30,0,59,59],[2039,10,30,3,59,59],
+          '2039032701:00:00','2039032704:00:00','2039103000:59:59','2039103003:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2040,3,25,0,59,59],[2040,3,25,2,59,59],
+          '2039103001:00:00','2039103003:00:00','2040032500:59:59','2040032502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2040,10,28,0,59,59],[2040,10,28,3,59,59],
+          '2040032501:00:00','2040032504:00:00','2040102800:59:59','2040102803:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2041,3,31,0,59,59],[2041,3,31,2,59,59],
+          '2040102801:00:00','2040102803:00:00','2041033100:59:59','2041033102:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2041,10,27,0,59,59],[2041,10,27,3,59,59],
+          '2041033101:00:00','2041033104:00:00','2041102700:59:59','2041102703:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2042,3,30,0,59,59],[2042,3,30,2,59,59],
+          '2041102701:00:00','2041102703:00:00','2042033000:59:59','2042033002:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2042,10,26,0,59,59],[2042,10,26,3,59,59],
+          '2042033001:00:00','2042033004:00:00','2042102600:59:59','2042102603:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2043,3,29,0,59,59],[2043,3,29,2,59,59],
+          '2042102601:00:00','2042102603:00:00','2043032900:59:59','2043032902:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2043,10,25,0,59,59],[2043,10,25,3,59,59],
+          '2043032901:00:00','2043032904:00:00','2043102500:59:59','2043102503:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2044,3,27,0,59,59],[2044,3,27,2,59,59],
+          '2043102501:00:00','2043102503:00:00','2044032700:59:59','2044032702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2044,10,30,0,59,59],[2044,10,30,3,59,59],
+          '2044032701:00:00','2044032704:00:00','2044103000:59:59','2044103003:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2045,3,26,0,59,59],[2045,3,26,2,59,59],
+          '2044103001:00:00','2044103003:00:00','2045032600:59:59','2045032602:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2045,10,29,0,59,59],[2045,10,29,3,59,59],
+          '2045032601:00:00','2045032604:00:00','2045102900:59:59','2045102903:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2046,3,25,0,59,59],[2046,3,25,2,59,59],
+          '2045102901:00:00','2045102903:00:00','2046032500:59:59','2046032502:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2046,10,28,0,59,59],[2046,10,28,3,59,59],
+          '2046032501:00:00','2046032504:00:00','2046102800:59:59','2046102803:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2047,3,31,0,59,59],[2047,3,31,2,59,59],
+          '2046102801:00:00','2046102803:00:00','2047033100:59:59','2047033102:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2047,10,27,0,59,59],[2047,10,27,3,59,59],
+          '2047033101:00:00','2047033104:00:00','2047102700:59:59','2047102703:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2048,3,29,0,59,59],[2048,3,29,2,59,59],
+          '2047102701:00:00','2047102703:00:00','2048032900:59:59','2048032902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2048,10,25,0,59,59],[2048,10,25,3,59,59],
+          '2048032901:00:00','2048032904:00:00','2048102500:59:59','2048102503:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2049,3,28,0,59,59],[2049,3,28,2,59,59],
+          '2048102501:00:00','2048102503:00:00','2049032800:59:59','2049032802:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2049,10,31,0,59,59],[2049,10,31,3,59,59],
+          '2049032801:00:00','2049032804:00:00','2049103100:59:59','2049103103:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2050,3,27,0,59,59],[2050,3,27,2,59,59],
+          '2049103101:00:00','2049103103:00:00','2050032700:59:59','2050032702:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2050,10,30,0,59,59],[2050,10,30,3,59,59],
+          '2050032701:00:00','2050032704:00:00','2050103000:59:59','2050103003:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2051,3,26,0,59,59],[2051,3,26,2,59,59],
+          '2050103001:00:00','2050103003:00:00','2051032600:59:59','2051032602:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2051,10,29,0,59,59],[2051,10,29,3,59,59],
+          '2051032601:00:00','2051032604:00:00','2051102900:59:59','2051102903:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2052,3,31,0,59,59],[2052,3,31,2,59,59],
+          '2051102901:00:00','2051102903:00:00','2052033100:59:59','2052033102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2052,10,27,0,59,59],[2052,10,27,3,59,59],
+          '2052033101:00:00','2052033104:00:00','2052102700:59:59','2052102703:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2053,3,30,0,59,59],[2053,3,30,2,59,59],
+          '2052102701:00:00','2052102703:00:00','2053033000:59:59','2053033002:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2053,10,26,0,59,59],[2053,10,26,3,59,59],
+          '2053033001:00:00','2053033004:00:00','2053102600:59:59','2053102603:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2054,3,29,0,59,59],[2054,3,29,2,59,59],
+          '2053102601:00:00','2053102603:00:00','2054032900:59:59','2054032902:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2054,10,25,0,59,59],[2054,10,25,3,59,59],
+          '2054032901:00:00','2054032904:00:00','2054102500:59:59','2054102503:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2055,3,28,0,59,59],[2055,3,28,2,59,59],
+          '2054102501:00:00','2054102503:00:00','2055032800:59:59','2055032802:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2055,10,31,0,59,59],[2055,10,31,3,59,59],
+          '2055032801:00:00','2055032804:00:00','2055103100:59:59','2055103103:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2056,3,26,0,59,59],[2056,3,26,2,59,59],
+          '2055103101:00:00','2055103103:00:00','2056032600:59:59','2056032602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2056,10,29,0,59,59],[2056,10,29,3,59,59],
+          '2056032601:00:00','2056032604:00:00','2056102900:59:59','2056102903:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2057,3,25,0,59,59],[2057,3,25,2,59,59],
+          '2056102901:00:00','2056102903:00:00','2057032500:59:59','2057032502:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2057,10,28,0,59,59],[2057,10,28,3,59,59],
+          '2057032501:00:00','2057032504:00:00','2057102800:59:59','2057102803:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2058,3,31,0,59,59],[2058,3,31,2,59,59],
+          '2057102801:00:00','2057102803:00:00','2058033100:59:59','2058033102:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2058,10,27,0,59,59],[2058,10,27,3,59,59],
+          '2058033101:00:00','2058033104:00:00','2058102700:59:59','2058102703:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2059,3,30,0,59,59],[2059,3,30,2,59,59],
+          '2058102701:00:00','2058102703:00:00','2059033000:59:59','2059033002:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2059,10,26,0,59,59],[2059,10,26,3,59,59],
+          '2059033001:00:00','2059033004:00:00','2059102600:59:59','2059102603:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2060,3,28,0,59,59],[2060,3,28,2,59,59],
+          '2059102601:00:00','2059102603:00:00','2060032800:59:59','2060032802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2060,10,31,0,59,59],[2060,10,31,3,59,59],
+          '2060032801:00:00','2060032804:00:00','2060103100:59:59','2060103103:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2061,3,27,0,59,59],[2061,3,27,2,59,59],
+          '2060103101:00:00','2060103103:00:00','2061032700:59:59','2061032702:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2061,10,30,0,59,59],[2061,10,30,3,59,59],
+          '2061032701:00:00','2061032704:00:00','2061103000:59:59','2061103003:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2062,3,26,0,59,59],[2062,3,26,2,59,59],
+          '2061103001:00:00','2061103003:00:00','2062032600:59:59','2062032602:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2062,10,29,0,59,59],[2062,10,29,3,59,59],
+          '2062032601:00:00','2062032604:00:00','2062102900:59:59','2062102903:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2063,3,25,0,59,59],[2063,3,25,2,59,59],
+          '2062102901:00:00','2062102903:00:00','2063032500:59:59','2063032502:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2063,10,28,0,59,59],[2063,10,28,3,59,59],
+          '2063032501:00:00','2063032504:00:00','2063102800:59:59','2063102803:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2064,3,30,0,59,59],[2064,3,30,2,59,59],
+          '2063102801:00:00','2063102803:00:00','2064033000:59:59','2064033002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2064,10,26,0,59,59],[2064,10,26,3,59,59],
+          '2064033001:00:00','2064033004:00:00','2064102600:59:59','2064102603:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2065,3,29,0,59,59],[2065,3,29,2,59,59],
+          '2064102601:00:00','2064102603:00:00','2065032900:59:59','2065032902:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2065,10,25,0,59,59],[2065,10,25,3,59,59],
+          '2065032901:00:00','2065032904:00:00','2065102500:59:59','2065102503:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2066,3,28,0,59,59],[2066,3,28,2,59,59],
+          '2065102501:00:00','2065102503:00:00','2066032800:59:59','2066032802:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2066,10,31,0,59,59],[2066,10,31,3,59,59],
+          '2066032801:00:00','2066032804:00:00','2066103100:59:59','2066103103:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2067,3,27,0,59,59],[2067,3,27,2,59,59],
+          '2066103101:00:00','2066103103:00:00','2067032700:59:59','2067032702:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,4,0,0],'+03:00:00',[3,0,0],
+          'EEST',1,[2067,10,30,0,59,59],[2067,10,30,3,59,59],
+          '2067032701:00:00','2067032704:00:00','2067103000:59:59','2067103003:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,3,0,0],'+02:00:00',[2,0,0],
+          'EET',0,[2068,3,25,0,59,59],[2068,3,25,2,59,59],
+          '2067103001:00:00','2067103003:00:00','2068032500:59:59','2068032502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+03:00:00',
+                'stdoff' => '+02:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'EEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'EET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/euzuri00.pm b/lib/Date/Manip/TZ/euzuri00.pm
new file mode 100644
index 0000000..705f2b9
--- /dev/null
+++ b/lib/Date/Manip/TZ/euzuri00.pm
@@ -0,0 +1,880 @@
+package #
+Date::Manip::TZ::euzuri00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,34,8],'+00:34:08',[0,34,8],
+          'LMT',0,[1853,7,15,23,25,51],[1853,7,15,23,59,59],
+          '0001010200:00:00','0001010200:34:08','1853071523:25:51','1853071523:59:59' ],
+     ],
+   1853 =>
+     [
+        [ [1853,7,15,23,25,52],[1853,7,15,23,55,38],'+00:29:46',[0,29,46],
+          'BMT',0,[1894,5,31,23,30,13],[1894,5,31,23,59,59],
+          '1853071523:25:52','1853071523:55:38','1894053123:30:13','1894053123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,5,31,23,30,14],[1894,6,1,0,30,14],'+01:00:00',[1,0,0],
+          'CET',0,[1941,5,4,23,59,59],[1941,5,5,0,59,59],
+          '1894053123:30:14','1894060100:30:14','1941050423:59:59','1941050500:59:59' ],
+     ],
+   1941 =>
+     [
+        [ [1941,5,5,0,0,0],[1941,5,5,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1941,10,5,23,59,59],[1941,10,6,1,59,59],
+          '1941050500:00:00','1941050502:00:00','1941100523:59:59','1941100601:59:59' ],
+        [ [1941,10,6,0,0,0],[1941,10,6,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1942,5,3,23,59,59],[1942,5,4,0,59,59],
+          '1941100600:00:00','1941100601:00:00','1942050323:59:59','1942050400:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,5,4,0,0,0],[1942,5,4,2,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1942,10,4,23,59,59],[1942,10,5,1,59,59],
+          '1942050400:00:00','1942050402:00:00','1942100423:59:59','1942100501:59:59' ],
+        [ [1942,10,5,0,0,0],[1942,10,5,1,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1942100500:00:00','1942100501:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'CEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'CET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'CEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'CET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/f00.pm b/lib/Date/Manip/TZ/f00.pm
new file mode 100644
index 0000000..1ecb8e6
--- /dev/null
+++ b/lib/Date/Manip/TZ/f00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::f00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,0,0],'-06:00:00',[-6,0,0],
+          'F',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '0001010200:00:00','0001010118:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/g00.pm b/lib/Date/Manip/TZ/g00.pm
new file mode 100644
index 0000000..e2b7a06
--- /dev/null
+++ b/lib/Date/Manip/TZ/g00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::g00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,17,0,0],'-07:00:00',[-7,0,0],
+          'G',0,[9999,12,31,0,0,0],[9999,12,30,17,0,0],
+          '0001010200:00:00','0001010117:00:00','9999123100:00:00','9999123017:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/h00.pm b/lib/Date/Manip/TZ/h00.pm
new file mode 100644
index 0000000..4d8799a
--- /dev/null
+++ b/lib/Date/Manip/TZ/h00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::h00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,0,0],'-08:00:00',[-8,0,0],
+          'H',0,[9999,12,31,0,0,0],[9999,12,30,16,0,0],
+          '0001010200:00:00','0001010116:00:00','9999123100:00:00','9999123016:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/i00.pm b/lib/Date/Manip/TZ/i00.pm
new file mode 100644
index 0000000..d17aafc
--- /dev/null
+++ b/lib/Date/Manip/TZ/i00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::i00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,0,0],'-09:00:00',[-9,0,0],
+          'I',0,[9999,12,31,0,0,0],[9999,12,30,15,0,0],
+          '0001010200:00:00','0001010115:00:00','9999123100:00:00','9999123015:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inchag00.pm b/lib/Date/Manip/TZ/inchag00.pm
new file mode 100644
index 0000000..f6d12eb
--- /dev/null
+++ b/lib/Date/Manip/TZ/inchag00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::inchag00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,49,40],'+04:49:40',[4,49,40],
+          'LMT',0,[1906,12,31,19,10,19],[1906,12,31,23,59,59],
+          '0001010200:00:00','0001010204:49:40','1906123119:10:19','1906123123:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,12,31,19,10,20],[1907,1,1,0,10,20],'+05:00:00',[5,0,0],
+          '+05',0,[1995,12,31,18,59,59],[1995,12,31,23,59,59],
+          '1906123119:10:20','1907010100:10:20','1995123118:59:59','1995123123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,12,31,19,0,0],[1996,1,1,1,0,0],'+06:00:00',[6,0,0],
+          '+06',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '1995123119:00:00','1996010101:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inchri00.pm b/lib/Date/Manip/TZ/inchri00.pm
new file mode 100644
index 0000000..1acca5a
--- /dev/null
+++ b/lib/Date/Manip/TZ/inchri00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::inchri00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,2,52],'+07:02:52',[7,2,52],
+          'LMT',0,[1895,1,31,16,57,7],[1895,1,31,23,59,59],
+          '0001010200:00:00','0001010207:02:52','1895013116:57:07','1895013123:59:59' ],
+     ],
+   1895 =>
+     [
+        [ [1895,1,31,16,57,8],[1895,1,31,23,57,8],'+07:00:00',[7,0,0],
+          '+07',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '1895013116:57:08','1895013123:57:08','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/incoco00.pm b/lib/Date/Manip/TZ/incoco00.pm
new file mode 100644
index 0000000..8f4a452
--- /dev/null
+++ b/lib/Date/Manip/TZ/incoco00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::incoco00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,27,40],'+06:27:40',[6,27,40],
+          'LMT',0,[1899,12,31,17,32,19],[1899,12,31,23,59,59],
+          '0001010200:00:00','0001010206:27:40','1899123117:32:19','1899123123:59:59' ],
+     ],
+   1899 =>
+     [
+        [ [1899,12,31,17,32,20],[1900,1,1,0,2,20],'+06:30:00',[6,30,0],
+          '+0630',0,[9999,12,31,0,0,0],[9999,12,31,6,30,0],
+          '1899123117:32:20','1900010100:02:20','9999123100:00:00','9999123106:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inkerg00.pm b/lib/Date/Manip/TZ/inkerg00.pm
new file mode 100644
index 0000000..55a4541
--- /dev/null
+++ b/lib/Date/Manip/TZ/inkerg00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::inkerg00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          '-00',0,[1949,12,31,23,59,59],[1949,12,31,23,59,59],
+          '0001010200:00:00','0001010200:00:00','1949123123:59:59','1949123123:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,1,1,0,0,0],[1950,1,1,5,0,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1950010100:00:00','1950010105:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inmahe00.pm b/lib/Date/Manip/TZ/inmahe00.pm
new file mode 100644
index 0000000..7ce9b60
--- /dev/null
+++ b/lib/Date/Manip/TZ/inmahe00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::inmahe00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,41,48],'+03:41:48',[3,41,48],
+          'LMT',0,[1906,5,31,20,18,11],[1906,5,31,23,59,59],
+          '0001010200:00:00','0001010203:41:48','1906053120:18:11','1906053123:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,5,31,20,18,12],[1906,6,1,0,18,12],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '1906053120:18:12','1906060100:18:12','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inmald00.pm b/lib/Date/Manip/TZ/inmald00.pm
new file mode 100644
index 0000000..3d78574
--- /dev/null
+++ b/lib/Date/Manip/TZ/inmald00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::inmald00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,54,0],'+04:54:00',[4,54,0],
+          'LMT',0,[1879,12,31,19,5,59],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010204:54:00','1879123119:05:59','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,19,6,0],[1880,1,1,0,0,0],'+04:54:00',[4,54,0],
+          'MMT',0,[1959,12,31,19,5,59],[1959,12,31,23,59,59],
+          '1879123119:06:00','1880010100:00:00','1959123119:05:59','1959123123:59:59' ],
+     ],
+   1959 =>
+     [
+        [ [1959,12,31,19,6,0],[1960,1,1,0,6,0],'+05:00:00',[5,0,0],
+          '+05',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '1959123119:06:00','1960010100:06:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inmaur00.pm b/lib/Date/Manip/TZ/inmaur00.pm
new file mode 100644
index 0000000..d38dbc5
--- /dev/null
+++ b/lib/Date/Manip/TZ/inmaur00.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::TZ::inmaur00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,50,0],'+03:50:00',[3,50,0],
+          'LMT',0,[1906,12,31,20,9,59],[1906,12,31,23,59,59],
+          '0001010200:00:00','0001010203:50:00','1906123120:09:59','1906123123:59:59' ],
+     ],
+   1906 =>
+     [
+        [ [1906,12,31,20,10,0],[1907,1,1,0,10,0],'+04:00:00',[4,0,0],
+          '+04',0,[1982,10,9,19,59,59],[1982,10,9,23,59,59],
+          '1906123120:10:00','1907010100:10:00','1982100919:59:59','1982100923:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,10,9,20,0,0],[1982,10,10,1,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[1983,3,20,18,59,59],[1983,3,20,23,59,59],
+          '1982100920:00:00','1982101001:00:00','1983032018:59:59','1983032023:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,20,19,0,0],[1983,3,20,23,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[2008,10,25,21,59,59],[2008,10,26,1,59,59],
+          '1983032019:00:00','1983032023:00:00','2008102521:59:59','2008102601:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,10,25,22,0,0],[2008,10,26,3,0,0],'+05:00:00',[5,0,0],
+          '+05',1,[2009,3,28,20,59,59],[2009,3,29,1,59,59],
+          '2008102522:00:00','2008102603:00:00','2009032820:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,28,21,0,0],[2009,3,29,1,0,0],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '2009032821:00:00','2009032901:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/inreun00.pm b/lib/Date/Manip/TZ/inreun00.pm
new file mode 100644
index 0000000..4be21bb
--- /dev/null
+++ b/lib/Date/Manip/TZ/inreun00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::inreun00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,41,52],'+03:41:52',[3,41,52],
+          'LMT',0,[1911,5,31,20,18,7],[1911,5,31,23,59,59],
+          '0001010200:00:00','0001010203:41:52','1911053120:18:07','1911053123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,5,31,20,18,8],[1911,6,1,0,18,8],'+04:00:00',[4,0,0],
+          '+04',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '1911053120:18:08','1911060100:18:08','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/k00.pm b/lib/Date/Manip/TZ/k00.pm
new file mode 100644
index 0000000..6efa86a
--- /dev/null
+++ b/lib/Date/Manip/TZ/k00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::k00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,0,0],'-10:00:00',[-10,0,0],
+          'K',0,[9999,12,31,0,0,0],[9999,12,30,14,0,0],
+          '0001010200:00:00','0001010114:00:00','9999123100:00:00','9999123014:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/l00.pm b/lib/Date/Manip/TZ/l00.pm
new file mode 100644
index 0000000..30d73c4
--- /dev/null
+++ b/lib/Date/Manip/TZ/l00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::l00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,13,0,0],'-11:00:00',[-11,0,0],
+          'L',0,[9999,12,31,0,0,0],[9999,12,30,13,0,0],
+          '0001010200:00:00','0001010113:00:00','9999123100:00:00','9999123013:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/m00.pm b/lib/Date/Manip/TZ/m00.pm
new file mode 100644
index 0000000..ea94fa1
--- /dev/null
+++ b/lib/Date/Manip/TZ/m00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::m00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,12,0,0],'-12:00:00',[-12,0,0],
+          'M',0,[9999,12,31,0,0,0],[9999,12,30,12,0,0],
+          '0001010200:00:00','0001010112:00:00','9999123100:00:00','9999123012:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/met00.pm b/lib/Date/Manip/TZ/met00.pm
new file mode 100644
index 0000000..dc4b444
--- /dev/null
+++ b/lib/Date/Manip/TZ/met00.pm
@@ -0,0 +1,952 @@
+package #
+Date::Manip::TZ::met00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1916,4,30,21,59,59],[1916,4,30,22,59,59],
+          '0001010200:00:00','0001010201:00:00','1916043021:59:59','1916043022:59:59' ],
+     ],
+   1916 =>
+     [
+        [ [1916,4,30,22,0,0],[1916,5,1,0,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1916,9,30,22,59,59],[1916,10,1,0,59,59],
+          '1916043022:00:00','1916050100:00:00','1916093022:59:59','1916100100:59:59' ],
+        [ [1916,9,30,23,0,0],[1916,10,1,0,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1917,4,16,0,59,59],[1917,4,16,1,59,59],
+          '1916093023:00:00','1916100100:00:00','1917041600:59:59','1917041601:59:59' ],
+     ],
+   1917 =>
+     [
+        [ [1917,4,16,1,0,0],[1917,4,16,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1917,9,17,0,59,59],[1917,9,17,2,59,59],
+          '1917041601:00:00','1917041603:00:00','1917091700:59:59','1917091702:59:59' ],
+        [ [1917,9,17,1,0,0],[1917,9,17,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1918,4,15,0,59,59],[1918,4,15,1,59,59],
+          '1917091701:00:00','1917091702:00:00','1918041500:59:59','1918041501:59:59' ],
+     ],
+   1918 =>
+     [
+        [ [1918,4,15,1,0,0],[1918,4,15,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1918,9,16,0,59,59],[1918,9,16,2,59,59],
+          '1918041501:00:00','1918041503:00:00','1918091600:59:59','1918091602:59:59' ],
+        [ [1918,9,16,1,0,0],[1918,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1940,4,1,0,59,59],[1940,4,1,1,59,59],
+          '1918091601:00:00','1918091602:00:00','1940040100:59:59','1940040101:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,1,1,0,0],[1940,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1942,11,2,0,59,59],[1942,11,2,2,59,59],
+          '1940040101:00:00','1940040103:00:00','1942110200:59:59','1942110202:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,11,2,1,0,0],[1942,11,2,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1943,3,29,0,59,59],[1943,3,29,1,59,59],
+          '1942110201:00:00','1942110202:00:00','1943032900:59:59','1943032901:59:59' ],
+     ],
+   1943 =>
+     [
+        [ [1943,3,29,1,0,0],[1943,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1943,10,4,0,59,59],[1943,10,4,2,59,59],
+          '1943032901:00:00','1943032903:00:00','1943100400:59:59','1943100402:59:59' ],
+        [ [1943,10,4,1,0,0],[1943,10,4,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1944,4,3,0,59,59],[1944,4,3,1,59,59],
+          '1943100401:00:00','1943100402:00:00','1944040300:59:59','1944040301:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,4,3,1,0,0],[1944,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1944,10,2,0,59,59],[1944,10,2,2,59,59],
+          '1944040301:00:00','1944040303:00:00','1944100200:59:59','1944100202:59:59' ],
+        [ [1944,10,2,1,0,0],[1944,10,2,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1945,4,2,0,59,59],[1945,4,2,1,59,59],
+          '1944100201:00:00','1944100202:00:00','1945040200:59:59','1945040201:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,4,2,1,0,0],[1945,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1945,9,16,0,59,59],[1945,9,16,2,59,59],
+          '1945040201:00:00','1945040203:00:00','1945091600:59:59','1945091602:59:59' ],
+        [ [1945,9,16,1,0,0],[1945,9,16,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1977,4,3,0,59,59],[1977,4,3,1,59,59],
+          '1945091601:00:00','1945091602:00:00','1977040300:59:59','1977040301:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1977,9,25,0,59,59],[1977,9,25,2,59,59],
+          '1977040301:00:00','1977040303:00:00','1977092500:59:59','1977092502:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1978,4,2,0,59,59],[1978,4,2,1,59,59],
+          '1977092501:00:00','1977092502:00:00','1978040200:59:59','1978040201:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1978,10,1,0,59,59],[1978,10,1,2,59,59],
+          '1978040201:00:00','1978040203:00:00','1978100100:59:59','1978100102:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1979,4,1,0,59,59],[1979,4,1,1,59,59],
+          '1978100101:00:00','1978100102:00:00','1979040100:59:59','1979040101:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1979,9,30,0,59,59],[1979,9,30,2,59,59],
+          '1979040101:00:00','1979040103:00:00','1979093000:59:59','1979093002:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1980,4,6,0,59,59],[1980,4,6,1,59,59],
+          '1979093001:00:00','1979093002:00:00','1980040600:59:59','1980040601:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1980,9,28,0,59,59],[1980,9,28,2,59,59],
+          '1980040601:00:00','1980040603:00:00','1980092800:59:59','1980092802:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1981,3,29,0,59,59],[1981,3,29,1,59,59],
+          '1980092801:00:00','1980092802:00:00','1981032900:59:59','1981032901:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1981,9,27,0,59,59],[1981,9,27,2,59,59],
+          '1981032901:00:00','1981032903:00:00','1981092700:59:59','1981092702:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1982,3,28,0,59,59],[1982,3,28,1,59,59],
+          '1981092701:00:00','1981092702:00:00','1982032800:59:59','1982032801:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1982,9,26,0,59,59],[1982,9,26,2,59,59],
+          '1982032801:00:00','1982032803:00:00','1982092600:59:59','1982092602:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1983,3,27,0,59,59],[1983,3,27,1,59,59],
+          '1982092601:00:00','1982092602:00:00','1983032700:59:59','1983032701:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1983,9,25,0,59,59],[1983,9,25,2,59,59],
+          '1983032701:00:00','1983032703:00:00','1983092500:59:59','1983092502:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1984,3,25,0,59,59],[1984,3,25,1,59,59],
+          '1983092501:00:00','1983092502:00:00','1984032500:59:59','1984032501:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1984,9,30,0,59,59],[1984,9,30,2,59,59],
+          '1984032501:00:00','1984032503:00:00','1984093000:59:59','1984093002:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1985,3,31,0,59,59],[1985,3,31,1,59,59],
+          '1984093001:00:00','1984093002:00:00','1985033100:59:59','1985033101:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1985,9,29,0,59,59],[1985,9,29,2,59,59],
+          '1985033101:00:00','1985033103:00:00','1985092900:59:59','1985092902:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1986,3,30,0,59,59],[1986,3,30,1,59,59],
+          '1985092901:00:00','1985092902:00:00','1986033000:59:59','1986033001:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1986,9,28,0,59,59],[1986,9,28,2,59,59],
+          '1986033001:00:00','1986033003:00:00','1986092800:59:59','1986092802:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1987,3,29,0,59,59],[1987,3,29,1,59,59],
+          '1986092801:00:00','1986092802:00:00','1987032900:59:59','1987032901:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1987,9,27,0,59,59],[1987,9,27,2,59,59],
+          '1987032901:00:00','1987032903:00:00','1987092700:59:59','1987092702:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1988,3,27,0,59,59],[1988,3,27,1,59,59],
+          '1987092701:00:00','1987092702:00:00','1988032700:59:59','1988032701:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1988,9,25,0,59,59],[1988,9,25,2,59,59],
+          '1988032701:00:00','1988032703:00:00','1988092500:59:59','1988092502:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1989,3,26,0,59,59],[1989,3,26,1,59,59],
+          '1988092501:00:00','1988092502:00:00','1989032600:59:59','1989032601:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1989,9,24,0,59,59],[1989,9,24,2,59,59],
+          '1989032601:00:00','1989032603:00:00','1989092400:59:59','1989092402:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1990,3,25,0,59,59],[1990,3,25,1,59,59],
+          '1989092401:00:00','1989092402:00:00','1990032500:59:59','1990032501:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1990,9,30,0,59,59],[1990,9,30,2,59,59],
+          '1990032501:00:00','1990032503:00:00','1990093000:59:59','1990093002:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1991,3,31,0,59,59],[1991,3,31,1,59,59],
+          '1990093001:00:00','1990093002:00:00','1991033100:59:59','1991033101:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1991,9,29,0,59,59],[1991,9,29,2,59,59],
+          '1991033101:00:00','1991033103:00:00','1991092900:59:59','1991092902:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1992,3,29,0,59,59],[1992,3,29,1,59,59],
+          '1991092901:00:00','1991092902:00:00','1992032900:59:59','1992032901:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1992,9,27,0,59,59],[1992,9,27,2,59,59],
+          '1992032901:00:00','1992032903:00:00','1992092700:59:59','1992092702:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1993,3,28,0,59,59],[1993,3,28,1,59,59],
+          '1992092701:00:00','1992092702:00:00','1993032800:59:59','1993032801:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1993,9,26,0,59,59],[1993,9,26,2,59,59],
+          '1993032801:00:00','1993032803:00:00','1993092600:59:59','1993092602:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1994,3,27,0,59,59],[1994,3,27,1,59,59],
+          '1993092601:00:00','1993092602:00:00','1994032700:59:59','1994032701:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1994,9,25,0,59,59],[1994,9,25,2,59,59],
+          '1994032701:00:00','1994032703:00:00','1994092500:59:59','1994092502:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1995,3,26,0,59,59],[1995,3,26,1,59,59],
+          '1994092501:00:00','1994092502:00:00','1995032600:59:59','1995032601:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1995,9,24,0,59,59],[1995,9,24,2,59,59],
+          '1995032601:00:00','1995032603:00:00','1995092400:59:59','1995092402:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1996,3,31,0,59,59],[1996,3,31,1,59,59],
+          '1995092401:00:00','1995092402:00:00','1996033100:59:59','1996033101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1996,10,27,0,59,59],[1996,10,27,2,59,59],
+          '1996033101:00:00','1996033103:00:00','1996102700:59:59','1996102702:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1997,3,30,0,59,59],[1997,3,30,1,59,59],
+          '1996102701:00:00','1996102702:00:00','1997033000:59:59','1997033001:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1997,10,26,0,59,59],[1997,10,26,2,59,59],
+          '1997033001:00:00','1997033003:00:00','1997102600:59:59','1997102602:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1998,3,29,0,59,59],[1998,3,29,1,59,59],
+          '1997102601:00:00','1997102602:00:00','1998032900:59:59','1998032901:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1998,10,25,0,59,59],[1998,10,25,2,59,59],
+          '1998032901:00:00','1998032903:00:00','1998102500:59:59','1998102502:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[1999,3,28,0,59,59],[1999,3,28,1,59,59],
+          '1998102501:00:00','1998102502:00:00','1999032800:59:59','1999032801:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[1999,10,31,0,59,59],[1999,10,31,2,59,59],
+          '1999032801:00:00','1999032803:00:00','1999103100:59:59','1999103102:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2000,3,26,0,59,59],[2000,3,26,1,59,59],
+          '1999103101:00:00','1999103102:00:00','2000032600:59:59','2000032601:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2000,10,29,0,59,59],[2000,10,29,2,59,59],
+          '2000032601:00:00','2000032603:00:00','2000102900:59:59','2000102902:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2001,3,25,0,59,59],[2001,3,25,1,59,59],
+          '2000102901:00:00','2000102902:00:00','2001032500:59:59','2001032501:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2001,10,28,0,59,59],[2001,10,28,2,59,59],
+          '2001032501:00:00','2001032503:00:00','2001102800:59:59','2001102802:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2002,3,31,0,59,59],[2002,3,31,1,59,59],
+          '2001102801:00:00','2001102802:00:00','2002033100:59:59','2002033101:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2002,10,27,0,59,59],[2002,10,27,2,59,59],
+          '2002033101:00:00','2002033103:00:00','2002102700:59:59','2002102702:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2003,3,30,0,59,59],[2003,3,30,1,59,59],
+          '2002102701:00:00','2002102702:00:00','2003033000:59:59','2003033001:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2003,10,26,0,59,59],[2003,10,26,2,59,59],
+          '2003033001:00:00','2003033003:00:00','2003102600:59:59','2003102602:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2004,3,28,0,59,59],[2004,3,28,1,59,59],
+          '2003102601:00:00','2003102602:00:00','2004032800:59:59','2004032801:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2004,10,31,0,59,59],[2004,10,31,2,59,59],
+          '2004032801:00:00','2004032803:00:00','2004103100:59:59','2004103102:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2005,3,27,0,59,59],[2005,3,27,1,59,59],
+          '2004103101:00:00','2004103102:00:00','2005032700:59:59','2005032701:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2005,10,30,0,59,59],[2005,10,30,2,59,59],
+          '2005032701:00:00','2005032703:00:00','2005103000:59:59','2005103002:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2006,3,26,0,59,59],[2006,3,26,1,59,59],
+          '2005103001:00:00','2005103002:00:00','2006032600:59:59','2006032601:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2006,10,29,0,59,59],[2006,10,29,2,59,59],
+          '2006032601:00:00','2006032603:00:00','2006102900:59:59','2006102902:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2007,3,25,0,59,59],[2007,3,25,1,59,59],
+          '2006102901:00:00','2006102902:00:00','2007032500:59:59','2007032501:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2007,10,28,0,59,59],[2007,10,28,2,59,59],
+          '2007032501:00:00','2007032503:00:00','2007102800:59:59','2007102802:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2008,3,30,0,59,59],[2008,3,30,1,59,59],
+          '2007102801:00:00','2007102802:00:00','2008033000:59:59','2008033001:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2008,10,26,0,59,59],[2008,10,26,2,59,59],
+          '2008033001:00:00','2008033003:00:00','2008102600:59:59','2008102602:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2009,3,29,0,59,59],[2009,3,29,1,59,59],
+          '2008102601:00:00','2008102602:00:00','2009032900:59:59','2009032901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2009,10,25,0,59,59],[2009,10,25,2,59,59],
+          '2009032901:00:00','2009032903:00:00','2009102500:59:59','2009102502:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2010,3,28,0,59,59],[2010,3,28,1,59,59],
+          '2009102501:00:00','2009102502:00:00','2010032800:59:59','2010032801:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2010,10,31,0,59,59],[2010,10,31,2,59,59],
+          '2010032801:00:00','2010032803:00:00','2010103100:59:59','2010103102:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2011,3,27,0,59,59],[2011,3,27,1,59,59],
+          '2010103101:00:00','2010103102:00:00','2011032700:59:59','2011032701:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2011,10,30,0,59,59],[2011,10,30,2,59,59],
+          '2011032701:00:00','2011032703:00:00','2011103000:59:59','2011103002:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2012,3,25,0,59,59],[2012,3,25,1,59,59],
+          '2011103001:00:00','2011103002:00:00','2012032500:59:59','2012032501:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2012,10,28,0,59,59],[2012,10,28,2,59,59],
+          '2012032501:00:00','2012032503:00:00','2012102800:59:59','2012102802:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2013,3,31,0,59,59],[2013,3,31,1,59,59],
+          '2012102801:00:00','2012102802:00:00','2013033100:59:59','2013033101:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2013,10,27,0,59,59],[2013,10,27,2,59,59],
+          '2013033101:00:00','2013033103:00:00','2013102700:59:59','2013102702:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2014,3,30,0,59,59],[2014,3,30,1,59,59],
+          '2013102701:00:00','2013102702:00:00','2014033000:59:59','2014033001:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2014,10,26,0,59,59],[2014,10,26,2,59,59],
+          '2014033001:00:00','2014033003:00:00','2014102600:59:59','2014102602:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2015,3,29,0,59,59],[2015,3,29,1,59,59],
+          '2014102601:00:00','2014102602:00:00','2015032900:59:59','2015032901:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2015,10,25,0,59,59],[2015,10,25,2,59,59],
+          '2015032901:00:00','2015032903:00:00','2015102500:59:59','2015102502:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2016,3,27,0,59,59],[2016,3,27,1,59,59],
+          '2015102501:00:00','2015102502:00:00','2016032700:59:59','2016032701:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2016,10,30,0,59,59],[2016,10,30,2,59,59],
+          '2016032701:00:00','2016032703:00:00','2016103000:59:59','2016103002:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2017,3,26,0,59,59],[2017,3,26,1,59,59],
+          '2016103001:00:00','2016103002:00:00','2017032600:59:59','2017032601:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2017,10,29,0,59,59],[2017,10,29,2,59,59],
+          '2017032601:00:00','2017032603:00:00','2017102900:59:59','2017102902:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2018,3,25,0,59,59],[2018,3,25,1,59,59],
+          '2017102901:00:00','2017102902:00:00','2018032500:59:59','2018032501:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2018,10,28,0,59,59],[2018,10,28,2,59,59],
+          '2018032501:00:00','2018032503:00:00','2018102800:59:59','2018102802:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2019,3,31,0,59,59],[2019,3,31,1,59,59],
+          '2018102801:00:00','2018102802:00:00','2019033100:59:59','2019033101:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2019,10,27,0,59,59],[2019,10,27,2,59,59],
+          '2019033101:00:00','2019033103:00:00','2019102700:59:59','2019102702:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2020,3,29,0,59,59],[2020,3,29,1,59,59],
+          '2019102701:00:00','2019102702:00:00','2020032900:59:59','2020032901:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2020,10,25,0,59,59],[2020,10,25,2,59,59],
+          '2020032901:00:00','2020032903:00:00','2020102500:59:59','2020102502:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2021,3,28,0,59,59],[2021,3,28,1,59,59],
+          '2020102501:00:00','2020102502:00:00','2021032800:59:59','2021032801:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2021,10,31,0,59,59],[2021,10,31,2,59,59],
+          '2021032801:00:00','2021032803:00:00','2021103100:59:59','2021103102:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2022,3,27,0,59,59],[2022,3,27,1,59,59],
+          '2021103101:00:00','2021103102:00:00','2022032700:59:59','2022032701:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2022,10,30,0,59,59],[2022,10,30,2,59,59],
+          '2022032701:00:00','2022032703:00:00','2022103000:59:59','2022103002:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2023,3,26,0,59,59],[2023,3,26,1,59,59],
+          '2022103001:00:00','2022103002:00:00','2023032600:59:59','2023032601:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2023,10,29,0,59,59],[2023,10,29,2,59,59],
+          '2023032601:00:00','2023032603:00:00','2023102900:59:59','2023102902:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2024,3,31,0,59,59],[2024,3,31,1,59,59],
+          '2023102901:00:00','2023102902:00:00','2024033100:59:59','2024033101:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2024,10,27,0,59,59],[2024,10,27,2,59,59],
+          '2024033101:00:00','2024033103:00:00','2024102700:59:59','2024102702:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2025,3,30,0,59,59],[2025,3,30,1,59,59],
+          '2024102701:00:00','2024102702:00:00','2025033000:59:59','2025033001:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2025,10,26,0,59,59],[2025,10,26,2,59,59],
+          '2025033001:00:00','2025033003:00:00','2025102600:59:59','2025102602:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2026,3,29,0,59,59],[2026,3,29,1,59,59],
+          '2025102601:00:00','2025102602:00:00','2026032900:59:59','2026032901:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2026,10,25,0,59,59],[2026,10,25,2,59,59],
+          '2026032901:00:00','2026032903:00:00','2026102500:59:59','2026102502:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2027,3,28,0,59,59],[2027,3,28,1,59,59],
+          '2026102501:00:00','2026102502:00:00','2027032800:59:59','2027032801:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2027,10,31,0,59,59],[2027,10,31,2,59,59],
+          '2027032801:00:00','2027032803:00:00','2027103100:59:59','2027103102:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2028,3,26,0,59,59],[2028,3,26,1,59,59],
+          '2027103101:00:00','2027103102:00:00','2028032600:59:59','2028032601:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2028,10,29,0,59,59],[2028,10,29,2,59,59],
+          '2028032601:00:00','2028032603:00:00','2028102900:59:59','2028102902:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2029,3,25,0,59,59],[2029,3,25,1,59,59],
+          '2028102901:00:00','2028102902:00:00','2029032500:59:59','2029032501:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2029,10,28,0,59,59],[2029,10,28,2,59,59],
+          '2029032501:00:00','2029032503:00:00','2029102800:59:59','2029102802:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2030,3,31,0,59,59],[2030,3,31,1,59,59],
+          '2029102801:00:00','2029102802:00:00','2030033100:59:59','2030033101:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2030,10,27,0,59,59],[2030,10,27,2,59,59],
+          '2030033101:00:00','2030033103:00:00','2030102700:59:59','2030102702:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2031,3,30,0,59,59],[2031,3,30,1,59,59],
+          '2030102701:00:00','2030102702:00:00','2031033000:59:59','2031033001:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2031,10,26,0,59,59],[2031,10,26,2,59,59],
+          '2031033001:00:00','2031033003:00:00','2031102600:59:59','2031102602:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2032,3,28,0,59,59],[2032,3,28,1,59,59],
+          '2031102601:00:00','2031102602:00:00','2032032800:59:59','2032032801:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2032,10,31,0,59,59],[2032,10,31,2,59,59],
+          '2032032801:00:00','2032032803:00:00','2032103100:59:59','2032103102:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2033,3,27,0,59,59],[2033,3,27,1,59,59],
+          '2032103101:00:00','2032103102:00:00','2033032700:59:59','2033032701:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2033,10,30,0,59,59],[2033,10,30,2,59,59],
+          '2033032701:00:00','2033032703:00:00','2033103000:59:59','2033103002:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2034,3,26,0,59,59],[2034,3,26,1,59,59],
+          '2033103001:00:00','2033103002:00:00','2034032600:59:59','2034032601:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2034,10,29,0,59,59],[2034,10,29,2,59,59],
+          '2034032601:00:00','2034032603:00:00','2034102900:59:59','2034102902:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2035,3,25,0,59,59],[2035,3,25,1,59,59],
+          '2034102901:00:00','2034102902:00:00','2035032500:59:59','2035032501:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2035,10,28,0,59,59],[2035,10,28,2,59,59],
+          '2035032501:00:00','2035032503:00:00','2035102800:59:59','2035102802:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2036,3,30,0,59,59],[2036,3,30,1,59,59],
+          '2035102801:00:00','2035102802:00:00','2036033000:59:59','2036033001:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2036,10,26,0,59,59],[2036,10,26,2,59,59],
+          '2036033001:00:00','2036033003:00:00','2036102600:59:59','2036102602:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2037,3,29,0,59,59],[2037,3,29,1,59,59],
+          '2036102601:00:00','2036102602:00:00','2037032900:59:59','2037032901:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2037,10,25,0,59,59],[2037,10,25,2,59,59],
+          '2037032901:00:00','2037032903:00:00','2037102500:59:59','2037102502:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2038,3,28,0,59,59],[2038,3,28,1,59,59],
+          '2037102501:00:00','2037102502:00:00','2038032800:59:59','2038032801:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2038,10,31,0,59,59],[2038,10,31,2,59,59],
+          '2038032801:00:00','2038032803:00:00','2038103100:59:59','2038103102:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2039,3,27,0,59,59],[2039,3,27,1,59,59],
+          '2038103101:00:00','2038103102:00:00','2039032700:59:59','2039032701:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2039,10,30,0,59,59],[2039,10,30,2,59,59],
+          '2039032701:00:00','2039032703:00:00','2039103000:59:59','2039103002:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2040,3,25,0,59,59],[2040,3,25,1,59,59],
+          '2039103001:00:00','2039103002:00:00','2040032500:59:59','2040032501:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2040,10,28,0,59,59],[2040,10,28,2,59,59],
+          '2040032501:00:00','2040032503:00:00','2040102800:59:59','2040102802:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2041,3,31,0,59,59],[2041,3,31,1,59,59],
+          '2040102801:00:00','2040102802:00:00','2041033100:59:59','2041033101:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2041,10,27,0,59,59],[2041,10,27,2,59,59],
+          '2041033101:00:00','2041033103:00:00','2041102700:59:59','2041102702:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2042,3,30,0,59,59],[2042,3,30,1,59,59],
+          '2041102701:00:00','2041102702:00:00','2042033000:59:59','2042033001:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2042,10,26,0,59,59],[2042,10,26,2,59,59],
+          '2042033001:00:00','2042033003:00:00','2042102600:59:59','2042102602:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2043,3,29,0,59,59],[2043,3,29,1,59,59],
+          '2042102601:00:00','2042102602:00:00','2043032900:59:59','2043032901:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2043,10,25,0,59,59],[2043,10,25,2,59,59],
+          '2043032901:00:00','2043032903:00:00','2043102500:59:59','2043102502:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2044,3,27,0,59,59],[2044,3,27,1,59,59],
+          '2043102501:00:00','2043102502:00:00','2044032700:59:59','2044032701:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2044,10,30,0,59,59],[2044,10,30,2,59,59],
+          '2044032701:00:00','2044032703:00:00','2044103000:59:59','2044103002:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2045,3,26,0,59,59],[2045,3,26,1,59,59],
+          '2044103001:00:00','2044103002:00:00','2045032600:59:59','2045032601:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2045,10,29,0,59,59],[2045,10,29,2,59,59],
+          '2045032601:00:00','2045032603:00:00','2045102900:59:59','2045102902:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2046,3,25,0,59,59],[2046,3,25,1,59,59],
+          '2045102901:00:00','2045102902:00:00','2046032500:59:59','2046032501:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2046,10,28,0,59,59],[2046,10,28,2,59,59],
+          '2046032501:00:00','2046032503:00:00','2046102800:59:59','2046102802:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2047,3,31,0,59,59],[2047,3,31,1,59,59],
+          '2046102801:00:00','2046102802:00:00','2047033100:59:59','2047033101:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2047,10,27,0,59,59],[2047,10,27,2,59,59],
+          '2047033101:00:00','2047033103:00:00','2047102700:59:59','2047102702:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2048,3,29,0,59,59],[2048,3,29,1,59,59],
+          '2047102701:00:00','2047102702:00:00','2048032900:59:59','2048032901:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2048,10,25,0,59,59],[2048,10,25,2,59,59],
+          '2048032901:00:00','2048032903:00:00','2048102500:59:59','2048102502:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2049,3,28,0,59,59],[2049,3,28,1,59,59],
+          '2048102501:00:00','2048102502:00:00','2049032800:59:59','2049032801:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2049,10,31,0,59,59],[2049,10,31,2,59,59],
+          '2049032801:00:00','2049032803:00:00','2049103100:59:59','2049103102:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2050,3,27,0,59,59],[2050,3,27,1,59,59],
+          '2049103101:00:00','2049103102:00:00','2050032700:59:59','2050032701:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2050,10,30,0,59,59],[2050,10,30,2,59,59],
+          '2050032701:00:00','2050032703:00:00','2050103000:59:59','2050103002:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2051,3,26,0,59,59],[2051,3,26,1,59,59],
+          '2050103001:00:00','2050103002:00:00','2051032600:59:59','2051032601:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2051,10,29,0,59,59],[2051,10,29,2,59,59],
+          '2051032601:00:00','2051032603:00:00','2051102900:59:59','2051102902:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2052,3,31,0,59,59],[2052,3,31,1,59,59],
+          '2051102901:00:00','2051102902:00:00','2052033100:59:59','2052033101:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2052,10,27,0,59,59],[2052,10,27,2,59,59],
+          '2052033101:00:00','2052033103:00:00','2052102700:59:59','2052102702:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2053,3,30,0,59,59],[2053,3,30,1,59,59],
+          '2052102701:00:00','2052102702:00:00','2053033000:59:59','2053033001:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2053,10,26,0,59,59],[2053,10,26,2,59,59],
+          '2053033001:00:00','2053033003:00:00','2053102600:59:59','2053102602:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2054,3,29,0,59,59],[2054,3,29,1,59,59],
+          '2053102601:00:00','2053102602:00:00','2054032900:59:59','2054032901:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2054,10,25,0,59,59],[2054,10,25,2,59,59],
+          '2054032901:00:00','2054032903:00:00','2054102500:59:59','2054102502:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2055,3,28,0,59,59],[2055,3,28,1,59,59],
+          '2054102501:00:00','2054102502:00:00','2055032800:59:59','2055032801:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2055,10,31,0,59,59],[2055,10,31,2,59,59],
+          '2055032801:00:00','2055032803:00:00','2055103100:59:59','2055103102:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2056,3,26,0,59,59],[2056,3,26,1,59,59],
+          '2055103101:00:00','2055103102:00:00','2056032600:59:59','2056032601:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2056,10,29,0,59,59],[2056,10,29,2,59,59],
+          '2056032601:00:00','2056032603:00:00','2056102900:59:59','2056102902:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2057,3,25,0,59,59],[2057,3,25,1,59,59],
+          '2056102901:00:00','2056102902:00:00','2057032500:59:59','2057032501:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2057,10,28,0,59,59],[2057,10,28,2,59,59],
+          '2057032501:00:00','2057032503:00:00','2057102800:59:59','2057102802:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2058,3,31,0,59,59],[2058,3,31,1,59,59],
+          '2057102801:00:00','2057102802:00:00','2058033100:59:59','2058033101:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2058,10,27,0,59,59],[2058,10,27,2,59,59],
+          '2058033101:00:00','2058033103:00:00','2058102700:59:59','2058102702:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2059,3,30,0,59,59],[2059,3,30,1,59,59],
+          '2058102701:00:00','2058102702:00:00','2059033000:59:59','2059033001:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2059,10,26,0,59,59],[2059,10,26,2,59,59],
+          '2059033001:00:00','2059033003:00:00','2059102600:59:59','2059102602:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2060,3,28,0,59,59],[2060,3,28,1,59,59],
+          '2059102601:00:00','2059102602:00:00','2060032800:59:59','2060032801:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2060,10,31,0,59,59],[2060,10,31,2,59,59],
+          '2060032801:00:00','2060032803:00:00','2060103100:59:59','2060103102:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2061,3,27,0,59,59],[2061,3,27,1,59,59],
+          '2060103101:00:00','2060103102:00:00','2061032700:59:59','2061032701:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2061,10,30,0,59,59],[2061,10,30,2,59,59],
+          '2061032701:00:00','2061032703:00:00','2061103000:59:59','2061103002:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2062,3,26,0,59,59],[2062,3,26,1,59,59],
+          '2061103001:00:00','2061103002:00:00','2062032600:59:59','2062032601:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2062,10,29,0,59,59],[2062,10,29,2,59,59],
+          '2062032601:00:00','2062032603:00:00','2062102900:59:59','2062102902:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2063,3,25,0,59,59],[2063,3,25,1,59,59],
+          '2062102901:00:00','2062102902:00:00','2063032500:59:59','2063032501:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2063,10,28,0,59,59],[2063,10,28,2,59,59],
+          '2063032501:00:00','2063032503:00:00','2063102800:59:59','2063102802:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2064,3,30,0,59,59],[2064,3,30,1,59,59],
+          '2063102801:00:00','2063102802:00:00','2064033000:59:59','2064033001:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2064,10,26,0,59,59],[2064,10,26,2,59,59],
+          '2064033001:00:00','2064033003:00:00','2064102600:59:59','2064102602:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2065,3,29,0,59,59],[2065,3,29,1,59,59],
+          '2064102601:00:00','2064102602:00:00','2065032900:59:59','2065032901:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2065,10,25,0,59,59],[2065,10,25,2,59,59],
+          '2065032901:00:00','2065032903:00:00','2065102500:59:59','2065102502:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2066,3,28,0,59,59],[2066,3,28,1,59,59],
+          '2065102501:00:00','2065102502:00:00','2066032800:59:59','2066032801:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2066,10,31,0,59,59],[2066,10,31,2,59,59],
+          '2066032801:00:00','2066032803:00:00','2066103100:59:59','2066103102:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2067,3,27,0,59,59],[2067,3,27,1,59,59],
+          '2066103101:00:00','2066103102:00:00','2067032700:59:59','2067032701:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,3,0,0],'+02:00:00',[2,0,0],
+          'MEST',1,[2067,10,30,0,59,59],[2067,10,30,2,59,59],
+          '2067032701:00:00','2067032703:00:00','2067103000:59:59','2067103002:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,2,0,0],'+01:00:00',[1,0,0],
+          'MET',0,[2068,3,25,0,59,59],[2068,3,25,1,59,59],
+          '2067103001:00:00','2067103002:00:00','2068032500:59:59','2068032501:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+02:00:00',
+                'stdoff' => '+01:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'MEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'MET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/n00.pm b/lib/Date/Manip/TZ/n00.pm
new file mode 100644
index 0000000..a44b319
--- /dev/null
+++ b/lib/Date/Manip/TZ/n00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::n00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,1,0,0],'+01:00:00',[1,0,0],
+          'N',0,[9999,12,31,0,0,0],[9999,12,31,1,0,0],
+          '0001010200:00:00','0001010201:00:00','9999123100:00:00','9999123101:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/o00.pm b/lib/Date/Manip/TZ/o00.pm
new file mode 100644
index 0000000..bba725f
--- /dev/null
+++ b/lib/Date/Manip/TZ/o00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::o00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,2,0,0],'+02:00:00',[2,0,0],
+          'O',0,[9999,12,31,0,0,0],[9999,12,31,2,0,0],
+          '0001010200:00:00','0001010202:00:00','9999123100:00:00','9999123102:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/p00.pm b/lib/Date/Manip/TZ/p00.pm
new file mode 100644
index 0000000..8c487e5
--- /dev/null
+++ b/lib/Date/Manip/TZ/p00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::p00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,3,0,0],'+03:00:00',[3,0,0],
+          'P',0,[9999,12,31,0,0,0],[9999,12,31,3,0,0],
+          '0001010200:00:00','0001010203:00:00','9999123100:00:00','9999123103:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paapia00.pm b/lib/Date/Manip/TZ/paapia00.pm
new file mode 100644
index 0000000..536d377
--- /dev/null
+++ b/lib/Date/Manip/TZ/paapia00.pm
@@ -0,0 +1,607 @@
+package #
+Date::Manip::TZ::paapia00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,33,4],'+12:33:04',[12,33,4],
+          'LMT',0,[1879,7,4,11,26,55],[1879,7,4,23,59,59],
+          '0001010200:00:00','0001010212:33:04','1879070411:26:55','1879070423:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,7,4,11,26,56],[1879,7,4,0,0,0],'-11:26:56',[-11,-26,-56],
+          'LMT',0,[1911,1,1,11,26,55],[1910,12,31,23,59,59],
+          '1879070411:26:56','1879070400:00:00','1911010111:26:55','1910123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,1,1,11,26,56],[1910,12,31,23,56,56],'-11:30:00',[-11,-30,0],
+          '-1130',0,[1950,1,1,11,29,59],[1949,12,31,23,59,59],
+          '1911010111:26:56','1910123123:56:56','1950010111:29:59','1949123123:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,1,1,11,30,0],[1950,1,1,0,30,0],'-11:00:00',[-11,0,0],
+          '-11',0,[2010,9,26,10,59,59],[2010,9,25,23,59,59],
+          '1950010111:30:00','1950010100:30:00','2010092610:59:59','2010092523:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,9,26,11,0,0],[2010,9,26,1,0,0],'-10:00:00',[-10,0,0],
+          '-10',1,[2011,4,2,13,59,59],[2011,4,2,3,59,59],
+          '2010092611:00:00','2010092601:00:00','2011040213:59:59','2011040203:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,14,0,0],[2011,4,2,3,0,0],'-11:00:00',[-11,0,0],
+          '-11',0,[2011,9,24,13,59,59],[2011,9,24,2,59,59],
+          '2011040214:00:00','2011040203:00:00','2011092413:59:59','2011092402:59:59' ],
+        [ [2011,9,24,14,0,0],[2011,9,24,4,0,0],'-10:00:00',[-10,0,0],
+          '-10',1,[2011,12,30,9,59,59],[2011,12,29,23,59,59],
+          '2011092414:00:00','2011092404:00:00','2011123009:59:59','2011122923:59:59' ],
+        [ [2011,12,30,10,0,0],[2011,12,31,0,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2012,3,31,13,59,59],[2012,4,1,3,59,59],
+          '2011123010:00:00','2011123100:00:00','2012033113:59:59','2012040103:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,14,0,0],[2012,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2012,9,29,13,59,59],[2012,9,30,2,59,59],
+          '2012033114:00:00','2012040103:00:00','2012092913:59:59','2012093002:59:59' ],
+        [ [2012,9,29,14,0,0],[2012,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2013,4,6,13,59,59],[2013,4,7,3,59,59],
+          '2012092914:00:00','2012093004:00:00','2013040613:59:59','2013040703:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,14,0,0],[2013,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2013,9,28,13,59,59],[2013,9,29,2,59,59],
+          '2013040614:00:00','2013040703:00:00','2013092813:59:59','2013092902:59:59' ],
+        [ [2013,9,28,14,0,0],[2013,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2014,4,5,13,59,59],[2014,4,6,3,59,59],
+          '2013092814:00:00','2013092904:00:00','2014040513:59:59','2014040603:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,14,0,0],[2014,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2014,9,27,13,59,59],[2014,9,28,2,59,59],
+          '2014040514:00:00','2014040603:00:00','2014092713:59:59','2014092802:59:59' ],
+        [ [2014,9,27,14,0,0],[2014,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2015,4,4,13,59,59],[2015,4,5,3,59,59],
+          '2014092714:00:00','2014092804:00:00','2015040413:59:59','2015040503:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,14,0,0],[2015,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2015,9,26,13,59,59],[2015,9,27,2,59,59],
+          '2015040414:00:00','2015040503:00:00','2015092613:59:59','2015092702:59:59' ],
+        [ [2015,9,26,14,0,0],[2015,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2016,4,2,13,59,59],[2016,4,3,3,59,59],
+          '2015092614:00:00','2015092704:00:00','2016040213:59:59','2016040303:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,14,0,0],[2016,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2016,9,24,13,59,59],[2016,9,25,2,59,59],
+          '2016040214:00:00','2016040303:00:00','2016092413:59:59','2016092502:59:59' ],
+        [ [2016,9,24,14,0,0],[2016,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2017,4,1,13,59,59],[2017,4,2,3,59,59],
+          '2016092414:00:00','2016092504:00:00','2017040113:59:59','2017040203:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,14,0,0],[2017,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2017,9,23,13,59,59],[2017,9,24,2,59,59],
+          '2017040114:00:00','2017040203:00:00','2017092313:59:59','2017092402:59:59' ],
+        [ [2017,9,23,14,0,0],[2017,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2018,3,31,13,59,59],[2018,4,1,3,59,59],
+          '2017092314:00:00','2017092404:00:00','2018033113:59:59','2018040103:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,14,0,0],[2018,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2018,9,29,13,59,59],[2018,9,30,2,59,59],
+          '2018033114:00:00','2018040103:00:00','2018092913:59:59','2018093002:59:59' ],
+        [ [2018,9,29,14,0,0],[2018,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2019,4,6,13,59,59],[2019,4,7,3,59,59],
+          '2018092914:00:00','2018093004:00:00','2019040613:59:59','2019040703:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,14,0,0],[2019,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2019,9,28,13,59,59],[2019,9,29,2,59,59],
+          '2019040614:00:00','2019040703:00:00','2019092813:59:59','2019092902:59:59' ],
+        [ [2019,9,28,14,0,0],[2019,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2020,4,4,13,59,59],[2020,4,5,3,59,59],
+          '2019092814:00:00','2019092904:00:00','2020040413:59:59','2020040503:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,14,0,0],[2020,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2020,9,26,13,59,59],[2020,9,27,2,59,59],
+          '2020040414:00:00','2020040503:00:00','2020092613:59:59','2020092702:59:59' ],
+        [ [2020,9,26,14,0,0],[2020,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2021,4,3,13,59,59],[2021,4,4,3,59,59],
+          '2020092614:00:00','2020092704:00:00','2021040313:59:59','2021040403:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,14,0,0],[2021,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2021,9,25,13,59,59],[2021,9,26,2,59,59],
+          '2021040314:00:00','2021040403:00:00','2021092513:59:59','2021092602:59:59' ],
+        [ [2021,9,25,14,0,0],[2021,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2022,4,2,13,59,59],[2022,4,3,3,59,59],
+          '2021092514:00:00','2021092604:00:00','2022040213:59:59','2022040303:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,14,0,0],[2022,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2022,9,24,13,59,59],[2022,9,25,2,59,59],
+          '2022040214:00:00','2022040303:00:00','2022092413:59:59','2022092502:59:59' ],
+        [ [2022,9,24,14,0,0],[2022,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2023,4,1,13,59,59],[2023,4,2,3,59,59],
+          '2022092414:00:00','2022092504:00:00','2023040113:59:59','2023040203:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,14,0,0],[2023,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2023,9,23,13,59,59],[2023,9,24,2,59,59],
+          '2023040114:00:00','2023040203:00:00','2023092313:59:59','2023092402:59:59' ],
+        [ [2023,9,23,14,0,0],[2023,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2024,4,6,13,59,59],[2024,4,7,3,59,59],
+          '2023092314:00:00','2023092404:00:00','2024040613:59:59','2024040703:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,14,0,0],[2024,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2024,9,28,13,59,59],[2024,9,29,2,59,59],
+          '2024040614:00:00','2024040703:00:00','2024092813:59:59','2024092902:59:59' ],
+        [ [2024,9,28,14,0,0],[2024,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2025,4,5,13,59,59],[2025,4,6,3,59,59],
+          '2024092814:00:00','2024092904:00:00','2025040513:59:59','2025040603:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,14,0,0],[2025,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2025,9,27,13,59,59],[2025,9,28,2,59,59],
+          '2025040514:00:00','2025040603:00:00','2025092713:59:59','2025092802:59:59' ],
+        [ [2025,9,27,14,0,0],[2025,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2026,4,4,13,59,59],[2026,4,5,3,59,59],
+          '2025092714:00:00','2025092804:00:00','2026040413:59:59','2026040503:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,14,0,0],[2026,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2026,9,26,13,59,59],[2026,9,27,2,59,59],
+          '2026040414:00:00','2026040503:00:00','2026092613:59:59','2026092702:59:59' ],
+        [ [2026,9,26,14,0,0],[2026,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2027,4,3,13,59,59],[2027,4,4,3,59,59],
+          '2026092614:00:00','2026092704:00:00','2027040313:59:59','2027040403:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,14,0,0],[2027,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2027,9,25,13,59,59],[2027,9,26,2,59,59],
+          '2027040314:00:00','2027040403:00:00','2027092513:59:59','2027092602:59:59' ],
+        [ [2027,9,25,14,0,0],[2027,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2028,4,1,13,59,59],[2028,4,2,3,59,59],
+          '2027092514:00:00','2027092604:00:00','2028040113:59:59','2028040203:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,14,0,0],[2028,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2028,9,23,13,59,59],[2028,9,24,2,59,59],
+          '2028040114:00:00','2028040203:00:00','2028092313:59:59','2028092402:59:59' ],
+        [ [2028,9,23,14,0,0],[2028,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2029,3,31,13,59,59],[2029,4,1,3,59,59],
+          '2028092314:00:00','2028092404:00:00','2029033113:59:59','2029040103:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,14,0,0],[2029,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2029,9,29,13,59,59],[2029,9,30,2,59,59],
+          '2029033114:00:00','2029040103:00:00','2029092913:59:59','2029093002:59:59' ],
+        [ [2029,9,29,14,0,0],[2029,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2030,4,6,13,59,59],[2030,4,7,3,59,59],
+          '2029092914:00:00','2029093004:00:00','2030040613:59:59','2030040703:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,14,0,0],[2030,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2030,9,28,13,59,59],[2030,9,29,2,59,59],
+          '2030040614:00:00','2030040703:00:00','2030092813:59:59','2030092902:59:59' ],
+        [ [2030,9,28,14,0,0],[2030,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2031,4,5,13,59,59],[2031,4,6,3,59,59],
+          '2030092814:00:00','2030092904:00:00','2031040513:59:59','2031040603:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,14,0,0],[2031,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2031,9,27,13,59,59],[2031,9,28,2,59,59],
+          '2031040514:00:00','2031040603:00:00','2031092713:59:59','2031092802:59:59' ],
+        [ [2031,9,27,14,0,0],[2031,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2032,4,3,13,59,59],[2032,4,4,3,59,59],
+          '2031092714:00:00','2031092804:00:00','2032040313:59:59','2032040403:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,14,0,0],[2032,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2032,9,25,13,59,59],[2032,9,26,2,59,59],
+          '2032040314:00:00','2032040403:00:00','2032092513:59:59','2032092602:59:59' ],
+        [ [2032,9,25,14,0,0],[2032,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2033,4,2,13,59,59],[2033,4,3,3,59,59],
+          '2032092514:00:00','2032092604:00:00','2033040213:59:59','2033040303:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,14,0,0],[2033,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2033,9,24,13,59,59],[2033,9,25,2,59,59],
+          '2033040214:00:00','2033040303:00:00','2033092413:59:59','2033092502:59:59' ],
+        [ [2033,9,24,14,0,0],[2033,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2034,4,1,13,59,59],[2034,4,2,3,59,59],
+          '2033092414:00:00','2033092504:00:00','2034040113:59:59','2034040203:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,14,0,0],[2034,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2034,9,23,13,59,59],[2034,9,24,2,59,59],
+          '2034040114:00:00','2034040203:00:00','2034092313:59:59','2034092402:59:59' ],
+        [ [2034,9,23,14,0,0],[2034,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2035,3,31,13,59,59],[2035,4,1,3,59,59],
+          '2034092314:00:00','2034092404:00:00','2035033113:59:59','2035040103:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,14,0,0],[2035,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2035,9,29,13,59,59],[2035,9,30,2,59,59],
+          '2035033114:00:00','2035040103:00:00','2035092913:59:59','2035093002:59:59' ],
+        [ [2035,9,29,14,0,0],[2035,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2036,4,5,13,59,59],[2036,4,6,3,59,59],
+          '2035092914:00:00','2035093004:00:00','2036040513:59:59','2036040603:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,14,0,0],[2036,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2036,9,27,13,59,59],[2036,9,28,2,59,59],
+          '2036040514:00:00','2036040603:00:00','2036092713:59:59','2036092802:59:59' ],
+        [ [2036,9,27,14,0,0],[2036,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2037,4,4,13,59,59],[2037,4,5,3,59,59],
+          '2036092714:00:00','2036092804:00:00','2037040413:59:59','2037040503:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,14,0,0],[2037,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2037,9,26,13,59,59],[2037,9,27,2,59,59],
+          '2037040414:00:00','2037040503:00:00','2037092613:59:59','2037092702:59:59' ],
+        [ [2037,9,26,14,0,0],[2037,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2038,4,3,13,59,59],[2038,4,4,3,59,59],
+          '2037092614:00:00','2037092704:00:00','2038040313:59:59','2038040403:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,14,0,0],[2038,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2038,9,25,13,59,59],[2038,9,26,2,59,59],
+          '2038040314:00:00','2038040403:00:00','2038092513:59:59','2038092602:59:59' ],
+        [ [2038,9,25,14,0,0],[2038,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2039,4,2,13,59,59],[2039,4,3,3,59,59],
+          '2038092514:00:00','2038092604:00:00','2039040213:59:59','2039040303:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,14,0,0],[2039,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2039,9,24,13,59,59],[2039,9,25,2,59,59],
+          '2039040214:00:00','2039040303:00:00','2039092413:59:59','2039092502:59:59' ],
+        [ [2039,9,24,14,0,0],[2039,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2040,3,31,13,59,59],[2040,4,1,3,59,59],
+          '2039092414:00:00','2039092504:00:00','2040033113:59:59','2040040103:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,14,0,0],[2040,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2040,9,29,13,59,59],[2040,9,30,2,59,59],
+          '2040033114:00:00','2040040103:00:00','2040092913:59:59','2040093002:59:59' ],
+        [ [2040,9,29,14,0,0],[2040,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2041,4,6,13,59,59],[2041,4,7,3,59,59],
+          '2040092914:00:00','2040093004:00:00','2041040613:59:59','2041040703:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,14,0,0],[2041,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2041,9,28,13,59,59],[2041,9,29,2,59,59],
+          '2041040614:00:00','2041040703:00:00','2041092813:59:59','2041092902:59:59' ],
+        [ [2041,9,28,14,0,0],[2041,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2042,4,5,13,59,59],[2042,4,6,3,59,59],
+          '2041092814:00:00','2041092904:00:00','2042040513:59:59','2042040603:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,14,0,0],[2042,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2042,9,27,13,59,59],[2042,9,28,2,59,59],
+          '2042040514:00:00','2042040603:00:00','2042092713:59:59','2042092802:59:59' ],
+        [ [2042,9,27,14,0,0],[2042,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2043,4,4,13,59,59],[2043,4,5,3,59,59],
+          '2042092714:00:00','2042092804:00:00','2043040413:59:59','2043040503:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,14,0,0],[2043,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2043,9,26,13,59,59],[2043,9,27,2,59,59],
+          '2043040414:00:00','2043040503:00:00','2043092613:59:59','2043092702:59:59' ],
+        [ [2043,9,26,14,0,0],[2043,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2044,4,2,13,59,59],[2044,4,3,3,59,59],
+          '2043092614:00:00','2043092704:00:00','2044040213:59:59','2044040303:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,14,0,0],[2044,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2044,9,24,13,59,59],[2044,9,25,2,59,59],
+          '2044040214:00:00','2044040303:00:00','2044092413:59:59','2044092502:59:59' ],
+        [ [2044,9,24,14,0,0],[2044,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2045,4,1,13,59,59],[2045,4,2,3,59,59],
+          '2044092414:00:00','2044092504:00:00','2045040113:59:59','2045040203:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,14,0,0],[2045,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2045,9,23,13,59,59],[2045,9,24,2,59,59],
+          '2045040114:00:00','2045040203:00:00','2045092313:59:59','2045092402:59:59' ],
+        [ [2045,9,23,14,0,0],[2045,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2046,3,31,13,59,59],[2046,4,1,3,59,59],
+          '2045092314:00:00','2045092404:00:00','2046033113:59:59','2046040103:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,14,0,0],[2046,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2046,9,29,13,59,59],[2046,9,30,2,59,59],
+          '2046033114:00:00','2046040103:00:00','2046092913:59:59','2046093002:59:59' ],
+        [ [2046,9,29,14,0,0],[2046,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2047,4,6,13,59,59],[2047,4,7,3,59,59],
+          '2046092914:00:00','2046093004:00:00','2047040613:59:59','2047040703:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,14,0,0],[2047,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2047,9,28,13,59,59],[2047,9,29,2,59,59],
+          '2047040614:00:00','2047040703:00:00','2047092813:59:59','2047092902:59:59' ],
+        [ [2047,9,28,14,0,0],[2047,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2048,4,4,13,59,59],[2048,4,5,3,59,59],
+          '2047092814:00:00','2047092904:00:00','2048040413:59:59','2048040503:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,14,0,0],[2048,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2048,9,26,13,59,59],[2048,9,27,2,59,59],
+          '2048040414:00:00','2048040503:00:00','2048092613:59:59','2048092702:59:59' ],
+        [ [2048,9,26,14,0,0],[2048,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2049,4,3,13,59,59],[2049,4,4,3,59,59],
+          '2048092614:00:00','2048092704:00:00','2049040313:59:59','2049040403:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,14,0,0],[2049,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2049,9,25,13,59,59],[2049,9,26,2,59,59],
+          '2049040314:00:00','2049040403:00:00','2049092513:59:59','2049092602:59:59' ],
+        [ [2049,9,25,14,0,0],[2049,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2050,4,2,13,59,59],[2050,4,3,3,59,59],
+          '2049092514:00:00','2049092604:00:00','2050040213:59:59','2050040303:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,14,0,0],[2050,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2050,9,24,13,59,59],[2050,9,25,2,59,59],
+          '2050040214:00:00','2050040303:00:00','2050092413:59:59','2050092502:59:59' ],
+        [ [2050,9,24,14,0,0],[2050,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2051,4,1,13,59,59],[2051,4,2,3,59,59],
+          '2050092414:00:00','2050092504:00:00','2051040113:59:59','2051040203:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,14,0,0],[2051,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2051,9,23,13,59,59],[2051,9,24,2,59,59],
+          '2051040114:00:00','2051040203:00:00','2051092313:59:59','2051092402:59:59' ],
+        [ [2051,9,23,14,0,0],[2051,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2052,4,6,13,59,59],[2052,4,7,3,59,59],
+          '2051092314:00:00','2051092404:00:00','2052040613:59:59','2052040703:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,14,0,0],[2052,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2052,9,28,13,59,59],[2052,9,29,2,59,59],
+          '2052040614:00:00','2052040703:00:00','2052092813:59:59','2052092902:59:59' ],
+        [ [2052,9,28,14,0,0],[2052,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2053,4,5,13,59,59],[2053,4,6,3,59,59],
+          '2052092814:00:00','2052092904:00:00','2053040513:59:59','2053040603:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,14,0,0],[2053,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2053,9,27,13,59,59],[2053,9,28,2,59,59],
+          '2053040514:00:00','2053040603:00:00','2053092713:59:59','2053092802:59:59' ],
+        [ [2053,9,27,14,0,0],[2053,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2054,4,4,13,59,59],[2054,4,5,3,59,59],
+          '2053092714:00:00','2053092804:00:00','2054040413:59:59','2054040503:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,14,0,0],[2054,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2054,9,26,13,59,59],[2054,9,27,2,59,59],
+          '2054040414:00:00','2054040503:00:00','2054092613:59:59','2054092702:59:59' ],
+        [ [2054,9,26,14,0,0],[2054,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2055,4,3,13,59,59],[2055,4,4,3,59,59],
+          '2054092614:00:00','2054092704:00:00','2055040313:59:59','2055040403:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,14,0,0],[2055,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2055,9,25,13,59,59],[2055,9,26,2,59,59],
+          '2055040314:00:00','2055040403:00:00','2055092513:59:59','2055092602:59:59' ],
+        [ [2055,9,25,14,0,0],[2055,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2056,4,1,13,59,59],[2056,4,2,3,59,59],
+          '2055092514:00:00','2055092604:00:00','2056040113:59:59','2056040203:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,14,0,0],[2056,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2056,9,23,13,59,59],[2056,9,24,2,59,59],
+          '2056040114:00:00','2056040203:00:00','2056092313:59:59','2056092402:59:59' ],
+        [ [2056,9,23,14,0,0],[2056,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2057,3,31,13,59,59],[2057,4,1,3,59,59],
+          '2056092314:00:00','2056092404:00:00','2057033113:59:59','2057040103:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,14,0,0],[2057,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2057,9,29,13,59,59],[2057,9,30,2,59,59],
+          '2057033114:00:00','2057040103:00:00','2057092913:59:59','2057093002:59:59' ],
+        [ [2057,9,29,14,0,0],[2057,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2058,4,6,13,59,59],[2058,4,7,3,59,59],
+          '2057092914:00:00','2057093004:00:00','2058040613:59:59','2058040703:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,14,0,0],[2058,4,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2058,9,28,13,59,59],[2058,9,29,2,59,59],
+          '2058040614:00:00','2058040703:00:00','2058092813:59:59','2058092902:59:59' ],
+        [ [2058,9,28,14,0,0],[2058,9,29,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2059,4,5,13,59,59],[2059,4,6,3,59,59],
+          '2058092814:00:00','2058092904:00:00','2059040513:59:59','2059040603:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,14,0,0],[2059,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2059,9,27,13,59,59],[2059,9,28,2,59,59],
+          '2059040514:00:00','2059040603:00:00','2059092713:59:59','2059092802:59:59' ],
+        [ [2059,9,27,14,0,0],[2059,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2060,4,3,13,59,59],[2060,4,4,3,59,59],
+          '2059092714:00:00','2059092804:00:00','2060040313:59:59','2060040403:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,14,0,0],[2060,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2060,9,25,13,59,59],[2060,9,26,2,59,59],
+          '2060040314:00:00','2060040403:00:00','2060092513:59:59','2060092602:59:59' ],
+        [ [2060,9,25,14,0,0],[2060,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2061,4,2,13,59,59],[2061,4,3,3,59,59],
+          '2060092514:00:00','2060092604:00:00','2061040213:59:59','2061040303:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,14,0,0],[2061,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2061,9,24,13,59,59],[2061,9,25,2,59,59],
+          '2061040214:00:00','2061040303:00:00','2061092413:59:59','2061092502:59:59' ],
+        [ [2061,9,24,14,0,0],[2061,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2062,4,1,13,59,59],[2062,4,2,3,59,59],
+          '2061092414:00:00','2061092504:00:00','2062040113:59:59','2062040203:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,14,0,0],[2062,4,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2062,9,23,13,59,59],[2062,9,24,2,59,59],
+          '2062040114:00:00','2062040203:00:00','2062092313:59:59','2062092402:59:59' ],
+        [ [2062,9,23,14,0,0],[2062,9,24,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2063,3,31,13,59,59],[2063,4,1,3,59,59],
+          '2062092314:00:00','2062092404:00:00','2063033113:59:59','2063040103:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,14,0,0],[2063,4,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2063,9,29,13,59,59],[2063,9,30,2,59,59],
+          '2063033114:00:00','2063040103:00:00','2063092913:59:59','2063093002:59:59' ],
+        [ [2063,9,29,14,0,0],[2063,9,30,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2064,4,5,13,59,59],[2064,4,6,3,59,59],
+          '2063092914:00:00','2063093004:00:00','2064040513:59:59','2064040603:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,14,0,0],[2064,4,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2064,9,27,13,59,59],[2064,9,28,2,59,59],
+          '2064040514:00:00','2064040603:00:00','2064092713:59:59','2064092802:59:59' ],
+        [ [2064,9,27,14,0,0],[2064,9,28,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2065,4,4,13,59,59],[2065,4,5,3,59,59],
+          '2064092714:00:00','2064092804:00:00','2065040413:59:59','2065040503:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,14,0,0],[2065,4,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2065,9,26,13,59,59],[2065,9,27,2,59,59],
+          '2065040414:00:00','2065040503:00:00','2065092613:59:59','2065092702:59:59' ],
+        [ [2065,9,26,14,0,0],[2065,9,27,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2066,4,3,13,59,59],[2066,4,4,3,59,59],
+          '2065092614:00:00','2065092704:00:00','2066040313:59:59','2066040403:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,14,0,0],[2066,4,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2066,9,25,13,59,59],[2066,9,26,2,59,59],
+          '2066040314:00:00','2066040403:00:00','2066092513:59:59','2066092602:59:59' ],
+        [ [2066,9,25,14,0,0],[2066,9,26,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2067,4,2,13,59,59],[2067,4,3,3,59,59],
+          '2066092514:00:00','2066092604:00:00','2067040213:59:59','2067040303:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,14,0,0],[2067,4,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2067,9,24,13,59,59],[2067,9,25,2,59,59],
+          '2067040214:00:00','2067040303:00:00','2067092413:59:59','2067092502:59:59' ],
+        [ [2067,9,24,14,0,0],[2067,9,25,4,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2068,3,31,13,59,59],[2068,4,1,3,59,59],
+          '2067092414:00:00','2067092504:00:00','2068033113:59:59','2068040103:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+14:00:00',
+                'stdoff' => '+13:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '04:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '+13',
+                        },
+                '09' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+14',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paauck00.pm b/lib/Date/Manip/TZ/paauck00.pm
new file mode 100644
index 0000000..0f6cbc1
--- /dev/null
+++ b/lib/Date/Manip/TZ/paauck00.pm
@@ -0,0 +1,1045 @@
+package #
+Date::Manip::TZ::paauck00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,39,4],'+11:39:04',[11,39,4],
+          'LMT',0,[1868,11,1,12,20,55],[1868,11,1,23,59,59],
+          '0001010200:00:00','0001010211:39:04','1868110112:20:55','1868110123:59:59' ],
+     ],
+   1868 =>
+     [
+        [ [1868,11,1,12,20,56],[1868,11,1,23,50,56],'+11:30:00',[11,30,0],
+          'NZMT',0,[1927,11,5,14,29,59],[1927,11,6,1,59,59],
+          '1868110112:20:56','1868110123:50:56','1927110514:29:59','1927110601:59:59' ],
+     ],
+   1927 =>
+     [
+        [ [1927,11,5,14,30,0],[1927,11,6,3,0,0],'+12:30:00',[12,30,0],
+          'NZST',1,[1928,3,3,13,29,59],[1928,3,4,1,59,59],
+          '1927110514:30:00','1927110603:00:00','1928030313:29:59','1928030401:59:59' ],
+     ],
+   1928 =>
+     [
+        [ [1928,3,3,13,30,0],[1928,3,4,1,0,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1928,10,13,14,29,59],[1928,10,14,1,59,59],
+          '1928030313:30:00','1928030401:00:00','1928101314:29:59','1928101401:59:59' ],
+        [ [1928,10,13,14,30,0],[1928,10,14,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1929,3,16,13,59,59],[1929,3,17,1,59,59],
+          '1928101314:30:00','1928101402:30:00','1929031613:59:59','1929031701:59:59' ],
+     ],
+   1929 =>
+     [
+        [ [1929,3,16,14,0,0],[1929,3,17,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1929,10,12,14,29,59],[1929,10,13,1,59,59],
+          '1929031614:00:00','1929031701:30:00','1929101214:29:59','1929101301:59:59' ],
+        [ [1929,10,12,14,30,0],[1929,10,13,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1930,3,15,13,59,59],[1930,3,16,1,59,59],
+          '1929101214:30:00','1929101302:30:00','1930031513:59:59','1930031601:59:59' ],
+     ],
+   1930 =>
+     [
+        [ [1930,3,15,14,0,0],[1930,3,16,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1930,10,11,14,29,59],[1930,10,12,1,59,59],
+          '1930031514:00:00','1930031601:30:00','1930101114:29:59','1930101201:59:59' ],
+        [ [1930,10,11,14,30,0],[1930,10,12,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1931,3,14,13,59,59],[1931,3,15,1,59,59],
+          '1930101114:30:00','1930101202:30:00','1931031413:59:59','1931031501:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,3,14,14,0,0],[1931,3,15,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1931,10,10,14,29,59],[1931,10,11,1,59,59],
+          '1931031414:00:00','1931031501:30:00','1931101014:29:59','1931101101:59:59' ],
+        [ [1931,10,10,14,30,0],[1931,10,11,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1932,3,19,13,59,59],[1932,3,20,1,59,59],
+          '1931101014:30:00','1931101102:30:00','1932031913:59:59','1932032001:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,3,19,14,0,0],[1932,3,20,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1932,10,8,14,29,59],[1932,10,9,1,59,59],
+          '1932031914:00:00','1932032001:30:00','1932100814:29:59','1932100901:59:59' ],
+        [ [1932,10,8,14,30,0],[1932,10,9,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1933,3,18,13,59,59],[1933,3,19,1,59,59],
+          '1932100814:30:00','1932100902:30:00','1933031813:59:59','1933031901:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,3,18,14,0,0],[1933,3,19,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1933,10,7,14,29,59],[1933,10,8,1,59,59],
+          '1933031814:00:00','1933031901:30:00','1933100714:29:59','1933100801:59:59' ],
+        [ [1933,10,7,14,30,0],[1933,10,8,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1934,4,28,13,59,59],[1934,4,29,1,59,59],
+          '1933100714:30:00','1933100802:30:00','1934042813:59:59','1934042901:59:59' ],
+     ],
+   1934 =>
+     [
+        [ [1934,4,28,14,0,0],[1934,4,29,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1934,9,29,14,29,59],[1934,9,30,1,59,59],
+          '1934042814:00:00','1934042901:30:00','1934092914:29:59','1934093001:59:59' ],
+        [ [1934,9,29,14,30,0],[1934,9,30,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1935,4,27,13,59,59],[1935,4,28,1,59,59],
+          '1934092914:30:00','1934093002:30:00','1935042713:59:59','1935042801:59:59' ],
+     ],
+   1935 =>
+     [
+        [ [1935,4,27,14,0,0],[1935,4,28,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1935,9,28,14,29,59],[1935,9,29,1,59,59],
+          '1935042714:00:00','1935042801:30:00','1935092814:29:59','1935092901:59:59' ],
+        [ [1935,9,28,14,30,0],[1935,9,29,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1936,4,25,13,59,59],[1936,4,26,1,59,59],
+          '1935092814:30:00','1935092902:30:00','1936042513:59:59','1936042601:59:59' ],
+     ],
+   1936 =>
+     [
+        [ [1936,4,25,14,0,0],[1936,4,26,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1936,9,26,14,29,59],[1936,9,27,1,59,59],
+          '1936042514:00:00','1936042601:30:00','1936092614:29:59','1936092701:59:59' ],
+        [ [1936,9,26,14,30,0],[1936,9,27,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1937,4,24,13,59,59],[1937,4,25,1,59,59],
+          '1936092614:30:00','1936092702:30:00','1937042413:59:59','1937042501:59:59' ],
+     ],
+   1937 =>
+     [
+        [ [1937,4,24,14,0,0],[1937,4,25,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1937,9,25,14,29,59],[1937,9,26,1,59,59],
+          '1937042414:00:00','1937042501:30:00','1937092514:29:59','1937092601:59:59' ],
+        [ [1937,9,25,14,30,0],[1937,9,26,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1938,4,23,13,59,59],[1938,4,24,1,59,59],
+          '1937092514:30:00','1937092602:30:00','1938042313:59:59','1938042401:59:59' ],
+     ],
+   1938 =>
+     [
+        [ [1938,4,23,14,0,0],[1938,4,24,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1938,9,24,14,29,59],[1938,9,25,1,59,59],
+          '1938042314:00:00','1938042401:30:00','1938092414:29:59','1938092501:59:59' ],
+        [ [1938,9,24,14,30,0],[1938,9,25,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1939,4,29,13,59,59],[1939,4,30,1,59,59],
+          '1938092414:30:00','1938092502:30:00','1939042913:59:59','1939043001:59:59' ],
+     ],
+   1939 =>
+     [
+        [ [1939,4,29,14,0,0],[1939,4,30,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1939,9,23,14,29,59],[1939,9,24,1,59,59],
+          '1939042914:00:00','1939043001:30:00','1939092314:29:59','1939092401:59:59' ],
+        [ [1939,9,23,14,30,0],[1939,9,24,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1940,4,27,13,59,59],[1940,4,28,1,59,59],
+          '1939092314:30:00','1939092402:30:00','1940042713:59:59','1940042801:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,4,27,14,0,0],[1940,4,28,1,30,0],'+11:30:00',[11,30,0],
+          'NZMT',0,[1940,9,28,14,29,59],[1940,9,29,1,59,59],
+          '1940042714:00:00','1940042801:30:00','1940092814:29:59','1940092901:59:59' ],
+        [ [1940,9,28,14,30,0],[1940,9,29,2,30,0],'+12:00:00',[12,0,0],
+          'NZST',1,[1945,12,31,11,59,59],[1945,12,31,23,59,59],
+          '1940092814:30:00','1940092902:30:00','1945123111:59:59','1945123123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,12,31,12,0,0],[1946,1,1,0,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1974,11,2,13,59,59],[1974,11,3,1,59,59],
+          '1945123112:00:00','1946010100:00:00','1974110213:59:59','1974110301:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,11,2,14,0,0],[1974,11,3,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1975,2,22,13,59,59],[1975,2,23,2,59,59],
+          '1974110214:00:00','1974110303:00:00','1975022213:59:59','1975022302:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,22,14,0,0],[1975,2,23,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1975,10,25,13,59,59],[1975,10,26,1,59,59],
+          '1975022214:00:00','1975022302:00:00','1975102513:59:59','1975102601:59:59' ],
+        [ [1975,10,25,14,0,0],[1975,10,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1976,3,6,13,59,59],[1976,3,7,2,59,59],
+          '1975102514:00:00','1975102603:00:00','1976030613:59:59','1976030702:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,14,0,0],[1976,3,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1976,10,30,13,59,59],[1976,10,31,1,59,59],
+          '1976030614:00:00','1976030702:00:00','1976103013:59:59','1976103101:59:59' ],
+        [ [1976,10,30,14,0,0],[1976,10,31,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1977,3,5,13,59,59],[1977,3,6,2,59,59],
+          '1976103014:00:00','1976103103:00:00','1977030513:59:59','1977030602:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,14,0,0],[1977,3,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1977,10,29,13,59,59],[1977,10,30,1,59,59],
+          '1977030514:00:00','1977030602:00:00','1977102913:59:59','1977103001:59:59' ],
+        [ [1977,10,29,14,0,0],[1977,10,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1978,3,4,13,59,59],[1978,3,5,2,59,59],
+          '1977102914:00:00','1977103003:00:00','1978030413:59:59','1978030502:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,14,0,0],[1978,3,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1978,10,28,13,59,59],[1978,10,29,1,59,59],
+          '1978030414:00:00','1978030502:00:00','1978102813:59:59','1978102901:59:59' ],
+        [ [1978,10,28,14,0,0],[1978,10,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1979,3,3,13,59,59],[1979,3,4,2,59,59],
+          '1978102814:00:00','1978102903:00:00','1979030313:59:59','1979030402:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,14,0,0],[1979,3,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1979,10,27,13,59,59],[1979,10,28,1,59,59],
+          '1979030314:00:00','1979030402:00:00','1979102713:59:59','1979102801:59:59' ],
+        [ [1979,10,27,14,0,0],[1979,10,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1980,3,1,13,59,59],[1980,3,2,2,59,59],
+          '1979102714:00:00','1979102803:00:00','1980030113:59:59','1980030202:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,14,0,0],[1980,3,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1980,10,25,13,59,59],[1980,10,26,1,59,59],
+          '1980030114:00:00','1980030202:00:00','1980102513:59:59','1980102601:59:59' ],
+        [ [1980,10,25,14,0,0],[1980,10,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1981,2,28,13,59,59],[1981,3,1,2,59,59],
+          '1980102514:00:00','1980102603:00:00','1981022813:59:59','1981030102:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,14,0,0],[1981,3,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1981,10,24,13,59,59],[1981,10,25,1,59,59],
+          '1981022814:00:00','1981030102:00:00','1981102413:59:59','1981102501:59:59' ],
+        [ [1981,10,24,14,0,0],[1981,10,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1982,3,6,13,59,59],[1982,3,7,2,59,59],
+          '1981102414:00:00','1981102503:00:00','1982030613:59:59','1982030702:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,6,14,0,0],[1982,3,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1982,10,30,13,59,59],[1982,10,31,1,59,59],
+          '1982030614:00:00','1982030702:00:00','1982103013:59:59','1982103101:59:59' ],
+        [ [1982,10,30,14,0,0],[1982,10,31,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1983,3,5,13,59,59],[1983,3,6,2,59,59],
+          '1982103014:00:00','1982103103:00:00','1983030513:59:59','1983030602:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,14,0,0],[1983,3,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1983,10,29,13,59,59],[1983,10,30,1,59,59],
+          '1983030514:00:00','1983030602:00:00','1983102913:59:59','1983103001:59:59' ],
+        [ [1983,10,29,14,0,0],[1983,10,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1984,3,3,13,59,59],[1984,3,4,2,59,59],
+          '1983102914:00:00','1983103003:00:00','1984030313:59:59','1984030402:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,14,0,0],[1984,3,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1984,10,27,13,59,59],[1984,10,28,1,59,59],
+          '1984030314:00:00','1984030402:00:00','1984102713:59:59','1984102801:59:59' ],
+        [ [1984,10,27,14,0,0],[1984,10,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1985,3,2,13,59,59],[1985,3,3,2,59,59],
+          '1984102714:00:00','1984102803:00:00','1985030213:59:59','1985030302:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,14,0,0],[1985,3,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1985,10,26,13,59,59],[1985,10,27,1,59,59],
+          '1985030214:00:00','1985030302:00:00','1985102613:59:59','1985102701:59:59' ],
+        [ [1985,10,26,14,0,0],[1985,10,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1986,3,1,13,59,59],[1986,3,2,2,59,59],
+          '1985102614:00:00','1985102703:00:00','1986030113:59:59','1986030202:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,1,14,0,0],[1986,3,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1986,10,25,13,59,59],[1986,10,26,1,59,59],
+          '1986030114:00:00','1986030202:00:00','1986102513:59:59','1986102601:59:59' ],
+        [ [1986,10,25,14,0,0],[1986,10,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1987,2,28,13,59,59],[1987,3,1,2,59,59],
+          '1986102514:00:00','1986102603:00:00','1987022813:59:59','1987030102:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,28,14,0,0],[1987,3,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1987,10,24,13,59,59],[1987,10,25,1,59,59],
+          '1987022814:00:00','1987030102:00:00','1987102413:59:59','1987102501:59:59' ],
+        [ [1987,10,24,14,0,0],[1987,10,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1988,3,5,13,59,59],[1988,3,6,2,59,59],
+          '1987102414:00:00','1987102503:00:00','1988030513:59:59','1988030602:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,5,14,0,0],[1988,3,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1988,10,29,13,59,59],[1988,10,30,1,59,59],
+          '1988030514:00:00','1988030602:00:00','1988102913:59:59','1988103001:59:59' ],
+        [ [1988,10,29,14,0,0],[1988,10,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1989,3,4,13,59,59],[1989,3,5,2,59,59],
+          '1988102914:00:00','1988103003:00:00','1989030413:59:59','1989030502:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,4,14,0,0],[1989,3,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1989,10,7,13,59,59],[1989,10,8,1,59,59],
+          '1989030414:00:00','1989030502:00:00','1989100713:59:59','1989100801:59:59' ],
+        [ [1989,10,7,14,0,0],[1989,10,8,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1990,3,17,13,59,59],[1990,3,18,2,59,59],
+          '1989100714:00:00','1989100803:00:00','1990031713:59:59','1990031802:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,14,0,0],[1990,3,18,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1990,10,6,13,59,59],[1990,10,7,1,59,59],
+          '1990031714:00:00','1990031802:00:00','1990100613:59:59','1990100701:59:59' ],
+        [ [1990,10,6,14,0,0],[1990,10,7,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1991,3,16,13,59,59],[1991,3,17,2,59,59],
+          '1990100614:00:00','1990100703:00:00','1991031613:59:59','1991031702:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,16,14,0,0],[1991,3,17,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1991,10,5,13,59,59],[1991,10,6,1,59,59],
+          '1991031614:00:00','1991031702:00:00','1991100513:59:59','1991100601:59:59' ],
+        [ [1991,10,5,14,0,0],[1991,10,6,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1992,3,14,13,59,59],[1992,3,15,2,59,59],
+          '1991100514:00:00','1991100603:00:00','1992031413:59:59','1992031502:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,14,14,0,0],[1992,3,15,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1992,10,3,13,59,59],[1992,10,4,1,59,59],
+          '1992031414:00:00','1992031502:00:00','1992100313:59:59','1992100401:59:59' ],
+        [ [1992,10,3,14,0,0],[1992,10,4,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1993,3,20,13,59,59],[1993,3,21,2,59,59],
+          '1992100314:00:00','1992100403:00:00','1993032013:59:59','1993032102:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,20,14,0,0],[1993,3,21,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1993,10,2,13,59,59],[1993,10,3,1,59,59],
+          '1993032014:00:00','1993032102:00:00','1993100213:59:59','1993100301:59:59' ],
+        [ [1993,10,2,14,0,0],[1993,10,3,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1994,3,19,13,59,59],[1994,3,20,2,59,59],
+          '1993100214:00:00','1993100303:00:00','1994031913:59:59','1994032002:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,19,14,0,0],[1994,3,20,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1994,10,1,13,59,59],[1994,10,2,1,59,59],
+          '1994031914:00:00','1994032002:00:00','1994100113:59:59','1994100201:59:59' ],
+        [ [1994,10,1,14,0,0],[1994,10,2,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1995,3,18,13,59,59],[1995,3,19,2,59,59],
+          '1994100114:00:00','1994100203:00:00','1995031813:59:59','1995031902:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,18,14,0,0],[1995,3,19,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1995,9,30,13,59,59],[1995,10,1,1,59,59],
+          '1995031814:00:00','1995031902:00:00','1995093013:59:59','1995100101:59:59' ],
+        [ [1995,9,30,14,0,0],[1995,10,1,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1996,3,16,13,59,59],[1996,3,17,2,59,59],
+          '1995093014:00:00','1995100103:00:00','1996031613:59:59','1996031702:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,16,14,0,0],[1996,3,17,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1996,10,5,13,59,59],[1996,10,6,1,59,59],
+          '1996031614:00:00','1996031702:00:00','1996100513:59:59','1996100601:59:59' ],
+        [ [1996,10,5,14,0,0],[1996,10,6,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1997,3,15,13,59,59],[1997,3,16,2,59,59],
+          '1996100514:00:00','1996100603:00:00','1997031513:59:59','1997031602:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,15,14,0,0],[1997,3,16,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1997,10,4,13,59,59],[1997,10,5,1,59,59],
+          '1997031514:00:00','1997031602:00:00','1997100413:59:59','1997100501:59:59' ],
+        [ [1997,10,4,14,0,0],[1997,10,5,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1998,3,14,13,59,59],[1998,3,15,2,59,59],
+          '1997100414:00:00','1997100503:00:00','1998031413:59:59','1998031502:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,14,14,0,0],[1998,3,15,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1998,10,3,13,59,59],[1998,10,4,1,59,59],
+          '1998031414:00:00','1998031502:00:00','1998100313:59:59','1998100401:59:59' ],
+        [ [1998,10,3,14,0,0],[1998,10,4,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[1999,3,20,13,59,59],[1999,3,21,2,59,59],
+          '1998100314:00:00','1998100403:00:00','1999032013:59:59','1999032102:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,20,14,0,0],[1999,3,21,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[1999,10,2,13,59,59],[1999,10,3,1,59,59],
+          '1999032014:00:00','1999032102:00:00','1999100213:59:59','1999100301:59:59' ],
+        [ [1999,10,2,14,0,0],[1999,10,3,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2000,3,18,13,59,59],[2000,3,19,2,59,59],
+          '1999100214:00:00','1999100303:00:00','2000031813:59:59','2000031902:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,18,14,0,0],[2000,3,19,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2000,9,30,13,59,59],[2000,10,1,1,59,59],
+          '2000031814:00:00','2000031902:00:00','2000093013:59:59','2000100101:59:59' ],
+        [ [2000,9,30,14,0,0],[2000,10,1,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2001,3,17,13,59,59],[2001,3,18,2,59,59],
+          '2000093014:00:00','2000100103:00:00','2001031713:59:59','2001031802:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,17,14,0,0],[2001,3,18,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2001,10,6,13,59,59],[2001,10,7,1,59,59],
+          '2001031714:00:00','2001031802:00:00','2001100613:59:59','2001100701:59:59' ],
+        [ [2001,10,6,14,0,0],[2001,10,7,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2002,3,16,13,59,59],[2002,3,17,2,59,59],
+          '2001100614:00:00','2001100703:00:00','2002031613:59:59','2002031702:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,16,14,0,0],[2002,3,17,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2002,10,5,13,59,59],[2002,10,6,1,59,59],
+          '2002031614:00:00','2002031702:00:00','2002100513:59:59','2002100601:59:59' ],
+        [ [2002,10,5,14,0,0],[2002,10,6,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2003,3,15,13,59,59],[2003,3,16,2,59,59],
+          '2002100514:00:00','2002100603:00:00','2003031513:59:59','2003031602:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,15,14,0,0],[2003,3,16,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2003,10,4,13,59,59],[2003,10,5,1,59,59],
+          '2003031514:00:00','2003031602:00:00','2003100413:59:59','2003100501:59:59' ],
+        [ [2003,10,4,14,0,0],[2003,10,5,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2004,3,20,13,59,59],[2004,3,21,2,59,59],
+          '2003100414:00:00','2003100503:00:00','2004032013:59:59','2004032102:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,20,14,0,0],[2004,3,21,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2004,10,2,13,59,59],[2004,10,3,1,59,59],
+          '2004032014:00:00','2004032102:00:00','2004100213:59:59','2004100301:59:59' ],
+        [ [2004,10,2,14,0,0],[2004,10,3,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2005,3,19,13,59,59],[2005,3,20,2,59,59],
+          '2004100214:00:00','2004100303:00:00','2005031913:59:59','2005032002:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,19,14,0,0],[2005,3,20,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2005,10,1,13,59,59],[2005,10,2,1,59,59],
+          '2005031914:00:00','2005032002:00:00','2005100113:59:59','2005100201:59:59' ],
+        [ [2005,10,1,14,0,0],[2005,10,2,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2006,3,18,13,59,59],[2006,3,19,2,59,59],
+          '2005100114:00:00','2005100203:00:00','2006031813:59:59','2006031902:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,18,14,0,0],[2006,3,19,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2006,9,30,13,59,59],[2006,10,1,1,59,59],
+          '2006031814:00:00','2006031902:00:00','2006093013:59:59','2006100101:59:59' ],
+        [ [2006,9,30,14,0,0],[2006,10,1,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2007,3,17,13,59,59],[2007,3,18,2,59,59],
+          '2006093014:00:00','2006100103:00:00','2007031713:59:59','2007031802:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,17,14,0,0],[2007,3,18,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2007,9,29,13,59,59],[2007,9,30,1,59,59],
+          '2007031714:00:00','2007031802:00:00','2007092913:59:59','2007093001:59:59' ],
+        [ [2007,9,29,14,0,0],[2007,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2008,4,5,13,59,59],[2008,4,6,2,59,59],
+          '2007092914:00:00','2007093003:00:00','2008040513:59:59','2008040602:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,14,0,0],[2008,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2008,9,27,13,59,59],[2008,9,28,1,59,59],
+          '2008040514:00:00','2008040602:00:00','2008092713:59:59','2008092801:59:59' ],
+        [ [2008,9,27,14,0,0],[2008,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2009,4,4,13,59,59],[2009,4,5,2,59,59],
+          '2008092714:00:00','2008092803:00:00','2009040413:59:59','2009040502:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,14,0,0],[2009,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2009,9,26,13,59,59],[2009,9,27,1,59,59],
+          '2009040414:00:00','2009040502:00:00','2009092613:59:59','2009092701:59:59' ],
+        [ [2009,9,26,14,0,0],[2009,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2010,4,3,13,59,59],[2010,4,4,2,59,59],
+          '2009092614:00:00','2009092703:00:00','2010040313:59:59','2010040402:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,14,0,0],[2010,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2010,9,25,13,59,59],[2010,9,26,1,59,59],
+          '2010040314:00:00','2010040402:00:00','2010092513:59:59','2010092601:59:59' ],
+        [ [2010,9,25,14,0,0],[2010,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2011,4,2,13,59,59],[2011,4,3,2,59,59],
+          '2010092514:00:00','2010092603:00:00','2011040213:59:59','2011040302:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,14,0,0],[2011,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2011,9,24,13,59,59],[2011,9,25,1,59,59],
+          '2011040214:00:00','2011040302:00:00','2011092413:59:59','2011092501:59:59' ],
+        [ [2011,9,24,14,0,0],[2011,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2012,3,31,13,59,59],[2012,4,1,2,59,59],
+          '2011092414:00:00','2011092503:00:00','2012033113:59:59','2012040102:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,14,0,0],[2012,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2012,9,29,13,59,59],[2012,9,30,1,59,59],
+          '2012033114:00:00','2012040102:00:00','2012092913:59:59','2012093001:59:59' ],
+        [ [2012,9,29,14,0,0],[2012,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2013,4,6,13,59,59],[2013,4,7,2,59,59],
+          '2012092914:00:00','2012093003:00:00','2013040613:59:59','2013040702:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,14,0,0],[2013,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2013,9,28,13,59,59],[2013,9,29,1,59,59],
+          '2013040614:00:00','2013040702:00:00','2013092813:59:59','2013092901:59:59' ],
+        [ [2013,9,28,14,0,0],[2013,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2014,4,5,13,59,59],[2014,4,6,2,59,59],
+          '2013092814:00:00','2013092903:00:00','2014040513:59:59','2014040602:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,14,0,0],[2014,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2014,9,27,13,59,59],[2014,9,28,1,59,59],
+          '2014040514:00:00','2014040602:00:00','2014092713:59:59','2014092801:59:59' ],
+        [ [2014,9,27,14,0,0],[2014,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2015,4,4,13,59,59],[2015,4,5,2,59,59],
+          '2014092714:00:00','2014092803:00:00','2015040413:59:59','2015040502:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,14,0,0],[2015,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2015,9,26,13,59,59],[2015,9,27,1,59,59],
+          '2015040414:00:00','2015040502:00:00','2015092613:59:59','2015092701:59:59' ],
+        [ [2015,9,26,14,0,0],[2015,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2016,4,2,13,59,59],[2016,4,3,2,59,59],
+          '2015092614:00:00','2015092703:00:00','2016040213:59:59','2016040302:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,14,0,0],[2016,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2016,9,24,13,59,59],[2016,9,25,1,59,59],
+          '2016040214:00:00','2016040302:00:00','2016092413:59:59','2016092501:59:59' ],
+        [ [2016,9,24,14,0,0],[2016,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2017,4,1,13,59,59],[2017,4,2,2,59,59],
+          '2016092414:00:00','2016092503:00:00','2017040113:59:59','2017040202:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,14,0,0],[2017,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2017,9,23,13,59,59],[2017,9,24,1,59,59],
+          '2017040114:00:00','2017040202:00:00','2017092313:59:59','2017092401:59:59' ],
+        [ [2017,9,23,14,0,0],[2017,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2018,3,31,13,59,59],[2018,4,1,2,59,59],
+          '2017092314:00:00','2017092403:00:00','2018033113:59:59','2018040102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,14,0,0],[2018,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2018,9,29,13,59,59],[2018,9,30,1,59,59],
+          '2018033114:00:00','2018040102:00:00','2018092913:59:59','2018093001:59:59' ],
+        [ [2018,9,29,14,0,0],[2018,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2019,4,6,13,59,59],[2019,4,7,2,59,59],
+          '2018092914:00:00','2018093003:00:00','2019040613:59:59','2019040702:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,14,0,0],[2019,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2019,9,28,13,59,59],[2019,9,29,1,59,59],
+          '2019040614:00:00','2019040702:00:00','2019092813:59:59','2019092901:59:59' ],
+        [ [2019,9,28,14,0,0],[2019,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2020,4,4,13,59,59],[2020,4,5,2,59,59],
+          '2019092814:00:00','2019092903:00:00','2020040413:59:59','2020040502:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,14,0,0],[2020,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2020,9,26,13,59,59],[2020,9,27,1,59,59],
+          '2020040414:00:00','2020040502:00:00','2020092613:59:59','2020092701:59:59' ],
+        [ [2020,9,26,14,0,0],[2020,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2021,4,3,13,59,59],[2021,4,4,2,59,59],
+          '2020092614:00:00','2020092703:00:00','2021040313:59:59','2021040402:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,14,0,0],[2021,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2021,9,25,13,59,59],[2021,9,26,1,59,59],
+          '2021040314:00:00','2021040402:00:00','2021092513:59:59','2021092601:59:59' ],
+        [ [2021,9,25,14,0,0],[2021,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2022,4,2,13,59,59],[2022,4,3,2,59,59],
+          '2021092514:00:00','2021092603:00:00','2022040213:59:59','2022040302:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,14,0,0],[2022,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2022,9,24,13,59,59],[2022,9,25,1,59,59],
+          '2022040214:00:00','2022040302:00:00','2022092413:59:59','2022092501:59:59' ],
+        [ [2022,9,24,14,0,0],[2022,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2023,4,1,13,59,59],[2023,4,2,2,59,59],
+          '2022092414:00:00','2022092503:00:00','2023040113:59:59','2023040202:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,14,0,0],[2023,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2023,9,23,13,59,59],[2023,9,24,1,59,59],
+          '2023040114:00:00','2023040202:00:00','2023092313:59:59','2023092401:59:59' ],
+        [ [2023,9,23,14,0,0],[2023,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2024,4,6,13,59,59],[2024,4,7,2,59,59],
+          '2023092314:00:00','2023092403:00:00','2024040613:59:59','2024040702:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,14,0,0],[2024,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2024,9,28,13,59,59],[2024,9,29,1,59,59],
+          '2024040614:00:00','2024040702:00:00','2024092813:59:59','2024092901:59:59' ],
+        [ [2024,9,28,14,0,0],[2024,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2025,4,5,13,59,59],[2025,4,6,2,59,59],
+          '2024092814:00:00','2024092903:00:00','2025040513:59:59','2025040602:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,14,0,0],[2025,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2025,9,27,13,59,59],[2025,9,28,1,59,59],
+          '2025040514:00:00','2025040602:00:00','2025092713:59:59','2025092801:59:59' ],
+        [ [2025,9,27,14,0,0],[2025,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2026,4,4,13,59,59],[2026,4,5,2,59,59],
+          '2025092714:00:00','2025092803:00:00','2026040413:59:59','2026040502:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,14,0,0],[2026,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2026,9,26,13,59,59],[2026,9,27,1,59,59],
+          '2026040414:00:00','2026040502:00:00','2026092613:59:59','2026092701:59:59' ],
+        [ [2026,9,26,14,0,0],[2026,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2027,4,3,13,59,59],[2027,4,4,2,59,59],
+          '2026092614:00:00','2026092703:00:00','2027040313:59:59','2027040402:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,14,0,0],[2027,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2027,9,25,13,59,59],[2027,9,26,1,59,59],
+          '2027040314:00:00','2027040402:00:00','2027092513:59:59','2027092601:59:59' ],
+        [ [2027,9,25,14,0,0],[2027,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2028,4,1,13,59,59],[2028,4,2,2,59,59],
+          '2027092514:00:00','2027092603:00:00','2028040113:59:59','2028040202:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,14,0,0],[2028,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2028,9,23,13,59,59],[2028,9,24,1,59,59],
+          '2028040114:00:00','2028040202:00:00','2028092313:59:59','2028092401:59:59' ],
+        [ [2028,9,23,14,0,0],[2028,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2029,3,31,13,59,59],[2029,4,1,2,59,59],
+          '2028092314:00:00','2028092403:00:00','2029033113:59:59','2029040102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,14,0,0],[2029,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2029,9,29,13,59,59],[2029,9,30,1,59,59],
+          '2029033114:00:00','2029040102:00:00','2029092913:59:59','2029093001:59:59' ],
+        [ [2029,9,29,14,0,0],[2029,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2030,4,6,13,59,59],[2030,4,7,2,59,59],
+          '2029092914:00:00','2029093003:00:00','2030040613:59:59','2030040702:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,14,0,0],[2030,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2030,9,28,13,59,59],[2030,9,29,1,59,59],
+          '2030040614:00:00','2030040702:00:00','2030092813:59:59','2030092901:59:59' ],
+        [ [2030,9,28,14,0,0],[2030,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2031,4,5,13,59,59],[2031,4,6,2,59,59],
+          '2030092814:00:00','2030092903:00:00','2031040513:59:59','2031040602:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,14,0,0],[2031,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2031,9,27,13,59,59],[2031,9,28,1,59,59],
+          '2031040514:00:00','2031040602:00:00','2031092713:59:59','2031092801:59:59' ],
+        [ [2031,9,27,14,0,0],[2031,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2032,4,3,13,59,59],[2032,4,4,2,59,59],
+          '2031092714:00:00','2031092803:00:00','2032040313:59:59','2032040402:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,14,0,0],[2032,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2032,9,25,13,59,59],[2032,9,26,1,59,59],
+          '2032040314:00:00','2032040402:00:00','2032092513:59:59','2032092601:59:59' ],
+        [ [2032,9,25,14,0,0],[2032,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2033,4,2,13,59,59],[2033,4,3,2,59,59],
+          '2032092514:00:00','2032092603:00:00','2033040213:59:59','2033040302:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,14,0,0],[2033,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2033,9,24,13,59,59],[2033,9,25,1,59,59],
+          '2033040214:00:00','2033040302:00:00','2033092413:59:59','2033092501:59:59' ],
+        [ [2033,9,24,14,0,0],[2033,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2034,4,1,13,59,59],[2034,4,2,2,59,59],
+          '2033092414:00:00','2033092503:00:00','2034040113:59:59','2034040202:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,14,0,0],[2034,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2034,9,23,13,59,59],[2034,9,24,1,59,59],
+          '2034040114:00:00','2034040202:00:00','2034092313:59:59','2034092401:59:59' ],
+        [ [2034,9,23,14,0,0],[2034,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2035,3,31,13,59,59],[2035,4,1,2,59,59],
+          '2034092314:00:00','2034092403:00:00','2035033113:59:59','2035040102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,14,0,0],[2035,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2035,9,29,13,59,59],[2035,9,30,1,59,59],
+          '2035033114:00:00','2035040102:00:00','2035092913:59:59','2035093001:59:59' ],
+        [ [2035,9,29,14,0,0],[2035,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2036,4,5,13,59,59],[2036,4,6,2,59,59],
+          '2035092914:00:00','2035093003:00:00','2036040513:59:59','2036040602:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,14,0,0],[2036,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2036,9,27,13,59,59],[2036,9,28,1,59,59],
+          '2036040514:00:00','2036040602:00:00','2036092713:59:59','2036092801:59:59' ],
+        [ [2036,9,27,14,0,0],[2036,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2037,4,4,13,59,59],[2037,4,5,2,59,59],
+          '2036092714:00:00','2036092803:00:00','2037040413:59:59','2037040502:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,14,0,0],[2037,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2037,9,26,13,59,59],[2037,9,27,1,59,59],
+          '2037040414:00:00','2037040502:00:00','2037092613:59:59','2037092701:59:59' ],
+        [ [2037,9,26,14,0,0],[2037,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2038,4,3,13,59,59],[2038,4,4,2,59,59],
+          '2037092614:00:00','2037092703:00:00','2038040313:59:59','2038040402:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,14,0,0],[2038,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2038,9,25,13,59,59],[2038,9,26,1,59,59],
+          '2038040314:00:00','2038040402:00:00','2038092513:59:59','2038092601:59:59' ],
+        [ [2038,9,25,14,0,0],[2038,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2039,4,2,13,59,59],[2039,4,3,2,59,59],
+          '2038092514:00:00','2038092603:00:00','2039040213:59:59','2039040302:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,14,0,0],[2039,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2039,9,24,13,59,59],[2039,9,25,1,59,59],
+          '2039040214:00:00','2039040302:00:00','2039092413:59:59','2039092501:59:59' ],
+        [ [2039,9,24,14,0,0],[2039,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2040,3,31,13,59,59],[2040,4,1,2,59,59],
+          '2039092414:00:00','2039092503:00:00','2040033113:59:59','2040040102:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,14,0,0],[2040,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2040,9,29,13,59,59],[2040,9,30,1,59,59],
+          '2040033114:00:00','2040040102:00:00','2040092913:59:59','2040093001:59:59' ],
+        [ [2040,9,29,14,0,0],[2040,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2041,4,6,13,59,59],[2041,4,7,2,59,59],
+          '2040092914:00:00','2040093003:00:00','2041040613:59:59','2041040702:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,14,0,0],[2041,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2041,9,28,13,59,59],[2041,9,29,1,59,59],
+          '2041040614:00:00','2041040702:00:00','2041092813:59:59','2041092901:59:59' ],
+        [ [2041,9,28,14,0,0],[2041,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2042,4,5,13,59,59],[2042,4,6,2,59,59],
+          '2041092814:00:00','2041092903:00:00','2042040513:59:59','2042040602:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,14,0,0],[2042,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2042,9,27,13,59,59],[2042,9,28,1,59,59],
+          '2042040514:00:00','2042040602:00:00','2042092713:59:59','2042092801:59:59' ],
+        [ [2042,9,27,14,0,0],[2042,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2043,4,4,13,59,59],[2043,4,5,2,59,59],
+          '2042092714:00:00','2042092803:00:00','2043040413:59:59','2043040502:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,14,0,0],[2043,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2043,9,26,13,59,59],[2043,9,27,1,59,59],
+          '2043040414:00:00','2043040502:00:00','2043092613:59:59','2043092701:59:59' ],
+        [ [2043,9,26,14,0,0],[2043,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2044,4,2,13,59,59],[2044,4,3,2,59,59],
+          '2043092614:00:00','2043092703:00:00','2044040213:59:59','2044040302:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,14,0,0],[2044,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2044,9,24,13,59,59],[2044,9,25,1,59,59],
+          '2044040214:00:00','2044040302:00:00','2044092413:59:59','2044092501:59:59' ],
+        [ [2044,9,24,14,0,0],[2044,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2045,4,1,13,59,59],[2045,4,2,2,59,59],
+          '2044092414:00:00','2044092503:00:00','2045040113:59:59','2045040202:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,14,0,0],[2045,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2045,9,23,13,59,59],[2045,9,24,1,59,59],
+          '2045040114:00:00','2045040202:00:00','2045092313:59:59','2045092401:59:59' ],
+        [ [2045,9,23,14,0,0],[2045,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2046,3,31,13,59,59],[2046,4,1,2,59,59],
+          '2045092314:00:00','2045092403:00:00','2046033113:59:59','2046040102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,14,0,0],[2046,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2046,9,29,13,59,59],[2046,9,30,1,59,59],
+          '2046033114:00:00','2046040102:00:00','2046092913:59:59','2046093001:59:59' ],
+        [ [2046,9,29,14,0,0],[2046,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2047,4,6,13,59,59],[2047,4,7,2,59,59],
+          '2046092914:00:00','2046093003:00:00','2047040613:59:59','2047040702:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,14,0,0],[2047,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2047,9,28,13,59,59],[2047,9,29,1,59,59],
+          '2047040614:00:00','2047040702:00:00','2047092813:59:59','2047092901:59:59' ],
+        [ [2047,9,28,14,0,0],[2047,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2048,4,4,13,59,59],[2048,4,5,2,59,59],
+          '2047092814:00:00','2047092903:00:00','2048040413:59:59','2048040502:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,14,0,0],[2048,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2048,9,26,13,59,59],[2048,9,27,1,59,59],
+          '2048040414:00:00','2048040502:00:00','2048092613:59:59','2048092701:59:59' ],
+        [ [2048,9,26,14,0,0],[2048,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2049,4,3,13,59,59],[2049,4,4,2,59,59],
+          '2048092614:00:00','2048092703:00:00','2049040313:59:59','2049040402:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,14,0,0],[2049,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2049,9,25,13,59,59],[2049,9,26,1,59,59],
+          '2049040314:00:00','2049040402:00:00','2049092513:59:59','2049092601:59:59' ],
+        [ [2049,9,25,14,0,0],[2049,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2050,4,2,13,59,59],[2050,4,3,2,59,59],
+          '2049092514:00:00','2049092603:00:00','2050040213:59:59','2050040302:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,14,0,0],[2050,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2050,9,24,13,59,59],[2050,9,25,1,59,59],
+          '2050040214:00:00','2050040302:00:00','2050092413:59:59','2050092501:59:59' ],
+        [ [2050,9,24,14,0,0],[2050,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2051,4,1,13,59,59],[2051,4,2,2,59,59],
+          '2050092414:00:00','2050092503:00:00','2051040113:59:59','2051040202:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,14,0,0],[2051,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2051,9,23,13,59,59],[2051,9,24,1,59,59],
+          '2051040114:00:00','2051040202:00:00','2051092313:59:59','2051092401:59:59' ],
+        [ [2051,9,23,14,0,0],[2051,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2052,4,6,13,59,59],[2052,4,7,2,59,59],
+          '2051092314:00:00','2051092403:00:00','2052040613:59:59','2052040702:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,14,0,0],[2052,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2052,9,28,13,59,59],[2052,9,29,1,59,59],
+          '2052040614:00:00','2052040702:00:00','2052092813:59:59','2052092901:59:59' ],
+        [ [2052,9,28,14,0,0],[2052,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2053,4,5,13,59,59],[2053,4,6,2,59,59],
+          '2052092814:00:00','2052092903:00:00','2053040513:59:59','2053040602:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,14,0,0],[2053,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2053,9,27,13,59,59],[2053,9,28,1,59,59],
+          '2053040514:00:00','2053040602:00:00','2053092713:59:59','2053092801:59:59' ],
+        [ [2053,9,27,14,0,0],[2053,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2054,4,4,13,59,59],[2054,4,5,2,59,59],
+          '2053092714:00:00','2053092803:00:00','2054040413:59:59','2054040502:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,14,0,0],[2054,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2054,9,26,13,59,59],[2054,9,27,1,59,59],
+          '2054040414:00:00','2054040502:00:00','2054092613:59:59','2054092701:59:59' ],
+        [ [2054,9,26,14,0,0],[2054,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2055,4,3,13,59,59],[2055,4,4,2,59,59],
+          '2054092614:00:00','2054092703:00:00','2055040313:59:59','2055040402:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,14,0,0],[2055,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2055,9,25,13,59,59],[2055,9,26,1,59,59],
+          '2055040314:00:00','2055040402:00:00','2055092513:59:59','2055092601:59:59' ],
+        [ [2055,9,25,14,0,0],[2055,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2056,4,1,13,59,59],[2056,4,2,2,59,59],
+          '2055092514:00:00','2055092603:00:00','2056040113:59:59','2056040202:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,14,0,0],[2056,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2056,9,23,13,59,59],[2056,9,24,1,59,59],
+          '2056040114:00:00','2056040202:00:00','2056092313:59:59','2056092401:59:59' ],
+        [ [2056,9,23,14,0,0],[2056,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2057,3,31,13,59,59],[2057,4,1,2,59,59],
+          '2056092314:00:00','2056092403:00:00','2057033113:59:59','2057040102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,14,0,0],[2057,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2057,9,29,13,59,59],[2057,9,30,1,59,59],
+          '2057033114:00:00','2057040102:00:00','2057092913:59:59','2057093001:59:59' ],
+        [ [2057,9,29,14,0,0],[2057,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2058,4,6,13,59,59],[2058,4,7,2,59,59],
+          '2057092914:00:00','2057093003:00:00','2058040613:59:59','2058040702:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,14,0,0],[2058,4,7,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2058,9,28,13,59,59],[2058,9,29,1,59,59],
+          '2058040614:00:00','2058040702:00:00','2058092813:59:59','2058092901:59:59' ],
+        [ [2058,9,28,14,0,0],[2058,9,29,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2059,4,5,13,59,59],[2059,4,6,2,59,59],
+          '2058092814:00:00','2058092903:00:00','2059040513:59:59','2059040602:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,14,0,0],[2059,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2059,9,27,13,59,59],[2059,9,28,1,59,59],
+          '2059040514:00:00','2059040602:00:00','2059092713:59:59','2059092801:59:59' ],
+        [ [2059,9,27,14,0,0],[2059,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2060,4,3,13,59,59],[2060,4,4,2,59,59],
+          '2059092714:00:00','2059092803:00:00','2060040313:59:59','2060040402:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,14,0,0],[2060,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2060,9,25,13,59,59],[2060,9,26,1,59,59],
+          '2060040314:00:00','2060040402:00:00','2060092513:59:59','2060092601:59:59' ],
+        [ [2060,9,25,14,0,0],[2060,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2061,4,2,13,59,59],[2061,4,3,2,59,59],
+          '2060092514:00:00','2060092603:00:00','2061040213:59:59','2061040302:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,14,0,0],[2061,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2061,9,24,13,59,59],[2061,9,25,1,59,59],
+          '2061040214:00:00','2061040302:00:00','2061092413:59:59','2061092501:59:59' ],
+        [ [2061,9,24,14,0,0],[2061,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2062,4,1,13,59,59],[2062,4,2,2,59,59],
+          '2061092414:00:00','2061092503:00:00','2062040113:59:59','2062040202:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,14,0,0],[2062,4,2,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2062,9,23,13,59,59],[2062,9,24,1,59,59],
+          '2062040114:00:00','2062040202:00:00','2062092313:59:59','2062092401:59:59' ],
+        [ [2062,9,23,14,0,0],[2062,9,24,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2063,3,31,13,59,59],[2063,4,1,2,59,59],
+          '2062092314:00:00','2062092403:00:00','2063033113:59:59','2063040102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,14,0,0],[2063,4,1,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2063,9,29,13,59,59],[2063,9,30,1,59,59],
+          '2063033114:00:00','2063040102:00:00','2063092913:59:59','2063093001:59:59' ],
+        [ [2063,9,29,14,0,0],[2063,9,30,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2064,4,5,13,59,59],[2064,4,6,2,59,59],
+          '2063092914:00:00','2063093003:00:00','2064040513:59:59','2064040602:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,14,0,0],[2064,4,6,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2064,9,27,13,59,59],[2064,9,28,1,59,59],
+          '2064040514:00:00','2064040602:00:00','2064092713:59:59','2064092801:59:59' ],
+        [ [2064,9,27,14,0,0],[2064,9,28,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2065,4,4,13,59,59],[2065,4,5,2,59,59],
+          '2064092714:00:00','2064092803:00:00','2065040413:59:59','2065040502:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,14,0,0],[2065,4,5,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2065,9,26,13,59,59],[2065,9,27,1,59,59],
+          '2065040414:00:00','2065040502:00:00','2065092613:59:59','2065092701:59:59' ],
+        [ [2065,9,26,14,0,0],[2065,9,27,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2066,4,3,13,59,59],[2066,4,4,2,59,59],
+          '2065092614:00:00','2065092703:00:00','2066040313:59:59','2066040402:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,14,0,0],[2066,4,4,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2066,9,25,13,59,59],[2066,9,26,1,59,59],
+          '2066040314:00:00','2066040402:00:00','2066092513:59:59','2066092601:59:59' ],
+        [ [2066,9,25,14,0,0],[2066,9,26,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2067,4,2,13,59,59],[2067,4,3,2,59,59],
+          '2066092514:00:00','2066092603:00:00','2067040213:59:59','2067040302:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,14,0,0],[2067,4,3,2,0,0],'+12:00:00',[12,0,0],
+          'NZST',0,[2067,9,24,13,59,59],[2067,9,25,1,59,59],
+          '2067040214:00:00','2067040302:00:00','2067092413:59:59','2067092501:59:59' ],
+        [ [2067,9,24,14,0,0],[2067,9,25,3,0,0],'+13:00:00',[13,0,0],
+          'NZDT',1,[2068,3,31,13,59,59],[2068,4,1,2,59,59],
+          '2067092414:00:00','2067092503:00:00','2068033113:59:59','2068040102:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+13:00:00',
+                'stdoff' => '+12:00:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'NZST',
+                        },
+                '09' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'NZDT',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paboug00.pm b/lib/Date/Manip/TZ/paboug00.pm
new file mode 100644
index 0000000..a90b234
--- /dev/null
+++ b/lib/Date/Manip/TZ/paboug00.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::TZ::paboug00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,22,16],'+10:22:16',[10,22,16],
+          'LMT',0,[1879,12,31,13,37,43],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010210:22:16','1879123113:37:43','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,13,37,44],[1879,12,31,23,26,16],'+09:48:32',[9,48,32],
+          'PMMT',0,[1894,12,31,14,11,27],[1894,12,31,23,59,59],
+          '1879123113:37:44','1879123123:26:16','1894123114:11:27','1894123123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,12,31,14,11,28],[1895,1,1,0,11,28],'+10:00:00',[10,0,0],
+          '+10',0,[1942,6,30,13,59,59],[1942,6,30,23,59,59],
+          '1894123114:11:28','1895010100:11:28','1942063013:59:59','1942063023:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,6,30,14,0,0],[1942,6,30,23,0,0],'+09:00:00',[9,0,0],
+          '+09',0,[1945,8,20,14,59,59],[1945,8,20,23,59,59],
+          '1942063014:00:00','1942063023:00:00','1945082014:59:59','1945082023:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,8,20,15,0,0],[1945,8,21,1,0,0],'+10:00:00',[10,0,0],
+          '+10',0,[2014,12,27,15,59,59],[2014,12,28,1,59,59],
+          '1945082015:00:00','1945082101:00:00','2014122715:59:59','2014122801:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,12,27,16,0,0],[2014,12,28,3,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2014122716:00:00','2014122803:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pachat00.pm b/lib/Date/Manip/TZ/pachat00.pm
new file mode 100644
index 0000000..73741e8
--- /dev/null
+++ b/lib/Date/Manip/TZ/pachat00.pm
@@ -0,0 +1,922 @@
+package #
+Date::Manip::TZ::pachat00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,13,48],'+12:13:48',[12,13,48],
+          'LMT',0,[1868,11,1,11,46,11],[1868,11,1,23,59,59],
+          '0001010200:00:00','0001010212:13:48','1868110111:46:11','1868110123:59:59' ],
+     ],
+   1868 =>
+     [
+        [ [1868,11,1,11,46,12],[1868,11,2,0,1,12],'+12:15:00',[12,15,0],
+          '+1215',0,[1945,12,31,11,44,59],[1945,12,31,23,59,59],
+          '1868110111:46:12','1868110200:01:12','1945123111:44:59','1945123123:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,12,31,11,45,0],[1946,1,1,0,30,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1974,11,2,13,59,59],[1974,11,3,2,44,59],
+          '1945123111:45:00','1946010100:30:00','1974110213:59:59','1974110302:44:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,11,2,14,0,0],[1974,11,3,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1975,2,22,13,59,59],[1975,2,23,3,44,59],
+          '1974110214:00:00','1974110303:45:00','1975022213:59:59','1975022303:44:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,2,22,14,0,0],[1975,2,23,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1975,10,25,13,59,59],[1975,10,26,2,44,59],
+          '1975022214:00:00','1975022302:45:00','1975102513:59:59','1975102602:44:59' ],
+        [ [1975,10,25,14,0,0],[1975,10,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1976,3,6,13,59,59],[1976,3,7,3,44,59],
+          '1975102514:00:00','1975102603:45:00','1976030613:59:59','1976030703:44:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,6,14,0,0],[1976,3,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1976,10,30,13,59,59],[1976,10,31,2,44,59],
+          '1976030614:00:00','1976030702:45:00','1976103013:59:59','1976103102:44:59' ],
+        [ [1976,10,30,14,0,0],[1976,10,31,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1977,3,5,13,59,59],[1977,3,6,3,44,59],
+          '1976103014:00:00','1976103103:45:00','1977030513:59:59','1977030603:44:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,5,14,0,0],[1977,3,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1977,10,29,13,59,59],[1977,10,30,2,44,59],
+          '1977030514:00:00','1977030602:45:00','1977102913:59:59','1977103002:44:59' ],
+        [ [1977,10,29,14,0,0],[1977,10,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1978,3,4,13,59,59],[1978,3,5,3,44,59],
+          '1977102914:00:00','1977103003:45:00','1978030413:59:59','1978030503:44:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,4,14,0,0],[1978,3,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1978,10,28,13,59,59],[1978,10,29,2,44,59],
+          '1978030414:00:00','1978030502:45:00','1978102813:59:59','1978102902:44:59' ],
+        [ [1978,10,28,14,0,0],[1978,10,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1979,3,3,13,59,59],[1979,3,4,3,44,59],
+          '1978102814:00:00','1978102903:45:00','1979030313:59:59','1979030403:44:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,3,14,0,0],[1979,3,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1979,10,27,13,59,59],[1979,10,28,2,44,59],
+          '1979030314:00:00','1979030402:45:00','1979102713:59:59','1979102802:44:59' ],
+        [ [1979,10,27,14,0,0],[1979,10,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1980,3,1,13,59,59],[1980,3,2,3,44,59],
+          '1979102714:00:00','1979102803:45:00','1980030113:59:59','1980030203:44:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,1,14,0,0],[1980,3,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1980,10,25,13,59,59],[1980,10,26,2,44,59],
+          '1980030114:00:00','1980030202:45:00','1980102513:59:59','1980102602:44:59' ],
+        [ [1980,10,25,14,0,0],[1980,10,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1981,2,28,13,59,59],[1981,3,1,3,44,59],
+          '1980102514:00:00','1980102603:45:00','1981022813:59:59','1981030103:44:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,2,28,14,0,0],[1981,3,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1981,10,24,13,59,59],[1981,10,25,2,44,59],
+          '1981022814:00:00','1981030102:45:00','1981102413:59:59','1981102502:44:59' ],
+        [ [1981,10,24,14,0,0],[1981,10,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1982,3,6,13,59,59],[1982,3,7,3,44,59],
+          '1981102414:00:00','1981102503:45:00','1982030613:59:59','1982030703:44:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,6,14,0,0],[1982,3,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1982,10,30,13,59,59],[1982,10,31,2,44,59],
+          '1982030614:00:00','1982030702:45:00','1982103013:59:59','1982103102:44:59' ],
+        [ [1982,10,30,14,0,0],[1982,10,31,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1983,3,5,13,59,59],[1983,3,6,3,44,59],
+          '1982103014:00:00','1982103103:45:00','1983030513:59:59','1983030603:44:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,5,14,0,0],[1983,3,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1983,10,29,13,59,59],[1983,10,30,2,44,59],
+          '1983030514:00:00','1983030602:45:00','1983102913:59:59','1983103002:44:59' ],
+        [ [1983,10,29,14,0,0],[1983,10,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1984,3,3,13,59,59],[1984,3,4,3,44,59],
+          '1983102914:00:00','1983103003:45:00','1984030313:59:59','1984030403:44:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,3,14,0,0],[1984,3,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1984,10,27,13,59,59],[1984,10,28,2,44,59],
+          '1984030314:00:00','1984030402:45:00','1984102713:59:59','1984102802:44:59' ],
+        [ [1984,10,27,14,0,0],[1984,10,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1985,3,2,13,59,59],[1985,3,3,3,44,59],
+          '1984102714:00:00','1984102803:45:00','1985030213:59:59','1985030303:44:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,2,14,0,0],[1985,3,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1985,10,26,13,59,59],[1985,10,27,2,44,59],
+          '1985030214:00:00','1985030302:45:00','1985102613:59:59','1985102702:44:59' ],
+        [ [1985,10,26,14,0,0],[1985,10,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1986,3,1,13,59,59],[1986,3,2,3,44,59],
+          '1985102614:00:00','1985102703:45:00','1986030113:59:59','1986030203:44:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,1,14,0,0],[1986,3,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1986,10,25,13,59,59],[1986,10,26,2,44,59],
+          '1986030114:00:00','1986030202:45:00','1986102513:59:59','1986102602:44:59' ],
+        [ [1986,10,25,14,0,0],[1986,10,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1987,2,28,13,59,59],[1987,3,1,3,44,59],
+          '1986102514:00:00','1986102603:45:00','1987022813:59:59','1987030103:44:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,2,28,14,0,0],[1987,3,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1987,10,24,13,59,59],[1987,10,25,2,44,59],
+          '1987022814:00:00','1987030102:45:00','1987102413:59:59','1987102502:44:59' ],
+        [ [1987,10,24,14,0,0],[1987,10,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1988,3,5,13,59,59],[1988,3,6,3,44,59],
+          '1987102414:00:00','1987102503:45:00','1988030513:59:59','1988030603:44:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,5,14,0,0],[1988,3,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1988,10,29,13,59,59],[1988,10,30,2,44,59],
+          '1988030514:00:00','1988030602:45:00','1988102913:59:59','1988103002:44:59' ],
+        [ [1988,10,29,14,0,0],[1988,10,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1989,3,4,13,59,59],[1989,3,5,3,44,59],
+          '1988102914:00:00','1988103003:45:00','1989030413:59:59','1989030503:44:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,4,14,0,0],[1989,3,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1989,10,7,13,59,59],[1989,10,8,2,44,59],
+          '1989030414:00:00','1989030502:45:00','1989100713:59:59','1989100802:44:59' ],
+        [ [1989,10,7,14,0,0],[1989,10,8,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1990,3,17,13,59,59],[1990,3,18,3,44,59],
+          '1989100714:00:00','1989100803:45:00','1990031713:59:59','1990031803:44:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,17,14,0,0],[1990,3,18,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1990,10,6,13,59,59],[1990,10,7,2,44,59],
+          '1990031714:00:00','1990031802:45:00','1990100613:59:59','1990100702:44:59' ],
+        [ [1990,10,6,14,0,0],[1990,10,7,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1991,3,16,13,59,59],[1991,3,17,3,44,59],
+          '1990100614:00:00','1990100703:45:00','1991031613:59:59','1991031703:44:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,16,14,0,0],[1991,3,17,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1991,10,5,13,59,59],[1991,10,6,2,44,59],
+          '1991031614:00:00','1991031702:45:00','1991100513:59:59','1991100602:44:59' ],
+        [ [1991,10,5,14,0,0],[1991,10,6,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1992,3,14,13,59,59],[1992,3,15,3,44,59],
+          '1991100514:00:00','1991100603:45:00','1992031413:59:59','1992031503:44:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,14,14,0,0],[1992,3,15,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1992,10,3,13,59,59],[1992,10,4,2,44,59],
+          '1992031414:00:00','1992031502:45:00','1992100313:59:59','1992100402:44:59' ],
+        [ [1992,10,3,14,0,0],[1992,10,4,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1993,3,20,13,59,59],[1993,3,21,3,44,59],
+          '1992100314:00:00','1992100403:45:00','1993032013:59:59','1993032103:44:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,20,14,0,0],[1993,3,21,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1993,10,2,13,59,59],[1993,10,3,2,44,59],
+          '1993032014:00:00','1993032102:45:00','1993100213:59:59','1993100302:44:59' ],
+        [ [1993,10,2,14,0,0],[1993,10,3,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1994,3,19,13,59,59],[1994,3,20,3,44,59],
+          '1993100214:00:00','1993100303:45:00','1994031913:59:59','1994032003:44:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,19,14,0,0],[1994,3,20,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1994,10,1,13,59,59],[1994,10,2,2,44,59],
+          '1994031914:00:00','1994032002:45:00','1994100113:59:59','1994100202:44:59' ],
+        [ [1994,10,1,14,0,0],[1994,10,2,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1995,3,18,13,59,59],[1995,3,19,3,44,59],
+          '1994100114:00:00','1994100203:45:00','1995031813:59:59','1995031903:44:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,18,14,0,0],[1995,3,19,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1995,9,30,13,59,59],[1995,10,1,2,44,59],
+          '1995031814:00:00','1995031902:45:00','1995093013:59:59','1995100102:44:59' ],
+        [ [1995,9,30,14,0,0],[1995,10,1,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1996,3,16,13,59,59],[1996,3,17,3,44,59],
+          '1995093014:00:00','1995100103:45:00','1996031613:59:59','1996031703:44:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,16,14,0,0],[1996,3,17,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1996,10,5,13,59,59],[1996,10,6,2,44,59],
+          '1996031614:00:00','1996031702:45:00','1996100513:59:59','1996100602:44:59' ],
+        [ [1996,10,5,14,0,0],[1996,10,6,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1997,3,15,13,59,59],[1997,3,16,3,44,59],
+          '1996100514:00:00','1996100603:45:00','1997031513:59:59','1997031603:44:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,15,14,0,0],[1997,3,16,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1997,10,4,13,59,59],[1997,10,5,2,44,59],
+          '1997031514:00:00','1997031602:45:00','1997100413:59:59','1997100502:44:59' ],
+        [ [1997,10,4,14,0,0],[1997,10,5,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1998,3,14,13,59,59],[1998,3,15,3,44,59],
+          '1997100414:00:00','1997100503:45:00','1998031413:59:59','1998031503:44:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,14,14,0,0],[1998,3,15,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1998,10,3,13,59,59],[1998,10,4,2,44,59],
+          '1998031414:00:00','1998031502:45:00','1998100313:59:59','1998100402:44:59' ],
+        [ [1998,10,3,14,0,0],[1998,10,4,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[1999,3,20,13,59,59],[1999,3,21,3,44,59],
+          '1998100314:00:00','1998100403:45:00','1999032013:59:59','1999032103:44:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,20,14,0,0],[1999,3,21,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[1999,10,2,13,59,59],[1999,10,3,2,44,59],
+          '1999032014:00:00','1999032102:45:00','1999100213:59:59','1999100302:44:59' ],
+        [ [1999,10,2,14,0,0],[1999,10,3,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2000,3,18,13,59,59],[2000,3,19,3,44,59],
+          '1999100214:00:00','1999100303:45:00','2000031813:59:59','2000031903:44:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,18,14,0,0],[2000,3,19,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2000,9,30,13,59,59],[2000,10,1,2,44,59],
+          '2000031814:00:00','2000031902:45:00','2000093013:59:59','2000100102:44:59' ],
+        [ [2000,9,30,14,0,0],[2000,10,1,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2001,3,17,13,59,59],[2001,3,18,3,44,59],
+          '2000093014:00:00','2000100103:45:00','2001031713:59:59','2001031803:44:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,17,14,0,0],[2001,3,18,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2001,10,6,13,59,59],[2001,10,7,2,44,59],
+          '2001031714:00:00','2001031802:45:00','2001100613:59:59','2001100702:44:59' ],
+        [ [2001,10,6,14,0,0],[2001,10,7,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2002,3,16,13,59,59],[2002,3,17,3,44,59],
+          '2001100614:00:00','2001100703:45:00','2002031613:59:59','2002031703:44:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,16,14,0,0],[2002,3,17,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2002,10,5,13,59,59],[2002,10,6,2,44,59],
+          '2002031614:00:00','2002031702:45:00','2002100513:59:59','2002100602:44:59' ],
+        [ [2002,10,5,14,0,0],[2002,10,6,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2003,3,15,13,59,59],[2003,3,16,3,44,59],
+          '2002100514:00:00','2002100603:45:00','2003031513:59:59','2003031603:44:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,15,14,0,0],[2003,3,16,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2003,10,4,13,59,59],[2003,10,5,2,44,59],
+          '2003031514:00:00','2003031602:45:00','2003100413:59:59','2003100502:44:59' ],
+        [ [2003,10,4,14,0,0],[2003,10,5,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2004,3,20,13,59,59],[2004,3,21,3,44,59],
+          '2003100414:00:00','2003100503:45:00','2004032013:59:59','2004032103:44:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,20,14,0,0],[2004,3,21,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2004,10,2,13,59,59],[2004,10,3,2,44,59],
+          '2004032014:00:00','2004032102:45:00','2004100213:59:59','2004100302:44:59' ],
+        [ [2004,10,2,14,0,0],[2004,10,3,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2005,3,19,13,59,59],[2005,3,20,3,44,59],
+          '2004100214:00:00','2004100303:45:00','2005031913:59:59','2005032003:44:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,19,14,0,0],[2005,3,20,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2005,10,1,13,59,59],[2005,10,2,2,44,59],
+          '2005031914:00:00','2005032002:45:00','2005100113:59:59','2005100202:44:59' ],
+        [ [2005,10,1,14,0,0],[2005,10,2,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2006,3,18,13,59,59],[2006,3,19,3,44,59],
+          '2005100114:00:00','2005100203:45:00','2006031813:59:59','2006031903:44:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,18,14,0,0],[2006,3,19,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2006,9,30,13,59,59],[2006,10,1,2,44,59],
+          '2006031814:00:00','2006031902:45:00','2006093013:59:59','2006100102:44:59' ],
+        [ [2006,9,30,14,0,0],[2006,10,1,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2007,3,17,13,59,59],[2007,3,18,3,44,59],
+          '2006093014:00:00','2006100103:45:00','2007031713:59:59','2007031803:44:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,17,14,0,0],[2007,3,18,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2007,9,29,13,59,59],[2007,9,30,2,44,59],
+          '2007031714:00:00','2007031802:45:00','2007092913:59:59','2007093002:44:59' ],
+        [ [2007,9,29,14,0,0],[2007,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2008,4,5,13,59,59],[2008,4,6,3,44,59],
+          '2007092914:00:00','2007093003:45:00','2008040513:59:59','2008040603:44:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,4,5,14,0,0],[2008,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2008,9,27,13,59,59],[2008,9,28,2,44,59],
+          '2008040514:00:00','2008040602:45:00','2008092713:59:59','2008092802:44:59' ],
+        [ [2008,9,27,14,0,0],[2008,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2009,4,4,13,59,59],[2009,4,5,3,44,59],
+          '2008092714:00:00','2008092803:45:00','2009040413:59:59','2009040503:44:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,4,4,14,0,0],[2009,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2009,9,26,13,59,59],[2009,9,27,2,44,59],
+          '2009040414:00:00','2009040502:45:00','2009092613:59:59','2009092702:44:59' ],
+        [ [2009,9,26,14,0,0],[2009,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2010,4,3,13,59,59],[2010,4,4,3,44,59],
+          '2009092614:00:00','2009092703:45:00','2010040313:59:59','2010040403:44:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,3,14,0,0],[2010,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2010,9,25,13,59,59],[2010,9,26,2,44,59],
+          '2010040314:00:00','2010040402:45:00','2010092513:59:59','2010092602:44:59' ],
+        [ [2010,9,25,14,0,0],[2010,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2011,4,2,13,59,59],[2011,4,3,3,44,59],
+          '2010092514:00:00','2010092603:45:00','2011040213:59:59','2011040303:44:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,4,2,14,0,0],[2011,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2011,9,24,13,59,59],[2011,9,25,2,44,59],
+          '2011040214:00:00','2011040302:45:00','2011092413:59:59','2011092502:44:59' ],
+        [ [2011,9,24,14,0,0],[2011,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2012,3,31,13,59,59],[2012,4,1,3,44,59],
+          '2011092414:00:00','2011092503:45:00','2012033113:59:59','2012040103:44:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,31,14,0,0],[2012,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2012,9,29,13,59,59],[2012,9,30,2,44,59],
+          '2012033114:00:00','2012040102:45:00','2012092913:59:59','2012093002:44:59' ],
+        [ [2012,9,29,14,0,0],[2012,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2013,4,6,13,59,59],[2013,4,7,3,44,59],
+          '2012092914:00:00','2012093003:45:00','2013040613:59:59','2013040703:44:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,6,14,0,0],[2013,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2013,9,28,13,59,59],[2013,9,29,2,44,59],
+          '2013040614:00:00','2013040702:45:00','2013092813:59:59','2013092902:44:59' ],
+        [ [2013,9,28,14,0,0],[2013,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2014,4,5,13,59,59],[2014,4,6,3,44,59],
+          '2013092814:00:00','2013092903:45:00','2014040513:59:59','2014040603:44:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,5,14,0,0],[2014,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2014,9,27,13,59,59],[2014,9,28,2,44,59],
+          '2014040514:00:00','2014040602:45:00','2014092713:59:59','2014092802:44:59' ],
+        [ [2014,9,27,14,0,0],[2014,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2015,4,4,13,59,59],[2015,4,5,3,44,59],
+          '2014092714:00:00','2014092803:45:00','2015040413:59:59','2015040503:44:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,4,4,14,0,0],[2015,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2015,9,26,13,59,59],[2015,9,27,2,44,59],
+          '2015040414:00:00','2015040502:45:00','2015092613:59:59','2015092702:44:59' ],
+        [ [2015,9,26,14,0,0],[2015,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2016,4,2,13,59,59],[2016,4,3,3,44,59],
+          '2015092614:00:00','2015092703:45:00','2016040213:59:59','2016040303:44:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,4,2,14,0,0],[2016,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2016,9,24,13,59,59],[2016,9,25,2,44,59],
+          '2016040214:00:00','2016040302:45:00','2016092413:59:59','2016092502:44:59' ],
+        [ [2016,9,24,14,0,0],[2016,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2017,4,1,13,59,59],[2017,4,2,3,44,59],
+          '2016092414:00:00','2016092503:45:00','2017040113:59:59','2017040203:44:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,4,1,14,0,0],[2017,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2017,9,23,13,59,59],[2017,9,24,2,44,59],
+          '2017040114:00:00','2017040202:45:00','2017092313:59:59','2017092402:44:59' ],
+        [ [2017,9,23,14,0,0],[2017,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2018,3,31,13,59,59],[2018,4,1,3,44,59],
+          '2017092314:00:00','2017092403:45:00','2018033113:59:59','2018040103:44:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,31,14,0,0],[2018,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2018,9,29,13,59,59],[2018,9,30,2,44,59],
+          '2018033114:00:00','2018040102:45:00','2018092913:59:59','2018093002:44:59' ],
+        [ [2018,9,29,14,0,0],[2018,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2019,4,6,13,59,59],[2019,4,7,3,44,59],
+          '2018092914:00:00','2018093003:45:00','2019040613:59:59','2019040703:44:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,4,6,14,0,0],[2019,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2019,9,28,13,59,59],[2019,9,29,2,44,59],
+          '2019040614:00:00','2019040702:45:00','2019092813:59:59','2019092902:44:59' ],
+        [ [2019,9,28,14,0,0],[2019,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2020,4,4,13,59,59],[2020,4,5,3,44,59],
+          '2019092814:00:00','2019092903:45:00','2020040413:59:59','2020040503:44:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,4,4,14,0,0],[2020,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2020,9,26,13,59,59],[2020,9,27,2,44,59],
+          '2020040414:00:00','2020040502:45:00','2020092613:59:59','2020092702:44:59' ],
+        [ [2020,9,26,14,0,0],[2020,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2021,4,3,13,59,59],[2021,4,4,3,44,59],
+          '2020092614:00:00','2020092703:45:00','2021040313:59:59','2021040403:44:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,4,3,14,0,0],[2021,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2021,9,25,13,59,59],[2021,9,26,2,44,59],
+          '2021040314:00:00','2021040402:45:00','2021092513:59:59','2021092602:44:59' ],
+        [ [2021,9,25,14,0,0],[2021,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2022,4,2,13,59,59],[2022,4,3,3,44,59],
+          '2021092514:00:00','2021092603:45:00','2022040213:59:59','2022040303:44:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,4,2,14,0,0],[2022,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2022,9,24,13,59,59],[2022,9,25,2,44,59],
+          '2022040214:00:00','2022040302:45:00','2022092413:59:59','2022092502:44:59' ],
+        [ [2022,9,24,14,0,0],[2022,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2023,4,1,13,59,59],[2023,4,2,3,44,59],
+          '2022092414:00:00','2022092503:45:00','2023040113:59:59','2023040203:44:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,4,1,14,0,0],[2023,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2023,9,23,13,59,59],[2023,9,24,2,44,59],
+          '2023040114:00:00','2023040202:45:00','2023092313:59:59','2023092402:44:59' ],
+        [ [2023,9,23,14,0,0],[2023,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2024,4,6,13,59,59],[2024,4,7,3,44,59],
+          '2023092314:00:00','2023092403:45:00','2024040613:59:59','2024040703:44:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,4,6,14,0,0],[2024,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2024,9,28,13,59,59],[2024,9,29,2,44,59],
+          '2024040614:00:00','2024040702:45:00','2024092813:59:59','2024092902:44:59' ],
+        [ [2024,9,28,14,0,0],[2024,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2025,4,5,13,59,59],[2025,4,6,3,44,59],
+          '2024092814:00:00','2024092903:45:00','2025040513:59:59','2025040603:44:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,4,5,14,0,0],[2025,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2025,9,27,13,59,59],[2025,9,28,2,44,59],
+          '2025040514:00:00','2025040602:45:00','2025092713:59:59','2025092802:44:59' ],
+        [ [2025,9,27,14,0,0],[2025,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2026,4,4,13,59,59],[2026,4,5,3,44,59],
+          '2025092714:00:00','2025092803:45:00','2026040413:59:59','2026040503:44:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,4,4,14,0,0],[2026,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2026,9,26,13,59,59],[2026,9,27,2,44,59],
+          '2026040414:00:00','2026040502:45:00','2026092613:59:59','2026092702:44:59' ],
+        [ [2026,9,26,14,0,0],[2026,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2027,4,3,13,59,59],[2027,4,4,3,44,59],
+          '2026092614:00:00','2026092703:45:00','2027040313:59:59','2027040403:44:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,4,3,14,0,0],[2027,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2027,9,25,13,59,59],[2027,9,26,2,44,59],
+          '2027040314:00:00','2027040402:45:00','2027092513:59:59','2027092602:44:59' ],
+        [ [2027,9,25,14,0,0],[2027,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2028,4,1,13,59,59],[2028,4,2,3,44,59],
+          '2027092514:00:00','2027092603:45:00','2028040113:59:59','2028040203:44:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,4,1,14,0,0],[2028,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2028,9,23,13,59,59],[2028,9,24,2,44,59],
+          '2028040114:00:00','2028040202:45:00','2028092313:59:59','2028092402:44:59' ],
+        [ [2028,9,23,14,0,0],[2028,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2029,3,31,13,59,59],[2029,4,1,3,44,59],
+          '2028092314:00:00','2028092403:45:00','2029033113:59:59','2029040103:44:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,31,14,0,0],[2029,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2029,9,29,13,59,59],[2029,9,30,2,44,59],
+          '2029033114:00:00','2029040102:45:00','2029092913:59:59','2029093002:44:59' ],
+        [ [2029,9,29,14,0,0],[2029,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2030,4,6,13,59,59],[2030,4,7,3,44,59],
+          '2029092914:00:00','2029093003:45:00','2030040613:59:59','2030040703:44:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,4,6,14,0,0],[2030,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2030,9,28,13,59,59],[2030,9,29,2,44,59],
+          '2030040614:00:00','2030040702:45:00','2030092813:59:59','2030092902:44:59' ],
+        [ [2030,9,28,14,0,0],[2030,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2031,4,5,13,59,59],[2031,4,6,3,44,59],
+          '2030092814:00:00','2030092903:45:00','2031040513:59:59','2031040603:44:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,4,5,14,0,0],[2031,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2031,9,27,13,59,59],[2031,9,28,2,44,59],
+          '2031040514:00:00','2031040602:45:00','2031092713:59:59','2031092802:44:59' ],
+        [ [2031,9,27,14,0,0],[2031,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2032,4,3,13,59,59],[2032,4,4,3,44,59],
+          '2031092714:00:00','2031092803:45:00','2032040313:59:59','2032040403:44:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,4,3,14,0,0],[2032,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2032,9,25,13,59,59],[2032,9,26,2,44,59],
+          '2032040314:00:00','2032040402:45:00','2032092513:59:59','2032092602:44:59' ],
+        [ [2032,9,25,14,0,0],[2032,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2033,4,2,13,59,59],[2033,4,3,3,44,59],
+          '2032092514:00:00','2032092603:45:00','2033040213:59:59','2033040303:44:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,4,2,14,0,0],[2033,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2033,9,24,13,59,59],[2033,9,25,2,44,59],
+          '2033040214:00:00','2033040302:45:00','2033092413:59:59','2033092502:44:59' ],
+        [ [2033,9,24,14,0,0],[2033,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2034,4,1,13,59,59],[2034,4,2,3,44,59],
+          '2033092414:00:00','2033092503:45:00','2034040113:59:59','2034040203:44:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,4,1,14,0,0],[2034,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2034,9,23,13,59,59],[2034,9,24,2,44,59],
+          '2034040114:00:00','2034040202:45:00','2034092313:59:59','2034092402:44:59' ],
+        [ [2034,9,23,14,0,0],[2034,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2035,3,31,13,59,59],[2035,4,1,3,44,59],
+          '2034092314:00:00','2034092403:45:00','2035033113:59:59','2035040103:44:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,31,14,0,0],[2035,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2035,9,29,13,59,59],[2035,9,30,2,44,59],
+          '2035033114:00:00','2035040102:45:00','2035092913:59:59','2035093002:44:59' ],
+        [ [2035,9,29,14,0,0],[2035,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2036,4,5,13,59,59],[2036,4,6,3,44,59],
+          '2035092914:00:00','2035093003:45:00','2036040513:59:59','2036040603:44:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,4,5,14,0,0],[2036,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2036,9,27,13,59,59],[2036,9,28,2,44,59],
+          '2036040514:00:00','2036040602:45:00','2036092713:59:59','2036092802:44:59' ],
+        [ [2036,9,27,14,0,0],[2036,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2037,4,4,13,59,59],[2037,4,5,3,44,59],
+          '2036092714:00:00','2036092803:45:00','2037040413:59:59','2037040503:44:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,4,4,14,0,0],[2037,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2037,9,26,13,59,59],[2037,9,27,2,44,59],
+          '2037040414:00:00','2037040502:45:00','2037092613:59:59','2037092702:44:59' ],
+        [ [2037,9,26,14,0,0],[2037,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2038,4,3,13,59,59],[2038,4,4,3,44,59],
+          '2037092614:00:00','2037092703:45:00','2038040313:59:59','2038040403:44:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,4,3,14,0,0],[2038,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2038,9,25,13,59,59],[2038,9,26,2,44,59],
+          '2038040314:00:00','2038040402:45:00','2038092513:59:59','2038092602:44:59' ],
+        [ [2038,9,25,14,0,0],[2038,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2039,4,2,13,59,59],[2039,4,3,3,44,59],
+          '2038092514:00:00','2038092603:45:00','2039040213:59:59','2039040303:44:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,4,2,14,0,0],[2039,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2039,9,24,13,59,59],[2039,9,25,2,44,59],
+          '2039040214:00:00','2039040302:45:00','2039092413:59:59','2039092502:44:59' ],
+        [ [2039,9,24,14,0,0],[2039,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2040,3,31,13,59,59],[2040,4,1,3,44,59],
+          '2039092414:00:00','2039092503:45:00','2040033113:59:59','2040040103:44:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,31,14,0,0],[2040,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2040,9,29,13,59,59],[2040,9,30,2,44,59],
+          '2040033114:00:00','2040040102:45:00','2040092913:59:59','2040093002:44:59' ],
+        [ [2040,9,29,14,0,0],[2040,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2041,4,6,13,59,59],[2041,4,7,3,44,59],
+          '2040092914:00:00','2040093003:45:00','2041040613:59:59','2041040703:44:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,4,6,14,0,0],[2041,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2041,9,28,13,59,59],[2041,9,29,2,44,59],
+          '2041040614:00:00','2041040702:45:00','2041092813:59:59','2041092902:44:59' ],
+        [ [2041,9,28,14,0,0],[2041,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2042,4,5,13,59,59],[2042,4,6,3,44,59],
+          '2041092814:00:00','2041092903:45:00','2042040513:59:59','2042040603:44:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,4,5,14,0,0],[2042,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2042,9,27,13,59,59],[2042,9,28,2,44,59],
+          '2042040514:00:00','2042040602:45:00','2042092713:59:59','2042092802:44:59' ],
+        [ [2042,9,27,14,0,0],[2042,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2043,4,4,13,59,59],[2043,4,5,3,44,59],
+          '2042092714:00:00','2042092803:45:00','2043040413:59:59','2043040503:44:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,4,4,14,0,0],[2043,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2043,9,26,13,59,59],[2043,9,27,2,44,59],
+          '2043040414:00:00','2043040502:45:00','2043092613:59:59','2043092702:44:59' ],
+        [ [2043,9,26,14,0,0],[2043,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2044,4,2,13,59,59],[2044,4,3,3,44,59],
+          '2043092614:00:00','2043092703:45:00','2044040213:59:59','2044040303:44:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,4,2,14,0,0],[2044,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2044,9,24,13,59,59],[2044,9,25,2,44,59],
+          '2044040214:00:00','2044040302:45:00','2044092413:59:59','2044092502:44:59' ],
+        [ [2044,9,24,14,0,0],[2044,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2045,4,1,13,59,59],[2045,4,2,3,44,59],
+          '2044092414:00:00','2044092503:45:00','2045040113:59:59','2045040203:44:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,4,1,14,0,0],[2045,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2045,9,23,13,59,59],[2045,9,24,2,44,59],
+          '2045040114:00:00','2045040202:45:00','2045092313:59:59','2045092402:44:59' ],
+        [ [2045,9,23,14,0,0],[2045,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2046,3,31,13,59,59],[2046,4,1,3,44,59],
+          '2045092314:00:00','2045092403:45:00','2046033113:59:59','2046040103:44:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,31,14,0,0],[2046,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2046,9,29,13,59,59],[2046,9,30,2,44,59],
+          '2046033114:00:00','2046040102:45:00','2046092913:59:59','2046093002:44:59' ],
+        [ [2046,9,29,14,0,0],[2046,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2047,4,6,13,59,59],[2047,4,7,3,44,59],
+          '2046092914:00:00','2046093003:45:00','2047040613:59:59','2047040703:44:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,4,6,14,0,0],[2047,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2047,9,28,13,59,59],[2047,9,29,2,44,59],
+          '2047040614:00:00','2047040702:45:00','2047092813:59:59','2047092902:44:59' ],
+        [ [2047,9,28,14,0,0],[2047,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2048,4,4,13,59,59],[2048,4,5,3,44,59],
+          '2047092814:00:00','2047092903:45:00','2048040413:59:59','2048040503:44:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,4,4,14,0,0],[2048,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2048,9,26,13,59,59],[2048,9,27,2,44,59],
+          '2048040414:00:00','2048040502:45:00','2048092613:59:59','2048092702:44:59' ],
+        [ [2048,9,26,14,0,0],[2048,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2049,4,3,13,59,59],[2049,4,4,3,44,59],
+          '2048092614:00:00','2048092703:45:00','2049040313:59:59','2049040403:44:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,4,3,14,0,0],[2049,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2049,9,25,13,59,59],[2049,9,26,2,44,59],
+          '2049040314:00:00','2049040402:45:00','2049092513:59:59','2049092602:44:59' ],
+        [ [2049,9,25,14,0,0],[2049,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2050,4,2,13,59,59],[2050,4,3,3,44,59],
+          '2049092514:00:00','2049092603:45:00','2050040213:59:59','2050040303:44:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,4,2,14,0,0],[2050,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2050,9,24,13,59,59],[2050,9,25,2,44,59],
+          '2050040214:00:00','2050040302:45:00','2050092413:59:59','2050092502:44:59' ],
+        [ [2050,9,24,14,0,0],[2050,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2051,4,1,13,59,59],[2051,4,2,3,44,59],
+          '2050092414:00:00','2050092503:45:00','2051040113:59:59','2051040203:44:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,4,1,14,0,0],[2051,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2051,9,23,13,59,59],[2051,9,24,2,44,59],
+          '2051040114:00:00','2051040202:45:00','2051092313:59:59','2051092402:44:59' ],
+        [ [2051,9,23,14,0,0],[2051,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2052,4,6,13,59,59],[2052,4,7,3,44,59],
+          '2051092314:00:00','2051092403:45:00','2052040613:59:59','2052040703:44:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,4,6,14,0,0],[2052,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2052,9,28,13,59,59],[2052,9,29,2,44,59],
+          '2052040614:00:00','2052040702:45:00','2052092813:59:59','2052092902:44:59' ],
+        [ [2052,9,28,14,0,0],[2052,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2053,4,5,13,59,59],[2053,4,6,3,44,59],
+          '2052092814:00:00','2052092903:45:00','2053040513:59:59','2053040603:44:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,4,5,14,0,0],[2053,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2053,9,27,13,59,59],[2053,9,28,2,44,59],
+          '2053040514:00:00','2053040602:45:00','2053092713:59:59','2053092802:44:59' ],
+        [ [2053,9,27,14,0,0],[2053,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2054,4,4,13,59,59],[2054,4,5,3,44,59],
+          '2053092714:00:00','2053092803:45:00','2054040413:59:59','2054040503:44:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,4,4,14,0,0],[2054,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2054,9,26,13,59,59],[2054,9,27,2,44,59],
+          '2054040414:00:00','2054040502:45:00','2054092613:59:59','2054092702:44:59' ],
+        [ [2054,9,26,14,0,0],[2054,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2055,4,3,13,59,59],[2055,4,4,3,44,59],
+          '2054092614:00:00','2054092703:45:00','2055040313:59:59','2055040403:44:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,4,3,14,0,0],[2055,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2055,9,25,13,59,59],[2055,9,26,2,44,59],
+          '2055040314:00:00','2055040402:45:00','2055092513:59:59','2055092602:44:59' ],
+        [ [2055,9,25,14,0,0],[2055,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2056,4,1,13,59,59],[2056,4,2,3,44,59],
+          '2055092514:00:00','2055092603:45:00','2056040113:59:59','2056040203:44:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,4,1,14,0,0],[2056,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2056,9,23,13,59,59],[2056,9,24,2,44,59],
+          '2056040114:00:00','2056040202:45:00','2056092313:59:59','2056092402:44:59' ],
+        [ [2056,9,23,14,0,0],[2056,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2057,3,31,13,59,59],[2057,4,1,3,44,59],
+          '2056092314:00:00','2056092403:45:00','2057033113:59:59','2057040103:44:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,31,14,0,0],[2057,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2057,9,29,13,59,59],[2057,9,30,2,44,59],
+          '2057033114:00:00','2057040102:45:00','2057092913:59:59','2057093002:44:59' ],
+        [ [2057,9,29,14,0,0],[2057,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2058,4,6,13,59,59],[2058,4,7,3,44,59],
+          '2057092914:00:00','2057093003:45:00','2058040613:59:59','2058040703:44:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,4,6,14,0,0],[2058,4,7,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2058,9,28,13,59,59],[2058,9,29,2,44,59],
+          '2058040614:00:00','2058040702:45:00','2058092813:59:59','2058092902:44:59' ],
+        [ [2058,9,28,14,0,0],[2058,9,29,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2059,4,5,13,59,59],[2059,4,6,3,44,59],
+          '2058092814:00:00','2058092903:45:00','2059040513:59:59','2059040603:44:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,4,5,14,0,0],[2059,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2059,9,27,13,59,59],[2059,9,28,2,44,59],
+          '2059040514:00:00','2059040602:45:00','2059092713:59:59','2059092802:44:59' ],
+        [ [2059,9,27,14,0,0],[2059,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2060,4,3,13,59,59],[2060,4,4,3,44,59],
+          '2059092714:00:00','2059092803:45:00','2060040313:59:59','2060040403:44:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,4,3,14,0,0],[2060,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2060,9,25,13,59,59],[2060,9,26,2,44,59],
+          '2060040314:00:00','2060040402:45:00','2060092513:59:59','2060092602:44:59' ],
+        [ [2060,9,25,14,0,0],[2060,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2061,4,2,13,59,59],[2061,4,3,3,44,59],
+          '2060092514:00:00','2060092603:45:00','2061040213:59:59','2061040303:44:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,4,2,14,0,0],[2061,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2061,9,24,13,59,59],[2061,9,25,2,44,59],
+          '2061040214:00:00','2061040302:45:00','2061092413:59:59','2061092502:44:59' ],
+        [ [2061,9,24,14,0,0],[2061,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2062,4,1,13,59,59],[2062,4,2,3,44,59],
+          '2061092414:00:00','2061092503:45:00','2062040113:59:59','2062040203:44:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,4,1,14,0,0],[2062,4,2,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2062,9,23,13,59,59],[2062,9,24,2,44,59],
+          '2062040114:00:00','2062040202:45:00','2062092313:59:59','2062092402:44:59' ],
+        [ [2062,9,23,14,0,0],[2062,9,24,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2063,3,31,13,59,59],[2063,4,1,3,44,59],
+          '2062092314:00:00','2062092403:45:00','2063033113:59:59','2063040103:44:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,31,14,0,0],[2063,4,1,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2063,9,29,13,59,59],[2063,9,30,2,44,59],
+          '2063033114:00:00','2063040102:45:00','2063092913:59:59','2063093002:44:59' ],
+        [ [2063,9,29,14,0,0],[2063,9,30,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2064,4,5,13,59,59],[2064,4,6,3,44,59],
+          '2063092914:00:00','2063093003:45:00','2064040513:59:59','2064040603:44:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,4,5,14,0,0],[2064,4,6,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2064,9,27,13,59,59],[2064,9,28,2,44,59],
+          '2064040514:00:00','2064040602:45:00','2064092713:59:59','2064092802:44:59' ],
+        [ [2064,9,27,14,0,0],[2064,9,28,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2065,4,4,13,59,59],[2065,4,5,3,44,59],
+          '2064092714:00:00','2064092803:45:00','2065040413:59:59','2065040503:44:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,4,4,14,0,0],[2065,4,5,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2065,9,26,13,59,59],[2065,9,27,2,44,59],
+          '2065040414:00:00','2065040502:45:00','2065092613:59:59','2065092702:44:59' ],
+        [ [2065,9,26,14,0,0],[2065,9,27,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2066,4,3,13,59,59],[2066,4,4,3,44,59],
+          '2065092614:00:00','2065092703:45:00','2066040313:59:59','2066040403:44:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,4,3,14,0,0],[2066,4,4,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2066,9,25,13,59,59],[2066,9,26,2,44,59],
+          '2066040314:00:00','2066040402:45:00','2066092513:59:59','2066092602:44:59' ],
+        [ [2066,9,25,14,0,0],[2066,9,26,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2067,4,2,13,59,59],[2067,4,3,3,44,59],
+          '2066092514:00:00','2066092603:45:00','2067040213:59:59','2067040303:44:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,4,2,14,0,0],[2067,4,3,2,45,0],'+12:45:00',[12,45,0],
+          '+1245',0,[2067,9,24,13,59,59],[2067,9,25,2,44,59],
+          '2067040214:00:00','2067040302:45:00','2067092413:59:59','2067092502:44:59' ],
+        [ [2067,9,24,14,0,0],[2067,9,25,3,45,0],'+13:45:00',[13,45,0],
+          '+1345',1,[2068,3,31,13,59,59],[2068,4,1,3,44,59],
+          '2067092414:00:00','2067092503:45:00','2068033113:59:59','2068040103:44:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+13:45:00',
+                'stdoff' => '+12:45:00',
+               },
+   'rules'  => {
+                '04' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 's',
+                         'time'    => '02:45:00',
+                         'isdst'   => '0',
+                         'abb'     => '+1245',
+                        },
+                '09' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 's',
+                         'time'    => '02:45:00',
+                         'isdst'   => '1',
+                         'abb'     => '+1345',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pachuu00.pm b/lib/Date/Manip/TZ/pachuu00.pm
new file mode 100644
index 0000000..7f1bbff
--- /dev/null
+++ b/lib/Date/Manip/TZ/pachuu00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pachuu00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,7,8],'+10:07:08',[10,7,8],
+          'LMT',0,[1900,12,31,13,52,51],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010210:07:08','1900123113:52:51','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,13,52,52],[1900,12,31,23,52,52],'+10:00:00',[10,0,0],
+          '+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '1900123113:52:52','1900123123:52:52','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paeast00.pm b/lib/Date/Manip/TZ/paeast00.pm
new file mode 100644
index 0000000..320b5eb
--- /dev/null
+++ b/lib/Date/Manip/TZ/paeast00.pm
@@ -0,0 +1,967 @@
+package #
+Date::Manip::TZ::paeast00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,16,42,32],'-07:17:28',[-7,-17,-28],
+          'LMT',0,[1890,1,1,7,17,27],[1889,12,31,23,59,59],
+          '0001010200:00:00','0001010116:42:32','1890010107:17:27','1889123123:59:59' ],
+     ],
+   1890 =>
+     [
+        [ [1890,1,1,7,17,28],[1890,1,1,0,0,0],'-07:17:28',[-7,-17,-28],
+          'EMT',0,[1932,9,1,7,17,27],[1932,8,31,23,59,59],
+          '1890010107:17:28','1890010100:00:00','1932090107:17:27','1932083123:59:59' ],
+     ],
+   1932 =>
+     [
+        [ [1932,9,1,7,17,28],[1932,9,1,0,17,28],'-07:00:00',[-7,0,0],
+          '-07',0,[1968,11,3,3,59,59],[1968,11,2,20,59,59],
+          '1932090107:17:28','1932090100:17:28','1968110303:59:59','1968110220:59:59' ],
+     ],
+   1968 =>
+     [
+        [ [1968,11,3,4,0,0],[1968,11,2,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1969,3,30,2,59,59],[1969,3,29,20,59,59],
+          '1968110304:00:00','1968110222:00:00','1969033002:59:59','1969032920:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,3,30,3,0,0],[1969,3,29,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1969,11,23,3,59,59],[1969,11,22,20,59,59],
+          '1969033003:00:00','1969032920:00:00','1969112303:59:59','1969112220:59:59' ],
+        [ [1969,11,23,4,0,0],[1969,11,22,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1970,3,29,2,59,59],[1970,3,28,20,59,59],
+          '1969112304:00:00','1969112222:00:00','1970032902:59:59','1970032820:59:59' ],
+     ],
+   1970 =>
+     [
+        [ [1970,3,29,3,0,0],[1970,3,28,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1970,10,11,3,59,59],[1970,10,10,20,59,59],
+          '1970032903:00:00','1970032820:00:00','1970101103:59:59','1970101020:59:59' ],
+        [ [1970,10,11,4,0,0],[1970,10,10,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1971,3,14,2,59,59],[1971,3,13,20,59,59],
+          '1970101104:00:00','1970101022:00:00','1971031402:59:59','1971031320:59:59' ],
+     ],
+   1971 =>
+     [
+        [ [1971,3,14,3,0,0],[1971,3,13,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1971,10,10,3,59,59],[1971,10,9,20,59,59],
+          '1971031403:00:00','1971031320:00:00','1971101003:59:59','1971100920:59:59' ],
+        [ [1971,10,10,4,0,0],[1971,10,9,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1972,3,12,2,59,59],[1972,3,11,20,59,59],
+          '1971101004:00:00','1971100922:00:00','1972031202:59:59','1972031120:59:59' ],
+     ],
+   1972 =>
+     [
+        [ [1972,3,12,3,0,0],[1972,3,11,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1972,10,15,3,59,59],[1972,10,14,20,59,59],
+          '1972031203:00:00','1972031120:00:00','1972101503:59:59','1972101420:59:59' ],
+        [ [1972,10,15,4,0,0],[1972,10,14,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1973,3,11,2,59,59],[1973,3,10,20,59,59],
+          '1972101504:00:00','1972101422:00:00','1973031102:59:59','1973031020:59:59' ],
+     ],
+   1973 =>
+     [
+        [ [1973,3,11,3,0,0],[1973,3,10,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1973,9,30,3,59,59],[1973,9,29,20,59,59],
+          '1973031103:00:00','1973031020:00:00','1973093003:59:59','1973092920:59:59' ],
+        [ [1973,9,30,4,0,0],[1973,9,29,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1974,3,10,2,59,59],[1974,3,9,20,59,59],
+          '1973093004:00:00','1973092922:00:00','1974031002:59:59','1974030920:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,3,10,3,0,0],[1974,3,9,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1974,10,13,3,59,59],[1974,10,12,20,59,59],
+          '1974031003:00:00','1974030920:00:00','1974101303:59:59','1974101220:59:59' ],
+        [ [1974,10,13,4,0,0],[1974,10,12,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1975,3,9,2,59,59],[1975,3,8,20,59,59],
+          '1974101304:00:00','1974101222:00:00','1975030902:59:59','1975030820:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,9,3,0,0],[1975,3,8,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1975,10,12,3,59,59],[1975,10,11,20,59,59],
+          '1975030903:00:00','1975030820:00:00','1975101203:59:59','1975101120:59:59' ],
+        [ [1975,10,12,4,0,0],[1975,10,11,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1976,3,14,2,59,59],[1976,3,13,20,59,59],
+          '1975101204:00:00','1975101122:00:00','1976031402:59:59','1976031320:59:59' ],
+     ],
+   1976 =>
+     [
+        [ [1976,3,14,3,0,0],[1976,3,13,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1976,10,10,3,59,59],[1976,10,9,20,59,59],
+          '1976031403:00:00','1976031320:00:00','1976101003:59:59','1976100920:59:59' ],
+        [ [1976,10,10,4,0,0],[1976,10,9,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1977,3,13,2,59,59],[1977,3,12,20,59,59],
+          '1976101004:00:00','1976100922:00:00','1977031302:59:59','1977031220:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,3,13,3,0,0],[1977,3,12,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1977,10,9,3,59,59],[1977,10,8,20,59,59],
+          '1977031303:00:00','1977031220:00:00','1977100903:59:59','1977100820:59:59' ],
+        [ [1977,10,9,4,0,0],[1977,10,8,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1978,3,12,2,59,59],[1978,3,11,20,59,59],
+          '1977100904:00:00','1977100822:00:00','1978031202:59:59','1978031120:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,3,12,3,0,0],[1978,3,11,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1978,10,15,3,59,59],[1978,10,14,20,59,59],
+          '1978031203:00:00','1978031120:00:00','1978101503:59:59','1978101420:59:59' ],
+        [ [1978,10,15,4,0,0],[1978,10,14,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1979,3,11,2,59,59],[1979,3,10,20,59,59],
+          '1978101504:00:00','1978101422:00:00','1979031102:59:59','1979031020:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,11,3,0,0],[1979,3,10,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1979,10,14,3,59,59],[1979,10,13,20,59,59],
+          '1979031103:00:00','1979031020:00:00','1979101403:59:59','1979101320:59:59' ],
+        [ [1979,10,14,4,0,0],[1979,10,13,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1980,3,9,2,59,59],[1980,3,8,20,59,59],
+          '1979101404:00:00','1979101322:00:00','1980030902:59:59','1980030820:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,9,3,0,0],[1980,3,8,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1980,10,12,3,59,59],[1980,10,11,20,59,59],
+          '1980030903:00:00','1980030820:00:00','1980101203:59:59','1980101120:59:59' ],
+        [ [1980,10,12,4,0,0],[1980,10,11,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1981,3,15,2,59,59],[1981,3,14,20,59,59],
+          '1980101204:00:00','1980101122:00:00','1981031502:59:59','1981031420:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,15,3,0,0],[1981,3,14,20,0,0],'-07:00:00',[-7,0,0],
+          '-07',0,[1981,10,11,3,59,59],[1981,10,10,20,59,59],
+          '1981031503:00:00','1981031420:00:00','1981101103:59:59','1981101020:59:59' ],
+        [ [1981,10,11,4,0,0],[1981,10,10,22,0,0],'-06:00:00',[-6,0,0],
+          '-06',1,[1982,3,14,2,59,59],[1982,3,13,20,59,59],
+          '1981101104:00:00','1981101022:00:00','1982031402:59:59','1982031320:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,14,3,0,0],[1982,3,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1982,10,10,3,59,59],[1982,10,9,21,59,59],
+          '1982031403:00:00','1982031321:00:00','1982101003:59:59','1982100921:59:59' ],
+        [ [1982,10,10,4,0,0],[1982,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1983,3,13,2,59,59],[1983,3,12,21,59,59],
+          '1982101004:00:00','1982100923:00:00','1983031302:59:59','1983031221:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,13,3,0,0],[1983,3,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1983,10,9,3,59,59],[1983,10,8,21,59,59],
+          '1983031303:00:00','1983031221:00:00','1983100903:59:59','1983100821:59:59' ],
+        [ [1983,10,9,4,0,0],[1983,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1984,3,11,2,59,59],[1984,3,10,21,59,59],
+          '1983100904:00:00','1983100823:00:00','1984031102:59:59','1984031021:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,11,3,0,0],[1984,3,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1984,10,14,3,59,59],[1984,10,13,21,59,59],
+          '1984031103:00:00','1984031021:00:00','1984101403:59:59','1984101321:59:59' ],
+        [ [1984,10,14,4,0,0],[1984,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1985,3,10,2,59,59],[1985,3,9,21,59,59],
+          '1984101404:00:00','1984101323:00:00','1985031002:59:59','1985030921:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,10,3,0,0],[1985,3,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1985,10,13,3,59,59],[1985,10,12,21,59,59],
+          '1985031003:00:00','1985030921:00:00','1985101303:59:59','1985101221:59:59' ],
+        [ [1985,10,13,4,0,0],[1985,10,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1986,3,9,2,59,59],[1986,3,8,21,59,59],
+          '1985101304:00:00','1985101223:00:00','1986030902:59:59','1986030821:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,9,3,0,0],[1986,3,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1986,10,12,3,59,59],[1986,10,11,21,59,59],
+          '1986030903:00:00','1986030821:00:00','1986101203:59:59','1986101121:59:59' ],
+        [ [1986,10,12,4,0,0],[1986,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1987,4,12,2,59,59],[1987,4,11,21,59,59],
+          '1986101204:00:00','1986101123:00:00','1987041202:59:59','1987041121:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,4,12,3,0,0],[1987,4,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1987,10,11,3,59,59],[1987,10,10,21,59,59],
+          '1987041203:00:00','1987041121:00:00','1987101103:59:59','1987101021:59:59' ],
+        [ [1987,10,11,4,0,0],[1987,10,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1988,3,13,2,59,59],[1988,3,12,21,59,59],
+          '1987101104:00:00','1987101023:00:00','1988031302:59:59','1988031221:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,13,3,0,0],[1988,3,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1988,10,9,3,59,59],[1988,10,8,21,59,59],
+          '1988031303:00:00','1988031221:00:00','1988100903:59:59','1988100821:59:59' ],
+        [ [1988,10,9,4,0,0],[1988,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1989,3,12,2,59,59],[1989,3,11,21,59,59],
+          '1988100904:00:00','1988100823:00:00','1989031202:59:59','1989031121:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,12,3,0,0],[1989,3,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1989,10,15,3,59,59],[1989,10,14,21,59,59],
+          '1989031203:00:00','1989031121:00:00','1989101503:59:59','1989101421:59:59' ],
+        [ [1989,10,15,4,0,0],[1989,10,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1990,3,11,2,59,59],[1990,3,10,21,59,59],
+          '1989101504:00:00','1989101423:00:00','1990031102:59:59','1990031021:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,11,3,0,0],[1990,3,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1990,9,16,3,59,59],[1990,9,15,21,59,59],
+          '1990031103:00:00','1990031021:00:00','1990091603:59:59','1990091521:59:59' ],
+        [ [1990,9,16,4,0,0],[1990,9,15,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1991,3,10,2,59,59],[1991,3,9,21,59,59],
+          '1990091604:00:00','1990091523:00:00','1991031002:59:59','1991030921:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,10,3,0,0],[1991,3,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1991,10,13,3,59,59],[1991,10,12,21,59,59],
+          '1991031003:00:00','1991030921:00:00','1991101303:59:59','1991101221:59:59' ],
+        [ [1991,10,13,4,0,0],[1991,10,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1992,3,15,2,59,59],[1992,3,14,21,59,59],
+          '1991101304:00:00','1991101223:00:00','1992031502:59:59','1992031421:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,15,3,0,0],[1992,3,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1992,10,11,3,59,59],[1992,10,10,21,59,59],
+          '1992031503:00:00','1992031421:00:00','1992101103:59:59','1992101021:59:59' ],
+        [ [1992,10,11,4,0,0],[1992,10,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1993,3,14,2,59,59],[1993,3,13,21,59,59],
+          '1992101104:00:00','1992101023:00:00','1993031402:59:59','1993031321:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,14,3,0,0],[1993,3,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1993,10,10,3,59,59],[1993,10,9,21,59,59],
+          '1993031403:00:00','1993031321:00:00','1993101003:59:59','1993100921:59:59' ],
+        [ [1993,10,10,4,0,0],[1993,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1994,3,13,2,59,59],[1994,3,12,21,59,59],
+          '1993101004:00:00','1993100923:00:00','1994031302:59:59','1994031221:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,13,3,0,0],[1994,3,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1994,10,9,3,59,59],[1994,10,8,21,59,59],
+          '1994031303:00:00','1994031221:00:00','1994100903:59:59','1994100821:59:59' ],
+        [ [1994,10,9,4,0,0],[1994,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1995,3,12,2,59,59],[1995,3,11,21,59,59],
+          '1994100904:00:00','1994100823:00:00','1995031202:59:59','1995031121:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,12,3,0,0],[1995,3,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1995,10,15,3,59,59],[1995,10,14,21,59,59],
+          '1995031203:00:00','1995031121:00:00','1995101503:59:59','1995101421:59:59' ],
+        [ [1995,10,15,4,0,0],[1995,10,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1996,3,10,2,59,59],[1996,3,9,21,59,59],
+          '1995101504:00:00','1995101423:00:00','1996031002:59:59','1996030921:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,10,3,0,0],[1996,3,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1996,10,13,3,59,59],[1996,10,12,21,59,59],
+          '1996031003:00:00','1996030921:00:00','1996101303:59:59','1996101221:59:59' ],
+        [ [1996,10,13,4,0,0],[1996,10,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1997,3,30,2,59,59],[1997,3,29,21,59,59],
+          '1996101304:00:00','1996101223:00:00','1997033002:59:59','1997032921:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,3,0,0],[1997,3,29,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1997,10,12,3,59,59],[1997,10,11,21,59,59],
+          '1997033003:00:00','1997032921:00:00','1997101203:59:59','1997101121:59:59' ],
+        [ [1997,10,12,4,0,0],[1997,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1998,3,15,2,59,59],[1998,3,14,21,59,59],
+          '1997101204:00:00','1997101123:00:00','1998031502:59:59','1998031421:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,15,3,0,0],[1998,3,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1998,9,27,3,59,59],[1998,9,26,21,59,59],
+          '1998031503:00:00','1998031421:00:00','1998092703:59:59','1998092621:59:59' ],
+        [ [1998,9,27,4,0,0],[1998,9,26,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1999,4,4,2,59,59],[1999,4,3,21,59,59],
+          '1998092704:00:00','1998092623:00:00','1999040402:59:59','1999040321:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,4,4,3,0,0],[1999,4,3,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1999,10,10,3,59,59],[1999,10,9,21,59,59],
+          '1999040403:00:00','1999040321:00:00','1999101003:59:59','1999100921:59:59' ],
+        [ [1999,10,10,4,0,0],[1999,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2000,3,12,2,59,59],[2000,3,11,21,59,59],
+          '1999101004:00:00','1999100923:00:00','2000031202:59:59','2000031121:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,12,3,0,0],[2000,3,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2000,10,15,3,59,59],[2000,10,14,21,59,59],
+          '2000031203:00:00','2000031121:00:00','2000101503:59:59','2000101421:59:59' ],
+        [ [2000,10,15,4,0,0],[2000,10,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2001,3,11,2,59,59],[2001,3,10,21,59,59],
+          '2000101504:00:00','2000101423:00:00','2001031102:59:59','2001031021:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,11,3,0,0],[2001,3,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2001,10,14,3,59,59],[2001,10,13,21,59,59],
+          '2001031103:00:00','2001031021:00:00','2001101403:59:59','2001101321:59:59' ],
+        [ [2001,10,14,4,0,0],[2001,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2002,3,10,2,59,59],[2002,3,9,21,59,59],
+          '2001101404:00:00','2001101323:00:00','2002031002:59:59','2002030921:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,10,3,0,0],[2002,3,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2002,10,13,3,59,59],[2002,10,12,21,59,59],
+          '2002031003:00:00','2002030921:00:00','2002101303:59:59','2002101221:59:59' ],
+        [ [2002,10,13,4,0,0],[2002,10,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2003,3,9,2,59,59],[2003,3,8,21,59,59],
+          '2002101304:00:00','2002101223:00:00','2003030902:59:59','2003030821:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,9,3,0,0],[2003,3,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2003,10,12,3,59,59],[2003,10,11,21,59,59],
+          '2003030903:00:00','2003030821:00:00','2003101203:59:59','2003101121:59:59' ],
+        [ [2003,10,12,4,0,0],[2003,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2004,3,14,2,59,59],[2004,3,13,21,59,59],
+          '2003101204:00:00','2003101123:00:00','2004031402:59:59','2004031321:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,14,3,0,0],[2004,3,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2004,10,10,3,59,59],[2004,10,9,21,59,59],
+          '2004031403:00:00','2004031321:00:00','2004101003:59:59','2004100921:59:59' ],
+        [ [2004,10,10,4,0,0],[2004,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2005,3,13,2,59,59],[2005,3,12,21,59,59],
+          '2004101004:00:00','2004100923:00:00','2005031302:59:59','2005031221:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,13,3,0,0],[2005,3,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2005,10,9,3,59,59],[2005,10,8,21,59,59],
+          '2005031303:00:00','2005031221:00:00','2005100903:59:59','2005100821:59:59' ],
+        [ [2005,10,9,4,0,0],[2005,10,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2006,3,12,2,59,59],[2006,3,11,21,59,59],
+          '2005100904:00:00','2005100823:00:00','2006031202:59:59','2006031121:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,12,3,0,0],[2006,3,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2006,10,15,3,59,59],[2006,10,14,21,59,59],
+          '2006031203:00:00','2006031121:00:00','2006101503:59:59','2006101421:59:59' ],
+        [ [2006,10,15,4,0,0],[2006,10,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2007,3,11,2,59,59],[2007,3,10,21,59,59],
+          '2006101504:00:00','2006101423:00:00','2007031102:59:59','2007031021:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,11,3,0,0],[2007,3,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2007,10,14,3,59,59],[2007,10,13,21,59,59],
+          '2007031103:00:00','2007031021:00:00','2007101403:59:59','2007101321:59:59' ],
+        [ [2007,10,14,4,0,0],[2007,10,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2008,3,30,2,59,59],[2008,3,29,21,59,59],
+          '2007101404:00:00','2007101323:00:00','2008033002:59:59','2008032921:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,3,0,0],[2008,3,29,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2008,10,12,3,59,59],[2008,10,11,21,59,59],
+          '2008033003:00:00','2008032921:00:00','2008101203:59:59','2008101121:59:59' ],
+        [ [2008,10,12,4,0,0],[2008,10,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2009,3,15,2,59,59],[2009,3,14,21,59,59],
+          '2008101204:00:00','2008101123:00:00','2009031502:59:59','2009031421:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,15,3,0,0],[2009,3,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2009,10,11,3,59,59],[2009,10,10,21,59,59],
+          '2009031503:00:00','2009031421:00:00','2009101103:59:59','2009101021:59:59' ],
+        [ [2009,10,11,4,0,0],[2009,10,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2010,4,4,2,59,59],[2010,4,3,21,59,59],
+          '2009101104:00:00','2009101023:00:00','2010040402:59:59','2010040321:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,4,4,3,0,0],[2010,4,3,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2010,10,10,3,59,59],[2010,10,9,21,59,59],
+          '2010040403:00:00','2010040321:00:00','2010101003:59:59','2010100921:59:59' ],
+        [ [2010,10,10,4,0,0],[2010,10,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2011,5,8,2,59,59],[2011,5,7,21,59,59],
+          '2010101004:00:00','2010100923:00:00','2011050802:59:59','2011050721:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,5,8,3,0,0],[2011,5,7,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2011,8,21,3,59,59],[2011,8,20,21,59,59],
+          '2011050803:00:00','2011050721:00:00','2011082103:59:59','2011082021:59:59' ],
+        [ [2011,8,21,4,0,0],[2011,8,20,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2012,4,29,2,59,59],[2012,4,28,21,59,59],
+          '2011082104:00:00','2011082023:00:00','2012042902:59:59','2012042821:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,4,29,3,0,0],[2012,4,28,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2012,9,2,3,59,59],[2012,9,1,21,59,59],
+          '2012042903:00:00','2012042821:00:00','2012090203:59:59','2012090121:59:59' ],
+        [ [2012,9,2,4,0,0],[2012,9,1,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2013,4,28,2,59,59],[2013,4,27,21,59,59],
+          '2012090204:00:00','2012090123:00:00','2013042802:59:59','2013042721:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,4,28,3,0,0],[2013,4,27,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2013,9,8,3,59,59],[2013,9,7,21,59,59],
+          '2013042803:00:00','2013042721:00:00','2013090803:59:59','2013090721:59:59' ],
+        [ [2013,9,8,4,0,0],[2013,9,7,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2014,4,27,2,59,59],[2014,4,26,21,59,59],
+          '2013090804:00:00','2013090723:00:00','2014042702:59:59','2014042621:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,4,27,3,0,0],[2014,4,26,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2014,9,7,3,59,59],[2014,9,6,21,59,59],
+          '2014042703:00:00','2014042621:00:00','2014090703:59:59','2014090621:59:59' ],
+        [ [2014,9,7,4,0,0],[2014,9,6,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2016,5,15,2,59,59],[2016,5,14,21,59,59],
+          '2014090704:00:00','2014090623:00:00','2016051502:59:59','2016051421:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,5,15,3,0,0],[2016,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2016,8,14,3,59,59],[2016,8,13,21,59,59],
+          '2016051503:00:00','2016051421:00:00','2016081403:59:59','2016081321:59:59' ],
+        [ [2016,8,14,4,0,0],[2016,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2017,5,14,2,59,59],[2017,5,13,21,59,59],
+          '2016081404:00:00','2016081323:00:00','2017051402:59:59','2017051321:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,5,14,3,0,0],[2017,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2017,8,13,3,59,59],[2017,8,12,21,59,59],
+          '2017051403:00:00','2017051321:00:00','2017081303:59:59','2017081221:59:59' ],
+        [ [2017,8,13,4,0,0],[2017,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2018,5,13,2,59,59],[2018,5,12,21,59,59],
+          '2017081304:00:00','2017081223:00:00','2018051302:59:59','2018051221:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,5,13,3,0,0],[2018,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2018,8,12,3,59,59],[2018,8,11,21,59,59],
+          '2018051303:00:00','2018051221:00:00','2018081203:59:59','2018081121:59:59' ],
+        [ [2018,8,12,4,0,0],[2018,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2019,5,12,2,59,59],[2019,5,11,21,59,59],
+          '2018081204:00:00','2018081123:00:00','2019051202:59:59','2019051121:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,5,12,3,0,0],[2019,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2019,8,11,3,59,59],[2019,8,10,21,59,59],
+          '2019051203:00:00','2019051121:00:00','2019081103:59:59','2019081021:59:59' ],
+        [ [2019,8,11,4,0,0],[2019,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2020,5,10,2,59,59],[2020,5,9,21,59,59],
+          '2019081104:00:00','2019081023:00:00','2020051002:59:59','2020050921:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,5,10,3,0,0],[2020,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2020,8,9,3,59,59],[2020,8,8,21,59,59],
+          '2020051003:00:00','2020050921:00:00','2020080903:59:59','2020080821:59:59' ],
+        [ [2020,8,9,4,0,0],[2020,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2021,5,9,2,59,59],[2021,5,8,21,59,59],
+          '2020080904:00:00','2020080823:00:00','2021050902:59:59','2021050821:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,5,9,3,0,0],[2021,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2021,8,15,3,59,59],[2021,8,14,21,59,59],
+          '2021050903:00:00','2021050821:00:00','2021081503:59:59','2021081421:59:59' ],
+        [ [2021,8,15,4,0,0],[2021,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2022,5,15,2,59,59],[2022,5,14,21,59,59],
+          '2021081504:00:00','2021081423:00:00','2022051502:59:59','2022051421:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,5,15,3,0,0],[2022,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2022,8,14,3,59,59],[2022,8,13,21,59,59],
+          '2022051503:00:00','2022051421:00:00','2022081403:59:59','2022081321:59:59' ],
+        [ [2022,8,14,4,0,0],[2022,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2023,5,14,2,59,59],[2023,5,13,21,59,59],
+          '2022081404:00:00','2022081323:00:00','2023051402:59:59','2023051321:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,5,14,3,0,0],[2023,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2023,8,13,3,59,59],[2023,8,12,21,59,59],
+          '2023051403:00:00','2023051321:00:00','2023081303:59:59','2023081221:59:59' ],
+        [ [2023,8,13,4,0,0],[2023,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2024,5,12,2,59,59],[2024,5,11,21,59,59],
+          '2023081304:00:00','2023081223:00:00','2024051202:59:59','2024051121:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,5,12,3,0,0],[2024,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2024,8,11,3,59,59],[2024,8,10,21,59,59],
+          '2024051203:00:00','2024051121:00:00','2024081103:59:59','2024081021:59:59' ],
+        [ [2024,8,11,4,0,0],[2024,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2025,5,11,2,59,59],[2025,5,10,21,59,59],
+          '2024081104:00:00','2024081023:00:00','2025051102:59:59','2025051021:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,5,11,3,0,0],[2025,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2025,8,10,3,59,59],[2025,8,9,21,59,59],
+          '2025051103:00:00','2025051021:00:00','2025081003:59:59','2025080921:59:59' ],
+        [ [2025,8,10,4,0,0],[2025,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2026,5,10,2,59,59],[2026,5,9,21,59,59],
+          '2025081004:00:00','2025080923:00:00','2026051002:59:59','2026050921:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,5,10,3,0,0],[2026,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2026,8,9,3,59,59],[2026,8,8,21,59,59],
+          '2026051003:00:00','2026050921:00:00','2026080903:59:59','2026080821:59:59' ],
+        [ [2026,8,9,4,0,0],[2026,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2027,5,9,2,59,59],[2027,5,8,21,59,59],
+          '2026080904:00:00','2026080823:00:00','2027050902:59:59','2027050821:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,5,9,3,0,0],[2027,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2027,8,15,3,59,59],[2027,8,14,21,59,59],
+          '2027050903:00:00','2027050821:00:00','2027081503:59:59','2027081421:59:59' ],
+        [ [2027,8,15,4,0,0],[2027,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2028,5,14,2,59,59],[2028,5,13,21,59,59],
+          '2027081504:00:00','2027081423:00:00','2028051402:59:59','2028051321:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,5,14,3,0,0],[2028,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2028,8,13,3,59,59],[2028,8,12,21,59,59],
+          '2028051403:00:00','2028051321:00:00','2028081303:59:59','2028081221:59:59' ],
+        [ [2028,8,13,4,0,0],[2028,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2029,5,13,2,59,59],[2029,5,12,21,59,59],
+          '2028081304:00:00','2028081223:00:00','2029051302:59:59','2029051221:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,5,13,3,0,0],[2029,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2029,8,12,3,59,59],[2029,8,11,21,59,59],
+          '2029051303:00:00','2029051221:00:00','2029081203:59:59','2029081121:59:59' ],
+        [ [2029,8,12,4,0,0],[2029,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2030,5,12,2,59,59],[2030,5,11,21,59,59],
+          '2029081204:00:00','2029081123:00:00','2030051202:59:59','2030051121:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,5,12,3,0,0],[2030,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2030,8,11,3,59,59],[2030,8,10,21,59,59],
+          '2030051203:00:00','2030051121:00:00','2030081103:59:59','2030081021:59:59' ],
+        [ [2030,8,11,4,0,0],[2030,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2031,5,11,2,59,59],[2031,5,10,21,59,59],
+          '2030081104:00:00','2030081023:00:00','2031051102:59:59','2031051021:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,5,11,3,0,0],[2031,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2031,8,10,3,59,59],[2031,8,9,21,59,59],
+          '2031051103:00:00','2031051021:00:00','2031081003:59:59','2031080921:59:59' ],
+        [ [2031,8,10,4,0,0],[2031,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2032,5,9,2,59,59],[2032,5,8,21,59,59],
+          '2031081004:00:00','2031080923:00:00','2032050902:59:59','2032050821:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,5,9,3,0,0],[2032,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2032,8,15,3,59,59],[2032,8,14,21,59,59],
+          '2032050903:00:00','2032050821:00:00','2032081503:59:59','2032081421:59:59' ],
+        [ [2032,8,15,4,0,0],[2032,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2033,5,15,2,59,59],[2033,5,14,21,59,59],
+          '2032081504:00:00','2032081423:00:00','2033051502:59:59','2033051421:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,5,15,3,0,0],[2033,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2033,8,14,3,59,59],[2033,8,13,21,59,59],
+          '2033051503:00:00','2033051421:00:00','2033081403:59:59','2033081321:59:59' ],
+        [ [2033,8,14,4,0,0],[2033,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2034,5,14,2,59,59],[2034,5,13,21,59,59],
+          '2033081404:00:00','2033081323:00:00','2034051402:59:59','2034051321:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,5,14,3,0,0],[2034,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2034,8,13,3,59,59],[2034,8,12,21,59,59],
+          '2034051403:00:00','2034051321:00:00','2034081303:59:59','2034081221:59:59' ],
+        [ [2034,8,13,4,0,0],[2034,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2035,5,13,2,59,59],[2035,5,12,21,59,59],
+          '2034081304:00:00','2034081223:00:00','2035051302:59:59','2035051221:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,5,13,3,0,0],[2035,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2035,8,12,3,59,59],[2035,8,11,21,59,59],
+          '2035051303:00:00','2035051221:00:00','2035081203:59:59','2035081121:59:59' ],
+        [ [2035,8,12,4,0,0],[2035,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2036,5,11,2,59,59],[2036,5,10,21,59,59],
+          '2035081204:00:00','2035081123:00:00','2036051102:59:59','2036051021:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,5,11,3,0,0],[2036,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2036,8,10,3,59,59],[2036,8,9,21,59,59],
+          '2036051103:00:00','2036051021:00:00','2036081003:59:59','2036080921:59:59' ],
+        [ [2036,8,10,4,0,0],[2036,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2037,5,10,2,59,59],[2037,5,9,21,59,59],
+          '2036081004:00:00','2036080923:00:00','2037051002:59:59','2037050921:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,5,10,3,0,0],[2037,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2037,8,9,3,59,59],[2037,8,8,21,59,59],
+          '2037051003:00:00','2037050921:00:00','2037080903:59:59','2037080821:59:59' ],
+        [ [2037,8,9,4,0,0],[2037,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2038,5,9,2,59,59],[2038,5,8,21,59,59],
+          '2037080904:00:00','2037080823:00:00','2038050902:59:59','2038050821:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,5,9,3,0,0],[2038,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2038,8,15,3,59,59],[2038,8,14,21,59,59],
+          '2038050903:00:00','2038050821:00:00','2038081503:59:59','2038081421:59:59' ],
+        [ [2038,8,15,4,0,0],[2038,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2039,5,15,2,59,59],[2039,5,14,21,59,59],
+          '2038081504:00:00','2038081423:00:00','2039051502:59:59','2039051421:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,5,15,3,0,0],[2039,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2039,8,14,3,59,59],[2039,8,13,21,59,59],
+          '2039051503:00:00','2039051421:00:00','2039081403:59:59','2039081321:59:59' ],
+        [ [2039,8,14,4,0,0],[2039,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2040,5,13,2,59,59],[2040,5,12,21,59,59],
+          '2039081404:00:00','2039081323:00:00','2040051302:59:59','2040051221:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,5,13,3,0,0],[2040,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2040,8,12,3,59,59],[2040,8,11,21,59,59],
+          '2040051303:00:00','2040051221:00:00','2040081203:59:59','2040081121:59:59' ],
+        [ [2040,8,12,4,0,0],[2040,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2041,5,12,2,59,59],[2041,5,11,21,59,59],
+          '2040081204:00:00','2040081123:00:00','2041051202:59:59','2041051121:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,5,12,3,0,0],[2041,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2041,8,11,3,59,59],[2041,8,10,21,59,59],
+          '2041051203:00:00','2041051121:00:00','2041081103:59:59','2041081021:59:59' ],
+        [ [2041,8,11,4,0,0],[2041,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2042,5,11,2,59,59],[2042,5,10,21,59,59],
+          '2041081104:00:00','2041081023:00:00','2042051102:59:59','2042051021:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,5,11,3,0,0],[2042,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2042,8,10,3,59,59],[2042,8,9,21,59,59],
+          '2042051103:00:00','2042051021:00:00','2042081003:59:59','2042080921:59:59' ],
+        [ [2042,8,10,4,0,0],[2042,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2043,5,10,2,59,59],[2043,5,9,21,59,59],
+          '2042081004:00:00','2042080923:00:00','2043051002:59:59','2043050921:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,5,10,3,0,0],[2043,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2043,8,9,3,59,59],[2043,8,8,21,59,59],
+          '2043051003:00:00','2043050921:00:00','2043080903:59:59','2043080821:59:59' ],
+        [ [2043,8,9,4,0,0],[2043,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2044,5,15,2,59,59],[2044,5,14,21,59,59],
+          '2043080904:00:00','2043080823:00:00','2044051502:59:59','2044051421:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,5,15,3,0,0],[2044,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2044,8,14,3,59,59],[2044,8,13,21,59,59],
+          '2044051503:00:00','2044051421:00:00','2044081403:59:59','2044081321:59:59' ],
+        [ [2044,8,14,4,0,0],[2044,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2045,5,14,2,59,59],[2045,5,13,21,59,59],
+          '2044081404:00:00','2044081323:00:00','2045051402:59:59','2045051321:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,5,14,3,0,0],[2045,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2045,8,13,3,59,59],[2045,8,12,21,59,59],
+          '2045051403:00:00','2045051321:00:00','2045081303:59:59','2045081221:59:59' ],
+        [ [2045,8,13,4,0,0],[2045,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2046,5,13,2,59,59],[2046,5,12,21,59,59],
+          '2045081304:00:00','2045081223:00:00','2046051302:59:59','2046051221:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,5,13,3,0,0],[2046,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2046,8,12,3,59,59],[2046,8,11,21,59,59],
+          '2046051303:00:00','2046051221:00:00','2046081203:59:59','2046081121:59:59' ],
+        [ [2046,8,12,4,0,0],[2046,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2047,5,12,2,59,59],[2047,5,11,21,59,59],
+          '2046081204:00:00','2046081123:00:00','2047051202:59:59','2047051121:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,5,12,3,0,0],[2047,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2047,8,11,3,59,59],[2047,8,10,21,59,59],
+          '2047051203:00:00','2047051121:00:00','2047081103:59:59','2047081021:59:59' ],
+        [ [2047,8,11,4,0,0],[2047,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2048,5,10,2,59,59],[2048,5,9,21,59,59],
+          '2047081104:00:00','2047081023:00:00','2048051002:59:59','2048050921:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,5,10,3,0,0],[2048,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2048,8,9,3,59,59],[2048,8,8,21,59,59],
+          '2048051003:00:00','2048050921:00:00','2048080903:59:59','2048080821:59:59' ],
+        [ [2048,8,9,4,0,0],[2048,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2049,5,9,2,59,59],[2049,5,8,21,59,59],
+          '2048080904:00:00','2048080823:00:00','2049050902:59:59','2049050821:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,5,9,3,0,0],[2049,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2049,8,15,3,59,59],[2049,8,14,21,59,59],
+          '2049050903:00:00','2049050821:00:00','2049081503:59:59','2049081421:59:59' ],
+        [ [2049,8,15,4,0,0],[2049,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2050,5,15,2,59,59],[2050,5,14,21,59,59],
+          '2049081504:00:00','2049081423:00:00','2050051502:59:59','2050051421:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,5,15,3,0,0],[2050,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2050,8,14,3,59,59],[2050,8,13,21,59,59],
+          '2050051503:00:00','2050051421:00:00','2050081403:59:59','2050081321:59:59' ],
+        [ [2050,8,14,4,0,0],[2050,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2051,5,14,2,59,59],[2051,5,13,21,59,59],
+          '2050081404:00:00','2050081323:00:00','2051051402:59:59','2051051321:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,5,14,3,0,0],[2051,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2051,8,13,3,59,59],[2051,8,12,21,59,59],
+          '2051051403:00:00','2051051321:00:00','2051081303:59:59','2051081221:59:59' ],
+        [ [2051,8,13,4,0,0],[2051,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2052,5,12,2,59,59],[2052,5,11,21,59,59],
+          '2051081304:00:00','2051081223:00:00','2052051202:59:59','2052051121:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,5,12,3,0,0],[2052,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2052,8,11,3,59,59],[2052,8,10,21,59,59],
+          '2052051203:00:00','2052051121:00:00','2052081103:59:59','2052081021:59:59' ],
+        [ [2052,8,11,4,0,0],[2052,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2053,5,11,2,59,59],[2053,5,10,21,59,59],
+          '2052081104:00:00','2052081023:00:00','2053051102:59:59','2053051021:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,5,11,3,0,0],[2053,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2053,8,10,3,59,59],[2053,8,9,21,59,59],
+          '2053051103:00:00','2053051021:00:00','2053081003:59:59','2053080921:59:59' ],
+        [ [2053,8,10,4,0,0],[2053,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2054,5,10,2,59,59],[2054,5,9,21,59,59],
+          '2053081004:00:00','2053080923:00:00','2054051002:59:59','2054050921:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,5,10,3,0,0],[2054,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2054,8,9,3,59,59],[2054,8,8,21,59,59],
+          '2054051003:00:00','2054050921:00:00','2054080903:59:59','2054080821:59:59' ],
+        [ [2054,8,9,4,0,0],[2054,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2055,5,9,2,59,59],[2055,5,8,21,59,59],
+          '2054080904:00:00','2054080823:00:00','2055050902:59:59','2055050821:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,5,9,3,0,0],[2055,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2055,8,15,3,59,59],[2055,8,14,21,59,59],
+          '2055050903:00:00','2055050821:00:00','2055081503:59:59','2055081421:59:59' ],
+        [ [2055,8,15,4,0,0],[2055,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2056,5,14,2,59,59],[2056,5,13,21,59,59],
+          '2055081504:00:00','2055081423:00:00','2056051402:59:59','2056051321:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,5,14,3,0,0],[2056,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2056,8,13,3,59,59],[2056,8,12,21,59,59],
+          '2056051403:00:00','2056051321:00:00','2056081303:59:59','2056081221:59:59' ],
+        [ [2056,8,13,4,0,0],[2056,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2057,5,13,2,59,59],[2057,5,12,21,59,59],
+          '2056081304:00:00','2056081223:00:00','2057051302:59:59','2057051221:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,5,13,3,0,0],[2057,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2057,8,12,3,59,59],[2057,8,11,21,59,59],
+          '2057051303:00:00','2057051221:00:00','2057081203:59:59','2057081121:59:59' ],
+        [ [2057,8,12,4,0,0],[2057,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2058,5,12,2,59,59],[2058,5,11,21,59,59],
+          '2057081204:00:00','2057081123:00:00','2058051202:59:59','2058051121:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,5,12,3,0,0],[2058,5,11,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2058,8,11,3,59,59],[2058,8,10,21,59,59],
+          '2058051203:00:00','2058051121:00:00','2058081103:59:59','2058081021:59:59' ],
+        [ [2058,8,11,4,0,0],[2058,8,10,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2059,5,11,2,59,59],[2059,5,10,21,59,59],
+          '2058081104:00:00','2058081023:00:00','2059051102:59:59','2059051021:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,5,11,3,0,0],[2059,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2059,8,10,3,59,59],[2059,8,9,21,59,59],
+          '2059051103:00:00','2059051021:00:00','2059081003:59:59','2059080921:59:59' ],
+        [ [2059,8,10,4,0,0],[2059,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2060,5,9,2,59,59],[2060,5,8,21,59,59],
+          '2059081004:00:00','2059080923:00:00','2060050902:59:59','2060050821:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,5,9,3,0,0],[2060,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2060,8,15,3,59,59],[2060,8,14,21,59,59],
+          '2060050903:00:00','2060050821:00:00','2060081503:59:59','2060081421:59:59' ],
+        [ [2060,8,15,4,0,0],[2060,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2061,5,15,2,59,59],[2061,5,14,21,59,59],
+          '2060081504:00:00','2060081423:00:00','2061051502:59:59','2061051421:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,5,15,3,0,0],[2061,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2061,8,14,3,59,59],[2061,8,13,21,59,59],
+          '2061051503:00:00','2061051421:00:00','2061081403:59:59','2061081321:59:59' ],
+        [ [2061,8,14,4,0,0],[2061,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2062,5,14,2,59,59],[2062,5,13,21,59,59],
+          '2061081404:00:00','2061081323:00:00','2062051402:59:59','2062051321:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,5,14,3,0,0],[2062,5,13,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2062,8,13,3,59,59],[2062,8,12,21,59,59],
+          '2062051403:00:00','2062051321:00:00','2062081303:59:59','2062081221:59:59' ],
+        [ [2062,8,13,4,0,0],[2062,8,12,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2063,5,13,2,59,59],[2063,5,12,21,59,59],
+          '2062081304:00:00','2062081223:00:00','2063051302:59:59','2063051221:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,5,13,3,0,0],[2063,5,12,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2063,8,12,3,59,59],[2063,8,11,21,59,59],
+          '2063051303:00:00','2063051221:00:00','2063081203:59:59','2063081121:59:59' ],
+        [ [2063,8,12,4,0,0],[2063,8,11,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2064,5,11,2,59,59],[2064,5,10,21,59,59],
+          '2063081204:00:00','2063081123:00:00','2064051102:59:59','2064051021:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,5,11,3,0,0],[2064,5,10,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2064,8,10,3,59,59],[2064,8,9,21,59,59],
+          '2064051103:00:00','2064051021:00:00','2064081003:59:59','2064080921:59:59' ],
+        [ [2064,8,10,4,0,0],[2064,8,9,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2065,5,10,2,59,59],[2065,5,9,21,59,59],
+          '2064081004:00:00','2064080923:00:00','2065051002:59:59','2065050921:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,5,10,3,0,0],[2065,5,9,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2065,8,9,3,59,59],[2065,8,8,21,59,59],
+          '2065051003:00:00','2065050921:00:00','2065080903:59:59','2065080821:59:59' ],
+        [ [2065,8,9,4,0,0],[2065,8,8,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2066,5,9,2,59,59],[2066,5,8,21,59,59],
+          '2065080904:00:00','2065080823:00:00','2066050902:59:59','2066050821:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,5,9,3,0,0],[2066,5,8,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2066,8,15,3,59,59],[2066,8,14,21,59,59],
+          '2066050903:00:00','2066050821:00:00','2066081503:59:59','2066081421:59:59' ],
+        [ [2066,8,15,4,0,0],[2066,8,14,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2067,5,15,2,59,59],[2067,5,14,21,59,59],
+          '2066081504:00:00','2066081423:00:00','2067051502:59:59','2067051421:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,5,15,3,0,0],[2067,5,14,21,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[2067,8,14,3,59,59],[2067,8,13,21,59,59],
+          '2067051503:00:00','2067051421:00:00','2067081403:59:59','2067081321:59:59' ],
+        [ [2067,8,14,4,0,0],[2067,8,13,23,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[2068,5,13,2,59,59],[2068,5,12,21,59,59],
+          '2067081404:00:00','2067081323:00:00','2068051302:59:59','2068051221:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '-05:00:00',
+                'stdoff' => '-06:00:00',
+               },
+   'rules'  => {
+                '05' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '9',
+                         'type'    => 'u',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '-06',
+                        },
+                '08' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '9',
+                         'type'    => 'u',
+                         'time'    => '04:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '-05',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paefat00.pm b/lib/Date/Manip/TZ/paefat00.pm
new file mode 100644
index 0000000..8fd4969
--- /dev/null
+++ b/lib/Date/Manip/TZ/paefat00.pm
@@ -0,0 +1,142 @@
+package #
+Date::Manip::TZ::paefat00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,13,16],'+11:13:16',[11,13,16],
+          'LMT',0,[1912,1,12,12,46,43],[1912,1,12,23,59,59],
+          '0001010200:00:00','0001010211:13:16','1912011212:46:43','1912011223:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,12,12,46,44],[1912,1,12,23,46,44],'+11:00:00',[11,0,0],
+          '+11',0,[1983,9,24,12,59,59],[1983,9,24,23,59,59],
+          '1912011212:46:44','1912011223:46:44','1983092412:59:59','1983092423:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,9,24,13,0,0],[1983,9,25,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1984,3,24,11,59,59],[1984,3,24,23,59,59],
+          '1983092413:00:00','1983092501:00:00','1984032411:59:59','1984032423:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,24,12,0,0],[1984,3,24,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1984,10,22,12,59,59],[1984,10,22,23,59,59],
+          '1984032412:00:00','1984032423:00:00','1984102212:59:59','1984102223:59:59' ],
+        [ [1984,10,22,13,0,0],[1984,10,23,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1985,3,23,11,59,59],[1985,3,23,23,59,59],
+          '1984102213:00:00','1984102301:00:00','1985032311:59:59','1985032323:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,23,12,0,0],[1985,3,23,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1985,9,28,12,59,59],[1985,9,28,23,59,59],
+          '1985032312:00:00','1985032323:00:00','1985092812:59:59','1985092823:59:59' ],
+        [ [1985,9,28,13,0,0],[1985,9,29,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1986,3,22,11,59,59],[1986,3,22,23,59,59],
+          '1985092813:00:00','1985092901:00:00','1986032211:59:59','1986032223:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,22,12,0,0],[1986,3,22,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1986,9,27,12,59,59],[1986,9,27,23,59,59],
+          '1986032212:00:00','1986032223:00:00','1986092712:59:59','1986092723:59:59' ],
+        [ [1986,9,27,13,0,0],[1986,9,28,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1987,3,28,11,59,59],[1987,3,28,23,59,59],
+          '1986092713:00:00','1986092801:00:00','1987032811:59:59','1987032823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,28,12,0,0],[1987,3,28,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1987,9,26,12,59,59],[1987,9,26,23,59,59],
+          '1987032812:00:00','1987032823:00:00','1987092612:59:59','1987092623:59:59' ],
+        [ [1987,9,26,13,0,0],[1987,9,27,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1988,3,26,11,59,59],[1988,3,26,23,59,59],
+          '1987092613:00:00','1987092701:00:00','1988032611:59:59','1988032623:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,26,12,0,0],[1988,3,26,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1988,9,24,12,59,59],[1988,9,24,23,59,59],
+          '1988032612:00:00','1988032623:00:00','1988092412:59:59','1988092423:59:59' ],
+        [ [1988,9,24,13,0,0],[1988,9,25,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1989,3,25,11,59,59],[1989,3,25,23,59,59],
+          '1988092413:00:00','1988092501:00:00','1989032511:59:59','1989032523:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,25,12,0,0],[1989,3,25,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1989,9,23,12,59,59],[1989,9,23,23,59,59],
+          '1989032512:00:00','1989032523:00:00','1989092312:59:59','1989092323:59:59' ],
+        [ [1989,9,23,13,0,0],[1989,9,24,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1990,3,24,11,59,59],[1990,3,24,23,59,59],
+          '1989092313:00:00','1989092401:00:00','1990032411:59:59','1990032423:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,24,12,0,0],[1990,3,24,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1990,9,22,12,59,59],[1990,9,22,23,59,59],
+          '1990032412:00:00','1990032423:00:00','1990092212:59:59','1990092223:59:59' ],
+        [ [1990,9,22,13,0,0],[1990,9,23,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1991,3,23,11,59,59],[1991,3,23,23,59,59],
+          '1990092213:00:00','1990092301:00:00','1991032311:59:59','1991032323:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,23,12,0,0],[1991,3,23,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1991,9,28,12,59,59],[1991,9,28,23,59,59],
+          '1991032312:00:00','1991032323:00:00','1991092812:59:59','1991092823:59:59' ],
+        [ [1991,9,28,13,0,0],[1991,9,29,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1992,1,25,11,59,59],[1992,1,25,23,59,59],
+          '1991092813:00:00','1991092901:00:00','1992012511:59:59','1992012523:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,1,25,12,0,0],[1992,1,25,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1992,10,24,12,59,59],[1992,10,24,23,59,59],
+          '1992012512:00:00','1992012523:00:00','1992102412:59:59','1992102423:59:59' ],
+        [ [1992,10,24,13,0,0],[1992,10,25,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1993,1,23,11,59,59],[1993,1,23,23,59,59],
+          '1992102413:00:00','1992102501:00:00','1993012311:59:59','1993012323:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,1,23,12,0,0],[1993,1,23,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '1993012312:00:00','1993012323:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paende00.pm b/lib/Date/Manip/TZ/paende00.pm
new file mode 100644
index 0000000..a066815
--- /dev/null
+++ b/lib/Date/Manip/TZ/paende00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::paende00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,12,35,40],'-11:24:20',[-11,-24,-20],
+          'LMT',0,[1901,1,1,11,24,19],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010112:35:40','1901010111:24:19','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,11,24,20],[1900,12,31,23,24,20],'-12:00:00',[-12,0,0],
+          '-12',0,[1979,10,1,11,59,59],[1979,9,30,23,59,59],
+          '1901010111:24:20','1900123123:24:20','1979100111:59:59','1979093023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,1,12,0,0],[1979,10,1,1,0,0],'-11:00:00',[-11,0,0],
+          '-11',0,[1995,1,1,10,59,59],[1994,12,31,23,59,59],
+          '1979100112:00:00','1979100101:00:00','1995010110:59:59','1994123123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,1,1,11,0,0],[1995,1,2,0,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[9999,12,31,0,0,0],[9999,12,31,13,0,0],
+          '1995010111:00:00','1995010200:00:00','9999123100:00:00','9999123113:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pafaka00.pm b/lib/Date/Manip/TZ/pafaka00.pm
new file mode 100644
index 0000000..f3ef7a0
--- /dev/null
+++ b/lib/Date/Manip/TZ/pafaka00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::pafaka00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:29 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,12,35,4],'-11:24:56',[-11,-24,-56],
+          'LMT',0,[1901,1,1,11,24,55],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010112:35:04','1901010111:24:55','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,11,24,56],[1901,1,1,0,24,56],'-11:00:00',[-11,0,0],
+          '-11',0,[2011,12,30,10,59,59],[2011,12,29,23,59,59],
+          '1901010111:24:56','1901010100:24:56','2011123010:59:59','2011122923:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,12,30,11,0,0],[2011,12,31,0,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[9999,12,31,0,0,0],[9999,12,31,13,0,0],
+          '2011123011:00:00','2011123100:00:00','9999123100:00:00','9999123113:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pafiji00.pm b/lib/Date/Manip/TZ/pafiji00.pm
new file mode 100644
index 0000000..68e34db
--- /dev/null
+++ b/lib/Date/Manip/TZ/pafiji00.pm
@@ -0,0 +1,622 @@
+package #
+Date::Manip::TZ::pafiji00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,55,44],'+11:55:44',[11,55,44],
+          'LMT',0,[1915,10,25,12,4,15],[1915,10,25,23,59,59],
+          '0001010200:00:00','0001010211:55:44','1915102512:04:15','1915102523:59:59' ],
+     ],
+   1915 =>
+     [
+        [ [1915,10,25,12,4,16],[1915,10,26,0,4,16],'+12:00:00',[12,0,0],
+          '+12',0,[1998,10,31,13,59,59],[1998,11,1,1,59,59],
+          '1915102512:04:16','1915102600:04:16','1998103113:59:59','1998110101:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,10,31,14,0,0],[1998,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[1999,2,27,13,59,59],[1999,2,28,2,59,59],
+          '1998103114:00:00','1998110103:00:00','1999022713:59:59','1999022802:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,2,27,14,0,0],[1999,2,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1999,11,6,13,59,59],[1999,11,7,1,59,59],
+          '1999022714:00:00','1999022802:00:00','1999110613:59:59','1999110701:59:59' ],
+        [ [1999,11,6,14,0,0],[1999,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2000,2,26,13,59,59],[2000,2,27,2,59,59],
+          '1999110614:00:00','1999110703:00:00','2000022613:59:59','2000022702:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,2,26,14,0,0],[2000,2,27,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2009,11,28,13,59,59],[2009,11,29,1,59,59],
+          '2000022614:00:00','2000022702:00:00','2009112813:59:59','2009112901:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,11,28,14,0,0],[2009,11,29,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2010,3,27,13,59,59],[2010,3,28,2,59,59],
+          '2009112814:00:00','2009112903:00:00','2010032713:59:59','2010032802:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,27,14,0,0],[2010,3,28,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2010,10,23,13,59,59],[2010,10,24,1,59,59],
+          '2010032714:00:00','2010032802:00:00','2010102313:59:59','2010102401:59:59' ],
+        [ [2010,10,23,14,0,0],[2010,10,24,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2011,3,5,13,59,59],[2011,3,6,2,59,59],
+          '2010102314:00:00','2010102403:00:00','2011030513:59:59','2011030602:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,5,14,0,0],[2011,3,6,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2011,10,22,13,59,59],[2011,10,23,1,59,59],
+          '2011030514:00:00','2011030602:00:00','2011102213:59:59','2011102301:59:59' ],
+        [ [2011,10,22,14,0,0],[2011,10,23,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2012,1,21,13,59,59],[2012,1,22,2,59,59],
+          '2011102214:00:00','2011102303:00:00','2012012113:59:59','2012012202:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,1,21,14,0,0],[2012,1,22,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2012,10,20,13,59,59],[2012,10,21,1,59,59],
+          '2012012114:00:00','2012012202:00:00','2012102013:59:59','2012102101:59:59' ],
+        [ [2012,10,20,14,0,0],[2012,10,21,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2013,1,19,13,59,59],[2013,1,20,2,59,59],
+          '2012102014:00:00','2012102103:00:00','2013011913:59:59','2013012002:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,1,19,14,0,0],[2013,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2013,10,26,13,59,59],[2013,10,27,1,59,59],
+          '2013011914:00:00','2013012002:00:00','2013102613:59:59','2013102701:59:59' ],
+        [ [2013,10,26,14,0,0],[2013,10,27,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2014,1,18,12,59,59],[2014,1,19,1,59,59],
+          '2013102614:00:00','2013102703:00:00','2014011812:59:59','2014011901:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,1,18,13,0,0],[2014,1,19,1,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2014,11,1,13,59,59],[2014,11,2,1,59,59],
+          '2014011813:00:00','2014011901:00:00','2014110113:59:59','2014110201:59:59' ],
+        [ [2014,11,1,14,0,0],[2014,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2015,1,17,13,59,59],[2015,1,18,2,59,59],
+          '2014110114:00:00','2014110203:00:00','2015011713:59:59','2015011802:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,1,17,14,0,0],[2015,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2015,10,31,13,59,59],[2015,11,1,1,59,59],
+          '2015011714:00:00','2015011802:00:00','2015103113:59:59','2015110101:59:59' ],
+        [ [2015,10,31,14,0,0],[2015,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2016,1,16,13,59,59],[2016,1,17,2,59,59],
+          '2015103114:00:00','2015110103:00:00','2016011613:59:59','2016011702:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,1,16,14,0,0],[2016,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2016,11,5,13,59,59],[2016,11,6,1,59,59],
+          '2016011614:00:00','2016011702:00:00','2016110513:59:59','2016110601:59:59' ],
+        [ [2016,11,5,14,0,0],[2016,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2017,1,14,13,59,59],[2017,1,15,2,59,59],
+          '2016110514:00:00','2016110603:00:00','2017011413:59:59','2017011502:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,1,14,14,0,0],[2017,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2017,11,4,13,59,59],[2017,11,5,1,59,59],
+          '2017011414:00:00','2017011502:00:00','2017110413:59:59','2017110501:59:59' ],
+        [ [2017,11,4,14,0,0],[2017,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2018,1,20,13,59,59],[2018,1,21,2,59,59],
+          '2017110414:00:00','2017110503:00:00','2018012013:59:59','2018012102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,1,20,14,0,0],[2018,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2018,11,3,13,59,59],[2018,11,4,1,59,59],
+          '2018012014:00:00','2018012102:00:00','2018110313:59:59','2018110401:59:59' ],
+        [ [2018,11,3,14,0,0],[2018,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2019,1,19,13,59,59],[2019,1,20,2,59,59],
+          '2018110314:00:00','2018110403:00:00','2019011913:59:59','2019012002:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,1,19,14,0,0],[2019,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2019,11,2,13,59,59],[2019,11,3,1,59,59],
+          '2019011914:00:00','2019012002:00:00','2019110213:59:59','2019110301:59:59' ],
+        [ [2019,11,2,14,0,0],[2019,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2020,1,18,13,59,59],[2020,1,19,2,59,59],
+          '2019110214:00:00','2019110303:00:00','2020011813:59:59','2020011902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,1,18,14,0,0],[2020,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2020,10,31,13,59,59],[2020,11,1,1,59,59],
+          '2020011814:00:00','2020011902:00:00','2020103113:59:59','2020110101:59:59' ],
+        [ [2020,10,31,14,0,0],[2020,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2021,1,16,13,59,59],[2021,1,17,2,59,59],
+          '2020103114:00:00','2020110103:00:00','2021011613:59:59','2021011702:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,1,16,14,0,0],[2021,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2021,11,6,13,59,59],[2021,11,7,1,59,59],
+          '2021011614:00:00','2021011702:00:00','2021110613:59:59','2021110701:59:59' ],
+        [ [2021,11,6,14,0,0],[2021,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2022,1,15,13,59,59],[2022,1,16,2,59,59],
+          '2021110614:00:00','2021110703:00:00','2022011513:59:59','2022011602:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,1,15,14,0,0],[2022,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2022,11,5,13,59,59],[2022,11,6,1,59,59],
+          '2022011514:00:00','2022011602:00:00','2022110513:59:59','2022110601:59:59' ],
+        [ [2022,11,5,14,0,0],[2022,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2023,1,14,13,59,59],[2023,1,15,2,59,59],
+          '2022110514:00:00','2022110603:00:00','2023011413:59:59','2023011502:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,1,14,14,0,0],[2023,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2023,11,4,13,59,59],[2023,11,5,1,59,59],
+          '2023011414:00:00','2023011502:00:00','2023110413:59:59','2023110501:59:59' ],
+        [ [2023,11,4,14,0,0],[2023,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2024,1,20,13,59,59],[2024,1,21,2,59,59],
+          '2023110414:00:00','2023110503:00:00','2024012013:59:59','2024012102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,1,20,14,0,0],[2024,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2024,11,2,13,59,59],[2024,11,3,1,59,59],
+          '2024012014:00:00','2024012102:00:00','2024110213:59:59','2024110301:59:59' ],
+        [ [2024,11,2,14,0,0],[2024,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2025,1,18,13,59,59],[2025,1,19,2,59,59],
+          '2024110214:00:00','2024110303:00:00','2025011813:59:59','2025011902:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,1,18,14,0,0],[2025,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2025,11,1,13,59,59],[2025,11,2,1,59,59],
+          '2025011814:00:00','2025011902:00:00','2025110113:59:59','2025110201:59:59' ],
+        [ [2025,11,1,14,0,0],[2025,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2026,1,17,13,59,59],[2026,1,18,2,59,59],
+          '2025110114:00:00','2025110203:00:00','2026011713:59:59','2026011802:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,1,17,14,0,0],[2026,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2026,10,31,13,59,59],[2026,11,1,1,59,59],
+          '2026011714:00:00','2026011802:00:00','2026103113:59:59','2026110101:59:59' ],
+        [ [2026,10,31,14,0,0],[2026,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2027,1,16,13,59,59],[2027,1,17,2,59,59],
+          '2026103114:00:00','2026110103:00:00','2027011613:59:59','2027011702:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,1,16,14,0,0],[2027,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2027,11,6,13,59,59],[2027,11,7,1,59,59],
+          '2027011614:00:00','2027011702:00:00','2027110613:59:59','2027110701:59:59' ],
+        [ [2027,11,6,14,0,0],[2027,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2028,1,15,13,59,59],[2028,1,16,2,59,59],
+          '2027110614:00:00','2027110703:00:00','2028011513:59:59','2028011602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,1,15,14,0,0],[2028,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2028,11,4,13,59,59],[2028,11,5,1,59,59],
+          '2028011514:00:00','2028011602:00:00','2028110413:59:59','2028110501:59:59' ],
+        [ [2028,11,4,14,0,0],[2028,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2029,1,20,13,59,59],[2029,1,21,2,59,59],
+          '2028110414:00:00','2028110503:00:00','2029012013:59:59','2029012102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,1,20,14,0,0],[2029,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2029,11,3,13,59,59],[2029,11,4,1,59,59],
+          '2029012014:00:00','2029012102:00:00','2029110313:59:59','2029110401:59:59' ],
+        [ [2029,11,3,14,0,0],[2029,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2030,1,19,13,59,59],[2030,1,20,2,59,59],
+          '2029110314:00:00','2029110403:00:00','2030011913:59:59','2030012002:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,1,19,14,0,0],[2030,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2030,11,2,13,59,59],[2030,11,3,1,59,59],
+          '2030011914:00:00','2030012002:00:00','2030110213:59:59','2030110301:59:59' ],
+        [ [2030,11,2,14,0,0],[2030,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2031,1,18,13,59,59],[2031,1,19,2,59,59],
+          '2030110214:00:00','2030110303:00:00','2031011813:59:59','2031011902:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,1,18,14,0,0],[2031,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2031,11,1,13,59,59],[2031,11,2,1,59,59],
+          '2031011814:00:00','2031011902:00:00','2031110113:59:59','2031110201:59:59' ],
+        [ [2031,11,1,14,0,0],[2031,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2032,1,17,13,59,59],[2032,1,18,2,59,59],
+          '2031110114:00:00','2031110203:00:00','2032011713:59:59','2032011802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,1,17,14,0,0],[2032,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2032,11,6,13,59,59],[2032,11,7,1,59,59],
+          '2032011714:00:00','2032011802:00:00','2032110613:59:59','2032110701:59:59' ],
+        [ [2032,11,6,14,0,0],[2032,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2033,1,15,13,59,59],[2033,1,16,2,59,59],
+          '2032110614:00:00','2032110703:00:00','2033011513:59:59','2033011602:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,1,15,14,0,0],[2033,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2033,11,5,13,59,59],[2033,11,6,1,59,59],
+          '2033011514:00:00','2033011602:00:00','2033110513:59:59','2033110601:59:59' ],
+        [ [2033,11,5,14,0,0],[2033,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2034,1,14,13,59,59],[2034,1,15,2,59,59],
+          '2033110514:00:00','2033110603:00:00','2034011413:59:59','2034011502:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,1,14,14,0,0],[2034,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2034,11,4,13,59,59],[2034,11,5,1,59,59],
+          '2034011414:00:00','2034011502:00:00','2034110413:59:59','2034110501:59:59' ],
+        [ [2034,11,4,14,0,0],[2034,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2035,1,20,13,59,59],[2035,1,21,2,59,59],
+          '2034110414:00:00','2034110503:00:00','2035012013:59:59','2035012102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,1,20,14,0,0],[2035,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2035,11,3,13,59,59],[2035,11,4,1,59,59],
+          '2035012014:00:00','2035012102:00:00','2035110313:59:59','2035110401:59:59' ],
+        [ [2035,11,3,14,0,0],[2035,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2036,1,19,13,59,59],[2036,1,20,2,59,59],
+          '2035110314:00:00','2035110403:00:00','2036011913:59:59','2036012002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,1,19,14,0,0],[2036,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2036,11,1,13,59,59],[2036,11,2,1,59,59],
+          '2036011914:00:00','2036012002:00:00','2036110113:59:59','2036110201:59:59' ],
+        [ [2036,11,1,14,0,0],[2036,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2037,1,17,13,59,59],[2037,1,18,2,59,59],
+          '2036110114:00:00','2036110203:00:00','2037011713:59:59','2037011802:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,1,17,14,0,0],[2037,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2037,10,31,13,59,59],[2037,11,1,1,59,59],
+          '2037011714:00:00','2037011802:00:00','2037103113:59:59','2037110101:59:59' ],
+        [ [2037,10,31,14,0,0],[2037,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2038,1,16,13,59,59],[2038,1,17,2,59,59],
+          '2037103114:00:00','2037110103:00:00','2038011613:59:59','2038011702:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,1,16,14,0,0],[2038,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2038,11,6,13,59,59],[2038,11,7,1,59,59],
+          '2038011614:00:00','2038011702:00:00','2038110613:59:59','2038110701:59:59' ],
+        [ [2038,11,6,14,0,0],[2038,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2039,1,15,13,59,59],[2039,1,16,2,59,59],
+          '2038110614:00:00','2038110703:00:00','2039011513:59:59','2039011602:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,1,15,14,0,0],[2039,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2039,11,5,13,59,59],[2039,11,6,1,59,59],
+          '2039011514:00:00','2039011602:00:00','2039110513:59:59','2039110601:59:59' ],
+        [ [2039,11,5,14,0,0],[2039,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2040,1,14,13,59,59],[2040,1,15,2,59,59],
+          '2039110514:00:00','2039110603:00:00','2040011413:59:59','2040011502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,1,14,14,0,0],[2040,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2040,11,3,13,59,59],[2040,11,4,1,59,59],
+          '2040011414:00:00','2040011502:00:00','2040110313:59:59','2040110401:59:59' ],
+        [ [2040,11,3,14,0,0],[2040,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2041,1,19,13,59,59],[2041,1,20,2,59,59],
+          '2040110314:00:00','2040110403:00:00','2041011913:59:59','2041012002:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,1,19,14,0,0],[2041,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2041,11,2,13,59,59],[2041,11,3,1,59,59],
+          '2041011914:00:00','2041012002:00:00','2041110213:59:59','2041110301:59:59' ],
+        [ [2041,11,2,14,0,0],[2041,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2042,1,18,13,59,59],[2042,1,19,2,59,59],
+          '2041110214:00:00','2041110303:00:00','2042011813:59:59','2042011902:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,1,18,14,0,0],[2042,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2042,11,1,13,59,59],[2042,11,2,1,59,59],
+          '2042011814:00:00','2042011902:00:00','2042110113:59:59','2042110201:59:59' ],
+        [ [2042,11,1,14,0,0],[2042,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2043,1,17,13,59,59],[2043,1,18,2,59,59],
+          '2042110114:00:00','2042110203:00:00','2043011713:59:59','2043011802:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,1,17,14,0,0],[2043,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2043,10,31,13,59,59],[2043,11,1,1,59,59],
+          '2043011714:00:00','2043011802:00:00','2043103113:59:59','2043110101:59:59' ],
+        [ [2043,10,31,14,0,0],[2043,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2044,1,16,13,59,59],[2044,1,17,2,59,59],
+          '2043103114:00:00','2043110103:00:00','2044011613:59:59','2044011702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,1,16,14,0,0],[2044,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2044,11,5,13,59,59],[2044,11,6,1,59,59],
+          '2044011614:00:00','2044011702:00:00','2044110513:59:59','2044110601:59:59' ],
+        [ [2044,11,5,14,0,0],[2044,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2045,1,14,13,59,59],[2045,1,15,2,59,59],
+          '2044110514:00:00','2044110603:00:00','2045011413:59:59','2045011502:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,1,14,14,0,0],[2045,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2045,11,4,13,59,59],[2045,11,5,1,59,59],
+          '2045011414:00:00','2045011502:00:00','2045110413:59:59','2045110501:59:59' ],
+        [ [2045,11,4,14,0,0],[2045,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2046,1,20,13,59,59],[2046,1,21,2,59,59],
+          '2045110414:00:00','2045110503:00:00','2046012013:59:59','2046012102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,1,20,14,0,0],[2046,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2046,11,3,13,59,59],[2046,11,4,1,59,59],
+          '2046012014:00:00','2046012102:00:00','2046110313:59:59','2046110401:59:59' ],
+        [ [2046,11,3,14,0,0],[2046,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2047,1,19,13,59,59],[2047,1,20,2,59,59],
+          '2046110314:00:00','2046110403:00:00','2047011913:59:59','2047012002:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,1,19,14,0,0],[2047,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2047,11,2,13,59,59],[2047,11,3,1,59,59],
+          '2047011914:00:00','2047012002:00:00','2047110213:59:59','2047110301:59:59' ],
+        [ [2047,11,2,14,0,0],[2047,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2048,1,18,13,59,59],[2048,1,19,2,59,59],
+          '2047110214:00:00','2047110303:00:00','2048011813:59:59','2048011902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,1,18,14,0,0],[2048,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2048,10,31,13,59,59],[2048,11,1,1,59,59],
+          '2048011814:00:00','2048011902:00:00','2048103113:59:59','2048110101:59:59' ],
+        [ [2048,10,31,14,0,0],[2048,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2049,1,16,13,59,59],[2049,1,17,2,59,59],
+          '2048103114:00:00','2048110103:00:00','2049011613:59:59','2049011702:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,1,16,14,0,0],[2049,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2049,11,6,13,59,59],[2049,11,7,1,59,59],
+          '2049011614:00:00','2049011702:00:00','2049110613:59:59','2049110701:59:59' ],
+        [ [2049,11,6,14,0,0],[2049,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2050,1,15,13,59,59],[2050,1,16,2,59,59],
+          '2049110614:00:00','2049110703:00:00','2050011513:59:59','2050011602:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,1,15,14,0,0],[2050,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2050,11,5,13,59,59],[2050,11,6,1,59,59],
+          '2050011514:00:00','2050011602:00:00','2050110513:59:59','2050110601:59:59' ],
+        [ [2050,11,5,14,0,0],[2050,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2051,1,14,13,59,59],[2051,1,15,2,59,59],
+          '2050110514:00:00','2050110603:00:00','2051011413:59:59','2051011502:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,1,14,14,0,0],[2051,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2051,11,4,13,59,59],[2051,11,5,1,59,59],
+          '2051011414:00:00','2051011502:00:00','2051110413:59:59','2051110501:59:59' ],
+        [ [2051,11,4,14,0,0],[2051,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2052,1,20,13,59,59],[2052,1,21,2,59,59],
+          '2051110414:00:00','2051110503:00:00','2052012013:59:59','2052012102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,1,20,14,0,0],[2052,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2052,11,2,13,59,59],[2052,11,3,1,59,59],
+          '2052012014:00:00','2052012102:00:00','2052110213:59:59','2052110301:59:59' ],
+        [ [2052,11,2,14,0,0],[2052,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2053,1,18,13,59,59],[2053,1,19,2,59,59],
+          '2052110214:00:00','2052110303:00:00','2053011813:59:59','2053011902:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,1,18,14,0,0],[2053,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2053,11,1,13,59,59],[2053,11,2,1,59,59],
+          '2053011814:00:00','2053011902:00:00','2053110113:59:59','2053110201:59:59' ],
+        [ [2053,11,1,14,0,0],[2053,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2054,1,17,13,59,59],[2054,1,18,2,59,59],
+          '2053110114:00:00','2053110203:00:00','2054011713:59:59','2054011802:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,1,17,14,0,0],[2054,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2054,10,31,13,59,59],[2054,11,1,1,59,59],
+          '2054011714:00:00','2054011802:00:00','2054103113:59:59','2054110101:59:59' ],
+        [ [2054,10,31,14,0,0],[2054,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2055,1,16,13,59,59],[2055,1,17,2,59,59],
+          '2054103114:00:00','2054110103:00:00','2055011613:59:59','2055011702:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,1,16,14,0,0],[2055,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2055,11,6,13,59,59],[2055,11,7,1,59,59],
+          '2055011614:00:00','2055011702:00:00','2055110613:59:59','2055110701:59:59' ],
+        [ [2055,11,6,14,0,0],[2055,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2056,1,15,13,59,59],[2056,1,16,2,59,59],
+          '2055110614:00:00','2055110703:00:00','2056011513:59:59','2056011602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,1,15,14,0,0],[2056,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2056,11,4,13,59,59],[2056,11,5,1,59,59],
+          '2056011514:00:00','2056011602:00:00','2056110413:59:59','2056110501:59:59' ],
+        [ [2056,11,4,14,0,0],[2056,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2057,1,20,13,59,59],[2057,1,21,2,59,59],
+          '2056110414:00:00','2056110503:00:00','2057012013:59:59','2057012102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,1,20,14,0,0],[2057,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2057,11,3,13,59,59],[2057,11,4,1,59,59],
+          '2057012014:00:00','2057012102:00:00','2057110313:59:59','2057110401:59:59' ],
+        [ [2057,11,3,14,0,0],[2057,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2058,1,19,13,59,59],[2058,1,20,2,59,59],
+          '2057110314:00:00','2057110403:00:00','2058011913:59:59','2058012002:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,1,19,14,0,0],[2058,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2058,11,2,13,59,59],[2058,11,3,1,59,59],
+          '2058011914:00:00','2058012002:00:00','2058110213:59:59','2058110301:59:59' ],
+        [ [2058,11,2,14,0,0],[2058,11,3,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2059,1,18,13,59,59],[2059,1,19,2,59,59],
+          '2058110214:00:00','2058110303:00:00','2059011813:59:59','2059011902:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,1,18,14,0,0],[2059,1,19,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2059,11,1,13,59,59],[2059,11,2,1,59,59],
+          '2059011814:00:00','2059011902:00:00','2059110113:59:59','2059110201:59:59' ],
+        [ [2059,11,1,14,0,0],[2059,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2060,1,17,13,59,59],[2060,1,18,2,59,59],
+          '2059110114:00:00','2059110203:00:00','2060011713:59:59','2060011802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,1,17,14,0,0],[2060,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2060,11,6,13,59,59],[2060,11,7,1,59,59],
+          '2060011714:00:00','2060011802:00:00','2060110613:59:59','2060110701:59:59' ],
+        [ [2060,11,6,14,0,0],[2060,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2061,1,15,13,59,59],[2061,1,16,2,59,59],
+          '2060110614:00:00','2060110703:00:00','2061011513:59:59','2061011602:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,1,15,14,0,0],[2061,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2061,11,5,13,59,59],[2061,11,6,1,59,59],
+          '2061011514:00:00','2061011602:00:00','2061110513:59:59','2061110601:59:59' ],
+        [ [2061,11,5,14,0,0],[2061,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2062,1,14,13,59,59],[2062,1,15,2,59,59],
+          '2061110514:00:00','2061110603:00:00','2062011413:59:59','2062011502:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,1,14,14,0,0],[2062,1,15,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2062,11,4,13,59,59],[2062,11,5,1,59,59],
+          '2062011414:00:00','2062011502:00:00','2062110413:59:59','2062110501:59:59' ],
+        [ [2062,11,4,14,0,0],[2062,11,5,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2063,1,20,13,59,59],[2063,1,21,2,59,59],
+          '2062110414:00:00','2062110503:00:00','2063012013:59:59','2063012102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,1,20,14,0,0],[2063,1,21,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2063,11,3,13,59,59],[2063,11,4,1,59,59],
+          '2063012014:00:00','2063012102:00:00','2063110313:59:59','2063110401:59:59' ],
+        [ [2063,11,3,14,0,0],[2063,11,4,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2064,1,19,13,59,59],[2064,1,20,2,59,59],
+          '2063110314:00:00','2063110403:00:00','2064011913:59:59','2064012002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,1,19,14,0,0],[2064,1,20,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2064,11,1,13,59,59],[2064,11,2,1,59,59],
+          '2064011914:00:00','2064012002:00:00','2064110113:59:59','2064110201:59:59' ],
+        [ [2064,11,1,14,0,0],[2064,11,2,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2065,1,17,13,59,59],[2065,1,18,2,59,59],
+          '2064110114:00:00','2064110203:00:00','2065011713:59:59','2065011802:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,1,17,14,0,0],[2065,1,18,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2065,10,31,13,59,59],[2065,11,1,1,59,59],
+          '2065011714:00:00','2065011802:00:00','2065103113:59:59','2065110101:59:59' ],
+        [ [2065,10,31,14,0,0],[2065,11,1,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2066,1,16,13,59,59],[2066,1,17,2,59,59],
+          '2065103114:00:00','2065110103:00:00','2066011613:59:59','2066011702:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,1,16,14,0,0],[2066,1,17,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2066,11,6,13,59,59],[2066,11,7,1,59,59],
+          '2066011614:00:00','2066011702:00:00','2066110613:59:59','2066110701:59:59' ],
+        [ [2066,11,6,14,0,0],[2066,11,7,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2067,1,15,13,59,59],[2067,1,16,2,59,59],
+          '2066110614:00:00','2066110703:00:00','2067011513:59:59','2067011602:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,1,15,14,0,0],[2067,1,16,2,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[2067,11,5,13,59,59],[2067,11,6,1,59,59],
+          '2067011514:00:00','2067011602:00:00','2067110513:59:59','2067110601:59:59' ],
+        [ [2067,11,5,14,0,0],[2067,11,6,3,0,0],'+13:00:00',[13,0,0],
+          '+13',1,[2068,1,14,13,59,59],[2068,1,15,2,59,59],
+          '2067110514:00:00','2067110603:00:00','2068011413:59:59','2068011502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+13:00:00',
+                'stdoff' => '+12:00:00',
+               },
+   'rules'  => {
+                '01' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '+12',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+13',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pafuna00.pm b/lib/Date/Manip/TZ/pafuna00.pm
new file mode 100644
index 0000000..bad31ff
--- /dev/null
+++ b/lib/Date/Manip/TZ/pafuna00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pafuna00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,56,52],'+11:56:52',[11,56,52],
+          'LMT',0,[1900,12,31,12,3,7],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:56:52','1900123112:03:07','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,3,8],[1901,1,1,0,3,8],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1900123112:03:08','1901010100:03:08','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pagala00.pm b/lib/Date/Manip/TZ/pagala00.pm
new file mode 100644
index 0000000..5a399b4
--- /dev/null
+++ b/lib/Date/Manip/TZ/pagala00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::pagala00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,18,1,36],'-05:58:24',[-5,-58,-24],
+          'LMT',0,[1931,1,1,5,58,23],[1930,12,31,23,59,59],
+          '0001010200:00:00','0001010118:01:36','1931010105:58:23','1930123123:59:59' ],
+     ],
+   1931 =>
+     [
+        [ [1931,1,1,5,58,24],[1931,1,1,0,58,24],'-05:00:00',[-5,0,0],
+          '-05',0,[1986,1,1,4,59,59],[1985,12,31,23,59,59],
+          '1931010105:58:24','1931010100:58:24','1986010104:59:59','1985123123:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,1,1,5,0,0],[1985,12,31,23,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[1992,11,28,5,59,59],[1992,11,27,23,59,59],
+          '1986010105:00:00','1985123123:00:00','1992112805:59:59','1992112723:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,11,28,6,0,0],[1992,11,28,1,0,0],'-05:00:00',[-5,0,0],
+          '-05',1,[1993,2,5,4,59,59],[1993,2,4,23,59,59],
+          '1992112806:00:00','1992112801:00:00','1993020504:59:59','1993020423:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,2,5,5,0,0],[1993,2,4,23,0,0],'-06:00:00',[-6,0,0],
+          '-06',0,[9999,12,31,0,0,0],[9999,12,30,18,0,0],
+          '1993020505:00:00','1993020423:00:00','9999123100:00:00','9999123018:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pagamb00.pm b/lib/Date/Manip/TZ/pagamb00.pm
new file mode 100644
index 0000000..14b4ea6
--- /dev/null
+++ b/lib/Date/Manip/TZ/pagamb00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pagamb00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,0,12],'-08:59:48',[-8,-59,-48],
+          'LMT',0,[1912,10,1,8,59,47],[1912,9,30,23,59,59],
+          '0001010200:00:00','0001010115:00:12','1912100108:59:47','1912093023:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,10,1,8,59,48],[1912,9,30,23,59,48],'-09:00:00',[-9,0,0],
+          '-09',0,[9999,12,31,0,0,0],[9999,12,30,15,0,0],
+          '1912100108:59:48','1912093023:59:48','9999123100:00:00','9999123015:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paguad00.pm b/lib/Date/Manip/TZ/paguad00.pm
new file mode 100644
index 0000000..b4a97de
--- /dev/null
+++ b/lib/Date/Manip/TZ/paguad00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::paguad00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,39,48],'+10:39:48',[10,39,48],
+          'LMT',0,[1912,9,30,13,20,11],[1912,9,30,23,59,59],
+          '0001010200:00:00','0001010210:39:48','1912093013:20:11','1912093023:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,9,30,13,20,12],[1912,10,1,0,20,12],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '1912093013:20:12','1912100100:20:12','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paguam00.pm b/lib/Date/Manip/TZ/paguam00.pm
new file mode 100644
index 0000000..643bd8c
--- /dev/null
+++ b/lib/Date/Manip/TZ/paguam00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::paguam00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,9,39,0],'-14:21:00',[-14,-21,0],
+          'LMT',0,[1844,12,31,14,20,59],[1844,12,30,23,59,59],
+          '0001010200:00:00','0001010109:39:00','1844123114:20:59','1844123023:59:59' ],
+     ],
+   1844 =>
+     [
+        [ [1844,12,31,14,21,0],[1845,1,1,0,0,0],'+09:39:00',[9,39,0],
+          'LMT',0,[1900,12,31,14,20,59],[1900,12,31,23,59,59],
+          '1844123114:21:00','1845010100:00:00','1900123114:20:59','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,14,21,0],[1901,1,1,0,21,0],'+10:00:00',[10,0,0],
+          'GST',0,[2000,12,22,13,59,59],[2000,12,22,23,59,59],
+          '1900123114:21:00','1901010100:21:00','2000122213:59:59','2000122223:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,12,22,14,0,0],[2000,12,23,0,0,0],'+10:00:00',[10,0,0],
+          'ChST',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '2000122214:00:00','2000122300:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pahono00.pm b/lib/Date/Manip/TZ/pahono00.pm
new file mode 100644
index 0000000..b52f6cc
--- /dev/null
+++ b/lib/Date/Manip/TZ/pahono00.pm
@@ -0,0 +1,76 @@
+package #
+Date::Manip::TZ::pahono00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,13,28,34],'-10:31:26',[-10,-31,-26],
+          'LMT',0,[1896,1,13,22,31,25],[1896,1,13,11,59,59],
+          '0001010200:00:00','0001010113:28:34','1896011322:31:25','1896011311:59:59' ],
+     ],
+   1896 =>
+     [
+        [ [1896,1,13,22,31,26],[1896,1,13,12,1,26],'-10:30:00',[-10,-30,0],
+          'HST',0,[1933,4,30,12,29,59],[1933,4,30,1,59,59],
+          '1896011322:31:26','1896011312:01:26','1933043012:29:59','1933043001:59:59' ],
+     ],
+   1933 =>
+     [
+        [ [1933,4,30,12,30,0],[1933,4,30,3,0,0],'-09:30:00',[-9,-30,0],
+          'HDT',1,[1933,5,21,21,29,59],[1933,5,21,11,59,59],
+          '1933043012:30:00','1933043003:00:00','1933052121:29:59','1933052111:59:59' ],
+        [ [1933,5,21,21,30,0],[1933,5,21,11,0,0],'-10:30:00',[-10,-30,0],
+          'HST',0,[1942,2,9,12,29,59],[1942,2,9,1,59,59],
+          '1933052121:30:00','1933052111:00:00','1942020912:29:59','1942020901:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,2,9,12,30,0],[1942,2,9,3,0,0],'-09:30:00',[-9,-30,0],
+          'HDT',1,[1945,9,30,11,29,59],[1945,9,30,1,59,59],
+          '1942020912:30:00','1942020903:00:00','1945093011:29:59','1945093001:59:59' ],
+     ],
+   1945 =>
+     [
+        [ [1945,9,30,11,30,0],[1945,9,30,1,0,0],'-10:30:00',[-10,-30,0],
+          'HST',0,[1947,6,8,12,29,59],[1947,6,8,1,59,59],
+          '1945093011:30:00','1945093001:00:00','1947060812:29:59','1947060801:59:59' ],
+     ],
+   1947 =>
+     [
+        [ [1947,6,8,12,30,0],[1947,6,8,2,30,0],'-10:00:00',[-10,0,0],
+          'HST',0,[9999,12,31,0,0,0],[9999,12,30,14,0,0],
+          '1947060812:30:00','1947060802:30:00','9999123100:00:00','9999123014:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pakiri00.pm b/lib/Date/Manip/TZ/pakiri00.pm
new file mode 100644
index 0000000..c32281f
--- /dev/null
+++ b/lib/Date/Manip/TZ/pakiri00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::pakiri00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,13,30,40],'-10:29:20',[-10,-29,-20],
+          'LMT',0,[1901,1,1,10,29,19],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010113:30:40','1901010110:29:19','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,10,29,20],[1900,12,31,23,49,20],'-10:40:00',[-10,-40,0],
+          '-1040',0,[1979,10,1,10,39,59],[1979,9,30,23,59,59],
+          '1901010110:29:20','1900123123:49:20','1979100110:39:59','1979093023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,10,1,10,40,0],[1979,10,1,0,40,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1995,1,1,9,59,59],[1994,12,31,23,59,59],
+          '1979100110:40:00','1979100100:40:00','1995010109:59:59','1994123123:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,1,1,10,0,0],[1995,1,2,0,0,0],'+14:00:00',[14,0,0],
+          '+14',0,[9999,12,31,0,0,0],[9999,12,31,14,0,0],
+          '1995010110:00:00','1995010200:00:00','9999123100:00:00','9999123114:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pakosr00.pm b/lib/Date/Manip/TZ/pakosr00.pm
new file mode 100644
index 0000000..8f262f4
--- /dev/null
+++ b/lib/Date/Manip/TZ/pakosr00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::pakosr00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:21 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,51,56],'+10:51:56',[10,51,56],
+          'LMT',0,[1900,12,31,13,8,3],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010210:51:56','1900123113:08:03','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,13,8,4],[1901,1,1,0,8,4],'+11:00:00',[11,0,0],
+          '+11',0,[1969,9,30,12,59,59],[1969,9,30,23,59,59],
+          '1900123113:08:04','1901010100:08:04','1969093012:59:59','1969093023:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,9,30,13,0,0],[1969,10,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[1998,12,31,11,59,59],[1998,12,31,23,59,59],
+          '1969093013:00:00','1969100101:00:00','1998123111:59:59','1998123123:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,12,31,12,0,0],[1998,12,31,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '1998123112:00:00','1998123123:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pakwaj00.pm b/lib/Date/Manip/TZ/pakwaj00.pm
new file mode 100644
index 0000000..63b40c6
--- /dev/null
+++ b/lib/Date/Manip/TZ/pakwaj00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::pakwaj00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,9,20],'+11:09:20',[11,9,20],
+          'LMT',0,[1900,12,31,12,50,39],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:09:20','1900123112:50:39','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,50,40],[1900,12,31,23,50,40],'+11:00:00',[11,0,0],
+          '+11',0,[1969,9,30,12,59,59],[1969,9,30,23,59,59],
+          '1900123112:50:40','1900123123:50:40','1969093012:59:59','1969093023:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,9,30,13,0,0],[1969,9,30,1,0,0],'-12:00:00',[-12,0,0],
+          '-12',0,[1993,8,20,11,59,59],[1993,8,19,23,59,59],
+          '1969093013:00:00','1969093001:00:00','1993082011:59:59','1993081923:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,8,20,12,0,0],[1993,8,21,0,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1993082012:00:00','1993082100:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pamaju00.pm b/lib/Date/Manip/TZ/pamaju00.pm
new file mode 100644
index 0000000..6de25da
--- /dev/null
+++ b/lib/Date/Manip/TZ/pamaju00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::pamaju00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,24,48],'+11:24:48',[11,24,48],
+          'LMT',0,[1900,12,31,12,35,11],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:24:48','1900123112:35:11','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,35,12],[1900,12,31,23,35,12],'+11:00:00',[11,0,0],
+          '+11',0,[1969,9,30,12,59,59],[1969,9,30,23,59,59],
+          '1900123112:35:12','1900123123:35:12','1969093012:59:59','1969093023:59:59' ],
+     ],
+   1969 =>
+     [
+        [ [1969,9,30,13,0,0],[1969,10,1,1,0,0],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1969093013:00:00','1969100101:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pamarq00.pm b/lib/Date/Manip/TZ/pamarq00.pm
new file mode 100644
index 0000000..ae34d43
--- /dev/null
+++ b/lib/Date/Manip/TZ/pamarq00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pamarq00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,42,0],'-09:18:00',[-9,-18,0],
+          'LMT',0,[1912,10,1,9,17,59],[1912,9,30,23,59,59],
+          '0001010200:00:00','0001010114:42:00','1912100109:17:59','1912093023:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,10,1,9,18,0],[1912,9,30,23,48,0],'-09:30:00',[-9,-30,0],
+          '-0930',0,[9999,12,31,0,0,0],[9999,12,30,14,30,0],
+          '1912100109:18:00','1912093023:48:00','9999123100:00:00','9999123014:30:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/panaur00.pm b/lib/Date/Manip/TZ/panaur00.pm
new file mode 100644
index 0000000..b122225
--- /dev/null
+++ b/lib/Date/Manip/TZ/panaur00.pm
@@ -0,0 +1,67 @@
+package #
+Date::Manip::TZ::panaur00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,7,40],'+11:07:40',[11,7,40],
+          'LMT',0,[1921,1,14,12,52,19],[1921,1,14,23,59,59],
+          '0001010200:00:00','0001010211:07:40','1921011412:52:19','1921011423:59:59' ],
+     ],
+   1921 =>
+     [
+        [ [1921,1,14,12,52,20],[1921,1,15,0,22,20],'+11:30:00',[11,30,0],
+          '+1130',0,[1942,3,14,12,29,59],[1942,3,14,23,59,59],
+          '1921011412:52:20','1921011500:22:20','1942031412:29:59','1942031423:59:59' ],
+     ],
+   1942 =>
+     [
+        [ [1942,3,14,12,30,0],[1942,3,14,21,30,0],'+09:00:00',[9,0,0],
+          '+09',0,[1944,8,14,14,59,59],[1944,8,14,23,59,59],
+          '1942031412:30:00','1942031421:30:00','1944081414:59:59','1944081423:59:59' ],
+     ],
+   1944 =>
+     [
+        [ [1944,8,14,15,0,0],[1944,8,15,2,30,0],'+11:30:00',[11,30,0],
+          '+1130',0,[1979,4,30,12,29,59],[1979,4,30,23,59,59],
+          '1944081415:00:00','1944081502:30:00','1979043012:29:59','1979043023:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,30,12,30,0],[1979,5,1,0,30,0],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1979043012:30:00','1979050100:30:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paniue00.pm b/lib/Date/Manip/TZ/paniue00.pm
new file mode 100644
index 0000000..610d2d2
--- /dev/null
+++ b/lib/Date/Manip/TZ/paniue00.pm
@@ -0,0 +1,61 @@
+package #
+Date::Manip::TZ::paniue00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:17 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,12,40,20],'-11:19:40',[-11,-19,-40],
+          'LMT',0,[1901,1,1,11,19,39],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010112:40:20','1901010111:19:39','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,11,19,40],[1900,12,31,23,59,40],'-11:20:00',[-11,-20,0],
+          '-1120',0,[1951,1,1,11,19,59],[1950,12,31,23,59,59],
+          '1901010111:19:40','1900123123:59:40','1951010111:19:59','1950123123:59:59' ],
+     ],
+   1951 =>
+     [
+        [ [1951,1,1,11,20,0],[1950,12,31,23,50,0],'-11:30:00',[-11,-30,0],
+          '-1130',0,[1978,10,1,11,29,59],[1978,9,30,23,59,59],
+          '1951010111:20:00','1950123123:50:00','1978100111:29:59','1978093023:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,10,1,11,30,0],[1978,10,1,0,30,0],'-11:00:00',[-11,0,0],
+          '-11',0,[9999,12,31,0,0,0],[9999,12,30,13,0,0],
+          '1978100111:30:00','1978100100:30:00','9999123100:00:00','9999123013:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/panorf00.pm b/lib/Date/Manip/TZ/panorf00.pm
new file mode 100644
index 0000000..8b75b39
--- /dev/null
+++ b/lib/Date/Manip/TZ/panorf00.pm
@@ -0,0 +1,73 @@
+package #
+Date::Manip::TZ::panorf00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,11,52],'+11:11:52',[11,11,52],
+          'LMT',0,[1900,12,31,12,48,7],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:11:52','1900123112:48:07','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,48,8],[1901,1,1,0,0,8],'+11:12:00',[11,12,0],
+          '+1112',0,[1950,12,31,12,47,59],[1950,12,31,23,59,59],
+          '1900123112:48:08','1901010100:00:08','1950123112:47:59','1950123123:59:59' ],
+     ],
+   1950 =>
+     [
+        [ [1950,12,31,12,48,0],[1951,1,1,0,18,0],'+11:30:00',[11,30,0],
+          '+1130',0,[1974,10,26,14,29,59],[1974,10,27,1,59,59],
+          '1950123112:48:00','1951010100:18:00','1974102614:29:59','1974102701:59:59' ],
+     ],
+   1974 =>
+     [
+        [ [1974,10,26,14,30,0],[1974,10,27,3,0,0],'+12:30:00',[12,30,0],
+          '+1230',1,[1975,3,1,13,29,59],[1975,3,2,1,59,59],
+          '1974102614:30:00','1974102703:00:00','1975030113:29:59','1975030201:59:59' ],
+     ],
+   1975 =>
+     [
+        [ [1975,3,1,13,30,0],[1975,3,2,1,0,0],'+11:30:00',[11,30,0],
+          '+1130',0,[2015,10,3,14,29,59],[2015,10,4,1,59,59],
+          '1975030113:30:00','1975030201:00:00','2015100314:29:59','2015100401:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,10,3,14,30,0],[2015,10,4,1,30,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '2015100314:30:00','2015100401:30:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/panoum00.pm b/lib/Date/Manip/TZ/panoum00.pm
new file mode 100644
index 0000000..7fa129f
--- /dev/null
+++ b/lib/Date/Manip/TZ/panoum00.pm
@@ -0,0 +1,82 @@
+package #
+Date::Manip::TZ::panoum00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,5,48],'+11:05:48',[11,5,48],
+          'LMT',0,[1912,1,12,12,54,11],[1912,1,12,23,59,59],
+          '0001010200:00:00','0001010211:05:48','1912011212:54:11','1912011223:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,1,12,12,54,12],[1912,1,12,23,54,12],'+11:00:00',[11,0,0],
+          '+11',0,[1977,12,3,12,59,59],[1977,12,3,23,59,59],
+          '1912011212:54:12','1912011223:54:12','1977120312:59:59','1977120323:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,12,3,13,0,0],[1977,12,4,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1978,2,26,11,59,59],[1978,2,26,23,59,59],
+          '1977120313:00:00','1977120401:00:00','1978022611:59:59','1978022623:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,2,26,12,0,0],[1978,2,26,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1978,12,2,12,59,59],[1978,12,2,23,59,59],
+          '1978022612:00:00','1978022623:00:00','1978120212:59:59','1978120223:59:59' ],
+        [ [1978,12,2,13,0,0],[1978,12,3,1,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1979,2,26,11,59,59],[1979,2,26,23,59,59],
+          '1978120213:00:00','1978120301:00:00','1979022611:59:59','1979022623:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,2,26,12,0,0],[1979,2,26,23,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[1996,11,30,14,59,59],[1996,12,1,1,59,59],
+          '1979022612:00:00','1979022623:00:00','1996113014:59:59','1996120101:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,11,30,15,0,0],[1996,12,1,3,0,0],'+12:00:00',[12,0,0],
+          '+12',1,[1997,3,1,14,59,59],[1997,3,2,2,59,59],
+          '1996113015:00:00','1996120103:00:00','1997030114:59:59','1997030202:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,1,15,0,0],[1997,3,2,2,0,0],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '1997030115:00:00','1997030202:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/papago00.pm b/lib/Date/Manip/TZ/papago00.pm
new file mode 100644
index 0000000..080a193
--- /dev/null
+++ b/lib/Date/Manip/TZ/papago00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::papago00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,37,12],'+12:37:12',[12,37,12],
+          'LMT',0,[1879,7,4,11,22,47],[1879,7,4,23,59,59],
+          '0001010200:00:00','0001010212:37:12','1879070411:22:47','1879070423:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,7,4,11,22,48],[1879,7,4,0,0,0],'-11:22:48',[-11,-22,-48],
+          'LMT',0,[1911,1,1,11,22,47],[1910,12,31,23,59,59],
+          '1879070411:22:48','1879070400:00:00','1911010111:22:47','1910123123:59:59' ],
+     ],
+   1911 =>
+     [
+        [ [1911,1,1,11,22,48],[1911,1,1,0,22,48],'-11:00:00',[-11,0,0],
+          'SST',0,[9999,12,31,0,0,0],[9999,12,30,13,0,0],
+          '1911010111:22:48','1911010100:22:48','9999123100:00:00','9999123013:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/papala00.pm b/lib/Date/Manip/TZ/papala00.pm
new file mode 100644
index 0000000..cb02ca5
--- /dev/null
+++ b/lib/Date/Manip/TZ/papala00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::papala00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,57,56],'+08:57:56',[8,57,56],
+          'LMT',0,[1900,12,31,15,2,3],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010208:57:56','1900123115:02:03','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,15,2,4],[1901,1,1,0,2,4],'+09:00:00',[9,0,0],
+          '+09',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '1900123115:02:04','1901010100:02:04','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/papitc00.pm b/lib/Date/Manip/TZ/papitc00.pm
new file mode 100644
index 0000000..3293b14
--- /dev/null
+++ b/lib/Date/Manip/TZ/papitc00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::papitc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:24 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,15,19,40],'-08:40:20',[-8,-40,-20],
+          'LMT',0,[1901,1,1,8,40,19],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010115:19:40','1901010108:40:19','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,8,40,20],[1901,1,1,0,10,20],'-08:30:00',[-8,-30,0],
+          '-0830',0,[1998,4,27,8,29,59],[1998,4,26,23,59,59],
+          '1901010108:40:20','1901010100:10:20','1998042708:29:59','1998042623:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,4,27,8,30,0],[1998,4,27,0,30,0],'-08:00:00',[-8,0,0],
+          '-08',0,[9999,12,31,0,0,0],[9999,12,30,16,0,0],
+          '1998042708:30:00','1998042700:30:00','9999123100:00:00','9999123016:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/papohn00.pm b/lib/Date/Manip/TZ/papohn00.pm
new file mode 100644
index 0000000..a29f576
--- /dev/null
+++ b/lib/Date/Manip/TZ/papohn00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::papohn00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,32,52],'+10:32:52',[10,32,52],
+          'LMT',0,[1900,12,31,13,27,7],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010210:32:52','1900123113:27:07','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,13,27,8],[1901,1,1,0,27,8],'+11:00:00',[11,0,0],
+          '+11',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '1900123113:27:08','1901010100:27:08','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/paport00.pm b/lib/Date/Manip/TZ/paport00.pm
new file mode 100644
index 0000000..917dcb9
--- /dev/null
+++ b/lib/Date/Manip/TZ/paport00.pm
@@ -0,0 +1,55 @@
+package #
+Date::Manip::TZ::paport00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:22 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,48,40],'+09:48:40',[9,48,40],
+          'LMT',0,[1879,12,31,14,11,19],[1879,12,31,23,59,59],
+          '0001010200:00:00','0001010209:48:40','1879123114:11:19','1879123123:59:59' ],
+     ],
+   1879 =>
+     [
+        [ [1879,12,31,14,11,20],[1879,12,31,23,59,52],'+09:48:32',[9,48,32],
+          'PMMT',0,[1894,12,31,14,11,27],[1894,12,31,23,59,59],
+          '1879123114:11:20','1879123123:59:52','1894123114:11:27','1894123123:59:59' ],
+     ],
+   1894 =>
+     [
+        [ [1894,12,31,14,11,28],[1895,1,1,0,11,28],'+10:00:00',[10,0,0],
+          '+10',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '1894123114:11:28','1895010100:11:28','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pararo00.pm b/lib/Date/Manip/TZ/pararo00.pm
new file mode 100644
index 0000000..bf7d347
--- /dev/null
+++ b/lib/Date/Manip/TZ/pararo00.pm
@@ -0,0 +1,169 @@
+package #
+Date::Manip::TZ::pararo00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,13,20,56],'-10:39:04',[-10,-39,-4],
+          'LMT',0,[1901,1,1,10,39,3],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010113:20:56','1901010110:39:03','1900123123:59:59' ],
+     ],
+   1901 =>
+     [
+        [ [1901,1,1,10,39,4],[1901,1,1,0,9,4],'-10:30:00',[-10,-30,0],
+          '-1030',0,[1978,11,12,10,29,59],[1978,11,11,23,59,59],
+          '1901010110:39:04','1901010100:09:04','1978111210:29:59','1978111123:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,11,12,10,30,0],[1978,11,12,1,0,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1979,3,4,9,29,59],[1979,3,3,23,59,59],
+          '1978111210:30:00','1978111201:00:00','1979030409:29:59','1979030323:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,3,4,9,30,0],[1979,3,3,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1979,10,28,9,59,59],[1979,10,27,23,59,59],
+          '1979030409:30:00','1979030323:30:00','1979102809:59:59','1979102723:59:59' ],
+        [ [1979,10,28,10,0,0],[1979,10,28,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1980,3,2,9,29,59],[1980,3,1,23,59,59],
+          '1979102810:00:00','1979102800:30:00','1980030209:29:59','1980030123:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,3,2,9,30,0],[1980,3,1,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1980,10,26,9,59,59],[1980,10,25,23,59,59],
+          '1980030209:30:00','1980030123:30:00','1980102609:59:59','1980102523:59:59' ],
+        [ [1980,10,26,10,0,0],[1980,10,26,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1981,3,1,9,29,59],[1981,2,28,23,59,59],
+          '1980102610:00:00','1980102600:30:00','1981030109:29:59','1981022823:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,1,9,30,0],[1981,2,28,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1981,10,25,9,59,59],[1981,10,24,23,59,59],
+          '1981030109:30:00','1981022823:30:00','1981102509:59:59','1981102423:59:59' ],
+        [ [1981,10,25,10,0,0],[1981,10,25,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1982,3,7,9,29,59],[1982,3,6,23,59,59],
+          '1981102510:00:00','1981102500:30:00','1982030709:29:59','1982030623:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,7,9,30,0],[1982,3,6,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1982,10,31,9,59,59],[1982,10,30,23,59,59],
+          '1982030709:30:00','1982030623:30:00','1982103109:59:59','1982103023:59:59' ],
+        [ [1982,10,31,10,0,0],[1982,10,31,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1983,3,6,9,29,59],[1983,3,5,23,59,59],
+          '1982103110:00:00','1982103100:30:00','1983030609:29:59','1983030523:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,6,9,30,0],[1983,3,5,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1983,10,30,9,59,59],[1983,10,29,23,59,59],
+          '1983030609:30:00','1983030523:30:00','1983103009:59:59','1983102923:59:59' ],
+        [ [1983,10,30,10,0,0],[1983,10,30,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1984,3,4,9,29,59],[1984,3,3,23,59,59],
+          '1983103010:00:00','1983103000:30:00','1984030409:29:59','1984030323:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,4,9,30,0],[1984,3,3,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1984,10,28,9,59,59],[1984,10,27,23,59,59],
+          '1984030409:30:00','1984030323:30:00','1984102809:59:59','1984102723:59:59' ],
+        [ [1984,10,28,10,0,0],[1984,10,28,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1985,3,3,9,29,59],[1985,3,2,23,59,59],
+          '1984102810:00:00','1984102800:30:00','1985030309:29:59','1985030223:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,3,9,30,0],[1985,3,2,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1985,10,27,9,59,59],[1985,10,26,23,59,59],
+          '1985030309:30:00','1985030223:30:00','1985102709:59:59','1985102623:59:59' ],
+        [ [1985,10,27,10,0,0],[1985,10,27,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1986,3,2,9,29,59],[1986,3,1,23,59,59],
+          '1985102710:00:00','1985102700:30:00','1986030209:29:59','1986030123:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,2,9,30,0],[1986,3,1,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1986,10,26,9,59,59],[1986,10,25,23,59,59],
+          '1986030209:30:00','1986030123:30:00','1986102609:59:59','1986102523:59:59' ],
+        [ [1986,10,26,10,0,0],[1986,10,26,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1987,3,1,9,29,59],[1987,2,28,23,59,59],
+          '1986102610:00:00','1986102600:30:00','1987030109:29:59','1987022823:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,1,9,30,0],[1987,2,28,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1987,10,25,9,59,59],[1987,10,24,23,59,59],
+          '1987030109:30:00','1987022823:30:00','1987102509:59:59','1987102423:59:59' ],
+        [ [1987,10,25,10,0,0],[1987,10,25,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1988,3,6,9,29,59],[1988,3,5,23,59,59],
+          '1987102510:00:00','1987102500:30:00','1988030609:29:59','1988030523:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,6,9,30,0],[1988,3,5,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1988,10,30,9,59,59],[1988,10,29,23,59,59],
+          '1988030609:30:00','1988030523:30:00','1988103009:59:59','1988102923:59:59' ],
+        [ [1988,10,30,10,0,0],[1988,10,30,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1989,3,5,9,29,59],[1989,3,4,23,59,59],
+          '1988103010:00:00','1988103000:30:00','1989030509:29:59','1989030423:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,5,9,30,0],[1989,3,4,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1989,10,29,9,59,59],[1989,10,28,23,59,59],
+          '1989030509:30:00','1989030423:30:00','1989102909:59:59','1989102823:59:59' ],
+        [ [1989,10,29,10,0,0],[1989,10,29,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1990,3,4,9,29,59],[1990,3,3,23,59,59],
+          '1989102910:00:00','1989102900:30:00','1990030409:29:59','1990030323:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,4,9,30,0],[1990,3,3,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[1990,10,28,9,59,59],[1990,10,27,23,59,59],
+          '1990030409:30:00','1990030323:30:00','1990102809:59:59','1990102723:59:59' ],
+        [ [1990,10,28,10,0,0],[1990,10,28,0,30,0],'-09:30:00',[-9,-30,0],
+          '-0930',1,[1991,3,3,9,29,59],[1991,3,2,23,59,59],
+          '1990102810:00:00','1990102800:30:00','1991030309:29:59','1991030223:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,3,9,30,0],[1991,3,2,23,30,0],'-10:00:00',[-10,0,0],
+          '-10',0,[9999,12,31,0,0,0],[9999,12,30,14,0,0],
+          '1991030309:30:00','1991030223:30:00','9999123100:00:00','9999123014:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/patahi00.pm b/lib/Date/Manip/TZ/patahi00.pm
new file mode 100644
index 0000000..8c9aa45
--- /dev/null
+++ b/lib/Date/Manip/TZ/patahi00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::patahi00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,1,14,1,44],'-09:58:16',[-9,-58,-16],
+          'LMT',0,[1912,10,1,9,58,15],[1912,9,30,23,59,59],
+          '0001010200:00:00','0001010114:01:44','1912100109:58:15','1912093023:59:59' ],
+     ],
+   1912 =>
+     [
+        [ [1912,10,1,9,58,16],[1912,9,30,23,58,16],'-10:00:00',[-10,0,0],
+          '-10',0,[9999,12,31,0,0,0],[9999,12,30,14,0,0],
+          '1912100109:58:16','1912093023:58:16','9999123100:00:00','9999123014:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/patara00.pm b/lib/Date/Manip/TZ/patara00.pm
new file mode 100644
index 0000000..76867af
--- /dev/null
+++ b/lib/Date/Manip/TZ/patara00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::patara00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,32,4],'+11:32:04',[11,32,4],
+          'LMT',0,[1900,12,31,12,27,55],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:32:04','1900123112:27:55','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,27,56],[1901,1,1,0,27,56],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1900123112:27:56','1901010100:27:56','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/patong00.pm b/lib/Date/Manip/TZ/patong00.pm
new file mode 100644
index 0000000..c1c726f
--- /dev/null
+++ b/lib/Date/Manip/TZ/patong00.pm
@@ -0,0 +1,574 @@
+package #
+Date::Manip::TZ::patong00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,19,20],'+12:19:20',[12,19,20],
+          'LMT',0,[1900,12,31,11,40,39],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010212:19:20','1900123111:40:39','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,11,40,40],[1901,1,1,0,0,40],'+12:20:00',[12,20,0],
+          '+1220',0,[1940,12,31,11,39,59],[1940,12,31,23,59,59],
+          '1900123111:40:40','1901010100:00:40','1940123111:39:59','1940123123:59:59' ],
+     ],
+   1940 =>
+     [
+        [ [1940,12,31,11,40,0],[1941,1,1,0,40,0],'+13:00:00',[13,0,0],
+          '+13',0,[1999,10,6,12,59,59],[1999,10,7,1,59,59],
+          '1940123111:40:00','1941010100:40:00','1999100612:59:59','1999100701:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,10,6,13,0,0],[1999,10,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2000,3,18,12,59,59],[2000,3,19,2,59,59],
+          '1999100613:00:00','1999100703:00:00','2000031812:59:59','2000031902:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,18,13,0,0],[2000,3,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2000,11,4,12,59,59],[2000,11,5,1,59,59],
+          '2000031813:00:00','2000031902:00:00','2000110412:59:59','2000110501:59:59' ],
+        [ [2000,11,4,13,0,0],[2000,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2001,1,27,11,59,59],[2001,1,28,1,59,59],
+          '2000110413:00:00','2000110503:00:00','2001012711:59:59','2001012801:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,1,27,12,0,0],[2001,1,28,1,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2001,11,3,12,59,59],[2001,11,4,1,59,59],
+          '2001012712:00:00','2001012801:00:00','2001110312:59:59','2001110401:59:59' ],
+        [ [2001,11,3,13,0,0],[2001,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2002,1,26,11,59,59],[2002,1,27,1,59,59],
+          '2001110313:00:00','2001110403:00:00','2002012611:59:59','2002012701:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,1,26,12,0,0],[2002,1,27,1,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2016,11,5,12,59,59],[2016,11,6,1,59,59],
+          '2002012612:00:00','2002012701:00:00','2016110512:59:59','2016110601:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,11,5,13,0,0],[2016,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2017,1,14,12,59,59],[2017,1,15,2,59,59],
+          '2016110513:00:00','2016110603:00:00','2017011412:59:59','2017011502:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,1,14,13,0,0],[2017,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2017,11,4,12,59,59],[2017,11,5,1,59,59],
+          '2017011413:00:00','2017011502:00:00','2017110412:59:59','2017110501:59:59' ],
+        [ [2017,11,4,13,0,0],[2017,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2018,1,20,12,59,59],[2018,1,21,2,59,59],
+          '2017110413:00:00','2017110503:00:00','2018012012:59:59','2018012102:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,1,20,13,0,0],[2018,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2018,11,3,12,59,59],[2018,11,4,1,59,59],
+          '2018012013:00:00','2018012102:00:00','2018110312:59:59','2018110401:59:59' ],
+        [ [2018,11,3,13,0,0],[2018,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2019,1,19,12,59,59],[2019,1,20,2,59,59],
+          '2018110313:00:00','2018110403:00:00','2019011912:59:59','2019012002:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,1,19,13,0,0],[2019,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2019,11,2,12,59,59],[2019,11,3,1,59,59],
+          '2019011913:00:00','2019012002:00:00','2019110212:59:59','2019110301:59:59' ],
+        [ [2019,11,2,13,0,0],[2019,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2020,1,18,12,59,59],[2020,1,19,2,59,59],
+          '2019110213:00:00','2019110303:00:00','2020011812:59:59','2020011902:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,1,18,13,0,0],[2020,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2020,10,31,12,59,59],[2020,11,1,1,59,59],
+          '2020011813:00:00','2020011902:00:00','2020103112:59:59','2020110101:59:59' ],
+        [ [2020,10,31,13,0,0],[2020,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2021,1,16,12,59,59],[2021,1,17,2,59,59],
+          '2020103113:00:00','2020110103:00:00','2021011612:59:59','2021011702:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,1,16,13,0,0],[2021,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2021,11,6,12,59,59],[2021,11,7,1,59,59],
+          '2021011613:00:00','2021011702:00:00','2021110612:59:59','2021110701:59:59' ],
+        [ [2021,11,6,13,0,0],[2021,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2022,1,15,12,59,59],[2022,1,16,2,59,59],
+          '2021110613:00:00','2021110703:00:00','2022011512:59:59','2022011602:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,1,15,13,0,0],[2022,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2022,11,5,12,59,59],[2022,11,6,1,59,59],
+          '2022011513:00:00','2022011602:00:00','2022110512:59:59','2022110601:59:59' ],
+        [ [2022,11,5,13,0,0],[2022,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2023,1,14,12,59,59],[2023,1,15,2,59,59],
+          '2022110513:00:00','2022110603:00:00','2023011412:59:59','2023011502:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,1,14,13,0,0],[2023,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2023,11,4,12,59,59],[2023,11,5,1,59,59],
+          '2023011413:00:00','2023011502:00:00','2023110412:59:59','2023110501:59:59' ],
+        [ [2023,11,4,13,0,0],[2023,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2024,1,20,12,59,59],[2024,1,21,2,59,59],
+          '2023110413:00:00','2023110503:00:00','2024012012:59:59','2024012102:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,1,20,13,0,0],[2024,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2024,11,2,12,59,59],[2024,11,3,1,59,59],
+          '2024012013:00:00','2024012102:00:00','2024110212:59:59','2024110301:59:59' ],
+        [ [2024,11,2,13,0,0],[2024,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2025,1,18,12,59,59],[2025,1,19,2,59,59],
+          '2024110213:00:00','2024110303:00:00','2025011812:59:59','2025011902:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,1,18,13,0,0],[2025,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2025,11,1,12,59,59],[2025,11,2,1,59,59],
+          '2025011813:00:00','2025011902:00:00','2025110112:59:59','2025110201:59:59' ],
+        [ [2025,11,1,13,0,0],[2025,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2026,1,17,12,59,59],[2026,1,18,2,59,59],
+          '2025110113:00:00','2025110203:00:00','2026011712:59:59','2026011802:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,1,17,13,0,0],[2026,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2026,10,31,12,59,59],[2026,11,1,1,59,59],
+          '2026011713:00:00','2026011802:00:00','2026103112:59:59','2026110101:59:59' ],
+        [ [2026,10,31,13,0,0],[2026,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2027,1,16,12,59,59],[2027,1,17,2,59,59],
+          '2026103113:00:00','2026110103:00:00','2027011612:59:59','2027011702:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,1,16,13,0,0],[2027,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2027,11,6,12,59,59],[2027,11,7,1,59,59],
+          '2027011613:00:00','2027011702:00:00','2027110612:59:59','2027110701:59:59' ],
+        [ [2027,11,6,13,0,0],[2027,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2028,1,15,12,59,59],[2028,1,16,2,59,59],
+          '2027110613:00:00','2027110703:00:00','2028011512:59:59','2028011602:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,1,15,13,0,0],[2028,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2028,11,4,12,59,59],[2028,11,5,1,59,59],
+          '2028011513:00:00','2028011602:00:00','2028110412:59:59','2028110501:59:59' ],
+        [ [2028,11,4,13,0,0],[2028,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2029,1,20,12,59,59],[2029,1,21,2,59,59],
+          '2028110413:00:00','2028110503:00:00','2029012012:59:59','2029012102:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,1,20,13,0,0],[2029,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2029,11,3,12,59,59],[2029,11,4,1,59,59],
+          '2029012013:00:00','2029012102:00:00','2029110312:59:59','2029110401:59:59' ],
+        [ [2029,11,3,13,0,0],[2029,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2030,1,19,12,59,59],[2030,1,20,2,59,59],
+          '2029110313:00:00','2029110403:00:00','2030011912:59:59','2030012002:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,1,19,13,0,0],[2030,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2030,11,2,12,59,59],[2030,11,3,1,59,59],
+          '2030011913:00:00','2030012002:00:00','2030110212:59:59','2030110301:59:59' ],
+        [ [2030,11,2,13,0,0],[2030,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2031,1,18,12,59,59],[2031,1,19,2,59,59],
+          '2030110213:00:00','2030110303:00:00','2031011812:59:59','2031011902:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,1,18,13,0,0],[2031,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2031,11,1,12,59,59],[2031,11,2,1,59,59],
+          '2031011813:00:00','2031011902:00:00','2031110112:59:59','2031110201:59:59' ],
+        [ [2031,11,1,13,0,0],[2031,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2032,1,17,12,59,59],[2032,1,18,2,59,59],
+          '2031110113:00:00','2031110203:00:00','2032011712:59:59','2032011802:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,1,17,13,0,0],[2032,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2032,11,6,12,59,59],[2032,11,7,1,59,59],
+          '2032011713:00:00','2032011802:00:00','2032110612:59:59','2032110701:59:59' ],
+        [ [2032,11,6,13,0,0],[2032,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2033,1,15,12,59,59],[2033,1,16,2,59,59],
+          '2032110613:00:00','2032110703:00:00','2033011512:59:59','2033011602:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,1,15,13,0,0],[2033,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2033,11,5,12,59,59],[2033,11,6,1,59,59],
+          '2033011513:00:00','2033011602:00:00','2033110512:59:59','2033110601:59:59' ],
+        [ [2033,11,5,13,0,0],[2033,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2034,1,14,12,59,59],[2034,1,15,2,59,59],
+          '2033110513:00:00','2033110603:00:00','2034011412:59:59','2034011502:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,1,14,13,0,0],[2034,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2034,11,4,12,59,59],[2034,11,5,1,59,59],
+          '2034011413:00:00','2034011502:00:00','2034110412:59:59','2034110501:59:59' ],
+        [ [2034,11,4,13,0,0],[2034,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2035,1,20,12,59,59],[2035,1,21,2,59,59],
+          '2034110413:00:00','2034110503:00:00','2035012012:59:59','2035012102:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,1,20,13,0,0],[2035,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2035,11,3,12,59,59],[2035,11,4,1,59,59],
+          '2035012013:00:00','2035012102:00:00','2035110312:59:59','2035110401:59:59' ],
+        [ [2035,11,3,13,0,0],[2035,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2036,1,19,12,59,59],[2036,1,20,2,59,59],
+          '2035110313:00:00','2035110403:00:00','2036011912:59:59','2036012002:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,1,19,13,0,0],[2036,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2036,11,1,12,59,59],[2036,11,2,1,59,59],
+          '2036011913:00:00','2036012002:00:00','2036110112:59:59','2036110201:59:59' ],
+        [ [2036,11,1,13,0,0],[2036,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2037,1,17,12,59,59],[2037,1,18,2,59,59],
+          '2036110113:00:00','2036110203:00:00','2037011712:59:59','2037011802:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,1,17,13,0,0],[2037,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2037,10,31,12,59,59],[2037,11,1,1,59,59],
+          '2037011713:00:00','2037011802:00:00','2037103112:59:59','2037110101:59:59' ],
+        [ [2037,10,31,13,0,0],[2037,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2038,1,16,12,59,59],[2038,1,17,2,59,59],
+          '2037103113:00:00','2037110103:00:00','2038011612:59:59','2038011702:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,1,16,13,0,0],[2038,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2038,11,6,12,59,59],[2038,11,7,1,59,59],
+          '2038011613:00:00','2038011702:00:00','2038110612:59:59','2038110701:59:59' ],
+        [ [2038,11,6,13,0,0],[2038,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2039,1,15,12,59,59],[2039,1,16,2,59,59],
+          '2038110613:00:00','2038110703:00:00','2039011512:59:59','2039011602:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,1,15,13,0,0],[2039,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2039,11,5,12,59,59],[2039,11,6,1,59,59],
+          '2039011513:00:00','2039011602:00:00','2039110512:59:59','2039110601:59:59' ],
+        [ [2039,11,5,13,0,0],[2039,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2040,1,14,12,59,59],[2040,1,15,2,59,59],
+          '2039110513:00:00','2039110603:00:00','2040011412:59:59','2040011502:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,1,14,13,0,0],[2040,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2040,11,3,12,59,59],[2040,11,4,1,59,59],
+          '2040011413:00:00','2040011502:00:00','2040110312:59:59','2040110401:59:59' ],
+        [ [2040,11,3,13,0,0],[2040,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2041,1,19,12,59,59],[2041,1,20,2,59,59],
+          '2040110313:00:00','2040110403:00:00','2041011912:59:59','2041012002:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,1,19,13,0,0],[2041,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2041,11,2,12,59,59],[2041,11,3,1,59,59],
+          '2041011913:00:00','2041012002:00:00','2041110212:59:59','2041110301:59:59' ],
+        [ [2041,11,2,13,0,0],[2041,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2042,1,18,12,59,59],[2042,1,19,2,59,59],
+          '2041110213:00:00','2041110303:00:00','2042011812:59:59','2042011902:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,1,18,13,0,0],[2042,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2042,11,1,12,59,59],[2042,11,2,1,59,59],
+          '2042011813:00:00','2042011902:00:00','2042110112:59:59','2042110201:59:59' ],
+        [ [2042,11,1,13,0,0],[2042,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2043,1,17,12,59,59],[2043,1,18,2,59,59],
+          '2042110113:00:00','2042110203:00:00','2043011712:59:59','2043011802:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,1,17,13,0,0],[2043,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2043,10,31,12,59,59],[2043,11,1,1,59,59],
+          '2043011713:00:00','2043011802:00:00','2043103112:59:59','2043110101:59:59' ],
+        [ [2043,10,31,13,0,0],[2043,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2044,1,16,12,59,59],[2044,1,17,2,59,59],
+          '2043103113:00:00','2043110103:00:00','2044011612:59:59','2044011702:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,1,16,13,0,0],[2044,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2044,11,5,12,59,59],[2044,11,6,1,59,59],
+          '2044011613:00:00','2044011702:00:00','2044110512:59:59','2044110601:59:59' ],
+        [ [2044,11,5,13,0,0],[2044,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2045,1,14,12,59,59],[2045,1,15,2,59,59],
+          '2044110513:00:00','2044110603:00:00','2045011412:59:59','2045011502:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,1,14,13,0,0],[2045,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2045,11,4,12,59,59],[2045,11,5,1,59,59],
+          '2045011413:00:00','2045011502:00:00','2045110412:59:59','2045110501:59:59' ],
+        [ [2045,11,4,13,0,0],[2045,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2046,1,20,12,59,59],[2046,1,21,2,59,59],
+          '2045110413:00:00','2045110503:00:00','2046012012:59:59','2046012102:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,1,20,13,0,0],[2046,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2046,11,3,12,59,59],[2046,11,4,1,59,59],
+          '2046012013:00:00','2046012102:00:00','2046110312:59:59','2046110401:59:59' ],
+        [ [2046,11,3,13,0,0],[2046,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2047,1,19,12,59,59],[2047,1,20,2,59,59],
+          '2046110313:00:00','2046110403:00:00','2047011912:59:59','2047012002:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,1,19,13,0,0],[2047,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2047,11,2,12,59,59],[2047,11,3,1,59,59],
+          '2047011913:00:00','2047012002:00:00','2047110212:59:59','2047110301:59:59' ],
+        [ [2047,11,2,13,0,0],[2047,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2048,1,18,12,59,59],[2048,1,19,2,59,59],
+          '2047110213:00:00','2047110303:00:00','2048011812:59:59','2048011902:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,1,18,13,0,0],[2048,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2048,10,31,12,59,59],[2048,11,1,1,59,59],
+          '2048011813:00:00','2048011902:00:00','2048103112:59:59','2048110101:59:59' ],
+        [ [2048,10,31,13,0,0],[2048,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2049,1,16,12,59,59],[2049,1,17,2,59,59],
+          '2048103113:00:00','2048110103:00:00','2049011612:59:59','2049011702:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,1,16,13,0,0],[2049,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2049,11,6,12,59,59],[2049,11,7,1,59,59],
+          '2049011613:00:00','2049011702:00:00','2049110612:59:59','2049110701:59:59' ],
+        [ [2049,11,6,13,0,0],[2049,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2050,1,15,12,59,59],[2050,1,16,2,59,59],
+          '2049110613:00:00','2049110703:00:00','2050011512:59:59','2050011602:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,1,15,13,0,0],[2050,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2050,11,5,12,59,59],[2050,11,6,1,59,59],
+          '2050011513:00:00','2050011602:00:00','2050110512:59:59','2050110601:59:59' ],
+        [ [2050,11,5,13,0,0],[2050,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2051,1,14,12,59,59],[2051,1,15,2,59,59],
+          '2050110513:00:00','2050110603:00:00','2051011412:59:59','2051011502:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,1,14,13,0,0],[2051,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2051,11,4,12,59,59],[2051,11,5,1,59,59],
+          '2051011413:00:00','2051011502:00:00','2051110412:59:59','2051110501:59:59' ],
+        [ [2051,11,4,13,0,0],[2051,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2052,1,20,12,59,59],[2052,1,21,2,59,59],
+          '2051110413:00:00','2051110503:00:00','2052012012:59:59','2052012102:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,1,20,13,0,0],[2052,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2052,11,2,12,59,59],[2052,11,3,1,59,59],
+          '2052012013:00:00','2052012102:00:00','2052110212:59:59','2052110301:59:59' ],
+        [ [2052,11,2,13,0,0],[2052,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2053,1,18,12,59,59],[2053,1,19,2,59,59],
+          '2052110213:00:00','2052110303:00:00','2053011812:59:59','2053011902:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,1,18,13,0,0],[2053,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2053,11,1,12,59,59],[2053,11,2,1,59,59],
+          '2053011813:00:00','2053011902:00:00','2053110112:59:59','2053110201:59:59' ],
+        [ [2053,11,1,13,0,0],[2053,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2054,1,17,12,59,59],[2054,1,18,2,59,59],
+          '2053110113:00:00','2053110203:00:00','2054011712:59:59','2054011802:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,1,17,13,0,0],[2054,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2054,10,31,12,59,59],[2054,11,1,1,59,59],
+          '2054011713:00:00','2054011802:00:00','2054103112:59:59','2054110101:59:59' ],
+        [ [2054,10,31,13,0,0],[2054,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2055,1,16,12,59,59],[2055,1,17,2,59,59],
+          '2054103113:00:00','2054110103:00:00','2055011612:59:59','2055011702:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,1,16,13,0,0],[2055,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2055,11,6,12,59,59],[2055,11,7,1,59,59],
+          '2055011613:00:00','2055011702:00:00','2055110612:59:59','2055110701:59:59' ],
+        [ [2055,11,6,13,0,0],[2055,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2056,1,15,12,59,59],[2056,1,16,2,59,59],
+          '2055110613:00:00','2055110703:00:00','2056011512:59:59','2056011602:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,1,15,13,0,0],[2056,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2056,11,4,12,59,59],[2056,11,5,1,59,59],
+          '2056011513:00:00','2056011602:00:00','2056110412:59:59','2056110501:59:59' ],
+        [ [2056,11,4,13,0,0],[2056,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2057,1,20,12,59,59],[2057,1,21,2,59,59],
+          '2056110413:00:00','2056110503:00:00','2057012012:59:59','2057012102:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,1,20,13,0,0],[2057,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2057,11,3,12,59,59],[2057,11,4,1,59,59],
+          '2057012013:00:00','2057012102:00:00','2057110312:59:59','2057110401:59:59' ],
+        [ [2057,11,3,13,0,0],[2057,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2058,1,19,12,59,59],[2058,1,20,2,59,59],
+          '2057110313:00:00','2057110403:00:00','2058011912:59:59','2058012002:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,1,19,13,0,0],[2058,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2058,11,2,12,59,59],[2058,11,3,1,59,59],
+          '2058011913:00:00','2058012002:00:00','2058110212:59:59','2058110301:59:59' ],
+        [ [2058,11,2,13,0,0],[2058,11,3,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2059,1,18,12,59,59],[2059,1,19,2,59,59],
+          '2058110213:00:00','2058110303:00:00','2059011812:59:59','2059011902:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,1,18,13,0,0],[2059,1,19,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2059,11,1,12,59,59],[2059,11,2,1,59,59],
+          '2059011813:00:00','2059011902:00:00','2059110112:59:59','2059110201:59:59' ],
+        [ [2059,11,1,13,0,0],[2059,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2060,1,17,12,59,59],[2060,1,18,2,59,59],
+          '2059110113:00:00','2059110203:00:00','2060011712:59:59','2060011802:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,1,17,13,0,0],[2060,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2060,11,6,12,59,59],[2060,11,7,1,59,59],
+          '2060011713:00:00','2060011802:00:00','2060110612:59:59','2060110701:59:59' ],
+        [ [2060,11,6,13,0,0],[2060,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2061,1,15,12,59,59],[2061,1,16,2,59,59],
+          '2060110613:00:00','2060110703:00:00','2061011512:59:59','2061011602:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,1,15,13,0,0],[2061,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2061,11,5,12,59,59],[2061,11,6,1,59,59],
+          '2061011513:00:00','2061011602:00:00','2061110512:59:59','2061110601:59:59' ],
+        [ [2061,11,5,13,0,0],[2061,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2062,1,14,12,59,59],[2062,1,15,2,59,59],
+          '2061110513:00:00','2061110603:00:00','2062011412:59:59','2062011502:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,1,14,13,0,0],[2062,1,15,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2062,11,4,12,59,59],[2062,11,5,1,59,59],
+          '2062011413:00:00','2062011502:00:00','2062110412:59:59','2062110501:59:59' ],
+        [ [2062,11,4,13,0,0],[2062,11,5,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2063,1,20,12,59,59],[2063,1,21,2,59,59],
+          '2062110413:00:00','2062110503:00:00','2063012012:59:59','2063012102:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,1,20,13,0,0],[2063,1,21,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2063,11,3,12,59,59],[2063,11,4,1,59,59],
+          '2063012013:00:00','2063012102:00:00','2063110312:59:59','2063110401:59:59' ],
+        [ [2063,11,3,13,0,0],[2063,11,4,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2064,1,19,12,59,59],[2064,1,20,2,59,59],
+          '2063110313:00:00','2063110403:00:00','2064011912:59:59','2064012002:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,1,19,13,0,0],[2064,1,20,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2064,11,1,12,59,59],[2064,11,2,1,59,59],
+          '2064011913:00:00','2064012002:00:00','2064110112:59:59','2064110201:59:59' ],
+        [ [2064,11,1,13,0,0],[2064,11,2,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2065,1,17,12,59,59],[2065,1,18,2,59,59],
+          '2064110113:00:00','2064110203:00:00','2065011712:59:59','2065011802:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,1,17,13,0,0],[2065,1,18,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2065,10,31,12,59,59],[2065,11,1,1,59,59],
+          '2065011713:00:00','2065011802:00:00','2065103112:59:59','2065110101:59:59' ],
+        [ [2065,10,31,13,0,0],[2065,11,1,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2066,1,16,12,59,59],[2066,1,17,2,59,59],
+          '2065103113:00:00','2065110103:00:00','2066011612:59:59','2066011702:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,1,16,13,0,0],[2066,1,17,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2066,11,6,12,59,59],[2066,11,7,1,59,59],
+          '2066011613:00:00','2066011702:00:00','2066110612:59:59','2066110701:59:59' ],
+        [ [2066,11,6,13,0,0],[2066,11,7,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2067,1,15,12,59,59],[2067,1,16,2,59,59],
+          '2066110613:00:00','2066110703:00:00','2067011512:59:59','2067011602:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,1,15,13,0,0],[2067,1,16,2,0,0],'+13:00:00',[13,0,0],
+          '+13',0,[2067,11,5,12,59,59],[2067,11,6,1,59,59],
+          '2067011513:00:00','2067011602:00:00','2067110512:59:59','2067110601:59:59' ],
+        [ [2067,11,5,13,0,0],[2067,11,6,3,0,0],'+14:00:00',[14,0,0],
+          '+14',1,[2068,1,14,12,59,59],[2068,1,15,2,59,59],
+          '2067110513:00:00','2067110603:00:00','2068011412:59:59','2068011502:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+14:00:00',
+                'stdoff' => '+13:00:00',
+               },
+   'rules'  => {
+                '01' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '15',
+                         'type'    => 'w',
+                         'time'    => '03:00:00',
+                         'isdst'   => '0',
+                         'abb'     => '+13',
+                        },
+                '11' => {
+                         'flag'    => 'ge',
+                         'dow'     => '7',
+                         'num'     => '1',
+                         'type'    => 'w',
+                         'time'    => '02:00:00',
+                         'isdst'   => '1',
+                         'abb'     => '+14',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pawake00.pm b/lib/Date/Manip/TZ/pawake00.pm
new file mode 100644
index 0000000..48f338d
--- /dev/null
+++ b/lib/Date/Manip/TZ/pawake00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pawake00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:25 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,6,28],'+11:06:28',[11,6,28],
+          'LMT',0,[1900,12,31,12,53,31],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010211:06:28','1900123112:53:31','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,12,53,32],[1901,1,1,0,53,32],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1900123112:53:32','1901010100:53:32','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/pawall00.pm b/lib/Date/Manip/TZ/pawall00.pm
new file mode 100644
index 0000000..1bd697a
--- /dev/null
+++ b/lib/Date/Manip/TZ/pawall00.pm
@@ -0,0 +1,49 @@
+package #
+Date::Manip::TZ::pawall00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,15,20],'+12:15:20',[12,15,20],
+          'LMT',0,[1900,12,31,11,44,39],[1900,12,31,23,59,59],
+          '0001010200:00:00','0001010212:15:20','1900123111:44:39','1900123123:59:59' ],
+     ],
+   1900 =>
+     [
+        [ [1900,12,31,11,44,40],[1900,12,31,23,44,40],'+12:00:00',[12,0,0],
+          '+12',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '1900123111:44:40','1900123123:44:40','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/q00.pm b/lib/Date/Manip/TZ/q00.pm
new file mode 100644
index 0000000..07cceff
--- /dev/null
+++ b/lib/Date/Manip/TZ/q00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::q00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,4,0,0],'+04:00:00',[4,0,0],
+          'Q',0,[9999,12,31,0,0,0],[9999,12,31,4,0,0],
+          '0001010200:00:00','0001010204:00:00','9999123100:00:00','9999123104:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/r00.pm b/lib/Date/Manip/TZ/r00.pm
new file mode 100644
index 0000000..72d79da
--- /dev/null
+++ b/lib/Date/Manip/TZ/r00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::r00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:23 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,5,0,0],'+05:00:00',[5,0,0],
+          'R',0,[9999,12,31,0,0,0],[9999,12,31,5,0,0],
+          '0001010200:00:00','0001010205:00:00','9999123100:00:00','9999123105:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/s00.pm b/lib/Date/Manip/TZ/s00.pm
new file mode 100644
index 0000000..ed42b79
--- /dev/null
+++ b/lib/Date/Manip/TZ/s00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::s00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,6,0,0],'+06:00:00',[6,0,0],
+          'S',0,[9999,12,31,0,0,0],[9999,12,31,6,0,0],
+          '0001010200:00:00','0001010206:00:00','9999123100:00:00','9999123106:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/t00.pm b/lib/Date/Manip/TZ/t00.pm
new file mode 100644
index 0000000..cdf1785
--- /dev/null
+++ b/lib/Date/Manip/TZ/t00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::t00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,7,0,0],'+07:00:00',[7,0,0],
+          'T',0,[9999,12,31,0,0,0],[9999,12,31,7,0,0],
+          '0001010200:00:00','0001010207:00:00','9999123100:00:00','9999123107:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/u00.pm b/lib/Date/Manip/TZ/u00.pm
new file mode 100644
index 0000000..1b4ac42
--- /dev/null
+++ b/lib/Date/Manip/TZ/u00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::u00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,8,0,0],'+08:00:00',[8,0,0],
+          'U',0,[9999,12,31,0,0,0],[9999,12,31,8,0,0],
+          '0001010200:00:00','0001010208:00:00','9999123100:00:00','9999123108:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/ut00.pm b/lib/Date/Manip/TZ/ut00.pm
new file mode 100644
index 0000000..1aaa61a
--- /dev/null
+++ b/lib/Date/Manip/TZ/ut00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::ut00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          'UT',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '0001010200:00:00','0001010200:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/utc00.pm b/lib/Date/Manip/TZ/utc00.pm
new file mode 100644
index 0000000..5dc4263
--- /dev/null
+++ b/lib/Date/Manip/TZ/utc00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::utc00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          'UTC',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '0001010200:00:00','0001010200:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/v00.pm b/lib/Date/Manip/TZ/v00.pm
new file mode 100644
index 0000000..cd42974
--- /dev/null
+++ b/lib/Date/Manip/TZ/v00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::v00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:28 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,9,0,0],'+09:00:00',[9,0,0],
+          'V',0,[9999,12,31,0,0,0],[9999,12,31,9,0,0],
+          '0001010200:00:00','0001010209:00:00','9999123100:00:00','9999123109:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/w00.pm b/lib/Date/Manip/TZ/w00.pm
new file mode 100644
index 0000000..ff51d35
--- /dev/null
+++ b/lib/Date/Manip/TZ/w00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::w00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:20 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,10,0,0],'+10:00:00',[10,0,0],
+          'W',0,[9999,12,31,0,0,0],[9999,12,31,10,0,0],
+          '0001010200:00:00','0001010210:00:00','9999123100:00:00','9999123110:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/wet00.pm b/lib/Date/Manip/TZ/wet00.pm
new file mode 100644
index 0000000..19346a1
--- /dev/null
+++ b/lib/Date/Manip/TZ/wet00.pm
@@ -0,0 +1,886 @@
+package #
+Date::Manip::TZ::wet00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:19 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1977,4,3,0,59,59],[1977,4,3,0,59,59],
+          '0001010200:00:00','0001010200:00:00','1977040300:59:59','1977040300:59:59' ],
+     ],
+   1977 =>
+     [
+        [ [1977,4,3,1,0,0],[1977,4,3,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1977,9,25,0,59,59],[1977,9,25,1,59,59],
+          '1977040301:00:00','1977040302:00:00','1977092500:59:59','1977092501:59:59' ],
+        [ [1977,9,25,1,0,0],[1977,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1978,4,2,0,59,59],[1978,4,2,0,59,59],
+          '1977092501:00:00','1977092501:00:00','1978040200:59:59','1978040200:59:59' ],
+     ],
+   1978 =>
+     [
+        [ [1978,4,2,1,0,0],[1978,4,2,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1978,10,1,0,59,59],[1978,10,1,1,59,59],
+          '1978040201:00:00','1978040202:00:00','1978100100:59:59','1978100101:59:59' ],
+        [ [1978,10,1,1,0,0],[1978,10,1,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1979,4,1,0,59,59],[1979,4,1,0,59,59],
+          '1978100101:00:00','1978100101:00:00','1979040100:59:59','1979040100:59:59' ],
+     ],
+   1979 =>
+     [
+        [ [1979,4,1,1,0,0],[1979,4,1,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1979,9,30,0,59,59],[1979,9,30,1,59,59],
+          '1979040101:00:00','1979040102:00:00','1979093000:59:59','1979093001:59:59' ],
+        [ [1979,9,30,1,0,0],[1979,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1980,4,6,0,59,59],[1980,4,6,0,59,59],
+          '1979093001:00:00','1979093001:00:00','1980040600:59:59','1980040600:59:59' ],
+     ],
+   1980 =>
+     [
+        [ [1980,4,6,1,0,0],[1980,4,6,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1980,9,28,0,59,59],[1980,9,28,1,59,59],
+          '1980040601:00:00','1980040602:00:00','1980092800:59:59','1980092801:59:59' ],
+        [ [1980,9,28,1,0,0],[1980,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1981,3,29,0,59,59],[1981,3,29,0,59,59],
+          '1980092801:00:00','1980092801:00:00','1981032900:59:59','1981032900:59:59' ],
+     ],
+   1981 =>
+     [
+        [ [1981,3,29,1,0,0],[1981,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1981,9,27,0,59,59],[1981,9,27,1,59,59],
+          '1981032901:00:00','1981032902:00:00','1981092700:59:59','1981092701:59:59' ],
+        [ [1981,9,27,1,0,0],[1981,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1982,3,28,0,59,59],[1982,3,28,0,59,59],
+          '1981092701:00:00','1981092701:00:00','1982032800:59:59','1982032800:59:59' ],
+     ],
+   1982 =>
+     [
+        [ [1982,3,28,1,0,0],[1982,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1982,9,26,0,59,59],[1982,9,26,1,59,59],
+          '1982032801:00:00','1982032802:00:00','1982092600:59:59','1982092601:59:59' ],
+        [ [1982,9,26,1,0,0],[1982,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1983,3,27,0,59,59],[1983,3,27,0,59,59],
+          '1982092601:00:00','1982092601:00:00','1983032700:59:59','1983032700:59:59' ],
+     ],
+   1983 =>
+     [
+        [ [1983,3,27,1,0,0],[1983,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1983,9,25,0,59,59],[1983,9,25,1,59,59],
+          '1983032701:00:00','1983032702:00:00','1983092500:59:59','1983092501:59:59' ],
+        [ [1983,9,25,1,0,0],[1983,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1984,3,25,0,59,59],[1984,3,25,0,59,59],
+          '1983092501:00:00','1983092501:00:00','1984032500:59:59','1984032500:59:59' ],
+     ],
+   1984 =>
+     [
+        [ [1984,3,25,1,0,0],[1984,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1984,9,30,0,59,59],[1984,9,30,1,59,59],
+          '1984032501:00:00','1984032502:00:00','1984093000:59:59','1984093001:59:59' ],
+        [ [1984,9,30,1,0,0],[1984,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1985,3,31,0,59,59],[1985,3,31,0,59,59],
+          '1984093001:00:00','1984093001:00:00','1985033100:59:59','1985033100:59:59' ],
+     ],
+   1985 =>
+     [
+        [ [1985,3,31,1,0,0],[1985,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1985,9,29,0,59,59],[1985,9,29,1,59,59],
+          '1985033101:00:00','1985033102:00:00','1985092900:59:59','1985092901:59:59' ],
+        [ [1985,9,29,1,0,0],[1985,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1986,3,30,0,59,59],[1986,3,30,0,59,59],
+          '1985092901:00:00','1985092901:00:00','1986033000:59:59','1986033000:59:59' ],
+     ],
+   1986 =>
+     [
+        [ [1986,3,30,1,0,0],[1986,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1986,9,28,0,59,59],[1986,9,28,1,59,59],
+          '1986033001:00:00','1986033002:00:00','1986092800:59:59','1986092801:59:59' ],
+        [ [1986,9,28,1,0,0],[1986,9,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1987,3,29,0,59,59],[1987,3,29,0,59,59],
+          '1986092801:00:00','1986092801:00:00','1987032900:59:59','1987032900:59:59' ],
+     ],
+   1987 =>
+     [
+        [ [1987,3,29,1,0,0],[1987,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1987,9,27,0,59,59],[1987,9,27,1,59,59],
+          '1987032901:00:00','1987032902:00:00','1987092700:59:59','1987092701:59:59' ],
+        [ [1987,9,27,1,0,0],[1987,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1988,3,27,0,59,59],[1988,3,27,0,59,59],
+          '1987092701:00:00','1987092701:00:00','1988032700:59:59','1988032700:59:59' ],
+     ],
+   1988 =>
+     [
+        [ [1988,3,27,1,0,0],[1988,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1988,9,25,0,59,59],[1988,9,25,1,59,59],
+          '1988032701:00:00','1988032702:00:00','1988092500:59:59','1988092501:59:59' ],
+        [ [1988,9,25,1,0,0],[1988,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1989,3,26,0,59,59],[1989,3,26,0,59,59],
+          '1988092501:00:00','1988092501:00:00','1989032600:59:59','1989032600:59:59' ],
+     ],
+   1989 =>
+     [
+        [ [1989,3,26,1,0,0],[1989,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1989,9,24,0,59,59],[1989,9,24,1,59,59],
+          '1989032601:00:00','1989032602:00:00','1989092400:59:59','1989092401:59:59' ],
+        [ [1989,9,24,1,0,0],[1989,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1990,3,25,0,59,59],[1990,3,25,0,59,59],
+          '1989092401:00:00','1989092401:00:00','1990032500:59:59','1990032500:59:59' ],
+     ],
+   1990 =>
+     [
+        [ [1990,3,25,1,0,0],[1990,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1990,9,30,0,59,59],[1990,9,30,1,59,59],
+          '1990032501:00:00','1990032502:00:00','1990093000:59:59','1990093001:59:59' ],
+        [ [1990,9,30,1,0,0],[1990,9,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1991,3,31,0,59,59],[1991,3,31,0,59,59],
+          '1990093001:00:00','1990093001:00:00','1991033100:59:59','1991033100:59:59' ],
+     ],
+   1991 =>
+     [
+        [ [1991,3,31,1,0,0],[1991,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1991,9,29,0,59,59],[1991,9,29,1,59,59],
+          '1991033101:00:00','1991033102:00:00','1991092900:59:59','1991092901:59:59' ],
+        [ [1991,9,29,1,0,0],[1991,9,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1992,3,29,0,59,59],[1992,3,29,0,59,59],
+          '1991092901:00:00','1991092901:00:00','1992032900:59:59','1992032900:59:59' ],
+     ],
+   1992 =>
+     [
+        [ [1992,3,29,1,0,0],[1992,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1992,9,27,0,59,59],[1992,9,27,1,59,59],
+          '1992032901:00:00','1992032902:00:00','1992092700:59:59','1992092701:59:59' ],
+        [ [1992,9,27,1,0,0],[1992,9,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1993,3,28,0,59,59],[1993,3,28,0,59,59],
+          '1992092701:00:00','1992092701:00:00','1993032800:59:59','1993032800:59:59' ],
+     ],
+   1993 =>
+     [
+        [ [1993,3,28,1,0,0],[1993,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1993,9,26,0,59,59],[1993,9,26,1,59,59],
+          '1993032801:00:00','1993032802:00:00','1993092600:59:59','1993092601:59:59' ],
+        [ [1993,9,26,1,0,0],[1993,9,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1994,3,27,0,59,59],[1994,3,27,0,59,59],
+          '1993092601:00:00','1993092601:00:00','1994032700:59:59','1994032700:59:59' ],
+     ],
+   1994 =>
+     [
+        [ [1994,3,27,1,0,0],[1994,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1994,9,25,0,59,59],[1994,9,25,1,59,59],
+          '1994032701:00:00','1994032702:00:00','1994092500:59:59','1994092501:59:59' ],
+        [ [1994,9,25,1,0,0],[1994,9,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1995,3,26,0,59,59],[1995,3,26,0,59,59],
+          '1994092501:00:00','1994092501:00:00','1995032600:59:59','1995032600:59:59' ],
+     ],
+   1995 =>
+     [
+        [ [1995,3,26,1,0,0],[1995,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1995,9,24,0,59,59],[1995,9,24,1,59,59],
+          '1995032601:00:00','1995032602:00:00','1995092400:59:59','1995092401:59:59' ],
+        [ [1995,9,24,1,0,0],[1995,9,24,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1996,3,31,0,59,59],[1996,3,31,0,59,59],
+          '1995092401:00:00','1995092401:00:00','1996033100:59:59','1996033100:59:59' ],
+     ],
+   1996 =>
+     [
+        [ [1996,3,31,1,0,0],[1996,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1996,10,27,0,59,59],[1996,10,27,1,59,59],
+          '1996033101:00:00','1996033102:00:00','1996102700:59:59','1996102701:59:59' ],
+        [ [1996,10,27,1,0,0],[1996,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1997,3,30,0,59,59],[1997,3,30,0,59,59],
+          '1996102701:00:00','1996102701:00:00','1997033000:59:59','1997033000:59:59' ],
+     ],
+   1997 =>
+     [
+        [ [1997,3,30,1,0,0],[1997,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1997,10,26,0,59,59],[1997,10,26,1,59,59],
+          '1997033001:00:00','1997033002:00:00','1997102600:59:59','1997102601:59:59' ],
+        [ [1997,10,26,1,0,0],[1997,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1998,3,29,0,59,59],[1998,3,29,0,59,59],
+          '1997102601:00:00','1997102601:00:00','1998032900:59:59','1998032900:59:59' ],
+     ],
+   1998 =>
+     [
+        [ [1998,3,29,1,0,0],[1998,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1998,10,25,0,59,59],[1998,10,25,1,59,59],
+          '1998032901:00:00','1998032902:00:00','1998102500:59:59','1998102501:59:59' ],
+        [ [1998,10,25,1,0,0],[1998,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[1999,3,28,0,59,59],[1999,3,28,0,59,59],
+          '1998102501:00:00','1998102501:00:00','1999032800:59:59','1999032800:59:59' ],
+     ],
+   1999 =>
+     [
+        [ [1999,3,28,1,0,0],[1999,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[1999,10,31,0,59,59],[1999,10,31,1,59,59],
+          '1999032801:00:00','1999032802:00:00','1999103100:59:59','1999103101:59:59' ],
+        [ [1999,10,31,1,0,0],[1999,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2000,3,26,0,59,59],[2000,3,26,0,59,59],
+          '1999103101:00:00','1999103101:00:00','2000032600:59:59','2000032600:59:59' ],
+     ],
+   2000 =>
+     [
+        [ [2000,3,26,1,0,0],[2000,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2000,10,29,0,59,59],[2000,10,29,1,59,59],
+          '2000032601:00:00','2000032602:00:00','2000102900:59:59','2000102901:59:59' ],
+        [ [2000,10,29,1,0,0],[2000,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2001,3,25,0,59,59],[2001,3,25,0,59,59],
+          '2000102901:00:00','2000102901:00:00','2001032500:59:59','2001032500:59:59' ],
+     ],
+   2001 =>
+     [
+        [ [2001,3,25,1,0,0],[2001,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2001,10,28,0,59,59],[2001,10,28,1,59,59],
+          '2001032501:00:00','2001032502:00:00','2001102800:59:59','2001102801:59:59' ],
+        [ [2001,10,28,1,0,0],[2001,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2002,3,31,0,59,59],[2002,3,31,0,59,59],
+          '2001102801:00:00','2001102801:00:00','2002033100:59:59','2002033100:59:59' ],
+     ],
+   2002 =>
+     [
+        [ [2002,3,31,1,0,0],[2002,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2002,10,27,0,59,59],[2002,10,27,1,59,59],
+          '2002033101:00:00','2002033102:00:00','2002102700:59:59','2002102701:59:59' ],
+        [ [2002,10,27,1,0,0],[2002,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2003,3,30,0,59,59],[2003,3,30,0,59,59],
+          '2002102701:00:00','2002102701:00:00','2003033000:59:59','2003033000:59:59' ],
+     ],
+   2003 =>
+     [
+        [ [2003,3,30,1,0,0],[2003,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2003,10,26,0,59,59],[2003,10,26,1,59,59],
+          '2003033001:00:00','2003033002:00:00','2003102600:59:59','2003102601:59:59' ],
+        [ [2003,10,26,1,0,0],[2003,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2004,3,28,0,59,59],[2004,3,28,0,59,59],
+          '2003102601:00:00','2003102601:00:00','2004032800:59:59','2004032800:59:59' ],
+     ],
+   2004 =>
+     [
+        [ [2004,3,28,1,0,0],[2004,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2004,10,31,0,59,59],[2004,10,31,1,59,59],
+          '2004032801:00:00','2004032802:00:00','2004103100:59:59','2004103101:59:59' ],
+        [ [2004,10,31,1,0,0],[2004,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2005,3,27,0,59,59],[2005,3,27,0,59,59],
+          '2004103101:00:00','2004103101:00:00','2005032700:59:59','2005032700:59:59' ],
+     ],
+   2005 =>
+     [
+        [ [2005,3,27,1,0,0],[2005,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2005,10,30,0,59,59],[2005,10,30,1,59,59],
+          '2005032701:00:00','2005032702:00:00','2005103000:59:59','2005103001:59:59' ],
+        [ [2005,10,30,1,0,0],[2005,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2006,3,26,0,59,59],[2006,3,26,0,59,59],
+          '2005103001:00:00','2005103001:00:00','2006032600:59:59','2006032600:59:59' ],
+     ],
+   2006 =>
+     [
+        [ [2006,3,26,1,0,0],[2006,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2006,10,29,0,59,59],[2006,10,29,1,59,59],
+          '2006032601:00:00','2006032602:00:00','2006102900:59:59','2006102901:59:59' ],
+        [ [2006,10,29,1,0,0],[2006,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2007,3,25,0,59,59],[2007,3,25,0,59,59],
+          '2006102901:00:00','2006102901:00:00','2007032500:59:59','2007032500:59:59' ],
+     ],
+   2007 =>
+     [
+        [ [2007,3,25,1,0,0],[2007,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2007,10,28,0,59,59],[2007,10,28,1,59,59],
+          '2007032501:00:00','2007032502:00:00','2007102800:59:59','2007102801:59:59' ],
+        [ [2007,10,28,1,0,0],[2007,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2008,3,30,0,59,59],[2008,3,30,0,59,59],
+          '2007102801:00:00','2007102801:00:00','2008033000:59:59','2008033000:59:59' ],
+     ],
+   2008 =>
+     [
+        [ [2008,3,30,1,0,0],[2008,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2008,10,26,0,59,59],[2008,10,26,1,59,59],
+          '2008033001:00:00','2008033002:00:00','2008102600:59:59','2008102601:59:59' ],
+        [ [2008,10,26,1,0,0],[2008,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2009,3,29,0,59,59],[2009,3,29,0,59,59],
+          '2008102601:00:00','2008102601:00:00','2009032900:59:59','2009032900:59:59' ],
+     ],
+   2009 =>
+     [
+        [ [2009,3,29,1,0,0],[2009,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2009,10,25,0,59,59],[2009,10,25,1,59,59],
+          '2009032901:00:00','2009032902:00:00','2009102500:59:59','2009102501:59:59' ],
+        [ [2009,10,25,1,0,0],[2009,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2010,3,28,0,59,59],[2010,3,28,0,59,59],
+          '2009102501:00:00','2009102501:00:00','2010032800:59:59','2010032800:59:59' ],
+     ],
+   2010 =>
+     [
+        [ [2010,3,28,1,0,0],[2010,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2010,10,31,0,59,59],[2010,10,31,1,59,59],
+          '2010032801:00:00','2010032802:00:00','2010103100:59:59','2010103101:59:59' ],
+        [ [2010,10,31,1,0,0],[2010,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2011,3,27,0,59,59],[2011,3,27,0,59,59],
+          '2010103101:00:00','2010103101:00:00','2011032700:59:59','2011032700:59:59' ],
+     ],
+   2011 =>
+     [
+        [ [2011,3,27,1,0,0],[2011,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2011,10,30,0,59,59],[2011,10,30,1,59,59],
+          '2011032701:00:00','2011032702:00:00','2011103000:59:59','2011103001:59:59' ],
+        [ [2011,10,30,1,0,0],[2011,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2012,3,25,0,59,59],[2012,3,25,0,59,59],
+          '2011103001:00:00','2011103001:00:00','2012032500:59:59','2012032500:59:59' ],
+     ],
+   2012 =>
+     [
+        [ [2012,3,25,1,0,0],[2012,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2012,10,28,0,59,59],[2012,10,28,1,59,59],
+          '2012032501:00:00','2012032502:00:00','2012102800:59:59','2012102801:59:59' ],
+        [ [2012,10,28,1,0,0],[2012,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2013,3,31,0,59,59],[2013,3,31,0,59,59],
+          '2012102801:00:00','2012102801:00:00','2013033100:59:59','2013033100:59:59' ],
+     ],
+   2013 =>
+     [
+        [ [2013,3,31,1,0,0],[2013,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2013,10,27,0,59,59],[2013,10,27,1,59,59],
+          '2013033101:00:00','2013033102:00:00','2013102700:59:59','2013102701:59:59' ],
+        [ [2013,10,27,1,0,0],[2013,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2014,3,30,0,59,59],[2014,3,30,0,59,59],
+          '2013102701:00:00','2013102701:00:00','2014033000:59:59','2014033000:59:59' ],
+     ],
+   2014 =>
+     [
+        [ [2014,3,30,1,0,0],[2014,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2014,10,26,0,59,59],[2014,10,26,1,59,59],
+          '2014033001:00:00','2014033002:00:00','2014102600:59:59','2014102601:59:59' ],
+        [ [2014,10,26,1,0,0],[2014,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2015,3,29,0,59,59],[2015,3,29,0,59,59],
+          '2014102601:00:00','2014102601:00:00','2015032900:59:59','2015032900:59:59' ],
+     ],
+   2015 =>
+     [
+        [ [2015,3,29,1,0,0],[2015,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2015,10,25,0,59,59],[2015,10,25,1,59,59],
+          '2015032901:00:00','2015032902:00:00','2015102500:59:59','2015102501:59:59' ],
+        [ [2015,10,25,1,0,0],[2015,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2016,3,27,0,59,59],[2016,3,27,0,59,59],
+          '2015102501:00:00','2015102501:00:00','2016032700:59:59','2016032700:59:59' ],
+     ],
+   2016 =>
+     [
+        [ [2016,3,27,1,0,0],[2016,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2016,10,30,0,59,59],[2016,10,30,1,59,59],
+          '2016032701:00:00','2016032702:00:00','2016103000:59:59','2016103001:59:59' ],
+        [ [2016,10,30,1,0,0],[2016,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2017,3,26,0,59,59],[2017,3,26,0,59,59],
+          '2016103001:00:00','2016103001:00:00','2017032600:59:59','2017032600:59:59' ],
+     ],
+   2017 =>
+     [
+        [ [2017,3,26,1,0,0],[2017,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2017,10,29,0,59,59],[2017,10,29,1,59,59],
+          '2017032601:00:00','2017032602:00:00','2017102900:59:59','2017102901:59:59' ],
+        [ [2017,10,29,1,0,0],[2017,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2018,3,25,0,59,59],[2018,3,25,0,59,59],
+          '2017102901:00:00','2017102901:00:00','2018032500:59:59','2018032500:59:59' ],
+     ],
+   2018 =>
+     [
+        [ [2018,3,25,1,0,0],[2018,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2018,10,28,0,59,59],[2018,10,28,1,59,59],
+          '2018032501:00:00','2018032502:00:00','2018102800:59:59','2018102801:59:59' ],
+        [ [2018,10,28,1,0,0],[2018,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2019,3,31,0,59,59],[2019,3,31,0,59,59],
+          '2018102801:00:00','2018102801:00:00','2019033100:59:59','2019033100:59:59' ],
+     ],
+   2019 =>
+     [
+        [ [2019,3,31,1,0,0],[2019,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2019,10,27,0,59,59],[2019,10,27,1,59,59],
+          '2019033101:00:00','2019033102:00:00','2019102700:59:59','2019102701:59:59' ],
+        [ [2019,10,27,1,0,0],[2019,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2020,3,29,0,59,59],[2020,3,29,0,59,59],
+          '2019102701:00:00','2019102701:00:00','2020032900:59:59','2020032900:59:59' ],
+     ],
+   2020 =>
+     [
+        [ [2020,3,29,1,0,0],[2020,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2020,10,25,0,59,59],[2020,10,25,1,59,59],
+          '2020032901:00:00','2020032902:00:00','2020102500:59:59','2020102501:59:59' ],
+        [ [2020,10,25,1,0,0],[2020,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2021,3,28,0,59,59],[2021,3,28,0,59,59],
+          '2020102501:00:00','2020102501:00:00','2021032800:59:59','2021032800:59:59' ],
+     ],
+   2021 =>
+     [
+        [ [2021,3,28,1,0,0],[2021,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2021,10,31,0,59,59],[2021,10,31,1,59,59],
+          '2021032801:00:00','2021032802:00:00','2021103100:59:59','2021103101:59:59' ],
+        [ [2021,10,31,1,0,0],[2021,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2022,3,27,0,59,59],[2022,3,27,0,59,59],
+          '2021103101:00:00','2021103101:00:00','2022032700:59:59','2022032700:59:59' ],
+     ],
+   2022 =>
+     [
+        [ [2022,3,27,1,0,0],[2022,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2022,10,30,0,59,59],[2022,10,30,1,59,59],
+          '2022032701:00:00','2022032702:00:00','2022103000:59:59','2022103001:59:59' ],
+        [ [2022,10,30,1,0,0],[2022,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2023,3,26,0,59,59],[2023,3,26,0,59,59],
+          '2022103001:00:00','2022103001:00:00','2023032600:59:59','2023032600:59:59' ],
+     ],
+   2023 =>
+     [
+        [ [2023,3,26,1,0,0],[2023,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2023,10,29,0,59,59],[2023,10,29,1,59,59],
+          '2023032601:00:00','2023032602:00:00','2023102900:59:59','2023102901:59:59' ],
+        [ [2023,10,29,1,0,0],[2023,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2024,3,31,0,59,59],[2024,3,31,0,59,59],
+          '2023102901:00:00','2023102901:00:00','2024033100:59:59','2024033100:59:59' ],
+     ],
+   2024 =>
+     [
+        [ [2024,3,31,1,0,0],[2024,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2024,10,27,0,59,59],[2024,10,27,1,59,59],
+          '2024033101:00:00','2024033102:00:00','2024102700:59:59','2024102701:59:59' ],
+        [ [2024,10,27,1,0,0],[2024,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2025,3,30,0,59,59],[2025,3,30,0,59,59],
+          '2024102701:00:00','2024102701:00:00','2025033000:59:59','2025033000:59:59' ],
+     ],
+   2025 =>
+     [
+        [ [2025,3,30,1,0,0],[2025,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2025,10,26,0,59,59],[2025,10,26,1,59,59],
+          '2025033001:00:00','2025033002:00:00','2025102600:59:59','2025102601:59:59' ],
+        [ [2025,10,26,1,0,0],[2025,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2026,3,29,0,59,59],[2026,3,29,0,59,59],
+          '2025102601:00:00','2025102601:00:00','2026032900:59:59','2026032900:59:59' ],
+     ],
+   2026 =>
+     [
+        [ [2026,3,29,1,0,0],[2026,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2026,10,25,0,59,59],[2026,10,25,1,59,59],
+          '2026032901:00:00','2026032902:00:00','2026102500:59:59','2026102501:59:59' ],
+        [ [2026,10,25,1,0,0],[2026,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2027,3,28,0,59,59],[2027,3,28,0,59,59],
+          '2026102501:00:00','2026102501:00:00','2027032800:59:59','2027032800:59:59' ],
+     ],
+   2027 =>
+     [
+        [ [2027,3,28,1,0,0],[2027,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2027,10,31,0,59,59],[2027,10,31,1,59,59],
+          '2027032801:00:00','2027032802:00:00','2027103100:59:59','2027103101:59:59' ],
+        [ [2027,10,31,1,0,0],[2027,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2028,3,26,0,59,59],[2028,3,26,0,59,59],
+          '2027103101:00:00','2027103101:00:00','2028032600:59:59','2028032600:59:59' ],
+     ],
+   2028 =>
+     [
+        [ [2028,3,26,1,0,0],[2028,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2028,10,29,0,59,59],[2028,10,29,1,59,59],
+          '2028032601:00:00','2028032602:00:00','2028102900:59:59','2028102901:59:59' ],
+        [ [2028,10,29,1,0,0],[2028,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2029,3,25,0,59,59],[2029,3,25,0,59,59],
+          '2028102901:00:00','2028102901:00:00','2029032500:59:59','2029032500:59:59' ],
+     ],
+   2029 =>
+     [
+        [ [2029,3,25,1,0,0],[2029,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2029,10,28,0,59,59],[2029,10,28,1,59,59],
+          '2029032501:00:00','2029032502:00:00','2029102800:59:59','2029102801:59:59' ],
+        [ [2029,10,28,1,0,0],[2029,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2030,3,31,0,59,59],[2030,3,31,0,59,59],
+          '2029102801:00:00','2029102801:00:00','2030033100:59:59','2030033100:59:59' ],
+     ],
+   2030 =>
+     [
+        [ [2030,3,31,1,0,0],[2030,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2030,10,27,0,59,59],[2030,10,27,1,59,59],
+          '2030033101:00:00','2030033102:00:00','2030102700:59:59','2030102701:59:59' ],
+        [ [2030,10,27,1,0,0],[2030,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2031,3,30,0,59,59],[2031,3,30,0,59,59],
+          '2030102701:00:00','2030102701:00:00','2031033000:59:59','2031033000:59:59' ],
+     ],
+   2031 =>
+     [
+        [ [2031,3,30,1,0,0],[2031,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2031,10,26,0,59,59],[2031,10,26,1,59,59],
+          '2031033001:00:00','2031033002:00:00','2031102600:59:59','2031102601:59:59' ],
+        [ [2031,10,26,1,0,0],[2031,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2032,3,28,0,59,59],[2032,3,28,0,59,59],
+          '2031102601:00:00','2031102601:00:00','2032032800:59:59','2032032800:59:59' ],
+     ],
+   2032 =>
+     [
+        [ [2032,3,28,1,0,0],[2032,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2032,10,31,0,59,59],[2032,10,31,1,59,59],
+          '2032032801:00:00','2032032802:00:00','2032103100:59:59','2032103101:59:59' ],
+        [ [2032,10,31,1,0,0],[2032,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2033,3,27,0,59,59],[2033,3,27,0,59,59],
+          '2032103101:00:00','2032103101:00:00','2033032700:59:59','2033032700:59:59' ],
+     ],
+   2033 =>
+     [
+        [ [2033,3,27,1,0,0],[2033,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2033,10,30,0,59,59],[2033,10,30,1,59,59],
+          '2033032701:00:00','2033032702:00:00','2033103000:59:59','2033103001:59:59' ],
+        [ [2033,10,30,1,0,0],[2033,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2034,3,26,0,59,59],[2034,3,26,0,59,59],
+          '2033103001:00:00','2033103001:00:00','2034032600:59:59','2034032600:59:59' ],
+     ],
+   2034 =>
+     [
+        [ [2034,3,26,1,0,0],[2034,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2034,10,29,0,59,59],[2034,10,29,1,59,59],
+          '2034032601:00:00','2034032602:00:00','2034102900:59:59','2034102901:59:59' ],
+        [ [2034,10,29,1,0,0],[2034,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2035,3,25,0,59,59],[2035,3,25,0,59,59],
+          '2034102901:00:00','2034102901:00:00','2035032500:59:59','2035032500:59:59' ],
+     ],
+   2035 =>
+     [
+        [ [2035,3,25,1,0,0],[2035,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2035,10,28,0,59,59],[2035,10,28,1,59,59],
+          '2035032501:00:00','2035032502:00:00','2035102800:59:59','2035102801:59:59' ],
+        [ [2035,10,28,1,0,0],[2035,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2036,3,30,0,59,59],[2036,3,30,0,59,59],
+          '2035102801:00:00','2035102801:00:00','2036033000:59:59','2036033000:59:59' ],
+     ],
+   2036 =>
+     [
+        [ [2036,3,30,1,0,0],[2036,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2036,10,26,0,59,59],[2036,10,26,1,59,59],
+          '2036033001:00:00','2036033002:00:00','2036102600:59:59','2036102601:59:59' ],
+        [ [2036,10,26,1,0,0],[2036,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2037,3,29,0,59,59],[2037,3,29,0,59,59],
+          '2036102601:00:00','2036102601:00:00','2037032900:59:59','2037032900:59:59' ],
+     ],
+   2037 =>
+     [
+        [ [2037,3,29,1,0,0],[2037,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2037,10,25,0,59,59],[2037,10,25,1,59,59],
+          '2037032901:00:00','2037032902:00:00','2037102500:59:59','2037102501:59:59' ],
+        [ [2037,10,25,1,0,0],[2037,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2038,3,28,0,59,59],[2038,3,28,0,59,59],
+          '2037102501:00:00','2037102501:00:00','2038032800:59:59','2038032800:59:59' ],
+     ],
+   2038 =>
+     [
+        [ [2038,3,28,1,0,0],[2038,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2038,10,31,0,59,59],[2038,10,31,1,59,59],
+          '2038032801:00:00','2038032802:00:00','2038103100:59:59','2038103101:59:59' ],
+        [ [2038,10,31,1,0,0],[2038,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2039,3,27,0,59,59],[2039,3,27,0,59,59],
+          '2038103101:00:00','2038103101:00:00','2039032700:59:59','2039032700:59:59' ],
+     ],
+   2039 =>
+     [
+        [ [2039,3,27,1,0,0],[2039,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2039,10,30,0,59,59],[2039,10,30,1,59,59],
+          '2039032701:00:00','2039032702:00:00','2039103000:59:59','2039103001:59:59' ],
+        [ [2039,10,30,1,0,0],[2039,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2040,3,25,0,59,59],[2040,3,25,0,59,59],
+          '2039103001:00:00','2039103001:00:00','2040032500:59:59','2040032500:59:59' ],
+     ],
+   2040 =>
+     [
+        [ [2040,3,25,1,0,0],[2040,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2040,10,28,0,59,59],[2040,10,28,1,59,59],
+          '2040032501:00:00','2040032502:00:00','2040102800:59:59','2040102801:59:59' ],
+        [ [2040,10,28,1,0,0],[2040,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2041,3,31,0,59,59],[2041,3,31,0,59,59],
+          '2040102801:00:00','2040102801:00:00','2041033100:59:59','2041033100:59:59' ],
+     ],
+   2041 =>
+     [
+        [ [2041,3,31,1,0,0],[2041,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2041,10,27,0,59,59],[2041,10,27,1,59,59],
+          '2041033101:00:00','2041033102:00:00','2041102700:59:59','2041102701:59:59' ],
+        [ [2041,10,27,1,0,0],[2041,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2042,3,30,0,59,59],[2042,3,30,0,59,59],
+          '2041102701:00:00','2041102701:00:00','2042033000:59:59','2042033000:59:59' ],
+     ],
+   2042 =>
+     [
+        [ [2042,3,30,1,0,0],[2042,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2042,10,26,0,59,59],[2042,10,26,1,59,59],
+          '2042033001:00:00','2042033002:00:00','2042102600:59:59','2042102601:59:59' ],
+        [ [2042,10,26,1,0,0],[2042,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2043,3,29,0,59,59],[2043,3,29,0,59,59],
+          '2042102601:00:00','2042102601:00:00','2043032900:59:59','2043032900:59:59' ],
+     ],
+   2043 =>
+     [
+        [ [2043,3,29,1,0,0],[2043,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2043,10,25,0,59,59],[2043,10,25,1,59,59],
+          '2043032901:00:00','2043032902:00:00','2043102500:59:59','2043102501:59:59' ],
+        [ [2043,10,25,1,0,0],[2043,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2044,3,27,0,59,59],[2044,3,27,0,59,59],
+          '2043102501:00:00','2043102501:00:00','2044032700:59:59','2044032700:59:59' ],
+     ],
+   2044 =>
+     [
+        [ [2044,3,27,1,0,0],[2044,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2044,10,30,0,59,59],[2044,10,30,1,59,59],
+          '2044032701:00:00','2044032702:00:00','2044103000:59:59','2044103001:59:59' ],
+        [ [2044,10,30,1,0,0],[2044,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2045,3,26,0,59,59],[2045,3,26,0,59,59],
+          '2044103001:00:00','2044103001:00:00','2045032600:59:59','2045032600:59:59' ],
+     ],
+   2045 =>
+     [
+        [ [2045,3,26,1,0,0],[2045,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2045,10,29,0,59,59],[2045,10,29,1,59,59],
+          '2045032601:00:00','2045032602:00:00','2045102900:59:59','2045102901:59:59' ],
+        [ [2045,10,29,1,0,0],[2045,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2046,3,25,0,59,59],[2046,3,25,0,59,59],
+          '2045102901:00:00','2045102901:00:00','2046032500:59:59','2046032500:59:59' ],
+     ],
+   2046 =>
+     [
+        [ [2046,3,25,1,0,0],[2046,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2046,10,28,0,59,59],[2046,10,28,1,59,59],
+          '2046032501:00:00','2046032502:00:00','2046102800:59:59','2046102801:59:59' ],
+        [ [2046,10,28,1,0,0],[2046,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2047,3,31,0,59,59],[2047,3,31,0,59,59],
+          '2046102801:00:00','2046102801:00:00','2047033100:59:59','2047033100:59:59' ],
+     ],
+   2047 =>
+     [
+        [ [2047,3,31,1,0,0],[2047,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2047,10,27,0,59,59],[2047,10,27,1,59,59],
+          '2047033101:00:00','2047033102:00:00','2047102700:59:59','2047102701:59:59' ],
+        [ [2047,10,27,1,0,0],[2047,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2048,3,29,0,59,59],[2048,3,29,0,59,59],
+          '2047102701:00:00','2047102701:00:00','2048032900:59:59','2048032900:59:59' ],
+     ],
+   2048 =>
+     [
+        [ [2048,3,29,1,0,0],[2048,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2048,10,25,0,59,59],[2048,10,25,1,59,59],
+          '2048032901:00:00','2048032902:00:00','2048102500:59:59','2048102501:59:59' ],
+        [ [2048,10,25,1,0,0],[2048,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2049,3,28,0,59,59],[2049,3,28,0,59,59],
+          '2048102501:00:00','2048102501:00:00','2049032800:59:59','2049032800:59:59' ],
+     ],
+   2049 =>
+     [
+        [ [2049,3,28,1,0,0],[2049,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2049,10,31,0,59,59],[2049,10,31,1,59,59],
+          '2049032801:00:00','2049032802:00:00','2049103100:59:59','2049103101:59:59' ],
+        [ [2049,10,31,1,0,0],[2049,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2050,3,27,0,59,59],[2050,3,27,0,59,59],
+          '2049103101:00:00','2049103101:00:00','2050032700:59:59','2050032700:59:59' ],
+     ],
+   2050 =>
+     [
+        [ [2050,3,27,1,0,0],[2050,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2050,10,30,0,59,59],[2050,10,30,1,59,59],
+          '2050032701:00:00','2050032702:00:00','2050103000:59:59','2050103001:59:59' ],
+        [ [2050,10,30,1,0,0],[2050,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2051,3,26,0,59,59],[2051,3,26,0,59,59],
+          '2050103001:00:00','2050103001:00:00','2051032600:59:59','2051032600:59:59' ],
+     ],
+   2051 =>
+     [
+        [ [2051,3,26,1,0,0],[2051,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2051,10,29,0,59,59],[2051,10,29,1,59,59],
+          '2051032601:00:00','2051032602:00:00','2051102900:59:59','2051102901:59:59' ],
+        [ [2051,10,29,1,0,0],[2051,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2052,3,31,0,59,59],[2052,3,31,0,59,59],
+          '2051102901:00:00','2051102901:00:00','2052033100:59:59','2052033100:59:59' ],
+     ],
+   2052 =>
+     [
+        [ [2052,3,31,1,0,0],[2052,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2052,10,27,0,59,59],[2052,10,27,1,59,59],
+          '2052033101:00:00','2052033102:00:00','2052102700:59:59','2052102701:59:59' ],
+        [ [2052,10,27,1,0,0],[2052,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2053,3,30,0,59,59],[2053,3,30,0,59,59],
+          '2052102701:00:00','2052102701:00:00','2053033000:59:59','2053033000:59:59' ],
+     ],
+   2053 =>
+     [
+        [ [2053,3,30,1,0,0],[2053,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2053,10,26,0,59,59],[2053,10,26,1,59,59],
+          '2053033001:00:00','2053033002:00:00','2053102600:59:59','2053102601:59:59' ],
+        [ [2053,10,26,1,0,0],[2053,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2054,3,29,0,59,59],[2054,3,29,0,59,59],
+          '2053102601:00:00','2053102601:00:00','2054032900:59:59','2054032900:59:59' ],
+     ],
+   2054 =>
+     [
+        [ [2054,3,29,1,0,0],[2054,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2054,10,25,0,59,59],[2054,10,25,1,59,59],
+          '2054032901:00:00','2054032902:00:00','2054102500:59:59','2054102501:59:59' ],
+        [ [2054,10,25,1,0,0],[2054,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2055,3,28,0,59,59],[2055,3,28,0,59,59],
+          '2054102501:00:00','2054102501:00:00','2055032800:59:59','2055032800:59:59' ],
+     ],
+   2055 =>
+     [
+        [ [2055,3,28,1,0,0],[2055,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2055,10,31,0,59,59],[2055,10,31,1,59,59],
+          '2055032801:00:00','2055032802:00:00','2055103100:59:59','2055103101:59:59' ],
+        [ [2055,10,31,1,0,0],[2055,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2056,3,26,0,59,59],[2056,3,26,0,59,59],
+          '2055103101:00:00','2055103101:00:00','2056032600:59:59','2056032600:59:59' ],
+     ],
+   2056 =>
+     [
+        [ [2056,3,26,1,0,0],[2056,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2056,10,29,0,59,59],[2056,10,29,1,59,59],
+          '2056032601:00:00','2056032602:00:00','2056102900:59:59','2056102901:59:59' ],
+        [ [2056,10,29,1,0,0],[2056,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2057,3,25,0,59,59],[2057,3,25,0,59,59],
+          '2056102901:00:00','2056102901:00:00','2057032500:59:59','2057032500:59:59' ],
+     ],
+   2057 =>
+     [
+        [ [2057,3,25,1,0,0],[2057,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2057,10,28,0,59,59],[2057,10,28,1,59,59],
+          '2057032501:00:00','2057032502:00:00','2057102800:59:59','2057102801:59:59' ],
+        [ [2057,10,28,1,0,0],[2057,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2058,3,31,0,59,59],[2058,3,31,0,59,59],
+          '2057102801:00:00','2057102801:00:00','2058033100:59:59','2058033100:59:59' ],
+     ],
+   2058 =>
+     [
+        [ [2058,3,31,1,0,0],[2058,3,31,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2058,10,27,0,59,59],[2058,10,27,1,59,59],
+          '2058033101:00:00','2058033102:00:00','2058102700:59:59','2058102701:59:59' ],
+        [ [2058,10,27,1,0,0],[2058,10,27,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2059,3,30,0,59,59],[2059,3,30,0,59,59],
+          '2058102701:00:00','2058102701:00:00','2059033000:59:59','2059033000:59:59' ],
+     ],
+   2059 =>
+     [
+        [ [2059,3,30,1,0,0],[2059,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2059,10,26,0,59,59],[2059,10,26,1,59,59],
+          '2059033001:00:00','2059033002:00:00','2059102600:59:59','2059102601:59:59' ],
+        [ [2059,10,26,1,0,0],[2059,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2060,3,28,0,59,59],[2060,3,28,0,59,59],
+          '2059102601:00:00','2059102601:00:00','2060032800:59:59','2060032800:59:59' ],
+     ],
+   2060 =>
+     [
+        [ [2060,3,28,1,0,0],[2060,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2060,10,31,0,59,59],[2060,10,31,1,59,59],
+          '2060032801:00:00','2060032802:00:00','2060103100:59:59','2060103101:59:59' ],
+        [ [2060,10,31,1,0,0],[2060,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2061,3,27,0,59,59],[2061,3,27,0,59,59],
+          '2060103101:00:00','2060103101:00:00','2061032700:59:59','2061032700:59:59' ],
+     ],
+   2061 =>
+     [
+        [ [2061,3,27,1,0,0],[2061,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2061,10,30,0,59,59],[2061,10,30,1,59,59],
+          '2061032701:00:00','2061032702:00:00','2061103000:59:59','2061103001:59:59' ],
+        [ [2061,10,30,1,0,0],[2061,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2062,3,26,0,59,59],[2062,3,26,0,59,59],
+          '2061103001:00:00','2061103001:00:00','2062032600:59:59','2062032600:59:59' ],
+     ],
+   2062 =>
+     [
+        [ [2062,3,26,1,0,0],[2062,3,26,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2062,10,29,0,59,59],[2062,10,29,1,59,59],
+          '2062032601:00:00','2062032602:00:00','2062102900:59:59','2062102901:59:59' ],
+        [ [2062,10,29,1,0,0],[2062,10,29,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2063,3,25,0,59,59],[2063,3,25,0,59,59],
+          '2062102901:00:00','2062102901:00:00','2063032500:59:59','2063032500:59:59' ],
+     ],
+   2063 =>
+     [
+        [ [2063,3,25,1,0,0],[2063,3,25,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2063,10,28,0,59,59],[2063,10,28,1,59,59],
+          '2063032501:00:00','2063032502:00:00','2063102800:59:59','2063102801:59:59' ],
+        [ [2063,10,28,1,0,0],[2063,10,28,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2064,3,30,0,59,59],[2064,3,30,0,59,59],
+          '2063102801:00:00','2063102801:00:00','2064033000:59:59','2064033000:59:59' ],
+     ],
+   2064 =>
+     [
+        [ [2064,3,30,1,0,0],[2064,3,30,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2064,10,26,0,59,59],[2064,10,26,1,59,59],
+          '2064033001:00:00','2064033002:00:00','2064102600:59:59','2064102601:59:59' ],
+        [ [2064,10,26,1,0,0],[2064,10,26,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2065,3,29,0,59,59],[2065,3,29,0,59,59],
+          '2064102601:00:00','2064102601:00:00','2065032900:59:59','2065032900:59:59' ],
+     ],
+   2065 =>
+     [
+        [ [2065,3,29,1,0,0],[2065,3,29,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2065,10,25,0,59,59],[2065,10,25,1,59,59],
+          '2065032901:00:00','2065032902:00:00','2065102500:59:59','2065102501:59:59' ],
+        [ [2065,10,25,1,0,0],[2065,10,25,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2066,3,28,0,59,59],[2066,3,28,0,59,59],
+          '2065102501:00:00','2065102501:00:00','2066032800:59:59','2066032800:59:59' ],
+     ],
+   2066 =>
+     [
+        [ [2066,3,28,1,0,0],[2066,3,28,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2066,10,31,0,59,59],[2066,10,31,1,59,59],
+          '2066032801:00:00','2066032802:00:00','2066103100:59:59','2066103101:59:59' ],
+        [ [2066,10,31,1,0,0],[2066,10,31,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2067,3,27,0,59,59],[2067,3,27,0,59,59],
+          '2066103101:00:00','2066103101:00:00','2067032700:59:59','2067032700:59:59' ],
+     ],
+   2067 =>
+     [
+        [ [2067,3,27,1,0,0],[2067,3,27,2,0,0],'+01:00:00',[1,0,0],
+          'WEST',1,[2067,10,30,0,59,59],[2067,10,30,1,59,59],
+          '2067032701:00:00','2067032702:00:00','2067103000:59:59','2067103001:59:59' ],
+        [ [2067,10,30,1,0,0],[2067,10,30,1,0,0],'+00:00:00',[0,0,0],
+          'WET',0,[2068,3,25,0,59,59],[2068,3,25,0,59,59],
+          '2067103001:00:00','2067103001:00:00','2068032500:59:59','2068032500:59:59' ],
+     ],
+);
+
+%LastRule      = (
+   'zone'   => {
+                'dstoff' => '+01:00:00',
+                'stdoff' => '+00:00:00',
+               },
+   'rules'  => {
+                '03' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '1',
+                         'abb'     => 'WEST',
+                        },
+                '10' => {
+                         'flag'    => 'last',
+                         'dow'     => '7',
+                         'num'     => '0',
+                         'type'    => 'u',
+                         'time'    => '01:00:00',
+                         'isdst'   => '0',
+                         'abb'     => 'WET',
+                        },
+               },
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/x00.pm b/lib/Date/Manip/TZ/x00.pm
new file mode 100644
index 0000000..93dbe94
--- /dev/null
+++ b/lib/Date/Manip/TZ/x00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::x00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:26 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,11,0,0],'+11:00:00',[11,0,0],
+          'X',0,[9999,12,31,0,0,0],[9999,12,31,11,0,0],
+          '0001010200:00:00','0001010211:00:00','9999123100:00:00','9999123111:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/y00.pm b/lib/Date/Manip/TZ/y00.pm
new file mode 100644
index 0000000..0fba516
--- /dev/null
+++ b/lib/Date/Manip/TZ/y00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::y00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:27 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,12,0,0],'+12:00:00',[12,0,0],
+          'Y',0,[9999,12,31,0,0,0],[9999,12,31,12,0,0],
+          '0001010200:00:00','0001010212:00:00','9999123100:00:00','9999123112:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ/z00.pm b/lib/Date/Manip/TZ/z00.pm
new file mode 100644
index 0000000..fe7807f
--- /dev/null
+++ b/lib/Date/Manip/TZ/z00.pm
@@ -0,0 +1,43 @@
+package #
+Date::Manip::TZ::z00;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:43:18 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our (%Dates,%LastRule);
+END {
+   undef %Dates;
+   undef %LastRule;
+}
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+%Dates         = (
+   1    =>
+     [
+        [ [1,1,2,0,0,0],[1,1,2,0,0,0],'+00:00:00',[0,0,0],
+          'Z',0,[9999,12,31,0,0,0],[9999,12,31,0,0,0],
+          '0001010200:00:00','0001010200:00:00','9999123100:00:00','9999123100:00:00' ],
+     ],
+);
+
+%LastRule      = (
+);
+
+1;
diff --git a/lib/Date/Manip/TZ_Base.pm b/lib/Date/Manip/TZ_Base.pm
new file mode 100644
index 0000000..a4924a4
--- /dev/null
+++ b/lib/Date/Manip/TZ_Base.pm
@@ -0,0 +1,420 @@
+package Date::Manip::TZ_Base;
+# Copyright (c) 2010-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+########################################################################
+########################################################################
+
+require 5.010000;
+use warnings;
+use strict;
+use IO::File;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+########################################################################
+# METHODS
+########################################################################
+
+sub _config_var {
+   my($self,$var,$val) = @_;
+   $var = lc($var);
+
+   # A simple flag used to force a new configuration, but has
+   # no other affect.
+   return  if ($var eq 'ignore');
+
+   my $istz     = ref($self) eq 'Date::Manip::TZ';
+
+   if ($istz  &&  ($var eq 'tz'         ||
+                   $var eq 'forcedate'  ||
+                   $var eq 'setdate'    ||
+                   $var eq 'configfile')) {
+      if ($var eq 'tz') {
+         warn "WARNING: the TZ Date::Manip config variable is deprecated\n" .
+              "         and will be removed in March 2017.  Please use\n" .
+              "         the SetDate or ForceDate config variables instead.\n";
+      }
+      return $self->_config_var_tz($var,$val);
+   } else {
+      my $base  = ($istz ? $$self{'base'} : $self);
+      return $base->_config_var_base($var,$val);
+   }
+}
+
+# This reads a config file
+#
+sub _config_file {
+   my($self,$file) = @_;
+
+   return  if (! $file);
+
+   if (! -f $file) {
+      warn "ERROR: [config_file] file doesn't exist: $file\n";
+      return;
+   }
+   if (! -r $file) {
+      warn "ERROR: [config_file] file not readable: $file\n";
+      return;
+   }
+
+   my $in = new IO::File;
+   if (! $in->open($file)) {
+      warn "ERROR: [config_file] unable to open file: $file: $!\n";
+      return;
+   }
+   my @in = <$in>;
+   $in->close();
+
+   my $sect = 'conf';
+   my %sect;
+
+   chomp(@in);
+   foreach my $line (@in) {
+      $line =~ s/^\s+//o;
+      $line =~ s/\s+$//o;
+      next  if (! $line  or  $line =~ /^\043/o);
+
+      if ($line =~ /^\*/o) {
+         # New section
+         $sect = $self->_config_file_section($line);
+      } else {
+         $sect{$sect} = 1;
+         $self->_config_file_var($sect,$line);
+      }
+   }
+
+   # If we did a holidays section, we need to create a regular
+   # expression with all of the holiday names.
+
+   my $istz  = ref($self) eq 'Date::Manip::TZ';
+   my $base  = ($istz ? $$self{'base'} : $self);
+
+   if (exists $sect{'holidays'}) {
+      my @hol = @{ $$base{'data'}{'sections'}{'holidays'} };
+      my @nam;
+      while (@hol) {
+         my $junk = shift(@hol);
+         my $hol  = shift(@hol);
+         push(@nam,$hol)  if ($hol);
+      }
+
+      if (@nam) {
+         @nam    = sort _sortByLength(@nam);
+         my $hol = '(?' . join('|',map { "\Q$_\E" } @nam) . ')';
+         my $yr  = '(?\d\d\d\d|\d\d)';
+
+         my $rx  = "$hol\\s*$yr|" .      # Christmas 2009
+                   "$yr\\s*$hol|" .      # 2009 Christmas
+                   "$hol";               # Christmas
+
+         $$base{'data'}{'rx'}{'holidays'} = qr/^(?:$rx)$/i;
+      }
+   }
+}
+
+sub _config_file_section {
+   my($self,$line) = @_;
+
+   my $istz  = ref($self) eq 'Date::Manip::TZ';
+   my $base  = ($istz ? $$self{'base'} : $self);
+
+   $line    =~ s/^\*//o;
+   $line    =~ s/\s*$//o;
+   my $sect = lc($line);
+   if (! exists $$base{'data'}{'sections'}{$sect}) {
+      warn "WARNING: [config_file] unknown section created: $sect\n";
+      $base->_section($sect);
+   }
+   return $sect;
+}
+
+sub _config_file_var {
+   my($self,$sect,$line) = @_;
+
+   my $istz  = ref($self) eq 'Date::Manip::TZ';
+   my $base  = ($istz ? $$self{'base'} : $self);
+
+   my($var,$val);
+   if ($line =~ /^\s*(.*?)\s*=\s*(.*?)\s*$/o) {
+      ($var,$val) = ($1,$2);
+   } else {
+      die "ERROR: invalid Date::Manip config file line:\n  $line\n";
+   }
+
+   if ($sect eq 'conf') {
+      $var = lc($var);
+      $self->_config($var,$val);
+   } else {
+      $base->_section($sect,$var,$val);
+   }
+}
+
+# $val = $self->config(VAR);
+#    Returns the value of a variable.
+#
+# $self->config([SECT], VAR, VAL)  sets the value of a variable
+#    Sets the value of a variable.
+#
+sub _config {
+   my($self,$var,$val) = @_;
+
+   my $sect = 'conf';
+
+   #
+   # $self->_conf(VAR, VAL)  sets the value of a variable
+   #
+
+   $var = lc($var);
+   if (defined $val) {
+      return $self->_config_var($var,$val);
+   }
+
+   #
+   # $self->_conf(VAR)       returns the value of a variable
+   #
+
+   if (exists $$self{'data'}{'sections'}{$sect}{$var}) {
+      return $$self{'data'}{'sections'}{$sect}{$var};
+   } else {
+      warn "ERROR: [config] invalid config variable: $var\n";
+      return '';
+   }
+}
+
+########################################################################
+
+sub _fix_year {
+   my($self,$y) = @_;
+   my $istz     = ref($self) eq 'Date::Manip::TZ';
+   my $base     = ($istz ? $self->base() : $self);
+
+   my $method   = $base->_config('yytoyyyy');
+
+   return $y     if (length($y)==4);
+   return undef  if (length($y)!=2);
+
+   my $curr_y;
+   if (ref($self) eq 'Date::Manip::TZ') {
+      $curr_y  = $self->_now('y',1);
+   } else {
+      $curr_y  = ( localtime(time) )[5];
+      $curr_y += 1900;
+   }
+
+   if ($method eq 'c') {
+      return substr($curr_y,0,2) . $y;
+
+   } elsif ($method =~ /^c(\d\d)$/) {
+      return "$1$y";
+
+   } elsif ($method =~ /^c(\d\d)(\d\d)$/) {
+      return "$1$y" + ($y<$2 ? 100 : 0);
+
+   } else {
+      my $y1      = $curr_y - $method;
+      my $y2      = $y1 + 99;
+      $y1         =~ /^(\d\d)/;
+      $y          = "$1$y";
+      if ($y<$y1) {
+         $y += 100;
+      }
+      if ($y>$y2) {
+         $y -= 100;
+      }
+      return $y;
+   }
+}
+
+###############################################################################
+# Functions for setting the default date/time
+
+# Many date operations use a default time and/or date to set some
+# or all values.  This function may be used to set or examine the
+# default time.
+#
+# _now allows you to get the current date and/or time in the
+# local timezone.
+#
+# The function performed depends on $op and are described in the
+# following table:
+#
+#    $op                  function
+#    ------------------   ----------------------------------
+#    undef                Returns the current default values
+#                         (y,m,d,h,mn,s) without updating
+#                         the time (it'll update if it has
+#                         never been set).
+#
+#    'now'                Updates now and returns
+#                         (y,m,d,h,mn,s)
+#
+#    'time'               Updates now and Returns (h,mn,s)
+#
+#    'y'                  Returns the default value of one
+#    'm'                  of the fields (no update)
+#    'd'
+#    'h'
+#    'mn'
+#    's'
+#
+#    'systz'              Returns the system timezone
+#
+#    'isdst'              Returns the 'now' values if set,
+#    'tz'                 or system time values otherwise.
+#    'offset'
+#    'abb'
+#
+sub _now {
+   my($self,$op,$noupdate) = @_;
+   my $istz      = ref($self) eq 'Date::Manip::TZ';
+   my $base      = ($istz ? $self->base() : $self);
+
+   # Update "NOW" if we're checking 'now', 'time', or the date
+   # is not set already.
+
+   if (! defined $noupdate) {
+      if ($op =~ /(?:now|time)/) {
+         $noupdate = 0;
+      } else {
+         $noupdate = 1;
+      }
+   }
+   $noupdate = 0  if (! exists $$base{'data'}{'now'}{'date'});
+   $self->_update_now()  unless ($noupdate);
+
+   # Now return the value of the operation
+
+   my @tmpnow   = @{ $$base{'data'}{'tmpnow'} };
+   my @now      = (@tmpnow ? @tmpnow : @{ $$base{'data'}{'now'}{'date'} });
+
+   if ($op eq 'tz') {
+      if (exists $$base{'data'}{'now'}{'tz'}) {
+         return $$base{'data'}{'now'}{'tz'};
+      } else {
+         return $$base{'data'}{'now'}{'systz'};
+      }
+
+   } elsif ($op eq 'systz') {
+      return $$base{'data'}{'now'}{'systz'};
+
+   } elsif ($op eq 'isdst') {
+      return $$base{'data'}{'now'}{'isdst'};
+
+   } elsif ($op eq 'offset') {
+      return @{ $$base{'data'}{'now'}{'offset'} };
+
+   } elsif ($op eq 'abb') {
+      return $$base{'data'}{'now'}{'abb'};
+
+   } elsif ($op eq 'now') {
+      return @now;
+
+   } elsif ($op eq 'y') {
+      return $now[0];
+
+   } elsif ($op eq 'time') {
+      return @now[3..5];
+
+   } elsif ($op eq 'm') {
+      return $now[1];
+
+   } elsif ($op eq 'd') {
+      return $now[2];
+
+   } elsif ($op eq 'h') {
+      return $now[3];
+
+   } elsif ($op eq 'mn') {
+      return $now[4];
+
+   } elsif ($op eq 's') {
+      return $now[5];
+
+   } else {
+      warn "ERROR: [now] invalid argument list: $op\n";
+      return ();
+   }
+}
+
+sub _update_now {
+   my($self) = @_;
+   my $istz     = ref($self) eq 'Date::Manip::TZ';
+   my $base     = ($istz ? $self->base() : $self);
+
+   # If we've called ForceDate, don't change it.
+   return  if ($$base{'data'}{'now'}{'force'});
+
+   # If we've called SetDate (which will only happen if a
+   # Date::Manip:TZ object is available), figure out what 'now' is
+   # based on the number of seconds that have elapsed since it was
+   # set.  This will ONLY happen if TZ has been loaded.
+
+   if ($$base{'data'}{'now'}{'set'}) {
+      my $date = $$base{'data'}{'now'}{'setdate'};
+      my $secs = time - $$base{'data'}{'now'}{'setsecs'};
+
+      $date      = $base->calc_date_time($date,[0,0,$secs]);  # 'now' in GMT
+      my $zone   = $self->_now('tz',1);
+      my ($err,$date2,$offset,$isdst,$abbrev) = $self->convert_from_gmt($date,$zone);
+
+      $$base{'data'}{'now'}{'date'}   = $date2;
+      $$base{'data'}{'now'}{'isdst'}  = $isdst;
+      $$base{'data'}{'now'}{'offset'} = $offset;
+      $$base{'data'}{'now'}{'abb'}    = $abbrev;
+      return;
+   }
+
+   # Otherwise, we'll use the system time.
+
+   my $time = time;
+   my($s,$mn,$h,$d,$m,$y,$wday,$yday,$isdst) = localtime($time);
+   my($s0,$mn0,$h0,$d0,$m0,$y0)              = gmtime($time);
+
+   $y += 1900;
+   $m++;
+
+   $y0 += 1900;
+   $m0++;
+
+   my $off = $base->calc_date_date([$y,$m,$d,$h,$mn,$s],[$y0,$m0,$d0,$h0,$mn0,$s0],1);
+
+   $$base{'data'}{'now'}{'date'}  = [$y,$m,$d,$h,$mn,$s];
+   $$base{'data'}{'now'}{'isdst'} = $isdst;
+   $$base{'data'}{'now'}{'offset'}= $off;
+
+   my $abb = '???';
+   if (ref($self) eq 'Date::Manip::TZ') {
+      my $zone   = $self->_now('tz',1);
+      my $per    = $self->date_period([$y,$m,$d,$h,$mn,$s],$zone,1,$isdst);
+      $abb = $$per[4];
+   }
+
+   $$base{'data'}{'now'}{'abb'}   = $abb;
+
+   return;
+}
+
+###############################################################################
+# This sorts from longest to shortest element
+#
+no strict 'vars';
+sub _sortByLength {
+   return (length $b <=> length $a);
+}
+use strict 'vars';
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/TZ_Base.pod b/lib/Date/Manip/TZ_Base.pod
new file mode 100644
index 0000000..4de6a62
--- /dev/null
+++ b/lib/Date/Manip/TZ_Base.pod
@@ -0,0 +1,58 @@
+# Copyright (c) 2010-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::TZ_Base - Methods common to the TZ and Base classes
+
+=head1 SYNOPSIS
+
+The Date::Manip::TZ_Base class is a second base class used for the
+following Date::Manip classes:
+
+=over 4
+
+=item L
+
+=item L
+
+=back
+
+This module is not intended to be called directly and performs no
+useful function by itself. Instead, use the various derived classes
+which inherit from it.
+
+=head1 DESCRIPTION
+
+This module contains no public methods and is used internally by
+the Base and TZ classes. In some instances, basic date operations
+depend on timezone information, and all timezone operations depend
+on the base class.  In order to avoid a circular dependency, I created
+this class which allowed me to avoid that.
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L       - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/TZdata.pm b/lib/Date/Manip/TZdata.pm
new file mode 100644
index 0000000..c88c56f
--- /dev/null
+++ b/lib/Date/Manip/TZdata.pm
@@ -0,0 +1,1352 @@
+package Date::Manip::TZdata;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+###############################################################################
+require 5.010000;
+use IO::File;
+use Date::Manip::Base;
+
+use strict;
+use integer;
+use warnings;
+
+our $VERSION;
+$VERSION='6.60';
+END { undef $VERSION; }
+
+###############################################################################
+# GLOBAL VARIABLES
+###############################################################################
+
+our ($Verbose,@StdFiles,$dmb);
+END {
+   undef $Verbose;
+   undef @StdFiles;
+   undef $dmb;
+}
+$dmb          = new Date::Manip::Base;
+
+# Whether to print some debugging stuff.
+
+$Verbose      = 0;
+
+# Standard tzdata files that need to be parsed.
+
+@StdFiles = qw(africa
+               antarctica
+               asia
+               australasia
+               europe
+               northamerica
+               pacificnew
+               southamerica
+               etcetera
+               backward
+              );
+
+our ($TZ_DOM,$TZ_LAST,$TZ_GE,$TZ_LE);
+END {
+   undef $TZ_DOM;
+   undef $TZ_LAST;
+   undef $TZ_GE;
+   undef $TZ_LE;
+}
+
+$TZ_DOM       = 1;
+$TZ_LAST      = 2;
+$TZ_GE        = 3;
+$TZ_LE        = 4;
+
+our ($TZ_STANDARD,$TZ_RULE,$TZ_OFFSET);
+END {
+   undef $TZ_STANDARD;
+   undef $TZ_RULE;
+   undef $TZ_OFFSET;
+}
+$TZ_STANDARD  = 1;
+$TZ_RULE      = 2;
+$TZ_OFFSET    = 3;
+
+###############################################################################
+# BASE METHODS
+###############################################################################
+#
+# The Date::Manip::TZdata object is a hash of the form:
+#
+# { dir       => DIR          where to find the tzdata directory
+#   zone      => { ZONE  => [ ZONEDESC ] }
+#   ruleinfo  => { INFO  => [ VAL ... ] }
+#   zoneinfo  => { INFO  => [ VAL ... ] }
+#   zonelines => { ZONE  => [ VAL ... ] }
+# }
+
+sub new {
+  my($class,$dir) = @_;
+
+  $dir = '.'  if (! $dir);
+
+  if (! -d "$dir/tzdata") {
+     die "ERROR: no tzdata directory found\n";
+  }
+
+  my $self = {
+              'dir'       => $dir,
+              'zone'      => {},
+              'ruleinfo'  => {},
+              'zoneinfo'  => {},
+              'zonelines' => {},
+             };
+  bless $self, $class;
+
+  $self->_tzd_ParseFiles();
+
+  return $self;
+}
+
+###############################################################################
+# RULEINFO
+###############################################################################
+
+my($Error);
+
+# @info = $tzd->ruleinfo($rule,@args);
+#
+# This takes the name of a set of rules (e.g. NYC or US as defined in
+# the zoneinfo database) and returns information based on the arguments
+# given.
+#
+#    @args
+#    ------------
+#
+#    rules YEAR   : Return a list of all rules used during that year
+#    stdlett YEAR : The letter(s) used during standard time that year
+#    savlett YEAR : The letter(s) used during saving time that year
+#    lastoff YEAR : Returns the last DST offset of the year
+#    rdates YEAR  : Returns a list of critical dates for the given
+#                   rule during a year. It returns:
+#                     (date dst_offset timetype lett ...)
+#                   where dst_offset is the daylight saving time offset
+#                   that starts at that date and timetype is 'u', 'w', or
+#                   's', and lett is the letter to use in the abbrev.
+#
+sub _ruleInfo {
+   my($self,$rule,$info,@args) = @_;
+   my $year                    = shift(@args);
+
+   if (exists $$self{'ruleinfo'}{$info}  &&
+       exists $$self{'ruleinfo'}{$info}{$rule}  &&
+       exists $$self{'ruleinfo'}{$info}{$rule}{$year}) {
+      if (ref $$self{'ruleinfo'}{$info}{$rule}{$year}) {
+         return @{ $$self{'ruleinfo'}{$info}{$rule}{$year} };
+      } else {
+         return $$self{'ruleinfo'}{$info}{$rule}{$year};
+      }
+   }
+
+   if ($info eq 'rules') {
+      my @ret;
+      foreach my $r ($self->_tzd_Rule($rule)) {
+         my($y0,$y1,$ytype,$mon,$flag,$dow,$num,$timetype,$time,$offset,
+            $lett) = @$r;
+         next  if ($y0>$year  ||  $y1<$year);
+         push(@ret,$r)  if ($ytype eq "-"  ||
+                            $year == 9999    ||
+                            ($ytype eq 'even'  &&  $year =~ /[02468]$/)  ||
+                            ($ytype eq 'odd'   &&  $year =~ /[13579]$/));
+      }
+
+      # We'll sort them... if there are ever two time changes in a
+      # single month, this will cause problems... hopefully there
+      # never will be.
+
+      @ret = sort { $$a[3] <=> $$b[3] } @ret;
+      $$self{'ruleinfo'}{$info}{$rule}{$year} = [ @ret ];
+      return @ret;
+
+   } elsif ($info eq 'stdlett'  ||
+            $info eq 'savlett') {
+      my @rules = $self->_ruleInfo($rule,'rules',$year);
+      my %lett  = ();
+      foreach my $r (@rules) {
+         my($y0,$y1,$ytype,$mon,$flag,$dow,$num,$timetype,$time,$offset,
+            $lett) = @$r;
+         $lett{$lett} = 1
+           if ( ($info eq 'stdlett'  &&  $offset eq '00:00:00') ||
+                ($info eq 'savlett'  &&  $offset ne '00:00:00') );
+      }
+
+      my $ret;
+      if (! %lett) {
+         $ret = '';
+      } else {
+         $ret = join(",",sort keys %lett);
+      }
+      $$self{'ruleinfo'}{$info}{$rule}{$year} = $ret;
+      return $ret;
+
+   } elsif ($info eq 'lastoff') {
+      my $ret;
+      my @rules = $self->_ruleInfo($rule,'rules',$year);
+      return '00:00:00'  if (! @rules);
+      my $r     = pop(@rules);
+      my($y0,$y1,$ytype,$mon,$flag,$dow,$num,$timetype,$time,$offset,
+         $lett) = @$r;
+
+      $$self{'ruleinfo'}{$info}{$rule}{$year} = $offset;
+      return $offset;
+
+   } elsif ($info eq 'rdates') {
+      my @ret;
+      my @rules = $self->_ruleInfo($rule,'rules',$year);
+      foreach my $r (@rules) {
+         my($y0,$y1,$ytype,$mon,$flag,$dow,$num,$timetype,$time,$offset,
+            $lett) = @$r;
+         my($date) = $self->_tzd_ParseRuleDate($year,$mon,$dow,$num,$flag,$time);
+         push(@ret,$date,$offset,$timetype,$lett);
+      }
+
+      $$self{'ruleinfo'}{$info}{$rule}{$year} = [ @ret ];
+      return @ret;
+   }
+}
+
+###############################################################################
+# ZONEINFO
+###############################################################################
+
+# zonelines is:
+#    ( ZONE => numlines => N,
+#              I        => { start  => DATE,
+#                            end    => DATE,
+#                            stdoff => OFFSET,
+#                            dstbeg => OFFSET,
+#                            dstend => OFFSET,
+#                            letbeg => LETTER,
+#                            letend => LETTER,
+#                            abbrev => ABBREV,
+#                            rule   => RULE
+#                          }
+#    )
+# where I = 1..N
+#       start, end   the wallclock start/end time of this period
+#       stdoff       the standard GMT offset during this period
+#       dstbeg       the DST offset at the start of this period
+#       dstend       the DST offset at the end of this period
+#       letbeg       the letter (if any) used at the start of this period
+#       letend       the letter (if any) used at the end of this period
+#       abbrev       the zone abbreviation during this period
+#       rule         the rule that applies (if any) during this period
+
+# @info = $tzd->zoneinfo($zone,@args);
+#
+# Obtain information from a zone
+#
+#    @args
+#    ------------
+#
+#    zonelines Y  : Return the full zone line(s) which apply for
+#                   a given year.
+#    rules YEAR   : Returns a list of rule names and types which
+#                   apply for the given year.
+#
+sub _zoneInfo {
+   my($self,$zone,$info,@args) = @_;
+
+   if (! exists $$self{'zonelines'}{$zone}) {
+      $self->_tzd_ZoneLines($zone);
+   }
+
+   my @z = $self->_tzd_Zone($zone);
+   shift(@z);                # Get rid of timezone name
+
+   my $ret;
+
+#    if      ($info eq 'numzonelines') {
+#       return $$self{'zonelines'}{$zone}{'numlines'};
+
+#    } elsif ($info eq 'zoneline') {
+#       my ($i) = @args;
+#       my @ret = map { $$self{'zonelines'}{$zone}{$i}{$_} }
+#         qw(start end stdoff dstbeg dstend letbeg letend abbrev rule);
+
+#       return @ret;
+#    }
+
+   my $y = shift(@args);
+   if (exists $$self{'zoneinfo'}{$info}  &&
+       exists $$self{'zoneinfo'}{$info}{$zone}  &&
+       exists $$self{'zoneinfo'}{$info}{$zone}{$y}) {
+      if (ref($$self{'zoneinfo'}{$info}{$zone}{$y})) {
+         return @{ $$self{'zoneinfo'}{$info}{$zone}{$y} };
+      } else {
+         return $$self{'zoneinfo'}{$info}{$zone}{$y};
+      }
+   }
+
+   if      ($info eq 'zonelines') {
+      my (@ret);
+      while (@z) {
+         # y = 1920
+         #    until = 1919          NO
+         #    until = 1920          NO
+         #    until = 1920 Feb...   YES
+         #    until = 1921...       YES, last
+         my $z = shift(@z);
+         my($offset,$ruletype,$rule,$abbrev,$yr,$mon,$dow,$num,$flag,$time,
+            $timetype,$start,$end) = @$z;
+         next  if ($yr < $y);
+         next  if ($yr == $y  &&  $flag == $TZ_DOM  &&
+                   $mon == 1  &&  $num == 1  &&  $time eq '00:00:00');
+         push(@ret,$z);
+         last  if ($yr > $y);
+      }
+
+      $$self{'zoneinfo'}{$info}{$zone}{$y} = [ @ret ];
+      return @ret;
+
+   } elsif ($info eq 'rules') {
+      my (@ret);
+      @z = $self->_zoneInfo($zone,'zonelines',$y);
+      foreach my $z (@z) {
+         my($offset,$ruletype,$rule,$abbrev,$yr,$mon,$dow,$num,$flag,$time,
+            $timetype,$start,$end) = @$z;
+         push(@ret,$rule,$ruletype);
+      }
+
+      $$self{'zoneinfo'}{$info}{$zone}{$y} = [ @ret ];
+      return @ret;
+   }
+}
+
+########################################################################
+# PARSING TZDATA FILES
+########################################################################
+
+# These routine parses the raw tzdata file.  Files contain three types
+# of lines:
+#
+#   Link CANONICAL ALIAS
+#   Rule NAME FROM TO TYPE IN ON AT SAVE LETTERS
+#   Zone NAME GMTOFF RULE FORMAT UNTIL
+#             GMTOFF RULE FORMAT UNTIL
+#             ...
+#             GMTOFF RULE FORMAT
+
+# Parse all files
+sub _tzd_ParseFiles {
+   my($self) = @_;
+
+   print "PARSING FILES...\n"  if ($Verbose);
+
+   foreach my $file (@StdFiles) {
+      $self->_tzd_ParseFile($file);
+   }
+
+   $self->_tzd_CheckData();
+}
+
+# Parse a file
+sub _tzd_ParseFile {
+   my($self,$file) = @_;
+   my $in    = new IO::File;
+   my $dir   = $$self{'dir'};
+   print "... $file\n"  if ($Verbose);
+   if (! $in->open("$dir/tzdata/$file")) {
+      warn "WARNING: [parse_file] unable to open file: $file: $!\n";
+      return;
+   }
+   my @in   = <$in>;
+   $in->close;
+   chomp(@in);
+
+   # strip out comments
+   foreach my $line (@in) {
+      $line =~ s/^\s+//;
+      $line =~ s/#.*$//;
+      $line =~ s/\s+$//;
+   }
+
+   # parse all lines
+   my $n    = 0;                # line number
+   my $zone = '';     # current zone (if in a multi-line zone section)
+
+   while (@in) {
+      if (! $in[0]) {
+         $n++;
+         shift(@in);
+
+      } elsif ($in[0] =~ /^Zone/) {
+         $self->_tzd_ParseZone($file,\$n,\@in);
+
+      } elsif ($in[0] =~ /^Link/) {
+         $self->_tzd_ParseLink($file,\$n,\@in);
+
+      } elsif ($in[0] =~ /^Rule/) {
+         $self->_tzd_ParseRule($file,\$n,\@in);
+
+      } else {
+         $n++;
+         my $line = shift(@in);
+         warn "WARNING: [parse_file] unknown line: $n\n" .
+              "         $line\n";
+      }
+   }
+}
+
+sub _tzd_ParseLink {
+   my($self,$file,$n,$lines) = @_;
+
+   $$n++;
+   my $line = shift(@$lines);
+
+   my(@tmp) = split(/\s+/,$line);
+   if ($#tmp != 2  ||  lc($tmp[0]) ne 'link') {
+      warn "ERROR: [parse_file] invalid Link line: $file: $$n\n" .
+           "       $line\n";
+      return;
+   }
+
+   my($tmp,$zone,$alias) = @tmp;
+
+   if ($self->_tzd_Alias($alias)) {
+      warn "WARNING: [parse_file] alias redefined: $file: $$n: $alias\n";
+   }
+
+   $self->_tzd_Alias($alias,$zone);
+}
+
+sub _tzd_ParseRule {
+   my($self,$file,$n,$lines) = @_;
+
+   $$n++;
+   my $line = shift(@$lines);
+
+   my(@tmp) = split(/\s+/,$line);
+   if ($#tmp != 9  ||  lc($tmp[0]) ne 'rule') {
+      warn "ERROR: [parse_file] invalid Rule line: $file: $$n:\n" .
+           "       $line\n";
+      return;
+   }
+
+   my($tmp,$name,$from,$to,$type,$in,$on,$at,$save,$letters) = @tmp;
+
+   $self->_tzd_Rule($name,[ $from,$to,$type,$in,$on,$at,$save,$letters ]);
+}
+
+sub _tzd_ParseZone {
+   my($self,$file,$n,$lines) = @_;
+
+   # Remove "Zone America/New_York" from the first line
+
+   $$n++;
+   my $line = shift(@$lines);
+   my @tmp  = split(/\s+/,$line);
+
+   if ($#tmp < 4  ||  lc($tmp[0]) ne 'zone') {
+      warn "ERROR: [parse_file] invalid Zone line: $file :$$n\n" .
+           "       $line\n";
+      return;
+   }
+
+   shift(@tmp);
+   my $zone = shift(@tmp);
+
+   $line    = join(' ',@tmp);
+   unshift(@$lines,$line);
+
+   # Store the zone name information
+
+   if ($self->_tzd_Zone($zone)) {
+      warn "ERROR: [parse_file] zone redefined: $file: $$n: $zone\n";
+      $self->_tzd_DeleteZone($zone);
+   }
+   $self->_tzd_Alias($zone,$zone);
+
+   # Parse all zone lines
+
+   while (1) {
+      last  if (! @$lines);
+
+      $line = $$lines[0];
+      return  if ($line =~ /^(zone|link|rule)/i);
+
+      $$n++;
+      shift(@$lines);
+      next  if (! $line);
+
+      @tmp = split(/\s+/,$line);
+
+      if ($#tmp < 2) {
+         warn "ERROR: [parse_file] invalid Zone line: $file: $$n\n" .
+              "       $line\n";
+         return;
+      }
+
+      my($gmt,$rule,$format,@until) = @tmp;
+      $self->_tzd_Zone($zone,[ $gmt,$rule,$format,@until ]);
+   }
+}
+
+sub _tzd_CheckData {
+   my($self) = @_;
+   print "CHECKING DATA...\n"  if ($Verbose);
+   $self->_tzd_CheckRules();
+   $self->_tzd_CheckZones();
+   $self->_tzd_CheckAliases();
+}
+
+########################################################################
+# LINKS (ALIASES)
+########################################################################
+
+sub _tzd_Alias {
+   my($self,$alias,$zone) = @_;
+
+   if (defined $zone) {
+      $$self{'alias'}{$alias} = $zone;
+      return;
+
+   } elsif (exists $$self{'alias'}{$alias}) {
+      return $$self{'alias'}{$alias};
+
+   } else {
+      return '';
+   }
+}
+
+sub _tzd_DeleteAlias {
+   my($self,$alias) = @_;
+   delete $$self{'alias'}{$alias};
+}
+
+sub _tzd_AliasKeys {
+   my($self) = @_;
+   return keys %{ $$self{'alias'} };
+}
+
+# TZdata file:
+#
+#   Link America/Denver America/Shiprock
+#
+# Stored locally as:
+#
+#  (
+#     "us/eastern"             => "America/New_York"
+#     "america/new_york"       => "America/New_York"
+#  )
+
+sub _tzd_CheckAliases {
+   my($self) = @_;
+
+   # Replace
+   #   ALIAS1 -> ALIAS2 -> ... -> ZONE
+   # with
+   #   ALIAS1 -> ZONE
+
+   print "... aliases\n"  if ($Verbose);
+
+   ALIAS:
+   foreach my $alias ($self->_tzd_AliasKeys()) {
+      my $zone = $self->_tzd_Alias($alias);
+
+      my %tmp;
+      $tmp{$alias} = 1;
+      while (1) {
+
+         if      ($self->_tzd_Zone($zone)) {
+            $self->_tzd_Alias($alias,$zone);
+            next ALIAS;
+
+         } elsif (exists $tmp{$zone}) {
+            warn "ERROR: [check_aliases] circular alias definition: $alias\n";
+            $self->_tzd_DeleteAlias($alias);
+            next ALIAS;
+
+         } elsif ($self->_tzd_Alias($zone)) {
+            $tmp{$zone} = 1;
+            $zone = $self->_tzd_Alias($zone);
+            next;
+         }
+
+         warn "ERROR: [check_aliases] unresolved alias definition: $alias\n";
+         $self->_tzd_DeleteAlias($alias);
+         next ALIAS;
+      }
+   }
+}
+
+########################################################################
+# PARSING RULES
+########################################################################
+
+sub _tzd_Rule {
+   my($self,$rule,$listref) = @_;
+
+   if (defined $listref) {
+      if (! exists $$self{'rule'}{$rule}) {
+         $$self{'rule'}{$rule} = [];
+      }
+      push @{ $$self{'rule'}{$rule} }, [ @$listref ];
+
+   } elsif (exists $$self{'rule'}{$rule}) {
+      return @{ $$self{'rule'}{$rule} };
+
+   } else {
+      return ();
+   }
+}
+
+sub _tzd_DeleteRule {
+   my($self,$rule) = @_;
+   delete $$self{'rule'}{$rule};
+}
+
+sub _tzd_RuleNames {
+   my($self) = @_;
+   return keys %{ $$self{'rule'} };
+}
+
+sub _tzd_CheckRules {
+   my($self) = @_;
+   print "... rules\n"  if ($Verbose);
+   foreach my $rule ($self->_tzd_RuleNames()) {
+      $Error   = 0;
+      my @rule = $self->_tzd_Rule($rule);
+      $self->_tzd_DeleteRule($rule);
+      while (@rule) {
+         my($from,$to,$type,$in,$on,$at,$save,$letters) =
+           @{ shift(@rule) };
+         my($dow,$num,$attype);
+         $from             = $self->_rule_From   ($rule,$from);
+         $to               = $self->_rule_To     ($rule,$to,$from);
+         $type             = $self->_rule_Type   ($rule,$type);
+         $in               = $self->_rule_In     ($rule,$in);
+         ($on,$dow,$num)   = $self->_rule_On     ($rule,$on);
+         ($attype,$at)     = $self->_rule_At     ($rule,$at);
+         $save             = $self->_rule_Save   ($rule,$save);
+         $letters          = $self->_rule_Letters($rule,$letters);
+
+         if (! $Error) {
+            $self->_tzd_Rule($rule,[ $from,$to,$type,$in,$on,$dow,$num,$attype,
+                                    $at,$save,$letters ]);
+         }
+      }
+      $self->_tzd_DeleteRule($rule)  if ($Error);
+   }
+}
+
+# TZdata file:
+#
+#   #Rule NAME    FROM  TO    TYPE  IN   ON      AT      SAVE    LETTER
+#   Rule  NYC     1920  only  -     Mar  lastSun 2:00    1:00    D
+#   Rule  NYC     1920  only  -     Oct  lastSun 2:00    0       S
+#   Rule  NYC     1921  1966  -     Apr  lastSun 2:00    1:00    D
+#   Rule  NYC     1921  1954  -     Sep  lastSun 2:00    0       S
+#   Rule  NYC     1955  1966  -     Oct  lastSun 2:00    0       S
+#
+# Stored locally as:
+#
+#  %Rule = (
+#    'NYC' =>
+#         [
+#           [ 1920 1920 -  3 2 7  0 w 02:00:00 01:00:00 D ],
+#           [ 1920 1920 - 10 2 7  0 w 02:00:00 00:00:00 S ],
+#           [ 1921 1966 -  4 2 7  0 w 02:00:00 01:00:00 D ],
+#           [ 1921 1954 -  9 2 7  0 w 02:00:00 00:00:00 S ],
+#           [ 1955 1966 - 10 2 7  0 w 02:00:00 00:00:00 S ],
+#         ],
+#    'US' =>
+#         [
+#           [ 1918 1919 -  3 2 7  0 w 02:00:00 01:00:00 W ],
+#           [ 1918 1919 - 10 2 7  0 w 02:00:00 00:00:00 S ],
+#           [ 1942 1942 -  2 1 0  9 w 02:00:00 01:00:00 W ],
+#           [ 1945 1945 -  9 1 0 30 w 02:00:00 00:00:00 S ],
+#           [ 1967 9999 - 10 2 7  0 u 02:00:00 00:00:00 S ],
+#           [ 1967 1973 -  4 2 7  0 w 02:00:00 01:00:00 D ],
+#           [ 1974 1974 -  1 1 0  6 w 02:00:00 01:00:00 D ],
+#           [ 1975 1975 -  2 1 0 23 w 02:00:00 01:00:00 D ],
+#           [ 1976 1986 -  4 2 7  0 w 02:00:00 01:00:00 D ],
+#           [ 1987 9999 -  4 3 7  1 u 02:00:00 01:00:00 D ],
+#         ]
+#  )
+#
+# Each %Rule list consists of:
+#    Y0 Y1 YTYPE MON FLAG DOW NUM TIMETYPE TIME OFFSET LETTER
+# where
+#    Y0, Y1    : the year range for which this rule line might apply
+#    YTYPE     : type of year where the rule does apply
+#                even  : only applies to even numbered years
+#                odd   : only applies to odd numbered years
+#                -     : applies to all years in the range
+#    MON       : the month where a change occurs
+#    FLAG/DOW/NUM : specifies the day a time change occurs (interpreted
+#                the same way the as in the zone description below)
+#    TIMETYPE  : the type of time that TIME is
+#                w     : wallclock time
+#                u     : univeral time
+#                s     : standard time
+#    TIME      : HH:MM:SS where the time change occurs
+#    OFFSET    : the offset (which is added to standard time offset)
+#                starting at that time
+#    LETTER    : letters that are substituted for %s in abbreviations
+
+# Parses a day-of-month which can be given as a # (1-31), lastSun, or
+# Sun>=13 or Sun<=24 format.
+sub _rule_DOM {
+   my($self,$dom) = @_;
+
+   my %days = qw(mon 1 tue 2 wed 3 thu 4 fri 5 sat 6 sun 7);
+
+   my($dow,$num,$flag,$err) = (0,0,0,0);
+   my($i);
+
+   if ($dom =~ /^(\d\d?)$/) {
+      ($dow,$num,$flag)=(0,$1,$TZ_DOM);
+
+   } elsif ($dom =~ /^last(.+)$/) {
+      ($dow,$num,$flag)=($1,0,$TZ_LAST);
+
+   } elsif ($dom =~ /^(.+)>=(\d\d?)$/) {
+      ($dow,$num,$flag)=($1,$2,$TZ_GE);
+
+   } elsif ($dom =~ /^(.+)<=(\d\d?)$/) {
+      ($dow,$num,$flag)=($1,$2,$TZ_LE);
+
+   } else {
+      $err = 1;
+   }
+
+   if ($dow) {
+      if (exists $days{ lc($dow) }) {
+         $dow = $days{ lc($dow) };
+      } else {
+         $err = 1;
+      }
+   }
+
+   $err = 1  if ($num>31);
+   return ($dow,$num,$flag,$err);
+}
+
+# Parses a month from a string
+sub _rule_Month {
+   my($self,$mmm) = @_;
+
+   my %months = qw(jan 1 feb 2 mar 3 apr 4 may 5 jun 6
+                   jul 7 aug 8 sep 9 oct 10 nov 11 dec 12);
+
+   if (exists $months{ lc($mmm) }) {
+      return $months{ lc($mmm) };
+   } else {
+      return 0;
+   }
+}
+
+# Returns a time. The time (HH:MM:SS) which may optionally be signed (if $sign
+# is 1), and may optionally (if $type is 1) be followed by a type
+# ('w', 'u', or 's').
+sub _rule_Time {
+   my($self,$time,$sign,$type) = @_;
+   my($s,$t);
+
+   if ($type) {
+      $t = 'w';
+      if ($type  &&  $time =~ s/(w|u|s)$//i) {
+         $t = lc($1);
+      }
+   }
+
+   if ($sign) {
+      if ($time =~ s/^-//) {
+         $s = "-";
+      } else {
+         $s = '';
+         $time =~ s/^\+//;
+      }
+   } else {
+      $s = '';
+   }
+
+   return ''  if ($time !~ /^(\d\d?)(?::(\d\d))?(?::(\d\d))?$/);
+   my($hr,$mn,$se)=($1,$2,$3);
+   $hr   = '00'    if (! $hr);
+   $mn   = '00'    if (! $mn);
+   $se   = '00'    if (! $se);
+   $hr   = "0$hr"  if (length($hr)<2);
+   $mn   = "0$mn"  if (length($mn)<2);
+   $se   = "0$se"  if (length($se)<2);
+   $time = "$s$hr:$mn:$se";
+   if ($type) {
+      return ($time,$t);
+   } else {
+      return $time;
+   }
+}
+
+# a year or 'minimum'
+sub _rule_From {
+   my($self,$rule,$from) = @_;
+   $from = lc($from);
+   if ($from =~ /^\d\d\d\d$/) {
+      return $from;
+   } elsif ($from eq 'minimum'  ||  $from eq 'min') {
+      return '0001';
+   }
+   warn "ERROR: [rule_from] invalid: $rule: $from\n";
+   $Error = 1;
+   return '';
+}
+
+# a year, 'maximum', or 'only'
+sub _rule_To {
+   my($self,$rule,$to,$from) = @_;
+   $to = lc($to);
+   if ($to =~ /^\d\d\d\d$/) {
+      return $to;
+   } elsif ($to eq 'maximum'  ||  $to eq 'max') {
+      return '9999';
+   } elsif (lc($to) eq 'only') {
+      return $from;
+   }
+   warn "ERROR: [rule_to] invalid: $rule: $to\n";
+   $Error = 1;
+   return '';
+}
+
+# "-", 'even', or 'odd'
+sub _rule_Type {
+   my($self,$rule,$type) = @_;
+   return lc($type)  if (lc($type) eq "-"     ||
+                         lc($type) eq 'even'  ||
+                         lc($type) eq 'odd');
+   warn "ERROR: [rule_type] invalid: $rule: $type\n";
+   $Error = 1;
+   return '';
+}
+
+# a month
+sub _rule_In {
+   my($self,$rule,$in) = @_;
+   my($i) = $self->_rule_Month($in);
+   if (! $i) {
+      warn "ERROR: [rule_in] invalid: $rule: $in\n";
+      $Error = 1;
+   }
+   return $i;
+}
+
+# DoM (1-31), lastDow (lastSun), DoW<=number (Mon<=12),
+# DoW>=number (Sat>=14)
+#
+# Returns: (flag,dow,num)
+sub _rule_On {
+   my($self,$rule,$on) = @_;
+   my($dow,$num,$flag,$err) = $self->_rule_DOM($on);
+
+   if ($err) {
+      warn "ERROR: [rule_on] invalid: $rule: $on\n";
+      $Error = 1;
+   }
+
+   return ($flag,$dow,$num);
+}
+
+# a time followed by 'w' (default), 'u', or 's';
+sub _rule_At {
+   my($self,$rule,$at) = @_;
+   my($ret,$attype) = $self->_rule_Time($at,0,1);
+   if (! $ret) {
+      warn "ERROR: [rule_at] invalid: $rule: $at\n";
+      $Error = 1;
+   }
+   return($attype,$ret);
+}
+
+# a signed time (or "-" which is equivalent to 0)
+sub _rule_Save {
+   my($self,$rule,$save) = @_;
+   $save = '00:00:00'  if ($save eq "-");
+   my($ret) = $self->_rule_Time($save,1);
+   if (! $ret) {
+      warn "ERROR: [rule_save] invalid: $rule: $save\n";
+      $Error=1;
+   }
+   return $ret;
+}
+
+# letters (or "-")
+sub _rule_Letters {
+   my($self,$rule,$letters)=@_;
+   return ''  if ($letters eq "-");
+   return $letters;
+}
+
+########################################################################
+# PARSING ZONES
+########################################################################
+
+my($TZ_START)    = $dmb->join('date',['0001',1,2,0,0,0]);
+my($TZ_END)      = $dmb->join('date',['9999',12,30,23,59,59]);
+
+sub _tzd_Zone {
+   my($self,$zone,$listref) = @_;
+
+   if (defined $listref) {
+      if (! exists $$self{'zone'}{$zone}) {
+         $$self{'zone'}{$zone} = [$zone];
+      }
+      push @{ $$self{'zone'}{$zone} }, [ @$listref ];
+
+   } elsif (exists $$self{'zone'}{$zone}) {
+      return @{ $$self{'zone'}{$zone} };
+
+   } else {
+      return ();
+   }
+}
+
+sub _tzd_DeleteZone {
+   my($self,$zone) = @_;
+   delete $$self{'zone'}{$zone};
+
+   return;
+}
+
+sub _tzd_ZoneKeys {
+   my($self) = @_;
+   return keys %{ $$self{'zone'} };
+}
+
+sub _tzd_CheckZones {
+   my($self) = @_;
+   print "... zones\n"  if ($Verbose);
+   foreach my $zone ($self->_tzd_ZoneKeys()) {
+      my($start) = $TZ_START;
+      $Error = 0;
+      my ($name,@zone) = $self->_tzd_Zone($zone);
+      $self->_tzd_DeleteZone($zone);
+      while (@zone) {
+         my($gmt,$rule,$format,@until) = @{ shift(@zone) };
+         my($ruletype);
+         $gmt                = $self->_zone_GMTOff($zone,$gmt);
+         ($ruletype,$rule)   = $self->_zone_Rule  ($zone,$rule);
+         $format             = $self->_zone_Format($zone,$format);
+         my($y,$m,$dow,$num,$flag,$t,$type,$end,$nextstart)
+                             = $self->_zone_Until ($zone,@until);
+
+         if (! $Error) {
+            $self->_tzd_Zone($zone,[ $gmt,$ruletype,$rule,$format,$y,$m,$dow,
+                                     $num,$flag,$t,$type,$start,$end ]);
+            $start = $nextstart;
+         }
+      }
+      $self->_tzd_DeleteZone($zone)  if ($Error);
+   }
+
+   return;
+}
+
+# TZdata file:
+#
+#   #Zone NAME               GMTOFF     RULES  FORMAT  [UNTIL]
+#   Zone  America/New_York   -4:56:02   -      LMT     1883 Nov 18 12:03:58
+#                            -5:00      US     E%sT    1920
+#                            -5:00      NYC    E%sT    1942
+#                            -5:00      US     E%sT    1946
+#                            -5:00      NYC    E%sT    1967
+#                            -5:00      US     E%sT
+#
+# Stored locally as:
+#
+#  %Zone = (
+#    "America/New_York" =>
+#         [
+#           "America/New_York",
+#           [ -04:56:02 1   -  LMT 1883 11 0 18 1 12:03:58 w START END ]
+#          ,[ -05:00:00 2  US E%sT 1920 01 0 01 1 00:00:00 w START END ]
+#          ,[ -05:00:00 2 NYC E%sT 1942 01 0 01 1 00:00:00 w START END ]
+#          ,[ -05:00:00 2  US E%sT 1946 01 0 01 1 00:00:00 w START END ]
+#          ,[ -05:00:00 2 NYC E%sT 1967 01 0 01 1 00:00:00 w START END ]
+#          ,[ -05:00:00 2  US E%sT 9999 12 0 31 1 00:00:00 u START END ]
+#         ]
+#  )
+#
+# Each %Zone list consists of:
+#    GMTOFF RULETYPE RULE ABBREV YEAR MON DOW NUM FLAG TIME TIMETYPE START
+# where
+#    GMTOFF    : the standard time offset for the time period starting
+#                at the end of the previous peried, and ending at the
+#                time specified by TIME/TIMETYPE
+#    RULETYPE  : what type of value RULE can have
+#                  $TZ_STANDARD     the entire period is standard time
+#                  $TZ_RULE         the name of a rule to use for this period
+#                  $TZ_OFFSET       an additional offset to apply for the
+#                                   entire period (which is in saving time)
+#    RULE      : a dash (-), the name of the rule, or an offset
+#    ABBREV    : an abbreviation for the timezone (which may include a %s
+#                where letters from a rule are substituted)
+#    YEAR/MON  : the year and month where the time period ends
+#    DOW/NUM/FLAG : the day of the month where the time period ends (see
+#                note below)
+#    TIME      : HH:MM:SS where the time period ends
+#    TIMETYPE  : how the time is to be interpreted
+#                  u    in UTC
+#                  w    wallclock time
+#                  s    in standard time
+#    START     : This is the wallclock time when this zoneline starts. If the
+#                wallclock time cannot be decided yet, it is left blank. In
+#                the case of a non-wallclock time, the change should NOT
+#                occur on Dec 31 or Jan 1.
+#    END       : The wallclock date/time when the zoneline ends. Blank if
+#                it cannot be decided.
+#
+# The time stored in the until fields (which is turned into the
+# YEAR/MON/DOW/NUM/FLAG fields) actually refers to the exact second when
+# the following zone line takes affect. When a rule specifies a time
+# change exactly at that time (unfortunately, this situation DOES occur),
+# the change will only apply to the next zone line.
+#
+# In interpreting DOW, NUM, FLAG, the value of FLAG determines how it is
+# done.  Values are:
+#    $TZ_DOM   NUM is the day of month (1-31), DOW is ignored
+#    $TZ_LAST  NUM is ignored, DOW is the day of week (1-7); the day
+#              of month is the last DOW in the month
+#    $TZ_GE    NUM is a cutoff date (1-31), DOW is the day of week; the
+#              day of month is the first DOW in the month on or after
+#              the cutoff date
+#    $TZ_LE    Similar to $TZ_GE but the day of month is the last DOW in
+#              the month on or before the cutoff date
+#
+# In a time period which uses a named rule, if the named rule doesn't
+# cover a year, just use the standard time for that year.
+
+# The total period covered by zones is from Jan 2, 0001 (00:00:00) to
+# Dec 30, 9999 (23:59:59). The first and last days are ignored so that
+# they can safely be expressed as wallclock time.
+
+# a signed time
+sub _zone_GMTOff {
+   my($self,$zone,$gmt) = @_;
+   my($ret) = $self->_rule_Time($gmt,1);
+   if (! $ret) {
+      warn "ERROR: [zone_gmtoff] invalid: $zone: $gmt\n";
+      $Error = 1;
+   }
+   return $ret;
+}
+
+# rule, a signed time, or "-"
+sub _zone_Rule {
+   my($self,$zone,$rule) = @_;
+   return ($TZ_STANDARD,$rule)  if ($rule eq "-");
+   my($ret) = $self->_rule_Time($rule,1);
+   return ($TZ_OFFSET,$ret)     if ($ret);
+   if (! $self->_tzd_Rule($rule)) {
+      warn "ERROR: [zone_rule] rule undefined: $zone: $rule\n";
+      $Error = 1;
+   }
+   return ($TZ_RULE,$rule);
+}
+
+# a format
+sub _zone_Format {
+   my($self,$zone,$format)=@_;
+   return $format;
+}
+
+# a date (YYYY MMM DD TIME)
+sub _zone_Until {
+   my($self,$zone,$y,$m,$d,$t) = @_;
+   my($tmp,$type,$dow,$num,$flag,$err);
+
+   if (! $y) {
+      # Until '' == Until '9999 Dec 31 00:00:00'
+      $y = 9999;
+      $m = 12;
+      $d = 31;
+      $t = '00:00:00';
+
+   } else {
+      # Until '1975 ...'
+      if ($y !~ /^\d\d\d\d$/) {
+         warn "ERROR: [zone_until] invalid year: $zone: $y\n";
+         $Error = 1;
+         return ();
+      }
+
+      if (! $m) {
+         # Until '1920' == Until '1920 Jan 1 00:00:00'
+         $m = 1;
+         $d = 1;
+         $t = '00:00:00';
+
+      } else {
+
+         # Until '1920 Mar ...'
+         $tmp = $self->_rule_Month($m);
+         if (! $tmp) {
+            warn "ERROR: [zone_until] invalid month: $zone: $m\n";
+            $Error = 1;
+            return ();
+         }
+         $m = $tmp;
+
+         if (! $d) {
+            # Until '1920 Feb' == Until '1920 Feb 1 00:00:00'
+            $d = 1;
+            $t = '00:00:00';
+
+         } elsif ($d =~ /^last(.*)/) {
+            # Until '1920 Feb lastSun ...'
+            my(@tmp) = $self->_rule_DOM($d);
+            my($dow) = $tmp[0];
+            my $ymd  = $dmb->nth_day_of_week($y,-1,$dow,$m);
+            $d       = $$ymd[2];
+
+         } elsif ($d =~ />=/) {
+            my(@tmp) = $self->_rule_DOM($d);
+            my $dow  = $tmp[0];
+            $d       = $tmp[1];
+            my $ddow = $dmb->day_of_week([$y,$m,$d]);
+            if ($dow > $ddow) {
+               my $ymd = $dmb->calc_date_days([$y,$m,$d],$dow-$ddow);
+               $d      = $$ymd[2];
+            } elsif ($dow < $ddow) {
+               my $ymd = $dmb->calc_date_days([$y,$m,$d],7-($ddow-$dow));
+               $d      = $$ymd[2];
+            }
+
+         } elsif ($d =~ /<=/) {
+            my(@tmp) = $self->_rule_DOM($d);
+            my $dow  = $tmp[0];
+            $d       = $tmp[1];
+            my $ddow = $dmb->day_of_week([$y,$m,$d]);
+            if ($dow < $ddow) {
+               my $ymd = $dmb->calc_date_days([$y,$m,$d],$ddow-$dow,1);
+               $d      = $$ymd[2];
+            } elsif ($dow > $ddow) {
+               my $ymd = $dmb->calc_date_days([$y,$m,$d],7-($dow-$ddow),1);
+               $d      = $$ymd[2];
+            }
+
+         } else {
+            # Until '1920 Feb 20 ...'
+         }
+
+         if (! $t) {
+            # Until '1920 Feb 20' == Until '1920 Feb 20 00:00:00'
+            $t = '00:00:00';
+         }
+      }
+   }
+
+   # Make sure that day and month are valid and formatted correctly
+   ($dow,$num,$flag,$err) = $self->_rule_DOM($d);
+   if ($err) {
+      warn "ERROR: [zone_until] invalid day: $zone: $d\n";
+      $Error = 1;
+      return ();
+   }
+
+   $m = "0$m"  if (length($m)<2);
+
+   # Get the time type
+   if ($y == 9999) {
+      $type = 'w';
+   } else {
+      ($tmp,$type) = $self->_rule_Time($t,0,1);
+      if (! $tmp) {
+         warn "ERROR: [zone_until] invalid time: $zone: $t\n";
+         $Error = 1;
+         return ();
+      }
+      $t = $tmp;
+   }
+
+   # Get the wallclock end of this zone line (and the start of the
+   # next one 1 second later) if possible. Since we cannot assume that
+   # the rules are present yet, we can only do this for wallclock time
+   # types. 'u' and 's' time types will be done later.
+   my ($start,$end) = ('','');
+   if ($type eq 'w') {
+      # Start of next time is Y-M-D-TIME
+      $start = $dmb->join('date',[$y,$m,$d,@{ $dmb->split('hms',$t) }]);
+      # End of this time is Y-M-D-TIME minus 1 second
+      $end   = $dmb->_calc_date_time_strings($start,'0:0:1',1);
+   }
+   return ($y,$m,$dow,$num,$flag,$t,$type,$end,$start);
+}
+
+###############################################################################
+# ROUTINES FOR GETTING INFORMATION OUT OF RULES/ZONES
+###############################################################################
+
+sub _tzd_ZoneLines {
+   my($self,$zone) = @_;
+   my @z     = $self->_tzd_Zone($zone);
+   shift(@z);
+
+   # This will fill in any missing start/end values using the rules
+   # (which are now all present).
+
+   my $i = 0;
+   my($lastend,$lastdstend) = ('','00:00:00');
+   foreach my $z (@z) {
+      my($offset,$ruletype,$rule,$abbrev,$yr,$mon,$dow,$num,$flag,$time,
+         $timetype,$start,$end) = @$z;
+
+      # Make sure that we have a start wallclock time. We ALWAYS have the
+      # start time of the first zone line, and we will always have the
+      # end time of the zoneline before (if this is not the first) since
+      # we will determine it below.
+
+      if (! $start) {
+         $start = $dmb->_calc_date_time_strings($lastend,'0:0:1',0);
+      }
+
+      # If we haven't got a wallclock end, we can't get it yet... but
+      # we can get an unadjusted end which we'll use for determining
+      # what offsets apply from the rules.
+
+      my $fixend = 0;
+      if (! $end) {
+         $end    = $self->_tzd_ParseRuleDate($yr,$mon,$dow,$num,$flag,$time);
+         $fixend = 1;
+      }
+
+      # Now we need to get the DST offset at the start and end of
+      # the period.
+
+      my($dstbeg,$dstend,$letbeg,$letend);
+      if ($ruletype == $TZ_RULE) {
+         $dstbeg = $lastdstend;
+
+         # Get the year from the end time for the zone line
+         # Get the dates for this rule.
+         # Find the latest one which is less than the end date.
+         # That's the end DST offset.
+
+         my %lett   = ();
+         my $tmp    = $dmb->split('date',$end);
+         my $y      = $$tmp[0];
+         my(@rdate) = $self->_ruleInfo($rule,'rdates',$y);
+         my $d      = $start;
+         while (@rdate) {
+            my($date,$off,$type,$lett,@tmp) = @rdate;
+            $lett{$off} = $lett;
+            @rdate  = @tmp;
+            next  if ($date lt $d  ||  $date gt $end);
+            $d      = $date;
+            $dstend = $off;
+         }
+
+         # If we didn't find $dstend, it's because the zone line
+         # ends before any rules can go into affect.  If that is
+         # the case, we'll do one of two things:
+         #
+         # If the zone line starts this year, no time changes
+         # occured, so we set $dstend to the same as $dstbeg.
+         #
+         # Otherwise, set it to the last DST offset of the year
+         # before.
+
+         if (! $dstend) {
+            my($yrbeg) = $dmb->join('date',[$y,1,1,0,0,0]);
+            if ($start ge $yrbeg) {
+               $dstend = $dstbeg;
+            } else {
+               $dstend = $self->_ruleInfo($rule,'lastoff',$y);
+            }
+         }
+
+         $letbeg = $lett{$dstbeg};
+         $letend = $lett{$dstend};
+
+      } elsif ($ruletype == $TZ_STANDARD) {
+         $dstbeg = '00:00:00';
+         $dstend = $dstbeg;
+         $letbeg = '';
+         $letend = '';
+      } else {
+         $dstbeg = $rule;
+         $dstend = $dstbeg;
+         $letbeg = '';
+         $letend = '';
+      }
+
+      # Now we calculate the wallclock end time (if we don't already
+      # have it).
+
+      if ($fixend) {
+         if ($timetype eq 'u') {
+            # UT time -> STD time
+            $end = $dmb->_calc_date_time_strings($end,$offset,0);
+         }
+         # STD time -> wallclock time
+         $end = $dmb->_calc_date_time_strings($end,$dstend,1);
+      }
+
+      # Store the information
+
+      $i++;
+      $$self{'zonelines'}{$zone}{$i}{'start'}  = $start;
+      $$self{'zonelines'}{$zone}{$i}{'end'}    = $end;
+      $$self{'zonelines'}{$zone}{$i}{'stdoff'} = $offset;
+      $$self{'zonelines'}{$zone}{$i}{'dstbeg'} = $dstbeg;
+      $$self{'zonelines'}{$zone}{$i}{'dstend'} = $dstend;
+      $$self{'zonelines'}{$zone}{$i}{'letbeg'} = $letbeg;
+      $$self{'zonelines'}{$zone}{$i}{'letend'} = $letend;
+      $$self{'zonelines'}{$zone}{$i}{'abbrev'} = $abbrev;
+      $$self{'zonelines'}{$zone}{$i}{'rule'}   = ($ruletype == $TZ_RULE ?
+                                         $rule : '');
+      $lastend    = $end;
+      $lastdstend = $dstend;
+   }
+   $$self{'zonelines'}{$zone}{'numlines'} = $i;
+
+   return;
+}
+
+# Parses date information from  a single rule and returns a date.
+# The date is not adjusted for standard time or daylight saving time
+# offsets.
+sub _tzd_ParseRuleDate {
+   my($self,$year,$mon,$dow,$num,$flag,$time) = @_;
+
+   # Calculate the day-of-month
+   my($dom);
+   if ($flag==$TZ_DOM) {
+      $dom = $num;
+   } elsif ($flag==$TZ_LAST) {
+      ($year,$mon,$dom) = @{ $dmb->nth_day_of_week($year,-1,$dow,$mon) };
+   } elsif ($flag==$TZ_GE) {
+      ($year,$mon,$dom) = @{ $dmb->nth_day_of_week($year,1,$dow,$mon) };
+      while ($dom<$num) {
+         $dom += 7;
+      }
+   } elsif ($flag==$TZ_LE) {
+      ($year,$mon,$dom) = @{ $dmb->nth_day_of_week($year,-1,$dow,$mon) };
+      while ($dom>$num) {
+         $dom -= 7;
+      }
+   }
+
+   # Split the time and then form the date
+   my($h,$mn,$s) = split(/:/,$time);
+
+   return $dmb->join('date',[$year,$mon,$dom,$h,$mn,$s]);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/lib/Date/Manip/TZdata.pod b/lib/Date/Manip/TZdata.pod
new file mode 100644
index 0000000..7925070
--- /dev/null
+++ b/lib/Date/Manip/TZdata.pod
@@ -0,0 +1,77 @@
+# Copyright (c) 2008-2017 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+=pod
+
+=head1 NAME
+
+Date::Manip::TZdata -- Internal module for working with the tzdata files
+
+=head1 SYNOPSIS
+
+   use Date::Manip::TZdata;
+
+   $tzd  = new Date::Manip::TZdata($dir);
+
+=head1 DESCRIPTION
+
+This module is not intended for public use. It is used internally by
+the scripts used to analyze the time zone database and generate the
+modules for each time zone. The module is included in the distribution
+solely for the sake of completeness. Currently, no support is offered
+for this module, and it can (and may) change without notice.
+
+This module consists of routines for working with the tzdata files.
+These files are updated several times a year and are the basis for
+time zone descriptions for most computer systems.
+
+=head1 ROUTINES
+
+=over 4
+
+=item B
+
+   use Date::Manip::TZdata;
+
+   $tzd  = new Date::Manip::TZdata($dir);
+
+This finds and reads in all the tzdata. If C<$dir> is passed in, it
+is the directory where a tzdata directory is located. It defaults to
+the current directory.
+
+=back
+
+=head1 KNOWN LIMITATIONS
+
+Some assumptions and limitations are assumed in the logic of this
+module.
+
+When a time change occurs, the time may change backwards or forwards.
+Time changes rules are listed on a per-year basis.  It is assumed that
+time changes will not occur so close to the end or start of the year
+as to cross the year boundary (in other words, the year will not
+change as a result of the time change).  This is not accounted for,
+and it is hoped that this situation will never occur.
+
+Also, because this module is strictly limited to 4 digit positive
+years (regardless of whether it is wall clock or universal time), and
+because various parts of the module switch back and forth, valid times
+for this module are from Jan 2, 0001 to Dec 30, 9999. This ensures
+that conversions from wall clock to universal or vice versa will never
+make dates occur in the year 0000 or 10000.
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L man page for information on submitting
+bug reports or questions to the author.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/lib/Date/Manip/Zones.pm b/lib/Date/Manip/Zones.pm
new file mode 100644
index 0000000..1cbb814
--- /dev/null
+++ b/lib/Date/Manip/Zones.pm
@@ -0,0 +1,2907 @@
+package Date::Manip::Zones;
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:45:15 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+use strict;
+use warnings;
+require 5.010000;
+
+our ($VERSION);
+$VERSION='6.60';
+END { undef $VERSION; }
+
+our ($TzdataVersion,$TzcodeVersion,
+     $FirstDate,$LastDate,$LastYear,
+     %Module,%ZoneNames,%Alias,%Abbrev,%Offmod);
+END {
+   undef $TzdataVersion;
+   undef $TzcodeVersion;
+   undef $FirstDate;
+   undef $LastDate;
+   undef $LastYear;
+   undef %Module;
+   undef %ZoneNames;
+   undef %Alias;
+   undef %Abbrev;
+   undef %Offmod;
+}
+
+$TzdataVersion = 'tzdata2017b';
+$TzcodeVersion = 'tzcode2017b';
+$FirstDate     = '0001010200:00:00';
+$LastDate      = '9999123100:00:00';
+$LastYear      = '2067';
+
+
+%Module = (
+  'africa/abidjan'                     => 'afabid00',
+  'africa/accra'                       => 'afaccr00',
+  'africa/algiers'                     => 'afalgi00',
+  'africa/bissau'                      => 'afbiss00',
+  'africa/cairo'                       => 'afcair00',
+  'africa/casablanca'                  => 'afcasa00',
+  'africa/ceuta'                       => 'afceut00',
+  'africa/el_aaiun'                    => 'afel_a00',
+  'africa/johannesburg'                => 'afjoha00',
+  'africa/khartoum'                    => 'afkhar00',
+  'africa/lagos'                       => 'aflago00',
+  'africa/maputo'                      => 'afmapu00',
+  'africa/monrovia'                    => 'afmonr00',
+  'africa/nairobi'                     => 'afnair00',
+  'africa/ndjamena'                    => 'afndja00',
+  'africa/tripoli'                     => 'aftrip00',
+  'africa/tunis'                       => 'aftuni00',
+  'africa/windhoek'                    => 'afwind00',
+  'america/adak'                       => 'amadak00',
+  'america/anchorage'                  => 'amanch00',
+  'america/araguaina'                  => 'amarag00',
+  'america/argentina/buenos_aires'     => 'ambuen00',
+  'america/argentina/catamarca'        => 'amcata00',
+  'america/argentina/cordoba'          => 'amcord00',
+  'america/argentina/jujuy'            => 'amjuju00',
+  'america/argentina/la_rioja'         => 'amla_r00',
+  'america/argentina/mendoza'          => 'ammend00',
+  'america/argentina/rio_gallegos'     => 'amrio_00',
+  'america/argentina/salta'            => 'amsalt00',
+  'america/argentina/san_juan'         => 'amsan_00',
+  'america/argentina/san_luis'         => 'amsan_01',
+  'america/argentina/tucuman'          => 'amtucu00',
+  'america/argentina/ushuaia'          => 'amushu00',
+  'america/asuncion'                   => 'amasun00',
+  'america/atikokan'                   => 'amatik00',
+  'america/bahia'                      => 'ambahi00',
+  'america/bahia_banderas'             => 'ambahi01',
+  'america/barbados'                   => 'ambarb00',
+  'america/belem'                      => 'ambele00',
+  'america/belize'                     => 'ambeli00',
+  'america/blanc-sablon'               => 'amblan00',
+  'america/boa_vista'                  => 'amboa_00',
+  'america/bogota'                     => 'ambogo00',
+  'america/boise'                      => 'ambois00',
+  'america/cambridge_bay'              => 'amcamb00',
+  'america/campo_grande'               => 'amcamp00',
+  'america/cancun'                     => 'amcanc00',
+  'america/caracas'                    => 'amcara00',
+  'america/cayenne'                    => 'amcaye00',
+  'america/chicago'                    => 'amchic00',
+  'america/chihuahua'                  => 'amchih00',
+  'america/costa_rica'                 => 'amcost00',
+  'america/creston'                    => 'amcres00',
+  'america/cuiaba'                     => 'amcuia00',
+  'america/curacao'                    => 'amcura00',
+  'america/danmarkshavn'               => 'amdanm00',
+  'america/dawson'                     => 'amdaws00',
+  'america/dawson_creek'               => 'amdaws01',
+  'america/denver'                     => 'amdenv00',
+  'america/detroit'                    => 'amdetr00',
+  'america/edmonton'                   => 'amedmo00',
+  'america/eirunepe'                   => 'ameiru00',
+  'america/el_salvador'                => 'amel_s00',
+  'america/fort_nelson'                => 'amfort00',
+  'america/fortaleza'                  => 'amfort01',
+  'america/glace_bay'                  => 'amglac00',
+  'america/godthab'                    => 'amgodt00',
+  'america/goose_bay'                  => 'amgoos00',
+  'america/grand_turk'                 => 'amgran00',
+  'america/guatemala'                  => 'amguat00',
+  'america/guayaquil'                  => 'amguay00',
+  'america/guyana'                     => 'amguya00',
+  'america/halifax'                    => 'amhali00',
+  'america/havana'                     => 'amhava00',
+  'america/hermosillo'                 => 'amherm00',
+  'america/indiana/indianapolis'       => 'amindi00',
+  'america/indiana/knox'               => 'amknox00',
+  'america/indiana/marengo'            => 'ammare00',
+  'america/indiana/petersburg'         => 'ampete00',
+  'america/indiana/tell_city'          => 'amtell00',
+  'america/indiana/vevay'              => 'amveva00',
+  'america/indiana/vincennes'          => 'amvinc00',
+  'america/indiana/winamac'            => 'amwina00',
+  'america/inuvik'                     => 'aminuv00',
+  'america/iqaluit'                    => 'amiqal00',
+  'america/jamaica'                    => 'amjama00',
+  'america/juneau'                     => 'amjune00',
+  'america/kentucky/louisville'        => 'amloui00',
+  'america/kentucky/monticello'        => 'ammont00',
+  'america/la_paz'                     => 'amla_p00',
+  'america/lima'                       => 'amlima00',
+  'america/los_angeles'                => 'amlos_00',
+  'america/maceio'                     => 'ammace00',
+  'america/managua'                    => 'ammana00',
+  'america/manaus'                     => 'ammana01',
+  'america/martinique'                 => 'ammart00',
+  'america/matamoros'                  => 'ammata00',
+  'america/mazatlan'                   => 'ammaza00',
+  'america/menominee'                  => 'ammeno00',
+  'america/merida'                     => 'ammeri00',
+  'america/metlakatla'                 => 'ammetl00',
+  'america/mexico_city'                => 'ammexi00',
+  'america/miquelon'                   => 'ammiqu00',
+  'america/moncton'                    => 'ammonc00',
+  'america/monterrey'                  => 'ammont01',
+  'america/montevideo'                 => 'ammont02',
+  'america/nassau'                     => 'amnass00',
+  'america/new_york'                   => 'amnew_00',
+  'america/nipigon'                    => 'amnipi00',
+  'america/nome'                       => 'amnome00',
+  'america/noronha'                    => 'amnoro00',
+  'america/north_dakota/beulah'        => 'ambeul00',
+  'america/north_dakota/center'        => 'amcent00',
+  'america/north_dakota/new_salem'     => 'amnew_01',
+  'america/ojinaga'                    => 'amojin00',
+  'america/panama'                     => 'ampana00',
+  'america/pangnirtung'                => 'ampang00',
+  'america/paramaribo'                 => 'ampara00',
+  'america/phoenix'                    => 'amphoe00',
+  'america/port-au-prince'             => 'amport00',
+  'america/port_of_spain'              => 'amport01',
+  'america/porto_velho'                => 'amport02',
+  'america/puerto_rico'                => 'ampuer00',
+  'america/punta_arenas'               => 'ampunt00',
+  'america/rainy_river'                => 'amrain00',
+  'america/rankin_inlet'               => 'amrank00',
+  'america/recife'                     => 'amreci00',
+  'america/regina'                     => 'amregi00',
+  'america/resolute'                   => 'amreso00',
+  'america/rio_branco'                 => 'amrio_01',
+  'america/santarem'                   => 'amsant00',
+  'america/santiago'                   => 'amsant01',
+  'america/santo_domingo'              => 'amsant02',
+  'america/sao_paulo'                  => 'amsao_00',
+  'america/scoresbysund'               => 'amscor00',
+  'america/sitka'                      => 'amsitk00',
+  'america/st_johns'                   => 'amst_j00',
+  'america/swift_current'              => 'amswif00',
+  'america/tegucigalpa'                => 'amtegu00',
+  'america/thule'                      => 'amthul00',
+  'america/thunder_bay'                => 'amthun00',
+  'america/tijuana'                    => 'amtiju00',
+  'america/toronto'                    => 'amtoro00',
+  'america/vancouver'                  => 'amvanc00',
+  'america/whitehorse'                 => 'amwhit00',
+  'america/winnipeg'                   => 'amwinn00',
+  'america/yakutat'                    => 'amyaku00',
+  'america/yellowknife'                => 'amyell00',
+  'antarctica/casey'                   => 'ancase00',
+  'antarctica/davis'                   => 'andavi00',
+  'antarctica/dumontdurville'          => 'andumo00',
+  'antarctica/macquarie'               => 'anmacq00',
+  'antarctica/mawson'                  => 'anmaws00',
+  'antarctica/palmer'                  => 'anpalm00',
+  'antarctica/rothera'                 => 'anroth00',
+  'antarctica/syowa'                   => 'ansyow00',
+  'antarctica/troll'                   => 'antrol00',
+  'antarctica/vostok'                  => 'anvost00',
+  'asia/almaty'                        => 'asalma00',
+  'asia/amman'                         => 'asamma00',
+  'asia/anadyr'                        => 'asanad00',
+  'asia/aqtau'                         => 'asaqta00',
+  'asia/aqtobe'                        => 'asaqto00',
+  'asia/ashgabat'                      => 'asashg00',
+  'asia/atyrau'                        => 'asatyr00',
+  'asia/baghdad'                       => 'asbagh00',
+  'asia/baku'                          => 'asbaku00',
+  'asia/bangkok'                       => 'asbang00',
+  'asia/barnaul'                       => 'asbarn00',
+  'asia/beirut'                        => 'asbeir00',
+  'asia/bishkek'                       => 'asbish00',
+  'asia/brunei'                        => 'asbrun00',
+  'asia/chita'                         => 'aschit00',
+  'asia/choibalsan'                    => 'aschoi00',
+  'asia/colombo'                       => 'ascolo00',
+  'asia/damascus'                      => 'asdama00',
+  'asia/dhaka'                         => 'asdhak00',
+  'asia/dili'                          => 'asdili00',
+  'asia/dubai'                         => 'asduba00',
+  'asia/dushanbe'                      => 'asdush00',
+  'asia/famagusta'                     => 'asfama00',
+  'asia/gaza'                          => 'asgaza00',
+  'asia/hebron'                        => 'ashebr00',
+  'asia/ho_chi_minh'                   => 'asho_c00',
+  'asia/hong_kong'                     => 'ashong00',
+  'asia/hovd'                          => 'ashovd00',
+  'asia/irkutsk'                       => 'asirku00',
+  'asia/jakarta'                       => 'asjaka00',
+  'asia/jayapura'                      => 'asjaya00',
+  'asia/jerusalem'                     => 'asjeru00',
+  'asia/kabul'                         => 'askabu00',
+  'asia/kamchatka'                     => 'askamc00',
+  'asia/karachi'                       => 'askara00',
+  'asia/kathmandu'                     => 'askath00',
+  'asia/khandyga'                      => 'askhan00',
+  'asia/kolkata'                       => 'askolk00',
+  'asia/krasnoyarsk'                   => 'askras00',
+  'asia/kuala_lumpur'                  => 'askual00',
+  'asia/kuching'                       => 'askuch00',
+  'asia/macau'                         => 'asmaca00',
+  'asia/magadan'                       => 'asmaga00',
+  'asia/makassar'                      => 'asmaka00',
+  'asia/manila'                        => 'asmani00',
+  'asia/nicosia'                       => 'asnico00',
+  'asia/novokuznetsk'                  => 'asnovo00',
+  'asia/novosibirsk'                   => 'asnovo01',
+  'asia/omsk'                          => 'asomsk00',
+  'asia/oral'                          => 'asoral00',
+  'asia/pontianak'                     => 'aspont00',
+  'asia/pyongyang'                     => 'aspyon00',
+  'asia/qatar'                         => 'asqata00',
+  'asia/qyzylorda'                     => 'asqyzy00',
+  'asia/riyadh'                        => 'asriya00',
+  'asia/sakhalin'                      => 'assakh00',
+  'asia/samarkand'                     => 'assama00',
+  'asia/seoul'                         => 'asseou00',
+  'asia/shanghai'                      => 'asshan00',
+  'asia/singapore'                     => 'assing00',
+  'asia/srednekolymsk'                 => 'assred00',
+  'asia/taipei'                        => 'astaip00',
+  'asia/tashkent'                      => 'astash00',
+  'asia/tbilisi'                       => 'astbil00',
+  'asia/tehran'                        => 'astehr00',
+  'asia/thimphu'                       => 'asthim00',
+  'asia/tokyo'                         => 'astoky00',
+  'asia/tomsk'                         => 'astoms00',
+  'asia/ulaanbaatar'                   => 'asulaa00',
+  'asia/urumqi'                        => 'asurum00',
+  'asia/ust-nera'                      => 'asustm00',
+  'asia/vladivostok'                   => 'asvlad00',
+  'asia/yakutsk'                       => 'asyaku00',
+  'asia/yangon'                        => 'asyang00',
+  'asia/yekaterinburg'                 => 'asyeka00',
+  'asia/yerevan'                       => 'asyere00',
+  'atlantic/azores'                    => 'atazor00',
+  'atlantic/bermuda'                   => 'atberm00',
+  'atlantic/canary'                    => 'atcana00',
+  'atlantic/cape_verde'                => 'atcape00',
+  'atlantic/faroe'                     => 'atfaro00',
+  'atlantic/madeira'                   => 'atmade00',
+  'atlantic/reykjavik'                 => 'atreyk00',
+  'atlantic/south_georgia'             => 'atsout00',
+  'atlantic/stanley'                   => 'atstan00',
+  'australia/adelaide'                 => 'auadel00',
+  'australia/brisbane'                 => 'aubris00',
+  'australia/broken_hill'              => 'aubrok00',
+  'australia/currie'                   => 'aucurr00',
+  'australia/darwin'                   => 'audarw00',
+  'australia/eucla'                    => 'aueucl00',
+  'australia/hobart'                   => 'auhoba00',
+  'australia/lindeman'                 => 'aulind00',
+  'australia/lord_howe'                => 'aulord00',
+  'australia/melbourne'                => 'aumelb00',
+  'australia/perth'                    => 'aupert00',
+  'australia/sydney'                   => 'ausydn00',
+  'cet'                                => 'cet00',
+  'eet'                                => 'eet00',
+  'europe/amsterdam'                   => 'euamst00',
+  'europe/andorra'                     => 'euando00',
+  'europe/astrakhan'                   => 'euastr00',
+  'europe/athens'                      => 'euathe00',
+  'europe/belgrade'                    => 'eubelg00',
+  'europe/berlin'                      => 'euberl00',
+  'europe/brussels'                    => 'eubrus00',
+  'europe/bucharest'                   => 'eubuch00',
+  'europe/budapest'                    => 'eubuda00',
+  'europe/chisinau'                    => 'euchis00',
+  'europe/copenhagen'                  => 'eucope00',
+  'europe/dublin'                      => 'eudubl00',
+  'europe/gibraltar'                   => 'eugibr00',
+  'europe/helsinki'                    => 'euhels00',
+  'europe/istanbul'                    => 'euista00',
+  'europe/kaliningrad'                 => 'eukali00',
+  'europe/kiev'                        => 'eukiev00',
+  'europe/kirov'                       => 'eukiro00',
+  'europe/lisbon'                      => 'eulisb00',
+  'europe/london'                      => 'eulond00',
+  'europe/luxembourg'                  => 'euluxe00',
+  'europe/madrid'                      => 'eumadr00',
+  'europe/malta'                       => 'eumalt00',
+  'europe/minsk'                       => 'eumins00',
+  'europe/monaco'                      => 'eumona00',
+  'europe/moscow'                      => 'eumosc00',
+  'europe/oslo'                        => 'euoslo00',
+  'europe/paris'                       => 'eupari00',
+  'europe/prague'                      => 'euprag00',
+  'europe/riga'                        => 'euriga00',
+  'europe/rome'                        => 'eurome00',
+  'europe/samara'                      => 'eusama00',
+  'europe/saratov'                     => 'eusara00',
+  'europe/simferopol'                  => 'eusimf00',
+  'europe/sofia'                       => 'eusofi00',
+  'europe/stockholm'                   => 'eustoc00',
+  'europe/tallinn'                     => 'eutall00',
+  'europe/tirane'                      => 'eutira00',
+  'europe/ulyanovsk'                   => 'euulya00',
+  'europe/uzhgorod'                    => 'euuzhg00',
+  'europe/vienna'                      => 'euvien00',
+  'europe/vilnius'                     => 'euviln00',
+  'europe/volgograd'                   => 'euvolg00',
+  'europe/warsaw'                      => 'euwars00',
+  'europe/zaporozhye'                  => 'euzapo00',
+  'europe/zurich'                      => 'euzuri00',
+  'indian/chagos'                      => 'inchag00',
+  'indian/christmas'                   => 'inchri00',
+  'indian/cocos'                       => 'incoco00',
+  'indian/kerguelen'                   => 'inkerg00',
+  'indian/mahe'                        => 'inmahe00',
+  'indian/maldives'                    => 'inmald00',
+  'indian/mauritius'                   => 'inmaur00',
+  'indian/reunion'                     => 'inreun00',
+  'met'                                => 'met00',
+  'pacific/apia'                       => 'paapia00',
+  'pacific/auckland'                   => 'paauck00',
+  'pacific/bougainville'               => 'paboug00',
+  'pacific/chatham'                    => 'pachat00',
+  'pacific/chuuk'                      => 'pachuu00',
+  'pacific/easter'                     => 'paeast00',
+  'pacific/efate'                      => 'paefat00',
+  'pacific/enderbury'                  => 'paende00',
+  'pacific/fakaofo'                    => 'pafaka00',
+  'pacific/fiji'                       => 'pafiji00',
+  'pacific/funafuti'                   => 'pafuna00',
+  'pacific/galapagos'                  => 'pagala00',
+  'pacific/gambier'                    => 'pagamb00',
+  'pacific/guadalcanal'                => 'paguad00',
+  'pacific/guam'                       => 'paguam00',
+  'pacific/honolulu'                   => 'pahono00',
+  'pacific/kiritimati'                 => 'pakiri00',
+  'pacific/kosrae'                     => 'pakosr00',
+  'pacific/kwajalein'                  => 'pakwaj00',
+  'pacific/majuro'                     => 'pamaju00',
+  'pacific/marquesas'                  => 'pamarq00',
+  'pacific/nauru'                      => 'panaur00',
+  'pacific/niue'                       => 'paniue00',
+  'pacific/norfolk'                    => 'panorf00',
+  'pacific/noumea'                     => 'panoum00',
+  'pacific/pago_pago'                  => 'papago00',
+  'pacific/palau'                      => 'papala00',
+  'pacific/pitcairn'                   => 'papitc00',
+  'pacific/pohnpei'                    => 'papohn00',
+  'pacific/port_moresby'               => 'paport00',
+  'pacific/rarotonga'                  => 'pararo00',
+  'pacific/tahiti'                     => 'patahi00',
+  'pacific/tarawa'                     => 'patara00',
+  'pacific/tongatapu'                  => 'patong00',
+  'pacific/wake'                       => 'pawake00',
+  'pacific/wallis'                     => 'pawall00',
+  'wet'                                => 'wet00',
+  'a'                                  => 'a00',
+  'b'                                  => 'b00',
+  'c'                                  => 'c00',
+  'd'                                  => 'd00',
+  'e'                                  => 'e00',
+  'etc/gmt'                            => 'etgmt00',
+  'etc/gmt+1'                          => 'etgmtp00',
+  'etc/gmt+10'                         => 'etgmtp01',
+  'etc/gmt+11'                         => 'etgmtp02',
+  'etc/gmt+12'                         => 'etgmtp03',
+  'etc/gmt+2'                          => 'etgmtp04',
+  'etc/gmt+3'                          => 'etgmtp05',
+  'etc/gmt+4'                          => 'etgmtp06',
+  'etc/gmt+5'                          => 'etgmtp07',
+  'etc/gmt+6'                          => 'etgmtp08',
+  'etc/gmt+7'                          => 'etgmtp09',
+  'etc/gmt+8'                          => 'etgmtp10',
+  'etc/gmt+9'                          => 'etgmtp11',
+  'etc/gmt-1'                          => 'etgmtm00',
+  'etc/gmt-10'                         => 'etgmtm01',
+  'etc/gmt-11'                         => 'etgmtm02',
+  'etc/gmt-12'                         => 'etgmtm03',
+  'etc/gmt-13'                         => 'etgmtm04',
+  'etc/gmt-14'                         => 'etgmtm05',
+  'etc/gmt-2'                          => 'etgmtm06',
+  'etc/gmt-3'                          => 'etgmtm07',
+  'etc/gmt-4'                          => 'etgmtm08',
+  'etc/gmt-5'                          => 'etgmtm09',
+  'etc/gmt-6'                          => 'etgmtm10',
+  'etc/gmt-7'                          => 'etgmtm11',
+  'etc/gmt-8'                          => 'etgmtm12',
+  'etc/gmt-9'                          => 'etgmtm13',
+  'f'                                  => 'f00',
+  'g'                                  => 'g00',
+  'h'                                  => 'h00',
+  'i'                                  => 'i00',
+  'k'                                  => 'k00',
+  'l'                                  => 'l00',
+  'm'                                  => 'm00',
+  'n'                                  => 'n00',
+  'o'                                  => 'o00',
+  'p'                                  => 'p00',
+  'q'                                  => 'q00',
+  'r'                                  => 'r00',
+  's'                                  => 's00',
+  't'                                  => 't00',
+  'u'                                  => 'u00',
+  'ut'                                 => 'ut00',
+  'utc'                                => 'utc00',
+  'v'                                  => 'v00',
+  'w'                                  => 'w00',
+  'x'                                  => 'x00',
+  'y'                                  => 'y00',
+  'z'                                  => 'z00',
+);
+
+%ZoneNames = (
+  'africa/abidjan'                     => 'Africa/Abidjan',
+  'africa/accra'                       => 'Africa/Accra',
+  'africa/algiers'                     => 'Africa/Algiers',
+  'africa/bissau'                      => 'Africa/Bissau',
+  'africa/cairo'                       => 'Africa/Cairo',
+  'africa/casablanca'                  => 'Africa/Casablanca',
+  'africa/ceuta'                       => 'Africa/Ceuta',
+  'africa/el_aaiun'                    => 'Africa/El_Aaiun',
+  'africa/johannesburg'                => 'Africa/Johannesburg',
+  'africa/khartoum'                    => 'Africa/Khartoum',
+  'africa/lagos'                       => 'Africa/Lagos',
+  'africa/maputo'                      => 'Africa/Maputo',
+  'africa/monrovia'                    => 'Africa/Monrovia',
+  'africa/nairobi'                     => 'Africa/Nairobi',
+  'africa/ndjamena'                    => 'Africa/Ndjamena',
+  'africa/tripoli'                     => 'Africa/Tripoli',
+  'africa/tunis'                       => 'Africa/Tunis',
+  'africa/windhoek'                    => 'Africa/Windhoek',
+  'america/adak'                       => 'America/Adak',
+  'america/anchorage'                  => 'America/Anchorage',
+  'america/araguaina'                  => 'America/Araguaina',
+  'america/argentina/buenos_aires'     => 'America/Argentina/Buenos_Aires',
+  'america/argentina/catamarca'        => 'America/Argentina/Catamarca',
+  'america/argentina/cordoba'          => 'America/Argentina/Cordoba',
+  'america/argentina/jujuy'            => 'America/Argentina/Jujuy',
+  'america/argentina/la_rioja'         => 'America/Argentina/La_Rioja',
+  'america/argentina/mendoza'          => 'America/Argentina/Mendoza',
+  'america/argentina/rio_gallegos'     => 'America/Argentina/Rio_Gallegos',
+  'america/argentina/salta'            => 'America/Argentina/Salta',
+  'america/argentina/san_juan'         => 'America/Argentina/San_Juan',
+  'america/argentina/san_luis'         => 'America/Argentina/San_Luis',
+  'america/argentina/tucuman'          => 'America/Argentina/Tucuman',
+  'america/argentina/ushuaia'          => 'America/Argentina/Ushuaia',
+  'america/asuncion'                   => 'America/Asuncion',
+  'america/atikokan'                   => 'America/Atikokan',
+  'america/bahia'                      => 'America/Bahia',
+  'america/bahia_banderas'             => 'America/Bahia_Banderas',
+  'america/barbados'                   => 'America/Barbados',
+  'america/belem'                      => 'America/Belem',
+  'america/belize'                     => 'America/Belize',
+  'america/blanc-sablon'               => 'America/Blanc-Sablon',
+  'america/boa_vista'                  => 'America/Boa_Vista',
+  'america/bogota'                     => 'America/Bogota',
+  'america/boise'                      => 'America/Boise',
+  'america/cambridge_bay'              => 'America/Cambridge_Bay',
+  'america/campo_grande'               => 'America/Campo_Grande',
+  'america/cancun'                     => 'America/Cancun',
+  'america/caracas'                    => 'America/Caracas',
+  'america/cayenne'                    => 'America/Cayenne',
+  'america/chicago'                    => 'America/Chicago',
+  'america/chihuahua'                  => 'America/Chihuahua',
+  'america/costa_rica'                 => 'America/Costa_Rica',
+  'america/creston'                    => 'America/Creston',
+  'america/cuiaba'                     => 'America/Cuiaba',
+  'america/curacao'                    => 'America/Curacao',
+  'america/danmarkshavn'               => 'America/Danmarkshavn',
+  'america/dawson'                     => 'America/Dawson',
+  'america/dawson_creek'               => 'America/Dawson_Creek',
+  'america/denver'                     => 'America/Denver',
+  'america/detroit'                    => 'America/Detroit',
+  'america/edmonton'                   => 'America/Edmonton',
+  'america/eirunepe'                   => 'America/Eirunepe',
+  'america/el_salvador'                => 'America/El_Salvador',
+  'america/fort_nelson'                => 'America/Fort_Nelson',
+  'america/fortaleza'                  => 'America/Fortaleza',
+  'america/glace_bay'                  => 'America/Glace_Bay',
+  'america/godthab'                    => 'America/Godthab',
+  'america/goose_bay'                  => 'America/Goose_Bay',
+  'america/grand_turk'                 => 'America/Grand_Turk',
+  'america/guatemala'                  => 'America/Guatemala',
+  'america/guayaquil'                  => 'America/Guayaquil',
+  'america/guyana'                     => 'America/Guyana',
+  'america/halifax'                    => 'America/Halifax',
+  'america/havana'                     => 'America/Havana',
+  'america/hermosillo'                 => 'America/Hermosillo',
+  'america/indiana/indianapolis'       => 'America/Indiana/Indianapolis',
+  'america/indiana/knox'               => 'America/Indiana/Knox',
+  'america/indiana/marengo'            => 'America/Indiana/Marengo',
+  'america/indiana/petersburg'         => 'America/Indiana/Petersburg',
+  'america/indiana/tell_city'          => 'America/Indiana/Tell_City',
+  'america/indiana/vevay'              => 'America/Indiana/Vevay',
+  'america/indiana/vincennes'          => 'America/Indiana/Vincennes',
+  'america/indiana/winamac'            => 'America/Indiana/Winamac',
+  'america/inuvik'                     => 'America/Inuvik',
+  'america/iqaluit'                    => 'America/Iqaluit',
+  'america/jamaica'                    => 'America/Jamaica',
+  'america/juneau'                     => 'America/Juneau',
+  'america/kentucky/louisville'        => 'America/Kentucky/Louisville',
+  'america/kentucky/monticello'        => 'America/Kentucky/Monticello',
+  'america/la_paz'                     => 'America/La_Paz',
+  'america/lima'                       => 'America/Lima',
+  'america/los_angeles'                => 'America/Los_Angeles',
+  'america/maceio'                     => 'America/Maceio',
+  'america/managua'                    => 'America/Managua',
+  'america/manaus'                     => 'America/Manaus',
+  'america/martinique'                 => 'America/Martinique',
+  'america/matamoros'                  => 'America/Matamoros',
+  'america/mazatlan'                   => 'America/Mazatlan',
+  'america/menominee'                  => 'America/Menominee',
+  'america/merida'                     => 'America/Merida',
+  'america/metlakatla'                 => 'America/Metlakatla',
+  'america/mexico_city'                => 'America/Mexico_City',
+  'america/miquelon'                   => 'America/Miquelon',
+  'america/moncton'                    => 'America/Moncton',
+  'america/monterrey'                  => 'America/Monterrey',
+  'america/montevideo'                 => 'America/Montevideo',
+  'america/nassau'                     => 'America/Nassau',
+  'america/new_york'                   => 'America/New_York',
+  'america/nipigon'                    => 'America/Nipigon',
+  'america/nome'                       => 'America/Nome',
+  'america/noronha'                    => 'America/Noronha',
+  'america/north_dakota/beulah'        => 'America/North_Dakota/Beulah',
+  'america/north_dakota/center'        => 'America/North_Dakota/Center',
+  'america/north_dakota/new_salem'     => 'America/North_Dakota/New_Salem',
+  'america/ojinaga'                    => 'America/Ojinaga',
+  'america/panama'                     => 'America/Panama',
+  'america/pangnirtung'                => 'America/Pangnirtung',
+  'america/paramaribo'                 => 'America/Paramaribo',
+  'america/phoenix'                    => 'America/Phoenix',
+  'america/port-au-prince'             => 'America/Port-au-Prince',
+  'america/port_of_spain'              => 'America/Port_of_Spain',
+  'america/porto_velho'                => 'America/Porto_Velho',
+  'america/puerto_rico'                => 'America/Puerto_Rico',
+  'america/punta_arenas'               => 'America/Punta_Arenas',
+  'america/rainy_river'                => 'America/Rainy_River',
+  'america/rankin_inlet'               => 'America/Rankin_Inlet',
+  'america/recife'                     => 'America/Recife',
+  'america/regina'                     => 'America/Regina',
+  'america/resolute'                   => 'America/Resolute',
+  'america/rio_branco'                 => 'America/Rio_Branco',
+  'america/santarem'                   => 'America/Santarem',
+  'america/santiago'                   => 'America/Santiago',
+  'america/santo_domingo'              => 'America/Santo_Domingo',
+  'america/sao_paulo'                  => 'America/Sao_Paulo',
+  'america/scoresbysund'               => 'America/Scoresbysund',
+  'america/sitka'                      => 'America/Sitka',
+  'america/st_johns'                   => 'America/St_Johns',
+  'america/swift_current'              => 'America/Swift_Current',
+  'america/tegucigalpa'                => 'America/Tegucigalpa',
+  'america/thule'                      => 'America/Thule',
+  'america/thunder_bay'                => 'America/Thunder_Bay',
+  'america/tijuana'                    => 'America/Tijuana',
+  'america/toronto'                    => 'America/Toronto',
+  'america/vancouver'                  => 'America/Vancouver',
+  'america/whitehorse'                 => 'America/Whitehorse',
+  'america/winnipeg'                   => 'America/Winnipeg',
+  'america/yakutat'                    => 'America/Yakutat',
+  'america/yellowknife'                => 'America/Yellowknife',
+  'antarctica/casey'                   => 'Antarctica/Casey',
+  'antarctica/davis'                   => 'Antarctica/Davis',
+  'antarctica/dumontdurville'          => 'Antarctica/DumontDUrville',
+  'antarctica/macquarie'               => 'Antarctica/Macquarie',
+  'antarctica/mawson'                  => 'Antarctica/Mawson',
+  'antarctica/palmer'                  => 'Antarctica/Palmer',
+  'antarctica/rothera'                 => 'Antarctica/Rothera',
+  'antarctica/syowa'                   => 'Antarctica/Syowa',
+  'antarctica/troll'                   => 'Antarctica/Troll',
+  'antarctica/vostok'                  => 'Antarctica/Vostok',
+  'asia/almaty'                        => 'Asia/Almaty',
+  'asia/amman'                         => 'Asia/Amman',
+  'asia/anadyr'                        => 'Asia/Anadyr',
+  'asia/aqtau'                         => 'Asia/Aqtau',
+  'asia/aqtobe'                        => 'Asia/Aqtobe',
+  'asia/ashgabat'                      => 'Asia/Ashgabat',
+  'asia/atyrau'                        => 'Asia/Atyrau',
+  'asia/baghdad'                       => 'Asia/Baghdad',
+  'asia/baku'                          => 'Asia/Baku',
+  'asia/bangkok'                       => 'Asia/Bangkok',
+  'asia/barnaul'                       => 'Asia/Barnaul',
+  'asia/beirut'                        => 'Asia/Beirut',
+  'asia/bishkek'                       => 'Asia/Bishkek',
+  'asia/brunei'                        => 'Asia/Brunei',
+  'asia/chita'                         => 'Asia/Chita',
+  'asia/choibalsan'                    => 'Asia/Choibalsan',
+  'asia/colombo'                       => 'Asia/Colombo',
+  'asia/damascus'                      => 'Asia/Damascus',
+  'asia/dhaka'                         => 'Asia/Dhaka',
+  'asia/dili'                          => 'Asia/Dili',
+  'asia/dubai'                         => 'Asia/Dubai',
+  'asia/dushanbe'                      => 'Asia/Dushanbe',
+  'asia/famagusta'                     => 'Asia/Famagusta',
+  'asia/gaza'                          => 'Asia/Gaza',
+  'asia/hebron'                        => 'Asia/Hebron',
+  'asia/ho_chi_minh'                   => 'Asia/Ho_Chi_Minh',
+  'asia/hong_kong'                     => 'Asia/Hong_Kong',
+  'asia/hovd'                          => 'Asia/Hovd',
+  'asia/irkutsk'                       => 'Asia/Irkutsk',
+  'asia/jakarta'                       => 'Asia/Jakarta',
+  'asia/jayapura'                      => 'Asia/Jayapura',
+  'asia/jerusalem'                     => 'Asia/Jerusalem',
+  'asia/kabul'                         => 'Asia/Kabul',
+  'asia/kamchatka'                     => 'Asia/Kamchatka',
+  'asia/karachi'                       => 'Asia/Karachi',
+  'asia/kathmandu'                     => 'Asia/Kathmandu',
+  'asia/khandyga'                      => 'Asia/Khandyga',
+  'asia/kolkata'                       => 'Asia/Kolkata',
+  'asia/krasnoyarsk'                   => 'Asia/Krasnoyarsk',
+  'asia/kuala_lumpur'                  => 'Asia/Kuala_Lumpur',
+  'asia/kuching'                       => 'Asia/Kuching',
+  'asia/macau'                         => 'Asia/Macau',
+  'asia/magadan'                       => 'Asia/Magadan',
+  'asia/makassar'                      => 'Asia/Makassar',
+  'asia/manila'                        => 'Asia/Manila',
+  'asia/nicosia'                       => 'Asia/Nicosia',
+  'asia/novokuznetsk'                  => 'Asia/Novokuznetsk',
+  'asia/novosibirsk'                   => 'Asia/Novosibirsk',
+  'asia/omsk'                          => 'Asia/Omsk',
+  'asia/oral'                          => 'Asia/Oral',
+  'asia/pontianak'                     => 'Asia/Pontianak',
+  'asia/pyongyang'                     => 'Asia/Pyongyang',
+  'asia/qatar'                         => 'Asia/Qatar',
+  'asia/qyzylorda'                     => 'Asia/Qyzylorda',
+  'asia/riyadh'                        => 'Asia/Riyadh',
+  'asia/sakhalin'                      => 'Asia/Sakhalin',
+  'asia/samarkand'                     => 'Asia/Samarkand',
+  'asia/seoul'                         => 'Asia/Seoul',
+  'asia/shanghai'                      => 'Asia/Shanghai',
+  'asia/singapore'                     => 'Asia/Singapore',
+  'asia/srednekolymsk'                 => 'Asia/Srednekolymsk',
+  'asia/taipei'                        => 'Asia/Taipei',
+  'asia/tashkent'                      => 'Asia/Tashkent',
+  'asia/tbilisi'                       => 'Asia/Tbilisi',
+  'asia/tehran'                        => 'Asia/Tehran',
+  'asia/thimphu'                       => 'Asia/Thimphu',
+  'asia/tokyo'                         => 'Asia/Tokyo',
+  'asia/tomsk'                         => 'Asia/Tomsk',
+  'asia/ulaanbaatar'                   => 'Asia/Ulaanbaatar',
+  'asia/urumqi'                        => 'Asia/Urumqi',
+  'asia/ust-nera'                      => 'Asia/Ust-Nera',
+  'asia/vladivostok'                   => 'Asia/Vladivostok',
+  'asia/yakutsk'                       => 'Asia/Yakutsk',
+  'asia/yangon'                        => 'Asia/Yangon',
+  'asia/yekaterinburg'                 => 'Asia/Yekaterinburg',
+  'asia/yerevan'                       => 'Asia/Yerevan',
+  'atlantic/azores'                    => 'Atlantic/Azores',
+  'atlantic/bermuda'                   => 'Atlantic/Bermuda',
+  'atlantic/canary'                    => 'Atlantic/Canary',
+  'atlantic/cape_verde'                => 'Atlantic/Cape_Verde',
+  'atlantic/faroe'                     => 'Atlantic/Faroe',
+  'atlantic/madeira'                   => 'Atlantic/Madeira',
+  'atlantic/reykjavik'                 => 'Atlantic/Reykjavik',
+  'atlantic/south_georgia'             => 'Atlantic/South_Georgia',
+  'atlantic/stanley'                   => 'Atlantic/Stanley',
+  'australia/adelaide'                 => 'Australia/Adelaide',
+  'australia/brisbane'                 => 'Australia/Brisbane',
+  'australia/broken_hill'              => 'Australia/Broken_Hill',
+  'australia/currie'                   => 'Australia/Currie',
+  'australia/darwin'                   => 'Australia/Darwin',
+  'australia/eucla'                    => 'Australia/Eucla',
+  'australia/hobart'                   => 'Australia/Hobart',
+  'australia/lindeman'                 => 'Australia/Lindeman',
+  'australia/lord_howe'                => 'Australia/Lord_Howe',
+  'australia/melbourne'                => 'Australia/Melbourne',
+  'australia/perth'                    => 'Australia/Perth',
+  'australia/sydney'                   => 'Australia/Sydney',
+  'cet'                                => 'CET',
+  'eet'                                => 'EET',
+  'europe/amsterdam'                   => 'Europe/Amsterdam',
+  'europe/andorra'                     => 'Europe/Andorra',
+  'europe/astrakhan'                   => 'Europe/Astrakhan',
+  'europe/athens'                      => 'Europe/Athens',
+  'europe/belgrade'                    => 'Europe/Belgrade',
+  'europe/berlin'                      => 'Europe/Berlin',
+  'europe/brussels'                    => 'Europe/Brussels',
+  'europe/bucharest'                   => 'Europe/Bucharest',
+  'europe/budapest'                    => 'Europe/Budapest',
+  'europe/chisinau'                    => 'Europe/Chisinau',
+  'europe/copenhagen'                  => 'Europe/Copenhagen',
+  'europe/dublin'                      => 'Europe/Dublin',
+  'europe/gibraltar'                   => 'Europe/Gibraltar',
+  'europe/helsinki'                    => 'Europe/Helsinki',
+  'europe/istanbul'                    => 'Europe/Istanbul',
+  'europe/kaliningrad'                 => 'Europe/Kaliningrad',
+  'europe/kiev'                        => 'Europe/Kiev',
+  'europe/kirov'                       => 'Europe/Kirov',
+  'europe/lisbon'                      => 'Europe/Lisbon',
+  'europe/london'                      => 'Europe/London',
+  'europe/luxembourg'                  => 'Europe/Luxembourg',
+  'europe/madrid'                      => 'Europe/Madrid',
+  'europe/malta'                       => 'Europe/Malta',
+  'europe/minsk'                       => 'Europe/Minsk',
+  'europe/monaco'                      => 'Europe/Monaco',
+  'europe/moscow'                      => 'Europe/Moscow',
+  'europe/oslo'                        => 'Europe/Oslo',
+  'europe/paris'                       => 'Europe/Paris',
+  'europe/prague'                      => 'Europe/Prague',
+  'europe/riga'                        => 'Europe/Riga',
+  'europe/rome'                        => 'Europe/Rome',
+  'europe/samara'                      => 'Europe/Samara',
+  'europe/saratov'                     => 'Europe/Saratov',
+  'europe/simferopol'                  => 'Europe/Simferopol',
+  'europe/sofia'                       => 'Europe/Sofia',
+  'europe/stockholm'                   => 'Europe/Stockholm',
+  'europe/tallinn'                     => 'Europe/Tallinn',
+  'europe/tirane'                      => 'Europe/Tirane',
+  'europe/ulyanovsk'                   => 'Europe/Ulyanovsk',
+  'europe/uzhgorod'                    => 'Europe/Uzhgorod',
+  'europe/vienna'                      => 'Europe/Vienna',
+  'europe/vilnius'                     => 'Europe/Vilnius',
+  'europe/volgograd'                   => 'Europe/Volgograd',
+  'europe/warsaw'                      => 'Europe/Warsaw',
+  'europe/zaporozhye'                  => 'Europe/Zaporozhye',
+  'europe/zurich'                      => 'Europe/Zurich',
+  'indian/chagos'                      => 'Indian/Chagos',
+  'indian/christmas'                   => 'Indian/Christmas',
+  'indian/cocos'                       => 'Indian/Cocos',
+  'indian/kerguelen'                   => 'Indian/Kerguelen',
+  'indian/mahe'                        => 'Indian/Mahe',
+  'indian/maldives'                    => 'Indian/Maldives',
+  'indian/mauritius'                   => 'Indian/Mauritius',
+  'indian/reunion'                     => 'Indian/Reunion',
+  'met'                                => 'MET',
+  'pacific/apia'                       => 'Pacific/Apia',
+  'pacific/auckland'                   => 'Pacific/Auckland',
+  'pacific/bougainville'               => 'Pacific/Bougainville',
+  'pacific/chatham'                    => 'Pacific/Chatham',
+  'pacific/chuuk'                      => 'Pacific/Chuuk',
+  'pacific/easter'                     => 'Pacific/Easter',
+  'pacific/efate'                      => 'Pacific/Efate',
+  'pacific/enderbury'                  => 'Pacific/Enderbury',
+  'pacific/fakaofo'                    => 'Pacific/Fakaofo',
+  'pacific/fiji'                       => 'Pacific/Fiji',
+  'pacific/funafuti'                   => 'Pacific/Funafuti',
+  'pacific/galapagos'                  => 'Pacific/Galapagos',
+  'pacific/gambier'                    => 'Pacific/Gambier',
+  'pacific/guadalcanal'                => 'Pacific/Guadalcanal',
+  'pacific/guam'                       => 'Pacific/Guam',
+  'pacific/honolulu'                   => 'Pacific/Honolulu',
+  'pacific/kiritimati'                 => 'Pacific/Kiritimati',
+  'pacific/kosrae'                     => 'Pacific/Kosrae',
+  'pacific/kwajalein'                  => 'Pacific/Kwajalein',
+  'pacific/majuro'                     => 'Pacific/Majuro',
+  'pacific/marquesas'                  => 'Pacific/Marquesas',
+  'pacific/nauru'                      => 'Pacific/Nauru',
+  'pacific/niue'                       => 'Pacific/Niue',
+  'pacific/norfolk'                    => 'Pacific/Norfolk',
+  'pacific/noumea'                     => 'Pacific/Noumea',
+  'pacific/pago_pago'                  => 'Pacific/Pago_Pago',
+  'pacific/palau'                      => 'Pacific/Palau',
+  'pacific/pitcairn'                   => 'Pacific/Pitcairn',
+  'pacific/pohnpei'                    => 'Pacific/Pohnpei',
+  'pacific/port_moresby'               => 'Pacific/Port_Moresby',
+  'pacific/rarotonga'                  => 'Pacific/Rarotonga',
+  'pacific/tahiti'                     => 'Pacific/Tahiti',
+  'pacific/tarawa'                     => 'Pacific/Tarawa',
+  'pacific/tongatapu'                  => 'Pacific/Tongatapu',
+  'pacific/wake'                       => 'Pacific/Wake',
+  'pacific/wallis'                     => 'Pacific/Wallis',
+  'wet'                                => 'WET',
+  'a'                                  => 'A',
+  'b'                                  => 'B',
+  'c'                                  => 'C',
+  'd'                                  => 'D',
+  'e'                                  => 'E',
+  'etc/gmt'                            => 'Etc/GMT',
+  'etc/gmt+1'                          => 'Etc/GMT+1',
+  'etc/gmt+10'                         => 'Etc/GMT+10',
+  'etc/gmt+11'                         => 'Etc/GMT+11',
+  'etc/gmt+12'                         => 'Etc/GMT+12',
+  'etc/gmt+2'                          => 'Etc/GMT+2',
+  'etc/gmt+3'                          => 'Etc/GMT+3',
+  'etc/gmt+4'                          => 'Etc/GMT+4',
+  'etc/gmt+5'                          => 'Etc/GMT+5',
+  'etc/gmt+6'                          => 'Etc/GMT+6',
+  'etc/gmt+7'                          => 'Etc/GMT+7',
+  'etc/gmt+8'                          => 'Etc/GMT+8',
+  'etc/gmt+9'                          => 'Etc/GMT+9',
+  'etc/gmt-1'                          => 'Etc/GMT-1',
+  'etc/gmt-10'                         => 'Etc/GMT-10',
+  'etc/gmt-11'                         => 'Etc/GMT-11',
+  'etc/gmt-12'                         => 'Etc/GMT-12',
+  'etc/gmt-13'                         => 'Etc/GMT-13',
+  'etc/gmt-14'                         => 'Etc/GMT-14',
+  'etc/gmt-2'                          => 'Etc/GMT-2',
+  'etc/gmt-3'                          => 'Etc/GMT-3',
+  'etc/gmt-4'                          => 'Etc/GMT-4',
+  'etc/gmt-5'                          => 'Etc/GMT-5',
+  'etc/gmt-6'                          => 'Etc/GMT-6',
+  'etc/gmt-7'                          => 'Etc/GMT-7',
+  'etc/gmt-8'                          => 'Etc/GMT-8',
+  'etc/gmt-9'                          => 'Etc/GMT-9',
+  'f'                                  => 'F',
+  'g'                                  => 'G',
+  'h'                                  => 'H',
+  'i'                                  => 'I',
+  'k'                                  => 'K',
+  'l'                                  => 'L',
+  'm'                                  => 'M',
+  'n'                                  => 'N',
+  'o'                                  => 'O',
+  'p'                                  => 'P',
+  'q'                                  => 'Q',
+  'r'                                  => 'R',
+  's'                                  => 'S',
+  't'                                  => 'T',
+  'u'                                  => 'U',
+  'ut'                                 => 'UT',
+  'utc'                                => 'UTC',
+  'v'                                  => 'V',
+  'w'                                  => 'W',
+  'x'                                  => 'X',
+  'y'                                  => 'Y',
+  'z'                                  => 'Z',
+);
+
+%Alias = (
+  'a'                                  => 'a',
+  'africa/abidjan'                     => 'africa/abidjan',
+  'africa/accra'                       => 'africa/accra',
+  'africa/algiers'                     => 'africa/algiers',
+  'africa/bissau'                      => 'africa/bissau',
+  'africa/cairo'                       => 'africa/cairo',
+  'africa/casablanca'                  => 'africa/casablanca',
+  'africa/ceuta'                       => 'africa/ceuta',
+  'africa/el_aaiun'                    => 'africa/el_aaiun',
+  'africa/johannesburg'                => 'africa/johannesburg',
+  'africa/khartoum'                    => 'africa/khartoum',
+  'africa/lagos'                       => 'africa/lagos',
+  'africa/maputo'                      => 'africa/maputo',
+  'africa/monrovia'                    => 'africa/monrovia',
+  'africa/nairobi'                     => 'africa/nairobi',
+  'africa/ndjamena'                    => 'africa/ndjamena',
+  'africa/tripoli'                     => 'africa/tripoli',
+  'africa/tunis'                       => 'africa/tunis',
+  'africa/windhoek'                    => 'africa/windhoek',
+  'america/adak'                       => 'america/adak',
+  'america/anchorage'                  => 'america/anchorage',
+  'america/araguaina'                  => 'america/araguaina',
+  'america/argentina/buenos_aires'     => 'america/argentina/buenos_aires',
+  'america/argentina/catamarca'        => 'america/argentina/catamarca',
+  'america/argentina/cordoba'          => 'america/argentina/cordoba',
+  'america/argentina/jujuy'            => 'america/argentina/jujuy',
+  'america/argentina/la_rioja'         => 'america/argentina/la_rioja',
+  'america/argentina/mendoza'          => 'america/argentina/mendoza',
+  'america/argentina/rio_gallegos'     => 'america/argentina/rio_gallegos',
+  'america/argentina/salta'            => 'america/argentina/salta',
+  'america/argentina/san_juan'         => 'america/argentina/san_juan',
+  'america/argentina/san_luis'         => 'america/argentina/san_luis',
+  'america/argentina/tucuman'          => 'america/argentina/tucuman',
+  'america/argentina/ushuaia'          => 'america/argentina/ushuaia',
+  'america/asuncion'                   => 'america/asuncion',
+  'america/atikokan'                   => 'america/atikokan',
+  'america/bahia'                      => 'america/bahia',
+  'america/bahia_banderas'             => 'america/bahia_banderas',
+  'america/barbados'                   => 'america/barbados',
+  'america/belem'                      => 'america/belem',
+  'america/belize'                     => 'america/belize',
+  'america/blanc-sablon'               => 'america/blanc-sablon',
+  'america/boa_vista'                  => 'america/boa_vista',
+  'america/bogota'                     => 'america/bogota',
+  'america/boise'                      => 'america/boise',
+  'america/cambridge_bay'              => 'america/cambridge_bay',
+  'america/campo_grande'               => 'america/campo_grande',
+  'america/cancun'                     => 'america/cancun',
+  'america/caracas'                    => 'america/caracas',
+  'america/cayenne'                    => 'america/cayenne',
+  'america/chicago'                    => 'america/chicago',
+  'america/chihuahua'                  => 'america/chihuahua',
+  'america/costa_rica'                 => 'america/costa_rica',
+  'america/creston'                    => 'america/creston',
+  'america/cuiaba'                     => 'america/cuiaba',
+  'america/curacao'                    => 'america/curacao',
+  'america/danmarkshavn'               => 'america/danmarkshavn',
+  'america/dawson'                     => 'america/dawson',
+  'america/dawson_creek'               => 'america/dawson_creek',
+  'america/denver'                     => 'america/denver',
+  'america/detroit'                    => 'america/detroit',
+  'america/edmonton'                   => 'america/edmonton',
+  'america/eirunepe'                   => 'america/eirunepe',
+  'america/el_salvador'                => 'america/el_salvador',
+  'america/fort_nelson'                => 'america/fort_nelson',
+  'america/fortaleza'                  => 'america/fortaleza',
+  'america/glace_bay'                  => 'america/glace_bay',
+  'america/godthab'                    => 'america/godthab',
+  'america/goose_bay'                  => 'america/goose_bay',
+  'america/grand_turk'                 => 'america/grand_turk',
+  'america/guatemala'                  => 'america/guatemala',
+  'america/guayaquil'                  => 'america/guayaquil',
+  'america/guyana'                     => 'america/guyana',
+  'america/halifax'                    => 'america/halifax',
+  'america/havana'                     => 'america/havana',
+  'america/hermosillo'                 => 'america/hermosillo',
+  'america/indiana/indianapolis'       => 'america/indiana/indianapolis',
+  'america/indiana/knox'               => 'america/indiana/knox',
+  'america/indiana/marengo'            => 'america/indiana/marengo',
+  'america/indiana/petersburg'         => 'america/indiana/petersburg',
+  'america/indiana/tell_city'          => 'america/indiana/tell_city',
+  'america/indiana/vevay'              => 'america/indiana/vevay',
+  'america/indiana/vincennes'          => 'america/indiana/vincennes',
+  'america/indiana/winamac'            => 'america/indiana/winamac',
+  'america/inuvik'                     => 'america/inuvik',
+  'america/iqaluit'                    => 'america/iqaluit',
+  'america/jamaica'                    => 'america/jamaica',
+  'america/juneau'                     => 'america/juneau',
+  'america/kentucky/louisville'        => 'america/kentucky/louisville',
+  'america/kentucky/monticello'        => 'america/kentucky/monticello',
+  'america/la_paz'                     => 'america/la_paz',
+  'america/lima'                       => 'america/lima',
+  'america/los_angeles'                => 'america/los_angeles',
+  'america/maceio'                     => 'america/maceio',
+  'america/managua'                    => 'america/managua',
+  'america/manaus'                     => 'america/manaus',
+  'america/martinique'                 => 'america/martinique',
+  'america/matamoros'                  => 'america/matamoros',
+  'america/mazatlan'                   => 'america/mazatlan',
+  'america/menominee'                  => 'america/menominee',
+  'america/merida'                     => 'america/merida',
+  'america/metlakatla'                 => 'america/metlakatla',
+  'america/mexico_city'                => 'america/mexico_city',
+  'america/miquelon'                   => 'america/miquelon',
+  'america/moncton'                    => 'america/moncton',
+  'america/monterrey'                  => 'america/monterrey',
+  'america/montevideo'                 => 'america/montevideo',
+  'america/nassau'                     => 'america/nassau',
+  'america/new_york'                   => 'america/new_york',
+  'america/nipigon'                    => 'america/nipigon',
+  'america/nome'                       => 'america/nome',
+  'america/noronha'                    => 'america/noronha',
+  'america/north_dakota/beulah'        => 'america/north_dakota/beulah',
+  'america/north_dakota/center'        => 'america/north_dakota/center',
+  'america/north_dakota/new_salem'     => 'america/north_dakota/new_salem',
+  'america/ojinaga'                    => 'america/ojinaga',
+  'america/panama'                     => 'america/panama',
+  'america/pangnirtung'                => 'america/pangnirtung',
+  'america/paramaribo'                 => 'america/paramaribo',
+  'america/phoenix'                    => 'america/phoenix',
+  'america/port-au-prince'             => 'america/port-au-prince',
+  'america/port_of_spain'              => 'america/port_of_spain',
+  'america/porto_velho'                => 'america/porto_velho',
+  'america/puerto_rico'                => 'america/puerto_rico',
+  'america/punta_arenas'               => 'america/punta_arenas',
+  'america/rainy_river'                => 'america/rainy_river',
+  'america/rankin_inlet'               => 'america/rankin_inlet',
+  'america/recife'                     => 'america/recife',
+  'america/regina'                     => 'america/regina',
+  'america/resolute'                   => 'america/resolute',
+  'america/rio_branco'                 => 'america/rio_branco',
+  'america/santarem'                   => 'america/santarem',
+  'america/santiago'                   => 'america/santiago',
+  'america/santo_domingo'              => 'america/santo_domingo',
+  'america/sao_paulo'                  => 'america/sao_paulo',
+  'america/scoresbysund'               => 'america/scoresbysund',
+  'america/sitka'                      => 'america/sitka',
+  'america/st_johns'                   => 'america/st_johns',
+  'america/swift_current'              => 'america/swift_current',
+  'america/tegucigalpa'                => 'america/tegucigalpa',
+  'america/thule'                      => 'america/thule',
+  'america/thunder_bay'                => 'america/thunder_bay',
+  'america/tijuana'                    => 'america/tijuana',
+  'america/toronto'                    => 'america/toronto',
+  'america/vancouver'                  => 'america/vancouver',
+  'america/whitehorse'                 => 'america/whitehorse',
+  'america/winnipeg'                   => 'america/winnipeg',
+  'america/yakutat'                    => 'america/yakutat',
+  'america/yellowknife'                => 'america/yellowknife',
+  'antarctica/casey'                   => 'antarctica/casey',
+  'antarctica/davis'                   => 'antarctica/davis',
+  'antarctica/dumontdurville'          => 'antarctica/dumontdurville',
+  'antarctica/macquarie'               => 'antarctica/macquarie',
+  'antarctica/mawson'                  => 'antarctica/mawson',
+  'antarctica/palmer'                  => 'antarctica/palmer',
+  'antarctica/rothera'                 => 'antarctica/rothera',
+  'antarctica/syowa'                   => 'antarctica/syowa',
+  'antarctica/troll'                   => 'antarctica/troll',
+  'antarctica/vostok'                  => 'antarctica/vostok',
+  'asia/almaty'                        => 'asia/almaty',
+  'asia/amman'                         => 'asia/amman',
+  'asia/anadyr'                        => 'asia/anadyr',
+  'asia/aqtau'                         => 'asia/aqtau',
+  'asia/aqtobe'                        => 'asia/aqtobe',
+  'asia/ashgabat'                      => 'asia/ashgabat',
+  'asia/atyrau'                        => 'asia/atyrau',
+  'asia/baghdad'                       => 'asia/baghdad',
+  'asia/baku'                          => 'asia/baku',
+  'asia/bangkok'                       => 'asia/bangkok',
+  'asia/barnaul'                       => 'asia/barnaul',
+  'asia/beirut'                        => 'asia/beirut',
+  'asia/bishkek'                       => 'asia/bishkek',
+  'asia/brunei'                        => 'asia/brunei',
+  'asia/chita'                         => 'asia/chita',
+  'asia/choibalsan'                    => 'asia/choibalsan',
+  'asia/colombo'                       => 'asia/colombo',
+  'asia/damascus'                      => 'asia/damascus',
+  'asia/dhaka'                         => 'asia/dhaka',
+  'asia/dili'                          => 'asia/dili',
+  'asia/dubai'                         => 'asia/dubai',
+  'asia/dushanbe'                      => 'asia/dushanbe',
+  'asia/famagusta'                     => 'asia/famagusta',
+  'asia/gaza'                          => 'asia/gaza',
+  'asia/hebron'                        => 'asia/hebron',
+  'asia/ho_chi_minh'                   => 'asia/ho_chi_minh',
+  'asia/hong_kong'                     => 'asia/hong_kong',
+  'asia/hovd'                          => 'asia/hovd',
+  'asia/irkutsk'                       => 'asia/irkutsk',
+  'asia/jakarta'                       => 'asia/jakarta',
+  'asia/jayapura'                      => 'asia/jayapura',
+  'asia/jerusalem'                     => 'asia/jerusalem',
+  'asia/kabul'                         => 'asia/kabul',
+  'asia/kamchatka'                     => 'asia/kamchatka',
+  'asia/karachi'                       => 'asia/karachi',
+  'asia/kathmandu'                     => 'asia/kathmandu',
+  'asia/khandyga'                      => 'asia/khandyga',
+  'asia/kolkata'                       => 'asia/kolkata',
+  'asia/krasnoyarsk'                   => 'asia/krasnoyarsk',
+  'asia/kuala_lumpur'                  => 'asia/kuala_lumpur',
+  'asia/kuching'                       => 'asia/kuching',
+  'asia/macau'                         => 'asia/macau',
+  'asia/magadan'                       => 'asia/magadan',
+  'asia/makassar'                      => 'asia/makassar',
+  'asia/manila'                        => 'asia/manila',
+  'asia/nicosia'                       => 'asia/nicosia',
+  'asia/novokuznetsk'                  => 'asia/novokuznetsk',
+  'asia/novosibirsk'                   => 'asia/novosibirsk',
+  'asia/omsk'                          => 'asia/omsk',
+  'asia/oral'                          => 'asia/oral',
+  'asia/pontianak'                     => 'asia/pontianak',
+  'asia/pyongyang'                     => 'asia/pyongyang',
+  'asia/qatar'                         => 'asia/qatar',
+  'asia/qyzylorda'                     => 'asia/qyzylorda',
+  'asia/riyadh'                        => 'asia/riyadh',
+  'asia/sakhalin'                      => 'asia/sakhalin',
+  'asia/samarkand'                     => 'asia/samarkand',
+  'asia/seoul'                         => 'asia/seoul',
+  'asia/shanghai'                      => 'asia/shanghai',
+  'asia/singapore'                     => 'asia/singapore',
+  'asia/srednekolymsk'                 => 'asia/srednekolymsk',
+  'asia/taipei'                        => 'asia/taipei',
+  'asia/tashkent'                      => 'asia/tashkent',
+  'asia/tbilisi'                       => 'asia/tbilisi',
+  'asia/tehran'                        => 'asia/tehran',
+  'asia/thimphu'                       => 'asia/thimphu',
+  'asia/tokyo'                         => 'asia/tokyo',
+  'asia/tomsk'                         => 'asia/tomsk',
+  'asia/ulaanbaatar'                   => 'asia/ulaanbaatar',
+  'asia/urumqi'                        => 'asia/urumqi',
+  'asia/ust-nera'                      => 'asia/ust-nera',
+  'asia/vladivostok'                   => 'asia/vladivostok',
+  'asia/yakutsk'                       => 'asia/yakutsk',
+  'asia/yangon'                        => 'asia/yangon',
+  'asia/yekaterinburg'                 => 'asia/yekaterinburg',
+  'asia/yerevan'                       => 'asia/yerevan',
+  'atlantic/azores'                    => 'atlantic/azores',
+  'atlantic/bermuda'                   => 'atlantic/bermuda',
+  'atlantic/canary'                    => 'atlantic/canary',
+  'atlantic/cape_verde'                => 'atlantic/cape_verde',
+  'atlantic/faroe'                     => 'atlantic/faroe',
+  'atlantic/madeira'                   => 'atlantic/madeira',
+  'atlantic/reykjavik'                 => 'atlantic/reykjavik',
+  'atlantic/south_georgia'             => 'atlantic/south_georgia',
+  'atlantic/stanley'                   => 'atlantic/stanley',
+  'australia/adelaide'                 => 'australia/adelaide',
+  'australia/brisbane'                 => 'australia/brisbane',
+  'australia/broken_hill'              => 'australia/broken_hill',
+  'australia/currie'                   => 'australia/currie',
+  'australia/darwin'                   => 'australia/darwin',
+  'australia/eucla'                    => 'australia/eucla',
+  'australia/hobart'                   => 'australia/hobart',
+  'australia/lindeman'                 => 'australia/lindeman',
+  'australia/lord_howe'                => 'australia/lord_howe',
+  'australia/melbourne'                => 'australia/melbourne',
+  'australia/perth'                    => 'australia/perth',
+  'australia/sydney'                   => 'australia/sydney',
+  'b'                                  => 'b',
+  'c'                                  => 'c',
+  'cet'                                => 'cet',
+  'd'                                  => 'd',
+  'e'                                  => 'e',
+  'eet'                                => 'eet',
+  'etc/gmt'                            => 'etc/gmt',
+  'etc/gmt+1'                          => 'etc/gmt+1',
+  'etc/gmt+10'                         => 'etc/gmt+10',
+  'etc/gmt+11'                         => 'etc/gmt+11',
+  'etc/gmt+12'                         => 'etc/gmt+12',
+  'etc/gmt+2'                          => 'etc/gmt+2',
+  'etc/gmt+3'                          => 'etc/gmt+3',
+  'etc/gmt+4'                          => 'etc/gmt+4',
+  'etc/gmt+5'                          => 'etc/gmt+5',
+  'etc/gmt+6'                          => 'etc/gmt+6',
+  'etc/gmt+7'                          => 'etc/gmt+7',
+  'etc/gmt+8'                          => 'etc/gmt+8',
+  'etc/gmt+9'                          => 'etc/gmt+9',
+  'etc/gmt-1'                          => 'etc/gmt-1',
+  'etc/gmt-10'                         => 'etc/gmt-10',
+  'etc/gmt-11'                         => 'etc/gmt-11',
+  'etc/gmt-12'                         => 'etc/gmt-12',
+  'etc/gmt-13'                         => 'etc/gmt-13',
+  'etc/gmt-14'                         => 'etc/gmt-14',
+  'etc/gmt-2'                          => 'etc/gmt-2',
+  'etc/gmt-3'                          => 'etc/gmt-3',
+  'etc/gmt-4'                          => 'etc/gmt-4',
+  'etc/gmt-5'                          => 'etc/gmt-5',
+  'etc/gmt-6'                          => 'etc/gmt-6',
+  'etc/gmt-7'                          => 'etc/gmt-7',
+  'etc/gmt-8'                          => 'etc/gmt-8',
+  'etc/gmt-9'                          => 'etc/gmt-9',
+  'europe/amsterdam'                   => 'europe/amsterdam',
+  'europe/andorra'                     => 'europe/andorra',
+  'europe/astrakhan'                   => 'europe/astrakhan',
+  'europe/athens'                      => 'europe/athens',
+  'europe/belgrade'                    => 'europe/belgrade',
+  'europe/berlin'                      => 'europe/berlin',
+  'europe/brussels'                    => 'europe/brussels',
+  'europe/bucharest'                   => 'europe/bucharest',
+  'europe/budapest'                    => 'europe/budapest',
+  'europe/chisinau'                    => 'europe/chisinau',
+  'europe/copenhagen'                  => 'europe/copenhagen',
+  'europe/dublin'                      => 'europe/dublin',
+  'europe/gibraltar'                   => 'europe/gibraltar',
+  'europe/helsinki'                    => 'europe/helsinki',
+  'europe/istanbul'                    => 'europe/istanbul',
+  'europe/kaliningrad'                 => 'europe/kaliningrad',
+  'europe/kiev'                        => 'europe/kiev',
+  'europe/kirov'                       => 'europe/kirov',
+  'europe/lisbon'                      => 'europe/lisbon',
+  'europe/london'                      => 'europe/london',
+  'europe/luxembourg'                  => 'europe/luxembourg',
+  'europe/madrid'                      => 'europe/madrid',
+  'europe/malta'                       => 'europe/malta',
+  'europe/minsk'                       => 'europe/minsk',
+  'europe/monaco'                      => 'europe/monaco',
+  'europe/moscow'                      => 'europe/moscow',
+  'europe/oslo'                        => 'europe/oslo',
+  'europe/paris'                       => 'europe/paris',
+  'europe/prague'                      => 'europe/prague',
+  'europe/riga'                        => 'europe/riga',
+  'europe/rome'                        => 'europe/rome',
+  'europe/samara'                      => 'europe/samara',
+  'europe/saratov'                     => 'europe/saratov',
+  'europe/simferopol'                  => 'europe/simferopol',
+  'europe/sofia'                       => 'europe/sofia',
+  'europe/stockholm'                   => 'europe/stockholm',
+  'europe/tallinn'                     => 'europe/tallinn',
+  'europe/tirane'                      => 'europe/tirane',
+  'europe/ulyanovsk'                   => 'europe/ulyanovsk',
+  'europe/uzhgorod'                    => 'europe/uzhgorod',
+  'europe/vienna'                      => 'europe/vienna',
+  'europe/vilnius'                     => 'europe/vilnius',
+  'europe/volgograd'                   => 'europe/volgograd',
+  'europe/warsaw'                      => 'europe/warsaw',
+  'europe/zaporozhye'                  => 'europe/zaporozhye',
+  'europe/zurich'                      => 'europe/zurich',
+  'f'                                  => 'f',
+  'g'                                  => 'g',
+  'h'                                  => 'h',
+  'i'                                  => 'i',
+  'indian/chagos'                      => 'indian/chagos',
+  'indian/christmas'                   => 'indian/christmas',
+  'indian/cocos'                       => 'indian/cocos',
+  'indian/kerguelen'                   => 'indian/kerguelen',
+  'indian/mahe'                        => 'indian/mahe',
+  'indian/maldives'                    => 'indian/maldives',
+  'indian/mauritius'                   => 'indian/mauritius',
+  'indian/reunion'                     => 'indian/reunion',
+  'k'                                  => 'k',
+  'l'                                  => 'l',
+  'm'                                  => 'm',
+  'met'                                => 'met',
+  'n'                                  => 'n',
+  'o'                                  => 'o',
+  'p'                                  => 'p',
+  'pacific/apia'                       => 'pacific/apia',
+  'pacific/auckland'                   => 'pacific/auckland',
+  'pacific/bougainville'               => 'pacific/bougainville',
+  'pacific/chatham'                    => 'pacific/chatham',
+  'pacific/chuuk'                      => 'pacific/chuuk',
+  'pacific/easter'                     => 'pacific/easter',
+  'pacific/efate'                      => 'pacific/efate',
+  'pacific/enderbury'                  => 'pacific/enderbury',
+  'pacific/fakaofo'                    => 'pacific/fakaofo',
+  'pacific/fiji'                       => 'pacific/fiji',
+  'pacific/funafuti'                   => 'pacific/funafuti',
+  'pacific/galapagos'                  => 'pacific/galapagos',
+  'pacific/gambier'                    => 'pacific/gambier',
+  'pacific/guadalcanal'                => 'pacific/guadalcanal',
+  'pacific/guam'                       => 'pacific/guam',
+  'pacific/honolulu'                   => 'pacific/honolulu',
+  'pacific/kiritimati'                 => 'pacific/kiritimati',
+  'pacific/kosrae'                     => 'pacific/kosrae',
+  'pacific/kwajalein'                  => 'pacific/kwajalein',
+  'pacific/majuro'                     => 'pacific/majuro',
+  'pacific/marquesas'                  => 'pacific/marquesas',
+  'pacific/nauru'                      => 'pacific/nauru',
+  'pacific/niue'                       => 'pacific/niue',
+  'pacific/norfolk'                    => 'pacific/norfolk',
+  'pacific/noumea'                     => 'pacific/noumea',
+  'pacific/pago_pago'                  => 'pacific/pago_pago',
+  'pacific/palau'                      => 'pacific/palau',
+  'pacific/pitcairn'                   => 'pacific/pitcairn',
+  'pacific/pohnpei'                    => 'pacific/pohnpei',
+  'pacific/port_moresby'               => 'pacific/port_moresby',
+  'pacific/rarotonga'                  => 'pacific/rarotonga',
+  'pacific/tahiti'                     => 'pacific/tahiti',
+  'pacific/tarawa'                     => 'pacific/tarawa',
+  'pacific/tongatapu'                  => 'pacific/tongatapu',
+  'pacific/wake'                       => 'pacific/wake',
+  'pacific/wallis'                     => 'pacific/wallis',
+  'q'                                  => 'q',
+  'r'                                  => 'r',
+  's'                                  => 's',
+  't'                                  => 't',
+  'u'                                  => 'u',
+  'ut'                                 => 'ut',
+  'utc'                                => 'utc',
+  'v'                                  => 'v',
+  'w'                                  => 'w',
+  'wet'                                => 'wet',
+  'x'                                  => 'x',
+  'y'                                  => 'y',
+  'z'                                  => 'z',
+  'africa/addis_ababa'                 => 'africa/nairobi',
+  'africa/asmara'                      => 'africa/nairobi',
+  'africa/asmera'                      => 'africa/nairobi',
+  'africa/bamako'                      => 'africa/abidjan',
+  'africa/bangui'                      => 'africa/lagos',
+  'africa/banjul'                      => 'africa/abidjan',
+  'africa/blantyre'                    => 'africa/maputo',
+  'africa/brazzaville'                 => 'africa/lagos',
+  'africa/bujumbura'                   => 'africa/maputo',
+  'africa/conakry'                     => 'africa/abidjan',
+  'africa/dakar'                       => 'africa/abidjan',
+  'africa/dar_es_salaam'               => 'africa/nairobi',
+  'africa/djibouti'                    => 'africa/nairobi',
+  'africa/douala'                      => 'africa/lagos',
+  'africa/freetown'                    => 'africa/abidjan',
+  'africa/gaborone'                    => 'africa/maputo',
+  'africa/harare'                      => 'africa/maputo',
+  'africa/juba'                        => 'africa/khartoum',
+  'africa/kampala'                     => 'africa/nairobi',
+  'africa/kigali'                      => 'africa/maputo',
+  'africa/kinshasa'                    => 'africa/lagos',
+  'africa/libreville'                  => 'africa/lagos',
+  'africa/lome'                        => 'africa/abidjan',
+  'africa/luanda'                      => 'africa/lagos',
+  'africa/lubumbashi'                  => 'africa/maputo',
+  'africa/lusaka'                      => 'africa/maputo',
+  'africa/malabo'                      => 'africa/lagos',
+  'africa/maseru'                      => 'africa/johannesburg',
+  'africa/mbabane'                     => 'africa/johannesburg',
+  'africa/mogadishu'                   => 'africa/nairobi',
+  'africa/niamey'                      => 'africa/lagos',
+  'africa/nouakchott'                  => 'africa/abidjan',
+  'africa/ouagadougou'                 => 'africa/abidjan',
+  'africa/porto-novo'                  => 'africa/lagos',
+  'africa/sao_tome'                    => 'africa/abidjan',
+  'africa/timbuktu'                    => 'africa/abidjan',
+  'america/anguilla'                   => 'america/port_of_spain',
+  'america/antigua'                    => 'america/port_of_spain',
+  'america/argentina/comodrivadavia'   => 'america/argentina/catamarca',
+  'america/aruba'                      => 'america/curacao',
+  'america/atka'                       => 'america/adak',
+  'america/buenos_aires'               => 'america/argentina/buenos_aires',
+  'america/catamarca'                  => 'america/argentina/catamarca',
+  'america/cayman'                     => 'america/panama',
+  'america/coral_harbour'              => 'america/atikokan',
+  'america/cordoba'                    => 'america/argentina/cordoba',
+  'america/dominica'                   => 'america/port_of_spain',
+  'america/ensenada'                   => 'america/tijuana',
+  'america/fort_wayne'                 => 'america/indiana/indianapolis',
+  'america/grenada'                    => 'america/port_of_spain',
+  'america/guadeloupe'                 => 'america/port_of_spain',
+  'america/indianapolis'               => 'america/indiana/indianapolis',
+  'america/jujuy'                      => 'america/argentina/jujuy',
+  'america/knox_in'                    => 'america/indiana/knox',
+  'america/kralendijk'                 => 'america/curacao',
+  'america/louisville'                 => 'america/kentucky/louisville',
+  'america/lower_princes'              => 'america/curacao',
+  'america/marigot'                    => 'america/port_of_spain',
+  'america/mendoza'                    => 'america/argentina/mendoza',
+  'america/montreal'                   => 'america/toronto',
+  'america/montserrat'                 => 'america/port_of_spain',
+  'america/porto_acre'                 => 'america/rio_branco',
+  'america/rosario'                    => 'america/argentina/cordoba',
+  'america/santa_isabel'               => 'america/tijuana',
+  'america/shiprock'                   => 'america/denver',
+  'america/st_barthelemy'              => 'america/port_of_spain',
+  'america/st_kitts'                   => 'america/port_of_spain',
+  'america/st_lucia'                   => 'america/port_of_spain',
+  'america/st_thomas'                  => 'america/port_of_spain',
+  'america/st_vincent'                 => 'america/port_of_spain',
+  'america/tortola'                    => 'america/port_of_spain',
+  'america/virgin'                     => 'america/port_of_spain',
+  'antarctica/mcmurdo'                 => 'pacific/auckland',
+  'antarctica/south_pole'              => 'pacific/auckland',
+  'arctic/longyearbyen'                => 'europe/oslo',
+  'asia/aden'                          => 'asia/riyadh',
+  'asia/ashkhabad'                     => 'asia/ashgabat',
+  'asia/bahrain'                       => 'asia/qatar',
+  'asia/calcutta'                      => 'asia/kolkata',
+  'asia/chongqing'                     => 'asia/shanghai',
+  'asia/chungking'                     => 'asia/shanghai',
+  'asia/dacca'                         => 'asia/dhaka',
+  'asia/harbin'                        => 'asia/shanghai',
+  'asia/istanbul'                      => 'europe/istanbul',
+  'asia/kashgar'                       => 'asia/urumqi',
+  'asia/katmandu'                      => 'asia/kathmandu',
+  'asia/kuwait'                        => 'asia/riyadh',
+  'asia/macao'                         => 'asia/macau',
+  'asia/muscat'                        => 'asia/dubai',
+  'asia/phnom_penh'                    => 'asia/bangkok',
+  'asia/rangoon'                       => 'asia/yangon',
+  'asia/saigon'                        => 'asia/ho_chi_minh',
+  'asia/tel_aviv'                      => 'asia/jerusalem',
+  'asia/thimbu'                        => 'asia/thimphu',
+  'asia/ujung_pandang'                 => 'asia/makassar',
+  'asia/ulan_bator'                    => 'asia/ulaanbaatar',
+  'asia/vientiane'                     => 'asia/bangkok',
+  'atlantic/faeroe'                    => 'atlantic/faroe',
+  'atlantic/jan_mayen'                 => 'europe/oslo',
+  'atlantic/st_helena'                 => 'africa/abidjan',
+  'australia/act'                      => 'australia/sydney',
+  'australia/canberra'                 => 'australia/sydney',
+  'australia/lhi'                      => 'australia/lord_howe',
+  'australia/nsw'                      => 'australia/sydney',
+  'australia/north'                    => 'australia/darwin',
+  'australia/queensland'               => 'australia/brisbane',
+  'australia/south'                    => 'australia/adelaide',
+  'australia/tasmania'                 => 'australia/hobart',
+  'australia/victoria'                 => 'australia/melbourne',
+  'australia/west'                     => 'australia/perth',
+  'australia/yancowinna'               => 'australia/broken_hill',
+  'brazil/acre'                        => 'america/rio_branco',
+  'brazil/denoronha'                   => 'america/noronha',
+  'brazil/east'                        => 'america/sao_paulo',
+  'brazil/west'                        => 'america/manaus',
+  'canada/atlantic'                    => 'america/halifax',
+  'canada/central'                     => 'america/winnipeg',
+  'canada/east-saskatchewan'           => 'america/regina',
+  'canada/eastern'                     => 'america/toronto',
+  'canada/mountain'                    => 'america/edmonton',
+  'canada/newfoundland'                => 'america/st_johns',
+  'canada/pacific'                     => 'america/vancouver',
+  'canada/saskatchewan'                => 'america/regina',
+  'canada/yukon'                       => 'america/whitehorse',
+  'chile/continental'                  => 'america/santiago',
+  'chile/easterisland'                 => 'pacific/easter',
+  'cuba'                               => 'america/havana',
+  'egypt'                              => 'africa/cairo',
+  'eire'                               => 'europe/dublin',
+  'europe/belfast'                     => 'europe/london',
+  'europe/bratislava'                  => 'europe/prague',
+  'europe/busingen'                    => 'europe/zurich',
+  'europe/guernsey'                    => 'europe/london',
+  'europe/isle_of_man'                 => 'europe/london',
+  'europe/jersey'                      => 'europe/london',
+  'europe/ljubljana'                   => 'europe/belgrade',
+  'europe/mariehamn'                   => 'europe/helsinki',
+  'europe/nicosia'                     => 'asia/nicosia',
+  'europe/podgorica'                   => 'europe/belgrade',
+  'europe/san_marino'                  => 'europe/rome',
+  'europe/sarajevo'                    => 'europe/belgrade',
+  'europe/skopje'                      => 'europe/belgrade',
+  'europe/tiraspol'                    => 'europe/chisinau',
+  'europe/vaduz'                       => 'europe/zurich',
+  'europe/vatican'                     => 'europe/rome',
+  'europe/zagreb'                      => 'europe/belgrade',
+  'gb'                                 => 'europe/london',
+  'gb-eire'                            => 'europe/london',
+  'hongkong'                           => 'asia/hong_kong',
+  'iceland'                            => 'atlantic/reykjavik',
+  'indian/antananarivo'                => 'africa/nairobi',
+  'indian/comoro'                      => 'africa/nairobi',
+  'indian/mayotte'                     => 'africa/nairobi',
+  'iran'                               => 'asia/tehran',
+  'israel'                             => 'asia/jerusalem',
+  'jamaica'                            => 'america/jamaica',
+  'japan'                              => 'asia/tokyo',
+  'kwajalein'                          => 'pacific/kwajalein',
+  'libya'                              => 'africa/tripoli',
+  'mexico/bajanorte'                   => 'america/tijuana',
+  'mexico/bajasur'                     => 'america/mazatlan',
+  'mexico/general'                     => 'america/mexico_city',
+  'nz'                                 => 'pacific/auckland',
+  'nz-chat'                            => 'pacific/chatham',
+  'navajo'                             => 'america/denver',
+  'prc'                                => 'asia/shanghai',
+  'pacific/johnston'                   => 'pacific/honolulu',
+  'pacific/midway'                     => 'pacific/pago_pago',
+  'pacific/ponape'                     => 'pacific/pohnpei',
+  'pacific/saipan'                     => 'pacific/guam',
+  'pacific/samoa'                      => 'pacific/pago_pago',
+  'pacific/truk'                       => 'pacific/chuuk',
+  'pacific/yap'                        => 'pacific/chuuk',
+  'poland'                             => 'europe/warsaw',
+  'portugal'                           => 'europe/lisbon',
+  'roc'                                => 'asia/taipei',
+  'rok'                                => 'asia/seoul',
+  'singapore'                          => 'asia/singapore',
+  'turkey'                             => 'europe/istanbul',
+  'us/alaska'                          => 'america/anchorage',
+  'us/aleutian'                        => 'america/adak',
+  'us/arizona'                         => 'america/phoenix',
+  'us/central'                         => 'america/chicago',
+  'us/east-indiana'                    => 'america/indiana/indianapolis',
+  'us/eastern'                         => 'america/new_york',
+  'us/hawaii'                          => 'pacific/honolulu',
+  'us/indiana-starke'                  => 'america/indiana/knox',
+  'us/michigan'                        => 'america/detroit',
+  'us/mountain'                        => 'america/denver',
+  'us/pacific'                         => 'america/los_angeles',
+  'us/pacific-new'                     => 'america/los_angeles',
+  'us/samoa'                           => 'pacific/pago_pago',
+  'w-su'                               => 'europe/moscow',
+  'aest-10aedt'                        => 'australia/melbourne',
+  'ahst10ahdt'                         => 'america/anchorage',
+  'akst9akdt'                          => 'america/anchorage',
+  'ast10apt'                           => 'america/anchorage',
+  'ast4adt'                            => 'america/halifax',
+  'ast4apt'                            => 'america/blanc-sablon',
+  'awst-8awdt'                         => 'australia/perth',
+  'bst11bdt'                           => 'america/adak',
+  'cat-2cast'                          => 'africa/khartoum',
+  'cet-1cest'                          => 'cet',
+  'cet-1wemt'                          => 'europe/monaco',
+  'cet-1west'                          => 'europe/luxembourg',
+  'cst-8cdt'                           => 'asia/shanghai',
+  'cst5cdt'                            => 'america/havana',
+  'cst6cdt'                            => 'america/chicago',
+  'cst6cpt'                            => 'america/chicago',
+  'eet-2eest'                          => 'eet',
+  'est5edt'                            => 'america/new_york',
+  'est5ept'                            => 'america/new_york',
+  'gmt0bst'                            => 'europe/london',
+  'gmt0ist'                            => 'europe/dublin',
+  'hkt-8hkst'                          => 'asia/hong_kong',
+  'hst10hdt'                           => 'america/adak',
+  'ist-2eest'                          => 'asia/gaza',
+  'ist-2idt'                           => 'asia/jerusalem',
+  'jst-9jdt'                           => 'asia/tokyo',
+  'kst-9kdt'                           => 'asia/seoul',
+  'met-1mest'                          => 'met',
+  'msk-3cest'                          => 'europe/minsk',
+  'msk-3msd'                           => 'europe/moscow',
+  'mst7mdt'                            => 'america/denver',
+  'mst7mpt'                            => 'america/denver',
+  'nst11npt'                           => 'america/adak',
+  'nzst-12nzdt'                        => 'pacific/auckland',
+  'pkt-5pkst'                          => 'asia/karachi',
+  'pst8pdt'                            => 'america/los_angeles',
+  'pst8ppt'                            => 'america/los_angeles',
+  'sast-2sast'                         => 'africa/johannesburg',
+  'wat-1wast'                          => 'africa/windhoek',
+  'wet-1west'                          => 'europe/luxembourg',
+  'wet0west'                           => 'wet',
+  'yst9ydt'                            => 'america/yakutat',
+  'yst9ypt'                            => 'america/whitehorse',
+  'arst3ardt'                          => 'america/argentina/buenos_aires',
+  'ast10adt'                           => 'america/adak',
+  'ast4adt#canada'                     => 'america/halifax',
+  'aus central standard time'          => 'australia/darwin',
+  'aus eastern standard time'          => 'australia/sydney',
+  'afghanistan standard time'          => 'asia/kabul',
+  'alaskan standard time'              => 'america/anchorage',
+  'arab standard time'                 => 'asia/riyadh',
+  'arabian standard time'              => 'asia/dubai',
+  'arabic standard time'               => 'asia/baghdad',
+  'argentina standard time'            => 'america/argentina/buenos_aires',
+  'atlantic standard time'             => 'america/halifax',
+  'azerbaijan standard time'           => 'asia/baku',
+  'azores standard time'               => 'atlantic/azores',
+  'brst3brdt'                          => 'america/sao_paulo',
+  'brwst4brwdt'                        => 'america/campo_grande',
+  'bahia standard time'                => 'america/bahia',
+  'bangladesh standard time'           => 'asia/dhaka',
+  'csm6cdm'                            => 'america/mexico_city',
+  'cst-9:30cdt'                        => 'australia/adelaide',
+  'cst6cdt#canada'                     => 'america/winnipeg',
+  'cst6cdt#indiana'                    => 'america/indiana/indianapolis',
+  'cst6cdt#mexico'                     => 'america/mexico_city',
+  'canada central standard time'       => 'america/regina',
+  'cape verde standard time'           => 'atlantic/cape_verde',
+  'caucasus standard time'             => 'asia/yerevan',
+  'cen. australia standard time'       => 'australia/adelaide',
+  'central america standard time'      => 'america/guatemala',
+  'central asia standard time'         => 'asia/almaty',
+  'central brazilian standard time'    => 'america/cuiaba',
+  'central europe standard time'       => 'europe/budapest',
+  'central european standard time'     => 'europe/warsaw',
+  'central pacific standard time'      => 'pacific/guadalcanal',
+  'central standard time'              => 'america/chicago',
+  'central standard time (mexico)'     => 'america/mexico_city',
+  'china standard time'                => 'asia/shanghai',
+  'dateline standard time'             => 'etc/gmt+12',
+  'e. africa standard time'            => 'africa/nairobi',
+  'e. australia standard time'         => 'australia/brisbane',
+  'e. europe standard time'            => 'asia/nicosia',
+  'e. south america standard time'     => 'america/sao_paulo',
+  'eet-2eetdst'                        => 'europe/helsinki',
+  'est-10edt'                          => 'australia/melbourne',
+  'est-10edt#nsw'                      => 'australia/sydney',
+  'est-10edt#tasmania'                 => 'australia/hobart',
+  'est-10edt#vic'                      => 'australia/melbourne',
+  'est5cdt'                            => 'america/indiana/indianapolis',
+  'est5edt#canada'                     => 'america/toronto',
+  'est5edt#indiana'                    => 'america/indiana/indianapolis',
+  'est5est'                            => 'america/indiana/indianapolis',
+  'est6cdt'                            => 'america/indiana/indianapolis',
+  'eastern standard time'              => 'america/new_york',
+  'egypt standard time'                => 'africa/cairo',
+  'ekaterinburg standard time'         => 'asia/yekaterinburg',
+  'etc/uct'                            => 'utc',
+  'etc/utc'                            => 'utc',
+  'fle standard time'                  => 'europe/kiev',
+  'fiji standard time'                 => 'pacific/fiji',
+  'gmt'                                => 'etc/gmt',
+  'gmt standard time'                  => 'europe/london',
+  'gtb standard time'                  => 'europe/istanbul',
+  'georgian standard time'             => 'asia/tbilisi',
+  'greenland standard time'            => 'america/godthab',
+  'greenwich standard time'            => 'atlantic/reykjavik',
+  'hawaiian standard time'             => 'pacific/honolulu',
+  'india standard time'                => 'asia/kolkata',
+  'iran standard time'                 => 'asia/tehran',
+  'israel standard time'               => 'asia/jerusalem',
+  'jordan standard time'               => 'asia/amman',
+  'kaliningrad standard time'          => 'europe/kaliningrad',
+  'korea standard time'                => 'asia/seoul',
+  'met-1metdst'                        => 'met',
+  'mez-1mesz'                          => 'cet',
+  'msm7mdm'                            => 'america/chihuahua',
+  'mst7mdt#canada'                     => 'america/edmonton',
+  'mst7mdt#mexico'                     => 'america/chihuahua',
+  'mxst6mxdt'                          => 'america/mexico_city',
+  'mxst6mxdt#mexico'                   => 'america/mexico_city',
+  'magadan standard time'              => 'asia/magadan',
+  'mauritius standard time'            => 'indian/mauritius',
+  'middle east standard time'          => 'asia/beirut',
+  'montevideo standard time'           => 'america/montevideo',
+  'morocco standard time'              => 'africa/casablanca',
+  'mountain standard time'             => 'america/denver',
+  'mountain standard time (mexico)'    => 'america/chihuahua',
+  'myanmar standard time'              => 'asia/yangon',
+  'n. central asia standard time'      => 'asia/novosibirsk',
+  'nst3:30ndt'                         => 'america/st_johns',
+  'nst3:30ndt#canada'                  => 'america/st_johns',
+  'namibia standard time'              => 'africa/windhoek',
+  'nepal standard time'                => 'asia/kathmandu',
+  'new zealand standard time'          => 'pacific/auckland',
+  'newfoundland standard time'         => 'america/st_johns',
+  'north asia east standard time'      => 'asia/irkutsk',
+  'north asia standard time'           => 'asia/krasnoyarsk',
+  'pst-8pdt'                           => 'asia/singapore',
+  'pst8pdt#canada'                     => 'america/vancouver',
+  'pwt0pst'                            => 'europe/lisbon',
+  'pacific sa standard time'           => 'america/santiago',
+  'pacific standard time'              => 'america/los_angeles',
+  'pacific/johnston'                   => 'pacific/honolulu',
+  'pakistan standard time'             => 'asia/karachi',
+  'paraguay standard time'             => 'america/asuncion',
+  'romance standard time'              => 'europe/paris',
+  'russian standard time'              => 'europe/moscow',
+  'sa eastern standard time'           => 'america/cayenne',
+  'sa pacific standard time'           => 'america/bogota',
+  'sa western standard time'           => 'america/la_paz',
+  'sast-2'                             => 'africa/johannesburg',
+  'se asia standard time'              => 'asia/bangkok',
+  'samoa standard time'                => 'pacific/apia',
+  'singapore standard time'            => 'asia/singapore',
+  'south africa standard time'         => 'africa/johannesburg',
+  'sri lanka standard time'            => 'asia/colombo',
+  'syria standard time'                => 'asia/damascus',
+  'taipei standard time'               => 'asia/taipei',
+  'tasmania standard time'             => 'australia/hobart',
+  'tokyo standard time'                => 'asia/tokyo',
+  'tonga standard time'                => 'pacific/tongatapu',
+  'turkey standard time'               => 'europe/istanbul',
+  'uct'                                => 'utc',
+  'us eastern standard time'           => 'america/indiana/indianapolis',
+  'us mountain standard time'          => 'america/phoenix',
+  'utc+12'                             => 'etc/gmt-12',
+  'utc-02'                             => 'etc/gmt+2',
+  'utc-11'                             => 'etc/gmt+11',
+  'ulaanbaatar standard time'          => 'asia/ulaanbaatar',
+  'venezuela standard time'            => 'america/caracas',
+  'vladivostok standard time'          => 'asia/vladivostok',
+  'w. australia standard time'         => 'australia/perth',
+  'w. central africa standard time'    => 'africa/lagos',
+  'w. europe standard time'            => 'europe/berlin',
+  'wet0wetdst'                         => 'wet',
+  'wst-10wstdst'                       => 'asia/vladivostok',
+  'wst-11wstdst'                       => 'asia/srednekolymsk',
+  'wst-12wstdst'                       => 'asia/kamchatka',
+  'wst-2wstdst'                        => 'europe/minsk',
+  'wst-3wstdst'                        => 'europe/moscow',
+  'wst-4wstdst'                        => 'europe/samara',
+  'wst-5wstdst'                        => 'asia/yekaterinburg',
+  'wst-6wstdst'                        => 'asia/omsk',
+  'wst-7wstdst'                        => 'asia/krasnoyarsk',
+  'wst-8wdt'                           => 'australia/perth',
+  'wst-8wstdst'                        => 'asia/irkutsk',
+  'wst-9wstdst'                        => 'asia/yakutsk',
+  'west asia standard time'            => 'asia/tashkent',
+  'west pacific standard time'         => 'pacific/port_moresby',
+  'yakutsk standard time'              => 'asia/yakutsk',
+);
+
+%Abbrev = (
+  'a'           => [ 'a' ],
+  'acdt'        => [ 'australia/adelaide',
+                     'australia/broken_hill',
+                     'australia/darwin' ],
+  'acst'        => [ 'australia/adelaide',
+                     'australia/darwin',
+                     'australia/broken_hill' ],
+  'addt'        => [ 'america/goose_bay',
+                     'america/pangnirtung' ],
+  'adt'         => [ 'america/halifax',
+                     'america/glace_bay',
+                     'america/moncton',
+                     'america/goose_bay',
+                     'atlantic/bermuda',
+                     'america/thule',
+                     'america/pangnirtung',
+                     'america/barbados',
+                     'america/martinique',
+                     'america/blanc-sablon' ],
+  'aedt'        => [ 'australia/melbourne',
+                     'australia/currie',
+                     'australia/hobart',
+                     'australia/sydney',
+                     'australia/lindeman',
+                     'australia/brisbane',
+                     'antarctica/macquarie' ],
+  'aest'        => [ 'australia/melbourne',
+                     'australia/brisbane',
+                     'australia/lindeman',
+                     'australia/currie',
+                     'australia/hobart',
+                     'australia/sydney',
+                     'australia/lord_howe',
+                     'australia/broken_hill',
+                     'antarctica/macquarie' ],
+  'ahdt'        => [ 'america/anchorage' ],
+  'ahst'        => [ 'america/anchorage',
+                     'america/adak' ],
+  'akdt'        => [ 'america/anchorage',
+                     'america/juneau',
+                     'america/nome',
+                     'america/sitka',
+                     'america/yakutat',
+                     'america/metlakatla' ],
+  'akst'        => [ 'america/anchorage',
+                     'america/juneau',
+                     'america/nome',
+                     'america/sitka',
+                     'america/yakutat',
+                     'america/metlakatla' ],
+  'amt'         => [ 'europe/amsterdam',
+                     'america/asuncion',
+                     'europe/athens' ],
+  'apt'         => [ 'america/halifax',
+                     'america/anchorage',
+                     'america/blanc-sablon',
+                     'america/glace_bay',
+                     'america/moncton',
+                     'america/pangnirtung',
+                     'america/puerto_rico' ],
+  'ast'         => [ 'america/blanc-sablon',
+                     'america/puerto_rico',
+                     'america/glace_bay',
+                     'america/halifax',
+                     'america/moncton',
+                     'america/martinique',
+                     'america/port_of_spain',
+                     'america/thule',
+                     'atlantic/bermuda',
+                     'america/barbados',
+                     'america/curacao',
+                     'america/goose_bay',
+                     'america/santo_domingo',
+                     'america/grand_turk',
+                     'america/pangnirtung',
+                     'america/miquelon',
+                     'america/anchorage' ],
+  'awdt'        => [ 'australia/perth' ],
+  'awst'        => [ 'australia/perth' ],
+  'awt'         => [ 'america/halifax',
+                     'america/anchorage',
+                     'america/blanc-sablon',
+                     'america/glace_bay',
+                     'america/moncton',
+                     'america/pangnirtung',
+                     'america/puerto_rico' ],
+  'b'           => [ 'b' ],
+  'bdst'        => [ 'europe/gibraltar',
+                     'europe/london' ],
+  'bdt'         => [ 'america/adak',
+                     'america/nome' ],
+  'bmt'         => [ 'america/barbados',
+                     'europe/bucharest',
+                     'europe/chisinau',
+                     'asia/jakarta',
+                     'asia/bangkok',
+                     'asia/baghdad',
+                     'america/bogota',
+                     'europe/zurich',
+                     'europe/brussels' ],
+  'bost'        => [ 'america/la_paz' ],
+  'bst'         => [ 'europe/london',
+                     'america/adak',
+                     'america/nome',
+                     'europe/gibraltar',
+                     'europe/dublin' ],
+  'c'           => [ 'c' ],
+  'cast'        => [ 'africa/khartoum' ],
+  'cat'         => [ 'africa/maputo',
+                     'africa/khartoum',
+                     'africa/windhoek' ],
+  'cddt'        => [ 'america/rankin_inlet',
+                     'america/resolute' ],
+  'cdt'         => [ 'america/chicago',
+                     'america/winnipeg',
+                     'america/indiana/knox',
+                     'america/indiana/tell_city',
+                     'america/menominee',
+                     'america/rainy_river',
+                     'america/havana',
+                     'america/mexico_city',
+                     'america/rankin_inlet',
+                     'america/resolute',
+                     'america/matamoros',
+                     'america/monterrey',
+                     'america/north_dakota/center',
+                     'america/merida',
+                     'america/north_dakota/new_salem',
+                     'america/bahia_banderas',
+                     'america/north_dakota/beulah',
+                     'america/cancun',
+                     'america/indiana/petersburg',
+                     'america/indiana/vincennes',
+                     'america/indiana/winamac',
+                     'america/guatemala',
+                     'america/managua',
+                     'america/tegucigalpa',
+                     'america/kentucky/monticello',
+                     'america/cambridge_bay',
+                     'america/iqaluit',
+                     'america/pangnirtung',
+                     'america/chihuahua',
+                     'america/ojinaga',
+                     'america/costa_rica',
+                     'asia/shanghai',
+                     'america/el_salvador',
+                     'america/belize',
+                     'asia/macau',
+                     'asia/taipei',
+                     'america/indiana/marengo',
+                     'america/kentucky/louisville',
+                     'america/indiana/indianapolis',
+                     'america/atikokan',
+                     'america/indiana/vevay' ],
+  'cemt'        => [ 'europe/berlin' ],
+  'cest'        => [ 'cet',
+                     'europe/berlin',
+                     'europe/brussels',
+                     'europe/budapest',
+                     'europe/copenhagen',
+                     'europe/luxembourg',
+                     'europe/malta',
+                     'europe/oslo',
+                     'europe/prague',
+                     'europe/rome',
+                     'europe/stockholm',
+                     'europe/vienna',
+                     'europe/warsaw',
+                     'europe/amsterdam',
+                     'europe/paris',
+                     'europe/tirane',
+                     'europe/belgrade',
+                     'europe/zurich',
+                     'europe/madrid',
+                     'europe/monaco',
+                     'europe/gibraltar',
+                     'europe/andorra',
+                     'africa/ceuta',
+                     'africa/tripoli',
+                     'africa/tunis',
+                     'europe/vilnius',
+                     'europe/lisbon',
+                     'africa/algiers',
+                     'europe/kaliningrad',
+                     'europe/tallinn',
+                     'europe/uzhgorod',
+                     'europe/chisinau',
+                     'europe/minsk',
+                     'europe/riga',
+                     'europe/simferopol',
+                     'europe/sofia',
+                     'europe/athens',
+                     'europe/kiev',
+                     'europe/zaporozhye' ],
+  'cet'         => [ 'cet',
+                     'europe/belgrade',
+                     'europe/budapest',
+                     'europe/prague',
+                     'europe/berlin',
+                     'europe/copenhagen',
+                     'europe/malta',
+                     'europe/rome',
+                     'europe/vienna',
+                     'europe/oslo',
+                     'europe/zurich',
+                     'europe/stockholm',
+                     'europe/luxembourg',
+                     'africa/tunis',
+                     'europe/tirane',
+                     'europe/brussels',
+                     'europe/warsaw',
+                     'europe/madrid',
+                     'africa/algiers',
+                     'europe/amsterdam',
+                     'europe/paris',
+                     'europe/monaco',
+                     'europe/andorra',
+                     'europe/gibraltar',
+                     'africa/ceuta',
+                     'africa/tripoli',
+                     'europe/vilnius',
+                     'europe/lisbon',
+                     'europe/uzhgorod',
+                     'africa/casablanca',
+                     'europe/kaliningrad',
+                     'europe/sofia',
+                     'europe/tallinn',
+                     'europe/athens',
+                     'europe/chisinau',
+                     'europe/minsk',
+                     'europe/riga',
+                     'europe/simferopol',
+                     'europe/kiev',
+                     'europe/zaporozhye' ],
+  'cmt'         => [ 'america/la_paz',
+                     'america/argentina/buenos_aires',
+                     'america/argentina/catamarca',
+                     'america/argentina/cordoba',
+                     'america/argentina/jujuy',
+                     'america/argentina/la_rioja',
+                     'america/argentina/mendoza',
+                     'america/argentina/rio_gallegos',
+                     'america/argentina/salta',
+                     'america/argentina/san_juan',
+                     'america/argentina/san_luis',
+                     'america/argentina/tucuman',
+                     'america/argentina/ushuaia',
+                     'europe/chisinau',
+                     'america/caracas',
+                     'america/panama',
+                     'europe/copenhagen' ],
+  'cpt'         => [ 'america/chicago',
+                     'america/atikokan',
+                     'america/indiana/indianapolis',
+                     'america/indiana/knox',
+                     'america/indiana/marengo',
+                     'america/indiana/petersburg',
+                     'america/indiana/tell_city',
+                     'america/indiana/vevay',
+                     'america/indiana/vincennes',
+                     'america/indiana/winamac',
+                     'america/kentucky/louisville',
+                     'america/kentucky/monticello',
+                     'america/menominee',
+                     'america/rainy_river',
+                     'america/winnipeg' ],
+  'cst'         => [ 'america/chicago',
+                     'america/indiana/knox',
+                     'america/indiana/tell_city',
+                     'america/menominee',
+                     'america/winnipeg',
+                     'america/rainy_river',
+                     'asia/taipei',
+                     'asia/shanghai',
+                     'asia/macau',
+                     'america/belize',
+                     'america/guatemala',
+                     'america/costa_rica',
+                     'america/el_salvador',
+                     'america/tegucigalpa',
+                     'america/matamoros',
+                     'america/merida',
+                     'america/monterrey',
+                     'america/havana',
+                     'america/bahia_banderas',
+                     'america/mexico_city',
+                     'america/managua',
+                     'america/resolute',
+                     'america/rankin_inlet',
+                     'america/regina',
+                     'america/swift_current',
+                     'america/north_dakota/center',
+                     'america/north_dakota/new_salem',
+                     'america/north_dakota/beulah',
+                     'america/cancun',
+                     'america/indiana/petersburg',
+                     'america/indiana/vincennes',
+                     'america/indiana/winamac',
+                     'america/cambridge_bay',
+                     'america/kentucky/monticello',
+                     'america/iqaluit',
+                     'america/pangnirtung',
+                     'america/chihuahua',
+                     'america/ojinaga',
+                     'america/indiana/marengo',
+                     'america/kentucky/louisville',
+                     'america/indiana/indianapolis',
+                     'america/indiana/vevay',
+                     'america/hermosillo',
+                     'america/mazatlan',
+                     'america/atikokan',
+                     'america/detroit',
+                     'america/thunder_bay' ],
+  'cwt'         => [ 'america/chicago',
+                     'america/atikokan',
+                     'america/indiana/indianapolis',
+                     'america/indiana/knox',
+                     'america/indiana/marengo',
+                     'america/indiana/petersburg',
+                     'america/indiana/tell_city',
+                     'america/indiana/vevay',
+                     'america/indiana/vincennes',
+                     'america/indiana/winamac',
+                     'america/kentucky/louisville',
+                     'america/kentucky/monticello',
+                     'america/menominee',
+                     'america/rainy_river',
+                     'america/winnipeg',
+                     'america/mexico_city' ],
+  'chst'        => [ 'pacific/guam' ],
+  'd'           => [ 'd' ],
+  'dmt'         => [ 'europe/dublin' ],
+  'e'           => [ 'e' ],
+  'eat'         => [ 'africa/nairobi',
+                     'africa/khartoum' ],
+  'eddt'        => [ 'america/iqaluit' ],
+  'edt'         => [ 'america/new_york',
+                     'america/nipigon',
+                     'america/toronto',
+                     'america/detroit',
+                     'america/nassau',
+                     'america/kentucky/louisville',
+                     'america/indiana/indianapolis',
+                     'america/indiana/marengo',
+                     'america/indiana/vevay',
+                     'america/indiana/vincennes',
+                     'america/indiana/winamac',
+                     'america/thunder_bay',
+                     'america/iqaluit',
+                     'america/port-au-prince',
+                     'america/pangnirtung',
+                     'america/kentucky/monticello',
+                     'america/indiana/petersburg',
+                     'america/grand_turk',
+                     'america/cancun',
+                     'america/jamaica',
+                     'america/indiana/tell_city',
+                     'america/santo_domingo' ],
+  'eest'        => [ 'eet',
+                     'asia/beirut',
+                     'asia/damascus',
+                     'europe/athens',
+                     'europe/bucharest',
+                     'europe/chisinau',
+                     'asia/gaza',
+                     'asia/hebron',
+                     'europe/helsinki',
+                     'asia/amman',
+                     'asia/nicosia',
+                     'europe/sofia',
+                     'europe/riga',
+                     'europe/tallinn',
+                     'europe/vilnius',
+                     'europe/kiev',
+                     'europe/zaporozhye',
+                     'europe/uzhgorod',
+                     'europe/istanbul',
+                     'asia/famagusta',
+                     'africa/cairo',
+                     'europe/simferopol',
+                     'europe/kaliningrad',
+                     'europe/minsk',
+                     'europe/moscow',
+                     'europe/warsaw' ],
+  'eet'         => [ 'eet',
+                     'asia/beirut',
+                     'europe/sofia',
+                     'asia/gaza',
+                     'asia/hebron',
+                     'africa/cairo',
+                     'europe/athens',
+                     'asia/damascus',
+                     'europe/vilnius',
+                     'europe/helsinki',
+                     'europe/tallinn',
+                     'asia/nicosia',
+                     'europe/kiev',
+                     'europe/zaporozhye',
+                     'europe/riga',
+                     'asia/amman',
+                     'europe/bucharest',
+                     'europe/chisinau',
+                     'africa/tripoli',
+                     'europe/kaliningrad',
+                     'europe/uzhgorod',
+                     'europe/istanbul',
+                     'asia/famagusta',
+                     'europe/simferopol',
+                     'europe/minsk',
+                     'europe/moscow',
+                     'europe/warsaw' ],
+  'emt'         => [ 'pacific/easter' ],
+  'ept'         => [ 'america/new_york',
+                     'america/detroit',
+                     'america/iqaluit',
+                     'america/nipigon',
+                     'america/thunder_bay',
+                     'america/toronto' ],
+  'est'         => [ 'america/new_york',
+                     'america/nipigon',
+                     'america/toronto',
+                     'america/panama',
+                     'america/thunder_bay',
+                     'america/jamaica',
+                     'america/nassau',
+                     'america/detroit',
+                     'america/port-au-prince',
+                     'america/atikokan',
+                     'america/iqaluit',
+                     'america/indiana/vevay',
+                     'america/indiana/indianapolis',
+                     'america/indiana/marengo',
+                     'america/indiana/winamac',
+                     'america/kentucky/louisville',
+                     'america/indiana/vincennes',
+                     'america/indiana/petersburg',
+                     'america/cancun',
+                     'america/pangnirtung',
+                     'america/kentucky/monticello',
+                     'america/grand_turk',
+                     'america/resolute',
+                     'america/indiana/knox',
+                     'america/indiana/tell_city',
+                     'america/rankin_inlet',
+                     'america/santo_domingo',
+                     'america/cambridge_bay',
+                     'america/managua',
+                     'america/merida',
+                     'america/menominee',
+                     'america/chicago',
+                     'america/moncton' ],
+  'ewt'         => [ 'america/new_york',
+                     'america/detroit',
+                     'america/iqaluit',
+                     'america/nipigon',
+                     'america/thunder_bay',
+                     'america/toronto' ],
+  'f'           => [ 'f' ],
+  'ffmt'        => [ 'america/martinique' ],
+  'fmt'         => [ 'atlantic/madeira' ],
+  'g'           => [ 'g' ],
+  'gmt'         => [ 'etc/gmt',
+                     'europe/london',
+                     'africa/abidjan',
+                     'europe/dublin',
+                     'africa/accra',
+                     'atlantic/reykjavik',
+                     'africa/monrovia',
+                     'africa/bissau',
+                     'america/danmarkshavn',
+                     'europe/gibraltar' ],
+  'gmt+1'       => [ 'etc/gmt+1' ],
+  'gmt+10'      => [ 'etc/gmt+10' ],
+  'gmt+11'      => [ 'etc/gmt+11' ],
+  'gmt+12'      => [ 'etc/gmt+12' ],
+  'gmt+2'       => [ 'etc/gmt+2' ],
+  'gmt+3'       => [ 'etc/gmt+3' ],
+  'gmt+4'       => [ 'etc/gmt+4' ],
+  'gmt+5'       => [ 'etc/gmt+5' ],
+  'gmt+6'       => [ 'etc/gmt+6' ],
+  'gmt+7'       => [ 'etc/gmt+7' ],
+  'gmt+8'       => [ 'etc/gmt+8' ],
+  'gmt+9'       => [ 'etc/gmt+9' ],
+  'gmt-1'       => [ 'etc/gmt-1' ],
+  'gmt-10'      => [ 'etc/gmt-10' ],
+  'gmt-11'      => [ 'etc/gmt-11' ],
+  'gmt-12'      => [ 'etc/gmt-12' ],
+  'gmt-13'      => [ 'etc/gmt-13' ],
+  'gmt-14'      => [ 'etc/gmt-14' ],
+  'gmt-2'       => [ 'etc/gmt-2' ],
+  'gmt-3'       => [ 'etc/gmt-3' ],
+  'gmt-4'       => [ 'etc/gmt-4' ],
+  'gmt-5'       => [ 'etc/gmt-5' ],
+  'gmt-6'       => [ 'etc/gmt-6' ],
+  'gmt-7'       => [ 'etc/gmt-7' ],
+  'gmt-8'       => [ 'etc/gmt-8' ],
+  'gmt-9'       => [ 'etc/gmt-9' ],
+  'gst'         => [ 'pacific/guam' ],
+  'h'           => [ 'h' ],
+  'hdt'         => [ 'america/adak',
+                     'pacific/honolulu' ],
+  'hkst'        => [ 'asia/hong_kong' ],
+  'hkt'         => [ 'asia/hong_kong' ],
+  'hmt'         => [ 'asia/kolkata',
+                     'asia/dhaka',
+                     'america/havana',
+                     'europe/helsinki',
+                     'atlantic/azores' ],
+  'hst'         => [ 'pacific/honolulu',
+                     'america/adak' ],
+  'i'           => [ 'i' ],
+  'iddt'        => [ 'asia/jerusalem' ],
+  'idt'         => [ 'asia/jerusalem',
+                     'asia/gaza',
+                     'asia/hebron' ],
+  'imt'         => [ 'asia/irkutsk',
+                     'europe/istanbul',
+                     'europe/sofia' ],
+  'ist'         => [ 'europe/dublin',
+                     'asia/jerusalem',
+                     'asia/kolkata',
+                     'asia/gaza',
+                     'asia/hebron' ],
+  'jdt'         => [ 'asia/tokyo' ],
+  'jmt'         => [ 'asia/jerusalem' ],
+  'jst'         => [ 'asia/tokyo',
+                     'asia/pyongyang',
+                     'asia/seoul',
+                     'asia/taipei',
+                     'asia/hong_kong' ],
+  'k'           => [ 'k' ],
+  'kdt'         => [ 'asia/seoul' ],
+  'kmt'         => [ 'europe/kiev',
+                     'europe/vilnius',
+                     'america/grand_turk',
+                     'america/jamaica' ],
+  'kst'         => [ 'asia/seoul',
+                     'asia/pyongyang' ],
+  'l'           => [ 'l' ],
+  'lst'         => [ 'europe/riga' ],
+  'm'           => [ 'm' ],
+  'mddt'        => [ 'america/cambridge_bay',
+                     'america/yellowknife' ],
+  'mdst'        => [ 'europe/moscow' ],
+  'mdt'         => [ 'america/denver',
+                     'america/edmonton',
+                     'america/boise',
+                     'america/cambridge_bay',
+                     'america/inuvik',
+                     'america/yellowknife',
+                     'america/mazatlan',
+                     'america/chihuahua',
+                     'america/ojinaga',
+                     'america/north_dakota/beulah',
+                     'america/bahia_banderas',
+                     'america/north_dakota/new_salem',
+                     'america/hermosillo',
+                     'america/north_dakota/center',
+                     'america/phoenix',
+                     'america/swift_current',
+                     'america/regina' ],
+  'mest'        => [ 'met' ],
+  'met'         => [ 'met' ],
+  'mmt'         => [ 'africa/monrovia',
+                     'indian/maldives',
+                     'america/managua',
+                     'asia/makassar',
+                     'europe/minsk',
+                     'america/montevideo',
+                     'europe/moscow',
+                     'asia/colombo' ],
+  'mpt'         => [ 'america/denver',
+                     'america/boise',
+                     'america/cambridge_bay',
+                     'america/edmonton',
+                     'america/north_dakota/beulah',
+                     'america/north_dakota/center',
+                     'america/north_dakota/new_salem',
+                     'america/regina',
+                     'america/swift_current',
+                     'america/yellowknife' ],
+  'msd'         => [ 'europe/moscow',
+                     'europe/simferopol',
+                     'europe/chisinau',
+                     'europe/kiev',
+                     'europe/zaporozhye',
+                     'europe/minsk',
+                     'europe/uzhgorod',
+                     'europe/kaliningrad',
+                     'europe/riga',
+                     'europe/tallinn',
+                     'europe/vilnius' ],
+  'msk'         => [ 'europe/moscow',
+                     'europe/simferopol',
+                     'europe/minsk',
+                     'europe/zaporozhye',
+                     'europe/kiev',
+                     'europe/chisinau',
+                     'europe/uzhgorod',
+                     'europe/riga',
+                     'europe/tallinn',
+                     'europe/vilnius',
+                     'europe/kaliningrad' ],
+  'mst'         => [ 'america/denver',
+                     'america/phoenix',
+                     'america/creston',
+                     'america/edmonton',
+                     'america/cambridge_bay',
+                     'america/chihuahua',
+                     'america/hermosillo',
+                     'america/mazatlan',
+                     'america/ojinaga',
+                     'america/boise',
+                     'america/yellowknife',
+                     'america/dawson_creek',
+                     'america/inuvik',
+                     'america/fort_nelson',
+                     'america/north_dakota/beulah',
+                     'america/bahia_banderas',
+                     'america/north_dakota/new_salem',
+                     'america/north_dakota/center',
+                     'america/swift_current',
+                     'america/regina',
+                     'america/mexico_city',
+                     'america/tijuana',
+                     'europe/moscow' ],
+  'mwt'         => [ 'america/denver',
+                     'america/boise',
+                     'america/cambridge_bay',
+                     'america/edmonton',
+                     'america/north_dakota/beulah',
+                     'america/north_dakota/center',
+                     'america/north_dakota/new_salem',
+                     'america/regina',
+                     'america/swift_current',
+                     'america/yellowknife',
+                     'america/phoenix' ],
+  'n'           => [ 'n' ],
+  'nddt'        => [ 'america/st_johns' ],
+  'ndt'         => [ 'america/st_johns',
+                     'america/goose_bay' ],
+  'npt'         => [ 'america/adak',
+                     'america/goose_bay',
+                     'america/nome',
+                     'america/st_johns' ],
+  'nst'         => [ 'america/st_johns',
+                     'america/adak',
+                     'america/nome',
+                     'america/goose_bay',
+                     'europe/amsterdam' ],
+  'nwt'         => [ 'america/st_johns',
+                     'america/adak',
+                     'america/goose_bay',
+                     'america/nome' ],
+  'nzdt'        => [ 'pacific/auckland' ],
+  'nzmt'        => [ 'pacific/auckland' ],
+  'nzst'        => [ 'pacific/auckland' ],
+  'o'           => [ 'o' ],
+  'p'           => [ 'p' ],
+  'pddt'        => [ 'america/inuvik' ],
+  'pdt'         => [ 'america/los_angeles',
+                     'america/vancouver',
+                     'america/tijuana',
+                     'america/dawson',
+                     'america/whitehorse',
+                     'america/fort_nelson',
+                     'america/juneau',
+                     'america/metlakatla',
+                     'america/sitka',
+                     'america/dawson_creek',
+                     'america/boise' ],
+  'pkst'        => [ 'asia/karachi' ],
+  'pkt'         => [ 'asia/karachi' ],
+  'plmt'        => [ 'asia/ho_chi_minh' ],
+  'pmmt'        => [ 'pacific/port_moresby',
+                     'pacific/bougainville' ],
+  'pmt'         => [ 'america/paramaribo',
+                     'asia/pontianak',
+                     'asia/yekaterinburg',
+                     'africa/tunis',
+                     'europe/monaco',
+                     'europe/paris',
+                     'africa/algiers',
+                     'europe/prague' ],
+  'ppmt'        => [ 'america/port-au-prince' ],
+  'ppt'         => [ 'america/los_angeles',
+                     'america/dawson_creek',
+                     'america/fort_nelson',
+                     'america/juneau',
+                     'america/metlakatla',
+                     'america/sitka',
+                     'america/tijuana',
+                     'america/vancouver' ],
+  'pst'         => [ 'america/los_angeles',
+                     'america/vancouver',
+                     'america/tijuana',
+                     'america/whitehorse',
+                     'america/dawson',
+                     'america/fort_nelson',
+                     'america/metlakatla',
+                     'america/juneau',
+                     'america/sitka',
+                     'america/inuvik',
+                     'america/dawson_creek',
+                     'america/bahia_banderas',
+                     'america/hermosillo',
+                     'america/mazatlan',
+                     'america/boise',
+                     'america/creston' ],
+  'pwt'         => [ 'america/dawson_creek',
+                     'america/fort_nelson',
+                     'america/juneau',
+                     'america/los_angeles',
+                     'america/metlakatla',
+                     'america/sitka',
+                     'america/tijuana',
+                     'america/vancouver' ],
+  'q'           => [ 'q' ],
+  'qmt'         => [ 'america/guayaquil' ],
+  'r'           => [ 'r' ],
+  'rmt'         => [ 'europe/riga',
+                     'asia/yangon',
+                     'europe/rome' ],
+  's'           => [ 's' ],
+  'sast'        => [ 'africa/johannesburg',
+                     'africa/windhoek' ],
+  'sdmt'        => [ 'america/santo_domingo' ],
+  'set'         => [ 'europe/stockholm' ],
+  'sjmt'        => [ 'america/costa_rica' ],
+  'smt'         => [ 'america/punta_arenas',
+                     'america/santiago',
+                     'europe/simferopol',
+                     'atlantic/stanley',
+                     'asia/kuala_lumpur',
+                     'asia/singapore' ],
+  'sst'         => [ 'pacific/pago_pago' ],
+  't'           => [ 't' ],
+  'tbmt'        => [ 'asia/tbilisi' ],
+  'tmt'         => [ 'asia/tehran',
+                     'europe/tallinn' ],
+  'u'           => [ 'u' ],
+  'ut'          => [ 'ut' ],
+  'utc'         => [ 'utc' ],
+  'v'           => [ 'v' ],
+  'w'           => [ 'w' ],
+  'wast'        => [ 'africa/windhoek',
+                     'africa/ndjamena' ],
+  'wat'         => [ 'africa/ndjamena',
+                     'africa/lagos',
+                     'africa/windhoek' ],
+  'wemt'        => [ 'europe/monaco',
+                     'europe/lisbon',
+                     'europe/paris',
+                     'europe/madrid' ],
+  'west'        => [ 'wet',
+                     'europe/lisbon',
+                     'africa/casablanca',
+                     'africa/el_aaiun',
+                     'atlantic/madeira',
+                     'atlantic/canary',
+                     'atlantic/faroe',
+                     'africa/algiers',
+                     'africa/ceuta',
+                     'europe/monaco',
+                     'europe/paris',
+                     'europe/luxembourg',
+                     'europe/brussels',
+                     'europe/madrid' ],
+  'wet'         => [ 'wet',
+                     'atlantic/faroe',
+                     'europe/lisbon',
+                     'africa/casablanca',
+                     'atlantic/canary',
+                     'atlantic/madeira',
+                     'africa/el_aaiun',
+                     'atlantic/azores',
+                     'africa/ceuta',
+                     'africa/algiers',
+                     'europe/andorra',
+                     'europe/luxembourg',
+                     'europe/brussels',
+                     'europe/madrid',
+                     'europe/monaco',
+                     'europe/paris' ],
+  'wib'         => [ 'asia/jakarta',
+                     'asia/pontianak' ],
+  'wit'         => [ 'asia/jayapura' ],
+  'wita'        => [ 'asia/makassar',
+                     'asia/pontianak' ],
+  'wmt'         => [ 'europe/vilnius',
+                     'europe/warsaw' ],
+  'x'           => [ 'x' ],
+  'y'           => [ 'y' ],
+  'yddt'        => [ 'america/whitehorse',
+                     'america/dawson' ],
+  'ydt'         => [ 'america/yakutat',
+                     'america/juneau',
+                     'america/dawson',
+                     'america/whitehorse' ],
+  'ypt'         => [ 'america/whitehorse',
+                     'america/dawson',
+                     'america/yakutat' ],
+  'yst'         => [ 'america/yakutat',
+                     'america/anchorage',
+                     'america/juneau',
+                     'america/nome',
+                     'america/sitka',
+                     'america/dawson',
+                     'america/whitehorse' ],
+  'ywt'         => [ 'america/whitehorse',
+                     'america/dawson',
+                     'america/yakutat' ],
+  'z'           => [ 'z' ],
+
+);
+
+%Offmod = (
+  '+00:00:00'  => 'off000',
+  '+00:06:04'  => 'off001',
+  '+00:09:21'  => 'off002',
+  '+00:12:12'  => 'off003',
+  '+00:13:36'  => 'off004',
+  '+00:17:30'  => 'off005',
+  '+00:19:32'  => 'off006',
+  '+00:20:00'  => 'off007',
+  '+00:24:36'  => 'off008',
+  '+00:29:32'  => 'off009',
+  '+00:29:46'  => 'off010',
+  '+00:34:08'  => 'off011',
+  '+00:34:39'  => 'off012',
+  '+00:40:44'  => 'off013',
+  '+00:43:00'  => 'off014',
+  '+00:49:56'  => 'off015',
+  '+00:50:20'  => 'off016',
+  '+00:52:44'  => 'off017',
+  '+00:53:28'  => 'off018',
+  '+00:57:44'  => 'off019',
+  '+00:58:04'  => 'off020',
+  '+01:00:00'  => 'off021',
+  '+01:00:12'  => 'off022',
+  '+01:00:14'  => 'off023',
+  '+01:05:21'  => 'off024',
+  '+01:08:24'  => 'off025',
+  '+01:12:12'  => 'off026',
+  '+01:16:20'  => 'off027',
+  '+01:19:20'  => 'off028',
+  '+01:19:32'  => 'off029',
+  '+01:20:00'  => 'off030',
+  '+01:22:00'  => 'off031',
+  '+01:24:00'  => 'off032',
+  '+01:29:12'  => 'off033',
+  '+01:30:00'  => 'off034',
+  '+01:33:16'  => 'off035',
+  '+01:34:52'  => 'off036',
+  '+01:35:36'  => 'off037',
+  '+01:36:34'  => 'off038',
+  '+01:39:00'  => 'off039',
+  '+01:39:49'  => 'off040',
+  '+01:41:16'  => 'off041',
+  '+01:44:24'  => 'off042',
+  '+01:50:00'  => 'off043',
+  '+01:50:16'  => 'off044',
+  '+01:52:00'  => 'off045',
+  '+01:55:00'  => 'off046',
+  '+01:55:20'  => 'off047',
+  '+01:55:52'  => 'off048',
+  '+01:56:56'  => 'off049',
+  '+02:00:00'  => 'off050',
+  '+02:02:04'  => 'off051',
+  '+02:05:09'  => 'off052',
+  '+02:10:08'  => 'off053',
+  '+02:10:20'  => 'off054',
+  '+02:13:28'  => 'off055',
+  '+02:15:48'  => 'off056',
+  '+02:16:00'  => 'off057',
+  '+02:16:24'  => 'off058',
+  '+02:17:52'  => 'off059',
+  '+02:20:00'  => 'off060',
+  '+02:20:23'  => 'off061',
+  '+02:20:40'  => 'off062',
+  '+02:20:54'  => 'off063',
+  '+02:22:00'  => 'off064',
+  '+02:23:44'  => 'off065',
+  '+02:25:12'  => 'off066',
+  '+02:27:16'  => 'off067',
+  '+02:30:00'  => 'off068',
+  '+02:30:17'  => 'off069',
+  '+02:31:19'  => 'off070',
+  '+02:36:34'  => 'off071',
+  '+02:45:00'  => 'off072',
+  '+02:57:36'  => 'off073',
+  '+02:57:40'  => 'off074',
+  '+02:58:00'  => 'off075',
+  '+02:59:11'  => 'off076',
+  '+03:00:00'  => 'off077',
+  '+03:04:18'  => 'off078',
+  '+03:06:52'  => 'off079',
+  '+03:12:12'  => 'off080',
+  '+03:13:36'  => 'off081',
+  '+03:18:48'  => 'off082',
+  '+03:19:24'  => 'off083',
+  '+03:20:20'  => 'off084',
+  '+03:21:04'  => 'off085',
+  '+03:25:24'  => 'off086',
+  '+03:25:44'  => 'off087',
+  '+03:26:08'  => 'off088',
+  '+03:27:44'  => 'off089',
+  '+03:30:00'  => 'off090',
+  '+03:31:19'  => 'off091',
+  '+03:41:12'  => 'off092',
+  '+03:41:48'  => 'off093',
+  '+03:41:52'  => 'off094',
+  '+03:45:05'  => 'off095',
+  '+03:48:40'  => 'off096',
+  '+03:50:00'  => 'off097',
+  '+03:53:32'  => 'off098',
+  '+04:00:00'  => 'off099',
+  '+04:02:33'  => 'off100',
+  '+04:21:52'  => 'off101',
+  '+04:27:53'  => 'off102',
+  '+04:28:12'  => 'off103',
+  '+04:30:00'  => 'off104',
+  '+04:31:19'  => 'off105',
+  '+04:35:12'  => 'off106',
+  '+04:36:48'  => 'off107',
+  '+04:37:11'  => 'off108',
+  '+04:49:40'  => 'off109',
+  '+04:53:30'  => 'off110',
+  '+04:54:00'  => 'off111',
+  '+04:58:24'  => 'off112',
+  '+05:00:00'  => 'off113',
+  '+05:07:48'  => 'off114',
+  '+05:19:24'  => 'off115',
+  '+05:19:32'  => 'off116',
+  '+05:30:00'  => 'off117',
+  '+05:31:40'  => 'off118',
+  '+05:35:00'  => 'off119',
+  '+05:39:51'  => 'off120',
+  '+05:41:16'  => 'off121',
+  '+05:45:00'  => 'off122',
+  '+05:48:48'  => 'off123',
+  '+05:50:20'  => 'off124',
+  '+05:53:20'  => 'off125',
+  '+05:53:28'  => 'off126',
+  '+05:58:36'  => 'off127',
+  '+06:00:00'  => 'off128',
+  '+06:01:40'  => 'off129',
+  '+06:06:36'  => 'off130',
+  '+06:11:26'  => 'off131',
+  '+06:24:40'  => 'off132',
+  '+06:27:40'  => 'off133',
+  '+06:30:00'  => 'off134',
+  '+06:42:04'  => 'off135',
+  '+06:46:46'  => 'off136',
+  '+06:55:25'  => 'off137',
+  '+06:57:05'  => 'off138',
+  '+07:00:00'  => 'off139',
+  '+07:02:52'  => 'off140',
+  '+07:06:30'  => 'off141',
+  '+07:06:40'  => 'off142',
+  '+07:07:12'  => 'off143',
+  '+07:07:32'  => 'off144',
+  '+07:17:20'  => 'off145',
+  '+07:20:00'  => 'off146',
+  '+07:21:20'  => 'off147',
+  '+07:30:00'  => 'off148',
+  '+07:33:52'  => 'off149',
+  '+07:34:20'  => 'off150',
+  '+07:36:42'  => 'off151',
+  '+07:38:00'  => 'off152',
+  '+07:39:40'  => 'off153',
+  '+07:43:24'  => 'off154',
+  '+07:57:36'  => 'off155',
+  '+08:00:00'  => 'off156',
+  '+08:04:00'  => 'off157',
+  '+08:05:43'  => 'off158',
+  '+08:06:00'  => 'off159',
+  '+08:20:00'  => 'off160',
+  '+08:22:20'  => 'off161',
+  '+08:23:00'  => 'off162',
+  '+08:27:52'  => 'off163',
+  '+08:30:00'  => 'off164',
+  '+08:35:28'  => 'off165',
+  '+08:38:58'  => 'off166',
+  '+08:43:20'  => 'off167',
+  '+08:45:00'  => 'off168',
+  '+08:47:31'  => 'off169',
+  '+08:57:56'  => 'off170',
+  '+09:00:00'  => 'off171',
+  '+09:02:13'  => 'off172',
+  '+09:14:20'  => 'off173',
+  '+09:18:59'  => 'off174',
+  '+09:22:48'  => 'off175',
+  '+09:25:48'  => 'off176',
+  '+09:30:00'  => 'off177',
+  '+09:30:48'  => 'off178',
+  '+09:32:54'  => 'off179',
+  '+09:35:28'  => 'off180',
+  '+09:39:00'  => 'off181',
+  '+09:39:52'  => 'off182',
+  '+09:45:00'  => 'off183',
+  '+09:48:32'  => 'off184',
+  '+09:48:40'  => 'off185',
+  '+09:49:16'  => 'off186',
+  '+09:55:56'  => 'off187',
+  '+10:00:00'  => 'off188',
+  '+10:03:12'  => 'off189',
+  '+10:04:52'  => 'off190',
+  '+10:07:08'  => 'off191',
+  '+10:12:08'  => 'off192',
+  '+10:14:52'  => 'off193',
+  '+10:22:16'  => 'off194',
+  '+10:30:00'  => 'off195',
+  '+10:32:52'  => 'off196',
+  '+10:34:36'  => 'off197',
+  '+10:36:20'  => 'off198',
+  '+10:39:48'  => 'off199',
+  '+10:51:56'  => 'off200',
+  '+11:00:00'  => 'off201',
+  '+11:05:48'  => 'off202',
+  '+11:06:28'  => 'off203',
+  '+11:07:40'  => 'off204',
+  '+11:09:20'  => 'off205',
+  '+11:11:52'  => 'off206',
+  '+11:12:00'  => 'off207',
+  '+11:13:16'  => 'off208',
+  '+11:24:48'  => 'off209',
+  '+11:30:00'  => 'off210',
+  '+11:32:04'  => 'off211',
+  '+11:39:04'  => 'off212',
+  '+11:49:56'  => 'off213',
+  '+11:55:44'  => 'off214',
+  '+11:56:52'  => 'off215',
+  '+12:00:00'  => 'off216',
+  '+12:13:21'  => 'off217',
+  '+12:13:48'  => 'off218',
+  '+12:15:00'  => 'off219',
+  '+12:15:20'  => 'off220',
+  '+12:19:20'  => 'off221',
+  '+12:20:00'  => 'off222',
+  '+12:30:00'  => 'off223',
+  '+12:33:04'  => 'off224',
+  '+12:37:12'  => 'off225',
+  '+12:45:00'  => 'off226',
+  '+12:58:21'  => 'off227',
+  '+13:00:00'  => 'off228',
+  '+13:45:00'  => 'off229',
+  '+14:00:00'  => 'off230',
+  '+14:00:24'  => 'off231',
+  '+14:41:05'  => 'off232',
+  '+14:58:47'  => 'off233',
+  '+15:02:19'  => 'off234',
+  '+15:13:42'  => 'off235',
+  '-00:00:52'  => 'off236',
+  '-00:01:15'  => 'off237',
+  '-00:14:44'  => 'off238',
+  '-00:16:08'  => 'off239',
+  '-00:21:16'  => 'off240',
+  '-00:21:24'  => 'off241',
+  '-00:25:00'  => 'off242',
+  '-00:25:21'  => 'off243',
+  '-00:27:04'  => 'off244',
+  '-00:30:20'  => 'off245',
+  '-00:36:45'  => 'off246',
+  '-00:43:08'  => 'off247',
+  '-00:44:30'  => 'off248',
+  '-00:52:48'  => 'off249',
+  '-01:00:00'  => 'off250',
+  '-01:01:36'  => 'off251',
+  '-01:02:20'  => 'off252',
+  '-01:07:36'  => 'off253',
+  '-01:14:40'  => 'off254',
+  '-01:27:52'  => 'off255',
+  '-01:28:00'  => 'off256',
+  '-01:30:00'  => 'off257',
+  '-01:34:04'  => 'off258',
+  '-01:42:40'  => 'off259',
+  '-01:54:32'  => 'off260',
+  '-02:00:00'  => 'off261',
+  '-02:09:40'  => 'off262',
+  '-02:19:36'  => 'off263',
+  '-02:22:52'  => 'off264',
+  '-02:26:08'  => 'off265',
+  '-02:30:00'  => 'off266',
+  '-02:30:52'  => 'off267',
+  '-02:34:00'  => 'off268',
+  '-02:34:04'  => 'off269',
+  '-03:00:00'  => 'off270',
+  '-03:06:28'  => 'off271',
+  '-03:12:48'  => 'off272',
+  '-03:13:56'  => 'off273',
+  '-03:26:56'  => 'off274',
+  '-03:29:20'  => 'off275',
+  '-03:30:00'  => 'off276',
+  '-03:30:52'  => 'off277',
+  '-03:32:36'  => 'off278',
+  '-03:38:28'  => 'off279',
+  '-03:38:48'  => 'off280',
+  '-03:40:36'  => 'off281',
+  '-03:40:40'  => 'off282',
+  '-03:40:52'  => 'off283',
+  '-03:44:20'  => 'off284',
+  '-03:44:40'  => 'off285',
+  '-03:44:44'  => 'off286',
+  '-03:45:00'  => 'off287',
+  '-03:48:28'  => 'off288',
+  '-03:50:40'  => 'off289',
+  '-03:51:24'  => 'off290',
+  '-03:52:40'  => 'off291',
+  '-03:53:48'  => 'off292',
+  '-03:58:29'  => 'off293',
+  '-03:59:48'  => 'off294',
+  '-04:00:00'  => 'off295',
+  '-04:00:04'  => 'off296',
+  '-04:01:40'  => 'off297',
+  '-04:02:40'  => 'off298',
+  '-04:04:20'  => 'off299',
+  '-04:06:04'  => 'off300',
+  '-04:14:24'  => 'off301',
+  '-04:15:36'  => 'off302',
+  '-04:16:48'  => 'off303',
+  '-04:19:08'  => 'off304',
+  '-04:19:18'  => 'off305',
+  '-04:20:52'  => 'off306',
+  '-04:21:12'  => 'off307',
+  '-04:21:40'  => 'off308',
+  '-04:23:08'  => 'off309',
+  '-04:24:25'  => 'off310',
+  '-04:25:24'  => 'off311',
+  '-04:27:24'  => 'off312',
+  '-04:27:40'  => 'off313',
+  '-04:27:44'  => 'off314',
+  '-04:30:00'  => 'off315',
+  '-04:31:12'  => 'off316',
+  '-04:32:36'  => 'off317',
+  '-04:33:12'  => 'off318',
+  '-04:34:04'  => 'off319',
+  '-04:35:08'  => 'off320',
+  '-04:35:16'  => 'off321',
+  '-04:35:47'  => 'off322',
+  '-04:36:52'  => 'off323',
+  '-04:39:28'  => 'off324',
+  '-04:39:36'  => 'off325',
+  '-04:40:00'  => 'off326',
+  '-04:42:46'  => 'off327',
+  '-04:43:40'  => 'off328',
+  '-04:44:32'  => 'off329',
+  '-04:49:00'  => 'off330',
+  '-04:49:20'  => 'off331',
+  '-04:56:02'  => 'off332',
+  '-04:56:16'  => 'off333',
+  '-05:00:00'  => 'off334',
+  '-05:07:11'  => 'off335',
+  '-05:08:12'  => 'off336',
+  '-05:08:36'  => 'off337',
+  '-05:09:30'  => 'off338',
+  '-05:14:00'  => 'off339',
+  '-05:17:32'  => 'off340',
+  '-05:18:08'  => 'off341',
+  '-05:19:20'  => 'off342',
+  '-05:19:36'  => 'off343',
+  '-05:29:28'  => 'off344',
+  '-05:29:36'  => 'off345',
+  '-05:30:00'  => 'off346',
+  '-05:32:11'  => 'off347',
+  '-05:36:13'  => 'off348',
+  '-05:39:24'  => 'off349',
+  '-05:40:16'  => 'off350',
+  '-05:43:02'  => 'off351',
+  '-05:44:38'  => 'off352',
+  '-05:45:08'  => 'off353',
+  '-05:45:12'  => 'off354',
+  '-05:45:23'  => 'off355',
+  '-05:46:25'  => 'off356',
+  '-05:46:30'  => 'off357',
+  '-05:47:03'  => 'off358',
+  '-05:47:04'  => 'off359',
+  '-05:48:52'  => 'off360',
+  '-05:49:07'  => 'off361',
+  '-05:50:07'  => 'off362',
+  '-05:50:27'  => 'off363',
+  '-05:50:36'  => 'off364',
+  '-05:52:48'  => 'off365',
+  '-05:53:04'  => 'off366',
+  '-05:56:48'  => 'off367',
+  '-05:57:00'  => 'off368',
+  '-05:58:24'  => 'off369',
+  '-05:58:28'  => 'off370',
+  '-06:00:00'  => 'off371',
+  '-06:02:04'  => 'off372',
+  '-06:06:28'  => 'off373',
+  '-06:18:16'  => 'off374',
+  '-06:28:36'  => 'off375',
+  '-06:36:36'  => 'off376',
+  '-06:40:00'  => 'off377',
+  '-06:41:16'  => 'off378',
+  '-06:45:12'  => 'off379',
+  '-06:45:39'  => 'off380',
+  '-06:47:07'  => 'off381',
+  '-06:57:40'  => 'off382',
+  '-06:58:36'  => 'off383',
+  '-06:59:56'  => 'off384',
+  '-07:00:00'  => 'off385',
+  '-07:01:00'  => 'off386',
+  '-07:04:20'  => 'off387',
+  '-07:05:40'  => 'off388',
+  '-07:11:20'  => 'off389',
+  '-07:17:28'  => 'off390',
+  '-07:23:52'  => 'off391',
+  '-07:28:18'  => 'off392',
+  '-07:33:52'  => 'off393',
+  '-07:44:49'  => 'off394',
+  '-07:46:04'  => 'off395',
+  '-07:48:04'  => 'off396',
+  '-07:52:58'  => 'off397',
+  '-08:00:00'  => 'off398',
+  '-08:00:56'  => 'off399',
+  '-08:10:47'  => 'off400',
+  '-08:12:28'  => 'off401',
+  '-08:30:00'  => 'off402',
+  '-08:40:20'  => 'off403',
+  '-08:46:18'  => 'off404',
+  '-08:57:41'  => 'off405',
+  '-08:59:48'  => 'off406',
+  '-09:00:00'  => 'off407',
+  '-09:00:12'  => 'off408',
+  '-09:01:13'  => 'off409',
+  '-09:17:40'  => 'off410',
+  '-09:18:00'  => 'off411',
+  '-09:18:55'  => 'off412',
+  '-09:30:00'  => 'off413',
+  '-09:58:16'  => 'off414',
+  '-09:59:36'  => 'off415',
+  '-10:00:00'  => 'off416',
+  '-10:29:20'  => 'off417',
+  '-10:30:00'  => 'off418',
+  '-10:31:26'  => 'off419',
+  '-10:39:04'  => 'off420',
+  '-10:40:00'  => 'off421',
+  '-11:00:00'  => 'off422',
+  '-11:01:38'  => 'off423',
+  '-11:19:40'  => 'off424',
+  '-11:20:00'  => 'off425',
+  '-11:22:48'  => 'off426',
+  '-11:24:20'  => 'off427',
+  '-11:24:56'  => 'off428',
+  '-11:26:56'  => 'off429',
+  '-11:30:00'  => 'off430',
+  '-11:46:38'  => 'off431',
+  '-12:00:00'  => 'off432',
+  '-13:00:00'  => 'off433',
+  '-14:00:00'  => 'off434',
+  '-14:21:00'  => 'off435',
+  '-15:56:00'  => 'off436',
+
+);
+
+1;
diff --git a/lib/Date/Manip/Zones.pod b/lib/Date/Manip/Zones.pod
new file mode 100644
index 0000000..1136ddf
--- /dev/null
+++ b/lib/Date/Manip/Zones.pod
@@ -0,0 +1,3538 @@
+
+# Copyright (c) 2008-2017 Sullivan Beck.  All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'tzdata' is run.
+#    Generated on: Tue May 30 10:45:15 EDT 2017
+#    Data version: tzdata2017b
+#    Code version: tzcode2017b
+
+# This module contains data from the zoneinfo time zone database.  The original
+# data was obtained from the URL:
+#    ftp://ftp.iana.org/tz
+
+=pod
+
+=head1 NAME
+
+Date::Manip::Zones - Time zone information
+
+=head1 DESCRIPTION
+
+This module is automatically generated. It contains a complete list of
+time zones specified in the standard zoneinfo (or Olson) databases
+obtained from:
+
+L
+
+All information is stored in variables, so this module provide no
+routines for dealing with time zone information. For routines related
+to time zones, see the documentation for the L module.
+
+
+=head1 TIME ZONES
+
+A description for each time zone from the zoneinfo database is stored
+in a separate module. These modules will be loaded automatically as
+needed, and are documented here for the sake of completeness.
+
+The modules are available as:
+
+   Date::Manip::TZ::_MODULE_
+
+where _MODULE_ is the name of the module for that specific time zone.
+
+The following time zones are derived from the standard zoneinfo
+database:
+
+     TIME ZONE                            MODULE NAME         
+     -----------------------------------  --------------------
+     Africa/Abidjan                       afabid00
+     Africa/Accra                         afaccr00
+     Africa/Algiers                       afalgi00
+     Africa/Bissau                        afbiss00
+     Africa/Cairo                         afcair00
+     Africa/Casablanca                    afcasa00
+     Africa/Ceuta                         afceut00
+     Africa/El_Aaiun                      afel_a00
+     Africa/Johannesburg                  afjoha00
+     Africa/Khartoum                      afkhar00
+     Africa/Lagos                         aflago00
+     Africa/Maputo                        afmapu00
+     Africa/Monrovia                      afmonr00
+     Africa/Nairobi                       afnair00
+     Africa/Ndjamena                      afndja00
+     Africa/Tripoli                       aftrip00
+     Africa/Tunis                         aftuni00
+     Africa/Windhoek                      afwind00
+     America/Adak                         amadak00
+     America/Anchorage                    amanch00
+     America/Araguaina                    amarag00
+     America/Argentina/Buenos_Aires       ambuen00
+     America/Argentina/Catamarca          amcata00
+     America/Argentina/Cordoba            amcord00
+     America/Argentina/Jujuy              amjuju00
+     America/Argentina/La_Rioja           amla_r00
+     America/Argentina/Mendoza            ammend00
+     America/Argentina/Rio_Gallegos       amrio_00
+     America/Argentina/Salta              amsalt00
+     America/Argentina/San_Juan           amsan_00
+     America/Argentina/San_Luis           amsan_01
+     America/Argentina/Tucuman            amtucu00
+     America/Argentina/Ushuaia            amushu00
+     America/Asuncion                     amasun00
+     America/Atikokan                     amatik00
+     America/Bahia                        ambahi00
+     America/Bahia_Banderas               ambahi01
+     America/Barbados                     ambarb00
+     America/Belem                        ambele00
+     America/Belize                       ambeli00
+     America/Blanc-Sablon                 amblan00
+     America/Boa_Vista                    amboa_00
+     America/Bogota                       ambogo00
+     America/Boise                        ambois00
+     America/Cambridge_Bay                amcamb00
+     America/Campo_Grande                 amcamp00
+     America/Cancun                       amcanc00
+     America/Caracas                      amcara00
+     America/Cayenne                      amcaye00
+     America/Chicago                      amchic00
+     America/Chihuahua                    amchih00
+     America/Costa_Rica                   amcost00
+     America/Creston                      amcres00
+     America/Cuiaba                       amcuia00
+     America/Curacao                      amcura00
+     America/Danmarkshavn                 amdanm00
+     America/Dawson                       amdaws00
+     America/Dawson_Creek                 amdaws01
+     America/Denver                       amdenv00
+     America/Detroit                      amdetr00
+     America/Edmonton                     amedmo00
+     America/Eirunepe                     ameiru00
+     America/El_Salvador                  amel_s00
+     America/Fort_Nelson                  amfort00
+     America/Fortaleza                    amfort01
+     America/Glace_Bay                    amglac00
+     America/Godthab                      amgodt00
+     America/Goose_Bay                    amgoos00
+     America/Grand_Turk                   amgran00
+     America/Guatemala                    amguat00
+     America/Guayaquil                    amguay00
+     America/Guyana                       amguya00
+     America/Halifax                      amhali00
+     America/Havana                       amhava00
+     America/Hermosillo                   amherm00
+     America/Indiana/Indianapolis         amindi00
+     America/Indiana/Knox                 amknox00
+     America/Indiana/Marengo              ammare00
+     America/Indiana/Petersburg           ampete00
+     America/Indiana/Tell_City            amtell00
+     America/Indiana/Vevay                amveva00
+     America/Indiana/Vincennes            amvinc00
+     America/Indiana/Winamac              amwina00
+     America/Inuvik                       aminuv00
+     America/Iqaluit                      amiqal00
+     America/Jamaica                      amjama00
+     America/Juneau                       amjune00
+     America/Kentucky/Louisville          amloui00
+     America/Kentucky/Monticello          ammont00
+     America/La_Paz                       amla_p00
+     America/Lima                         amlima00
+     America/Los_Angeles                  amlos_00
+     America/Maceio                       ammace00
+     America/Managua                      ammana00
+     America/Manaus                       ammana01
+     America/Martinique                   ammart00
+     America/Matamoros                    ammata00
+     America/Mazatlan                     ammaza00
+     America/Menominee                    ammeno00
+     America/Merida                       ammeri00
+     America/Metlakatla                   ammetl00
+     America/Mexico_City                  ammexi00
+     America/Miquelon                     ammiqu00
+     America/Moncton                      ammonc00
+     America/Monterrey                    ammont01
+     America/Montevideo                   ammont02
+     America/Nassau                       amnass00
+     America/New_York                     amnew_00
+     America/Nipigon                      amnipi00
+     America/Nome                         amnome00
+     America/Noronha                      amnoro00
+     America/North_Dakota/Beulah          ambeul00
+     America/North_Dakota/Center          amcent00
+     America/North_Dakota/New_Salem       amnew_01
+     America/Ojinaga                      amojin00
+     America/Panama                       ampana00
+     America/Pangnirtung                  ampang00
+     America/Paramaribo                   ampara00
+     America/Phoenix                      amphoe00
+     America/Port-au-Prince               amport00
+     America/Port_of_Spain                amport01
+     America/Porto_Velho                  amport02
+     America/Puerto_Rico                  ampuer00
+     America/Punta_Arenas                 ampunt00
+     America/Rainy_River                  amrain00
+     America/Rankin_Inlet                 amrank00
+     America/Recife                       amreci00
+     America/Regina                       amregi00
+     America/Resolute                     amreso00
+     America/Rio_Branco                   amrio_01
+     America/Santarem                     amsant00
+     America/Santiago                     amsant01
+     America/Santo_Domingo                amsant02
+     America/Sao_Paulo                    amsao_00
+     America/Scoresbysund                 amscor00
+     America/Sitka                        amsitk00
+     America/St_Johns                     amst_j00
+     America/Swift_Current                amswif00
+     America/Tegucigalpa                  amtegu00
+     America/Thule                        amthul00
+     America/Thunder_Bay                  amthun00
+     America/Tijuana                      amtiju00
+     America/Toronto                      amtoro00
+     America/Vancouver                    amvanc00
+     America/Whitehorse                   amwhit00
+     America/Winnipeg                     amwinn00
+     America/Yakutat                      amyaku00
+     America/Yellowknife                  amyell00
+     Antarctica/Casey                     ancase00
+     Antarctica/Davis                     andavi00
+     Antarctica/DumontDUrville            andumo00
+     Antarctica/Macquarie                 anmacq00
+     Antarctica/Mawson                    anmaws00
+     Antarctica/Palmer                    anpalm00
+     Antarctica/Rothera                   anroth00
+     Antarctica/Syowa                     ansyow00
+     Antarctica/Troll                     antrol00
+     Antarctica/Vostok                    anvost00
+     Asia/Almaty                          asalma00
+     Asia/Amman                           asamma00
+     Asia/Anadyr                          asanad00
+     Asia/Aqtau                           asaqta00
+     Asia/Aqtobe                          asaqto00
+     Asia/Ashgabat                        asashg00
+     Asia/Atyrau                          asatyr00
+     Asia/Baghdad                         asbagh00
+     Asia/Baku                            asbaku00
+     Asia/Bangkok                         asbang00
+     Asia/Barnaul                         asbarn00
+     Asia/Beirut                          asbeir00
+     Asia/Bishkek                         asbish00
+     Asia/Brunei                          asbrun00
+     Asia/Chita                           aschit00
+     Asia/Choibalsan                      aschoi00
+     Asia/Colombo                         ascolo00
+     Asia/Damascus                        asdama00
+     Asia/Dhaka                           asdhak00
+     Asia/Dili                            asdili00
+     Asia/Dubai                           asduba00
+     Asia/Dushanbe                        asdush00
+     Asia/Famagusta                       asfama00
+     Asia/Gaza                            asgaza00
+     Asia/Hebron                          ashebr00
+     Asia/Ho_Chi_Minh                     asho_c00
+     Asia/Hong_Kong                       ashong00
+     Asia/Hovd                            ashovd00
+     Asia/Irkutsk                         asirku00
+     Asia/Jakarta                         asjaka00
+     Asia/Jayapura                        asjaya00
+     Asia/Jerusalem                       asjeru00
+     Asia/Kabul                           askabu00
+     Asia/Kamchatka                       askamc00
+     Asia/Karachi                         askara00
+     Asia/Kathmandu                       askath00
+     Asia/Khandyga                        askhan00
+     Asia/Kolkata                         askolk00
+     Asia/Krasnoyarsk                     askras00
+     Asia/Kuala_Lumpur                    askual00
+     Asia/Kuching                         askuch00
+     Asia/Macau                           asmaca00
+     Asia/Magadan                         asmaga00
+     Asia/Makassar                        asmaka00
+     Asia/Manila                          asmani00
+     Asia/Nicosia                         asnico00
+     Asia/Novokuznetsk                    asnovo00
+     Asia/Novosibirsk                     asnovo01
+     Asia/Omsk                            asomsk00
+     Asia/Oral                            asoral00
+     Asia/Pontianak                       aspont00
+     Asia/Pyongyang                       aspyon00
+     Asia/Qatar                           asqata00
+     Asia/Qyzylorda                       asqyzy00
+     Asia/Riyadh                          asriya00
+     Asia/Sakhalin                        assakh00
+     Asia/Samarkand                       assama00
+     Asia/Seoul                           asseou00
+     Asia/Shanghai                        asshan00
+     Asia/Singapore                       assing00
+     Asia/Srednekolymsk                   assred00
+     Asia/Taipei                          astaip00
+     Asia/Tashkent                        astash00
+     Asia/Tbilisi                         astbil00
+     Asia/Tehran                          astehr00
+     Asia/Thimphu                         asthim00
+     Asia/Tokyo                           astoky00
+     Asia/Tomsk                           astoms00
+     Asia/Ulaanbaatar                     asulaa00
+     Asia/Urumqi                          asurum00
+     Asia/Ust-Nera                        asustm00
+     Asia/Vladivostok                     asvlad00
+     Asia/Yakutsk                         asyaku00
+     Asia/Yangon                          asyang00
+     Asia/Yekaterinburg                   asyeka00
+     Asia/Yerevan                         asyere00
+     Atlantic/Azores                      atazor00
+     Atlantic/Bermuda                     atberm00
+     Atlantic/Canary                      atcana00
+     Atlantic/Cape_Verde                  atcape00
+     Atlantic/Faroe                       atfaro00
+     Atlantic/Madeira                     atmade00
+     Atlantic/Reykjavik                   atreyk00
+     Atlantic/South_Georgia               atsout00
+     Atlantic/Stanley                     atstan00
+     Australia/Adelaide                   auadel00
+     Australia/Brisbane                   aubris00
+     Australia/Broken_Hill                aubrok00
+     Australia/Currie                     aucurr00
+     Australia/Darwin                     audarw00
+     Australia/Eucla                      aueucl00
+     Australia/Hobart                     auhoba00
+     Australia/Lindeman                   aulind00
+     Australia/Lord_Howe                  aulord00
+     Australia/Melbourne                  aumelb00
+     Australia/Perth                      aupert00
+     Australia/Sydney                     ausydn00
+     CET                                  cet00
+     EET                                  eet00
+     Europe/Amsterdam                     euamst00
+     Europe/Andorra                       euando00
+     Europe/Astrakhan                     euastr00
+     Europe/Athens                        euathe00
+     Europe/Belgrade                      eubelg00
+     Europe/Berlin                        euberl00
+     Europe/Brussels                      eubrus00
+     Europe/Bucharest                     eubuch00
+     Europe/Budapest                      eubuda00
+     Europe/Chisinau                      euchis00
+     Europe/Copenhagen                    eucope00
+     Europe/Dublin                        eudubl00
+     Europe/Gibraltar                     eugibr00
+     Europe/Helsinki                      euhels00
+     Europe/Istanbul                      euista00
+     Europe/Kaliningrad                   eukali00
+     Europe/Kiev                          eukiev00
+     Europe/Kirov                         eukiro00
+     Europe/Lisbon                        eulisb00
+     Europe/London                        eulond00
+     Europe/Luxembourg                    euluxe00
+     Europe/Madrid                        eumadr00
+     Europe/Malta                         eumalt00
+     Europe/Minsk                         eumins00
+     Europe/Monaco                        eumona00
+     Europe/Moscow                        eumosc00
+     Europe/Oslo                          euoslo00
+     Europe/Paris                         eupari00
+     Europe/Prague                        euprag00
+     Europe/Riga                          euriga00
+     Europe/Rome                          eurome00
+     Europe/Samara                        eusama00
+     Europe/Saratov                       eusara00
+     Europe/Simferopol                    eusimf00
+     Europe/Sofia                         eusofi00
+     Europe/Stockholm                     eustoc00
+     Europe/Tallinn                       eutall00
+     Europe/Tirane                        eutira00
+     Europe/Ulyanovsk                     euulya00
+     Europe/Uzhgorod                      euuzhg00
+     Europe/Vienna                        euvien00
+     Europe/Vilnius                       euviln00
+     Europe/Volgograd                     euvolg00
+     Europe/Warsaw                        euwars00
+     Europe/Zaporozhye                    euzapo00
+     Europe/Zurich                        euzuri00
+     Indian/Chagos                        inchag00
+     Indian/Christmas                     inchri00
+     Indian/Cocos                         incoco00
+     Indian/Kerguelen                     inkerg00
+     Indian/Mahe                          inmahe00
+     Indian/Maldives                      inmald00
+     Indian/Mauritius                     inmaur00
+     Indian/Reunion                       inreun00
+     MET                                  met00
+     Pacific/Apia                         paapia00
+     Pacific/Auckland                     paauck00
+     Pacific/Bougainville                 paboug00
+     Pacific/Chatham                      pachat00
+     Pacific/Chuuk                        pachuu00
+     Pacific/Easter                       paeast00
+     Pacific/Efate                        paefat00
+     Pacific/Enderbury                    paende00
+     Pacific/Fakaofo                      pafaka00
+     Pacific/Fiji                         pafiji00
+     Pacific/Funafuti                     pafuna00
+     Pacific/Galapagos                    pagala00
+     Pacific/Gambier                      pagamb00
+     Pacific/Guadalcanal                  paguad00
+     Pacific/Guam                         paguam00
+     Pacific/Honolulu                     pahono00
+     Pacific/Kiritimati                   pakiri00
+     Pacific/Kosrae                       pakosr00
+     Pacific/Kwajalein                    pakwaj00
+     Pacific/Majuro                       pamaju00
+     Pacific/Marquesas                    pamarq00
+     Pacific/Nauru                        panaur00
+     Pacific/Niue                         paniue00
+     Pacific/Norfolk                      panorf00
+     Pacific/Noumea                       panoum00
+     Pacific/Pago_Pago                    papago00
+     Pacific/Palau                        papala00
+     Pacific/Pitcairn                     papitc00
+     Pacific/Pohnpei                      papohn00
+     Pacific/Port_Moresby                 paport00
+     Pacific/Rarotonga                    pararo00
+     Pacific/Tahiti                       patahi00
+     Pacific/Tarawa                       patara00
+     Pacific/Tongatapu                    patong00
+     Pacific/Wake                         pawake00
+     Pacific/Wallis                       pawall00
+     WET                                  wet00
+
+The following time zones are NOT derived from the standard zoneinfo
+database. They are derived from other standard sources (including
+RFC 822):
+
+     TIME ZONE                            MODULE NAME         
+     -----------------------------------  --------------------
+     A                                    a00
+     B                                    b00
+     C                                    c00
+     D                                    d00
+     E                                    e00
+     Etc/GMT                              etgmt00
+     Etc/GMT+1                            etgmtp00
+     Etc/GMT+10                           etgmtp01
+     Etc/GMT+11                           etgmtp02
+     Etc/GMT+12                           etgmtp03
+     Etc/GMT+2                            etgmtp04
+     Etc/GMT+3                            etgmtp05
+     Etc/GMT+4                            etgmtp06
+     Etc/GMT+5                            etgmtp07
+     Etc/GMT+6                            etgmtp08
+     Etc/GMT+7                            etgmtp09
+     Etc/GMT+8                            etgmtp10
+     Etc/GMT+9                            etgmtp11
+     Etc/GMT-1                            etgmtm00
+     Etc/GMT-10                           etgmtm01
+     Etc/GMT-11                           etgmtm02
+     Etc/GMT-12                           etgmtm03
+     Etc/GMT-13                           etgmtm04
+     Etc/GMT-14                           etgmtm05
+     Etc/GMT-2                            etgmtm06
+     Etc/GMT-3                            etgmtm07
+     Etc/GMT-4                            etgmtm08
+     Etc/GMT-5                            etgmtm09
+     Etc/GMT-6                            etgmtm10
+     Etc/GMT-7                            etgmtm11
+     Etc/GMT-8                            etgmtm12
+     Etc/GMT-9                            etgmtm13
+     F                                    f00
+     G                                    g00
+     H                                    h00
+     I                                    i00
+     K                                    k00
+     L                                    l00
+     M                                    m00
+     N                                    n00
+     O                                    o00
+     P                                    p00
+     Q                                    q00
+     R                                    r00
+     S                                    s00
+     T                                    t00
+     U                                    u00
+     UT                                   ut00
+     UTC                                  utc00
+     V                                    v00
+     W                                    w00
+     X                                    x00
+     Y                                    y00
+     Z                                    z00
+
+=head1 TIME ZONE NAMES, ALIASES, AND ABBREVIATIONS
+
+Time zones may be referred to as their full name
+(e.g. America/New_York), but there are also a number of standard
+aliases and abbreviations that may be used.
+
+Standard aliases are listed below. Additional aliases can be created,
+or existing aliases overridden using the C method of the
+L module.
+
+The zoneinfo database provides several standard aliases, including:
+
+     ALTERNATE NAME                       TIME ZONE           
+     -----------------------------------  --------------------
+     Africa/Addis_Ababa                   Africa/Nairobi
+     Africa/Asmara                        Africa/Nairobi
+     Africa/Asmera                        Africa/Nairobi
+     Africa/Bamako                        Africa/Abidjan
+     Africa/Bangui                        Africa/Lagos
+     Africa/Banjul                        Africa/Abidjan
+     Africa/Blantyre                      Africa/Maputo
+     Africa/Brazzaville                   Africa/Lagos
+     Africa/Bujumbura                     Africa/Maputo
+     Africa/Conakry                       Africa/Abidjan
+     Africa/Dakar                         Africa/Abidjan
+     Africa/Dar_es_Salaam                 Africa/Nairobi
+     Africa/Djibouti                      Africa/Nairobi
+     Africa/Douala                        Africa/Lagos
+     Africa/Freetown                      Africa/Abidjan
+     Africa/Gaborone                      Africa/Maputo
+     Africa/Harare                        Africa/Maputo
+     Africa/Juba                          Africa/Khartoum
+     Africa/Kampala                       Africa/Nairobi
+     Africa/Kigali                        Africa/Maputo
+     Africa/Kinshasa                      Africa/Lagos
+     Africa/Libreville                    Africa/Lagos
+     Africa/Lome                          Africa/Abidjan
+     Africa/Luanda                        Africa/Lagos
+     Africa/Lubumbashi                    Africa/Maputo
+     Africa/Lusaka                        Africa/Maputo
+     Africa/Malabo                        Africa/Lagos
+     Africa/Maseru                        Africa/Johannesburg
+     Africa/Mbabane                       Africa/Johannesburg
+     Africa/Mogadishu                     Africa/Nairobi
+     Africa/Niamey                        Africa/Lagos
+     Africa/Nouakchott                    Africa/Abidjan
+     Africa/Ouagadougou                   Africa/Abidjan
+     Africa/Porto-Novo                    Africa/Lagos
+     Africa/Sao_Tome                      Africa/Abidjan
+     Africa/Timbuktu                      Africa/Abidjan
+     America/Anguilla                     America/Port_of_Spain
+     America/Antigua                      America/Port_of_Spain
+     America/Argentina/ComodRivadavia     America/Argentina/Catamarca
+     America/Aruba                        America/Curacao
+     America/Atka                         America/Adak
+     America/Buenos_Aires                 America/Argentina/Buenos_Aires
+     America/Catamarca                    America/Argentina/Catamarca
+     America/Cayman                       America/Panama
+     America/Coral_Harbour                America/Atikokan
+     America/Cordoba                      America/Argentina/Cordoba
+     America/Dominica                     America/Port_of_Spain
+     America/Ensenada                     America/Tijuana
+     America/Fort_Wayne                   America/Indiana/Indianapolis
+     America/Grenada                      America/Port_of_Spain
+     America/Guadeloupe                   America/Port_of_Spain
+     America/Indianapolis                 America/Indiana/Indianapolis
+     America/Jujuy                        America/Argentina/Jujuy
+     America/Knox_IN                      America/Indiana/Knox
+     America/Kralendijk                   America/Curacao
+     America/Louisville                   America/Kentucky/Louisville
+     America/Lower_Princes                America/Curacao
+     America/Marigot                      America/Port_of_Spain
+     America/Mendoza                      America/Argentina/Mendoza
+     America/Montreal                     America/Toronto
+     America/Montserrat                   America/Port_of_Spain
+     America/Porto_Acre                   America/Rio_Branco
+     America/Rosario                      America/Argentina/Cordoba
+     America/Santa_Isabel                 America/Tijuana
+     America/Shiprock                     America/Denver
+     America/St_Barthelemy                America/Port_of_Spain
+     America/St_Kitts                     America/Port_of_Spain
+     America/St_Lucia                     America/Port_of_Spain
+     America/St_Thomas                    America/Port_of_Spain
+     America/St_Vincent                   America/Port_of_Spain
+     America/Tortola                      America/Port_of_Spain
+     America/Virgin                       America/Port_of_Spain
+     Antarctica/McMurdo                   Pacific/Auckland
+     Antarctica/South_Pole                Pacific/Auckland
+     Arctic/Longyearbyen                  Europe/Oslo
+     Asia/Aden                            Asia/Riyadh
+     Asia/Ashkhabad                       Asia/Ashgabat
+     Asia/Bahrain                         Asia/Qatar
+     Asia/Calcutta                        Asia/Kolkata
+     Asia/Chongqing                       Asia/Shanghai
+     Asia/Chungking                       Asia/Shanghai
+     Asia/Dacca                           Asia/Dhaka
+     Asia/Harbin                          Asia/Shanghai
+     Asia/Istanbul                        Europe/Istanbul
+     Asia/Kashgar                         Asia/Urumqi
+     Asia/Katmandu                        Asia/Kathmandu
+     Asia/Kuwait                          Asia/Riyadh
+     Asia/Macao                           Asia/Macau
+     Asia/Muscat                          Asia/Dubai
+     Asia/Phnom_Penh                      Asia/Bangkok
+     Asia/Rangoon                         Asia/Yangon
+     Asia/Saigon                          Asia/Ho_Chi_Minh
+     Asia/Tel_Aviv                        Asia/Jerusalem
+     Asia/Thimbu                          Asia/Thimphu
+     Asia/Ujung_Pandang                   Asia/Makassar
+     Asia/Ulan_Bator                      Asia/Ulaanbaatar
+     Asia/Vientiane                       Asia/Bangkok
+     Atlantic/Faeroe                      Atlantic/Faroe
+     Atlantic/Jan_Mayen                   Europe/Oslo
+     Atlantic/St_Helena                   Africa/Abidjan
+     Australia/ACT                        Australia/Sydney
+     Australia/Canberra                   Australia/Sydney
+     Australia/LHI                        Australia/Lord_Howe
+     Australia/NSW                        Australia/Sydney
+     Australia/North                      Australia/Darwin
+     Australia/Queensland                 Australia/Brisbane
+     Australia/South                      Australia/Adelaide
+     Australia/Tasmania                   Australia/Hobart
+     Australia/Victoria                   Australia/Melbourne
+     Australia/West                       Australia/Perth
+     Australia/Yancowinna                 Australia/Broken_Hill
+     Brazil/Acre                          America/Rio_Branco
+     Brazil/DeNoronha                     America/Noronha
+     Brazil/East                          America/Sao_Paulo
+     Brazil/West                          America/Manaus
+     Canada/Atlantic                      America/Halifax
+     Canada/Central                       America/Winnipeg
+     Canada/East-Saskatchewan             America/Regina
+     Canada/Eastern                       America/Toronto
+     Canada/Mountain                      America/Edmonton
+     Canada/Newfoundland                  America/St_Johns
+     Canada/Pacific                       America/Vancouver
+     Canada/Saskatchewan                  America/Regina
+     Canada/Yukon                         America/Whitehorse
+     Chile/Continental                    America/Santiago
+     Chile/EasterIsland                   Pacific/Easter
+     Cuba                                 America/Havana
+     Egypt                                Africa/Cairo
+     Eire                                 Europe/Dublin
+     Europe/Belfast                       Europe/London
+     Europe/Bratislava                    Europe/Prague
+     Europe/Busingen                      Europe/Zurich
+     Europe/Guernsey                      Europe/London
+     Europe/Isle_of_Man                   Europe/London
+     Europe/Jersey                        Europe/London
+     Europe/Ljubljana                     Europe/Belgrade
+     Europe/Mariehamn                     Europe/Helsinki
+     Europe/Nicosia                       Asia/Nicosia
+     Europe/Podgorica                     Europe/Belgrade
+     Europe/San_Marino                    Europe/Rome
+     Europe/Sarajevo                      Europe/Belgrade
+     Europe/Skopje                        Europe/Belgrade
+     Europe/Tiraspol                      Europe/Chisinau
+     Europe/Vaduz                         Europe/Zurich
+     Europe/Vatican                       Europe/Rome
+     Europe/Zagreb                        Europe/Belgrade
+     GB                                   Europe/London
+     GB-Eire                              Europe/London
+     Hongkong                             Asia/Hong_Kong
+     Iceland                              Atlantic/Reykjavik
+     Indian/Antananarivo                  Africa/Nairobi
+     Indian/Comoro                        Africa/Nairobi
+     Indian/Mayotte                       Africa/Nairobi
+     Iran                                 Asia/Tehran
+     Israel                               Asia/Jerusalem
+     Jamaica                              America/Jamaica
+     Japan                                Asia/Tokyo
+     Kwajalein                            Pacific/Kwajalein
+     Libya                                Africa/Tripoli
+     Mexico/BajaNorte                     America/Tijuana
+     Mexico/BajaSur                       America/Mazatlan
+     Mexico/General                       America/Mexico_City
+     NZ                                   Pacific/Auckland
+     NZ-CHAT                              Pacific/Chatham
+     Navajo                               America/Denver
+     PRC                                  Asia/Shanghai
+     Pacific/Johnston                     Pacific/Honolulu
+     Pacific/Midway                       Pacific/Pago_Pago
+     Pacific/Ponape                       Pacific/Pohnpei
+     Pacific/Saipan                       Pacific/Guam
+     Pacific/Samoa                        Pacific/Pago_Pago
+     Pacific/Truk                         Pacific/Chuuk
+     Pacific/Yap                          Pacific/Chuuk
+     Poland                               Europe/Warsaw
+     Portugal                             Europe/Lisbon
+     ROC                                  Asia/Taipei
+     ROK                                  Asia/Seoul
+     Singapore                            Asia/Singapore
+     Turkey                               Europe/Istanbul
+     US/Alaska                            America/Anchorage
+     US/Aleutian                          America/Adak
+     US/Arizona                           America/Phoenix
+     US/Central                           America/Chicago
+     US/East-Indiana                      America/Indiana/Indianapolis
+     US/Eastern                           America/New_York
+     US/Hawaii                            Pacific/Honolulu
+     US/Indiana-Starke                    America/Indiana/Knox
+     US/Michigan                          America/Detroit
+     US/Mountain                          America/Denver
+     US/Pacific                           America/Los_Angeles
+     US/Pacific-New                       America/Los_Angeles
+     US/Samoa                             Pacific/Pago_Pago
+     W-SU                                 Europe/Moscow
+
+There are a large number of possible time zone aliases of the form
+EST5EDT. The main 4 used in the United States are CST6CDT, EST5EDT,
+MST7MDT, and PST8PDT and these are specifically called for in RFC 822,
+so whenever possible, these will refer to the US time zones, but some
+aliases may possibly refer to more than one time zone. In these
+instances, I have selected one of them to be the default time zone to
+use (based on how recently it was used, and for what period of
+time). In the list below, all possible time zones are listed for each
+alias. The first time zone listed is the one used by default. The
+default alias can be overridden as described above.
+
+     ALTERNATE NAME                       TIME ZONE           
+     -----------------------------------  --------------------
+     AEST-10AEDT                          Australia/Melbourne
+                                          Australia/Currie
+                                          Australia/Hobart
+                                          Australia/Sydney
+                                          Australia/Lindeman
+                                          Australia/Brisbane
+                                          Antarctica/Macquarie
+     AHST10AHDT                           America/Anchorage
+     AKST9AKDT                            America/Anchorage
+                                          America/Juneau
+                                          America/Nome
+                                          America/Sitka
+                                          America/Yakutat
+                                          America/Metlakatla
+     AST10APT                             America/Anchorage
+     AST4ADT                              America/Halifax
+                                          America/Glace_Bay
+                                          America/Moncton
+                                          America/Goose_Bay
+                                          Atlantic/Bermuda
+                                          America/Thule
+                                          America/Pangnirtung
+                                          America/Barbados
+                                          America/Martinique
+                                          America/Blanc-Sablon
+     AST4APT                              America/Blanc-Sablon
+                                          America/Glace_Bay
+                                          America/Halifax
+                                          America/Moncton
+                                          America/Pangnirtung
+                                          America/Puerto_Rico
+     AWST-8AWDT                           Australia/Perth
+     BST11BDT                             America/Adak
+                                          America/Nome
+     CAT-2CAST                            Africa/Khartoum
+     CET-1CEST                            CET
+                                          Europe/Berlin
+                                          Europe/Brussels
+                                          Europe/Budapest
+                                          Europe/Copenhagen
+                                          Europe/Luxembourg
+                                          Europe/Malta
+                                          Europe/Oslo
+                                          Europe/Prague
+                                          Europe/Rome
+                                          Europe/Stockholm
+                                          Europe/Vienna
+                                          Europe/Warsaw
+                                          Europe/Zurich
+                                          Europe/Madrid
+                                          Europe/Amsterdam
+                                          Europe/Belgrade
+                                          Europe/Paris
+                                          Europe/Tirane
+                                          Europe/Monaco
+                                          Europe/Gibraltar
+                                          Europe/Andorra
+                                          Africa/Ceuta
+                                          Africa/Tunis
+                                          Europe/Vilnius
+                                          Europe/Lisbon
+                                          Africa/Tripoli
+                                          Africa/Algiers
+                                          Europe/Sofia
+                                          Europe/Uzhgorod
+                                          Europe/Kaliningrad
+                                          Europe/Athens
+                                          Europe/Chisinau
+                                          Europe/Minsk
+                                          Europe/Riga
+                                          Europe/Simferopol
+                                          Europe/Tallinn
+     CET-1WEMT                            Europe/Monaco
+                                          Europe/Paris
+     CET-1WEST                            Europe/Luxembourg
+     CST-8CDT                             Asia/Shanghai
+                                          Asia/Macau
+                                          Asia/Taipei
+     CST5CDT                              America/Havana
+     CST6CDT                              America/Chicago
+                                          America/Winnipeg
+                                          America/Indiana/Knox
+                                          America/Indiana/Tell_City
+                                          America/Menominee
+                                          America/Rainy_River
+                                          America/Mexico_City
+                                          America/Rankin_Inlet
+                                          America/Resolute
+                                          America/Matamoros
+                                          America/Monterrey
+                                          America/North_Dakota/Center
+                                          America/Merida
+                                          America/North_Dakota/New_Salem
+                                          America/Bahia_Banderas
+                                          America/North_Dakota/Beulah
+                                          America/Cancun
+                                          America/Indiana/Petersburg
+                                          America/Indiana/Vincennes
+                                          America/Indiana/Winamac
+                                          America/Managua
+                                          America/Guatemala
+                                          America/Tegucigalpa
+                                          America/Kentucky/Monticello
+                                          America/Chihuahua
+                                          America/Ojinaga
+                                          America/Costa_Rica
+                                          America/El_Salvador
+                                          America/Indiana/Marengo
+                                          America/Kentucky/Louisville
+                                          America/Indiana/Indianapolis
+                                          America/Indiana/Vevay
+                                          America/Atikokan
+     CST6CPT                              America/Chicago
+                                          America/Indiana/Indianapolis
+                                          America/Indiana/Knox
+                                          America/Indiana/Marengo
+                                          America/Indiana/Petersburg
+                                          America/Indiana/Tell_City
+                                          America/Indiana/Vevay
+                                          America/Indiana/Vincennes
+                                          America/Indiana/Winamac
+                                          America/Kentucky/Louisville
+                                          America/Kentucky/Monticello
+                                          America/Menominee
+                                          America/Rainy_River
+                                          America/Winnipeg
+     EET-2EEST                            EET
+                                          Asia/Beirut
+                                          Asia/Damascus
+                                          Europe/Athens
+                                          Europe/Bucharest
+                                          Europe/Chisinau
+                                          Europe/Helsinki
+                                          Asia/Gaza
+                                          Asia/Hebron
+                                          Asia/Amman
+                                          Asia/Nicosia
+                                          Europe/Sofia
+                                          Europe/Riga
+                                          Europe/Tallinn
+                                          Europe/Vilnius
+                                          Europe/Zaporozhye
+                                          Europe/Kiev
+                                          Europe/Uzhgorod
+                                          Europe/Istanbul
+                                          Asia/Famagusta
+                                          Europe/Simferopol
+                                          Europe/Kaliningrad
+                                          Europe/Minsk
+                                          Africa/Cairo
+                                          Europe/Moscow
+                                          Europe/Warsaw
+     EST5EDT                              America/New_York
+                                          America/Nipigon
+                                          America/Toronto
+                                          America/Detroit
+                                          America/Nassau
+                                          America/Kentucky/Louisville
+                                          America/Indiana/Indianapolis
+                                          America/Indiana/Marengo
+                                          America/Indiana/Vevay
+                                          America/Indiana/Vincennes
+                                          America/Indiana/Winamac
+                                          America/Thunder_Bay
+                                          America/Iqaluit
+                                          America/Port-au-Prince
+                                          America/Pangnirtung
+                                          America/Kentucky/Monticello
+                                          America/Indiana/Petersburg
+                                          America/Grand_Turk
+                                          America/Cancun
+                                          America/Jamaica
+                                          America/Indiana/Tell_City
+     EST5EPT                              America/New_York
+                                          America/Detroit
+                                          America/Iqaluit
+                                          America/Nipigon
+                                          America/Thunder_Bay
+                                          America/Toronto
+     GMT0BST                              Europe/London
+                                          Europe/Gibraltar
+                                          Europe/Dublin
+     GMT0IST                              Europe/Dublin
+     HKT-8HKST                            Asia/Hong_Kong
+     HST10HDT                             America/Adak
+     IST-2EEST                            Asia/Gaza
+                                          Asia/Hebron
+     IST-2IDT                             Asia/Jerusalem
+                                          Asia/Gaza
+                                          Asia/Hebron
+     JST-9JDT                             Asia/Tokyo
+     KST-9KDT                             Asia/Seoul
+     MET-1MEST                            MET
+     MSK-3CEST                            Europe/Minsk
+                                          Europe/Chisinau
+                                          Europe/Simferopol
+                                          Europe/Tallinn
+                                          Europe/Vilnius
+     MSK-3MSD                             Europe/Moscow
+                                          Europe/Simferopol
+                                          Europe/Zaporozhye
+                                          Europe/Chisinau
+                                          Europe/Kiev
+                                          Europe/Minsk
+                                          Europe/Uzhgorod
+                                          Europe/Kaliningrad
+                                          Europe/Riga
+                                          Europe/Tallinn
+                                          Europe/Vilnius
+     MST7MDT                              America/Denver
+                                          America/Edmonton
+                                          America/Boise
+                                          America/Cambridge_Bay
+                                          America/Inuvik
+                                          America/Yellowknife
+                                          America/Mazatlan
+                                          America/Chihuahua
+                                          America/Ojinaga
+                                          America/North_Dakota/Beulah
+                                          America/Bahia_Banderas
+                                          America/North_Dakota/New_Salem
+                                          America/Hermosillo
+                                          America/North_Dakota/Center
+                                          America/Phoenix
+                                          America/Swift_Current
+                                          America/Regina
+     MST7MPT                              America/Denver
+                                          America/Boise
+                                          America/Cambridge_Bay
+                                          America/Edmonton
+                                          America/North_Dakota/Beulah
+                                          America/North_Dakota/Center
+                                          America/North_Dakota/New_Salem
+                                          America/Regina
+                                          America/Swift_Current
+                                          America/Yellowknife
+     NST11NPT                             America/Adak
+                                          America/Nome
+     NZST-12NZDT                          Pacific/Auckland
+     PKT-5PKST                            Asia/Karachi
+     PST8PDT                              America/Los_Angeles
+                                          America/Vancouver
+                                          America/Tijuana
+                                          America/Dawson
+                                          America/Whitehorse
+                                          America/Fort_Nelson
+                                          America/Metlakatla
+                                          America/Juneau
+                                          America/Sitka
+                                          America/Dawson_Creek
+                                          America/Boise
+     PST8PPT                              America/Los_Angeles
+                                          America/Dawson_Creek
+                                          America/Fort_Nelson
+                                          America/Juneau
+                                          America/Metlakatla
+                                          America/Sitka
+                                          America/Tijuana
+                                          America/Vancouver
+     SAST-2SAST                           Africa/Johannesburg
+     WAT-1WAST                            Africa/Windhoek
+     WET-1WEST                            Europe/Luxembourg
+     WET0WEST                             WET
+                                          Europe/Lisbon
+                                          Africa/Casablanca
+                                          Africa/El_Aaiun
+                                          Atlantic/Madeira
+                                          Atlantic/Canary
+                                          Atlantic/Faroe
+                                          Africa/Algiers
+                                          Africa/Ceuta
+                                          Europe/Monaco
+                                          Europe/Paris
+                                          Europe/Brussels
+                                          Europe/Luxembourg
+                                          Europe/Madrid
+     YST9YDT                              America/Yakutat
+                                          America/Dawson
+                                          America/Whitehorse
+     YST9YPT                              America/Whitehorse
+                                          America/Dawson
+                                          America/Yakutat
+
+There are also a number of standard aliases. Some of these are
+included to fix minor issues with the tzdata files. Others come from
+standard sources including RFC 822 or the list of time zone names used
+on Microsoft Windows operating systems.
+
+Aliases include:
+
+     ALTERNATE NAME                       TIME ZONE           
+     -----------------------------------  --------------------
+     ARST3ARDT                            America/Argentina/Buenos_Aires
+     AST10ADT                             America/Adak
+     AST4ADT#Canada                       America/Halifax
+     AUS Central Standard Time            Australia/Darwin
+     AUS Eastern Standard Time            Australia/Sydney
+     Afghanistan Standard Time            Asia/Kabul
+     Alaskan Standard Time                America/Anchorage
+     Arab Standard Time                   Asia/Riyadh
+     Arabian Standard Time                Asia/Dubai
+     Arabic Standard Time                 Asia/Baghdad
+     Argentina Standard Time              America/Argentina/Buenos_Aires
+     Atlantic Standard Time               America/Halifax
+     Azerbaijan Standard Time             Asia/Baku
+     Azores Standard Time                 Atlantic/Azores
+     BRST3BRDT                            America/Sao_Paulo
+     BRWST4BRWDT                          America/Campo_Grande
+     Bahia Standard Time                  America/Bahia
+     Bangladesh Standard Time             Asia/Dhaka
+     CSM6CDM                              America/Mexico_City
+     CST-9:30CDT                          Australia/Adelaide
+     CST6CDT#Canada                       America/Winnipeg
+     CST6CDT#Indiana                      America/Indiana/Indianapolis
+     CST6CDT#Mexico                       America/Mexico_City
+     Canada Central Standard Time         America/Regina
+     Cape Verde Standard Time             Atlantic/Cape_Verde
+     Caucasus Standard Time               Asia/Yerevan
+     Cen. Australia Standard Time         Australia/Adelaide
+     Central America Standard Time        America/Guatemala
+     Central Asia Standard Time           Asia/Almaty
+     Central Brazilian Standard Time      America/Cuiaba
+     Central Europe Standard Time         Europe/Budapest
+     Central European Standard Time       Europe/Warsaw
+     Central Pacific Standard Time        Pacific/Guadalcanal
+     Central Standard Time                America/Chicago
+     Central Standard Time (Mexico)       America/Mexico_City
+     China Standard Time                  Asia/Shanghai
+     Dateline Standard Time               Etc/GMT+12
+     E. Africa Standard Time              Africa/Nairobi
+     E. Australia Standard Time           Australia/Brisbane
+     E. Europe Standard Time              Asia/Nicosia
+     E. South America Standard Time       America/Sao_Paulo
+     EET-2EETDST                          Europe/Helsinki
+     EST-10EDT                            Australia/Melbourne
+     EST-10EDT#NSW                        Australia/Sydney
+     EST-10EDT#Tasmania                   Australia/Hobart
+     EST-10EDT#VIC                        Australia/Melbourne
+     EST5CDT                              America/Indiana/Indianapolis
+     EST5EDT#Canada                       America/Toronto
+     EST5EDT#Indiana                      America/Indiana/Indianapolis
+     EST5EST                              America/Indiana/Indianapolis
+     EST6CDT                              America/Indiana/Indianapolis
+     Eastern Standard Time                America/New_York
+     Egypt Standard Time                  Africa/Cairo
+     Ekaterinburg Standard Time           Asia/Yekaterinburg
+     Etc/UCT                              UTC
+     Etc/UTC                              UTC
+     FLE Standard Time                    Europe/Kiev
+     Fiji Standard Time                   Pacific/Fiji
+     GMT                                  Etc/GMT
+     GMT Standard Time                    Europe/London
+     GTB Standard Time                    Europe/Istanbul
+     Georgian Standard Time               Asia/Tbilisi
+     Greenland Standard Time              America/Godthab
+     Greenwich Standard Time              Atlantic/Reykjavik
+     Hawaiian Standard Time               Pacific/Honolulu
+     India Standard Time                  Asia/Kolkata
+     Iran Standard Time                   Asia/Tehran
+     Israel Standard Time                 Asia/Jerusalem
+     Jordan Standard Time                 Asia/Amman
+     Kaliningrad Standard Time            Europe/Kaliningrad
+     Korea Standard Time                  Asia/Seoul
+     MET-1METDST                          MET
+     MEZ-1MESZ                            CET
+     MSM7MDM                              America/Chihuahua
+     MST7MDT#Canada                       America/Edmonton
+     MST7MDT#Mexico                       America/Chihuahua
+     MXST6MXDT                            America/Mexico_City
+     MXST6MXDT#Mexico                     America/Mexico_City
+     Magadan Standard Time                Asia/Magadan
+     Mauritius Standard Time              Indian/Mauritius
+     Middle East Standard Time            Asia/Beirut
+     Montevideo Standard Time             America/Montevideo
+     Morocco Standard Time                Africa/Casablanca
+     Mountain Standard Time               America/Denver
+     Mountain Standard Time (Mexico)      America/Chihuahua
+     Myanmar Standard Time                Asia/Yangon
+     N. Central Asia Standard Time        Asia/Novosibirsk
+     NST3:30NDT                           America/St_Johns
+     NST3:30NDT#Canada                    America/St_Johns
+     Namibia Standard Time                Africa/Windhoek
+     Nepal Standard Time                  Asia/Kathmandu
+     New Zealand Standard Time            Pacific/Auckland
+     Newfoundland Standard Time           America/St_Johns
+     North Asia East Standard Time        Asia/Irkutsk
+     North Asia Standard Time             Asia/Krasnoyarsk
+     PST-8PDT                             Asia/Singapore
+     PST8PDT#Canada                       America/Vancouver
+     PWT0PST                              Europe/Lisbon
+     Pacific SA Standard Time             America/Santiago
+     Pacific Standard Time                America/Los_Angeles
+     Pacific/Johnston                     Pacific/Honolulu
+     Pakistan Standard Time               Asia/Karachi
+     Paraguay Standard Time               America/Asuncion
+     Romance Standard Time                Europe/Paris
+     Russian Standard Time                Europe/Moscow
+     SA Eastern Standard Time             America/Cayenne
+     SA Pacific Standard Time             America/Bogota
+     SA Western Standard Time             America/La_Paz
+     SAST-2                               Africa/Johannesburg
+     SE Asia Standard Time                Asia/Bangkok
+     Samoa Standard Time                  Pacific/Apia
+     Singapore Standard Time              Asia/Singapore
+     South Africa Standard Time           Africa/Johannesburg
+     Sri Lanka Standard Time              Asia/Colombo
+     Syria Standard Time                  Asia/Damascus
+     Taipei Standard Time                 Asia/Taipei
+     Tasmania Standard Time               Australia/Hobart
+     Tokyo Standard Time                  Asia/Tokyo
+     Tonga Standard Time                  Pacific/Tongatapu
+     Turkey Standard Time                 Europe/Istanbul
+     UCT                                  UTC
+     US Eastern Standard Time             America/Indiana/Indianapolis
+     US Mountain Standard Time            America/Phoenix
+     UTC+12                               Etc/GMT-12
+     UTC-02                               Etc/GMT+2
+     UTC-11                               Etc/GMT+11
+     Ulaanbaatar Standard Time            Asia/Ulaanbaatar
+     Venezuela Standard Time              America/Caracas
+     Vladivostok Standard Time            Asia/Vladivostok
+     W. Australia Standard Time           Australia/Perth
+     W. Central Africa Standard Time      Africa/Lagos
+     W. Europe Standard Time              Europe/Berlin
+     WET0WETDST                           WET
+     WST-10WSTDST                         Asia/Vladivostok
+     WST-11WSTDST                         Asia/Srednekolymsk
+     WST-12WSTDST                         Asia/Kamchatka
+     WST-2WSTDST                          Europe/Minsk
+     WST-3WSTDST                          Europe/Moscow
+     WST-4WSTDST                          Europe/Samara
+     WST-5WSTDST                          Asia/Yekaterinburg
+     WST-6WSTDST                          Asia/Omsk
+     WST-7WSTDST                          Asia/Krasnoyarsk
+     WST-8WDT                             Australia/Perth
+     WST-8WSTDST                          Asia/Irkutsk
+     WST-9WSTDST                          Asia/Yakutsk
+     West Asia Standard Time              Asia/Tashkent
+     West Pacific Standard Time           Pacific/Port_Moresby
+     Yakutsk Standard Time                Asia/Yakutsk
+
+Periodically, we need to be able to determine a time zone based on an
+offset. In addition, the ISDST may be known, and a date/time may be
+available. The following table shows what time zones are examined based
+on the offset, and in what order. The first match is used. If the
+ISDST time is not known, the standard zones will be tested followed by
+the DST zones.
+
+The default order can be overridden with the C method in the
+L module.
+
+     ISDST  OFFSET      TIME ZONE                
+     -----  ----------  -------------------------
+     0      -15:56:00   Asia/Manila
+     0      -14:21:00   Pacific/Guam
+     0      -14:00:00   Etc/GMT-14
+     0      -13:00:00   Etc/GMT-13
+     0      -12:00:00   Etc/GMT-12
+                        M
+                        Pacific/Kwajalein
+                        Pacific/Enderbury
+     0      -11:46:38   America/Adak
+     0      -11:30:00   Pacific/Niue
+                        Pacific/Apia
+     0      -11:26:56   Pacific/Apia
+     0      -11:24:56   Pacific/Fakaofo
+     0      -11:24:20   Pacific/Enderbury
+     0      -11:22:48   Pacific/Pago_Pago
+     0      -11:20:00   Pacific/Niue
+     0      -11:19:40   Pacific/Niue
+     0      -11:01:38   America/Nome
+     0      -11:00:00   Pacific/Pago_Pago
+                        Pacific/Niue
+                        Etc/GMT-11
+                        L
+                        Pacific/Fakaofo
+                        Pacific/Apia
+                        Pacific/Enderbury
+                        America/Adak
+                        America/Nome
+     0      -10:40:00   Pacific/Kiritimati
+     0      -10:39:04   Pacific/Rarotonga
+     0      -10:31:26   Pacific/Honolulu
+     0      -10:30:00   Pacific/Rarotonga
+                        Pacific/Honolulu
+     0      -10:29:20   Pacific/Kiritimati
+     0      -10:00:00   Pacific/Tahiti
+                        Pacific/Honolulu
+                        Pacific/Rarotonga
+                        America/Adak
+                        Etc/GMT-10
+                        K
+                        Pacific/Kiritimati
+                        America/Anchorage
+     0      -09:59:36   America/Anchorage
+     0      -09:58:16   Pacific/Tahiti
+     0      -09:30:00   Pacific/Marquesas
+     0      -09:18:55   America/Yakutat
+     0      -09:18:00   Pacific/Marquesas
+     0      -09:17:40   America/Dawson
+     0      -09:01:13   America/Sitka
+     0      -09:00:12   America/Whitehorse
+     0      -09:00:00   America/Yakutat
+                        Pacific/Gambier
+                        America/Anchorage
+                        America/Juneau
+                        America/Nome
+                        America/Sitka
+                        America/Metlakatla
+                        Etc/GMT-9
+                        I
+                        America/Dawson
+                        America/Whitehorse
+     0      -08:59:48   Pacific/Gambier
+     0      -08:57:41   America/Juneau
+     0      -08:46:18   America/Metlakatla
+     0      -08:40:20   Pacific/Pitcairn
+     0      -08:30:00   Pacific/Pitcairn
+     0      -08:12:28   America/Vancouver
+     0      -08:10:47   America/Fort_Nelson
+     0      -08:00:56   America/Dawson_Creek
+     0      -08:00:00   America/Los_Angeles
+                        America/Vancouver
+                        America/Tijuana
+                        America/Whitehorse
+                        America/Dawson
+                        Pacific/Pitcairn
+                        Etc/GMT-8
+                        H
+                        America/Fort_Nelson
+                        America/Metlakatla
+                        America/Juneau
+                        America/Sitka
+                        America/Inuvik
+                        America/Dawson_Creek
+                        America/Bahia_Banderas
+                        America/Hermosillo
+                        America/Mazatlan
+                        America/Boise
+                        America/Creston
+     0      -07:52:58   America/Los_Angeles
+     0      -07:48:04   America/Tijuana
+     0      -07:46:04   America/Creston
+     0      -07:44:49   America/Boise
+     0      -07:33:52   America/Edmonton
+     0      -07:28:18   America/Phoenix
+     0      -07:23:52   America/Hermosillo
+     0      -07:17:28   Pacific/Easter
+     0      -07:11:20   America/Swift_Current
+     0      -07:05:40   America/Mazatlan
+     0      -07:04:20   America/Chihuahua
+     0      -07:01:00   America/Bahia_Banderas
+     0      -07:00:00   America/Denver
+                        America/Phoenix
+                        America/Creston
+                        America/Edmonton
+                        America/Cambridge_Bay
+                        America/Chihuahua
+                        America/Hermosillo
+                        America/Mazatlan
+                        America/Ojinaga
+                        America/Boise
+                        America/Yellowknife
+                        America/Dawson_Creek
+                        America/Inuvik
+                        America/Fort_Nelson
+                        Etc/GMT-7
+                        G
+                        America/North_Dakota/Beulah
+                        America/Bahia_Banderas
+                        America/North_Dakota/New_Salem
+                        America/North_Dakota/Center
+                        Pacific/Easter
+                        America/Swift_Current
+                        America/Regina
+                        America/Mexico_City
+                        America/Tijuana
+     0      -06:59:56   America/Denver
+     0      -06:58:36   America/Regina
+     0      -06:57:40   America/Ojinaga
+     0      -06:47:07   America/North_Dakota/Beulah
+     0      -06:45:39   America/North_Dakota/New_Salem
+     0      -06:45:12   America/North_Dakota/Center
+     0      -06:41:16   America/Monterrey
+     0      -06:40:00   America/Matamoros
+     0      -06:36:36   America/Mexico_City
+     0      -06:28:36   America/Winnipeg
+     0      -06:18:16   America/Rainy_River
+     0      -06:06:28   America/Atikokan
+     0      -06:02:04   America/Guatemala
+     0      -06:00:00   America/Chicago
+                        America/Indiana/Knox
+                        America/Indiana/Tell_City
+                        America/Menominee
+                        America/Winnipeg
+                        America/Rainy_River
+                        America/Belize
+                        America/Guatemala
+                        America/Costa_Rica
+                        America/El_Salvador
+                        America/Tegucigalpa
+                        America/Matamoros
+                        America/Merida
+                        America/Monterrey
+                        America/Bahia_Banderas
+                        America/Mexico_City
+                        America/Managua
+                        America/Resolute
+                        America/Rankin_Inlet
+                        America/Regina
+                        America/Swift_Current
+                        Pacific/Easter
+                        Pacific/Galapagos
+                        America/North_Dakota/Center
+                        America/North_Dakota/New_Salem
+                        America/North_Dakota/Beulah
+                        Etc/GMT-6
+                        F
+                        America/Cancun
+                        America/Indiana/Petersburg
+                        America/Indiana/Vincennes
+                        America/Indiana/Winamac
+                        America/Cambridge_Bay
+                        America/Kentucky/Monticello
+                        America/Iqaluit
+                        America/Pangnirtung
+                        America/Chihuahua
+                        America/Ojinaga
+                        America/Indiana/Marengo
+                        America/Kentucky/Louisville
+                        America/Indiana/Indianapolis
+                        America/Indiana/Vevay
+                        America/Hermosillo
+                        America/Mazatlan
+                        America/Atikokan
+                        America/Detroit
+                        America/Thunder_Bay
+     0      -05:58:28   America/Merida
+     0      -05:58:24   Pacific/Galapagos
+     0      -05:57:00   America/Thunder_Bay
+     0      -05:56:48   America/El_Salvador
+     0      -05:53:04   America/Nipigon
+     0      -05:52:48   America/Belize
+     0      -05:50:36   America/Chicago
+     0      -05:50:27   America/Menominee
+     0      -05:50:07   America/Indiana/Vincennes
+     0      -05:49:07   America/Indiana/Petersburg
+     0      -05:48:52   America/Tegucigalpa
+     0      -05:47:04   America/Cancun
+     0      -05:47:03   America/Indiana/Tell_City
+     0      -05:46:30   America/Indiana/Knox
+     0      -05:46:25   America/Indiana/Winamac
+     0      -05:45:23   America/Indiana/Marengo
+     0      -05:45:12   America/Managua
+     0      -05:45:08   America/Managua
+     0      -05:44:38   America/Indiana/Indianapolis
+     0      -05:43:02   America/Kentucky/Louisville
+     0      -05:40:16   America/Indiana/Vevay
+     0      -05:39:24   America/Kentucky/Monticello
+     0      -05:36:13   America/Costa_Rica
+     0      -05:32:11   America/Detroit
+     0      -05:29:36   America/Havana
+     0      -05:29:28   America/Havana
+     0      -05:19:36   America/Panama
+     0      -05:19:20   America/Guayaquil
+     0      -05:18:08   America/Panama
+     0      -05:17:32   America/Toronto
+     0      -05:14:00   America/Guayaquil
+     0      -05:09:30   America/Nassau
+     0      -05:08:36   America/Lima
+     0      -05:08:12   America/Lima
+     0      -05:07:11   America/Jamaica
+                        America/Grand_Turk
+     0      -05:00:00   America/New_York
+                        America/Nipigon
+                        America/Toronto
+                        America/Lima
+                        America/Panama
+                        America/Thunder_Bay
+                        America/Jamaica
+                        America/Nassau
+                        America/Bogota
+                        America/Eirunepe
+                        America/Rio_Branco
+                        America/Detroit
+                        America/Port-au-Prince
+                        America/Havana
+                        America/Guayaquil
+                        America/Atikokan
+                        America/Iqaluit
+                        America/Indiana/Vevay
+                        America/Indiana/Indianapolis
+                        America/Indiana/Marengo
+                        America/Indiana/Winamac
+                        America/Kentucky/Louisville
+                        America/Indiana/Vincennes
+                        America/Indiana/Petersburg
+                        America/Cancun
+                        America/Pangnirtung
+                        America/Kentucky/Monticello
+                        Etc/GMT-5
+                        E
+                        America/Grand_Turk
+                        America/Resolute
+                        America/Indiana/Knox
+                        America/Indiana/Tell_City
+                        America/Rankin_Inlet
+                        America/Santo_Domingo
+                        America/Cambridge_Bay
+                        America/Managua
+                        Pacific/Galapagos
+                        America/Merida
+                        America/Menominee
+                        America/Punta_Arenas
+                        America/Santiago
+                        America/Chicago
+                        America/Moncton
+     0      -04:56:16   America/Bogota
+     0      -04:56:02   America/New_York
+     0      -04:49:20   America/Port-au-Prince
+     0      -04:49:00   America/Port-au-Prince
+     0      -04:44:32   America/Grand_Turk
+     0      -04:43:40   America/Punta_Arenas
+     0      -04:42:46   America/Santiago
+                        America/Punta_Arenas
+     0      -04:40:00   America/Santo_Domingo
+     0      -04:39:36   America/Santo_Domingo
+     0      -04:39:28   America/Eirunepe
+     0      -04:36:52   America/Argentina/Rio_Gallegos
+     0      -04:35:47   America/Curacao
+     0      -04:35:16   America/Argentina/Mendoza
+     0      -04:35:08   America/Thule
+     0      -04:34:04   America/Argentina/San_Juan
+     0      -04:33:12   America/Argentina/Ushuaia
+     0      -04:32:36   America/La_Paz
+     0      -04:31:12   America/Rio_Branco
+     0      -04:30:00   America/Caracas
+                        America/Curacao
+     0      -04:27:44   America/Caracas
+     0      -04:27:40   America/Caracas
+     0      -04:27:24   America/Argentina/La_Rioja
+     0      -04:25:24   America/Argentina/San_Luis
+     0      -04:24:25   America/Puerto_Rico
+     0      -04:23:08   America/Argentina/Catamarca
+     0      -04:21:40   America/Argentina/Salta
+     0      -04:21:12   America/Argentina/Jujuy
+     0      -04:20:52   America/Argentina/Tucuman
+     0      -04:19:18   Atlantic/Bermuda
+     0      -04:19:08   America/Moncton
+     0      -04:16:48   America/Argentina/Cordoba
+                        America/Argentina/Buenos_Aires
+                        America/Argentina/Catamarca
+                        America/Argentina/Jujuy
+                        America/Argentina/La_Rioja
+                        America/Argentina/Mendoza
+                        America/Argentina/Rio_Gallegos
+                        America/Argentina/Salta
+                        America/Argentina/San_Juan
+                        America/Argentina/San_Luis
+                        America/Argentina/Tucuman
+                        America/Argentina/Ushuaia
+     0      -04:15:36   America/Porto_Velho
+     0      -04:14:24   America/Halifax
+     0      -04:06:04   America/Port_of_Spain
+     0      -04:04:20   America/Martinique
+     0      -04:02:40   America/Boa_Vista
+     0      -04:01:40   America/Goose_Bay
+     0      -04:00:04   America/Manaus
+     0      -04:00:00   America/Blanc-Sablon
+                        America/Puerto_Rico
+                        America/Glace_Bay
+                        America/Halifax
+                        America/Moncton
+                        America/Martinique
+                        America/Port_of_Spain
+                        America/Boa_Vista
+                        America/Campo_Grande
+                        America/Cuiaba
+                        America/Manaus
+                        America/Porto_Velho
+                        America/Thule
+                        America/Santiago
+                        Atlantic/Bermuda
+                        America/Asuncion
+                        America/Barbados
+                        America/La_Paz
+                        America/Caracas
+                        America/Curacao
+                        America/Goose_Bay
+                        America/Santo_Domingo
+                        America/Guyana
+                        America/Grand_Turk
+                        Etc/GMT-4
+                        D
+                        America/Punta_Arenas
+                        America/Eirunepe
+                        America/Rio_Branco
+                        Atlantic/Stanley
+                        America/Argentina/San_Luis
+                        America/Santarem
+                        America/Argentina/Catamarca
+                        America/Argentina/La_Rioja
+                        America/Argentina/Mendoza
+                        America/Argentina/Rio_Gallegos
+                        America/Argentina/San_Juan
+                        America/Argentina/Tucuman
+                        America/Argentina/Ushuaia
+                        America/Pangnirtung
+                        America/Argentina/Cordoba
+                        America/Argentina/Jujuy
+                        America/Argentina/Salta
+                        America/Miquelon
+                        America/Argentina/Buenos_Aires
+                        America/Cayenne
+                        Antarctica/Palmer
+     0      -03:59:48   America/Glace_Bay
+     0      -03:58:29   America/Barbados
+     0      -03:53:48   America/Argentina/Buenos_Aires
+     0      -03:52:40   America/Guyana
+     0      -03:51:24   Atlantic/Stanley
+     0      -03:50:40   America/Asuncion
+     0      -03:48:28   America/Blanc-Sablon
+     0      -03:45:00   America/Guyana
+     0      -03:44:44   America/Montevideo
+     0      -03:44:40   America/Miquelon
+     0      -03:44:20   America/Cuiaba
+     0      -03:40:52   America/Paramaribo
+     0      -03:40:40   America/Paramaribo
+     0      -03:40:36   America/Paramaribo
+     0      -03:38:48   America/Santarem
+     0      -03:38:28   America/Campo_Grande
+     0      -03:30:52   America/St_Johns
+                        America/Goose_Bay
+     0      -03:30:00   America/St_Johns
+                        America/Paramaribo
+                        America/Goose_Bay
+                        America/Montevideo
+     0      -03:29:20   America/Cayenne
+     0      -03:26:56   America/Godthab
+     0      -03:13:56   America/Belem
+     0      -03:12:48   America/Araguaina
+     0      -03:06:28   America/Sao_Paulo
+     0      -03:00:00   America/Araguaina
+                        America/Bahia
+                        America/Belem
+                        America/Fortaleza
+                        America/Maceio
+                        America/Recife
+                        America/Sao_Paulo
+                        America/Godthab
+                        America/Montevideo
+                        America/Cayenne
+                        America/Argentina/Buenos_Aires
+                        America/Argentina/Catamarca
+                        America/Argentina/Cordoba
+                        America/Argentina/Jujuy
+                        America/Argentina/La_Rioja
+                        America/Argentina/Mendoza
+                        America/Argentina/Rio_Gallegos
+                        America/Argentina/Salta
+                        America/Argentina/San_Juan
+                        America/Argentina/San_Luis
+                        America/Argentina/Tucuman
+                        America/Argentina/Ushuaia
+                        America/Miquelon
+                        Atlantic/Stanley
+                        America/Paramaribo
+                        America/Santarem
+                        America/Punta_Arenas
+                        Etc/GMT-3
+                        C
+                        Antarctica/Palmer
+                        Antarctica/Rothera
+                        America/Danmarkshavn
+                        America/Guyana
+                        America/Asuncion
+     0      -02:34:04   America/Bahia
+     0      -02:34:00   America/Fortaleza
+     0      -02:26:08   Atlantic/South_Georgia
+     0      -02:22:52   America/Maceio
+     0      -02:19:36   America/Recife
+     0      -02:09:40   America/Noronha
+     0      -02:00:00   Atlantic/South_Georgia
+                        America/Noronha
+                        Etc/GMT-2
+                        B
+                        America/Scoresbysund
+                        Atlantic/Cape_Verde
+                        Atlantic/Azores
+     0      -01:54:32   Atlantic/Azores
+     0      -01:42:40   Atlantic/Azores
+     0      -01:34:04   Atlantic/Cape_Verde
+     0      -01:28:00   Atlantic/Reykjavik
+     0      -01:27:52   America/Scoresbysund
+     0      -01:14:40   America/Danmarkshavn
+     0      -01:07:36   Atlantic/Madeira
+     0      -01:02:20   Africa/Bissau
+     0      -01:01:36   Atlantic/Canary
+     0      -01:00:00   Atlantic/Azores
+                        Atlantic/Cape_Verde
+                        America/Scoresbysund
+                        Etc/GMT-1
+                        A
+                        Africa/El_Aaiun
+                        Africa/Bissau
+                        Atlantic/Reykjavik
+                        Atlantic/Madeira
+                        Atlantic/Canary
+     0      -00:52:48   Africa/El_Aaiun
+     0      -00:44:30   Africa/Monrovia
+     0      -00:43:08   Africa/Monrovia
+     0      -00:36:45   Europe/Lisbon
+     0      -00:30:20   Africa/Casablanca
+     0      -00:27:04   Atlantic/Faroe
+     0      -00:25:21   Europe/Dublin
+     0      -00:25:00   Europe/Dublin
+     0      -00:21:24   Europe/Gibraltar
+     0      -00:21:16   Africa/Ceuta
+     0      -00:16:08   Africa/Abidjan
+     0      -00:14:44   Europe/Madrid
+     0      -00:01:15   Europe/London
+     0      -00:00:52   Africa/Accra
+     0      +00:00:00   WET
+                        Europe/London
+                        Atlantic/Faroe
+                        Europe/Lisbon
+                        Africa/Abidjan
+                        Africa/Casablanca
+                        Europe/Dublin
+                        Africa/Accra
+                        Atlantic/Canary
+                        Atlantic/Madeira
+                        Atlantic/Reykjavik
+                        Africa/Monrovia
+                        Africa/Bissau
+                        Africa/El_Aaiun
+                        America/Danmarkshavn
+                        Etc/GMT
+                        UT
+                        UTC
+                        Z
+                        Antarctica/Troll
+                        Atlantic/Azores
+                        Africa/Ceuta
+                        Africa/Algiers
+                        America/Rankin_Inlet
+                        Europe/Gibraltar
+                        America/Inuvik
+                        Indian/Kerguelen
+                        America/Resolute
+                        Europe/Andorra
+                        America/Iqaluit
+                        Europe/Brussels
+                        Europe/Madrid
+                        Europe/Monaco
+                        Europe/Paris
+                        Europe/Luxembourg
+                        America/Yellowknife
+                        America/Pangnirtung
+                        America/Cambridge_Bay
+                        Antarctica/Casey
+                        Antarctica/Davis
+                        Antarctica/DumontDUrville
+                        Antarctica/Macquarie
+                        Antarctica/Mawson
+                        Antarctica/Palmer
+                        Antarctica/Rothera
+                        Antarctica/Syowa
+                        Antarctica/Vostok
+     0      +00:06:04   Europe/Andorra
+     0      +00:09:21   Europe/Paris
+                        Africa/Tunis
+                        Europe/Monaco
+                        Africa/Algiers
+     0      +00:12:12   Africa/Algiers
+     0      +00:13:36   Africa/Lagos
+     0      +00:17:30   Europe/Brussels
+     0      +00:19:32   Europe/Amsterdam
+     0      +00:20:00   Europe/Amsterdam
+     0      +00:24:36   Europe/Luxembourg
+     0      +00:29:32   Europe/Monaco
+     0      +00:29:46   Europe/Zurich
+     0      +00:34:08   Europe/Zurich
+     0      +00:40:44   Africa/Tunis
+     0      +00:43:00   Europe/Oslo
+     0      +00:49:56   Europe/Rome
+     0      +00:50:20   Europe/Copenhagen
+     0      +00:52:44   Africa/Tripoli
+     0      +00:53:28   Europe/Berlin
+     0      +00:57:44   Europe/Prague
+     0      +00:58:04   Europe/Malta
+     0      +01:00:00   CET
+                        MET
+                        Europe/Belgrade
+                        Europe/Budapest
+                        Europe/Prague
+                        Europe/Berlin
+                        Europe/Copenhagen
+                        Europe/Malta
+                        Europe/Rome
+                        Europe/Vienna
+                        Europe/Oslo
+                        Europe/Zurich
+                        Europe/Stockholm
+                        Europe/Luxembourg
+                        Africa/Ndjamena
+                        Africa/Tunis
+                        Europe/Tirane
+                        Europe/Brussels
+                        Europe/Warsaw
+                        Africa/Lagos
+                        Europe/Madrid
+                        Africa/Algiers
+                        Europe/Amsterdam
+                        Europe/Paris
+                        Europe/Monaco
+                        Europe/Andorra
+                        Europe/Gibraltar
+                        Africa/Ceuta
+                        Africa/Windhoek
+                        Etc/GMT+1
+                        N
+                        Africa/Tripoli
+                        Europe/Vilnius
+                        Europe/Lisbon
+                        Europe/Uzhgorod
+                        Africa/Casablanca
+                        Europe/Dublin
+                        Europe/London
+                        Europe/Sofia
+                        Europe/Kaliningrad
+                        Europe/Tallinn
+                        Europe/Athens
+                        Europe/Chisinau
+                        Europe/Minsk
+                        Europe/Riga
+                        Europe/Simferopol
+                        Europe/Kiev
+                        Europe/Zaporozhye
+     0      +01:00:12   Africa/Ndjamena
+     0      +01:00:14   Europe/Stockholm
+     0      +01:05:21   Europe/Vienna
+     0      +01:08:24   Africa/Windhoek
+     0      +01:12:12   Europe/Stockholm
+     0      +01:16:20   Europe/Budapest
+     0      +01:19:20   Europe/Tirane
+     0      +01:22:00   Europe/Kaliningrad
+                        Europe/Belgrade
+     0      +01:24:00   Europe/Vilnius
+                        Europe/Warsaw
+     0      +01:29:12   Europe/Uzhgorod
+     0      +01:30:00   Africa/Johannesburg
+                        Africa/Windhoek
+     0      +01:33:16   Europe/Sofia
+     0      +01:34:52   Europe/Athens
+     0      +01:35:36   Europe/Vilnius
+     0      +01:36:34   Europe/Riga
+     0      +01:39:00   Europe/Tallinn
+     0      +01:39:49   Europe/Helsinki
+     0      +01:41:16   Europe/Vilnius
+     0      +01:44:24   Europe/Bucharest
+                        Europe/Chisinau
+     0      +01:50:00   Europe/Minsk
+     0      +01:50:16   Europe/Minsk
+     0      +01:52:00   Africa/Johannesburg
+     0      +01:55:00   Europe/Chisinau
+     0      +01:55:20   Europe/Chisinau
+     0      +01:55:52   Europe/Istanbul
+     0      +01:56:56   Europe/Istanbul
+                        Europe/Sofia
+     0      +02:00:00   EET
+                        Asia/Beirut
+                        Europe/Sofia
+                        Asia/Gaza
+                        Asia/Hebron
+                        Africa/Cairo
+                        Africa/Johannesburg
+                        Africa/Maputo
+                        Europe/Athens
+                        Asia/Jerusalem
+                        Asia/Damascus
+                        Europe/Vilnius
+                        Europe/Helsinki
+                        Europe/Tallinn
+                        Asia/Nicosia
+                        Europe/Kiev
+                        Europe/Zaporozhye
+                        Europe/Riga
+                        Asia/Amman
+                        Europe/Bucharest
+                        Europe/Chisinau
+                        Europe/Kaliningrad
+                        Africa/Tripoli
+                        Europe/Uzhgorod
+                        Etc/GMT+2
+                        O
+                        Europe/Istanbul
+                        Asia/Famagusta
+                        Europe/Simferopol
+                        Europe/Minsk
+                        Africa/Khartoum
+                        Africa/Windhoek
+                        Europe/Moscow
+                        Europe/Ulyanovsk
+                        Europe/Warsaw
+     0      +02:02:04   Europe/Kiev
+     0      +02:05:09   Africa/Cairo
+     0      +02:10:08   Africa/Khartoum
+     0      +02:10:20   Africa/Maputo
+     0      +02:13:28   Asia/Nicosia
+     0      +02:15:48   Asia/Famagusta
+     0      +02:16:00   Europe/Simferopol
+     0      +02:16:24   Europe/Simferopol
+     0      +02:17:52   Asia/Gaza
+     0      +02:20:00   Europe/Zaporozhye
+     0      +02:20:23   Asia/Hebron
+     0      +02:20:40   Asia/Jerusalem
+                        Europe/Zaporozhye
+     0      +02:20:54   Asia/Jerusalem
+     0      +02:22:00   Asia/Beirut
+     0      +02:23:44   Asia/Amman
+     0      +02:25:12   Asia/Damascus
+     0      +02:27:16   Africa/Nairobi
+     0      +02:30:00   Africa/Nairobi
+     0      +02:30:17   Europe/Moscow
+     0      +02:31:19   Europe/Moscow
+     0      +02:45:00   Africa/Nairobi
+     0      +02:57:36   Asia/Baghdad
+     0      +02:57:40   Europe/Volgograd
+                        Asia/Baghdad
+     0      +02:58:00   Asia/Yerevan
+     0      +02:59:11   Asia/Tbilisi
+     0      +03:00:00   Asia/Baghdad
+                        Europe/Kirov
+                        Europe/Moscow
+                        Europe/Volgograd
+                        Africa/Nairobi
+                        Europe/Minsk
+                        Europe/Simferopol
+                        Asia/Riyadh
+                        Asia/Qatar
+                        Europe/Istanbul
+                        Africa/Khartoum
+                        Asia/Famagusta
+                        Etc/GMT+3
+                        P
+                        Antarctica/Syowa
+                        Europe/Saratov
+                        Europe/Ulyanovsk
+                        Europe/Astrakhan
+                        Europe/Kaliningrad
+                        Europe/Samara
+                        Asia/Tbilisi
+                        Asia/Yerevan
+                        Asia/Baku
+                        Europe/Zaporozhye
+                        Europe/Kiev
+                        Europe/Chisinau
+                        Europe/Uzhgorod
+                        Europe/Riga
+                        Europe/Tallinn
+                        Europe/Vilnius
+                        Asia/Atyrau
+                        Asia/Oral
+     0      +03:04:18   Europe/Saratov
+     0      +03:06:52   Asia/Riyadh
+     0      +03:12:12   Europe/Astrakhan
+     0      +03:13:36   Europe/Ulyanovsk
+     0      +03:18:48   Europe/Kirov
+     0      +03:19:24   Asia/Baku
+     0      +03:20:20   Europe/Samara
+     0      +03:21:04   Asia/Aqtau
+     0      +03:25:24   Asia/Oral
+     0      +03:25:44   Asia/Tehran
+     0      +03:26:08   Asia/Qatar
+     0      +03:27:44   Asia/Atyrau
+     0      +03:30:00   Asia/Tehran
+     0      +03:41:12   Asia/Dubai
+     0      +03:41:48   Indian/Mahe
+     0      +03:41:52   Indian/Reunion
+     0      +03:45:05   Asia/Yekaterinburg
+     0      +03:48:40   Asia/Aqtobe
+     0      +03:50:00   Indian/Mauritius
+     0      +03:53:32   Asia/Ashgabat
+     0      +04:00:00   Indian/Mahe
+                        Indian/Mauritius
+                        Indian/Reunion
+                        Asia/Dubai
+                        Europe/Astrakhan
+                        Europe/Samara
+                        Europe/Saratov
+                        Europe/Ulyanovsk
+                        Asia/Baku
+                        Asia/Tbilisi
+                        Asia/Yerevan
+                        Etc/GMT+4
+                        Q
+                        Europe/Kirov
+                        Europe/Volgograd
+                        Europe/Moscow
+                        Europe/Simferopol
+                        Asia/Aqtau
+                        Asia/Oral
+                        Asia/Atyrau
+                        Asia/Yekaterinburg
+                        Asia/Aqtobe
+                        Asia/Ashgabat
+                        Asia/Tehran
+                        Asia/Qatar
+                        Asia/Kabul
+                        Asia/Qyzylorda
+                        Asia/Samarkand
+     0      +04:02:33   Asia/Yekaterinburg
+     0      +04:21:52   Asia/Qyzylorda
+     0      +04:27:53   Asia/Samarkand
+     0      +04:28:12   Asia/Karachi
+     0      +04:30:00   Asia/Kabul
+     0      +04:35:12   Asia/Dushanbe
+     0      +04:36:48   Asia/Kabul
+     0      +04:37:11   Asia/Tashkent
+     0      +04:49:40   Indian/Chagos
+     0      +04:53:30   Asia/Omsk
+     0      +04:54:00   Indian/Maldives
+     0      +04:58:24   Asia/Bishkek
+     0      +05:00:00   Asia/Dushanbe
+                        Asia/Tashkent
+                        Asia/Aqtau
+                        Asia/Aqtobe
+                        Asia/Ashgabat
+                        Asia/Atyrau
+                        Asia/Oral
+                        Asia/Samarkand
+                        Asia/Yekaterinburg
+                        Indian/Kerguelen
+                        Asia/Karachi
+                        Indian/Maldives
+                        Etc/GMT+5
+                        R
+                        Antarctica/Mawson
+                        Asia/Bishkek
+                        Asia/Qyzylorda
+                        Indian/Chagos
+                        Asia/Omsk
+                        Asia/Almaty
+                        Antarctica/Davis
+     0      +05:07:48   Asia/Almaty
+     0      +05:19:24   Asia/Colombo
+     0      +05:19:32   Asia/Colombo
+     0      +05:30:00   Asia/Colombo
+                        Asia/Kolkata
+                        Asia/Thimphu
+                        Asia/Kathmandu
+                        Asia/Karachi
+                        Asia/Dhaka
+     0      +05:31:40   Asia/Novosibirsk
+     0      +05:35:00   Asia/Barnaul
+     0      +05:39:51   Asia/Tomsk
+     0      +05:41:16   Asia/Kathmandu
+     0      +05:45:00   Asia/Kathmandu
+     0      +05:48:48   Asia/Novokuznetsk
+     0      +05:50:20   Asia/Urumqi
+     0      +05:53:20   Asia/Kolkata
+                        Asia/Dhaka
+     0      +05:53:28   Asia/Kolkata
+     0      +05:58:36   Asia/Thimphu
+     0      +06:00:00   Asia/Urumqi
+                        Asia/Almaty
+                        Asia/Bishkek
+                        Asia/Omsk
+                        Asia/Dhaka
+                        Asia/Qyzylorda
+                        Asia/Thimphu
+                        Indian/Chagos
+                        Etc/GMT+6
+                        S
+                        Antarctica/Vostok
+                        Asia/Barnaul
+                        Asia/Novosibirsk
+                        Asia/Tomsk
+                        Asia/Yekaterinburg
+                        Asia/Novokuznetsk
+                        Asia/Colombo
+                        Asia/Krasnoyarsk
+                        Asia/Dushanbe
+                        Asia/Tashkent
+                        Asia/Aqtau
+                        Asia/Aqtobe
+                        Asia/Atyrau
+                        Asia/Oral
+                        Asia/Samarkand
+                        Asia/Hovd
+                        Antarctica/Mawson
+     0      +06:01:40   Asia/Dhaka
+     0      +06:06:36   Asia/Hovd
+     0      +06:11:26   Asia/Krasnoyarsk
+     0      +06:24:40   Asia/Yangon
+     0      +06:27:40   Indian/Cocos
+     0      +06:30:00   Indian/Cocos
+                        Asia/Yangon
+                        Asia/Colombo
+                        Asia/Dhaka
+                        Asia/Kolkata
+     0      +06:42:04   Asia/Bangkok
+     0      +06:46:46   Asia/Kuala_Lumpur
+     0      +06:55:25   Asia/Singapore
+                        Asia/Kuala_Lumpur
+     0      +06:57:05   Asia/Irkutsk
+     0      +07:00:00   Indian/Christmas
+                        Asia/Ho_Chi_Minh
+                        Asia/Bangkok
+                        Asia/Barnaul
+                        Asia/Krasnoyarsk
+                        Asia/Novokuznetsk
+                        Asia/Novosibirsk
+                        Asia/Tomsk
+                        Asia/Jakarta
+                        Asia/Hovd
+                        Asia/Pontianak
+                        Etc/GMT+7
+                        T
+                        Antarctica/Davis
+                        Asia/Omsk
+                        Asia/Irkutsk
+                        Asia/Choibalsan
+                        Asia/Ulaanbaatar
+                        Asia/Kuala_Lumpur
+                        Asia/Singapore
+     0      +07:02:52   Indian/Christmas
+     0      +07:06:30   Asia/Ho_Chi_Minh
+     0      +07:06:40   Asia/Ho_Chi_Minh
+     0      +07:07:12   Asia/Jakarta
+     0      +07:07:32   Asia/Ulaanbaatar
+     0      +07:17:20   Asia/Pontianak
+     0      +07:20:00   Asia/Kuala_Lumpur
+                        Asia/Singapore
+                        Asia/Jakarta
+     0      +07:21:20   Asia/Kuching
+     0      +07:30:00   Asia/Kuala_Lumpur
+                        Asia/Singapore
+                        Asia/Jakarta
+                        Asia/Pontianak
+                        Asia/Brunei
+                        Asia/Kuching
+     0      +07:33:52   Asia/Chita
+     0      +07:34:20   Asia/Macau
+     0      +07:36:42   Asia/Hong_Kong
+     0      +07:38:00   Asia/Choibalsan
+     0      +07:39:40   Asia/Brunei
+     0      +07:43:24   Australia/Perth
+     0      +07:57:36   Asia/Makassar
+     0      +08:00:00   Asia/Taipei
+                        Australia/Perth
+                        Asia/Manila
+                        Asia/Shanghai
+                        Asia/Hong_Kong
+                        Asia/Macau
+                        Asia/Irkutsk
+                        Asia/Brunei
+                        Asia/Kuching
+                        Asia/Makassar
+                        Asia/Choibalsan
+                        Asia/Ulaanbaatar
+                        Asia/Kuala_Lumpur
+                        Asia/Singapore
+                        Etc/GMT+8
+                        U
+                        Asia/Chita
+                        Asia/Krasnoyarsk
+                        Asia/Dili
+                        Asia/Khandyga
+                        Asia/Yakutsk
+                        Asia/Pontianak
+                        Asia/Ho_Chi_Minh
+                        Asia/Jakarta
+                        Asia/Ust-Nera
+                        Antarctica/Casey
+     0      +08:04:00   Asia/Manila
+     0      +08:05:43   Asia/Shanghai
+     0      +08:06:00   Asia/Taipei
+     0      +08:22:20   Asia/Dili
+     0      +08:23:00   Asia/Pyongyang
+     0      +08:27:52   Asia/Seoul
+     0      +08:30:00   Asia/Pyongyang
+                        Asia/Seoul
+     0      +08:35:28   Australia/Eucla
+     0      +08:38:58   Asia/Yakutsk
+     0      +08:43:20   Australia/Darwin
+     0      +08:45:00   Australia/Eucla
+     0      +08:47:31   Asia/Vladivostok
+     0      +08:57:56   Pacific/Palau
+     0      +09:00:00   Asia/Tokyo
+                        Pacific/Palau
+                        Asia/Seoul
+                        Asia/Chita
+                        Asia/Khandyga
+                        Asia/Yakutsk
+                        Asia/Jayapura
+                        Asia/Dili
+                        Etc/GMT+9
+                        V
+                        Asia/Pyongyang
+                        Asia/Irkutsk
+                        Asia/Choibalsan
+                        Asia/Vladivostok
+                        Asia/Ust-Nera
+                        Asia/Sakhalin
+                        Asia/Taipei
+                        Asia/Hong_Kong
+                        Asia/Jakarta
+                        Asia/Kuala_Lumpur
+                        Asia/Kuching
+                        Asia/Makassar
+                        Asia/Pontianak
+                        Asia/Singapore
+                        Asia/Yangon
+                        Pacific/Bougainville
+                        Asia/Ho_Chi_Minh
+                        Asia/Manila
+                        Pacific/Nauru
+                        Australia/Adelaide
+                        Australia/Darwin
+                        Australia/Broken_Hill
+     0      +09:02:13   Asia/Khandyga
+     0      +09:14:20   Australia/Adelaide
+     0      +09:18:59   Asia/Tokyo
+     0      +09:22:48   Asia/Jayapura
+     0      +09:25:48   Australia/Broken_Hill
+     0      +09:30:00   Australia/Adelaide
+                        Australia/Broken_Hill
+                        Australia/Darwin
+                        Asia/Jayapura
+     0      +09:30:48   Asia/Sakhalin
+     0      +09:32:54   Asia/Ust-Nera
+     0      +09:35:28   Australia/Currie
+     0      +09:39:00   Pacific/Guam
+     0      +09:39:52   Australia/Melbourne
+     0      +09:48:32   Pacific/Bougainville
+                        Pacific/Port_Moresby
+     0      +09:48:40   Pacific/Port_Moresby
+     0      +09:49:16   Australia/Hobart
+     0      +09:55:56   Australia/Lindeman
+     0      +10:00:00   Australia/Brisbane
+                        Australia/Lindeman
+                        Pacific/Port_Moresby
+                        Australia/Currie
+                        Australia/Hobart
+                        Australia/Melbourne
+                        Australia/Sydney
+                        Pacific/Chuuk
+                        Pacific/Guam
+                        Asia/Vladivostok
+                        Asia/Ust-Nera
+                        Etc/GMT+10
+                        W
+                        Antarctica/DumontDUrville
+                        Asia/Magadan
+                        Asia/Sakhalin
+                        Pacific/Bougainville
+                        Asia/Khandyga
+                        Asia/Chita
+                        Asia/Yakutsk
+                        Asia/Srednekolymsk
+                        Australia/Lord_Howe
+                        Australia/Broken_Hill
+                        Antarctica/Macquarie
+     0      +10:03:12   Asia/Magadan
+     0      +10:04:52   Australia/Sydney
+     0      +10:07:08   Pacific/Chuuk
+     0      +10:12:08   Australia/Brisbane
+     0      +10:14:52   Asia/Srednekolymsk
+     0      +10:22:16   Pacific/Bougainville
+     0      +10:30:00   Australia/Lord_Howe
+     0      +10:32:52   Pacific/Pohnpei
+     0      +10:34:36   Asia/Kamchatka
+     0      +10:36:20   Australia/Lord_Howe
+     0      +10:39:48   Pacific/Guadalcanal
+     0      +10:51:56   Pacific/Kosrae
+     0      +11:00:00   Pacific/Kosrae
+                        Pacific/Pohnpei
+                        Pacific/Efate
+                        Pacific/Guadalcanal
+                        Pacific/Noumea
+                        Asia/Magadan
+                        Asia/Srednekolymsk
+                        Asia/Sakhalin
+                        Pacific/Bougainville
+                        Pacific/Norfolk
+                        Etc/GMT+11
+                        X
+                        Antarctica/Casey
+                        Antarctica/Macquarie
+                        Asia/Ust-Nera
+                        Asia/Vladivostok
+                        Asia/Kamchatka
+                        Asia/Anadyr
+                        Asia/Khandyga
+                        Pacific/Kwajalein
+                        Pacific/Majuro
+     0      +11:05:48   Pacific/Noumea
+     0      +11:06:28   Pacific/Wake
+     0      +11:07:40   Pacific/Nauru
+     0      +11:09:20   Pacific/Kwajalein
+     0      +11:11:52   Pacific/Norfolk
+     0      +11:12:00   Pacific/Norfolk
+     0      +11:13:16   Pacific/Efate
+     0      +11:24:48   Pacific/Majuro
+     0      +11:30:00   Pacific/Norfolk
+                        Pacific/Nauru
+                        Pacific/Auckland
+     0      +11:32:04   Pacific/Tarawa
+     0      +11:39:04   Pacific/Auckland
+     0      +11:49:56   Asia/Anadyr
+     0      +11:55:44   Pacific/Fiji
+     0      +11:56:52   Pacific/Funafuti
+     0      +12:00:00   Pacific/Funafuti
+                        Pacific/Tarawa
+                        Pacific/Wake
+                        Pacific/Wallis
+                        Pacific/Fiji
+                        Asia/Anadyr
+                        Asia/Kamchatka
+                        Pacific/Auckland
+                        Pacific/Majuro
+                        Pacific/Nauru
+                        Pacific/Kwajalein
+                        Etc/GMT+12
+                        Y
+                        Asia/Magadan
+                        Asia/Srednekolymsk
+                        Asia/Ust-Nera
+                        Pacific/Kosrae
+     0      +12:13:21   America/Adak
+     0      +12:13:48   Pacific/Chatham
+     0      +12:15:00   Pacific/Chatham
+     0      +12:15:20   Pacific/Wallis
+     0      +12:19:20   Pacific/Tongatapu
+     0      +12:20:00   Pacific/Tongatapu
+     0      +12:33:04   Pacific/Apia
+     0      +12:37:12   Pacific/Pago_Pago
+     0      +12:45:00   Pacific/Chatham
+     0      +12:58:21   America/Nome
+     0      +13:00:00   Pacific/Tongatapu
+                        Pacific/Enderbury
+                        Pacific/Fakaofo
+                        Pacific/Apia
+                        Asia/Anadyr
+     0      +14:00:00   Pacific/Kiritimati
+     0      +14:00:24   America/Anchorage
+     0      +14:41:05   America/Yakutat
+     0      +14:58:47   America/Sitka
+     0      +15:02:19   America/Juneau
+     0      +15:13:42   America/Metlakatla
+
+     1      -10:00:00   Pacific/Apia
+                        America/Adak
+                        America/Nome
+     1      -09:30:00   Pacific/Rarotonga
+                        Pacific/Honolulu
+     1      -09:00:00   America/Adak
+                        America/Anchorage
+     1      -08:00:00   America/Yakutat
+                        America/Juneau
+                        America/Anchorage
+                        America/Nome
+                        America/Sitka
+                        America/Metlakatla
+                        America/Dawson
+                        America/Whitehorse
+     1      -07:00:00   America/Los_Angeles
+                        America/Vancouver
+                        America/Tijuana
+                        America/Dawson
+                        America/Whitehorse
+                        America/Fort_Nelson
+                        America/Juneau
+                        America/Metlakatla
+                        America/Sitka
+                        America/Dawson_Creek
+                        America/Boise
+     1      -06:00:00   America/Denver
+                        America/Edmonton
+                        America/Boise
+                        America/Cambridge_Bay
+                        America/Yellowknife
+                        America/Inuvik
+                        America/Mazatlan
+                        America/Chihuahua
+                        America/Ojinaga
+                        America/North_Dakota/Beulah
+                        America/Bahia_Banderas
+                        America/North_Dakota/New_Salem
+                        America/Hermosillo
+                        America/North_Dakota/Center
+                        Pacific/Easter
+                        America/Phoenix
+                        America/Swift_Current
+                        America/Regina
+     1      -05:30:00   America/Belize
+     1      -05:00:00   America/Winnipeg
+                        America/Chicago
+                        America/Indiana/Knox
+                        America/Indiana/Tell_City
+                        America/Menominee
+                        America/Rainy_River
+                        America/Mexico_City
+                        America/Rankin_Inlet
+                        America/Resolute
+                        Pacific/Easter
+                        America/Matamoros
+                        America/Monterrey
+                        America/North_Dakota/Center
+                        America/Merida
+                        America/North_Dakota/New_Salem
+                        America/Bahia_Banderas
+                        America/North_Dakota/Beulah
+                        America/Cancun
+                        America/Indiana/Petersburg
+                        America/Indiana/Vincennes
+                        America/Indiana/Winamac
+                        America/Guatemala
+                        America/Managua
+                        America/Tegucigalpa
+                        America/Kentucky/Monticello
+                        America/Cambridge_Bay
+                        America/Iqaluit
+                        America/Pangnirtung
+                        America/Chihuahua
+                        America/Ojinaga
+                        Pacific/Galapagos
+                        America/Costa_Rica
+                        America/El_Salvador
+                        America/Belize
+                        America/Indiana/Marengo
+                        America/Kentucky/Louisville
+                        America/Yellowknife
+                        America/Indiana/Indianapolis
+                        America/Atikokan
+                        America/Indiana/Vevay
+     1      -04:30:00   America/Santo_Domingo
+     1      -04:00:00   America/New_York
+                        America/Nipigon
+                        America/Toronto
+                        America/Havana
+                        America/Detroit
+                        America/Iqaluit
+                        America/Thunder_Bay
+                        America/Nassau
+                        America/Kentucky/Louisville
+                        America/Indiana/Indianapolis
+                        America/Indiana/Marengo
+                        America/Indiana/Vevay
+                        America/Indiana/Vincennes
+                        America/Indiana/Winamac
+                        America/Port-au-Prince
+                        America/Pangnirtung
+                        America/Kentucky/Monticello
+                        America/Indiana/Petersburg
+                        America/Grand_Turk
+                        America/Cancun
+                        America/Eirunepe
+                        America/Lima
+                        America/Bogota
+                        America/Guayaquil
+                        America/Rio_Branco
+                        America/Jamaica
+                        America/Indiana/Tell_City
+                        America/Santo_Domingo
+                        America/Rankin_Inlet
+                        America/Resolute
+                        America/Punta_Arenas
+                        America/Santiago
+     1      -03:32:36   America/La_Paz
+     1      -03:00:00   America/Halifax
+                        America/Glace_Bay
+                        America/Moncton
+                        America/Campo_Grande
+                        America/Cuiaba
+                        America/Santiago
+                        America/Goose_Bay
+                        Atlantic/Bermuda
+                        America/Asuncion
+                        America/Thule
+                        America/Punta_Arenas
+                        Atlantic/Stanley
+                        America/Argentina/San_Luis
+                        America/Argentina/Buenos_Aires
+                        America/Argentina/Catamarca
+                        America/Argentina/Cordoba
+                        America/Argentina/Jujuy
+                        America/Argentina/La_Rioja
+                        America/Argentina/Mendoza
+                        America/Argentina/Rio_Gallegos
+                        America/Argentina/Salta
+                        America/Argentina/San_Juan
+                        America/Argentina/Tucuman
+                        America/Argentina/Ushuaia
+                        America/Boa_Vista
+                        America/Manaus
+                        America/Pangnirtung
+                        America/Porto_Velho
+                        America/Santarem
+                        America/Barbados
+                        America/Martinique
+                        America/Iqaluit
+                        America/Blanc-Sablon
+                        America/Puerto_Rico
+                        America/Montevideo
+                        Antarctica/Palmer
+     1      -02:30:52   America/St_Johns
+                        America/Goose_Bay
+     1      -02:30:00   America/St_Johns
+                        America/Montevideo
+                        America/Goose_Bay
+     1      -02:00:00   America/Sao_Paulo
+                        America/Godthab
+                        America/Miquelon
+                        America/Montevideo
+                        America/Araguaina
+                        America/Bahia
+                        America/Argentina/Buenos_Aires
+                        America/Argentina/Cordoba
+                        America/Argentina/Tucuman
+                        America/Argentina/Catamarca
+                        America/Argentina/Jujuy
+                        America/Argentina/La_Rioja
+                        America/Argentina/Mendoza
+                        America/Argentina/Rio_Gallegos
+                        America/Argentina/Salta
+                        America/Argentina/San_Juan
+                        America/Argentina/San_Luis
+                        America/Argentina/Ushuaia
+                        America/Fortaleza
+                        America/Maceio
+                        America/Recife
+                        America/Danmarkshavn
+                        America/Belem
+                        America/Goose_Bay
+                        Atlantic/Stanley
+                        America/Pangnirtung
+                        Antarctica/Palmer
+     1      -01:30:00   America/St_Johns
+     1      -01:00:00   America/Noronha
+                        America/Scoresbysund
+                        Atlantic/Azores
+                        Atlantic/Cape_Verde
+     1      +00:00:00   Atlantic/Azores
+                        America/Scoresbysund
+                        Atlantic/Reykjavik
+                        Atlantic/Madeira
+     1      +00:20:00   Africa/Accra
+     1      +00:34:39   Europe/Dublin
+     1      +01:00:00   WET
+                        Europe/Lisbon
+                        Europe/London
+                        Europe/Dublin
+                        Africa/Casablanca
+                        Atlantic/Madeira
+                        Africa/El_Aaiun
+                        Atlantic/Canary
+                        Atlantic/Faroe
+                        Africa/Algiers
+                        Africa/Ceuta
+                        Europe/Gibraltar
+                        Europe/Monaco
+                        Europe/Paris
+                        Europe/Brussels
+                        Europe/Luxembourg
+                        Europe/Madrid
+     1      +01:19:32   Europe/Amsterdam
+     1      +01:20:00   Europe/Amsterdam
+     1      +02:00:00   CET
+                        Europe/Berlin
+                        Europe/Brussels
+                        Europe/Budapest
+                        Europe/Copenhagen
+                        Europe/Luxembourg
+                        Europe/Malta
+                        Europe/Oslo
+                        Europe/Prague
+                        Europe/Rome
+                        Europe/Stockholm
+                        Europe/Vienna
+                        Europe/Warsaw
+                        MET
+                        Europe/Madrid
+                        Europe/Amsterdam
+                        Europe/Paris
+                        Europe/Tirane
+                        Europe/Belgrade
+                        Europe/Gibraltar
+                        Europe/Monaco
+                        Europe/Zurich
+                        Europe/Andorra
+                        Africa/Ceuta
+                        Africa/Windhoek
+                        Antarctica/Troll
+                        Africa/Tripoli
+                        Africa/Tunis
+                        Europe/Vilnius
+                        Europe/Lisbon
+                        Africa/Ndjamena
+                        Africa/Algiers
+                        Europe/London
+                        Europe/Kaliningrad
+                        Europe/Tallinn
+                        Europe/Uzhgorod
+                        Europe/Chisinau
+                        Europe/Minsk
+                        Europe/Riga
+                        Europe/Simferopol
+                        Europe/Sofia
+                        Europe/Athens
+                        Europe/Kiev
+                        Europe/Zaporozhye
+     1      +02:36:34   Europe/Riga
+     1      +03:00:00   EET
+                        Asia/Beirut
+                        Asia/Damascus
+                        Europe/Athens
+                        Europe/Bucharest
+                        Europe/Chisinau
+                        Asia/Gaza
+                        Asia/Hebron
+                        Asia/Jerusalem
+                        Europe/Helsinki
+                        Asia/Amman
+                        Asia/Nicosia
+                        Europe/Sofia
+                        Europe/Riga
+                        Europe/Tallinn
+                        Europe/Vilnius
+                        Europe/Kiev
+                        Europe/Zaporozhye
+                        Europe/Uzhgorod
+                        Europe/Istanbul
+                        Asia/Famagusta
+                        Africa/Cairo
+                        Europe/Simferopol
+                        Europe/Kaliningrad
+                        Europe/Minsk
+                        Europe/Moscow
+                        Europe/Samara
+                        Europe/Ulyanovsk
+                        Africa/Khartoum
+                        Europe/Berlin
+                        Africa/Johannesburg
+                        Africa/Windhoek
+                        Europe/Warsaw
+     1      +03:31:19   Europe/Moscow
+     1      +04:00:00   Europe/Moscow
+                        Europe/Saratov
+                        Europe/Volgograd
+                        Europe/Astrakhan
+                        Europe/Kirov
+                        Europe/Samara
+                        Europe/Ulyanovsk
+                        Asia/Baghdad
+                        Asia/Tbilisi
+                        Europe/Simferopol
+                        Asia/Yerevan
+                        Asia/Baku
+                        Europe/Chisinau
+                        Europe/Kiev
+                        Europe/Zaporozhye
+                        Europe/Minsk
+                        Europe/Uzhgorod
+                        Europe/Kaliningrad
+                        Europe/Riga
+                        Europe/Tallinn
+                        Europe/Vilnius
+                        Europe/Istanbul
+                        Asia/Jerusalem
+     1      +04:30:00   Asia/Tehran
+     1      +04:31:19   Europe/Moscow
+     1      +05:00:00   Asia/Baku
+                        Asia/Yerevan
+                        Europe/Samara
+                        Indian/Mauritius
+                        Asia/Tbilisi
+                        Asia/Oral
+                        Asia/Aqtau
+                        Asia/Atyrau
+                        Asia/Aqtobe
+                        Asia/Ashgabat
+                        Asia/Qyzylorda
+                        Asia/Yekaterinburg
+                        Europe/Astrakhan
+                        Europe/Kirov
+                        Europe/Ulyanovsk
+                        Europe/Saratov
+                        Europe/Volgograd
+                        Asia/Tehran
+                        Europe/Moscow
+     1      +06:00:00   Asia/Yekaterinburg
+                        Asia/Karachi
+                        Asia/Bishkek
+                        Asia/Aqtobe
+                        Asia/Qyzylorda
+                        Asia/Atyrau
+                        Asia/Aqtau
+                        Asia/Samarkand
+                        Asia/Almaty
+                        Asia/Dushanbe
+                        Asia/Omsk
+                        Asia/Tashkent
+                        Asia/Ashgabat
+                        Asia/Oral
+                        Asia/Colombo
+     1      +06:30:00   Asia/Colombo
+                        Asia/Karachi
+                        Asia/Kolkata
+     1      +07:00:00   Asia/Omsk
+                        Asia/Barnaul
+                        Asia/Novokuznetsk
+                        Asia/Novosibirsk
+                        Asia/Tomsk
+                        Asia/Dhaka
+                        Asia/Almaty
+                        Asia/Krasnoyarsk
+                        Asia/Bishkek
+                        Asia/Dushanbe
+                        Asia/Tashkent
+     1      +07:20:00   Asia/Kuala_Lumpur
+                        Asia/Singapore
+     1      +08:00:00   Asia/Hovd
+                        Asia/Krasnoyarsk
+                        Asia/Novokuznetsk
+                        Asia/Tomsk
+                        Asia/Barnaul
+                        Asia/Novosibirsk
+                        Asia/Irkutsk
+     1      +08:20:00   Asia/Kuching
+     1      +09:00:00   Asia/Ulaanbaatar
+                        Asia/Choibalsan
+                        Asia/Irkutsk
+                        Australia/Perth
+                        Asia/Shanghai
+                        Asia/Chita
+                        Asia/Khandyga
+                        Asia/Yakutsk
+                        Asia/Macau
+                        Asia/Hong_Kong
+                        Asia/Taipei
+                        Asia/Manila
+     1      +09:30:00   Asia/Seoul
+     1      +09:45:00   Australia/Eucla
+     1      +10:00:00   Asia/Chita
+                        Asia/Yakutsk
+                        Asia/Choibalsan
+                        Asia/Khandyga
+                        Asia/Vladivostok
+                        Asia/Seoul
+                        Asia/Tokyo
+     1      +10:30:00   Australia/Adelaide
+                        Australia/Broken_Hill
+                        Australia/Darwin
+     1      +11:00:00   Australia/Currie
+                        Australia/Hobart
+                        Australia/Melbourne
+                        Australia/Sydney
+                        Australia/Lord_Howe
+                        Asia/Vladivostok
+                        Asia/Sakhalin
+                        Asia/Khandyga
+                        Australia/Lindeman
+                        Australia/Brisbane
+                        Asia/Magadan
+                        Asia/Srednekolymsk
+                        Asia/Ust-Nera
+                        Antarctica/Macquarie
+     1      +11:30:00   Australia/Lord_Howe
+     1      +12:00:00   Asia/Magadan
+                        Asia/Srednekolymsk
+                        Asia/Ust-Nera
+                        Asia/Anadyr
+                        Asia/Kamchatka
+                        Pacific/Noumea
+                        Asia/Sakhalin
+                        Pacific/Efate
+                        Pacific/Auckland
+     1      +12:30:00   Pacific/Norfolk
+                        Pacific/Auckland
+     1      +13:00:00   Pacific/Auckland
+                        Pacific/Fiji
+                        Asia/Kamchatka
+                        Asia/Anadyr
+     1      +13:45:00   Pacific/Chatham
+     1      +14:00:00   Pacific/Tongatapu
+                        Pacific/Apia
+                        Asia/Anadyr
+
+
+In the time zone definitions, abbreviations are used to specify the
+current time (e.g. EST in the America/New_York time zone). In some
+cases, the abbreviation appears in only a single time zone, so for
+these, there is no ambiguity.
+
+More often though, abbreviations are used in multiple time zones. When
+a date is parsed that contains one of these abbreviations, it will try
+to interpret the date using each of the time zones in the order listed
+below until one is found which yields a valid date.
+
+The abbreviations LMT and zzz which occur in the zoneinfo databases
+are ignored (and when parsing a date including them, the local time
+zone will be used).
+
+The default order can be overridden using the C method of the
+L module.
+
+The order given here is open to discussion (and possible change) based
+on changes to the timezone database.  I will always place emphasis on a
+time zone that used the abbreviation more recently than another time zone.
+Within those constraints, I've tried to put the more commonly used time zone
+at a higher priority. Since I'm not always able to decide which is the
+most commonly used, I'm willing to entertain arguments for altering the order.
+
+     ALIAS            TIME ZONE           
+     ---------------  --------------------
+     A                A
+     ACDT             Australia/Adelaide
+                      Australia/Broken_Hill
+                      Australia/Darwin
+     ACST             Australia/Adelaide
+                      Australia/Darwin
+                      Australia/Broken_Hill
+     ADDT             America/Goose_Bay
+                      America/Pangnirtung
+     ADT              America/Halifax
+                      America/Glace_Bay
+                      America/Moncton
+                      America/Goose_Bay
+                      Atlantic/Bermuda
+                      America/Thule
+                      America/Pangnirtung
+                      America/Barbados
+                      America/Martinique
+                      America/Blanc-Sablon
+     AEDT             Australia/Melbourne
+                      Australia/Currie
+                      Australia/Hobart
+                      Australia/Sydney
+                      Australia/Lindeman
+                      Australia/Brisbane
+                      Antarctica/Macquarie
+     AEST             Australia/Melbourne
+                      Australia/Brisbane
+                      Australia/Lindeman
+                      Australia/Currie
+                      Australia/Hobart
+                      Australia/Sydney
+                      Australia/Lord_Howe
+                      Australia/Broken_Hill
+                      Antarctica/Macquarie
+     AHDT             America/Anchorage
+     AHST             America/Anchorage
+                      America/Adak
+     AKDT             America/Anchorage
+                      America/Juneau
+                      America/Nome
+                      America/Sitka
+                      America/Yakutat
+                      America/Metlakatla
+     AKST             America/Anchorage
+                      America/Juneau
+                      America/Nome
+                      America/Sitka
+                      America/Yakutat
+                      America/Metlakatla
+     AMT              Europe/Amsterdam
+                      America/Asuncion
+                      Europe/Athens
+     APT              America/Halifax
+                      America/Anchorage
+                      America/Blanc-Sablon
+                      America/Glace_Bay
+                      America/Moncton
+                      America/Pangnirtung
+                      America/Puerto_Rico
+     AST              America/Blanc-Sablon
+                      America/Puerto_Rico
+                      America/Glace_Bay
+                      America/Halifax
+                      America/Moncton
+                      America/Martinique
+                      America/Port_of_Spain
+                      America/Thule
+                      Atlantic/Bermuda
+                      America/Barbados
+                      America/Curacao
+                      America/Goose_Bay
+                      America/Santo_Domingo
+                      America/Grand_Turk
+                      America/Pangnirtung
+                      America/Miquelon
+                      America/Anchorage
+     AWDT             Australia/Perth
+     AWST             Australia/Perth
+     AWT              America/Halifax
+                      America/Anchorage
+                      America/Blanc-Sablon
+                      America/Glace_Bay
+                      America/Moncton
+                      America/Pangnirtung
+                      America/Puerto_Rico
+     B                B
+     BDST             Europe/Gibraltar
+                      Europe/London
+     BDT              America/Adak
+                      America/Nome
+     BMT              America/Barbados
+                      Europe/Bucharest
+                      Europe/Chisinau
+                      Asia/Jakarta
+                      Asia/Bangkok
+                      Asia/Baghdad
+                      America/Bogota
+                      Europe/Zurich
+                      Europe/Brussels
+     BOST             America/La_Paz
+     BST              Europe/London
+                      America/Adak
+                      America/Nome
+                      Europe/Gibraltar
+                      Europe/Dublin
+     C                C
+     CAST             Africa/Khartoum
+     CAT              Africa/Maputo
+                      Africa/Khartoum
+                      Africa/Windhoek
+     CDDT             America/Rankin_Inlet
+                      America/Resolute
+     CDT              America/Chicago
+                      America/Winnipeg
+                      America/Indiana/Knox
+                      America/Indiana/Tell_City
+                      America/Menominee
+                      America/Rainy_River
+                      America/Havana
+                      America/Mexico_City
+                      America/Rankin_Inlet
+                      America/Resolute
+                      America/Matamoros
+                      America/Monterrey
+                      America/North_Dakota/Center
+                      America/Merida
+                      America/North_Dakota/New_Salem
+                      America/Bahia_Banderas
+                      America/North_Dakota/Beulah
+                      America/Cancun
+                      America/Indiana/Petersburg
+                      America/Indiana/Vincennes
+                      America/Indiana/Winamac
+                      America/Guatemala
+                      America/Managua
+                      America/Tegucigalpa
+                      America/Kentucky/Monticello
+                      America/Cambridge_Bay
+                      America/Iqaluit
+                      America/Pangnirtung
+                      America/Chihuahua
+                      America/Ojinaga
+                      America/Costa_Rica
+                      Asia/Shanghai
+                      America/El_Salvador
+                      America/Belize
+                      Asia/Macau
+                      Asia/Taipei
+                      America/Indiana/Marengo
+                      America/Kentucky/Louisville
+                      America/Indiana/Indianapolis
+                      America/Atikokan
+                      America/Indiana/Vevay
+     CEMT             Europe/Berlin
+     CEST             CET
+                      Europe/Berlin
+                      Europe/Brussels
+                      Europe/Budapest
+                      Europe/Copenhagen
+                      Europe/Luxembourg
+                      Europe/Malta
+                      Europe/Oslo
+                      Europe/Prague
+                      Europe/Rome
+                      Europe/Stockholm
+                      Europe/Vienna
+                      Europe/Warsaw
+                      Europe/Amsterdam
+                      Europe/Paris
+                      Europe/Tirane
+                      Europe/Belgrade
+                      Europe/Zurich
+                      Europe/Madrid
+                      Europe/Monaco
+                      Europe/Gibraltar
+                      Europe/Andorra
+                      Africa/Ceuta
+                      Africa/Tripoli
+                      Africa/Tunis
+                      Europe/Vilnius
+                      Europe/Lisbon
+                      Africa/Algiers
+                      Europe/Kaliningrad
+                      Europe/Tallinn
+                      Europe/Uzhgorod
+                      Europe/Chisinau
+                      Europe/Minsk
+                      Europe/Riga
+                      Europe/Simferopol
+                      Europe/Sofia
+                      Europe/Athens
+                      Europe/Kiev
+                      Europe/Zaporozhye
+     CET              CET
+                      Europe/Belgrade
+                      Europe/Budapest
+                      Europe/Prague
+                      Europe/Berlin
+                      Europe/Copenhagen
+                      Europe/Malta
+                      Europe/Rome
+                      Europe/Vienna
+                      Europe/Oslo
+                      Europe/Zurich
+                      Europe/Stockholm
+                      Europe/Luxembourg
+                      Africa/Tunis
+                      Europe/Tirane
+                      Europe/Brussels
+                      Europe/Warsaw
+                      Europe/Madrid
+                      Africa/Algiers
+                      Europe/Amsterdam
+                      Europe/Paris
+                      Europe/Monaco
+                      Europe/Andorra
+                      Europe/Gibraltar
+                      Africa/Ceuta
+                      Africa/Tripoli
+                      Europe/Vilnius
+                      Europe/Lisbon
+                      Europe/Uzhgorod
+                      Africa/Casablanca
+                      Europe/Kaliningrad
+                      Europe/Sofia
+                      Europe/Tallinn
+                      Europe/Athens
+                      Europe/Chisinau
+                      Europe/Minsk
+                      Europe/Riga
+                      Europe/Simferopol
+                      Europe/Kiev
+                      Europe/Zaporozhye
+     CMT              America/La_Paz
+                      America/Argentina/Buenos_Aires
+                      America/Argentina/Catamarca
+                      America/Argentina/Cordoba
+                      America/Argentina/Jujuy
+                      America/Argentina/La_Rioja
+                      America/Argentina/Mendoza
+                      America/Argentina/Rio_Gallegos
+                      America/Argentina/Salta
+                      America/Argentina/San_Juan
+                      America/Argentina/San_Luis
+                      America/Argentina/Tucuman
+                      America/Argentina/Ushuaia
+                      Europe/Chisinau
+                      America/Caracas
+                      America/Panama
+                      Europe/Copenhagen
+     CPT              America/Chicago
+                      America/Atikokan
+                      America/Indiana/Indianapolis
+                      America/Indiana/Knox
+                      America/Indiana/Marengo
+                      America/Indiana/Petersburg
+                      America/Indiana/Tell_City
+                      America/Indiana/Vevay
+                      America/Indiana/Vincennes
+                      America/Indiana/Winamac
+                      America/Kentucky/Louisville
+                      America/Kentucky/Monticello
+                      America/Menominee
+                      America/Rainy_River
+                      America/Winnipeg
+     CST              America/Chicago
+                      America/Indiana/Knox
+                      America/Indiana/Tell_City
+                      America/Menominee
+                      America/Winnipeg
+                      America/Rainy_River
+                      Asia/Taipei
+                      Asia/Shanghai
+                      Asia/Macau
+                      America/Belize
+                      America/Guatemala
+                      America/Costa_Rica
+                      America/El_Salvador
+                      America/Tegucigalpa
+                      America/Matamoros
+                      America/Merida
+                      America/Monterrey
+                      America/Havana
+                      America/Bahia_Banderas
+                      America/Mexico_City
+                      America/Managua
+                      America/Resolute
+                      America/Rankin_Inlet
+                      America/Regina
+                      America/Swift_Current
+                      America/North_Dakota/Center
+                      America/North_Dakota/New_Salem
+                      America/North_Dakota/Beulah
+                      America/Cancun
+                      America/Indiana/Petersburg
+                      America/Indiana/Vincennes
+                      America/Indiana/Winamac
+                      America/Cambridge_Bay
+                      America/Kentucky/Monticello
+                      America/Iqaluit
+                      America/Pangnirtung
+                      America/Chihuahua
+                      America/Ojinaga
+                      America/Indiana/Marengo
+                      America/Kentucky/Louisville
+                      America/Indiana/Indianapolis
+                      America/Indiana/Vevay
+                      America/Hermosillo
+                      America/Mazatlan
+                      America/Atikokan
+                      America/Detroit
+                      America/Thunder_Bay
+     CWT              America/Chicago
+                      America/Atikokan
+                      America/Indiana/Indianapolis
+                      America/Indiana/Knox
+                      America/Indiana/Marengo
+                      America/Indiana/Petersburg
+                      America/Indiana/Tell_City
+                      America/Indiana/Vevay
+                      America/Indiana/Vincennes
+                      America/Indiana/Winamac
+                      America/Kentucky/Louisville
+                      America/Kentucky/Monticello
+                      America/Menominee
+                      America/Rainy_River
+                      America/Winnipeg
+                      America/Mexico_City
+     ChST             Pacific/Guam
+     D                D
+     DMT              Europe/Dublin
+     E                E
+     EAT              Africa/Nairobi
+                      Africa/Khartoum
+     EDDT             America/Iqaluit
+     EDT              America/New_York
+                      America/Nipigon
+                      America/Toronto
+                      America/Detroit
+                      America/Nassau
+                      America/Kentucky/Louisville
+                      America/Indiana/Indianapolis
+                      America/Indiana/Marengo
+                      America/Indiana/Vevay
+                      America/Indiana/Vincennes
+                      America/Indiana/Winamac
+                      America/Thunder_Bay
+                      America/Iqaluit
+                      America/Port-au-Prince
+                      America/Pangnirtung
+                      America/Kentucky/Monticello
+                      America/Indiana/Petersburg
+                      America/Grand_Turk
+                      America/Cancun
+                      America/Jamaica
+                      America/Indiana/Tell_City
+                      America/Santo_Domingo
+     EEST             EET
+                      Asia/Beirut
+                      Asia/Damascus
+                      Europe/Athens
+                      Europe/Bucharest
+                      Europe/Chisinau
+                      Asia/Gaza
+                      Asia/Hebron
+                      Europe/Helsinki
+                      Asia/Amman
+                      Asia/Nicosia
+                      Europe/Sofia
+                      Europe/Riga
+                      Europe/Tallinn
+                      Europe/Vilnius
+                      Europe/Kiev
+                      Europe/Zaporozhye
+                      Europe/Uzhgorod
+                      Europe/Istanbul
+                      Asia/Famagusta
+                      Africa/Cairo
+                      Europe/Simferopol
+                      Europe/Kaliningrad
+                      Europe/Minsk
+                      Europe/Moscow
+                      Europe/Warsaw
+     EET              EET
+                      Asia/Beirut
+                      Europe/Sofia
+                      Asia/Gaza
+                      Asia/Hebron
+                      Africa/Cairo
+                      Europe/Athens
+                      Asia/Damascus
+                      Europe/Vilnius
+                      Europe/Helsinki
+                      Europe/Tallinn
+                      Asia/Nicosia
+                      Europe/Kiev
+                      Europe/Zaporozhye
+                      Europe/Riga
+                      Asia/Amman
+                      Europe/Bucharest
+                      Europe/Chisinau
+                      Africa/Tripoli
+                      Europe/Kaliningrad
+                      Europe/Uzhgorod
+                      Europe/Istanbul
+                      Asia/Famagusta
+                      Europe/Simferopol
+                      Europe/Minsk
+                      Europe/Moscow
+                      Europe/Warsaw
+     EMT              Pacific/Easter
+     EPT              America/New_York
+                      America/Detroit
+                      America/Iqaluit
+                      America/Nipigon
+                      America/Thunder_Bay
+                      America/Toronto
+     EST              America/New_York
+                      America/Nipigon
+                      America/Toronto
+                      America/Panama
+                      America/Thunder_Bay
+                      America/Jamaica
+                      America/Nassau
+                      America/Detroit
+                      America/Port-au-Prince
+                      America/Atikokan
+                      America/Iqaluit
+                      America/Indiana/Vevay
+                      America/Indiana/Indianapolis
+                      America/Indiana/Marengo
+                      America/Indiana/Winamac
+                      America/Kentucky/Louisville
+                      America/Indiana/Vincennes
+                      America/Indiana/Petersburg
+                      America/Cancun
+                      America/Pangnirtung
+                      America/Kentucky/Monticello
+                      America/Grand_Turk
+                      America/Resolute
+                      America/Indiana/Knox
+                      America/Indiana/Tell_City
+                      America/Rankin_Inlet
+                      America/Santo_Domingo
+                      America/Cambridge_Bay
+                      America/Managua
+                      America/Merida
+                      America/Menominee
+                      America/Chicago
+                      America/Moncton
+     EWT              America/New_York
+                      America/Detroit
+                      America/Iqaluit
+                      America/Nipigon
+                      America/Thunder_Bay
+                      America/Toronto
+     F                F
+     FFMT             America/Martinique
+     FMT              Atlantic/Madeira
+     G                G
+     GMT              Etc/GMT
+                      Europe/London
+                      Africa/Abidjan
+                      Europe/Dublin
+                      Africa/Accra
+                      Atlantic/Reykjavik
+                      Africa/Monrovia
+                      Africa/Bissau
+                      America/Danmarkshavn
+                      Europe/Gibraltar
+     GMT+1            Etc/GMT+1
+     GMT+10           Etc/GMT+10
+     GMT+11           Etc/GMT+11
+     GMT+12           Etc/GMT+12
+     GMT+2            Etc/GMT+2
+     GMT+3            Etc/GMT+3
+     GMT+4            Etc/GMT+4
+     GMT+5            Etc/GMT+5
+     GMT+6            Etc/GMT+6
+     GMT+7            Etc/GMT+7
+     GMT+8            Etc/GMT+8
+     GMT+9            Etc/GMT+9
+     GMT-1            Etc/GMT-1
+     GMT-10           Etc/GMT-10
+     GMT-11           Etc/GMT-11
+     GMT-12           Etc/GMT-12
+     GMT-13           Etc/GMT-13
+     GMT-14           Etc/GMT-14
+     GMT-2            Etc/GMT-2
+     GMT-3            Etc/GMT-3
+     GMT-4            Etc/GMT-4
+     GMT-5            Etc/GMT-5
+     GMT-6            Etc/GMT-6
+     GMT-7            Etc/GMT-7
+     GMT-8            Etc/GMT-8
+     GMT-9            Etc/GMT-9
+     GST              Pacific/Guam
+     H                H
+     HDT              America/Adak
+                      Pacific/Honolulu
+     HKST             Asia/Hong_Kong
+     HKT              Asia/Hong_Kong
+     HMT              Asia/Kolkata
+                      Asia/Dhaka
+                      America/Havana
+                      Europe/Helsinki
+                      Atlantic/Azores
+     HST              Pacific/Honolulu
+                      America/Adak
+     I                I
+     IDDT             Asia/Jerusalem
+     IDT              Asia/Jerusalem
+                      Asia/Gaza
+                      Asia/Hebron
+     IMT              Asia/Irkutsk
+                      Europe/Istanbul
+                      Europe/Sofia
+     IST              Europe/Dublin
+                      Asia/Jerusalem
+                      Asia/Kolkata
+                      Asia/Gaza
+                      Asia/Hebron
+     JDT              Asia/Tokyo
+     JMT              Asia/Jerusalem
+     JST              Asia/Tokyo
+                      Asia/Pyongyang
+                      Asia/Seoul
+                      Asia/Taipei
+                      Asia/Hong_Kong
+     K                K
+     KDT              Asia/Seoul
+     KMT              Europe/Kiev
+                      Europe/Vilnius
+                      America/Grand_Turk
+                      America/Jamaica
+     KST              Asia/Seoul
+                      Asia/Pyongyang
+     L                L
+     LST              Europe/Riga
+     M                M
+     MDDT             America/Cambridge_Bay
+                      America/Yellowknife
+     MDST             Europe/Moscow
+     MDT              America/Denver
+                      America/Edmonton
+                      America/Boise
+                      America/Cambridge_Bay
+                      America/Inuvik
+                      America/Yellowknife
+                      America/Mazatlan
+                      America/Chihuahua
+                      America/Ojinaga
+                      America/North_Dakota/Beulah
+                      America/Bahia_Banderas
+                      America/North_Dakota/New_Salem
+                      America/Hermosillo
+                      America/North_Dakota/Center
+                      America/Phoenix
+                      America/Swift_Current
+                      America/Regina
+     MEST             MET
+     MET              MET
+     MMT              Africa/Monrovia
+                      Indian/Maldives
+                      America/Managua
+                      Asia/Makassar
+                      Europe/Minsk
+                      America/Montevideo
+                      Europe/Moscow
+                      Asia/Colombo
+     MPT              America/Denver
+                      America/Boise
+                      America/Cambridge_Bay
+                      America/Edmonton
+                      America/North_Dakota/Beulah
+                      America/North_Dakota/Center
+                      America/North_Dakota/New_Salem
+                      America/Regina
+                      America/Swift_Current
+                      America/Yellowknife
+     MSD              Europe/Moscow
+                      Europe/Simferopol
+                      Europe/Chisinau
+                      Europe/Kiev
+                      Europe/Zaporozhye
+                      Europe/Minsk
+                      Europe/Uzhgorod
+                      Europe/Kaliningrad
+                      Europe/Riga
+                      Europe/Tallinn
+                      Europe/Vilnius
+     MSK              Europe/Moscow
+                      Europe/Simferopol
+                      Europe/Minsk
+                      Europe/Zaporozhye
+                      Europe/Kiev
+                      Europe/Chisinau
+                      Europe/Uzhgorod
+                      Europe/Riga
+                      Europe/Tallinn
+                      Europe/Vilnius
+                      Europe/Kaliningrad
+     MST              America/Denver
+                      America/Phoenix
+                      America/Creston
+                      America/Edmonton
+                      America/Cambridge_Bay
+                      America/Chihuahua
+                      America/Hermosillo
+                      America/Mazatlan
+                      America/Ojinaga
+                      America/Boise
+                      America/Yellowknife
+                      America/Dawson_Creek
+                      America/Inuvik
+                      America/Fort_Nelson
+                      America/North_Dakota/Beulah
+                      America/Bahia_Banderas
+                      America/North_Dakota/New_Salem
+                      America/North_Dakota/Center
+                      America/Swift_Current
+                      America/Regina
+                      America/Mexico_City
+                      America/Tijuana
+                      Europe/Moscow
+     MWT              America/Denver
+                      America/Boise
+                      America/Cambridge_Bay
+                      America/Edmonton
+                      America/North_Dakota/Beulah
+                      America/North_Dakota/Center
+                      America/North_Dakota/New_Salem
+                      America/Regina
+                      America/Swift_Current
+                      America/Yellowknife
+                      America/Phoenix
+     N                N
+     NDDT             America/St_Johns
+     NDT              America/St_Johns
+                      America/Goose_Bay
+     NPT              America/Adak
+                      America/Goose_Bay
+                      America/Nome
+                      America/St_Johns
+     NST              America/St_Johns
+                      America/Adak
+                      America/Nome
+                      America/Goose_Bay
+                      Europe/Amsterdam
+     NWT              America/St_Johns
+                      America/Adak
+                      America/Goose_Bay
+                      America/Nome
+     NZDT             Pacific/Auckland
+     NZMT             Pacific/Auckland
+     NZST             Pacific/Auckland
+     O                O
+     P                P
+     PDDT             America/Inuvik
+     PDT              America/Los_Angeles
+                      America/Vancouver
+                      America/Tijuana
+                      America/Dawson
+                      America/Whitehorse
+                      America/Fort_Nelson
+                      America/Juneau
+                      America/Metlakatla
+                      America/Sitka
+                      America/Dawson_Creek
+                      America/Boise
+     PKST             Asia/Karachi
+     PKT              Asia/Karachi
+     PLMT             Asia/Ho_Chi_Minh
+     PMMT             Pacific/Port_Moresby
+                      Pacific/Bougainville
+     PMT              America/Paramaribo
+                      Asia/Pontianak
+                      Asia/Yekaterinburg
+                      Africa/Tunis
+                      Europe/Monaco
+                      Europe/Paris
+                      Africa/Algiers
+                      Europe/Prague
+     PPMT             America/Port-au-Prince
+     PPT              America/Los_Angeles
+                      America/Dawson_Creek
+                      America/Fort_Nelson
+                      America/Juneau
+                      America/Metlakatla
+                      America/Sitka
+                      America/Tijuana
+                      America/Vancouver
+     PST              America/Los_Angeles
+                      America/Vancouver
+                      America/Tijuana
+                      America/Whitehorse
+                      America/Dawson
+                      America/Fort_Nelson
+                      America/Metlakatla
+                      America/Juneau
+                      America/Sitka
+                      America/Inuvik
+                      America/Dawson_Creek
+                      America/Bahia_Banderas
+                      America/Hermosillo
+                      America/Mazatlan
+                      America/Boise
+                      America/Creston
+     PWT              America/Dawson_Creek
+                      America/Fort_Nelson
+                      America/Juneau
+                      America/Los_Angeles
+                      America/Metlakatla
+                      America/Sitka
+                      America/Tijuana
+                      America/Vancouver
+     Q                Q
+     QMT              America/Guayaquil
+     R                R
+     RMT              Europe/Riga
+                      Asia/Yangon
+                      Europe/Rome
+     S                S
+     SAST             Africa/Johannesburg
+                      Africa/Windhoek
+     SDMT             America/Santo_Domingo
+     SET              Europe/Stockholm
+     SJMT             America/Costa_Rica
+     SMT              America/Punta_Arenas
+                      America/Santiago
+                      Europe/Simferopol
+                      Atlantic/Stanley
+                      Asia/Kuala_Lumpur
+                      Asia/Singapore
+     SST              Pacific/Pago_Pago
+     T                T
+     TBMT             Asia/Tbilisi
+     TMT              Asia/Tehran
+                      Europe/Tallinn
+     U                U
+     UT               UT
+     UTC              UTC
+     V                V
+     W                W
+     WAST             Africa/Windhoek
+                      Africa/Ndjamena
+     WAT              Africa/Ndjamena
+                      Africa/Lagos
+                      Africa/Windhoek
+     WEMT             Europe/Monaco
+                      Europe/Lisbon
+                      Europe/Paris
+                      Europe/Madrid
+     WEST             WET
+                      Europe/Lisbon
+                      Africa/Casablanca
+                      Africa/El_Aaiun
+                      Atlantic/Madeira
+                      Atlantic/Canary
+                      Atlantic/Faroe
+                      Africa/Algiers
+                      Africa/Ceuta
+                      Europe/Monaco
+                      Europe/Paris
+                      Europe/Luxembourg
+                      Europe/Brussels
+                      Europe/Madrid
+     WET              WET
+                      Atlantic/Faroe
+                      Europe/Lisbon
+                      Africa/Casablanca
+                      Atlantic/Canary
+                      Atlantic/Madeira
+                      Africa/El_Aaiun
+                      Atlantic/Azores
+                      Africa/Ceuta
+                      Africa/Algiers
+                      Europe/Andorra
+                      Europe/Luxembourg
+                      Europe/Brussels
+                      Europe/Madrid
+                      Europe/Monaco
+                      Europe/Paris
+     WIB              Asia/Jakarta
+                      Asia/Pontianak
+     WIT              Asia/Jayapura
+     WITA             Asia/Makassar
+                      Asia/Pontianak
+     WMT              Europe/Vilnius
+                      Europe/Warsaw
+     X                X
+     Y                Y
+     YDDT             America/Whitehorse
+                      America/Dawson
+     YDT              America/Yakutat
+                      America/Juneau
+                      America/Dawson
+                      America/Whitehorse
+     YPT              America/Whitehorse
+                      America/Dawson
+                      America/Yakutat
+     YST              America/Yakutat
+                      America/Anchorage
+                      America/Juneau
+                      America/Nome
+                      America/Sitka
+                      America/Dawson
+                      America/Whitehorse
+     YWT              America/Whitehorse
+                      America/Dawson
+                      America/Yakutat
+     Z                Z
+
+=head1 KNOWN BUGS
+
+None known.
+
+=head1 BUGS AND QUESTIONS
+
+Please refer to the L documentation for
+information on submitting bug reports or questions to the author.
+
+=head1 SEE ALSO
+
+L        - main module documentation
+
+=head1 LICENSE
+
+This script is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 AUTHOR
+
+Sullivan Beck (sbeck@cpan.org)
+
+=cut
diff --git a/t/.ppo.yaml b/t/.ppo.yaml
new file mode 100644
index 0000000..7c5bb64
--- /dev/null
+++ b/t/.ppo.yaml
@@ -0,0 +1,12 @@
+---
+objs:
+  'Date::Manip::Recur':
+    print: data
+  'Date::Manip::Date':
+    print: method
+    func: value
+    type: scalar
+  'Date::Manip::Delta':
+    print: method
+    func: value
+    type: scalar
diff --git a/t/Events.cnf b/t/Events.cnf
new file mode 100644
index 0000000..bf16dc2
--- /dev/null
+++ b/t/Events.cnf
@@ -0,0 +1,22 @@
+################################
+# EVENTS
+################################
+*EVENTS
+
+2000-02-01               = Event01
+2000-02-01-12:00:00      = Event02
+02-01                    = Event03
+02-01 12:00:00           = Event04
+1*2:0:3:13:00:00         = Event05
+
+2000-02-05 10:00:00 ; 2000-02-05 10:59:59         = Event06
+2000-02-05          ; 2000-02-06                  = Event07
+02-05               ; 02-06                       = Event08
+
+2000-02-07 10:00:00 ; 0:0:0:0:3:0:0               = Event09
+02-07 10:00:00      ; 0:0:0:0:4:0:0               = Event10
+1*2:0:7:10:00:00    ; 0:0:0:0:5:0:0               = Event11
+
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
diff --git a/t/Holidays.1.cnf b/t/Holidays.1.cnf
new file mode 100644
index 0000000..9098bfb
--- /dev/null
+++ b/t/Holidays.1.cnf
@@ -0,0 +1,10 @@
+*HOLIDAYS
+
+# FEDERAL HOLIDAYS
+##################
+
+1*1:0:1:0:0:0*DWD    = New Years Day
+
+1*12:0:25:0:0:0*NWD  = Christmas
+1*12:0:25:0:0:0*NWD  = Boxing
+
diff --git a/t/Holidays.2.cnf b/t/Holidays.2.cnf
new file mode 100644
index 0000000..e9db273
--- /dev/null
+++ b/t/Holidays.2.cnf
@@ -0,0 +1,10 @@
+*HOLIDAYS
+
+# FEDERAL HOLIDAYS
+##################
+
+1*1:0:1:0:0:0*DWD    = New Years Day
+
+1*12:0:25:0:0:0*NWD  = Christmas
+1*12:0:26:0:0:0*NWD  = Boxing
+
diff --git a/t/Holidays.3.cnf b/t/Holidays.3.cnf
new file mode 100644
index 0000000..ae59cd4
--- /dev/null
+++ b/t/Holidays.3.cnf
@@ -0,0 +1,15 @@
+*HOLIDAYS
+
+# Multiple holidays
+##################
+
+1*1:0:1:0:0:0*DWD    = New Years Day (observed)
+Jan 1                = New Years Day
+
+# first tuesday after the first monday in november
+1*11:1:1:0:0:0*FD1   = Election Day
+Nov 2                = Day of the Dead
+
+3rd Sunday in June   = Father's Day
+Jun 17               = Bunker Hill Day
+
diff --git a/t/Manip.cnf b/t/Manip.cnf
new file mode 100644
index 0000000..7adc660
--- /dev/null
+++ b/t/Manip.cnf
@@ -0,0 +1,69 @@
+################################
+# CONFIG VARIABLES
+################################
+# See Date::Manip::Config man page for a description of all
+# config variables.
+
+EraseHolidays           = 1
+EraseEvents             = 1
+Language                = English
+DateFormat              = US
+#TZ                     = America/New_York
+WorkWeekBeg             = 1
+WorkWeekEnd             = 5
+WorkDay24Hr             = 0
+WorkDayBeg              = 08:00
+WorkDayEnd              = 17:00
+YYtoYYYY                = 89
+FirstDay                = 1
+Jan1Week1               = 0
+Printable               = 0
+TomorrowFirst           = 1
+#ForceDate              =
+RecurRange              = none
+DefaultTime             = midnight
+
+################################
+# HOLIDAYS
+################################
+# See the Date::Manip::Holidays man page for a description of
+# this section.
+*HOLIDAYS
+
+# FEDERAL HOLIDAYS
+##################
+
+# Jan 1                         = New Year's Day
+1*1:0:1:0:0:0*DWD               = New Year's Day
+
+third Monday in Jan             = Martin Luther King Jr.'s Birthday
+
+# Observed by federal employees in Washington D.C.
+# Jan 20                        = Inauguration day
+
+third Monday in Feb             = Washington's Birthday
+
+last Monday in May              = Memorial Day
+
+# Jul 4                         = Independence Day
+1*7:0:4:0:0:0*DWD               = Independence Day
+
+1st Monday in Sep               = Labor Day
+
+second Monday in Oct            = Columbus Day
+
+# 11/11                         = Veterans Day
+1*11:0:11:0:0:0*DWD             = Veteran's Day
+
+fourth Thu in Nov               = Thanksgiving
+1*11:4:4:0:0:0*FD1              =
+
+# Dec 25                        = Christmas
+1*12:0:25:0:0:0*DWD             = Christmas
+
+# TEST HOLIDAYS
+##################
+
+6/2/1999                        = A special test holiday for 1999
+1*2:0:1:0:0:0***Jan 1 1950*Dec 31 1952 = Feb 2 from 1950-1952
+
diff --git a/t/Manip.cnf.part1 b/t/Manip.cnf.part1
new file mode 100644
index 0000000..f138667
--- /dev/null
+++ b/t/Manip.cnf.part1
@@ -0,0 +1,24 @@
+################################
+# HOLIDAYS
+################################
+# See the Date::Manip::Holidays man page for a description of
+# this section.
+*HOLIDAYS
+
+# FEDERAL HOLIDAYS
+##################
+
+# Jan 1                         = New Year's Day
+1*1:0:1:0:0:0*DWD               = New Year's Day
+
+third Monday in Jan             = Martin Luther King Jr.'s Birthday
+
+# Observed by federal employees in Washington D.C.
+# Jan 20                        = Inauguration day
+
+third Monday in Feb             = Washington's Birthday
+
+last Monday in May              = Memorial Day
+
+# Jul 4                         = Independence Day
+1*7:0:4:0:0:0*DWD               = Independence Day
diff --git a/t/Manip.cnf.part2 b/t/Manip.cnf.part2
new file mode 100644
index 0000000..3d864df
--- /dev/null
+++ b/t/Manip.cnf.part2
@@ -0,0 +1,22 @@
+################################
+# HOLIDAYS
+################################
+# See the Date::Manip::Holidays man page for a description of
+# this section.
+*HOLIDAYS
+
+# Jul 4                         = Independence Day
+1*7:0:4:0:0:0*DWD               = Independence Day
+
+1st Monday in Sep               = Labor Day
+
+second Monday in Oct            = Columbus Day
+
+# 11/11                         = Veterans Day
+1*11:0:11:0:0:0*DWD             = Veteran's Day
+
+fourth Thu in Nov               = Thanksgiving
+1*11:4:4:0:0:0*FD1              =
+
+# Dec 25                        = Christmas
+1*12:0:25:0:0:0*DWD             = Christmas
diff --git a/t/Manip5.cnf b/t/Manip5.cnf
new file mode 100644
index 0000000..15e6ef4
--- /dev/null
+++ b/t/Manip5.cnf
@@ -0,0 +1,117 @@
+################################
+# CONFIG VARIABLES
+################################
+# See Date::Manip man page for a description of all config variables.
+
+EraseHolidays		=
+PersonalCnf		= Manip.cnf
+PersonalCnfPath		= t:.
+Language		= English
+DateFormat		= US
+TZ			= EST
+ConvTZ			= EST
+Internal		= 0
+FirstDay		= 1
+WorkWeekBeg		= 1
+WorkWeekEnd		= 5
+WorkDay24Hr		= 0
+WorkDayBeg		= 08:00
+WorkDayEnd		= 17:00
+TomorrowFirst		= 1
+DeltaSigns		= 0
+Jan1Week1   		= 0
+YYtoYYYY                = 89
+UpdateCurrTZ            = 0
+IntCharSet              = 0
+#ForceDate		=
+
+################################
+# HOLIDAYS
+################################
+*HOLIDAY
+
+# Make sure that the date part of every date can be followed by the year
+# and be correctly parsed by ParseDate.
+
+# The following holiday definitions are taken from pcal's config file.
+# Some are commented out if these tend to be ordinary business days.
+
+1/1				= New Year's Day
+third Monday in Feb             = Presidents' Day
+# 2/14                          = Valentine's Day
+# 3/17                          = St. Patrick's Day
+last Monday in May              = Memorial Day
+# 6/14                          = Flag Day
+7/4                             = Independence Day
+1st Monday in Sep               = Labor Day
+second Monday in Oct            = Columbus Day (observed)
+# 10/31                         = Halloween
+#second Mon in Nov               = Veterans' Day (observed)
+fourth Thu in Nov               = Thanksgiving
+# 12/24                         = Christmas Eve
+12/25                           = Christmas
+# 12/31                         = New Year's Eve
+
+# You can also use recurrences.
+
+1*0:0:0:0:0:0*EASTER		= Easter
+1*11:0:11:0:0:0*CWD             = Veteran's Day (observed)
+#1*0:0:0:0:0:0*EASTER,PD5	= Good Friday
+
+
+# Other complex holidays (date + delta, date - delta)
+
+# first Monday in Nov + 1 day   = Election day
+# The Friday after Thanksgiving is an unnamed holiday some places
+# fourth Thu in Nov + 1 day     =
+
+# State specific holidays (set for Florida)
+
+# Except AZ, NH, MT
+3rd Monday in Jan		= Martin Luther King Day
+
+# Alaska
+#first Sat in March             = Iditarod starts
+
+# Only for MA, ME
+#3rd Monday in Apr              = Patriots' Day
+
+# You can define specific holidays for specific years
+# 1/5/1999                      = A one-year-only holiday
+# 1st Monday in Sep 1998        = Another one.
+6/2/1999			= A special test holiday for 1999
+
+################################
+# EVENTS
+################################
+*EVENTS
+
+# These are events that occur over a range of time.  Useful for scheduling
+# or calendar applications.
+
+# Forms include
+#  date          = event  # Sets an event lasting 1 day or 1 hour (if no time)
+
+2000-02-01               = Event1
+2000-05-01               = Event2
+2000-04-01-12:00:00      = Event3
+
+#  recur         = event  # Sets a recurring event lasting 1 day or 1 hour
+
+1*01:0:10:0:0:0          = Recurring event 1 day long
+1*02:0:10:12:0:0         = Recurring event 1 hour long
+
+#  date0 ; date1 = event  # Sets an event lasting from date0 to date1 inclusive
+#                           (i.e. if date1 doesn't contain a a time, it ends at
+#                           midnight of that date)
+
+2000-01-01 ; 2000-03-21  = Winter
+2000-03-22 ; 2000-06-21  = Spring
+2000-06-22 ; 2000-09-21  = Summer
+2000-09-22 ; 2000-12-21  = Fall
+2000-12-22 ; 2000-12-31  = Winter
+
+#  recur ; delta = event  # Sets an event of this duration
+
+1*03:0:10:12:0:0 ; 0:0:0:0:2:30:0 = Recurring event 2:30 long
+
diff --git a/t/New_Years.1.cnf b/t/New_Years.1.cnf
new file mode 100644
index 0000000..3b19677
--- /dev/null
+++ b/t/New_Years.1.cnf
@@ -0,0 +1,4 @@
+*HOLIDAYS
+
+1*1:0:1:0:0:0   = New Year's Day
+
diff --git a/t/New_Years.2.cnf b/t/New_Years.2.cnf
new file mode 100644
index 0000000..b36b536
--- /dev/null
+++ b/t/New_Years.2.cnf
@@ -0,0 +1,4 @@
+*HOLIDAYS
+
+1*1:0:1:0:0:0*DWD   = New Year's Day
+
diff --git a/t/New_Years.3.cnf b/t/New_Years.3.cnf
new file mode 100644
index 0000000..aa027c5
--- /dev/null
+++ b/t/New_Years.3.cnf
@@ -0,0 +1,14 @@
+*HOLIDAYS
+
+# This is a holiday section that fits the Federal Reserve definition:
+#    holidays on Sunday are observed Monday
+#    holidays on any other day (including Saturday) are observed on
+#        that day
+
+# Saturday
+1*1:0:1:0:0:0*NBD,BD1,IBD,FD1   = New Year's Day
+# Sunday (observed Monday)
+1*1:0:1:0:0:0*NBD,BD1,NBD,FD2   = New Year's Day
+# M-F
+1*1:0:1:0:0:0*IBD               = New Year's Day
+
diff --git a/t/New_Years.4.cnf b/t/New_Years.4.cnf
new file mode 100644
index 0000000..ed2eb65
--- /dev/null
+++ b/t/New_Years.4.cnf
@@ -0,0 +1,14 @@
+*HOLIDAYS
+
+# This is a holiday section that fits the Federal Reserve definition:
+#    holidays on Sunday are observed Monday
+#    holidays on any other day (including Saturday) are observed on
+#        that day
+
+# Saturday
+1*1:0:1:0:0:0*IW6               = New Year's Day
+# Sunday (observed Monday)
+1*1:0:1:0:0:0*IW7,FD1           = New Year's Day
+# M-F
+1*1:0:1:0:0:0*IBD               = New Year's Day
+
diff --git a/t/OldEvents.cnf b/t/OldEvents.cnf
new file mode 100644
index 0000000..c3c7f68
--- /dev/null
+++ b/t/OldEvents.cnf
@@ -0,0 +1,37 @@
+################################
+# EVENTS
+################################
+*EVENTS
+
+# These are events that occur over a range of time.  Useful for scheduling
+# or calendar applications.
+
+# Forms include
+#  date          = event  # Sets an event lasting 1 day or 1 hour (if no time)
+
+2000-02-01               = Event1
+2000-05-01               = Event2
+2000-04-01-12:00:00      = Event3
+
+#  recur         = event  # Sets a recurring event lasting 1 day or 1 hour
+
+1*01:0:10:0:0:0          = Recurring event 1 day long
+1*02:0:10:12:0:0         = Recurring event 1 hour long
+
+#  date0 ; date1 = event  # Sets an event lasting from date0 to date1 inclusive
+#                           (i.e. if date1 doesn't contain a a time, it ends at
+#                           midnight of that date)
+
+2000-01-01 ; 2000-03-21  = Winter
+2000-03-22 ; 2000-06-21  = Spring
+2000-06-22 ; 2000-09-21  = Summer
+2000-09-22 ; 2000-12-21  = Fall
+2000-12-22 ; 2000-12-31  = Winter
+
+#  recur ; delta = event  # Sets an event of this duration
+
+1*03:0:10:12:0:0 ; 0:0:0:0:2:30:0 = Recurring event 2:30 long
+
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
diff --git a/t/base._calc_date_ymwd.t b/t/base._calc_date_ymwd.t
new file mode 100755
index 0000000..f2fb446
--- /dev/null
+++ b/t/base._calc_date_ymwd.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _calc_date_ymwd';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_calc_date_ymwd(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 2009 08 15 ]          [ 0 0 0 5 ]   0 => [ 2009 8 20 ]
+
+[ 2009 08 15 ]          [ 0 0 0 5 ]   1 => [ 2009 8 10 ]
+
+[ 2009 08 15 ]          [ 0 0 1 5 ]   0 => [ 2009 8 27 ]
+
+[ 2009 08 15 ]          [ 0 0 1 5 ]   1 => [ 2009 8 3 ]
+
+[ 2009 08 15 ]          [ 0 3 1 5 ]   0 => [ 2009 11 27 ]
+
+[ 2009 08 15 ]          [ 0 3 1 5 ]   1 => [ 2009 5 3 ]
+
+[ 2009 08 15 ]          [ 2 3 1 5 ]   0 => [ 2011 11 27 ]
+
+[ 2009 08 15 ]          [ 2 3 1 5 ]   1 => [ 2007 5 3 ]
+
+[ 2009 08 15 12 00 00 ] [ 2 3 1 5 ]   0 => [ 2011 11 27 12 00 00 ]
+
+[ 2009 08 15 12 00 00 ] [ 2 3 1 5 ]   1 => [ 2007 5 3 12 00 00 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._config.t b/t/base._config.t
new file mode 100755
index 0000000..6ce36c2
--- /dev/null
+++ b/t/base._config.t
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _config';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_config(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+$dmt->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+DateFormat       => US
+
+DateFormat Other =>
+
+DateFormat       => Other
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._critical_date.t b/t/base._critical_date.t
new file mode 100755
index 0000000..c18190d
--- /dev/null
+++ b/t/base._critical_date.t
@@ -0,0 +1,187 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _critical_date';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+   (@test)=@_;
+   @ret = $obj->_critical_date(@test);
+   return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+#################################################################################
+# Rule    Syria   2008    max     -       Apr     Fri>=1  0:00    1:00    S
+# Rule    Syria   2008    max     -       Oct     1       0:00    0       -
+
+# Zone    Asia/Damascus   2:25:12 -       LMT     1920    # Dimashq
+#                         2:00    Syria   EE%sT
+
+# Asia/Damascus  Apr  1 21:59:59 2038 UTC = Thu Apr  1 23:59:59 2038 EET isdst=0
+# Asia/Damascus  Apr  1 22:00:00 2038 UTC = Fri Apr  2 01:00:00 2038 EEST isdst=1
+# Asia/Damascus  Sep 30 20:59:59 2038 UTC = Thu Sep 30 23:59:59 2038 EEST isdst=1
+# Asia/Damascus  Sep 30 21:00:00 2038 UTC = Thu Sep 30 23:00:00 2038 EET isdst=0
+# Asia/Damascus  Mar 31 21:59:59 2039 UTC = Thu Mar 31 23:59:59 2039 EET isdst=0
+# Asia/Damascus  Mar 31 22:00:00 2039 UTC = Fri Apr  1 01:00:00 2039 EEST isdst=1
+# Asia/Damascus  Sep 30 20:59:59 2039 UTC = Fri Sep 30 23:59:59 2039 EEST isdst=1
+# Asia/Damascus  Sep 30 21:00:00 2039 UTC = Fri Sep 30 23:00:00 2039 EET isdst=0
+# Asia/Damascus  Apr  5 21:59:59 2040 UTC = Thu Apr  5 23:59:59 2040 EET isdst=0
+
+#################################################################################
+# Rule    US      2007    max     -       Mar     Sun>=8  2:00    1:00    D
+# Rule    US      2007    max     -       Nov     Sun>=1  2:00    0       S
+
+# Zone America/New_York   -4:56:02 -      LMT     1883 Nov 18 12:03:58
+#                         -5:00   US      E%sT    1920
+#                         -5:00   NYC     E%sT    1942
+#                         -5:00   US      E%sT    1946
+#                         -5:00   NYC     E%sT    1967
+#                         -5:00   US      E%sT
+
+# America/New_York  Mar  8 06:59:59 2037 UTC = Mar  8 01:59:59 2037 EST isdst=0
+# America/New_York  Mar  8 07:00:00 2037 UTC = Mar  8 03:00:00 2037 EDT isdst=1
+# America/New_York  Nov  1 05:59:59 2037 UTC = Nov  1 01:59:59 2037 EDT isdst=1
+# America/New_York  Nov  1 06:00:00 2037 UTC = Nov  1 01:00:00 2037 EST isdst=0
+# America/New_York  Mar 14 06:59:59 2038 UTC = Mar 14 01:59:59 2038 EST isdst=0
+# America/New_York  Mar 14 07:00:00 2038 UTC = Mar 14 03:00:00 2038 EDT isdst=1
+# America/New_York  Nov  7 05:59:59 2038 UTC = Nov  7 01:59:59 2038 EDT isdst=1
+# America/New_York  Nov  7 06:00:00 2038 UTC = Nov  7 01:00:00 2038 EST isdst=0
+
+#################################################################################
+# Rule    Egypt   1995    max     -       Apr     lastFri  0:00s  1:00    S
+# Rule    Egypt   2008    max     -       Aug     lastThu 23:00s  0       -
+
+# Zone    Africa/Cairo    2:05:00 -       LMT     1900 Oct
+#                         2:00    Egypt   EE%sT
+
+# Africa/Cairo  Thu Apr 25 21:59:59 2030 UTC = Thu Apr 25 23:59:59 2030 EET isdst=0
+# Africa/Cairo  Thu Apr 25 22:00:00 2030 UTC = Fri Apr 26 01:00:00 2030 EEST isdst=1
+# Africa/Cairo  Thu Aug 29 20:59:59 2030 UTC = Thu Aug 29 23:59:59 2030 EEST isdst=1
+# Africa/Cairo  Thu Aug 29 21:00:00 2030 UTC = Thu Aug 29 23:00:00 2030 EET isdst=0
+# Africa/Cairo  Thu Apr 24 21:59:59 2031 UTC = Thu Apr 24 23:59:59 2031 EET isdst=0
+
+#################################################################################
+# Rule    StJohns 2007    max     -       Mar     Sun>=8  0:01    1:00    D
+# Rule    StJohns 2007    max     -       Nov     Sun>=1  0:01    0       S
+
+# Zone America/St_Johns   -3:30:52 -      LMT     1884
+#                         -3:30:52 StJohns N%sT   1918
+#                         -3:30:52 Canada N%sT    1919
+#                         -3:30:52 StJohns N%sT   1935 Mar 30
+#                         -3:30   StJohns N%sT    1942 May 11
+#                         -3:30   Canada  N%sT    1946
+#                         -3:30   StJohns N%sT
+
+# America/St_Johns  Mar  8 03:30:59 2037 UTC = Mar  8 00:00:59 2037 NST isdst=0
+# America/St_Johns  Mar  8 03:31:00 2037 UTC = Mar  8 01:01:00 2037 NDT isdst=1
+# America/St_Johns  Nov  1 02:30:59 2037 UTC = Nov  1 00:00:59 2037 NDT isdst=1
+# America/St_Johns  Nov  1 02:31:00 2037 UTC = Oct 31 23:01:00 2037 NST isdst=0
+
+#################################################################################
+# Rule    EU      1981    max     -       Mar     lastSun  1:00u  1:00    S
+# Rule    EU      1996    max     -       Oct     lastSun  1:00u  0       -
+
+# Zone America/Godthab    -3:26:56 -      LMT     1916 Jul 28 # Nuuk
+#                         -3:00   -       WGT     1980 Apr  6 2:00
+#                         -3:00   EU      WG%sT
+
+# America/Godthab  Mar 29 00:59:59 2037 UTC = Mar 28 21:59:59 2037 WGT isdst=0
+# America/Godthab  Mar 29 01:00:00 2037 UTC = Mar 28 23:00:00 2037 WGST isdst=1
+# America/Godthab  Oct 25 00:59:59 2037 UTC = Oct 24 22:59:59 2037 WGST isdst=1
+# America/Godthab  Oct 25 01:00:00 2037 UTC = Oct 24 22:00:00 2037 WGT isdst=0
+
+#################################################################################
+
+# YEAR MON FLAG NUM DOW ISDST TIME TIMETYPE STDOFF DSTOFF
+$tests="
+
+2038 04 ge 1 5 1 00:00:00 w 02:00:00 03:00:00 =>
+   [ 2038 4 1 21 59 59 ]
+   [ 2038 4 1 23 59 59 ]
+   [ 2038 4 1 22 0 0 ]
+   [ 2038 4 2 1 0 0 ]
+
+2038 10 dom 1 - 0 00:00:00 w 02:00:00 03:00:00 =>
+   [ 2038 9 30 20 59 59 ]
+   [ 2038 9 30 23 59 59 ]
+   [ 2038 9 30 21 0 0 ]
+   [ 2038 9 30 23 0 0 ]
+
+2037 03 ge 8 7 1 02:00:00 w -05:00:00 -04:00:00 =>
+   [ 2037 3 8 6 59 59 ]
+   [ 2037 3 8 1 59 59 ]
+   [ 2037 3 8 7 0 0 ]
+   [ 2037 3 8 3 0 0 ]
+
+2037 11 ge 1 7 0 02:00:00 w -05:00:00 -04:00:00 =>
+   [ 2037 11 1 5 59 59 ]
+   [ 2037 11 1 1 59 59 ]
+   [ 2037 11 1 6 0 0 ]
+   [ 2037 11 1 1 0 0 ]
+
+2030 04 last - 5 1 00:00:00 s 02:00:00 03:00:00 =>
+   [ 2030 4 25 21 59 59 ]
+   [ 2030 4 25 23 59 59 ]
+   [ 2030 4 25 22 0 0 ]
+   [ 2030 4 26 1 0 0 ]
+
+2030 08 last - 4 0 23:00:00 s 02:00:00 03:00:00 =>
+   [ 2030 8 29 20 59 59 ]
+   [ 2030 8 29 23 59 59 ]
+   [ 2030 8 29 21 0 0 ]
+   [ 2030 8 29 23 0 0 ]
+
+2037 03 ge 8 7 1 00:01:00 w -03:30:00 -02:30:00 =>
+   [ 2037 3 8 3 30 59 ]
+   [ 2037 3 8 0 0 59 ]
+   [ 2037 3 8 3 31 0 ]
+   [ 2037 3 8 1 1 0 ]
+
+2037 11 ge 1 7 0 00:01:00 w -03:30:00 -02:30:00 =>
+   [ 2037 11 1 2 30 59 ]
+   [ 2037 11 1 0 0 59 ]
+   [ 2037 11 1 2 31 0 ]
+   [ 2037 10 31 23 1 0 ]
+
+2037 03 last - 7 1 01:00:00 u -03:00:00 -02:00:00 =>
+   [ 2037 3 29 0 59 59 ]
+   [ 2037 3 28 21 59 59 ]
+   [ 2037 3 29 1 0 0 ]
+   [ 2037 3 28 23 0 0 ]
+
+2037 10 last - 7 0 01:00:00 u -03:00:00 -02:00:00 =>
+   [ 2037 10 25 0 59 59 ]
+   [ 2037 10 24 22 59 59 ]
+   [ 2037 10 25 1 0 0 ]
+   [ 2037 10 24 22 0 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._fix_year.50.t b/t/base._fix_year.50.t
new file mode 100755
index 0000000..d3b978c
--- /dev/null
+++ b/t/base._fix_year.50.t
@@ -0,0 +1,86 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _fix_year (50)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_fix_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+$obj->_method("50");
+
+sub _y {
+  my($yyyy) = @_;
+  $yyyy     =~ /^..(..)/;
+  my $yy    = $1;
+  return($yyyy,$yy);
+}
+
+$y  = ( localtime(time) )[5];
+$y += 1900;
+
+($yyyy,$yy)       = _y($y);
+
+($yyyyM05,$yyM05) = _y($y-5);
+($yyyyP05,$yyP05) = _y($y+5);
+
+($yyyyM49,$yyM49) = _y($y-49);
+($yyyyM50,$yyM50) = _y($y-50);
+($yyyyM51,$yyM51) = _y($y-51);  $yyyyM51 += 100;
+
+($yyyyP48,$yyP48) = _y($y+48);
+($yyyyP49,$yyP49) = _y($y+49);
+($yyyyP50,$yyP50) = _y($y+50);  $yyyyP50 -= 100;
+
+$tests="
+
+$yy     => $yyyy
+
+$yyM05  => $yyyyM05
+
+$yyP05  => $yyyyP05
+
+$yyM49  => $yyyyM49
+
+$yyM50  => $yyyyM50
+
+$yyM51  => $yyyyM51
+
+$yyP48  => $yyyyP48
+
+$yyP49  => $yyyyP49
+
+$yyP50  => $yyyyP50
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._fix_year.c.t b/t/base._fix_year.c.t
new file mode 100755
index 0000000..3cb95de
--- /dev/null
+++ b/t/base._fix_year.c.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _fix_year (C)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_fix_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+$obj->_method("c");
+
+$y  = ( localtime(time) )[5];
+$y += 1900;
+$y  =~ /^(..)/;
+$c  = $1;
+
+$tests="
+
+1999  => 1999
+
+2000  => 2000
+
+00    => ${c}00
+
+05    => ${c}05
+
+99    => ${c}99
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._fix_year.c18.t b/t/base._fix_year.c18.t
new file mode 100755
index 0000000..0f54a28
--- /dev/null
+++ b/t/base._fix_year.c18.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _fix_year (C18)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_fix_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+$obj->_method("c18");
+
+$tests="
+
+99   => 1899
+
+2000 => 2000
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base._fix_year.c1890.t b/t/base._fix_year.c1890.t
new file mode 100755
index 0000000..63d5ad8
--- /dev/null
+++ b/t/base._fix_year.c1890.t
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: _fix_year (C1890)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->_fix_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+$obj->_method("c1890");
+
+$tests="
+
+99   => 1899
+
+89   => 1989
+
+2000 => 2000
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.calc_date_date.t b/t/base.calc_date_date.t
new file mode 100755
index 0000000..33a8474
--- /dev/null
+++ b/t/base.calc_date_date.t
@@ -0,0 +1,73 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: calc_date_date';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->calc_date_date(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 2007 01 15 10 00 00 ] [ 2007 01 15 12 00 00 ] => [ 2 0 0 ]
+
+[ 2007 01 15 12 00 00 ] [ 2007 01 15 10 00 00 ] => [ -2 0 0 ]
+
+[ 2007 01 15 10 30 00 ] [ 2007 01 15 12 15 00 ] => [ 1 45 0 ]
+
+[ 2007 01 15 12 15 00 ] [ 2007 01 15 10 30 00 ] => [ -1 -45 0 ]
+
+[ 2007 01 31 10 00 00 ] [ 2007 02 01 12 00 00 ] => [ 26 0 0 ]
+
+[ 2007 02 01 12 00 00 ] [ 2007 01 31 10 00 00 ] => [ -26 0 0 ]
+
+[ 2007 12 31 10 00 00 ] [ 2008 01 01 12 00 00 ] => [ 26 0 0 ]
+
+[ 2008 01 01 12 00 00 ] [ 2007 12 31 10 00 00 ] => [ -26 0 0 ]
+
+[ 2007 01 15 10 00 00 ] [ 2007 01 17 12 00 00 ] => [ 50 0 0 ]
+
+[ 2007 01 17 12 00 00 ] [ 2007 01 15 10 00 00 ] => [ -50 0 0 ]
+
+[ 2007 01 15 10 30 00 ] [ 2007 01 17 12 15 00 ] => [ 49 45 0 ]
+
+[ 2007 01 17 12 15 00 ] [ 2007 01 15 10 30 00 ] => [ -49 -45 0 ]
+
+[ 2007 01 30 10 00 00 ] [ 2007 02 02 12 00 00 ] => [ 74 0 0 ]
+
+[ 2007 02 02 12 00 00 ] [ 2007 01 30 10 00 00 ] => [ -74 0 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.calc_date_days.t b/t/base.calc_date_days.t
new file mode 100755
index 0000000..f46b789
--- /dev/null
+++ b/t/base.calc_date_days.t
@@ -0,0 +1,56 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: calc_date_days';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->calc_date_days(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1997 12 10 ] 1   => [ 1997 12 11 ]
+
+[ 1997 12 10 ] -1  => [ 1997 12 9 ]
+
+[ 1997 12 10 ] 1 1 => [ 1997 12 9 ]
+
+
+[ 1997 12 10 12 00 00 ] 1   => [ 1997 12 11 12 0 0 ]
+
+[ 1997 12 10 12 00 00 ] -1  => [ 1997 12 9 12 0 0 ]
+
+[ 1997 12 10 12 00 00 ] 1 1 => [ 1997 12 9 12 0 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.calc_date_delta.t b/t/base.calc_date_delta.t
new file mode 100755
index 0000000..cc56367
--- /dev/null
+++ b/t/base.calc_date_delta.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: calc_date_delta';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->calc_date_delta(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 2009 08 15 12 00 00 ] [ 0 0 0 5 1 0 0 ] 0 => [ 2009 8 20 13 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 0 0 0 5 1 0 0 ] 1 => [ 2009 8 10 11 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 0 0 1 5 1 0 0 ] 0 => [ 2009 8 27 13 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 0 0 1 5 1 0 0 ] 1 => [ 2009 8 3 11 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 0 3 1 5 1 0 0 ] 0 => [ 2009 11 27 13 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 0 3 1 5 1 0 0 ] 1 => [ 2009 5 3 11 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 2 3 1 5 1 0 0 ] 0 => [ 2011 11 27 13 0 0 ]
+
+[ 2009 08 15 12 00 00 ] [ 2 3 1 5 1 0 0 ] 1 => [ 2007 5 3 11 0 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.calc_date_time.t b/t/base.calc_date_time.t
new file mode 100755
index 0000000..d896daf
--- /dev/null
+++ b/t/base.calc_date_time.t
@@ -0,0 +1,79 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: calc_date_time';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->calc_date_time(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 2000 01 15 12 00 00 ] [ 1 0 0 ]    => [ 2000 1 15 13 0 0 ]
+
+[ 2000 01 15 12 00 00 ] [ -1 0 0 ]   => [ 2000 1 15 11 0 0 ]
+
+[ 2000 01 15 12 00 00 ] [ 1 1 0 ]    => [ 2000 1 15 13 1 0 ]
+
+[ 2000 01 15 12 00 00 ] [ -1 -1 0 ]  => [ 2000 1 15 10 59 0 ]
+
+[ 2000 01 15 12 00 00 ] [ 1 1 1 ]    => [ 2000 1 15 13 1 1 ]
+
+[ 2000 01 15 12 00 00 ] [ -1 -1 -1 ] => [ 2000 1 15 10 58 59 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 1 0 ]    => [ 2000 1 15 12 1 0 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 -1 0 ]   => [ 2000 1 15 11 59 0 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 1 1 ]    => [ 2000 1 15 12 1 1 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 -1 -1 ]  => [ 2000 1 15 11 58 59 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 0 1 ]    => [ 2000 1 15 12 0 1 ]
+
+[ 2000 01 15 12 00 00 ] [ 0 0 -1 ]   => [ 2000 1 15 11 59 59 ]
+
+[ 2000 01 15 12 00 00 ] [ +24 0 0 ]  => [ 2000 1 16 12 0 0 ]
+
+[ 2000 01 15 12 00 00 ] [ -24 0 0 ]  => [ 2000 1 14 12 0 0 ]
+
+[ 1999 12 31 12 00 00 ] [ +24 0 0 ]  => [ 2000 1 1 12 0 0 ]
+
+[ 2000 01 01 12 00 00 ] [ -24 0 0 ]  => [ 1999 12 31 12 0 0 ]
+
+[ 2000 12 31 12 00 00 ] [ +24 0 0 ]  => [ 2001 1 1 12 0 0 ]
+
+[ 2000 01 15 12 00 00 ] [ +49 1 0 ]  => [ 2000 1 17 13 1 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.calc_time_time.t b/t/base.calc_time_time.t
new file mode 100755
index 0000000..df64c7f
--- /dev/null
+++ b/t/base.calc_time_time.t
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: calc_time_time';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->calc_time_time(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ +2 2 2 ]   [ +1 1 1 ]     => [ 3 3 3 ]
+
+[ +2 2 2 ]   [ -1 -1 -1 ]   => [ 1 1 1 ]
+
+[ +2 2 2 ]   [ 1 1 1 ] 1    => [ 1 1 1 ]
+
+[ 10 45 90 ] [ 5 30 45 ]    => [ 16 17 15 ]
+
+[ 10 45 90 ] [ -5 -30 -15 ] => [ 5 16 15 ]
+
+[ 5 -5 +5 ]  [ -2 +2 -2 ]   => [ 2 57 3 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.check.t b/t/base.check.t
new file mode 100755
index 0000000..a04cee6
--- /dev/null
+++ b/t/base.check.t
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: check';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test) = @_;
+  @ret    = $obj->check(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ a b c d e f ]         => 0
+
+[ 1990 13 1 1 1 1 ]     => 0
+
+[ 1990 7 3 0 0 0 ]      => 1
+
+[ 1990 7 3 24 0 0 ]     => 1
+
+[ 1990 7 3 24 30 0 ]    => 0
+
+[ 1990 07 03 00 00 00 ] => 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.cmp.t b/t/base.cmp.t
new file mode 100755
index 0000000..bdcceb6
--- /dev/null
+++ b/t/base.cmp.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: cmp';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->cmp(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 2007 01 15 10 00 00 ] [ 2007 01 15 12 00 00 ] => -1
+
+[ 2007 01 15 12 00 00 ] [ 2007 01 15 10 00 00 ] => 1
+
+[ 2007 01 15 12 00 00 ] [ 2007 01 15 12 00 00 ] => 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.day_of_week.t b/t/base.day_of_week.t
new file mode 100755
index 0000000..14c68e9
--- /dev/null
+++ b/t/base.day_of_week.t
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: day_of_week';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->day_of_week(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1999 1 1 12 30 0 ] => 5
+
+[ 1999 1 1 ]  => 5
+
+[ 1999 1 21 ] => 4
+
+[ 1999 3 1 ]  => 1
+
+[ 2004 1 1 ]  => 4
+
+[ 2004 2 2 ]  => 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.day_of_year.0.t b/t/base.day_of_year.0.t
new file mode 100755
index 0000000..21016a4
--- /dev/null
+++ b/t/base.day_of_year.0.t
@@ -0,0 +1,68 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: day_of_year (Y/M/D)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->day_of_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1999 1 1 ]  => 1
+
+[ 1999 1 21 ] => 21
+
+[ 1999 3 1 ]  => 60
+
+[ 2000 3 1 ]  => 61
+
+[ 1980 2 29 ] => 60
+
+[ 1980 3 1 ]  => 61
+
+
+1999 1  => [ 1999 1 1 ]
+
+1999 21 => [ 1999 1 21 ]
+
+1999 60 => [ 1999 3 1 ]
+
+2000 61 => [ 2000 3 1 ]
+
+1980 60 => [ 1980 2 29 ]
+
+1980 61 => [ 1980 3 1 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.day_of_year.1.t b/t/base.day_of_year.1.t
new file mode 100755
index 0000000..fd29ddf
--- /dev/null
+++ b/t/base.day_of_year.1.t
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: day_of_year (Y/M/D/H/Mn/S)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->day_of_year(@test);
+  foreach my $ret (@ret) {
+    if (ref($ret)) {
+       foreach my $val (@$ret) {
+          if ($val =~ /\./) {
+             $val = sprintf("%.2f",$val);
+          }
+       }
+
+    } elsif ($ret =~ /\./) {
+      $ret = sprintf("%.2f",$ret);
+    }
+  }
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+1997 10       => [ 1997 1 10 ]
+
+[ 1997 1 10 ] => 10
+
+
+1997 10.5            => [ 1997 1 10 12 0 0 ]
+
+[ 1997 1 10 12 0 0 ] => 10.50
+
+
+1997 10.510763888888889   => [ 1997 1 10 12 15 30.00 ]
+
+[ 1997 1 10 12 15 30.00 ] => 10.51
+
+1997 10.510770138888889   => [ 1997 1 10 12 15 30.54 ]
+
+[ 1997 1 10 12 15 30.54 ] => 10.51
+
+
+2000 31    => [ 2000 1 31 ]
+
+2000 31.5  => [ 2000 1 31 12 0 0 ]
+
+2000 32    => [ 2000 2 1 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.days_in_month.t b/t/base.days_in_month.t
new file mode 100755
index 0000000..d3e124d
--- /dev/null
+++ b/t/base.days_in_month.t
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: days_in_month';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->days_in_month(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+1999 10 => 31
+
+1999 2  => 28
+
+2000 2  => 29
+
+1999 0  => 31 28 31 30 31 30 31 31 30 31 30 31
+
+2000 0  => 31 29 31 30 31 30 31 31 30 31 30 31
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.days_in_year.t b/t/base.days_in_year.t
new file mode 100755
index 0000000..dcf1514
--- /dev/null
+++ b/t/base.days_in_year.t
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: days_in_year';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->days_in_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+1997 => 365
+
+2000 => 366
+
+1600 => 366
+
+1700 => 365
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.days_since_1bc.t b/t/base.days_since_1bc.t
new file mode 100755
index 0000000..41fe974
--- /dev/null
+++ b/t/base.days_since_1bc.t
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: days_since_1BC';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->days_since_1BC(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1 1 1 ]      => 1
+
+[ 2 1 1 ]      => 366
+
+[ 1997 12 10 ] => 729368
+
+[ 1998 12 10 ] => 729733
+
+
+729368 => [ 1997 12 10 ]
+
+729733 => [ 1998 12 10 ]
+
+1      => [ 1 1 1 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.join.t b/t/base.join.t
new file mode 100755
index 0000000..9ad087d
--- /dev/null
+++ b/t/base.join.t
@@ -0,0 +1,139 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: join';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->join(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+date [ 1996 1 1 12 0 0 ] => 1996010112:00:00
+
+############
+
+offset [ 10 0 0 ]    => +10:00:00
+
+offset [ 10 0 ]      => +10:00:00
+
+offset [ 10 ]        => +10:00:00
+
+offset [ 10 70 ]     => __undef__
+
+offset [ 10 -30 ]    => __undef__
+
+offset [ 1 2 3 4 ]   => __undef__
+
+offset [ -10 -20 0 ] => -10:20:00
+
+############
+
+hms [ 10 0 0 ]       => 10:00:00
+
+hms [ 10 0 ]         => 10:00:00
+
+hms [ 10 ]           => 10:00:00
+
+hms [ 10 70 ]        => __undef__
+
+hms [ 1 2 3 4 ]      => __undef__
+
+hms [ -10 30 ]       => __undef__
+
+############
+
+time [ 10 -70 ]      => 0:8:50
+
+time [ 1 2 3 4 ]     => __undef__
+
+time [ 10 70 ]       => 0:11:10
+
+time [ 0 0 5 ]       => 0:0:5
+
+time [ 0 5 ]         => 0:0:5
+
+time [ 5 ]           => 0:0:5
+
+time [ 0 5 30 ]      => 0:5:30
+
+time [ 0 0 -5 ]      => 0:0:-5
+
+time [ 0 -5 -30 ]    => 0:-5:30
+
+time [ -5 -30 -45 ]  => -5:30:45
+
+############
+
+delta [ 0 0 0 0 0 0 10 ]                        => 0:0:0:0:0:0:10
+
+delta [ 0 0 0 0 10 ]                            => 0:0:0:0:0:0:10
+
+delta [ 0 0 10 ]                                => 0:0:0:0:0:0:10
+
+delta [ 10 ]                                    => 0:0:0:0:0:0:10
+
+delta [ 0 0 0 0 0 10 -70 ]          nonormalize => 0:0:0:0:0:10:-70
+
+delta [ 0 0 0 0 0 10 -70 ]                      => 0:0:0:0:0:8:50
+
+delta [ 0 0 0 0 0 10 70 ]                       => 0:0:0:0:0:11:10
+
+delta [ 10 -70 -130 90 ]                        => 0:0:1:3:-72:8:30
+
+delta [ -1 -13 -2 -10 70 -130 -90 ]             => -2:1:3:3:+67:48:30
+
+delta [ 1 13 2 10 -70 -130 90 ]                 => 2:1:3:3:-72:8:30
+
+############
+
+business [ 0 0 0 0 0 0 10 ]             => 0:0:0:0:0:0:10
+
+business [ 0 0 0 0 10 ]                 => 0:0:0:0:0:0:10
+
+business [ 0 0 10 ]                     => 0:0:0:0:0:0:10
+
+business [ 10 ]                         => 0:0:0:0:0:0:10
+
+business [ 0 0 0 0 0 10 -70 ]           => 0:0:0:0:0:8:50
+
+business [ 0 0 0 0 0 10 70 ]            => 0:0:0:0:0:11:10
+
+business [ 10 -70 -130 -90 ]            => 0:0:0:1:8:48:30
+
+business [ -1 -13 -2 -10 25 -130 -90 ]  => -2:1:2:7:4:11:30
+
+business [ 1 13 2 10 -25 -130 90 ]      => 2:1:2:6:8:51:30
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.leapyear.t b/t/base.leapyear.t
new file mode 100755
index 0000000..094d1a9
--- /dev/null
+++ b/t/base.leapyear.t
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: leapyear';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->leapyear(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+1997 => 0
+
+1700 => 0
+
+2000 => 1
+
+1600 => 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.nth_day_of_week.t b/t/base.nth_day_of_week.t
new file mode 100755
index 0000000..445b272
--- /dev/null
+++ b/t/base.nth_day_of_week.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: nth_day_of_week';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->nth_day_of_week(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+1999 1 5    => [ 1999 1 1 ]
+
+1999 7 7    => [ 1999 2 14 ]
+
+1999 -1 6 1 => [ 1999 1 30 ]
+
+1999 -2 6 1 => [ 1999 1 23 ]
+
+1999 3 6 12 => [ 1999 12 18 ]
+
+2029 -1 7 3 => [ 2029 3 25 ]
+
+2029 -3 7 3 => [ 2029 3 11 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.secs_since_1970.t b/t/base.secs_since_1970.t
new file mode 100755
index 0000000..37d9f99
--- /dev/null
+++ b/t/base.secs_since_1970.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: secs_since_1970';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->secs_since_1970(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1997 12 10 12 00 00 ] => 881755200
+
+[ 1999 12 10 12 30 30 ] => 944829030
+
+
+881755200 => [ 1997 12 10 12 0 0 ]
+
+944829030 => [ 1999 12 10 12 30 30 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.split.t b/t/base.split.t
new file mode 100755
index 0000000..382d6a1
--- /dev/null
+++ b/t/base.split.t
@@ -0,0 +1,139 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: split';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @ret = $obj->split(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+
+date 1996010112:00:00    => [ 1996 1 1 12 0 0 ]
+
+date 1996-01-01-12:00:00 => [ 1996 1 1 12 0 0 ]
+
+############
+
+offset 10             => [ 10 0 0 ]
+
+offset 10:70          => __undef__
+
+offset 10:-70         => __undef__
+
+offset 10:-70:130:+90 => __undef__
+
+offset 5              => [ 5 0 0 ]
+
+offset -5             => [ -5 0 0 ]
+
+offset 5:30           => [ 5 30 0 ]
+
+offset -5:30          => [ -5 -30 0 ]
+
+offset 5:30:45        => [ 5 30 45 ]
+
+offset -5:30:45       => [ -5 -30 -45 ]
+
+############
+
+hms 10                => [ 10 0 0 ]
+
+hms 10:70             => __undef__
+
+hms 10:-70            => __undef__
+
+hms 10:-70:130:+90    => __undef__
+
+hms 0:0:5             => __undef__
+
+hms 0:00:05           => [ 0 0 5 ]
+
+hms 0:05:30           => [ 0 5 30 ]
+
+hms 5:30:45           => [ 5 30 45 ]
+
+############
+
+time 10:-70           => [ 0 8 50 ]
+
+time 10:-70:130:+90   => __undef__
+
+time 10:70            => [ 0 11 10 ]
+
+time +0:0:5           => [ 0 0 5 ]
+
+time +0:5:30          => [ 0 5 30 ]
+
+time +5:30:45         => [ 5 30 45 ]
+
+time -0:0:5           => [ 0 0 -5 ]
+
+time -0:5:30          => [ 0 -5 -30 ]
+
+time -5:30:45         => [ -5 -30 -45 ]
+
+time 10               => [ 0 0 10 ]
+
+############
+
+delta 10                     => [ 0 0 0 0 0 0 10 ]
+
+delta 10:-70                 => [ 0 0 0 0 0 8 50 ]
+
+delta 10:-70:130:+90         => [ 0 0 1 3 -72 -8 -30 ]
+
+delta 10:70                  => [ 0 0 0 0 0 11 10 ]
+
+delta -1:13:2:10:+70:-130:90 => [ -2 -1 -3 -3 67 48 30 ]
+
+delta 1:13:2:10:-70:130:+90  => [ 2 1 3 3 -72 -8 -30 ]
+
+delta 1::                    => [ 0 0 0 0 1 0 0 ]
+
+############
+
+business 10:-70                 => [ 0 0 0 0 0 8 50 ]
+
+business 10:-70:130:90          => [ 0 0 0 1 8 48 30 ]
+
+business 10:70                  => [ 0 0 0 0 0 11 10 ]
+
+business -1:13:2:10:+25:-130:90 => [ -2 -1 -2 -7 -4 -11 -30 ]
+
+business 10                     => [ 0 0 0 0 0 0 10 ]
+
+business 1:13:2:10:-25:130:+90  => [ 2 1 2 6 8 51 30 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.week1_day1.t b/t/base.week1_day1.t
new file mode 100755
index 0000000..a2faca5
--- /dev/null
+++ b/t/base.week1_day1.t
@@ -0,0 +1,114 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: week1_day1';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+    $dmt->config("jan1week1",$test[1]);
+    $dmt->config("firstday",$test[2]);
+    return 0;
+  }
+  @ret = $obj->week1_day1(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+config 0 1 => 0
+
+2006 => [ 2006 1 2 ]
+
+2007 => [ 2007 1 1 ]
+
+2002 => [ 2001 12 31 ]
+
+2003 => [ 2002 12 30 ]
+
+2004 => [ 2003 12 29 ]
+
+2010 => [ 2010 1 4 ]
+
+2000 => [ 2000 1 3 ]
+
+
+config 0 7 => 0
+
+2006 => [ 2006 1 1 ]
+
+2007 => [ 2006 12 31 ]
+
+2002 => [ 2001 12 30 ]
+
+2003 => [ 2002 12 29 ]
+
+2004 => [ 2004 1 4 ]
+
+2010 => [ 2010 1 3 ]
+
+2000 => [ 2000 1 2 ]
+
+
+config 1 1 => 0
+
+2006 => [ 2005 12 26 ]
+
+2007 => [ 2007 1 1 ]
+
+2002 => [ 2001 12 31 ]
+
+2003 => [ 2002 12 30 ]
+
+2004 => [ 2003 12 29 ]
+
+2010 => [ 2009 12 28 ]
+
+2000 => [ 1999 12 27 ]
+
+
+config 1 7 => 0
+
+2006 => [ 2006 1 1 ]
+
+2007 => [ 2006 12 31 ]
+
+2002 => [ 2001 12 30 ]
+
+2003 => [ 2002 12 29 ]
+
+2004 => [ 2003 12 28 ]
+
+2010 => [ 2009 12 27 ]
+
+2000 => [ 1999 12 26 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.week_of_year.0.t b/t/base.week_of_year.0.t
new file mode 100755
index 0000000..466cd00
--- /dev/null
+++ b/t/base.week_of_year.0.t
@@ -0,0 +1,120 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: week_of_year (Y,W)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+    $dmt->config("jan1week1",$test[1]);
+    $dmt->config("firstday",$test[2]);
+    return 0;
+  }
+  @ret = $obj->week_of_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+config 0 1 => 0
+
+2006 4 => [ 2006 1 23 ]
+
+2007 4 => [ 2007 1 22 ]
+
+2002 4 => [ 2002 1 21 ]
+
+2003 4 => [ 2003 1 20 ]
+
+2004 4 => [ 2004 1 19 ]
+
+2010 4 => [ 2010 1 25 ]
+
+2000 4 => [ 2000 1 24 ]
+
+
+config 0 7 => 0
+
+2006 4 => [ 2006 1 22 ]
+
+2007 4 => [ 2007 1 21 ]
+
+2002 4 => [ 2002 1 20 ]
+
+2003 4 => [ 2003 1 19 ]
+
+2004 4 => [ 2004 1 25 ]
+
+2010 4 => [ 2010 1 24 ]
+
+2000 4 => [ 2000 1 23 ]
+
+
+config 1 1 => 0
+
+2006 4 => [ 2006 1 16 ]
+
+2007 4 => [ 2007 1 22 ]
+
+2002 4 => [ 2002 1 21 ]
+
+2003 4 => [ 2003 1 20 ]
+
+2004 4 => [ 2004 1 19 ]
+
+2010 4 => [ 2010 1 18 ]
+
+2000 4 => [ 2000 1 17 ]
+
+
+config 1 7 => 0
+
+2006 4 => [ 2006 1 22 ]
+
+2007 4 => [ 2007 1 21 ]
+
+2002 4 => [ 2002 1 20 ]
+
+2003 4 => [ 2003 1 19 ]
+
+2004 4 => [ 2004 1 18 ]
+
+2010 4 => [ 2010 1 17 ]
+
+2000 4 => [ 2000 1 16 ]
+
+config 0 1 => 0
+
+2007 02 => [ 2007 1 8 ]
+
+2008 02 => [ 2008 1 7 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.week_of_year.1.t b/t/base.week_of_year.1.t
new file mode 100755
index 0000000..cce9b20
--- /dev/null
+++ b/t/base.week_of_year.1.t
@@ -0,0 +1,137 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: week_of_year (Y,M,D)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+    $dmt->config("jan1week1",$test[1]);
+    $dmt->config("firstday",$test[2]);
+    return 0;
+  }
+  @ret = $obj->week_of_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+config 0 1 => 0
+
+[ 2006 1 23 ] => 2006 4
+
+[ 2007 1 22 ] => 2007 4
+
+[ 2002 1 21 ] => 2002 4
+
+[ 2003 1 20 ] => 2003 4
+
+[ 2004 1 19 ] => 2004 4
+
+[ 2010 1 25 ] => 2010 4
+
+[ 2000 1 24 ] => 2000 4
+
+
+config 0 7 => 0
+
+[ 2006 1 22 ] => 2006 4
+
+[ 2007 1 21 ] => 2007 4
+
+[ 2002 1 20 ] => 2002 4
+
+[ 2003 1 19 ] => 2003 4
+
+[ 2004 1 25 ] => 2004 4
+
+[ 2010 1 24 ] => 2010 4
+
+[ 2000 1 23 ] => 2000 4
+
+
+config 1 1 => 0
+
+[ 2006 1 16 ] => 2006 4
+
+[ 2007 1 22 ] => 2007 4
+
+[ 2002 1 21 ] => 2002 4
+
+[ 2003 1 20 ] => 2003 4
+
+[ 2004 1 19 ] => 2004 4
+
+[ 2010 1 18 ] => 2010 4
+
+[ 2000 1 17 ] => 2000 4
+
+
+config 1 7 => 0
+
+[ 2006 1 22 ] => 2006 4
+
+[ 2007 1 21 ] => 2007 4
+
+[ 2002 1 20 ] => 2002 4
+
+[ 2003 1 19 ] => 2003 4
+
+[ 2004 1 18 ] => 2004 4
+
+[ 2010 1 17 ] => 2010 4
+
+[ 2000 1 16 ] => 2000 4
+
+
+config 0 7 => 0
+
+[ 2006 1 1 ]  => 2006 1
+
+[ 2006 1 2 ]  => 2006 1
+
+[ 2006 1 7 ]  => 2006 1
+
+[ 2006 1 8 ]  => 2006 2
+
+[ 2006 12 30 ] => 2006 52
+
+[ 2006 12 31 ] => 2007 1
+
+[ 2009 1 1 ] => 2008 53
+
+[ 2009 1 2 ] => 2008 53
+
+[ 2009 1 3 ] => 2008 53
+
+[ 2009 1 4 ] => 2009 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/base.weeks_in_year.t b/t/base.weeks_in_year.t
new file mode 100755
index 0000000..872a033
--- /dev/null
+++ b/t/base.weeks_in_year.t
@@ -0,0 +1,114 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'base :: weeks_in_year';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+    $dmt->config("jan1week1",$test[1]);
+    $dmt->config("firstday",$test[2]);
+    return 0;
+  }
+  @ret = $obj->weeks_in_year(@test);
+  return @ret;
+}
+
+$dmt = new Date::Manip::TZ;
+$obj = $dmt->base();
+$dmt->config("forcedate","now,America/New_York");
+
+$tests="
+config 0 1 => 0
+
+2006 => 52
+
+2007 => 52
+
+2002 => 52
+
+2003 => 52
+
+2004 => 53
+
+2010 => 52
+
+2000 => 52
+
+
+config 0 7 => 0
+
+2006 => 52
+
+2007 => 52
+
+2002 => 52
+
+2003 => 53
+
+2004 => 52
+
+2010 => 52
+
+2000 => 52
+
+
+config 1 1 => 0
+
+2006 => 53
+
+2007 => 52
+
+2002 => 52
+
+2003 => 52
+
+2004 => 52
+
+2010 => 52
+
+2000 => 53
+
+
+config 1 7 => 0
+
+2006 => 52
+
+2007 => 52
+
+2002 => 52
+
+2003 => 52
+
+2004 => 52
+
+2010 => 52
+
+2000 => 53
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.data_date_bsemi.t b/t/date.calc.data_date_bsemi.t
new file mode 100755
index 0000000..a0d5f3b
--- /dev/null
+++ b/t/date.calc.data_date_bsemi.t
@@ -0,0 +1,153 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,bsemi,08:00-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"bsemi");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config("ConfigFile","$testdir/Manip.cnf");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+'Jun 1 1999'                'Jun 4 1999'                  =>  0:0:0:2:0:0:0
+
+'Jun 1 1999'                'Jun 4 1999'               1  =>  0:0:0:-2:0:0:0
+
+'Jun 4 1999'                'Jun 1 1999'                  =>  0:0:0:-2:0:0:0
+
+'Jun 3 1999'                'Jun 8 1999'                  =>  0:0:0:3:0:0:0
+
+'Jun 3 1999'                'Jun 8 1999'               1  =>  0:0:0:-3:0:0:0
+
+'Jun 8 1999'                'Jun 3 1999'                  =>  0:0:0:-3:0:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'        =>  0:0:4:0:0:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'     1  =>  0:0:-4:0:0:0:0
+
+'Wed Feb  7 1996 noon'      'Wed Jan 10 1996 noon'        =>  0:0:-4:0:0:0:0
+
+'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30'     =>  0:0:0:0:2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30' 1  =>  0:0:0:0:-2:30:30
+
+'Tue Jan  9 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30'    =>  0:0:0:1:2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30' 1  =>  0:0:0:-1:2:30:30
+
+'Wed Jan 10 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:-1:2:30:30
+
+'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'        =>  0:0:1:0:0:0:0
+
+'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'     1  =>  0:0:-1:0:0:0:0
+
+'Mon Jan  6 1997 noon'      'Mon Dec 30 1996 noon'        =>  0:0:-1:0:0:0:0
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30'    =>  0:0:0:0:7:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30' 1  =>  0:0:0:0:-7:30:30
+
+'Wed Jan 10 1996 10:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-7:30:30
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00' 1  =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:2:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:1:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:2:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:3:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:3:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:7:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:1:2:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:2:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:1:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:1:0:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:7:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:7:0:0
+
+'Fri Jan 12 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
+
+'Sat Jan 13 1996 12:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_date_approx.t b/t/date.calc.date_date_approx.t
new file mode 100755
index 0000000..b3ad7e3
--- /dev/null
+++ b/t/date.calc.date_date_approx.t
@@ -0,0 +1,140 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,approx)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"approx");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+'Jan 10 1996 12:00:00'  'Jan  7 1998 12:00:00'  0 =>  2:0:0:-3:0:0:0
+
+'Jan 10 1996 12:00:00'  'Jan  7 1998 12:00:00'  1 =>  -2:0:0:+3:0:0:0
+
+'Jan 10 1996 12:00:00'  'Jan  7 1998 12:00:00'  2 =>  -2:0:0:+3:0:0:0
+
+'Jan  7 1998 12:00:00'  'Jan 10 1996 12:00:00'  0 =>  -2:0:0:+3:0:0:0
+
+'Jan  7 1998 12:00:00'  'Jan 10 1996 12:00:00'  1 =>  2:0:0:-3:0:0:0
+
+'Jan  7 1998 12:00:00'  'Jan 10 1996 12:00:00'  2 =>  2:0:0:-3:0:0:0
+
+'Jan 31 2005 12:00:00'  'Feb 28 2007 12:00:00'  0 =>  2:1:0:0:0:0:0
+
+'Jan 31 2005 12:00:00'  'Feb 28 2007 12:00:00'  1 =>  -2:1:0:0:0:0:0
+
+'Jan 31 2005 12:00:00'  'Feb 28 2007 12:00:00'  2 =>  -2:1:0:+3:0:0:0
+
+'Jan 31 2006 12:00:00'  'Feb 28 2008 12:00:00'  0 =>  2:1:0:-1:0:0:0
+
+'Jan 31 2006 12:00:00'  'Feb 28 2008 12:00:00'  1 =>  -2:1:0:+1:0:0:0
+
+'Jan 31 2006 12:00:00'  'Feb 28 2008 12:00:00'  2 =>  -2:1:0:+3:0:0:0
+
+'Jan 10 1996 12:00:00'  'Jan  8 1997 12:00:00'  0 =>  1:0:0:-2:0:0:0
+
+'Jan 10 1996 12:00:00'  'Jan  8 1997 12:00:00'  1 =>  -1:0:0:+2:0:0:0
+
+'Jan 10 1996 12:00:00'  'Jan  8 1997 12:00:00'  2 =>  -1:0:0:+2:0:0:0
+
+'Jan  8 1997 12:00:00'  'Jan 10 1996 12:00:00'  0 =>  -1:0:0:+2:0:0:0
+
+'Jan  8 1997 12:00:00'  'Jan 10 1996 12:00:00'  1 =>  1:0:0:-2:0:0:0
+
+'Jan  8 1997 12:00:00'  'Jan 10 1996 12:00:00'  2 =>  1:0:0:-2:0:0:0
+
+'May  8 1996 12:00:00'  'Apr  9 1997 12:00:00'  0 =>  0:11:0:1:0:0:0
+
+'May  8 1996 12:00:00'  'Apr  9 1997 12:00:00'  1 =>  0:-11:0:1:0:0:0
+
+'May  8 1996 12:00:00'  'Apr  9 1997 12:00:00'  2 =>  0:-11:0:1:0:0:0
+
+'Apr  9 1997 12:00:00'  'May  8 1996 12:00:00'    =>  0:-11:0:1:0:0:0
+
+'Apr 10 1996 12:00:00'  'May 14 1997 12:00:00'    =>  1:1:0:4:0:0:0
+
+'May 14 1997 12:00:00'  'Apr 10 1996 12:00:00'    =>  -1:1:0:4:0:0:0
+
+'Jan 10 1996 12:00:00'  'Feb  7 1996 12:00:00'    =>  0:1:0:-3:0:0:0
+
+'Feb  7 1996 12:00:00'  'Jan 10 1996 12:00:00'    =>  0:-1:0:+3:0:0:0
+
+'Jan  8 1996 12:00:00'  'Feb  9 1996 12:00:00'    =>  0:1:0:1:0:0:0
+
+'Feb  9 1996 12:00:00'  'Jan  8 1996 12:00:00'    =>  0:-1:0:1:0:0:0
+
+'Jan 1 1996 12:00:00'   'Jan 1 1996 14:30:30'     =>  0:0:0:0:2:30:30
+
+'Jan 1 1996 14:30:30'   'Jan 1 1996 12:00:00'     =>  0:0:0:0:-2:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 14:30:30'     =>  0:0:0:1:2:30:30
+
+'Jan 2 1996 14:30:30'   'Jan 1 1996 12:00:00'     =>  0:0:0:-1:2:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 10:30:30'     =>  0:0:0:1:-1:29:30
+
+'Jan 2 1996 10:30:30'   'Jan 1 1996 12:00:00'     =>  0:0:0:-1:+1:29:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1997 10:30:30'     =>  1:0:0:1:-1:29:30
+
+'Jan 2 1997 10:30:30'   'Jan 1 1996 12:00:00'     =>  -1:0:0:1:+1:29:30
+
+'Jan 31 1996 12:00:00'  'Feb 28 1997 10:30:30'    =>  1:1:0:0:-1:29:30
+
+'Feb 28 1997 10:30:30'  'Jan 31 1996 12:00:00'    =>  -1:1:0:+3:1:29:30
+
+'Jan 1 1997 00:00:01'   'Feb 1 1997 00:00:00'     =>  0:1:0:0:0:0:-1
+
+'Jan 1 1997 00:00:01'   'Mar 1 1997 00:00:00'     =>  0:2:0:0:0:0:-1
+
+'Jan 1 1997 00:00:01'   'Mar 1 1998 00:00:00'     =>  1:2:0:0:0:0:-1
+
+# With timezone
+
+'Jan 1 1997 12:00:01 CST'  'Mar 1 1998 12:00:00 CST'    =>  1:2:0:0:0:0:-1
+
+'Jan 1 1997 12:00:01 CST'  'Mar 1 1998 13:00:00 EST'    =>  1:2:0:0:0:0:-1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_date_bapprox.t b/t/date.calc.date_date_bapprox.t
new file mode 100755
index 0000000..72d79d9
--- /dev/null
+++ b/t/date.calc.date_date_bapprox.t
@@ -0,0 +1,94 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,bapprox)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"bapprox");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+'Jan 1 1999'                'Jun 4 1999'                  =>  0:5:0:3:0:0:0
+
+'Jan 1 1999'                'Jun 4 1999'               1  =>  0:-5:0:3:0:0:0
+
+'Jan 1 1999'                'Jun 4 1999'               2  =>  0:-5:0:1:0:0:0
+
+'Jun 4 1999'                'Jan 1 1999'                  =>  0:-5:0:1:0:0:0
+
+'Jan 3 1998'                'Jun 8 1999'                  =>  1:5:0:3:0:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'        =>  0:1:0:-2:5:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Jan  7 1998 noon'        =>  2:0:0:-2:5:0:0
+
+'Wed Jan  7 1998 noon'      'Wed Jan 10 1996 noon'        =>  -2:0:0:+2:4:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Jan  8 1997 noon'        =>  1:0:0:-2:0:0:0
+
+'Wed Jan  8 1997 noon'      'Wed Jan 10 1996 noon'        =>  -1:0:0:+2:0:0:0
+
+'Wed May  8 1996 noon'      'Wed Apr  9 1997 noon'        =>  0:11:0:1:0:0:0
+
+'Wed Apr  9 1997 noon'      'Wed May  8 1996 noon'        =>  0:-11:0:1:0:0:0
+
+'Wed Apr 10 1996 noon'      'Wed May 14 1997 noon'        =>  1:1:0:2:4:0:0
+
+'Wed May 14 1997 noon'      'Wed Apr 10 1996 noon'        =>  -1:1:0:2:5:0:0
+
+'Mon Jan  8 1996 noon'      'Fri Feb  9 1996 noon'        =>  0:1:0:1:0:0:0
+
+'Fri Feb  9 1996 noon'      'Mon Jan  8 1996 noon'        =>  0:-1:0:1:0:0:0
+
+'Tue Jan  9 1996 12:00:00'  'Fri Jan 10 1997 10:30:30'    =>  1:0:0:0:7:30:30
+
+'Fri Jan 10 1997 10:30:30'  'Tue Jan  9 1996 12:00:00'    =>  -1:0:0:0:7:30:30
+
+2012-01-10-12:00:00         2012-01-25-12:00:00           =>  0:0:2:1:0:0:0
+
+2012-01-10-12:00:00         2012-01-25-13:00:00           =>  0:0:2:1:1:0:0
+
+2012-01-10-12:00:00         2012-01-25-11:00:00           =>  0:0:2:0:8:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_date_business.t b/t/date.calc.date_date_business.t
new file mode 100755
index 0000000..bca350c
--- /dev/null
+++ b/t/date.calc.date_date_business.t
@@ -0,0 +1,153 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,business,08:00-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"business");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config("ConfigFile","$testdir/Manip.cnf");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+'Jun 1 1999'                'Jun 4 1999'                  =>  0:0:0:2:0:0:0
+
+'Jun 1 1999'                'Jun 4 1999'               1  =>  0:0:0:-2:0:0:0
+
+'Jun 4 1999'                'Jun 1 1999'                  =>  0:0:0:-2:0:0:0
+
+'Jun 3 1999'                'Jun 8 1999'                  =>  0:0:0:3:0:0:0
+
+'Jun 3 1999'                'Jun 8 1999'               1  =>  0:0:0:-3:0:0:0
+
+'Jun 8 1999'                'Jun 3 1999'                  =>  0:0:0:-3:0:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'        =>  0:0:0:19:0:0:0
+
+'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'     1  =>  0:0:0:-19:0:0:0
+
+'Wed Feb  7 1996 noon'      'Wed Jan 10 1996 noon'        =>  0:0:0:-19:0:0:0
+
+'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30'     =>  0:0:0:0:2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30' 1  =>  0:0:0:0:-2:30:30
+
+'Tue Jan  9 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30'    =>  0:0:0:1:2:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30' 1  =>  0:0:0:-1:2:30:30
+
+'Wed Jan 10 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:-1:2:30:30
+
+'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'        =>  0:0:0:4:0:0:0
+
+'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'     1  =>  0:0:0:-4:0:0:0
+
+'Mon Jan  6 1997 noon'      'Mon Dec 30 1996 noon'        =>  0:0:0:-4:0:0:0
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30'    =>  0:0:0:0:7:30:30
+
+'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30' 1  =>  0:0:0:0:-7:30:30
+
+'Wed Jan 10 1996 10:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-7:30:30
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00' 1  =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:2:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:1:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:2:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:3:0:0:0
+
+'Wed Jan 10 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:3:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:7:0:0
+
+'Wed Jan 10 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:7:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:1:2:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:2:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:1:0:0:0
+
+'Fri Jan 12 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:1:0:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:7:0:0
+
+'Fri Jan 12 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:7:0:0
+
+'Fri Jan 12 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:0:0:0
+
+'Fri Jan 12 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
+
+'Sat Jan 13 1996 12:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_date_exact.t b/t/date.calc.date_date_exact.t
new file mode 100755
index 0000000..0e0aac4
--- /dev/null
+++ b/t/date.calc.date_date_exact.t
@@ -0,0 +1,94 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,exact)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"exact");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+1996010112:00:00  1996010114:30:30    => 0:0:0:0:2:30:30
+
+1996010112:00:00  1996010114:30:30 1  => 0:0:0:0:-2:30:30
+
+1996010114:30:30  1996010112:00:00    => 0:0:0:0:-2:30:30
+
+1996010112:00:00  1996010214:30:30    => 0:0:0:0:26:30:30
+
+1996010112:00:00  1996010214:30:30 1  => 0:0:0:0:-26:30:30
+
+1996010112:00:00  1996010214:30:30 2  => 0:0:0:0:-26:30:30
+
+1996010214:30:30  1996010112:00:00    => 0:0:0:0:-26:30:30
+
+1996010112:00:00  1996010210:30:30    => 0:0:0:0:22:30:30
+
+1996010210:30:30  1996010112:00:00    => 0:0:0:0:-22:30:30
+
+1996010112:00:00  1997010210:30:30    => 0:0:0:0:8806:30:30
+
+1996010112:00:00  1997010210:30:30 1  => 0:0:0:0:-8806:30:30
+
+1996010112:00:00  1997010210:30:30 2  => 0:0:0:0:-8806:30:30
+
+1997010210:30:30  1996010112:00:00    => 0:0:0:0:-8806:30:30
+
+1997010100:00:01  1997020100:00:00    => 0:0:0:0:743:59:59
+
+1997010100:00:01  1997030100:00:00    => 0:0:0:0:1415:59:59
+
+1997010100:00:01  1998030100:00:00    => 0:0:0:0:10175:59:59
+
+2008010112:00:00  2008060112:00:00    => 0:0:0:0:3647:0:0
+
+# Timezones
+
+'1996010112:00:00 CST'  '1996010214:30:30 CST'    => 0:0:0:0:26:30:30
+
+'1996010112:00:00 CST'  '1996010215:30:30 EST'    => 0:0:0:0:26:30:30
+
+'2008010112:00:00 CST'  '2008060112:00:00 CDT'    => 0:0:0:0:3647:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_date_semi.t b/t/date.calc.date_date_semi.t
new file mode 100755
index 0000000..e5fff5d
--- /dev/null
+++ b/t/date.calc.date_date_semi.t
@@ -0,0 +1,94 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,date,semi)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+  push(@test,"semi");
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+1996-01-01-12:00:00  1996-01-01-14:30:30    => 0:0:0:0:2:30:30
+
+1996-01-01-12:00:00  1996-01-01-14:30:30 1  => 0:0:0:0:-2:30:30
+
+1996-01-01-14:30:30  1996-01-01-12:00:00    => 0:0:0:0:-2:30:30
+
+1996-01-01-12:00:00  1996-01-02-14:30:30    => 0:0:0:1:2:30:30
+
+1996-01-01-12:00:00  1996-01-02-14:30:30 1  => 0:0:0:-1:2:30:30
+
+1996-01-01-12:00:00  1996-01-02-14:30:30 2  => 0:0:0:-1:2:30:30
+
+1996-01-02-14:30:30  1996-01-01-12:00:00    => 0:0:0:-1:2:30:30
+
+1996-01-01-12:00:00  1996-01-02-10:30:30    => 0:0:0:1:-1:29:30
+
+1996-01-02-10:30:30  1996-01-01-12:00:00    => 0:0:0:-1:+1:29:30
+
+1996-01-01-12:00:00  1997-01-02-10:30:30    => 0:0:52:3:-1:29:30
+
+1996-01-01-12:00:00  1997-01-02-10:30:30 1  => 0:0:-52:3:+1:29:30
+
+1996-01-01-12:00:00  1997-01-02-10:30:30 2  => 0:0:-52:3:+1:29:30
+
+1997-01-02-10:30:30  1996-01-01-12:00:00    => 0:0:-52:3:+1:29:30
+
+1997-01-01-00:00:01  1997-02-01-00:00:00    => 0:0:4:3:0:0:-1
+
+1997-01-01-00:00:01  1997-03-01-00:00:00    => 0:0:8:3:0:0:-1
+
+1997-01-01-00:00:01  1998-03-01-00:00:00    => 0:0:60:4:0:0:-1
+
+2008-01-01-12:00:00  2008-06-01-12:00:00    => 0:0:21:5:0:0:0
+
+# Timezones
+
+'1996010112:00:00 CST'  '1996010214:30:30 CST'    => 0:0:0:1:2:30:30
+
+'1996010112:00:00 CST'  '1996010215:30:30 EST'    => 0:0:0:1:2:30:30
+
+'2008010112:00:00 CST'  '2008060112:00:00 CDT'    => 0:0:21:5:0:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta.romanian.t b/t/date.calc.date_delta.romanian.t
new file mode 100755
index 0000000..374a457
--- /dev/null
+++ b/t/date.calc.date_delta.romanian.t
@@ -0,0 +1,96 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,romanian)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York",
+              "language","romanian");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'Mie Febr 7 1996 8:00' +1:1:1:1 => 1996020809:01:01
+
+'Mie Nov 20 1996 amiaza' +0:5:0:0 => 1996112017:00:00
+
+'Mie Nov 20 1996 amiaza' +0:13:0:0 => 1996112101:00:00
+
+'Mie Nov 20 1996 amiaza' +3:2:0:0 => 1996112314:00:00
+
+'Mie Nov 20 1996 amiaza' -3:2:0:0 => 1996111710:00:00
+
+'Mie Nov 20 1996 amiaza' +3:13:0:0 => 1996112401:00:00
+
+'Mie Nov 20 1996 amiaza' +6:2:0:0 => 1996112614:00:00
+
+'Dec 31 1996 amiaza' +1:2:0:0 => 1997010114:00:00
+
+'Ian 31 1997 23:59:59' '+ 1 sec' => 1997020100:00:00
+
+'Mie Feb 7 1996 8:00' +1:1:1:1 => 1996020809:01:01
+
+'Mie Nov 20 1996 amiaza' +0:2:0:0 => 1996112014:00:00
+
+'Mie Nov 20 1996 amiaza' +3:7:0:0 => 1996112319:00:00
+
+'Dec 30 1996 amiaza' +1:2:0:0 => 1996123114:00:00
+
+'Mart 31 1997 23:59:59' '+ 1 sec' => 1997040100:00:00
+
+'Mie Nov 20 1996 amiaza' +0:0:1:0:0:0:0 => 1996112712:00:00
+
+'Mie Nov 20 1996 19:00' '5 ore' => 1996112100:00:00
+
+'Mie Nov 20 1996 12:00' +0:2:0:0 => 1996112014:00:00
+
+'Mie Nov 20 1996 12:00' '3 zile 2 h' => 1996112314:00:00
+
+'Mie Nov 20 1996 12:00' 'in urma 3 zile 2 ore' => 1996111710:00:00
+
+'Mie Nov 20 1996 12:00' '5 ore' => 1996112017:00:00
+
+'Mie Nov 20 1996 12:00' '3 zile 2 h' => 1996112314:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_approx.t b/t/date.calc.date_delta_approx.t
new file mode 100755
index 0000000..1c47180
--- /dev/null
+++ b/t/date.calc.date_delta_approx.t
@@ -0,0 +1,185 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'1996-02-07 08:00' +1:1:1:1 0 => 1996020809:01:01
+
+'1996-02-07 08:00' +1:1:1:1 1 => 1996020606:58:59
+
+'1996-02-07 08:00' +1:1:1:1 2 => 1996020606:58:59
+
+'1996-11-20 12:00:00' +0:5:0:0 0 => 1996112017:00:00
+
+'1996-11-20 12:00:00' +0:5:0:0 1 => 1996112007:00:00
+
+'1996-11-20 12:00:00' +0:5:0:0 2 => 1996112007:00:00
+
+'1996-11-20 12:00:00' +0:13:0:0 0 => 1996112101:00:00
+
+'1996-11-20 12:00:00' +0:13:0:0 1 => 1996111923:00:00
+
+'1996-11-20 12:00:00' +0:13:0:0 2 => 1996111923:00:00
+
+'1996-11-20 12:00:00' +3:2:0:0 0 => 1996112314:00:00
+
+'1996-11-20 12:00:00' +3:2:0:0 1 => 1996111710:00:00
+
+'1996-11-20 12:00:00' +3:2:0:0 2 => 1996111710:00:00
+
+'1996-11-20 12:00:00' -3:2:0:0 0 => 1996111710:00:00
+
+'1996-11-20 12:00:00' -3:2:0:0 1 => 1996112314:00:00
+
+'1996-11-20 12:00:00' -3:2:0:0 2 => 1996112314:00:00
+
+'1996-11-20 12:00:00' +3:13:0:0 0 => 1996112401:00:00
+
+'1996-11-20 12:00:00' +3:13:0:0 1 => 1996111623:00:00
+
+'1996-11-20 12:00:00' +3:13:0:0 2 => 1996111623:00:00
+
+'1996-11-20 12:00:00' +6:2:0:0 0 => 1996112614:00:00
+
+'1996-11-20 12:00:00' +6:2:0:0 1 => 1996111410:00:00
+
+'1996-11-20 12:00:00' +6:2:0:0 2 => 1996111410:00:00
+
+'1996-12-31 12:00:00' +1:2:0:0 0 => 1997010114:00:00
+
+'2009-05-13 12:00:00' '+10 weeks' 0 => 2009072212:00:00
+
+'2009-05-13 12:00:00' '+10 weeks' 1 => 2009030412:00:00
+
+'2009-05-13 12:00:00' '+10 weeks' 2 => 2009030412:00:00
+
+'2009-05-13 12:00:00' '-10 weeks' 0 => 2009030412:00:00
+
+'2009-05-13 12:00:00' '-10 weeks' 1 => 2009072212:00:00
+
+'2009-05-13 12:00:00' '-10 weeks' 2 => 2009072212:00:00
+
+# Approximate deltas
+
+'2009-05-13 12:00:00' '+ 1 year' 0 => 2010051312:00:00
+
+'2009-05-13 12:00:00' '+ 1 year' 1 => 2008051312:00:00
+
+'2009-05-13 12:00:00' '+ 1 year' 2 => 2008051312:00:00
+
+2008022912:00:00 '+ 1 year' 0 => 2009022812:00:00
+
+'2009-05-13 12:00:00' '+ 13 months' 0 => 2010061312:00:00
+
+'2009-05-13 12:00:00' '+ 13 months' 1 => 2008041312:00:00
+
+'2009-05-13 12:00:00' '+ 13 months' 2 => 2008041312:00:00
+
+# Handle subtraction
+
+'1998-11-28 00:00:00' 1:1:1:0:0:0:0 0 => 2000010400:00:00
+
+'1998-11-28 00:00:00' 1:1:1:0:0:0:0 1 => 1997102100:00:00
+
+'1998-11-28 00:00:00' 1:1:1:0:0:0:0 2 => 1997102100:00:00
+
+'1999-01-04 00:00:00' 0:1:1:0:0:0:0 0 => 1999021100:00:00
+
+'1999-01-04 00:00:00' 0:1:1:0:0:0:0 1 => 1998112700:00:00
+
+'1999-01-04 00:00:00' 0:1:1:0:0:0:0 2 => 1998112800:00:00
+
+1998112800:00:00 -0:1:1:0:0:0:0 0 => 1998102100:00:00
+
+1998112800:00:00 -0:1:1:0:0:0:0 1 => 1999010400:00:00
+
+1998112800:00:00 -0:1:1:0:0:0:0 2 => 1999010500:00:00
+
+# Handle large deltas
+
+'2000-01-01 00:00:00' 1:1:1:0:11111111:0:0  0 => 3268082700:00:00
+
+'2000-01-01 00:00:00' -1:1:1:0:11111111:0:0 0 => 0731050801:03:58
+
+'2000-01-01 00:00:00' 1:1:1:0:-11111111:0:0 0 => 0733072301:03:58
+
+'2000-01-01 00:00:00' 1:1:1:0:11111111:0:0  1 => 0731050801:03:58
+
+'2000-01-01 00:00:00' -1:1:1:0:11111111:0:0 1 => 3268082700:00:00
+
+'2000-01-01 00:00:00' 1:1:1:0:-11111111:0:0 1 => 3266061200:00:00
+
+'2000-01-01 00:00:00' 1:1:1:0:11111111:0:0  2 => 0731050701:03:58
+
+'2000-01-01 00:00:00' -1:1:1:0:11111111:0:0 2 => 3268082700:00:00
+
+'2000-01-01 00:00:00' 1:1:1:0:-11111111:0:0 2 => 3266061300:00:00
+
+'1996-02-29 00:00:00' 1:1:1:0:11111111:0:0  0 => 3264102200:00:00
+
+'1996-02-29 00:00:00' -1:1:1:0:11111111:0:0 0 => 0727070601:03:58
+
+'1996-02-29 00:00:00' 1:1:1:0:-11111111:0:0 0 => 0729091701:03:58
+
+'1996-02-29 00:00:00' 1:1:1:0:11111111:0:0  1 => 0727070601:03:58
+
+'1996-02-29 00:00:00' -1:1:1:0:11111111:0:0 1 => 3264102200:00:00
+
+'1996-02-29 00:00:00' 1:1:1:0:-11111111:0:0 1 => 3262081000:00:00
+
+'1996-02-29 00:00:00' 1:1:1:0:11111111:0:0  2 => 0727070501:03:58
+
+'1996-02-29 00:00:00' -1:1:1:0:11111111:0:0 2 => 3264102400:00:00
+
+'1996-02-29 00:00:00' 1:1:1:0:-11111111:0:0 2 => 3262081000:00:00
+
+'2000-01-01 00:00:00' 1:1:1:0:11111111111:0:0  0 => '[calc] Delta too large'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.0.t b/t/date.calc.date_delta_business.0.t
new file mode 100755
index 0000000..682eee3
--- /dev/null
+++ b/t/date.calc.date_delta_business.0.t
@@ -0,0 +1,119 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business 08:00-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'Wed Nov 20 1996 noon' 'business +0:5:0:0' => 1996112108:00:00
+
+'Wed Nov 20 1996 noon' 'business -0:5:0:0' 1 => 1996112108:00:00
+
+'Wed Nov 20 1996 noon' 'business +0:2:0:0' => 1996112014:00:00
+
+'Wed Nov 20 1996 noon' 'business -0:2:0:0' 1 => 1996112014:00:00
+
+'Wed Nov 20 1996 noon' 'business +3:2:0:0' => 1996112514:00:00
+
+'Wed Nov 20 1996 noon' 'business 3:2:0:0' 1 => 1996111510:00:00
+
+'Wed Nov 20 1996 noon' 'business -3:2:0:0' => 1996111510:00:00
+
+'Wed Nov 20 1996 noon' 'business +3:7:0:0' => 1996112610:00:00
+
+'Wed Nov 20 1996 noon' 'business +6:2:0:0' => 1996112814:00:00
+
+'Dec 31 1996 noon' 'business +1:2:0:0' => 1997010114:00:00
+
+'Dec 30 1996 noon' 'business +1:2:0:0' => 1996123114:00:00
+
+'Mar 31 1997 16:59:59' 'business + 1 sec' => 1997040108:00:00
+
+'Wed Nov 20 1996 noon' 'business +0:0:1:0:0:0:0' => 1996112712:00:00
+
+2002120600:00:00 '- business 4 hours' => 2002120513:00:00
+
+2002120600:00:01 '- business 4 hours' => 2002120513:00:00
+
+2002120523:59:59 '- business 4 hours' => 2002120513:00:00
+
+2002120602:00:00 '- business 4 hours' => 2002120513:00:00
+
+2002120609:00:00 '- business 4 hours' => 2002120514:00:00
+
+2002120609:00:10 '- business 4 hours' => 2002120514:00:10
+
+2002120611:00:00 '- business 4 hours' => 2002120516:00:00
+
+2002120612:00:00 '- business 4 hours' => 2002120608:00:00
+
+2002120512:00:00 '+ business 4 hours' => 2002120516:00:00
+
+2002120514:00:00 '+ business 4 hours' => 2002120609:00:00
+
+2002120522:00:00 '+ business 4 hours' => 2002120612:00:00
+
+2002120523:59:59 '+ business 4 hours' => 2002120612:00:00
+
+2002120602:00:00 '+ business 4 hours' => 2002120612:00:00
+
+2002120609:00:00 '+ business 4 hours' => 2002120613:00:00
+
+1998010500:00:00 '0:1:1:0:0:0:0 business' 0 => 1998021208:00:00
+
+1998010500:00:00 '0:1:1:0:0:0:0 business' 1 => 1997112808:00:00
+
+1998010500:00:00 '0:1:1:0:0:0:0 business' 2 => '[calc] Unable to perform calculation'
+
+1998010400:00:00 '0:1:1:0:0:0:0 business' 0 => 1998021108:00:00
+
+1998010400:00:00 '0:1:1:0:0:0:0 business' 1 => 1997112708:00:00
+
+1998010400:00:00 '0:1:1:0:0:0:0 business' 2 => '[calc] Unable to perform calculation'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.1.t b/t/date.calc.date_delta_business.1.t
new file mode 100755
index 0000000..fe45231
--- /dev/null
+++ b/t/date.calc.date_delta_business.1.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business 08:30-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config(qw(workdaybeg 08:30:00));
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'Wed Nov 20 1996 noon' 'business +0:5:0:0' => 1996112108:30:00
+
+'Wed Nov 20 1996 noon' 'business +3:7:0:0' => 1996112610:30:00
+
+'Mar 31 1997 16:59:59' 'business + 1 sec' => 1997040108:30:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.2.t b/t/date.calc.date_delta_business.2.t
new file mode 100755
index 0000000..c14e5cb
--- /dev/null
+++ b/t/date.calc.date_delta_business.2.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business 09:00-17:30)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config(qw(workdaybeg 09:00:00));
+$obj1->config(qw(workdayend 17:30:00));
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'Wed Nov 20 1996 noon' 'business +0:5:0:0' => 1996112017:00:00
+
+'Wed Nov 20 1996 noon' 'business +3:7:0:0' => 1996112610:30:00
+
+'Mar 31 1997 16:59:59' 'business + 1 sec' => 1997033117:00:00
+
+'Apr 15 2010 17:12:00' 'business + 2 days' => 2010041917:12:00
+
+'Apr 6 2012 17:25:00' 'business +0:8:15:0' => 2012040917:10:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.3.t b/t/date.calc.date_delta_business.3.t
new file mode 100755
index 0000000..aa883a9
--- /dev/null
+++ b/t/date.calc.date_delta_business.3.t
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business 05:00-16:30)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config(qw(workdaybeg 05:00:00));
+$obj1->config(qw(workdayend 16:30:00));
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'2012-04-06 16:25:00' 'business +0:10:15:0' => 2012040915:10:00
+
+'2012-04-09 05:05:00' 'business -0:5:15:0' => 2012040611:20:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.4.t b/t/date.calc.date_delta_business.4.t
new file mode 100755
index 0000000..49fd3fe
--- /dev/null
+++ b/t/date.calc.date_delta_business.4.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business 09:00-16:30)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config(qw(workdaybeg 09:00:00));
+$obj1->config(qw(workdayend 16:30:00));
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'2011-04-01 12:32:00' 'business + 7 hours' => 2011040412:02:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_business.french.t b/t/date.calc.date_delta_business.french.t
new file mode 100755
index 0000000..fb2ca26
--- /dev/null
+++ b/t/date.calc.date_delta_business.french.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,delta,business,french)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York",
+              "language","french");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'Mer Nov 20 1996 12h00' 'il y a 3 jour 2 heures professionel' => 1996111510:00:00
+
+'Mer Nov 20 1996 12:00' '5 heure professionel' => 1996112108:00:00
+
+'Mer Nov 20 1996 12:00' '+0:2:0:0 professionel' => 1996112014:00:00
+
+'Mer Nov 20 1996 12:00' '3 jour 2 h professionel' => 1996112514:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.calc.date_delta_exact.t b/t/date.calc.date_delta_exact.t
new file mode 100755
index 0000000..e713705
--- /dev/null
+++ b/t/date.calc.date_delta_exact.t
@@ -0,0 +1,90 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: calc (date,exact delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  return $$obj1{"err"}  if ($err);
+  $err = $obj2->parse(shift(@test));
+  return $$obj2{"err"}  if ($err);
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  return   if (! defined $obj3);
+  $err = $obj3->err();
+  return $err  if ($err);
+  $ret = $obj3->value();
+  $abb = $$obj3{'data'}{'abb'};
+  return ($ret,$abb);
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+2011-12-11-12:00:00    +24:0:0      => 2011121212:00:00 EST
+
+2011-12-11-12:00:00    +97:1:30     => 2011121513:01:30 EST
+
+2011-04-03-12:00:00    +2018:2:45   => 2011062614:02:45 EDT
+
+1997-01-31-23:59:59    '+ 1 sec'    => 1997020100:00:00 EST
+
+2005-02-15-13:59:11    -10h         => 2005021503:59:11 EST
+
+2005-02-15-13:59:11    '-10h +0s'   => 2005021503:59:11 EST
+
+2001-02-03-04:05:06    '+ 2 hours'  => 2001020306:05:06 EST
+
+2001-02-03-04:05:06    '- 2 hours'  => 2001020302:05:06 EST
+
+2001-02-03-04:05:06    '+ -2 hours' => '[parse] Invalid delta string'
+
+2011-12-11-12:00:00 +878400000:0:0  => '[calc] Delta too large'
+
+#
+# Spring forward: 2011-03-13 02:00 EST -> 2011-03-13 03:00 EDT
+#
+
+2011-03-13-01:59:59         +1           => 2011031303:00:00 EDT
+
+2011-03-12-12:00:00         +24:0:0      => 2011031313:00:00 EDT
+
+#
+# Fall back: 2011-11-06 02:00 EDT -> 2011-11-06 01:00 EST
+#
+
+'2011-11-06 01:59:59 EDT'   +1           => 2011110601:00:00 EST
+
+2011-04-03-12:00:00    +87840000:0:0     => '[calc] Delta produces date outside valid range'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.cmp.t b/t/date.cmp.t
new file mode 100755
index 0000000..e8719ae
--- /dev/null
+++ b/t/date.cmp.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: cmp';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $obj1->parse($test[0]);
+  $obj2->parse($test[1]);
+  return $obj1->cmp($obj2);
+}
+
+$obj1 = new Date::Manip::Date;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_date();
+
+$tests="
+
+2007020312:00:00 2007020312:00:00 => 0
+
+2007020312:00:00 2007020312:00:01 => -1
+
+2007020312:00:01 2007020312:00:00 => 1
+
+'2007020312:00:00 EST' '2007020312:00:00 CST' => -1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.complete.t b/t/date.complete.t
new file mode 100755
index 0000000..1d3f267
--- /dev/null
+++ b/t/date.complete.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: complete';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@arg)=@_;
+  
+  my $err = $obj->parse($date);
+  if ($err) {
+     $err = $obj->err();
+     return ($obj->value(),$err);
+  } else {
+     my $d = $obj->value();
+     my $c = $obj->complete(@arg);
+     return($d,$c);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+2000-06                  => 2000060100:00:00  0
+
+2000-06-01               => 2000060100:00:00  0
+
+2000-06-01-00:00         => 2000060100:00:00  0
+
+2000-06-01-00:00:00      => 2000060100:00:00  1
+
+2000-06-01-00:00     h   => 2000060100:00:00  1
+
+2000-06-01-00:00     m   => 2000060100:00:00  1
+
+2000-06-01-00:00     s   => 2000060100:00:00  0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.convert.t b/t/date.convert.t
new file mode 100755
index 0000000..068e0a1
--- /dev/null
+++ b/t/date.convert.t
@@ -0,0 +1,73 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: convert';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,$isdst,@test)=@_;
+  $obj->_init();
+  $err = $obj->set("date",$date,$isdst);
+  $err = $obj->convert(@test) if (! $err);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1985 01 01 00 30 00 ] 0 America/Chicago => 1984123123:30:00
+
+[ 1985 01 01 12 00 00 ] 0 America/Chicago => 1985010111:00:00
+
+[ 1985 04 28 01 00 00 ] 0 America/Chicago => 1985042800:00:00
+
+[ 1985 04 28 03 00 00 ] 0 America/Chicago => 1985042801:00:00
+
+[ 1985 04 28 03 30 00 ] 0 America/Chicago => 1985042801:30:00
+
+[ 1985 04 28 04 00 00 ] 0 America/Chicago => 1985042803:00:00
+
+[ 1985 10 27 00 30 00 ] 0 America/Chicago => 1985102623:30:00
+
+[ 1985 10 27 01 00 00 ] 1 America/Chicago => 1985102700:00:00
+
+[ 1985 10 27 01 30 00 ] 1 America/Chicago => 1985102700:30:00
+
+[ 1985 10 27 01 00 00 ] 0 America/Chicago => 1985102701:00:00
+
+[ 1985 10 27 01 30 00 ] 0 America/Chicago => 1985102701:30:00
+
+[ 1985 10 27 02 00 00 ] 0 America/Chicago => 1985102701:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.holiday.0.t b/t/date.holiday.0.t
new file mode 100755
index 0000000..7aaac9e
--- /dev/null
+++ b/t/date.holiday.0.t
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: holiday';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my($date) = shift(@test);
+  $obj->set("date",$date);
+  return $obj->holiday();
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests=qq{
+
+[ 2009 08 01 12 00 00 ] => __undef__
+
+[ 2009 08 03 03 00 00 ] => __undef__
+
+[ 2009 08 03 12 00 00 ] => __undef__
+
+[ 2009 07 04 00 00 00 ] => __undef__
+
+[ 2009 07 03 00 00 00 ] => 'Independence Day'
+
+[ 2009 11 26 00 00 00 ] => Thanksgiving
+
+[ 2009 11 27 00 00 00 ] => __blank__
+
+[ 1999 06 02 00 00 00 ] => 'A special test holiday for 1999'
+
+[ 1999 12 31 00 00 00 ] => "New Year's Day"
+
+[ 2000 01 01 00 00 00 ] => __undef__
+
+[ 2001 01 01 00 00 00 ] => "New Year's Day"
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.holiday.1.t b/t/date.holiday.1.t
new file mode 100755
index 0000000..8a6d8e1
--- /dev/null
+++ b/t/date.holiday.1.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: holiday (split)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my($date) = shift(@test);
+  $obj->set("date",$date);
+  return $obj->holiday();
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf.part1");
+$obj->config("ConfigFile","$testdir/Manip.cnf.part2");
+
+$tests=qq{
+
+[ 2009 08 01 12 00 00 ] => __undef__
+
+[ 2009 08 03 03 00 00 ] => __undef__
+
+[ 2009 08 03 12 00 00 ] => __undef__
+
+[ 2009 07 04 00 00 00 ] => __undef__
+
+[ 2009 07 03 00 00 00 ] => 'Independence Day'
+
+[ 2009 11 26 00 00 00 ] => Thanksgiving
+
+[ 2009 11 27 00 00 00 ] => __blank__
+
+[ 1999 12 31 00 00 00 ] => "New Year's Day"
+
+[ 2000 01 01 00 00 00 ] => __undef__
+
+[ 2001 01 01 00 00 00 ] => "New Year's Day"
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.init_args.t b/t/date.init_args.t
new file mode 100755
index 0000000..126bfb2
--- /dev/null
+++ b/t/date.init_args.t
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: _init_args';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $obj = new Date::Manip::Date(@test);
+  return $obj->err();
+}
+
+$tests="
+
+2001-01-01-00:00:00        => __blank__
+
+2001-01-01-00:00:00 nodow  => __blank__
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.is.t b/t/date.is.t
new file mode 100755
index 0000000..bead0d8
--- /dev/null
+++ b/t/date.is.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: is';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($test)=@_;
+  if ($test eq 'date') {
+     return $obj->is_date();
+  } elsif ($test eq 'delta') {
+     return $obj->is_delta();
+  } elsif ($test eq 'recur') {
+     return $obj->is_recur();
+  }
+}
+
+$obj = new Date::Manip::Date;
+
+$tests="
+
+date => 1
+
+delta => 0
+
+recur => 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.is_business_day.t b/t/date.is_business_day.t
new file mode 100755
index 0000000..62d11bf
--- /dev/null
+++ b/t/date.is_business_day.t
@@ -0,0 +1,70 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: is_business_day';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my($date) = shift(@test);
+  $obj->set("date",$date);
+  return $obj->is_business_day(@test);
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+[ 2009 08 01 12 00 00 ] => 0
+
+[ 2009 08 03 03 00 00 ] => 1
+
+[ 2009 08 03 12 00 00 ] => 1
+
+[ 2009 08 03 03 00 00 ] 1 => 0
+
+[ 2009 08 03 12 00 00 ] 1 => 1
+
+[ 2009 07 04 00 00 00 ] => 0
+
+[ 2009 07 03 00 00 00 ] => 0
+
+[ 2009 11 26 00 00 00 ] => 0
+
+[ 2009 11 27 00 00 00 ] => 0
+
+[ 1999 06 02 00 00 00 ] => 0
+
+[ 1999 12 31 00 00 00 ] => 0
+
+[ 2000 01 01 00 00 00 ] => 0
+
+[ 1999 01 01 00 00 00 ] => 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_events.0.t b/t/date.list_events.0.t
new file mode 100755
index 0000000..a5f63d7
--- /dev/null
+++ b/t/date.list_events.0.t
@@ -0,0 +1,167 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_events';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@test)=@_;
+  $obj->err(1);
+  $obj->parse($date);
+  @d = $obj->list_events(@test);
+  @ret = ();
+  foreach $d (@d) {
+     ($d0,$d1,$name) = @$d;
+     $v0 = $d0->value();
+     $v1 = $d1->value();
+     push(@ret,$v0,$v1,$name);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("ConfigFile","$testdir/Events.cnf");
+
+$tests ="
+
+2000-02-01
+   =>
+   2000020100:00:00
+   2000020123:59:59
+   Event01
+   2000020100:00:00
+   2000020123:59:59
+   Event03
+
+2000-02-01
+0
+   =>
+   2000020100:00:00
+   2000020123:59:59
+   Event01
+   2000020100:00:00
+   2000020123:59:59
+   Event03
+   2000020112:00:00
+   2000020112:59:59
+   Event02
+   2000020112:00:00
+   2000020112:59:59
+   Event04
+
+'2000-02-01 12:00:00'
+   =>
+   2000020100:00:00
+   2000020123:59:59
+   Event01
+   2000020100:00:00
+   2000020123:59:59
+   Event03
+   2000020112:00:00
+   2000020112:59:59
+   Event02
+   2000020112:00:00
+   2000020112:59:59
+   Event04
+
+'2000-02-01 11:00:00'
+   =>
+   2000020100:00:00
+   2000020123:59:59
+   Event01
+   2000020100:00:00
+   2000020123:59:59
+   Event03
+
+'2001-02-01 12:00:00'
+   =>
+   2001020100:00:00
+   2001020123:59:59
+   Event03
+   2001020112:00:00
+   2001020112:59:59
+   Event04
+
+'2000-02-03 12:59:59'
+   =>
+
+'2000-02-03 13:00:00'
+   =>
+   2000020313:00:00
+   2000020313:59:59
+   Event05
+
+'2000-02-05 00:00:00'
+   =>
+   2000020500:00:00
+   2000020623:59:59
+   Event07
+   2000020500:00:00
+   2000020623:59:59
+   Event08
+
+'2001-02-05 00:00:00'
+   =>
+   2001020500:00:00
+   2001020623:59:59
+   Event08
+
+'2000-02-05 10:00:00'
+   =>
+   2000020500:00:00
+   2000020623:59:59
+   Event07
+   2000020500:00:00
+   2000020623:59:59
+   Event08
+   2000020510:00:00
+   2000020510:59:59
+   Event06
+
+'2000-02-07 10:00:00'
+   =>
+   2000020710:00:00
+   2000020712:59:59
+   Event09
+   2000020710:00:00
+   2000020713:59:59
+   Event10
+   2000020710:00:00
+   2000020714:59:59
+   Event11
+
+'2001-02-07 10:00:00'
+   =>
+   2001020710:00:00
+   2001020713:59:59
+   Event10
+   2001020710:00:00
+   2001020714:59:59
+   Event11
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_events.1.t b/t/date.list_events.1.t
new file mode 100755
index 0000000..04e1526
--- /dev/null
+++ b/t/date.list_events.1.t
@@ -0,0 +1,74 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_events(format=dates)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,$date2)=@_;
+  $obj->err(1);
+  $obj->parse($date);
+  $obj2->parse($date2);
+
+  @d = $obj->list_events($obj2,"dates");
+  @ret = ();
+  foreach $d (@d) {
+     ($x,@name) = @$d;
+     $v = $x->value();
+     push(@ret,$v,@name);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("ConfigFile","$testdir/Events.cnf");
+$obj2 = $obj->new_date();
+
+$tests ="
+
+'2000-01-31 12:00:00'
+'2000-02-04 00:00:00'
+   =>
+   2000013112:00:00
+   2000020100:00:00
+   Event01
+   Event03
+   2000020112:00:00
+   Event01
+   Event02
+   Event03
+   Event04
+   2000020113:00:00
+   Event01
+   Event03
+   2000020200:00:00
+   2000020313:00:00
+   Event05
+   2000020314:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_holidays.0.t b/t/date.list_holidays.0.t
new file mode 100755
index 0000000..3b2af19
--- /dev/null
+++ b/t/date.list_holidays.0.t
@@ -0,0 +1,76 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_holidays (simple)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @date = $obj->list_holidays(@test);
+  @ret  = ();
+  foreach my $date (@date) {
+     my $val = $date->value();
+     push(@ret,$val);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-01-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+   =>
+   2000011700:00:00
+   2000022100:00:00
+   2000052900:00:00
+   2000070400:00:00
+   2000090400:00:00
+   2000100900:00:00
+   2000111000:00:00
+   2000112300:00:00
+   2000112400:00:00
+   2000122500:00:00
+
+1999
+   =>
+   1999010100:00:00
+   1999011800:00:00
+   1999021500:00:00
+   1999053100:00:00
+   1999060200:00:00
+   1999070500:00:00
+   1999090600:00:00
+   1999101100:00:00
+   1999111100:00:00
+   1999112500:00:00
+   1999112600:00:00
+   1999122400:00:00
+   1999123100:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_holidays.1.t b/t/date.list_holidays.1.t
new file mode 100755
index 0000000..35df200
--- /dev/null
+++ b/t/date.list_holidays.1.t
@@ -0,0 +1,103 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_holidays (New Years)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @date = $obj->list_holidays(@test);
+  @ret  = ();
+  foreach my $date (@date) {
+     my $val = $date->value();
+     push(@ret,$val);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-01-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Holidays.1.cnf");
+
+$tests="
+
+# Test New Year's Day definition:
+# Test Y, Y-1 with Y having Jan 1 on Mon (1990)
+# Test Y, Y-1 with Y having Jan 1 on Tue (1980)
+# Test Y, Y-1 with Y having Jan 1 on Fri (1999)
+# Test Y, Y-1 with Y having Jan 1 on Sat (2000)
+# Test Y, Y-1 with Y having Jan 1 on Sun (1989)
+
+# Test Christmas, Boxing Day definitions:
+# Christmas on Sun (1988)
+# Christmas on Mon (2000)
+# Christmas on Fri (1998)
+# Christmas on Sat (1999)
+
+2000
+   =>
+   2000122500:00:00
+   2000122600:00:00
+
+1999
+   =>
+   1999010100:00:00
+   1999122700:00:00
+   1999122800:00:00
+   1999123100:00:00
+
+1998
+   =>
+   1998010100:00:00
+   1998122500:00:00
+   1998122800:00:00
+
+1990
+   =>
+   1990010100:00:00
+   1990122500:00:00
+   1990122600:00:00
+
+1989
+   =>
+   1989010200:00:00
+   1989122500:00:00
+   1989122600:00:00
+
+1988
+   =>
+   1988010100:00:00
+   1988122600:00:00
+   1988122700:00:00
+
+1980
+   =>
+   1980010100:00:00
+   1980122500:00:00
+   1980122600:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_holidays.2.t b/t/date.list_holidays.2.t
new file mode 100755
index 0000000..aecb60e
--- /dev/null
+++ b/t/date.list_holidays.2.t
@@ -0,0 +1,103 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_holidays (New Years 2)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @date = $obj->list_holidays(@test);
+  @ret  = ();
+  foreach my $date (@date) {
+     my $val = $date->value();
+     push(@ret,$val);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-01-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Holidays.2.cnf");
+
+$tests="
+
+# Test New Year's Day definition:
+# Test Y, Y-1 with Y having Jan 1 on Mon (1990)
+# Test Y, Y-1 with Y having Jan 1 on Tue (1980)
+# Test Y, Y-1 with Y having Jan 1 on Fri (1999)
+# Test Y, Y-1 with Y having Jan 1 on Sat (2000)
+# Test Y, Y-1 with Y having Jan 1 on Sun (1989)
+
+# Test Christmas, Boxing Day definitions:
+# Christmas on Sun (1988)
+# Christmas on Mon (2000)
+# Christmas on Fri (1998)
+# Christmas on Sat (1999)
+
+2000
+   =>
+   2000122500:00:00
+   2000122600:00:00
+
+1999
+   =>
+   1999010100:00:00
+   1999122700:00:00
+   1999122800:00:00
+   1999123100:00:00
+
+1998
+   =>
+   1998010100:00:00
+   1998122500:00:00
+   1998122800:00:00
+
+1990
+   =>
+   1990010100:00:00
+   1990122500:00:00
+   1990122600:00:00
+
+1989
+   =>
+   1989010200:00:00
+   1989122500:00:00
+   1989122600:00:00
+
+1988
+   =>
+   1988010100:00:00
+   1988122600:00:00
+   1988122700:00:00
+
+1980
+   =>
+   1980010100:00:00
+   1980122500:00:00
+   1980122600:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_holidays.3.t b/t/date.list_holidays.3.t
new file mode 100755
index 0000000..52a19a8
--- /dev/null
+++ b/t/date.list_holidays.3.t
@@ -0,0 +1,70 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_holidays (multiple)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @date = $obj->list_holidays(@test);
+  @ret  = ();
+  foreach my $date (@date) {
+     my $d = $date->value();
+     my @h = $date->holiday();
+     foreach my $h (@h) {
+       push(@ret,"$d = $h");
+     }
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-01-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Holidays.3.cnf");
+
+$tests="
+
+2010
+   =>
+   '2010010100:00:00 = New Years Day (observed)'
+   '2010010100:00:00 = New Years Day'
+   '2010061700:00:00 = Bunker Hill Day'
+   '2010062000:00:00 = Father's Day'
+   '2010110200:00:00 = Election Day'
+   '2010110200:00:00 = Day of the Dead'
+   '2010123100:00:00 = New Years Day (observed)'
+
+2012
+   =>
+   '2012010100:00:00 = New Years Day'
+   '2012010200:00:00 = New Years Day (observed)'
+   '2012061700:00:00 = Father's Day'
+   '2012061700:00:00 = Bunker Hill Day'
+   '2012110200:00:00 = Day of the Dead'
+   '2012110600:00:00 = Election Day'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.list_holidays.4.t b/t/date.list_holidays.4.t
new file mode 100755
index 0000000..848721d
--- /dev/null
+++ b/t/date.list_holidays.4.t
@@ -0,0 +1,137 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: list_holidays (new years)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  if ($test[0] eq 'configfile') {
+     $obj->config('EraseHolidays',1,
+                  'ConfigFile',"$testdir/$test[1]");
+     return ();
+  }
+
+  @ret = ();
+  ($y0,$y1) = @test;
+  foreach my $y ($y0..$y1) {
+    @date = $obj->list_holidays($y);
+    foreach my $date (@date) {
+       my $d = $date->value();
+       push(@ret,$d);
+    }
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+
+$obj->config("forcedate","2000-01-01-00:00:00,America/New_York");
+
+$tests="
+
+configfile New_Years.1.cnf =>
+
+2000 2015 =>
+   2000010100:00:00
+   2001010100:00:00
+   2002010100:00:00
+   2003010100:00:00
+   2004010100:00:00
+   2005010100:00:00
+   2006010100:00:00
+   2007010100:00:00
+   2008010100:00:00
+   2009010100:00:00
+   2010010100:00:00
+   2011010100:00:00
+   2012010100:00:00
+   2013010100:00:00
+   2014010100:00:00
+   2015010100:00:00
+
+configfile New_Years.2.cnf =>
+
+2000 2015 =>
+   2001010100:00:00
+   2002010100:00:00
+   2003010100:00:00
+   2004010100:00:00
+   2004123100:00:00
+   2006010200:00:00
+   2007010100:00:00
+   2008010100:00:00
+   2009010100:00:00
+   2010010100:00:00
+   2010123100:00:00
+   2012010200:00:00
+   2013010100:00:00
+   2014010100:00:00
+   2015010100:00:00
+
+configfile New_Years.3.cnf =>
+
+2000 2015 =>
+   2000010100:00:00
+   2001010100:00:00
+   2002010100:00:00
+   2003010100:00:00
+   2004010100:00:00
+   2005010100:00:00
+   2006010200:00:00
+   2007010100:00:00
+   2008010100:00:00
+   2009010100:00:00
+   2010010100:00:00
+   2011010100:00:00
+   2012010200:00:00
+   2013010100:00:00
+   2014010100:00:00
+   2015010100:00:00
+
+configfile New_Years.4.cnf =>
+
+2000 2015 =>
+   2000010100:00:00
+   2001010100:00:00
+   2002010100:00:00
+   2003010100:00:00
+   2004010100:00:00
+   2005010100:00:00
+   2006010200:00:00
+   2007010100:00:00
+   2008010100:00:00
+   2009010100:00:00
+   2010010100:00:00
+   2011010100:00:00
+   2012010200:00:00
+   2013010100:00:00
+   2014010100:00:00
+   2015010100:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.nearest_business_day.t b/t/date.nearest_business_day.t
new file mode 100755
index 0000000..566957e
--- /dev/null
+++ b/t/date.nearest_business_day.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: nearest_business_day';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@test)=@_;
+  $obj->parse($date);
+  $obj->nearest_business_day(@test);
+  $ret = $obj->value();
+  return $ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+#       July 2007
+# Su Mo Tu We Th Fr Sa
+#  1  2  3  4  5  6  7
+#  8  9 10 11 12 13 14
+# 15 16 17 18 19 20 21
+# 22 23 24 25 26 27 28
+# 29 30 31
+
+'Jul 18 2007 12:00:00' => 2007071812:00:00
+
+'Jul 21 2007 12:00:00' => 2007072012:00:00
+
+'Jul 22 2007 12:00:00' => 2007072312:00:00
+
+
+'Jul 4 2007 12:00:00' => 2007070412:00:00
+
+'Jul 4 2007 12:00:00' 1 => 2007070412:00:00
+
+'Jul 4 2007 12:00:00' 0 => 2007070412:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.next.t b/t/date.next.t
new file mode 100755
index 0000000..82ba454
--- /dev/null
+++ b/t/date.next.t
@@ -0,0 +1,133 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: next';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $date = shift(@test);
+  $obj->set("date",$date);
+  $err = $obj->next(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     return [ $obj->value() ];
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1996 11 22 17 49 30 ] 6         0                            => [ 1996 11 23 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 6         1                            => [ 1996 11 23 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         0                            => [ 1996 11 29 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         0                            => [ 1996 11 29 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         1                            => [ 1996 11 22 17 49 30 ]
+
+
+[ 1996 11 22 17 49 30 ] 5         0 [ 18 30 ]                  => [ 1996 11 29 18 30 0 ]
+
+
+[ 1996 11 22 17 49 30 ] 5         0 [ 18 30 45 ]               => [ 1996 11 29 18 30 45 ]
+
+[ 1996 11 22 17 49 30 ] 5         1 [ 14 30 45 ]               => [ 1996 11 22 14 30 45 ]
+
+[ 1996 11 22 17 49 30 ] 5         2 [ 14 30 45 ]               => [ 1996 11 29 14 30 45 ]
+
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ 18 __undef__ __undef__ ] => [ 1996 11 22 18 0 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 30 __undef__ ]        => [ 1996 11 22 18 30 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 30 45 ]               => [ 1996 11 22 18 30 45 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 __undef__ 45 ]        => [ 1996 11 22 18 0 45 ]
+
+
+[ 1996 11 22 17 0 0 ]   __undef__ 0 [ 17 __undef__ __undef__ ] => [ 1996 11 23 17 0 0 ]
+
+[ 1996 11 22 17 0 0 ]   __undef__ 1 [ 17 0 0 ]                 => [ 1996 11 22 17 0 0 ]
+
+[ 1996 11 22 17 49 0 ]  __undef__ 0 [ 17 49 0 ]                => [ 1996 11 23 17 49 0 ]
+
+[ 1996 11 22 17 49 0 ]  __undef__ 1 [ 17 49 0 ]                => [ 1996 11 22 17 49 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 17 49 33 ]               => [ 1996 11 23 17 49 33 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 1 [ 17 49 33 ]               => [ 1996 11 22 17 49 33 ]
+
+[ 1996 11 22 17 0 33 ]  __undef__ 0 [ 17 __undef__ 33 ]        => [ 1996 11 23 17 0 33 ]
+
+[ 1996 11 22 17 0 33 ]  __undef__ 1 [ 17 __undef__ 33 ]        => [ 1996 11 22 17 0 33 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ 30 0 ]         => [ 1996 11 22 18 30 0 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ 30 45 ]        => [ 1996 11 22 18 30 45 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ __undef__ 30 ] => [ 1996 11 22 17 50 30 ]
+
+[ 1996 11 22 17 30 0 ]  __undef__ 0 [ __undef__ 30 0 ]         => [ 1996 11 22 18 30 0 ]
+
+[ 1996 11 22 17 30 0 ]  __undef__ 1 [ __undef__ 30 0 ]         => [ 1996 11 22 17 30 0 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 0 [ __undef__ 30 45 ]        => [ 1996 11 22 18 30 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 1 [ __undef__ 30 45 ]        => [ 1996 11 22 17 30 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 0 [ __undef__ __undef__ 45 ] => [ 1996 11 22 17 31 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 1 [ __undef__ __undef__ 45 ] => [ 1996 11 22 17 30 45 ]
+
+[ 2002 11 22 18 15 0 ]  4         0                            => [ 2002 11 28 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ]  4         0 [ 12 30 ]                  => [ 2002 11 28 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         0                            => [ 2002 11 29 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         1                            => [ 2002 11 22 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         2                            => [ 2002 11 29 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         0 [ 12 30 ]                  => [ 2002 11 29 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         1 [ 12 30 ]                  => [ 2002 11 22 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         2 [ 12 30 ]                  => [ 2002 11 29 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         0 [ 19 30 ]                  => [ 2002 11 29 19 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         1 [ 19 30 ]                  => [ 2002 11 22 19 30 0 ]
+
+[ 2002 11 22 18 15 0 ]  5         2 [ 19 30 ]                  => [ 2002 11 22 19 30 0 ]
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.next_business_day.t b/t/date.next_business_day.t
new file mode 100755
index 0000000..bf04b09
--- /dev/null
+++ b/t/date.next_business_day.t
@@ -0,0 +1,89 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: next_business_day';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@test)=@_;
+  $obj->parse($date);
+  $obj->next_business_day(@test);
+  $ret = $obj->value();
+  return $ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+#      August 2009
+# Su Mo Tu We Th Fr Sa
+#                    1
+#  2  3  4  5  6  7  8
+#  9 10 11 12 13 14 15
+# 16 17 18 19 20 21 22
+# 23 24 25 26 27 28 29
+# 30 31
+
+#### Day 0, no timecheck
+
+'Aug 18 2009 12:00:00' 0 0 => 2009081812:00:00
+
+'Aug 18 2009 05:00:00' 0 0 => 2009081805:00:00
+
+'Aug 16 2009 12:00:00' 0 0 => 2009081712:00:00
+
+
+#### Day 0, timecheck
+
+'Aug 18 2009 12:00:00' 0 1 => 2009081812:00:00
+
+'Aug 18 2009 05:00:00' 0 1 => 2009081808:00:00
+
+'Aug 16 2009 12:00:00' 0 1 => 2009081708:00:00
+
+
+#### Day 2, no timecheck
+
+'Aug 18 2009 12:00:00' 2 0 => 2009082012:00:00
+
+'Aug 18 2009 05:00:00' 2 0 => 2009082005:00:00
+
+'Aug 16 2009 12:00:00' 2 0 => 2009081912:00:00
+
+
+#### Day 2, timecheck
+
+'Aug 18 2009 12:00:00' 2 1 => 2009082012:00:00
+
+'Aug 18 2009 05:00:00' 2 1 => 2009082008:00:00
+
+'Aug 16 2009 12:00:00' 2 1 => 2009081908:00:00
+
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.catalan.t b/t/date.parse.catalan.t
new file mode 100755
index 0000000..089a2a9
--- /dev/null
+++ b/t/date.parse.catalan.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+#use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Catalan)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Catalan","dateformat","nonUS");
+
+$tests="
+
+'Mar\xE7 5\xE8 2002'  => 2002030500:00:00
+
+'març 5, 2002'        => 2002030500:00:00
+
+\"10e d' Feb\"        => 2000021000:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.common.t b/t/date.parse.common.t
new file mode 100755
index 0000000..9eb2c68
--- /dev/null
+++ b/t/date.parse.common.t
@@ -0,0 +1,572 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (common)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     $err = $obj->err();
+     return ($obj->value(),$err);
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+# Times
+
+17:30:15 => 2000012117:30:15 2000012122:30:15
+
+'17:30:15 AM' => '[parse] Invalid date string'
+
+'5:30:15 PM' => 2000012117:30:15 2000012122:30:15
+
+5:30:15 => 2000012105:30:15 2000012110:30:15
+
+17:30:15.25 => 2000012117:30:15 2000012122:30:15
+
+'17:30:15.25 AM' => '[parse] Invalid date string'
+
+'5:30:15.25 PM' => 2000012117:30:15 2000012122:30:15
+
+5:30:15.25 => 2000012105:30:15 2000012110:30:15
+
+17:30.25 => 2000012117:30:15 2000012122:30:15
+
+'17:30.25 AM' => '[parse] Invalid date string'
+
+'5:30.25 PM' => 2000012117:30:15 2000012122:30:15
+
+5:30.25 => 2000012105:30:15 2000012110:30:15
+
+17.5 => 2000012117:30:00 2000012122:30:00
+
+'17.5 AM' => '[parse] Invalid date string'
+
+'5.5 PM' => 2000012117:30:00 2000012122:30:00
+
+5.5 => 2000012105:30:00 2000012110:30:00
+
+17:30 => 2000012117:30:00 2000012122:30:00
+
+'17:30 AM' => '[parse] Invalid date string'
+
+'5:30 PM' => 2000012117:30:00 2000012122:30:00
+
+5:30 => 2000012105:30:00 2000012110:30:00
+
+midnight => 2000012100:00:00 2000012105:00:00
+
+'3/5/09 at noon' => 2009030512:00:00 2009030517:00:00
+
+# Common dates
+
+3/5 => 2000030500:00:00 2000030505:00:00
+
+3/5/09 => 2009030500:00:00 2009030505:00:00
+
+3/5/2009 => 2009030500:00:00 2009030505:00:00
+
+Mar/5 => 2000030500:00:00 2000030505:00:00
+
+Mar/5/09 => 2009030500:00:00 2009030505:00:00
+
+Mar/5/2009 => 2009030500:00:00 2009030505:00:00
+
+5/Mar => 2000030500:00:00 2000030505:00:00
+
+5/Mar/09 => 2009030500:00:00 2009030505:00:00
+
+5/Mar/2009 => 2009030500:00:00 2009030505:00:00
+
+2009/Mar/5 => 2009030500:00:00 2009030505:00:00
+
+'Mar5 09' => 2009030500:00:00 2009030505:00:00
+
+'Mar5 2009' => 2009030500:00:00 2009030505:00:00
+
+'5Mar 09' => 2009030500:00:00 2009030505:00:00
+
+'5Mar 2009' => 2009030500:00:00 2009030505:00:00
+
+'Mar/5 09' => 2009030500:00:00 2009030505:00:00
+
+'Mar/5 2009' => 2009030500:00:00 2009030505:00:00
+
+'5/Mar 09' => 2009030500:00:00 2009030505:00:00
+
+'5/Mar 2009' => 2009030500:00:00 2009030505:00:00
+
+'09 Mar5' => 2009030500:00:00 2009030505:00:00
+
+'2009 Mar5' => 2009030500:00:00 2009030505:00:00
+
+'09 5Mar' => 2009030500:00:00 2009030505:00:00
+
+'2009 5Mar' => 2009030500:00:00 2009030505:00:00
+
+'09 Mar/5' => 2009030500:00:00 2009030505:00:00
+
+'2009 Mar/5' => 2009030500:00:00 2009030505:00:00
+
+'09 5/Mar' => 2009030500:00:00 2009030505:00:00
+
+'2009 5/Mar' => 2009030500:00:00 2009030505:00:00
+
+Mar5 => 2000030500:00:00 2000030505:00:00
+
+Mar052009 => 2009030500:00:00 2009030505:00:00
+
+5Mar => 2000030500:00:00 2000030505:00:00
+
+5Mar09 => 2009030500:00:00 2009030505:00:00
+
+5Mar2009 => 2009030500:00:00 2009030505:00:00
+
+2009Mar5 => 2009030500:00:00 2009030505:00:00
+
+5March09 => 2009030500:00:00 2009030505:00:00
+
+5March2009 => 2009030500:00:00 2009030505:00:00
+
+2009March5 => 2009030500:00:00 2009030505:00:00
+
+'3 5' => 2000030500:00:00 2000030505:00:00
+
+'3 5 09' => 2009030500:00:00 2009030505:00:00
+
+'3 5 2009' => 2009030500:00:00 2009030505:00:00
+
+3-5 => 2000030500:00:00 2000030505:00:00
+
+3-5-09 => 2009030500:00:00 2009030505:00:00
+
+3-5-2009 => 2009030500:00:00 2009030505:00:00
+
+3.5.09 => 2009030500:00:00 2009030505:00:00
+
+3.5.2009 => 2009030500:00:00 2009030505:00:00
+
+3/5.2009 => '[parse] Invalid date string'
+
+'3-5-2009 5:30 PM' => 2009030517:30:00 2009030522:30:00
+
+'3-5-2009 at 5:30 PM' => 2009030517:30:00 2009030522:30:00
+
+'5:30 PM 3-5-2009' => 2009030517:30:00 2009030522:30:00
+
+'5:30 PM, 3-5-2009' => 2009030517:30:00 2009030522:30:00
+
+'at 5:30 PM 3-5-2009' => 2009030517:30:00 2009030522:30:00
+
+'Thu 5:30 PM 3-5-2009' => 2009030517:30:00 2009030522:30:00
+
+'5:30 PM Thursday 3-5-2009' => 2009030517:30:00 2009030522:30:00
+
+'5:30 PM Wed 3-5-2009' => '[parse] Day of week invalid'
+
+# Tests from 5.x
+
+'1993/12/01 05:30:25.05 am' => 1993120105:30:25 1993120110:30:25
+
+'1993/12/01 05:30:25:05 pM' => 1993120117:30:25 1993120122:30:25
+
+'1993/12/01 05:30:25 pM GMT' => 1993120117:30:25 1993120117:30:25
+
+'1993/12/01 at 05:30:25 pM GMT' => 1993120117:30:25 1993120117:30:25
+
+12/11/1975 => 1975121100:00:00 1975121105:00:00
+
+12/11/75 => 1975121100:00:00 1975121105:00:00
+
+12.11.75 => 1975121100:00:00 1975121105:00:00
+
+'12 11 75' => 1975121100:00:00 1975121105:00:00
+
+'12/11/75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12/11/75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'12/11/75 5:30 pm GMT' => 1975121117:30:00 1975121117:30:00
+
+'12/11/75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12-11-1975 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12-11-75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12-11-75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'12-11-75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12 11 75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12 11 75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'12 11 75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12 11 1975 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'12.11.1975 05:61' => '[parse] Invalid date string'
+
+'12.11.1975 05:30:61' => '[parse] Invalid date string'
+
+12/11 => 2000121100:00:00 2000121105:00:00
+
+'12/11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'12/11 at 05:30:25' => 2000121105:30:25 2000121110:30:25
+
+'12/11 at 05:30:25 GMT' => 2000121105:30:25 2000121105:30:25
+
+'12/11 5:30' => 2000121105:30:00 2000121110:30:00
+
+'12/11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'12-11 5:30' => 2000121105:30:00 2000121110:30:00
+
+'12 11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'2 29 92' => 1992022900:00:00 1992022905:00:00
+
+'2 29 90' => '[parse] Invalid date'
+
+Dec/11/1975 => 1975121100:00:00 1975121105:00:00
+
+December/11/75 => 1975121100:00:00 1975121105:00:00
+
+Dec-11-75 => 1975121100:00:00 1975121105:00:00
+
+'Dec 11 75' => 1975121100:00:00 1975121105:00:00
+
+'DecEMBER11 75' => 1975121100:00:00 1975121105:00:00
+
+'December/11/75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec/11/75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'Dec/11/75 5:30 pm GMT' => 1975121117:30:00 1975121117:30:00
+
+'Dec/11/75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec-11-1975 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'December-11-75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec-11-75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'Dec-11-75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec 11 75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec 11 75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'December 11 75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec 11 1975 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'Dec-11-1975 05:61' => '[parse] Invalid date string'
+
+'Dec-11-1975 05:30:61' => '[parse] Invalid date string'
+
+December/11 => 2000121100:00:00 2000121105:00:00
+
+'Dec/11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'Dec/11 at 05:30:25' => 2000121105:30:25 2000121110:30:25
+
+'Dec/11 at 05:30:25 GMT' => 2000121105:30:25 2000121105:30:25
+
+'Dec/11 5:30' => 2000121105:30:00 2000121110:30:00
+
+'Dec/11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'Dec-11 5:30' => 2000121105:30:00 2000121110:30:00
+
+'Dec-11 05:30' => 2000121105:30:00 2000121110:30:00
+
+'December11 05:30' => 2000121105:30:00 2000121110:30:00
+
+11/Dec/1975 => 1975121100:00:00 1975121105:00:00
+
+11/December/75 => 1975121100:00:00 1975121105:00:00
+
+11-Dec-75 => 1975121100:00:00 1975121105:00:00
+
+'11 Dec 75' => 1975121100:00:00 1975121105:00:00
+
+'11/December/75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11/Dec/75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'11/Dec/75 5:30 pm GMT' => 1975121117:30:00 1975121117:30:00
+
+'11/Dec/75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11-Dec-1975 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11-December-75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11-Dec-75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'11-Dec-75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11 Dec 75 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11 Dec 75 5:30 pm' => 1975121117:30:00 1975121122:30:00
+
+'11December 75 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11 Dec 1975 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11Dec 1975 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11Dec1975 at 5:30:25' => 1975121105:30:25 1975121110:30:25
+
+'11-Dec-1975 05:61' => '[parse] Invalid date string'
+
+'11-Dec-1975 05:30:61' => '[parse] Invalid date string'
+
+11/December => 2000121100:00:00 2000121105:00:00
+
+'11/Dec 05:30' => 2000121105:30:00 2000121110:30:00
+
+'11/Dec at 05:30:25' => 2000121105:30:25 2000121110:30:25
+
+'11-Dec at 05:30:25 GMT' => 2000121105:30:25 2000121105:30:25
+
+'11-Dec 5:30' => 2000121105:30:00 2000121110:30:00
+
+'11/Dec 05:30' => 2000121105:30:00 2000121110:30:00
+
+'11December 05:30' => 2000121105:30:00 2000121110:30:00
+
+5:30 => 2000012105:30:00 2000012110:30:00
+
+5:30:02 => 2000012105:30:02 2000012110:30:02
+
+15:30:00 => 2000012115:30:00 2000012120:30:00
+
+'5:30 pm 12/11/75' => 1975121117:30:00 1975121122:30:00
+
+'5:30 pm GMT 12/11/75' => 1975121117:30:00 1975121117:30:00
+
+'5:30:25 12/11/75' => 1975121105:30:25 1975121110:30:25
+
+'5:30:25.05 12/11/75' => 1975121105:30:25 1975121110:30:25
+
+'5:30:25:05 12/11/75' => 1975121105:30:25 1975121110:30:25
+
+'5:30:25 12-11-1975' => 1975121105:30:25 1975121110:30:25
+
+'5:30:25 12-11-75' => 1975121105:30:25 1975121110:30:25
+
+'5:30 pm 12-11-75' => 1975121117:30:00 1975121122:30:00
+
+'5:30:25 12-11-75' => 1975121105:30:25 1975121110:30:25
+
+'5:30:25 12 11 75' => 1975121105:30:25 1975121110:30:25
+
+'5:30 pm 12 11 75' => 1975121117:30:00 1975121122:30:00
+
+'5:30 pm GMT 12 11 75' => 1975121117:30:00 1975121117:30:00
+
+'5:30:25 12 11 1975' => 1975121105:30:25 1975121110:30:25
+
+'05:61 12-11-1975' => '[parse] Invalid date string'
+
+'05:30:61 12-11-1975' => '[parse] Invalid date string'
+
+'05:30 12/11' => 2000121105:30:00 2000121110:30:00
+
+'05:30:25 12/11' => 2000121105:30:25 2000121110:30:25
+
+'05:30:25 12-11' => 2000121105:30:25 2000121110:30:25
+
+'05:30:25 GMT 12/11' => 2000121105:30:25 2000121105:30:25
+
+'5:30 12/11' => 2000121105:30:00 2000121110:30:00
+
+'5:30 12-11' => 2000121105:30:00 2000121110:30:00
+
+'05:30 12-11' => 2000121105:30:00 2000121110:30:00
+
+'05:30 12 11' => 2000121105:30:00 2000121110:30:00
+
+'4:50 DeC 11' => 2000121104:50:00 2000121109:50:00
+
+'4:50 DeCember 11' => 2000121104:50:00 2000121109:50:00
+
+'4:50:40 DeC 11' => 2000121104:50:40 2000121109:50:40
+
+'4:50:42 DeCember 11' => 2000121104:50:42 2000121109:50:42
+
+'4:50 11 DeC' => 2000121104:50:00 2000121109:50:00
+
+'4:50 11 DeCember' => 2000121104:50:00 2000121109:50:00
+
+'4:50 11DeC' => 2000121104:50:00 2000121109:50:00
+
+'4:50 11DeCember' => 2000121104:50:00 2000121109:50:00
+
+'4:50:51 11 DeC' => 2000121104:50:51 2000121109:50:51
+
+'4:50:52 11 DeCember' => 2000121104:50:52 2000121109:50:52
+
+'4:50:53 11DeC' => 2000121104:50:53 2000121109:50:53
+
+'4:50:54 11DeCember' => 2000121104:50:54 2000121109:50:54
+
+'4:50:54 DeCember11' => 2000121104:50:54 2000121109:50:54
+
+'4:50:54 DeCember1175' => 1975121104:50:54 1975121109:50:54
+
+'Sept 1995' => 1995091900:00:00 1995091904:00:00
+
+'1995 september' => '[parse] Invalid date string'
+
+'5:30 DeC 1' => 2000120105:30:00 2000120110:30:00
+
+'05:30 DeC 11' => 2000121105:30:00 2000121110:30:00
+
+'05:30:11 DeC 11' => 2000121105:30:11 2000121110:30:11
+
+'5:30 DeCember 1' => 2000120105:30:00 2000120110:30:00
+
+'05:30 DeCember 11' => 2000121105:30:00 2000121110:30:00
+
+'05:30:12 DeCember 11' => 2000121105:30:12 2000121110:30:12
+
+'DeCember 11 05:30:12 1996' => 1996121105:30:12 1996121110:30:12
+
+'DeC10 05:30:12 96' => 1996121005:30:12 1996121010:30:12
+
+'Feb 28 1997 23:00-0900' => 1997022823:00:00 1997030108:00:00
+
+'Feb 27 1997 23:00-0900' => 1997022723:00:00 1997022808:00:00
+
+'Feb 01 1997 01:00-0100' => 1997020101:00:00 1997020102:00:00
+
+'Feb 02 1997 01:00-0100' => 1997020201:00:00 1997020202:00:00
+
+'Feb 02 1997 01:00+0100' => 1997020201:00:00 1997020200:00:00
+
+'Feb 02 1997 01:00+01' => 1997020201:00:00 1997020200:00:00
+
+'Feb 02 1997 01:00+01:00' => 1997020201:00:00 1997020200:00:00
+
+19970202010000+0100 => 1997020201:00:00 1997020200:00:00
+
+Dec111975 => 1975121100:00:00 1975121105:00:00
+
+11Dec1975 => 1975121100:00:00 1975121105:00:00
+
+'11/dec/1975 12:00:00 EST' => 1975121112:00:00 1975121117:00:00
+
+'Wed Feb 15 2006 12:00:00' => 2006021512:00:00 2006021517:00:00
+
+'Thu Feb 15 2006 12:00:00' => '[parse] Day of week invalid'
+
+'Wed Feb 15 2006 24:00:00' => 2006021600:00:00 2006021605:00:00
+
+'Sun, 18 Sep 2011 09:47:28 -0000 (UT)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 -0000 (UTC)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 -0000 (GMT)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 -0000' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 +0000 (UT)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 +0000 (UTC)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 +0000 (GMT)' => 2011091809:47:28 2011091809:47:28
+
+'Sun, 18 Sep 2011 09:47:28 +0000' => 2011091809:47:28 2011091809:47:28
+
+'May 2, 1997 12:00:00 EDT' => 1997050212:00:00 1997050216:00:00
+
+'May 2, 1997 12:00:00 -0400' => 1997050212:00:00 1997050216:00:00
+
+'May 2, 1997 12:00:00 -0400 (EDT)' => 1997050212:00:00 1997050216:00:00
+
+'May 2, 1997 12:00:00 CDT' => 1997050212:00:00 1997050217:00:00
+
+'May 2, 1997 12:00:00 -0500' => 1997050212:00:00 1997050217:00:00
+
+'May 2, 1997 12:00:00 -0500 (CDT)' => 1997050212:00:00 1997050217:00:00
+
+'May 2, 1997 12:00:00 -05 CDT' => 1997050212:00:00 1997050217:00:00
+
+'May 2, 1997 12:00:00 -0500 CDT' => 1997050212:00:00 1997050217:00:00
+
+'2nd day in May'  => 2000050200:00:00 2000050204:00:00
+
+'2nd day in May 2010'  => 2010050200:00:00 2010050204:00:00
+
+# A period is not a valid time separator by default.
+'2008-04-02 1.15pm'  => 2008040213:09:00 2008040217:09:00
+
+'Thu Jan 21 17:13:27 2010 -0400' => 2010012117:13:27 2010012121:13:27
+
+'epoch 1400000000'  => 2014051312:53:20 2014051316:53:20
+
+'11/Oct/2000:13:55:36 -0700' => 2000101113:55:36 2000101120:55:36
+
+'in 2 days -05:00' => 2000012300:00:00 2000012305:00:00
+
+'epoch 1400000000 PDT'  => 2014051309:53:20 2014051316:53:20
+
+# Make sure that HP/UX dates parsed correctly
+
+'Jul 20 1960 12:00 MET'         => 1960072012:00:00 1960072011:00:00
+
+'Jul 20 1960 12:00 MET-1METDST' => 1960072012:00:00 1960072011:00:00
+
+'Jan 20 1960 12:00 MET-1MEST'   => 1960012012:00:00 1960012011:00:00
+
+'Jul 20 2009 12:00 Asia/Dhaka'  => 2009072012:00:00 2009072005:00:00
+
+'Jul 20 2010 12:00 Asia/Dhaka'  => 2010072012:00:00 2010072006:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.danish.t b/t/date.parse.danish.t
new file mode 100755
index 0000000..c5fa29c
--- /dev/null
+++ b/t/date.parse.danish.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Danish)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Danish","dateformat","nonUS");
+
+$tests="
+
+'Sondag Maj 2, 2010'  => 2010050200:00:00
+
+'S\xF8ndag Maj 2, 2010'  => 2010050200:00:00
+
+'Søndag Maj 2, 2010'  => 2010050200:00:00
+
+'Søndag Maj 2, 2010 12:35:45'  => 2010050212:35:45
+
+'Søndag Maj 2, 2010 12.35:45'  => 2010050212:35:45
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.delta.t b/t/date.parse.delta.t
new file mode 100755
index 0000000..b21d8a0
--- /dev/null
+++ b/t/date.parse.delta.t
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:00,America/New_York");
+
+$tests="
+
+'in 3 days' => 2000012412:30:00 2000012417:30:00
+
+'in 3 days at 13:45:00' => 2000012413:45:00 2000012418:45:00
+
+'in 3 days 15 minutes' => 2000012412:45:00 2000012417:45:00
+
+'in 3 days 15 minutes at 13:50' => '[parse] Two times entered or implied'
+
+'in 3 weeks on Monday' => 2000020712:30:00 2000020717:30:00
+
+'in 3 weeks, Monday' => 2000020712:30:00 2000020717:30:00
+
+'in 3 weeks, Sunday' => 2000021312:30:00 2000021317:30:00
+
+'in 3 weeks, Sunday' => 2000021312:30:00 2000021317:30:00
+
+'2 weeks ago, Monday' => 2000010312:30:00 2000010317:30:00
+
+'2 weeks ago, Sunday' => 2000010912:30:00 2000010917:30:00
+
+'2 weeks ago, Sunday at 13:45' => 2000010913:45:00 2000010918:45:00
+
+'in one week' => 2000012812:30:00 2000012817:30:00
+
+'in 3 days PST' => 2000012412:30:00 2000012420:30:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.dst.t b/t/date.parse.dst.t
new file mode 100755
index 0000000..e8438be
--- /dev/null
+++ b/t/date.parse.dst.t
@@ -0,0 +1,100 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (DST changes)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+# For these tests, get rid of other timezones.
+
+$dmt = $obj->tz();
+$dmt->define_abbrev('EST','America/New_York');
+$dmt->define_abbrev('EDT','America/New_York');
+$dmt->define_offset('-050000','std','America/New_York');
+$dmt->define_offset('-040000','std','America/New_York');
+
+$tests="
+
+#
+# Spring forward: 2011-03-13 02:00 EST -> 2011-03-13 03:00 EDT
+#
+
+'2011-03-13 01:59:59 EST' => 2011031301:59:59 2011031306:59:59
+
+'2011-03-13 02:00:00 EST' => '[parse] Unable to determine timezone'
+
+'2011-03-13 02:59:59 EDT' => '[parse] Unable to determine timezone'
+
+'2011-03-13 03:00:00 EDT' => 2011031303:00:00 2011031307:00:00
+
+
+'2011-03-13 01:59:59 -05:00:00' => 2011031301:59:59 2011031306:59:59
+
+'2011-03-13 02:00:00 -05:00:00' => '[parse] Unable to determine timezone'
+
+'2011-03-13 02:59:59 -04:00:00' => '[parse] Unable to determine timezone'
+
+'2011-03-13 03:00:00 -04:00:00' => 2011031303:00:00 2011031307:00:00
+
+#
+# Fall back: 2011-11-06 02:00 EDT -> 2011-11-06 01:00 EST
+#
+
+'2011-11-06 01:59:59 EDT' => 2011110601:59:59 2011110605:59:59
+
+'2011-11-06 02:00:00 EDT' => '[parse] Unable to determine timezone'
+
+'2011-11-06 01:00:00 EST' => 2011110601:00:00 2011110606:00:00
+
+
+'2011-11-06 01:59:59 -04:00:00' => 2011110601:59:59 2011110605:59:59
+
+'2011-11-06 02:00:00 -04:00:00' => '[parse] Unable to determine timezone'
+
+'2011-11-06 01:00:00 -05:00:00' => 2011110601:00:00 2011110606:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.dutch.t b/t/date.parse.dutch.t
new file mode 100755
index 0000000..3e98f53
--- /dev/null
+++ b/t/date.parse.dutch.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Dutch)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Dutch","dateformat","nonUS");
+
+$tests="
+
+'zondag mei 2, 2010'  => 2010050200:00:00
+
+'zondag mei 2, 2010 12:35:45'  => 2010050212:35:45
+
+'zondag mei 2, 2010 12.35.45'  => 2010050212:35:45
+
+'zondag mei 2, 2010 12u35m45'  => 2010050212:35:45
+
+'zondag mei 2, 2010 12h35m45'  => 2010050212:35:45
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.english.t b/t/date.parse.english.t
new file mode 100755
index 0000000..e2a882b
--- /dev/null
+++ b/t/date.parse.english.t
@@ -0,0 +1,99 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (English)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
+$obj->config("language","English","dateformat","nonUS");
+
+$tests="
+
+'TODAY' => '1997030800:00:00'
+
+'today' => '1997030800:00:00'
+
+'now' => '1997030812:30:00'
+
+'tomorrow' => '1997030900:00:00'
+
+'yesterday' => '1997030700:00:00'
+
+'Jun, twenty-seventh 1977 16:00:00' => 1977062716:00:00
+
+04.12.1999 => 1999120400:00:00
+
+'May 2 2012' => 2012050200:00:00
+
+'2 May 2012' => 2012050200:00:00
+
+'2 may 2012' => 2012050200:00:00
+
+'2 MAY 2012' => 2012050200:00:00
+
+31/12/2000 => 2000123100:00:00
+
+'3 Sep 1975' => 1975090300:00:00
+
+'27 Oct 2001' => 2001102700:00:00
+
+'September, 1st 1980' => 1980090100:00:00
+
+'December 20, 1999' => 1999122000:00:00
+
+'20 July 1987 12:32:20' => 1987072012:32:20
+
+'23:37:20 Jun 1st 1987' => 1987060123:37:20
+
+'20/12/01 17:27:08' => 2001122017:27:08
+
+'20/12/01 at 17:27:08' => 2001122017:27:08
+
+'17:27:08 20/12/01' => 2001122017:27:08
+
+'4 October 1975 at 4 pm' => 1975100416:00:00
+
+'now PST' => 1997030809:30:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/t/date.parse.french.t b/t/date.parse.french.t
new file mode 100755
index 0000000..9c7ddf0
--- /dev/null
+++ b/t/date.parse.french.t
@@ -0,0 +1,252 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (French)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","French","dateformat","nonUS");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("45","30","12","21","01","2000");
+
+$now           = "${currY}${currM}${currD}${currH}:${currMN}:${currS}";
+$today         = "${currY}${currM}${currD}00:00:00";
+$yesterdaydate = "${currY}${currM}". ${currD}-1;
+$tomorrowdate  = "${currY}${currM}". ${currD}+1;
+$yesterday     = "${yesterdaydate}00:00:00";
+$tomorrow      = "${tomorrowdate}00:00:00";
+
+$tests="
+
+'5-3-2009 5:30 du soir' => 2009030517:30:00
+
+'5-3-2009 a 5:30 du soir' => 2009030517:30:00
+
+'5-3-2009 a 5:30:45 du soir' => 2009030517:30:45
+
+'5-3-2009 a 5h30:45 du soir' => 2009030517:30:45
+
+aujourd'hui => $today
+
+maintenant => $now
+
+hier => $yesterday
+
+demain => $tomorrow
+
+'dernier mar en Juin 96' => 1996062500:00:00
+
+'dernier mar de Juin' => ${currY}062700:00:00
+
+'premier mar de Juin 1996' => 1996060400:00:00
+
+'premier mar de Juin' => ${currY}060600:00:00
+
+'3e mardi de Juin 96' => 1996061800:00:00
+
+'3e mardi de Juin 96 a 12:00' => 1996061812:00:00
+
+'3e mardi de Juin 96 a 10:30 du matin' => 1996061810:30:00
+
+'3e mardi de Juin 96 a 10:30 du soir' => 1996061822:30:00
+
+
+'SepT 10 65' => 1965091000:00:00
+
+'SepT 10 1965' => 1965091000:00:00
+
+'Septembre 10 65' => 1965091000:00:00
+
+'Septembre 10 1965' => 1965091000:00:00
+
+'Septembre10 1965' => 1965091000:00:00
+
+'Septembre10 1965 12:00' => 1965091012:00:00
+
+'Septembre-10-1965 12:00' => 1965091012:00:00
+
+'Septembre/10/1965 12:00' => 1965091012:00:00
+
+'12:00 Septembre10 1965' => 1965091012:00:00
+
+'12:00 Septembre-10-1965' => 1965091012:00:00
+
+'10 SepT 65' => 1965091000:00:00
+
+'10 SepT 1965' => 1965091000:00:00
+
+'10 Septembre 65' => 1965091000:00:00
+
+'10 Septembre 1965' => 1965091000:00:00
+
+10SepT65 => 1965091000:00:00
+
+10SepT1965 => 1965091000:00:00
+
+10Septembre65 => 1965091000:00:00
+
+'10Septembre 1965' => 1965091000:00:00
+
+'SepT 10 4:50' => ${currY}091004:50:00
+
+'Septembre 10 4:50' => ${currY}091004:50:00
+
+'SepT 10 4:50:40' => ${currY}091004:50:40
+
+'Septembre 10 4:50:42' => ${currY}091004:50:42
+
+'10 SepT 4:50' => ${currY}091004:50:00
+
+'10 Septembre 4:50' => ${currY}091004:50:00
+
+'10SepT 4:50' => ${currY}091004:50:00
+
+'10Septembre 4:50' => ${currY}091004:50:00
+
+'10 SepT 4:50:51' => ${currY}091004:50:51
+
+'10 Septembre 4:50:52' => ${currY}091004:50:52
+
+'10SepT 4:50:53' => ${currY}091004:50:53
+
+'10Septembre 4:50:54' => ${currY}091004:50:54
+
+'10Septembre95 4:50:54' => 1995091004:50:54
+
+'Sept1065 4:50:53' => 1965091004:50:53
+
+'Sept101965 4:50:53' => 1965091004:50:53
+
+'4:50 SepT 10' => ${currY}091004:50:00
+
+'4:50 Septembre 10' => ${currY}091004:50:00
+
+'4:50:40 SepT 10' => ${currY}091004:50:40
+
+'4:50:42 Septembre 10' => ${currY}091004:50:42
+
+'4:50 10 SepT' => ${currY}091004:50:00
+
+'4:50 10 Septembre' => ${currY}091004:50:00
+
+'4:50 10SepT' => ${currY}091004:50:00
+
+'4:50 10Septembre' => ${currY}091004:50:00
+
+'4:50:51 10 SepT' => ${currY}091004:50:51
+
+'4:50:52 10 Septembre' => ${currY}091004:50:52
+
+'4:50:53 10SepT' => ${currY}091004:50:53
+
+'4:50:54 10Septembre' => ${currY}091004:50:54
+
+'SepT 1 5:30' => ${currY}090105:30:00
+
+'SepT 10 05:30' => ${currY}091005:30:00
+
+'SepT 10 05:30:11' => ${currY}091005:30:11
+
+'SepT 1 65' => 1965090100:00:00
+
+'SepT 1 1965' => 1965090100:00:00
+
+'Septembre 1 5:30' => ${currY}090105:30:00
+
+'Septembre 10 05:30' => ${currY}091005:30:00
+
+'Septembre 10 05h30:12' => ${currY}091005:30:12
+
+'Septembre 1 65' => 1965090100:00:00
+
+'Septembre 1 1965' => 1965090100:00:00
+
+'5:30 SepT 1' => ${currY}090105:30:00
+
+'05:30 SepT 10' => ${currY}091005:30:00
+
+'05:30:11 SepT 10' => ${currY}091005:30:11
+
+'5:30 Septembre 1' => ${currY}090105:30:00
+
+'05:30 Septembre 10' => ${currY}091005:30:00
+
+'05:30:12 du matin Septembre 10' => ${currY}091005:30:12
+
+'05:30:12 du soir Septembre 10' => ${currY}091017:30:12
+
+'1 SepT 65' => 1965090100:00:00
+
+'1 SepT 1965' => 1965090100:00:00
+
+'1 Septembre 65' => 1965090100:00:00
+
+'1 Septembre 1965' => 1965090100:00:00
+
+'1 12 65' => 1965120100:00:00
+
+'1 12 1965' => 1965120100:00:00
+
+'29 2 92' => 1992022900:00:00
+
+'2 29 92' => '[parse] Invalid date'
+
+'2 29 90' => '[parse] Invalid date'
+
+'1er SepT 65' => 1965090100:00:00
+
+'SepT premier 1965' => 1965090100:00:00
+
+'Fevrier 3, 2002' => 2002020300:00:00
+
+'FEVRIER 3, 2002' => 2002020300:00:00
+
+'FÉVRIER 3, 2002' => 2002020300:00:00
+
+'f\xE9vrier 3, 2002' => 2002020300:00:00
+
+'f\x{e9}vrier 3, 2002' => 2002020300:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.holidays.t b/t/date.parse.holidays.t
new file mode 100755
index 0000000..41c00d6
--- /dev/null
+++ b/t/date.parse.holidays.t
@@ -0,0 +1,73 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (holidays)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+'Christmas'               => 2000122500:00:00 2000122505:00:00
+
+'Christmas 2010'          => 2010122400:00:00 2010122405:00:00
+
+'2010 Christmas'          => 2010122400:00:00 2010122405:00:00
+
+'Christmas at noon'       => 2000122512:00:00 2000122517:00:00
+
+'Christmas 2010 at noon'  => 2010122412:00:00 2010122417:00:00
+
+'2010 Christmas at noon'  => 2010122412:00:00 2010122417:00:00
+
+'Mon Christmas'           => 2000122500:00:00 2000122505:00:00
+
+'Tue Christmas'           => '[parse] Day of week invalid'
+
+'Christmas at noon PST'   => 2000122512:00:00 2000122520:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.invalid.t b/t/date.parse.invalid.t
new file mode 100755
index 0000000..14331ba
--- /dev/null
+++ b/t/date.parse.invalid.t
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (invalid)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+config setdate now,america/araguaina  =>
+
+2000-10-08-00:00:00  => '[parse] Invalid date in timezone'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.iso.t b/t/date.parse.iso.t
new file mode 100755
index 0000000..b86e09b
--- /dev/null
+++ b/t/date.parse.iso.t
@@ -0,0 +1,301 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (ISO 8601)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+# Standard dates
+
+1996061800:00:00 => 1996061800:00:00 1996061804:00:00
+
+1993120105:30:25 => 1993120105:30:25 1993120110:30:25
+
+1993120105:30:25 => 1993120105:30:25 1993120110:30:25
+
+# ISO 8601 (all digit)
+
+19950506121314 => 1995050612:13:14 1995050616:13:14
+
+19950506121314D => 1995050612:13:14 1995050616:13:14
+
+'19950506121314 D' => 1995050612:13:14 1995050616:13:14
+
+19950506121314-0500 => 1995050612:13:14 1995050617:13:14
+
+'19950506121314 GMT' => 1995050612:13:14 1995050612:13:14
+
+'19950506121314 America/Chicago' => 1995050612:13:14 1995050617:13:14
+
+199505061213 => 1995050612:13:00 1995050616:13:00
+
+1995050612 => 1995050612:00:00 1995050616:00:00
+
+-950506121314 => 1995050612:13:14 1995050616:13:14
+
+-9505061213 => 1995050612:13:00 1995050616:13:00
+
+-95050612 => 1995050612:00:00 1995050616:00:00
+
+---06121314 => 2000010612:13:14 2000010617:13:14
+
+---061213 => 2000010612:13:00 2000010617:13:00
+
+---0612 => 2000010612:00:00 2000010617:00:00
+
+# ISO 8601 (YYMMDD)
+
+19930601 => 1993060100:00:00 1993060104:00:00
+
+1993-06-01 => 1993060100:00:00 1993060104:00:00
+
+-930601 => 1993060100:00:00 1993060104:00:00
+
+-93-06-01 => 1993060100:00:00 1993060104:00:00
+
+930601 => 1993060100:00:00 1993060104:00:00
+
+93-06-01 => 1993060100:00:00 1993060104:00:00
+
+--0601 => 2000060100:00:00 2000060104:00:00
+
+--06-01 => 2000060100:00:00 2000060104:00:00
+
+---07 => 2000010700:00:00 2000010705:00:00
+
+1996061800:00:00D => 1996061800:00:00 1996061804:00:00
+
+'1996061800:00:00 D' => 1996061800:00:00 1996061804:00:00
+
+'1996061800:00:00 -0500' => 1996061800:00:00 1996061805:00:00
+
+'1996061800:00:00 America/Chicago' => 1996061800:00:00
+1996061805:00:00
+
+1996-11 => 1996110100:00:00 1996110105:00:00
+
+1996 => 1996010100:00:00 1996010105:00:00
+
+-9611 => 1996110100:00:00 1996110105:00:00
+
+-96-11 => 1996110100:00:00 1996110105:00:00
+
+-96 => 1996010100:00:00 1996010105:00:00
+
+--11 => 2000110100:00:00 2000110105:00:00
+
+1993-063 => 1993030400:00:00 1993030405:00:00
+
+1993063 => 1993030400:00:00 1993030405:00:00
+
+93-063 => 1993030400:00:00 1993030405:00:00
+
+93063 => 1993030400:00:00 1993030405:00:00
+
+-93-063 => 1993030400:00:00 1993030405:00:00
+
+-93063 => 1993030400:00:00 1993030405:00:00
+
+-063 => 2000030300:00:00 2000030305:00:00
+
+# ISO 8601 (YYWwwD)
+
+1993W101 => 1993030800:00:00 1993030805:00:00
+
+1993W107 => 1993031400:00:00 1993031405:00:00
+
+1993-W10-1 => 1993030800:00:00 1993030805:00:00
+
+1993-W10-7 => 1993031400:00:00 1993031405:00:00
+
+93W101 => 1993030800:00:00 1993030805:00:00
+
+93W107 => 1993031400:00:00 1993031405:00:00
+
+93-W10-1 => 1993030800:00:00 1993030805:00:00
+
+93-W10-7 => 1993031400:00:00 1993031405:00:00
+
+-93W101 => 1993030800:00:00 1993030805:00:00
+
+-93W107 => 1993031400:00:00 1993031405:00:00
+
+-93-W10-1 => 1993030800:00:00 1993030805:00:00
+
+-93-W10-7 => 1993031400:00:00 1993031405:00:00
+
+-W101 => 2000030600:00:00 2000030605:00:00
+
+-W107 => 2000031200:00:00 2000031205:00:00
+
+-W10-1 => 2000030600:00:00 2000030605:00:00
+
+-W10-7 => 2000031200:00:00 2000031205:00:00
+
+-W-1 => 2000011700:00:00 2000011705:00:00
+
+-W-7 => 2000012300:00:00 2000012305:00:00
+
+---1 => 2000011700:00:00 2000011705:00:00
+
+---7 => 2000012300:00:00 2000012305:00:00
+
+2012-W01-1 => 2012010200:00:00 2012010205:00:00
+
+config firstday 7 =>
+
+1993W101 => 1993030700:00:00 1993030705:00:00
+
+1993W107 => 1993031300:00:00 1993031305:00:00
+
+config firstday 1 =>
+
+1993W10 => 1993030800:00:00 1993030805:00:00
+
+1993-W10 => 1993030800:00:00 1993030805:00:00
+
+93W10 => 1993030800:00:00 1993030805:00:00
+
+93-W10 => 1993030800:00:00 1993030805:00:00
+
+-93W10 => 1993030800:00:00 1993030805:00:00
+
+-93-W10 => 1993030800:00:00 1993030805:00:00
+
+-W10 => 2000030600:00:00 2000030605:00:00
+
+W10 => 2000030600:00:00 2000030605:00:00
+
+# ISO 8601 times
+
+121314,0 => 2000012112:13:14 2000012117:13:14
+
+121314D => 2000012112:13:14 2000012116:13:14
+
+'121314 D' => 2000012112:13:14 2000012116:13:14
+
+'121314 GMT' => 2000012112:13:14 2000012112:13:14
+
+12:13:14 => 2000012112:13:14 2000012117:13:14
+
+12:13:14-0500 => 2000012112:13:14 2000012117:13:14
+
+'1213 D' => 2000012112:13:00 2000012116:13:00
+
+'1213 GMT' => 2000012112:13:00 2000012112:13:00
+
+12:13 => 2000012112:13:00 2000012117:13:00
+
+12:13-0500 => 2000012112:13:00 2000012117:13:00
+
+# 24:00:00 time
+
+1993013124:00:00 => 1993020100:00:00 1993020105:00:00
+
+1993-01-3124:00:00 => 1993020100:00:00 1993020105:00:00
+
+# Date/time separators
+
+'19960618 00:00:00D' => 1996061800:00:00 1996061804:00:00
+
+19960618T00:00:00D => 1996061800:00:00 1996061804:00:00
+
+19960618-00:00:00D => 1996061800:00:00 1996061804:00:00
+
+# Tests from 5.x
+
+'1993120117:30:25 GMT' => 1993120117:30:25 1993120117:30:25
+
+19960618000000 => 1996061800:00:00 1996061804:00:00
+
+'1993120117:30:25.25 GMT' => 1993120117:30:25 1993120117:30:25
+
+19960618000000.25 => 1996061800:00:00 1996061804:00:00
+
+2000-02-16T12:30:30 => 2000021612:30:30 2000021617:30:30
+
+'20021216090000 -0500' => 2002121609:00:00 2002121614:00:00
+
+2004-03-29T11:41:00Z => 2004032911:41:00 2004032911:41:00
+
+'2004-03-29T11:41:00 EDT' => '[parse] Unable to determine timezone'
+
+1992022905:30:61 => '[parse] Invalid date'
+
+96-06-1800:00:00 => 1996061800:00:00 1996061804:00:00
+
+1990022905:30 => '[parse] Invalid date'
+
+97W227 => 1997060100:00:00 1997060104:00:00
+
+1997-W22-7 => 1997060100:00:00 1997060104:00:00
+
+1997W23 => 1997060200:00:00 1997060204:00:00
+
+1997023 => 1997012300:00:00 1997012305:00:00
+
+1997035 => 1997020400:00:00 1997020405:00:00
+
+97-035 => 1997020400:00:00 1997020405:00:00
+
+97035 => 1997020400:00:00 1997020405:00:00
+
+'2000-02-16 24:00' => 2000021700:00:00 2000021705:00:00
+
+'2000-02-16 15:24:00' => 2000021615:24:00 2000021620:24:00
+
+'2000-02-16 05:24:00' => 2000021605:24:00 2000021610:24:00
+
+'2000-02-16 5:24:00' => 2000021605:24:00 2000021610:24:00
+
+2009-W49-1 => 2009113000:00:00 2009113005:00:00
+
+2009-W49-2 => 2009120100:00:00 2009120105:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.italian.t b/t/date.parse.italian.t
new file mode 100755
index 0000000..d8ab7da
--- /dev/null
+++ b/t/date.parse.italian.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Italian)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Italian","dateformat","nonUS");
+
+$tests="
+
+'Lunedi Mag 3, 2010'  => 2010050300:00:00
+
+'Luned\xEC Mag 3, 2010'  => 2010050300:00:00
+
+'Lunedì Mag 3, 2010'  => 2010050300:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.misc.0.t b/t/date.parse.misc.0.t
new file mode 100755
index 0000000..9110f9b
--- /dev/null
+++ b/t/date.parse.misc.0.t
@@ -0,0 +1,228 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (misc)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:00:00,America/New_York");
+
+$tests="
+
+Friday => 2000012100:00:00 2000012105:00:00
+
+'Friday at 13:00' => 2000012113:00:00 2000012118:00:00
+
+Monday => 2000011700:00:00 2000011705:00:00
+
+'Monday at 13:00' => 2000011713:00:00 2000011718:00:00
+
+Saturday => 2000012200:00:00 2000012205:00:00
+
+'Saturday at 13:00' => 2000012213:00:00 2000012218:00:00
+
+###
+
+'next friday' => 2000012800:00:00 2000012805:00:00
+
+'next sunday' => 2000012300:00:00 2000012305:00:00
+
+'last friday' => 2000011400:00:00 2000011405:00:00
+
+'last sunday' => 2000011600:00:00 2000011605:00:00
+
+'last sunday at 13:00' => 2000011613:00:00 2000011618:00:00
+
+####
+
+'next year' => 2001012100:00:00 2001012105:00:00
+
+'last year' => 1999012100:00:00 1999012105:00:00
+
+'next month' => 2000022100:00:00 2000022105:00:00
+
+'last month' => 1999122100:00:00 1999122105:00:00
+
+'next week' => 2000012800:00:00 2000012805:00:00
+
+'last week' => 2000011400:00:00 2000011405:00:00
+
+'last week at 13:00' => 2000011413:00:00 2000011418:00:00
+
+###
+
+'last day in October 1997' => 1997103100:00:00 1997103105:00:00
+
+'last day in October' => 2000103100:00:00 2000103105:00:00
+
+###
+
+'last tue in Jun 96' => 1996062500:00:00 1996062504:00:00
+
+'last tueSday of Jan' => 2000012500:00:00 2000012505:00:00
+
+###
+
+'last Tue in 1997' => 1997123000:00:00 1997123005:00:00
+
+###
+
+'first tue in Jun 1996' => 1996060400:00:00 1996060404:00:00
+
+'3rd tuesday in Jun 96' => 1996061800:00:00 1996061804:00:00
+
+'3rd tuesday in Jun 96 at 10:30am' => 1996061810:30:00 1996061814:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm' => 1996061822:30:00 1996061902:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm GMT' => 1996061822:30:00 1996061822:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm CDT' => 1996061822:30:00 1996061903:30:00
+
+'first tue in Jun' => 2000060600:00:00 2000060604:00:00
+
+'3rd tuesday in Jun' => 2000062000:00:00 2000062004:00:00
+
+###
+
+'Dec 1st 1970' => 1970120100:00:00 1970120105:00:00
+
+'Dec 1st' => 2000120100:00:00 2000120105:00:00
+
+'1st Dec 1970' => 1970120100:00:00 1970120105:00:00
+
+'1st Dec' => 2000120100:00:00 2000120105:00:00
+
+'1970 Dec 1st' => 1970120100:00:00 1970120105:00:00
+
+'1970 1st Dec' => 1970120100:00:00 1970120105:00:00
+
+###
+
+'22nd sunday' => 2000052800:00:00 2000052804:00:00
+
+'twenty-second sunday 1996' => 1996060200:00:00 1996060204:00:00
+
+'22nd sunday in 1996' => 1996060200:00:00 1996060204:00:00
+
+###
+
+'Friday week' => 2000012800:00:00 2000012805:00:00
+
+'Monday week' => 2000012400:00:00 2000012405:00:00
+
+###
+
+today => 2000012100:00:00 2000012105:00:00
+
+'today at 14:30' => 2000012114:30:00 2000012119:30:00
+
+tomorrow => 2000012200:00:00 2000012205:00:00
+
+'tomorrow at 14:30' => 2000012214:30:00 2000012219:30:00
+
+yesterday => 2000012000:00:00 2000012005:00:00
+
+'yesterday at 14:30' => 2000012014:30:00 2000012019:30:00
+
+'today week' => 2000012800:00:00 2000012805:00:00
+
+'today week at 14:30' => 2000012814:30:00 2000012819:30:00
+
+'tomorrow week' => 2000012900:00:00 2000012905:00:00
+
+'tomorrow week at 14:30' => 2000012914:30:00 2000012919:30:00
+
+'yesterday week' => 2000012700:00:00 2000012705:00:00
+
+'yesterday week at 14:30' => 2000012714:30:00 2000012719:30:00
+
+###
+
+'sunday week 1 1999' => 1999011000:00:00 1999011005:00:00
+
+'sunday 1st week 1999' => 1999011000:00:00 1999011005:00:00
+
+'sunday week 1' => 2000010900:00:00 2000010905:00:00
+
+'sunday 1st week' => 2000010900:00:00 2000010905:00:00
+
+###
+
+1st => 2000010100:00:00 2000010105:00:00
+
+tenth => 2000011000:00:00 2000011005:00:00
+
+###
+
+now => 2000012112:00:00 2000012117:00:00
+
+'epoch 0' => 1969123119:00:00 1970010100:00:00
+
+'epoch 400000' => 1970010510:06:40 1970010515:06:40
+
+'today week' => 2000012800:00:00 2000012805:00:00
+
+'today week at 4:00' => 2000012804:00:00 2000012809:00:00
+
+###
+
+'5th Sunday in October 2010' => 2010103100:00:00 2010103104:00:00
+
+'9th Sunday in October 2010' => '[parse] Invalid date string'
+
+'Sunday, 3rd October 2010' => 2010100300:00:00 2010100304:00:00
+
+'Monday, 3rd October 2010' => '[parse] Day of week invalid'
+
+'3rd tuesday in Jun 96 at 10:30 pm CET' => 1996061822:30:00 1996061821:30:00
+
+###
+
+'sunday w 22 in 1996' => 1996060200:00:00 1996060204:00:00
+
+'sunday 22nd w in 1996' => 1996060200:00:00 1996060204:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.misc.1.t b/t/date.parse.misc.1.t
new file mode 100755
index 0000000..9eb8e29
--- /dev/null
+++ b/t/date.parse.misc.1.t
@@ -0,0 +1,96 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (misc,DefaultTime=curr)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:00:00,America/New_York");
+$obj->config("defaulttime","curr");
+
+$tests="
+
+Friday => 2000012112:00:00 2000012117:00:00
+
+'Friday at 13:00' => 2000012113:00:00 2000012118:00:00
+
+Monday => 2000011712:00:00 2000011717:00:00
+
+'Monday at 13:00' => 2000011713:00:00 2000011718:00:00
+
+Saturday => 2000012212:00:00 2000012217:00:00
+
+'Saturday at 13:00' => 2000012213:00:00 2000012218:00:00
+
+'next year' => 2001012112:00:00 2001012117:00:00
+
+'last year' => 1999012112:00:00 1999012117:00:00
+
+'next month' => 2000022112:00:00 2000022117:00:00
+
+'last month' => 1999122112:00:00 1999122117:00:00
+
+'next week' => 2000012812:00:00 2000012817:00:00
+
+'last week' => 2000011412:00:00 2000011417:00:00
+
+'last week at 13:00' => 2000011413:00:00 2000011418:00:00
+
+'next friday' => 2000012812:00:00 2000012817:00:00
+
+'next sunday' => 2000012312:00:00 2000012317:00:00
+
+'last friday' => 2000011412:00:00 2000011417:00:00
+
+'last sunday' => 2000011612:00:00 2000011617:00:00
+
+'last sunday at 13:00' => 2000011613:00:00 2000011618:00:00
+
+'last tue in Jun 96' => 1996062512:00:00 1996062516:00:00
+
+'last tueSday of Jan' => 2000012512:00:00 2000012517:00:00
+
+'last day in October 1997' => 1997103112:00:00 1997103117:00:00
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.mmmyyyy.first.t b/t/date.parse.mmmyyyy.first.t
new file mode 100755
index 0000000..9a2ff94
--- /dev/null
+++ b/t/date.parse.mmmyyyy.first.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (format_mmmyyyy=first)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York",
+             "format_mmmyyyy","first",
+             "yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '1925060100:00:00'
+
+'Jun/1925'  => '1925060100:00:00'
+
+'1925/Jun'  => '1925060100:00:00'
+
+'1925Jun'   => '1925060100:00:00'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.mmmyyyy.last.t b/t/date.parse.mmmyyyy.last.t
new file mode 100755
index 0000000..19919f9
--- /dev/null
+++ b/t/date.parse.mmmyyyy.last.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (format_mmmyyyy=last)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York",
+             "format_mmmyyyy","last",
+             "yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '1925063023:59:59'
+
+'Jun/1925'  => '1925063023:59:59'
+
+'1925/Jun'  => '1925063023:59:59'
+
+'1925Jun'   => '1925063023:59:59'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.mmmyyyy.t b/t/date.parse.mmmyyyy.t
new file mode 100755
index 0000000..cc267e8
--- /dev/null
+++ b/t/date.parse.mmmyyyy.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (no format_mmmyyyy)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York","yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '2025061900:00:00'
+
+'Jun/1925'  => '[parse] Invalid date string'
+
+'1925/Jun'  => '[parse] Invalid date string'
+
+'1925Jun'   => '[parse] Invalid date string'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.period.t b/t/date.parse.period.t
new file mode 100755
index 0000000..f893e28
--- /dev/null
+++ b/t/date.parse.period.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (period)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+$obj->config("periodtimesep",1);
+
+$tests="
+
+'2008-04-02 1.15pm'  => 2008040213:15:00 2008040217:15:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.polish.t b/t/date.parse.polish.t
new file mode 100755
index 0000000..66a8d9b
--- /dev/null
+++ b/t/date.parse.polish.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Polish)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Polish","dateformat","nonUS");
+
+$tests="
+
+'piątek maja 7, 2010'   => 2010050700:00:00
+
+'piatek maja 7, 2010'   => 2010050700:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.portuguese.t b/t/date.parse.portuguese.t
new file mode 100755
index 0000000..ee139f4
--- /dev/null
+++ b/t/date.parse.portuguese.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Portuguese)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Portuguese","dateformat","nonUS");
+
+$tests="
+
+'Sab Maio 8, 2010'     => 2010050800:00:00
+
+'S\xE1b Maio 8, 2010'     => 2010050800:00:00
+
+'Sáb Maio 8, 2010'     => 2010050800:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.romanian.t b/t/date.parse.romanian.t
new file mode 100755
index 0000000..05ac130
--- /dev/null
+++ b/t/date.parse.romanian.t
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Romanian)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Romanian","dateformat","nonUS");
+
+$tests="
+
+'marți iunie 8, 2010'   => 2010060800:00:00
+
+'marti iunie 8, 2010'   => 2010060800:00:00
+
+'marþi iunie 8, 2010'   => 2010060800:00:00
+
+'mar\xFEi iunie 8, 2010'   => 2010060800:00:00
+
+'sâmbătă iunie 12, 2010'   => 2010061200:00:00
+
+'duminică iunie 13, 2010'   => 2010061300:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.russian.cp1251.t b/t/date.parse.russian.cp1251.t
new file mode 100755
index 0000000..fe63e3d
--- /dev/null
+++ b/t/date.parse.russian.cp1251.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+use Test::More;
+use Test::Inter;
+binmode(STDOUT,':utf8');
+binmode(STDERR,':utf8');
+
+$t = new Test::Inter 'date :: parse (Russian, cp1251)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
+$obj->config("language","Russian","dateformat","nonUS");
+
+$tests="
+
+'\xd1\xc5\xc3\xce\xc4\xcd\xdf' => '1997030800:00:00'
+
+'\xe7\xe0\xe2\xf2\xf0\xe0' => '1997030900:00:00'
+
+'2 \xcc\xc0\xdf 2012' => 2012050200:00:00
+
+'2 \xec\xe0\xff 2012' => 2012050200:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/t/date.parse.russian.koi8-r.t b/t/date.parse.russian.koi8-r.t
new file mode 100755
index 0000000..dae8f21
--- /dev/null
+++ b/t/date.parse.russian.koi8-r.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::More;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Russian, koi8-r)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
+$obj->config("language","Russian","dateformat","nonUS");
+
+$tests="
+'\xf3\xe5\xe7\xef\xe4\xee\xf1' => '1997030800:00:00'
+
+'\xda\xc1\xd7\xd4\xd2\xc1' => '1997030900:00:00'
+
+'2 \xcd\xc1\xd1 2012' => 2012050200:00:00
+
+'2 \xed\xe1\xf1 2012' => 2012050200:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/t/date.parse.russian.t b/t/date.parse.russian.t
new file mode 100755
index 0000000..a276a01
--- /dev/null
+++ b/t/date.parse.russian.t
@@ -0,0 +1,108 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Russian)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
+$obj->config("language","Russian","dateformat","nonUS");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
+
+$now           = "${currY}${currM}${currD}${currH}:${currMN}:${currS}";
+$today         = "${currY}${currM}${currD}00:00:00";
+$yesterdaydate = "${currY}${currM}". ${currD}-1;
+$tomorrowdate  = "${currY}${currM}". ${currD}+1;
+$yesterday     = "${yesterdaydate}00:00:00";
+$tomorrow      = "${tomorrowdate}00:00:00";
+
+$tests="
+
+'СЕГОДНЯ' => $today
+
+'сегодня' => $today
+
+'сейчас' => $now
+
+'завтра' => $tomorrow
+
+'вчера' => $yesterday
+
+'двадцать седьмого июня 1977 16:00:00' => 1977062716:00:00
+
+04.12.1999 => 1999120400:00:00
+
+'2 мая 2012' => 2012050200:00:00
+
+'2 май 2012' => 2012050200:00:00
+
+31/12/2000 => 2000123100:00:00
+
+'3 сен 1975' => 1975090300:00:00
+
+'27 окт 2001' => 2001102700:00:00
+
+'первое сентября 1980' => 1980090100:00:00
+
+'декабрь 20, 1999' => 1999122000:00:00
+
+'20 июля 1987 12:32:20' => 1987072012:32:20
+
+'23:37:20 первое июня 1987' => 1987060123:37:20
+
+'20/12/01 17:27:08' => 2001122017:27:08
+
+'20/12/01 в 17:27:08' => 2001122017:27:08
+
+'20/12/01 в 17ч27м08с00' => 2001122017:27:08
+
+'17:27:08 20/12/01' => 2001122017:27:08
+
+'4 октября 1975 4ч00 дня' => 1975100416:00:00
+
+#'4 октября 1975 4 часа дня' => 1975100416:00:00
+
+#'4 октября 1975 в 4 часа дня' => 1975100416:00:00
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/t/date.parse.spanish.t b/t/date.parse.spanish.t
new file mode 100755
index 0000000..b40999c
--- /dev/null
+++ b/t/date.parse.spanish.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Spanish)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Spanish","dateformat","nonUS");
+
+$tests="
+
+'sábado Mayo 8, 2010'  => 2010050800:00:00
+
+'sabado Mayo 8, 2010'  => 2010050800:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.swedish.t b/t/date.parse.swedish.t
new file mode 100755
index 0000000..e9225b7
--- /dev/null
+++ b/t/date.parse.swedish.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Swedish)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+$obj->config("language","Swedish","dateformat","nonUS");
+
+$tests="
+
+'Mandag Maj 3, 2010'     => 2010050300:00:00
+
+'Måndag Maj 3, 2010'     => 2010050300:00:00
+
+'M\xE5ndag Maj 3, 2010'  => 2010050300:00:00
+
+'Mandag Maj 3, 2010 12:30:45'     => 2010050312:30:45
+
+'Mandag Maj 3, 2010 12.30:45'     => 2010050312:30:45
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.timezone.t b/t/date.parse.timezone.t
new file mode 100755
index 0000000..e5f2729
--- /dev/null
+++ b/t/date.parse.timezone.t
@@ -0,0 +1,71 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (with timezone)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $out = $obj->printf("%g");
+     return($out);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2013-10-04-00:00:00,America/New_York");
+
+$tests="
+
+'today at midnight UTC'              => 'Fri, 04 Oct 2013 00:00:00 UTC'
+
+'today at midnight'                  => 'Fri, 04 Oct 2013 00:00:00 EDT'
+
+'yesterday at midnight UTC'          => 'Thu, 03 Oct 2013 00:00:00 UTC'
+
+'yesterday at midnight'              => 'Thu, 03 Oct 2013 00:00:00 EDT'
+
+'1st at midnight UTC'                => 'Tue, 01 Oct 2013 00:00:00 UTC'
+
+'1st at midnight'                    => 'Tue, 01 Oct 2013 00:00:00 EDT'
+
+'last month at midnight UTC'         => 'Wed, 04 Sep 2013 00:00:00 UTC'
+
+'last month at midnight'             => 'Wed, 04 Sep 2013 00:00:00 EDT'
+
+'0 day ago at midnight UTC'          => 'Fri, 04 Oct 2013 00:00:00 UTC'
+
+'0 day ago at midnight'              => 'Fri, 04 Oct 2013 00:00:00 EDT'
+
+'1 day ago at midnight UTC'          => 'Thu, 03 Oct 2013 00:00:00 UTC'
+
+'1 day ago at midnight'              => 'Thu, 03 Oct 2013 00:00:00 EDT'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse.turkish.t b/t/date.parse.turkish.t
new file mode 100755
index 0000000..1b49274
--- /dev/null
+++ b/t/date.parse.turkish.t
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+
+use utf8;
+use Test::Inter;
+$t = new Test::Inter 'date :: parse (Turkish)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
+$obj->config("language","Turkish","dateformat","nonUS");
+
+$tests="
+
+'Bugün' => '1997030800:00:00'
+
+'şimdi' => '1997030812:30:00'
+
+'bugün' => '1997030800:00:00'
+
+'yarın' => '1997030900:00:00'
+
+'dün' => '1997030700:00:00'
+
+'DÜN' => '1997030700:00:00'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
diff --git a/t/date.parse_date.common.t b/t/date.parse_date.common.t
new file mode 100755
index 0000000..0ba4248
--- /dev/null
+++ b/t/date.parse_date.common.t
@@ -0,0 +1,145 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (common)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  $obj->_init();
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:00:00,America/New_York");
+
+$tests="
+
+# Common dates
+
+3/5 => 2000030500:00:00 2000030505:00:00
+
+3/5/09 => 2009030500:00:00 2009030505:00:00
+
+3/5/2009 => 2009030500:00:00 2009030505:00:00
+
+Mar/5 => 2000030500:00:00 2000030505:00:00
+
+Mar/5/09 => 2009030500:00:00 2009030505:00:00
+
+Mar/5/2009 => 2009030500:00:00 2009030505:00:00
+
+5/Mar => 2000030500:00:00 2000030505:00:00
+
+5/Mar/09 => 2009030500:00:00 2009030505:00:00
+
+5/Mar/2009 => 2009030500:00:00 2009030505:00:00
+
+2009/Mar/5 => 2009030500:00:00 2009030505:00:00
+
+'Mar5 09' => 2009030500:00:00 2009030505:00:00
+
+'Mar5 2009' => 2009030500:00:00 2009030505:00:00
+
+'5Mar 09' => 2009030500:00:00 2009030505:00:00
+
+'5Mar 2009' => 2009030500:00:00 2009030505:00:00
+
+'Mar/5 09' => 2009030500:00:00 2009030505:00:00
+
+'Mar/5 2009' => 2009030500:00:00 2009030505:00:00
+
+'5/Mar 09' => 2009030500:00:00 2009030505:00:00
+
+'5/Mar 2009' => 2009030500:00:00 2009030505:00:00
+
+'09 Mar5' => 2009030500:00:00 2009030505:00:00
+
+'2009 Mar5' => 2009030500:00:00 2009030505:00:00
+
+'09 5Mar' => 2009030500:00:00 2009030505:00:00
+
+'2009 5Mar' => 2009030500:00:00 2009030505:00:00
+
+'09 Mar/5' => 2009030500:00:00 2009030505:00:00
+
+'2009 Mar/5' => 2009030500:00:00 2009030505:00:00
+
+'09 5/Mar' => 2009030500:00:00 2009030505:00:00
+
+'2009 5/Mar' => 2009030500:00:00 2009030505:00:00
+
+Mar5 => 2000030500:00:00 2000030505:00:00
+
+Mar052009 => 2009030500:00:00 2009030505:00:00
+
+5Mar => 2000030500:00:00 2000030505:00:00
+
+5Mar09 => 2009030500:00:00 2009030505:00:00
+
+5Mar2009 => 2009030500:00:00 2009030505:00:00
+
+2009Mar5 => 2009030500:00:00 2009030505:00:00
+
+5March09 => 2009030500:00:00 2009030505:00:00
+
+5March2009 => 2009030500:00:00 2009030505:00:00
+
+2009March5 => 2009030500:00:00 2009030505:00:00
+
+'3 5' => 2000030500:00:00 2000030505:00:00
+
+'3 5 09' => 2009030500:00:00 2009030505:00:00
+
+'3 5 2009' => 2009030500:00:00 2009030505:00:00
+
+3-5 => 2000030500:00:00 2000030505:00:00
+
+3-5-09 => 2009030500:00:00 2009030505:00:00
+
+3-5-2009 => 2009030500:00:00 2009030505:00:00
+
+3.5.09 => 2009030500:00:00 2009030505:00:00
+
+3.5.2009 => 2009030500:00:00 2009030505:00:00
+
+3/5.2009 => '[parse_date] Invalid date string'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.iso.t b/t/date.parse_date.iso.t
new file mode 100755
index 0000000..a133ef4
--- /dev/null
+++ b/t/date.parse_date.iso.t
@@ -0,0 +1,167 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (ISO 8601)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  $obj->_init();
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+# ISO 8601 (YYMMDD)
+
+19930601 => 1993060100:00:00 1993060104:00:00
+
+1993-06-01 => 1993060100:00:00 1993060104:00:00
+
+-930601 => 1993060100:00:00 1993060104:00:00
+
+-93-06-01 => 1993060100:00:00 1993060104:00:00
+
+930601 => 1993060100:00:00 1993060104:00:00
+
+93-06-01 => 1993060100:00:00 1993060104:00:00
+
+--0601 => 2000060100:00:00 2000060104:00:00
+
+--06-01 => 2000060100:00:00 2000060104:00:00
+
+---07 => 2000010700:00:00 2000010705:00:00
+
+1996-11 => 1996110100:00:00 1996110105:00:00
+
+1996 => 1996010100:00:00 1996010105:00:00
+
+-9611 => 1996110100:00:00 1996110105:00:00
+
+-96-11 => 1996110100:00:00 1996110105:00:00
+
+-96 => 1996010100:00:00 1996010105:00:00
+
+--11 => 2000110100:00:00 2000110105:00:00
+
+1993-063 => 1993030400:00:00 1993030405:00:00
+
+1993063 => 1993030400:00:00 1993030405:00:00
+
+93-063 => 1993030400:00:00 1993030405:00:00
+
+93063 => 1993030400:00:00 1993030405:00:00
+
+-93-063 => 1993030400:00:00 1993030405:00:00
+
+-93063 => 1993030400:00:00 1993030405:00:00
+
+-063 => 2000030300:00:00 2000030305:00:00
+
+# ISO 8601 (YYWwwD)
+
+1993W101 => 1993030800:00:00 1993030805:00:00
+
+1993W107 => 1993031400:00:00 1993031405:00:00
+
+1993-W10-1 => 1993030800:00:00 1993030805:00:00
+
+1993-W10-7 => 1993031400:00:00 1993031405:00:00
+
+93W101 => 1993030800:00:00 1993030805:00:00
+
+93W107 => 1993031400:00:00 1993031405:00:00
+
+93-W10-1 => 1993030800:00:00 1993030805:00:00
+
+93-W10-7 => 1993031400:00:00 1993031405:00:00
+
+-93W101 => 1993030800:00:00 1993030805:00:00
+
+-93W107 => 1993031400:00:00 1993031405:00:00
+
+-93-W10-1 => 1993030800:00:00 1993030805:00:00
+
+-93-W10-7 => 1993031400:00:00 1993031405:00:00
+
+-W101 => 2000030600:00:00 2000030605:00:00
+
+-W107 => 2000031200:00:00 2000031205:00:00
+
+-W10-1 => 2000030600:00:00 2000030605:00:00
+
+-W10-7 => 2000031200:00:00 2000031205:00:00
+
+-W-1 => 2000011700:00:00 2000011705:00:00
+
+-W-7 => 2000012300:00:00 2000012305:00:00
+
+---1 => 2000011700:00:00 2000011705:00:00
+
+---7 => 2000012300:00:00 2000012305:00:00
+
+config firstday 7 =>
+
+1993W101 => 1993030700:00:00 1993030705:00:00
+
+1993W107 => 1993031300:00:00 1993031305:00:00
+
+config firstday 1 =>
+
+1993W10 => 1993030800:00:00 1993030805:00:00
+
+1993-W10 => 1993030800:00:00 1993030805:00:00
+
+93W10 => 1993030800:00:00 1993030805:00:00
+
+93-W10 => 1993030800:00:00 1993030805:00:00
+
+-93W10 => 1993030800:00:00 1993030805:00:00
+
+-93-W10 => 1993030800:00:00 1993030805:00:00
+
+-W10 => 2000030600:00:00 2000030605:00:00
+
+W10 => 2000030600:00:00 2000030605:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.misc.0.t b/t/date.parse_date.misc.0.t
new file mode 100755
index 0000000..c70be82
--- /dev/null
+++ b/t/date.parse_date.misc.0.t
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (misc)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  $obj->_init();
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+Friday => 2000012100:00:00 2000012105:00:00
+
+Monday => 2000011700:00:00 2000011705:00:00
+
+Saturday => 2000012200:00:00 2000012205:00:00
+
+'next year' => 2001012100:00:00 2001012105:00:00
+
+'last year' => 1999012100:00:00 1999012105:00:00
+
+'next month' => 2000022100:00:00 2000022105:00:00
+
+'last month' => 1999122100:00:00 1999122105:00:00
+
+'next week' => 2000012800:00:00 2000012805:00:00
+
+'last week' => 2000011400:00:00 2000011405:00:00
+
+'next friday' => 2000012800:00:00 2000012805:00:00
+
+'next sunday' => 2000012300:00:00 2000012305:00:00
+
+'last friday' => 2000011400:00:00 2000011405:00:00
+
+'last sunday' => 2000011600:00:00 2000011605:00:00
+
+'last tue in Jun 96' => 1996062500:00:00 1996062504:00:00
+
+'last tueSday of Jan' => 2000012500:00:00 2000012505:00:00
+
+'last day in October 1997' => 1997103100:00:00 1997103105:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.misc.1.t b/t/date.parse_date.misc.1.t
new file mode 100755
index 0000000..86dbfe6
--- /dev/null
+++ b/t/date.parse_date.misc.1.t
@@ -0,0 +1,88 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (misc,DefaultTime=curr)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  $obj->_init();
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("gmt");
+     return($d1,$d2);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:00:00,America/New_York");
+$obj->config("defaulttime","curr");
+
+$tests="
+
+Friday => 2000012100:00:00 2000012105:00:00
+
+Monday => 2000011700:00:00 2000011705:00:00
+
+Saturday => 2000012200:00:00 2000012205:00:00
+
+'next year' => 2001012100:00:00 2001012105:00:00
+
+'last year' => 1999012100:00:00 1999012105:00:00
+
+'next month' => 2000022100:00:00 2000022105:00:00
+
+'last month' => 1999122100:00:00 1999122105:00:00
+
+'next week' => 2000012800:00:00 2000012805:00:00
+
+'last week' => 2000011400:00:00 2000011405:00:00
+
+'next friday' => 2000012800:00:00 2000012805:00:00
+
+'next sunday' => 2000012300:00:00 2000012305:00:00
+
+'last friday' => 2000011400:00:00 2000011405:00:00
+
+'last sunday' => 2000011600:00:00 2000011605:00:00
+
+'last tue in Jun 96' => 1996062500:00:00 1996062504:00:00
+
+'last tueSday of Jan' => 2000012500:00:00 2000012505:00:00
+
+'last day in October 1997' => 1997103100:00:00 1997103105:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.mmmyyyy.first.t b/t/date.parse_date.mmmyyyy.first.t
new file mode 100755
index 0000000..eb016c1
--- /dev/null
+++ b/t/date.parse_date.mmmyyyy.first.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (format_mmmyyyy=first)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York",
+             "format_mmmyyyy","first",
+             "yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '1925060100:00:00'
+
+'Jun/1925'  => '1925060100:00:00'
+
+'1925/Jun'  => '1925060100:00:00'
+
+'1925Jun'   => '1925060100:00:00'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.mmmyyyy.last.t b/t/date.parse_date.mmmyyyy.last.t
new file mode 100755
index 0000000..5bc5995
--- /dev/null
+++ b/t/date.parse_date.mmmyyyy.last.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (format_mmmyyyy=last)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York",
+             "format_mmmyyyy","last",
+             "yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '1925063000:00:00'
+
+'Jun/1925'  => '1925063000:00:00'
+
+'1925/Jun'  => '1925063000:00:00'
+
+'1925Jun'   => '1925063000:00:00'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_date.mmmyyyy.t b/t/date.parse_date.mmmyyyy.t
new file mode 100755
index 0000000..db10e53
--- /dev/null
+++ b/t/date.parse_date.mmmyyyy.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_date (no format_mmmyyyy)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  my $err = $obj->parse_date(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return($d1);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York","yytoyyyy","c20");
+
+$tests="
+
+'Jun1925'   => '2025061900:00:00'
+
+'Jun/1925'  => '[parse_date] Invalid date string'
+
+'1925/Jun'  => '[parse_date] Invalid date string'
+
+'1925Jun'   => '[parse_date] Invalid date string'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_format.0.t b/t/date.parse_format.0.t
new file mode 100755
index 0000000..07f01bb
--- /dev/null
+++ b/t/date.parse_format.0.t
@@ -0,0 +1,63 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_format';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test) = @_;
+  $err = $obj->parse_format(@test);
+  if ($err) {
+     return $err;
+  }
+  $v = $obj->value();
+  return $v;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+
+$tests=q{
+
+%Y\\.%m\\-%d
+2000.12-13
+   =>
+   2000121300:00:00
+
+'.*?\\[%d/%b/%Y:%T %z\\].*'
+'10.11.12.13 - - [17/Aug/2009:12:33:30 -0400] "GET /favicon.ico ..."'
+   =>
+   2009081712:33:30
+
+%r
+'12:01:02 AM'
+   =>
+   2000012100:01:02
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_format.1.t b/t/date.parse_format.1.t
new file mode 100755
index 0000000..790967f
--- /dev/null
+++ b/t/date.parse_format.1.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_format';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($format,$string,@g) = @_;
+  ($err,%m) = $obj->parse_format($format,$string);
+  if ($err) {
+     return $err;
+  }
+  $v = $obj->value();
+  push(@ret,$v);
+  foreach my $g (@g) {
+    push(@ret,$m{$g});
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-12:30:45,America/New_York");
+
+$tests=q{
+
+'(?
.*?)%Y-%m-%d(?.*)'
+'before 2014-01-25 after'
+PRE
+POST
+   =>
+   2014012500:00:00
+   'before '
+   ' after'
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.parse_time.t b/t/date.parse_time.t
new file mode 100755
index 0000000..a8f96dc
--- /dev/null
+++ b/t/date.parse_time.t
@@ -0,0 +1,116 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: parse_time';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  if ($test[0] eq "config") {
+     shift(@test);
+     $obj->config(@test);
+     return ();
+  }
+
+  $obj->_init();
+  my $err = $obj->parse_time(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     return $d1;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-01-21-01:02:03, America/New_York");
+
+$tests="
+
+# Times
+
+17:30:15 => 2000012117:30:15
+
+'17:30:15 AM' => '[parse_time] Invalid time string'
+
+'5:30:15 PM' => 2000012117:30:15
+
+5:30:15 => 2000012105:30:15
+
+17:30:15.25 => 2000012117:30:15
+
+17:30:15,25 => 2000012117:30:15
+
+'17:30:15.25 AM' => '[parse_time] Invalid time string'
+
+'5:30:15.25 PM' => 2000012117:30:15
+
+'5:30:15,25 PM' => 2000012117:30:15
+
+5:30:15.25 => 2000012105:30:15
+
+17:30.25 => 2000012117:30:15
+
+'17:30.25 AM' => '[parse_time] Invalid time string'
+
+'5:30.25 PM' => 2000012117:30:15
+
+5:30.25 => 2000012105:30:15
+
+17.5 => 2000012117:30:00
+
+17,5 => 2000012117:30:00
+
+'17.5 AM' => '[parse_time] Invalid time string'
+
+'5.5 PM' => 2000012117:30:00
+
+5.5 => 2000012105:30:00
+
+17:30 => 2000012117:30:00
+
+'17:30 AM' => '[parse_time] Invalid time string'
+
+'5:30 PM' => 2000012117:30:00
+
+5:30 => 2000012105:30:00
+
+midnight => 2000012100:00:00
+
+5:30 => 2000012105:30:00
+
+5:30:02 => 2000012105:30:02
+
+15:30:00 => 2000012115:30:00
+
+5pm => 2000012117:00:00
+
+123015 => 2000012112:30:15
+
+'24:00' => 2000012100:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.prev.t b/t/date.prev.t
new file mode 100755
index 0000000..65ecdad
--- /dev/null
+++ b/t/date.prev.t
@@ -0,0 +1,130 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: prev';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $date = shift(@test);
+  $obj->set("date",$date);
+  $err = $obj->prev(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     return [ $obj->value() ];
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1996 11 22 17 49 30 ] 4         0                            => [ 1996 11 21 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 4         1                            => [ 1996 11 21 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         0                            => [ 1996 11 15 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         0                            => [ 1996 11 15 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         1                            => [ 1996 11 22 17 49 30 ]
+
+[ 1996 11 22 17 49 30 ] 5         0 [ 18 30 ]                  => [ 1996 11 15 18 30 0 ]
+
+[ 1996 11 22 17 49 30 ] 5         0 [ 18 30 45 ]               => [ 1996 11 15 18 30 45 ]
+
+[ 1996 11 22 17 49 30 ] 5         1 [ 18 30 45 ]               => [ 1996 11 22 18 30 45 ]
+
+[ 1996 11 22 17 49 30 ] 5         2 [ 18 30 45 ]               => [ 1996 11 15 18 30 45 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ 18 0 0 ]                 => [ 1996 11 21 18 0 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 30 0 ]                => [ 1996 11 21 18 30 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 30 45 ]               => [ 1996 11 21 18 30 45 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 18 __undef__ 45 ]        => [ 1996 11 21 18 0 45 ]
+
+[ 1996 11 22 17 0 0 ]   __undef__ 0 [ 17 0 0 ]                 => [ 1996 11 21 17 0 0 ]
+
+[ 1996 11 22 17 0 0 ]   __undef__ 1 [ 17 0 0 ]                 => [ 1996 11 22 17 0 0 ]
+
+[ 1996 11 22 17 49 0 ]  __undef__ 0 [ 17 49 0 ]                => [ 1996 11 21 17 49 0 ]
+
+[ 1996 11 22 17 49 0 ]  __undef__ 1 [ 17 49 0 ]                => [ 1996 11 22 17 49 0 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 0 [ 17 49 33 ]               => [ 1996 11 21 17 49 33 ]
+
+[ 1996 11 22 17 49 33 ] __undef__ 1 [ 17 49 33 ]               => [ 1996 11 22 17 49 33 ]
+
+[ 1996 11 22 17 0 33 ]  __undef__ 0 [ 17 __undef__ 33 ]        => [ 1996 11 21 17 0 33 ]
+
+[ 1996 11 22 17 0 33 ]  __undef__ 1 [ 17 __undef__ 33 ]        => [ 1996 11 22 17 0 33 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ 30 0 ]         => [ 1996 11 22 17 30 0 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ 30 45 ]        => [ 1996 11 22 17 30 45 ]
+
+[ 1996 11 22 17 49 30 ] __undef__ 0 [ __undef__ __undef__ 30 ] => [ 1996 11 22 17 48 30 ]
+
+[ 1996 11 22 17 30 0 ]  __undef__ 0 [ __undef__ 30 0 ]         => [ 1996 11 22 16 30 0 ]
+
+[ 1996 11 22 17 30 0 ]  __undef__ 1 [ __undef__ 30 0 ]         => [ 1996 11 22 17 30 0 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 0 [ __undef__ 30 45 ]        => [ 1996 11 22 16 30 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 1 [ __undef__ 30 45 ]        => [ 1996 11 22 17 30 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 0 [ __undef__ __undef__ 45 ] => [ 1996 11 22 17 29 45 ]
+
+[ 1996 11 22 17 30 45 ] __undef__ 1 [ __undef__ __undef__ 45 ] => [ 1996 11 22 17 30 45 ]
+
+[ 2002 11 22 18 15 0 ] 4          0                            => [ 2002 11 21 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ] 4          0 [ 12 30 ]                  => [ 2002 11 21 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          0                            => [ 2002 11 15 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          1                            => [ 2002 11 22 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          2                            => [ 2002 11 15 18 15 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          0 [ 12 30 ]                  => [ 2002 11 15 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          1 [ 12 30 ]                  => [ 2002 11 22 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          2 [ 12 30 ]                  => [ 2002 11 22 12 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          0 [ 19 30 ]                  => [ 2002 11 15 19 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          1 [ 19 30 ]                  => [ 2002 11 22 19 30 0 ]
+
+[ 2002 11 22 18 15 0 ] 5          2 [ 19 30 ]                  => [ 2002 11 15 19 30 0 ]
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.prev_business_day.t b/t/date.prev_business_day.t
new file mode 100755
index 0000000..ebcc63e
--- /dev/null
+++ b/t/date.prev_business_day.t
@@ -0,0 +1,89 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: prev_business_day';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@test)=@_;
+  $obj->parse($date);
+  $obj->prev_business_day(@test);
+  $ret = $obj->value();
+  return $ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+#      August 2009
+# Su Mo Tu We Th Fr Sa
+#                    1
+#  2  3  4  5  6  7  8
+#  9 10 11 12 13 14 15
+# 16 17 18 19 20 21 22
+# 23 24 25 26 27 28 29
+# 30 31
+
+#### Day 0, no timecheck
+
+'Aug 18 2009 12:00:00' 0 0 => 2009081812:00:00
+
+'Aug 18 2009 05:00:00' 0 0 => 2009081805:00:00
+
+'Aug 16 2009 12:00:00' 0 0 => 2009081712:00:00
+
+
+#### Day 0, timecheck
+
+'Aug 18 2009 12:00:00' 0 1 => 2009081812:00:00
+
+'Aug 18 2009 05:00:00' 0 1 => 2009081808:00:00
+
+'Aug 16 2009 12:00:00' 0 1 => 2009081708:00:00
+
+
+#### Day 2, no timecheck
+
+'Aug 18 2009 12:00:00' 2 0 => 2009081412:00:00
+
+'Aug 18 2009 05:00:00' 2 0 => 2009081405:00:00
+
+'Aug 16 2009 12:00:00' 2 0 => 2009081312:00:00
+
+
+#### Day 2, timecheck
+
+'Aug 18 2009 12:00:00' 2 1 => 2009081412:00:00
+
+'Aug 18 2009 05:00:00' 2 1 => 2009081408:00:00
+
+'Aug 16 2009 12:00:00' 2 1 => 2009081308:00:00
+
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.printf.0.t b/t/date.printf.0.t
new file mode 100755
index 0000000..f9efaeb
--- /dev/null
+++ b/t/date.printf.0.t
@@ -0,0 +1,106 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: printf';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($date,@test)=@_;
+  $obj->parse($date);
+  return $obj->printf(@test);
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","2000-06-06-12:00:00,America/New_York");
+
+$tests=q{
+
+'Jan 3, 1996 8:11:12'     '%y %Y %m %f %d %e'    => '96 1996 01  1 03  3'
+
+'Wed Jan 3, 1996 8:11:12' '%b %h %B %v %a %A'    => 'Jan Jan January W Wed Wednesday'
+
+'Jan 3, 1996 8:11:12'     '%j %w %E'             => '003 3 3rd'
+
+'Jan 3, 1996 8:11:12'     '%H %k %i %I %p %M %S' => '08  8  8 08 AM 11 12'
+
+'Jan 3, 1996 18:01:02'    '%H %k %i %I %p %M %S' => '18 18  6 06 PM 01 02'
+
+'Jan 3, 1996 18:01:02'    '%Z %z %N'             => 'EST -0500 -05:00:00'
+
+'Jul 3, 1996 18:01:02'    '%Z %z %N'             => 'EDT -0400 -04:00:00'
+
+'Jan 3, 1996 8:11:12'     '%s %o'                => '820674672 820656672'
+
+'Jan 3, 1996 8:11:12'     %c                     => 'Wed Jan  3 08:11:12 1996'
+
+'Jan 3, 1996 8:11:12'     %C                     => 'Wed Jan  3 08:11:12 EST 1996'
+
+'Jan 3, 1996 8:11:12'     %u                     => 'Wed Jan  3 08:11:12 EST 1996'
+
+'Jan 3, 1996 8:11:12'     %g                     => 'Wed, 03 Jan 1996 08:11:12 EST'
+
+'Jan 3, 1996 8:11:12'     '%D %x'                => '01/03/96 01/03/96'
+
+2000-12-06-11:00:00       %l                     => 'Dec  6 11:00'
+
+2000-12-06-13:00:00       %l                     => 'Dec  6  2000'
+
+1999-12-06-11:00:00       %l                     => 'Dec  6  1999'
+
+1999-12-06-13:00:00       %l                     => 'Dec  6 13:00'
+
+'Jan 3, 1996 8:11:12'     '%r %R %T %X'          => '08:11:12 AM 08:11 08:11:12 08:11:12'
+
+'Jan 3, 1996 8:11:12'     '%V %Q %q %P'     => '0103081196 19960103 19960103081112 1996010308:11:12'
+
+'Jan 3, 1996 8:11:12'     '%O %K'                => '1996-01-03T08:11:12 1996-003'
+
+'Jan 3, 1996 8:11:12'     %F                     => 'Wednesday, January  3, 1996'
+
+2006-01-23                '%G %W'                => '2006 04'
+
+2006-01-22                '%L %U'                => '2006 04'
+
+2006-01-23                %J                     => 2006-W04-1
+
+'Jan 3, 1996 18:01:02'    %Z %z %N               => EST -0500 -05:00:00
+
+'Jan 3, 1996 18:01:02'    '% % %' => 'Mon Fri Sun'
+
+'Jan 3, 1996 18:01:02'    '% % %' => 'Monday Friday Sunday'
+
+'Jan 3, 1996 18:01:02'    '% % %' => 'M F S'
+
+'Jan 3, 1996 18:01:02'    '% % %'  => 'Jan May Dec'
+
+'Jan 3, 1996 18:01:02'    '% % %'  => 'January May December'
+
+'Jan 3, 1996 18:01:02'    '% %'        => 'AM PM'
+
+'Jan 3, 1996 18:01:02'    '% % %'  => '1st 5th 53rd'
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.printf.1.t b/t/date.printf.1.t
new file mode 100755
index 0000000..74dce87
--- /dev/null
+++ b/t/date.printf.1.t
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: printf (nonUS)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $obj->parse($test[0]);
+  return $obj->printf($test[1]);
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("dateformat","nonUS");
+
+$tests=q{
+
+'Jan 3, 1996 8:11:12'  '%D %x'  =>  '01/03/96 03/01/96'
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.secs_since_1970_GMT.0.t b/t/date.secs_since_1970_GMT.0.t
new file mode 100755
index 0000000..3ac24f1
--- /dev/null
+++ b/t/date.secs_since_1970_GMT.0.t
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: secs_since_1970_GMT(secs->date)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $obj->secs_since_1970_GMT(@test);
+  $ret = $obj->value();
+  return $ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+881755200  => 1997121007:00:00
+
+944829030  => 1999121007:30:30
+
+1256046697 => 2009102009:51:37
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.secs_since_1970_GMT.1.t b/t/date.secs_since_1970_GMT.1.t
new file mode 100755
index 0000000..745aff5
--- /dev/null
+++ b/t/date.secs_since_1970_GMT.1.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: secs_since_1970_GMT(date->secs)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $obj->parse($test[0]);
+  $ret = $obj->secs_since_1970_GMT();
+  return $ret;
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+1997121007:00:00 => 881755200
+
+1999121007:30:30 => 944829030
+
+2009102009:51:37 => 1256046697
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.set.0.t b/t/date.set.0.t
new file mode 100755
index 0000000..b84c1f0
--- /dev/null
+++ b/t/date.set.0.t
@@ -0,0 +1,71 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: set (Printable=0)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("local");
+     $d3 = $obj->value("gmt");
+     return($d1,$d2,$d3);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests=join('',);
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+__DATA__
+
+date [ 1996 1 1 12 0 0 ]       => 1996010112:00:00 1996010112:00:00 1996010117:00:00
+
+date [ 1996 13 1 12 0 0 ]      => '[set] Invalid date argument'
+
+date [ 1926 04 25 02 15 00 ]   => '[set] Invalid date/timezone'
+
+date [ 1926 09 26 01 15 00 ] 0 => 1926092601:15:00 1926092601:15:00 1926092606:15:00
+
+date [ 1926 09 26 01 15 00 ] 1 => 1926092601:15:00 1926092601:15:00 1926092605:15:00
+
+zdate America/Chicago [ 2005 06 01 12 00 00 ]
+                               => 2005060112:00:00 2005060113:00:00 2005060117:00:00
+
+zdate [ 1996 01 01 12 00 00 ]  => 1996010112:00:00 1996010112:00:00 1996010117:00:00
+
+time [ 12 40 50 ]              => 1996010112:40:50 1996010112:40:50 1996010117:40:50
+
+y 2010                         => 2010010112:40:50 2010010112:40:50 2010010117:40:50
+
+d 15                           => 2010011512:40:50 2010011512:40:50 2010011517:40:50
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.set.1.t b/t/date.set.1.t
new file mode 100755
index 0000000..ea37cbc
--- /dev/null
+++ b/t/date.set.1.t
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: set (Printable=1)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     my $ret = $obj->value();
+     return $ret;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("printable",1);
+
+$tests=join('',);
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+__DATA__
+
+date [ 1996 1 1 12 0 0 ]  => 19960101120000
+
+date [ 1996 13 1 12 0 0 ] => '[set] Invalid date argument'
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.set.2.t b/t/date.set.2.t
new file mode 100755
index 0000000..1eabb62
--- /dev/null
+++ b/t/date.set.2.t
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: set (Printable=2)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     my $ret = $obj->value();
+     return $ret;
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config("printable",2);
+
+$tests=join('',);
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+1;
+__DATA__
+
+date [ 1996 1 1 12 0 0 ]  => 1996-01-01-12:00:00
+
+date [ 1996 13 1 12 0 0 ] => '[set] Invalid date argument'
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.set.3.t b/t/date.set.3.t
new file mode 100755
index 0000000..3da2f52
--- /dev/null
+++ b/t/date.set.3.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: set (Printable=0)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $d1 = $obj->value();
+     $d2 = $obj->value("local");
+     $d3 = $obj->value("gmt");
+     return($d1,$d2,$d3);
+  }
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/Los_Angeles");
+
+$tests="
+
+date [ 1996 1 1 12 0 0 ]       => 1996010112:00:00 1996010112:00:00 1996010120:00:00
+
+date [ 1996 13 1 12 0 0 ]      => '[set] Invalid date argument'
+
+date [ 1991 04 07 02 15 00 ]   => '[set] Invalid date/timezone'
+
+date [ 1926 09 26 01 15 00 ] 0 => 1926092601:15:00 1926092601:15:00 1926092609:15:00
+
+zdate America/Chicago [ 2005 06 01 12 00 00 ]
+                               => 2005060112:00:00 2005060110:00:00 2005060117:00:00
+
+zdate [ 1996 01 01 12 00 00 ]  => 1996010112:00:00 1996010112:00:00 1996010120:00:00
+
+time [ 12 40 50 ]              => 1996010112:40:50 1996010112:40:50 1996010120:40:50
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.week_of_year.0.t b/t/date.week_of_year.0.t
new file mode 100755
index 0000000..23bcdb6
--- /dev/null
+++ b/t/date.week_of_year.0.t
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: week_of_year';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my($date,$first) = @test;
+  $obj->set("date",$date);
+  return $obj->week_of_year($first);
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+# Date, FirstDate
+
+[ 2008 01 01 00 00 00 ] 7 => 1
+
+[ 2008 01 06 00 00 00 ] 7 => 2
+
+[ 2008 12 23 00 00 00 ] 7 => 52
+
+[ 2008 12 28 00 00 00 ] 7 => 53
+
+[ 2008 01 01 00 00 00 ] 1 => 1
+
+[ 2008 01 06 00 00 00 ] 1 => 1
+
+[ 2008 12 23 00 00 00 ] 1 => 52
+
+[ 2008 12 28 00 00 00 ] 1 => 52
+
+[ 2008 12 29 00 00 00 ] 1 => 53
+
+[ 2005 01 01 00 00 00 ] 7 => 0
+
+[ 2005 01 06 00 00 00 ] 7 => 1
+
+[ 2005 12 23 00 00 00 ] 7 => 51
+
+[ 2005 12 28 00 00 00 ] 7 => 52
+
+[ 2005 01 01 00 00 00 ] 1 => 0
+
+[ 2005 01 06 00 00 00 ] 1 => 1
+
+[ 2005 12 23 00 00 00 ] 1 => 51
+
+[ 2005 12 28 00 00 00 ] 1 => 52
+
+[ 2005 12 29 00 00 00 ] 1 => 52
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/date.week_of_year.1.t b/t/date.week_of_year.1.t
new file mode 100755
index 0000000..1375ad5
--- /dev/null
+++ b/t/date.week_of_year.1.t
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'date :: week_of_year';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my($date,$first) = @test;
+  $obj->set("date",$date);
+  return $obj->week_of_year($first);
+}
+
+$obj = new Date::Manip::Date;
+$obj->config("forcedate","now,America/New_York");
+$obj->config(qw(Jan1Week1 1));
+
+$tests="
+
+# Date, FirstDate
+
+[ 2005 01 01 00 00 00 ] 7 => 1
+
+[ 2005 01 06 00 00 00 ] 7 => 2
+
+[ 2005 12 23 00 00 00 ] 7 => 52
+
+[ 2005 12 28 00 00 00 ] 7 => 53
+
+[ 2005 01 01 00 00 00 ] 1 => 1
+
+[ 2005 01 06 00 00 00 ] 1 => 2
+
+[ 2005 12 23 00 00 00 ] 1 => 52
+
+[ 2005 12 28 00 00 00 ] 1 => 53
+
+[ 2005 12 29 00 00 00 ] 1 => 53
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.calc.delta_delta_approx.t b/t/delta.calc.delta_delta_approx.t
new file mode 100755
index 0000000..99b8e4e
--- /dev/null
+++ b/t/delta.calc.delta_delta_approx.t
@@ -0,0 +1,71 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: calc (delta,delta,approx)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  if ($err) {
+     return $obj1->err();
+  }
+
+  $err = $obj2->parse(shift(@test));
+  if ($err) {
+     return $obj2->err();
+  }
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Delta;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+1:1:1:1:1:1:1   2:12:5:2:48:120:120  => 4:1:6:3:51:3:1
+
+1:1:1:1:1:1:1   2:12:-1:2:48:120:120 => 4:1:0:-1:49:0:59
+
+2:3:4:5:6:7:8   1:2:3:4:5:6:7        => 3:5:8:2:11:13:15
+
+2:3:4:5:6:7:8   1:2:3:4:5:6:7 1      => 1:1:1:1:1:1:1
+
+1:1:0:1:1:1:1   2:12:1:2:48:120:120  => 4:1:1:3:51:3:1
+
+1:1:0:1:1:1:1   2:12:0:-2:48:120:120 => 4:1:0:-1:49:0:59
+
+2:3:4:5:6:7:8   1:2:3:4:5:6:7        => 3:5:8:2:11:13:15
+
+2:3:4:5:6:7:8   1:2:3:4:5:6:7 1      => 1:1:1:1:1:1:1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.calc.delta_delta_business.0.t b/t/delta.calc.delta_delta_business.0.t
new file mode 100755
index 0000000..e7004fc
--- /dev/null
+++ b/t/delta.calc.delta_delta_business.0.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: calc (delta,delta,business 08:00-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  if ($err) {
+     return $obj1->err();
+  }
+
+  $err = $obj2->parse(shift(@test));
+  if ($err) {
+     return $obj2->err();
+  }
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Delta;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'+1:6:30:30 business'  '+1:3:45:45 business'  => 0:0:0:2:10:16:15
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.calc.delta_delta_business.1.t b/t/delta.calc.delta_delta_business.1.t
new file mode 100755
index 0000000..7ec159b
--- /dev/null
+++ b/t/delta.calc.delta_delta_business.1.t
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: calc (delta,delta,business 08:30-17:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  if ($err) {
+     return $obj1->err();
+  }
+
+  $err = $obj2->parse(shift(@test));
+  if ($err) {
+     return $obj2->err();
+  }
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Delta;
+$obj1->config("forcedate","now,America/New_York");
+$obj1->config(qw(workdaybeg 08:30:00));
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+'+1:6:30:30 business'  '+1:3:45:45 business'  => 0:0:0:2:10:16:15
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.calc.delta_delta_exact.t b/t/delta.calc.delta_delta_exact.t
new file mode 100755
index 0000000..9dd875d
--- /dev/null
+++ b/t/delta.calc.delta_delta_exact.t
@@ -0,0 +1,69 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: calc (delta,delta,exact)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+
+  $err = $obj1->parse(shift(@test));
+  if ($err) {
+     return $obj1->err();
+  }
+
+  $err = $obj2->parse(shift(@test));
+  if ($err) {
+     return $obj2->err();
+  }
+
+  my $obj3 = $obj1->calc($obj2,@test);
+  $ret = $obj3->value();
+  return $ret;
+}
+
+$obj1 = new Date::Manip::Delta;
+$obj1->config("forcedate","now,America/New_York");
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+1:1:1:1       2:2:2:2       => 0:0:0:3:3:3:3
+
+0:0:0:1:1:1:1 0:0:0:2:2:2:2 => 0:0:0:3:3:3:3
+
+1:1:1:1       2:-1:1:1      => 0:0:0:3:0:0:0
+
+1:1:1:1       0:-11:5:6     => 0:0:0:1:-10:4:5
+
+1:1:1:1       0:-25:5:6     => 0:0:0:1:-24:4:5
+
+2:3:4:5       1:2:3:4 1     => 0:0:0:1:1:1:1
+
+1:2:3:4       2:3:4:5 1     => 0:0:0:-1:1:1:1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.cmp.t b/t/delta.cmp.t
new file mode 100755
index 0000000..d3650ff
--- /dev/null
+++ b/t/delta.cmp.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: cmp';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $obj1->parse($test[0]);
+  $obj2->parse($test[1]);
+  return $obj1->cmp($obj2);
+}
+
+$obj1 = new Date::Manip::Delta;
+$obj2 = $obj1->new_delta();
+
+$tests="
+
+0:0:0:0:-1:0:0   0:0:0:0:1:0:0   => -1
+
+0:0:0:0:1:0:0    0:0:0:0:-1:0:0  => 1
+
+0:0:0:0:1:0:0    0:0:0:0:0:60:0  => 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.convert.t b/t/delta.convert.t
new file mode 100755
index 0000000..e740e63
--- /dev/null
+++ b/t/delta.convert.t
@@ -0,0 +1,194 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: convert';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($delta,$to)=@_;
+  $obj->parse($delta);
+  $obj->convert($to);
+  @val = $obj->value();
+  return (@val,$$obj{"data"}{"business"});
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+'0:0:0:0:2:30:0'                exact   => 0 0 0 0 2 30 0 0
+
+'0:0:0:0:2:30:0'                semi    => 0 0 0 0 2 30 0 0
+
+'0:0:0:0:2:30:0'                approx  => 0 0 0 0 2 30 0 0
+
+#
+
+'0:0:0:0:0:0:60'                exact   => 0 0 0 0 0 1 0 0
+
+'0:0:0:0:0:0:60'                semi    => 0 0 0 0 0 1 0 0
+
+'0:0:0:0:0:0:60'                approx  => 0 0 0 0 0 1 0 0
+
+#
+
+'0:0:0:0:0:0:3600'              exact   => 0 0 0 0 1 0 0 0
+
+'0:0:0:0:0:0:3600'              semi    => 0 0 0 0 1 0 0 0
+
+'0:0:0:0:0:0:3600'              approx  => 0 0 0 0 1 0 0 0
+
+#
+
+'0:0:0:0:0:0:86400'             exact   => 0 0 0 0 24 0 0 0
+
+'0:0:0:0:0:0:86400'             semi    => 0 0 0 1 0 0 0 0
+
+'0:0:0:0:0:0:86400'             approx  => 0 0 0 1 0 0 0 0
+
+#
+
+'0:0:0:0:0:0:604800'            exact   => 0 0 0 0 168 0 0 0
+
+'0:0:0:0:0:0:604800'            semi    => 0 0 1 0 0 0 0 0
+
+'0:0:0:0:0:0:604800'            approx  => 0 0 1 0 0 0 0 0
+
+#
+
+'0:0:0:0:0:0:31556952'          exact   => 0 0 0 0 8765 49 12 0
+
+'0:0:0:0:0:0:31556952'          semi    => 0 0 52 1 5 49 12 0
+
+'0:0:0:0:0:0:31556952'          approx  => 1 0 0 0 0 0 0 0
+
+#
+
+'0:0:0:1:0:0:0'                 exact   => 0 0 0 0 24 0 0 0
+
+'0:0:0:1:0:0:0'                 semi    => 0 0 0 1 0 0 0 0
+
+'0:0:0:1:0:0:0'                 approx  => 0 0 0 1 0 0 0 0
+
+#
+
+'0:0:0:367:0:0:0'               exact   => 0 0 0 0 8808 0 0 0
+
+'0:0:0:367:0:0:0'               semi    => 0 0 52 3 0 0 0 0
+
+'0:0:0:367:0:0:0'               approx  => 1 0 0 1 18 10 48 0
+
+#
+
+'0:1:0:0:0:0:0'                 exact   => 0 0 0 0 730 29 6 0
+
+'0:1:0:0:0:0:0'                 semi    => 0 0 4 2 10 29 6 0
+
+'0:1:0:0:0:0:0'                 approx  => 0 1 0 0 0 0 0 0
+
+#
+
+'0:0:0:0:2:30:0 business'       exact   => 0 0 0 0 2 30 0 1
+
+'0:0:0:0:2:30:0 business'       semi    => 0 0 0 0 2 30 0 1
+
+'0:0:0:0:2:30:0 business'       approx  => 0 0 0 0 2 30 0 1
+
+#
+
+'0:0:0:0:0:0:60 business'       exact   => 0 0 0 0 0 1 0 1
+
+'0:0:0:0:0:0:60 business'       semi    => 0 0 0 0 0 1 0 1
+
+'0:0:0:0:0:0:60 business'       approx  => 0 0 0 0 0 1 0 1
+
+#
+
+'0:0:0:0:0:0:3600 business'     exact   => 0 0 0 0 1 0 0 1
+
+'0:0:0:0:0:0:3600 business'     semi    => 0 0 0 0 1 0 0 1
+
+'0:0:0:0:0:0:3600 business'     approx  => 0 0 0 0 1 0 0 1
+
+#
+
+'0:0:0:0:0:0:32400 business'    exact   => 0 0 0 1 0 0 0 1
+
+'0:0:0:0:0:0:32400 business'    semi    => 0 0 0 1 0 0 0 1
+
+'0:0:0:0:0:0:32400 business'    approx  => 0 0 0 1 0 0 0 1
+
+#
+
+'0:0:0:0:0:0:162000 business'   exact   => 0 0 0 5 0 0 0 1
+
+'0:0:0:0:0:0:162000 business'   semi    => 0 0 1 0 0 0 0 1
+
+'0:0:0:0:0:0:162000 business'   approx  => 0 0 1 0 0 0 0 1
+
+#
+
+'0:0:0:0:0:0:8452755 business'  exact   => 0 0 0 260 7 59 15 1
+
+'0:0:0:0:0:0:8452755 business'  semi    => 0 0 52 0 7 59 15 1
+
+'0:0:0:0:0:0:8452755 business'  approx  => 1 0 0 0 0 0 0 1
+
+#
+
+'0:0:0:1:0:0:0 business'        exact   => 0 0 0 1 0 0 0 1
+
+'0:0:0:1:0:0:0 business'        semi    => 0 0 0 1 0 0 0 1
+
+'0:0:0:1:0:0:0 business'        approx  => 0 0 0 1 0 0 0 1
+
+#
+
+'0:0:1:0:0:0:0 business'        exact   => 0 0 0 5 0 0 0 1
+
+'0:0:1:0:0:0:0 business'        semi    => 0 0 1 0 0 0 0 1
+
+'0:0:1:0:0:0:0 business'        approx  => 0 0 1 0 0 0 0 1
+
+#
+
+'0:0:53:0:0:0:0 business'       exact   => 0 0 0 265 0 0 0 1
+
+'0:0:53:0:0:0:0 business'       semi    => 0 0 53 0 0 0 0 1
+
+'0:0:53:0:0:0:0 business'       approx  => 1 0 0 4 1 0 45 1
+
+#
+
+'0:1:0:0:0:0:0 business'        exact   => 0 0 0 21 6 39 56 1
+
+'0:1:0:0:0:0:0 business'        semi    => 0 0 4 1 6 39 56 1
+
+'0:1:0:0:0:0:0 business'        approx  => 0 1 0 0 0 0 0 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.init_args.t b/t/delta.init_args.t
new file mode 100755
index 0000000..5f7efb8
--- /dev/null
+++ b/t/delta.init_args.t
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: _init_args';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $obj = new Date::Manip::Delta(@test);
+  return $obj->err();
+}
+
+$tests="
+
+0:0:0:0:1:2:3          => __blank__
+
+0:0:0:0:1:2:3 business => __blank__
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.is.t b/t/delta.is.t
new file mode 100755
index 0000000..c98646b
--- /dev/null
+++ b/t/delta.is.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: is';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($test)=@_;
+  if ($test eq 'date') {
+     return $obj->is_date();
+  } elsif ($test eq 'delta') {
+     return $obj->is_delta();
+  } elsif ($test eq 'recur') {
+     return $obj->is_recur();
+  }
+}
+
+$obj = new Date::Manip::Delta;
+
+$tests="
+
+date => 0
+
+delta => 1
+
+recur => 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.parse.fract.t b/t/delta.parse.fract.t
new file mode 100755
index 0000000..ec7848c
--- /dev/null
+++ b/t/delta.parse.fract.t
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: parse (fractional)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     @val = $obj->value();
+     return @val;
+  }
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+'1.5 days'                => 0 0 0 1 12 0 0
+
+'1.1 years'               => 1 1 0 6 2 5 49
+
+'1.1 years business'      => 1 1 0 4 3 7 59
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.parse.t b/t/delta.parse.t
new file mode 100755
index 0000000..d5f128e
--- /dev/null
+++ b/t/delta.parse.t
@@ -0,0 +1,108 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: parse';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->parse(@test);
+  if ($err) {
+     $err = $obj->err();
+     return ($obj->value(),$err);
+  } else {
+     @val = $obj->value();
+     return (@val,$$obj{"data"}{"business"});
+  }
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+# Colon format
+
+1:2:3:4:5:6:7               => 1 2 3 4 5 6 7 0
+
+'in 1:2:3:4:5:6:7'          => __blank__ '[parse] Invalid delta string'
+
+-1:2:3:4:5:6:7              => -1 -2 -3 -4 -5 -6 -7 0
+
+'-1:2:3:4:5:6:7 exactly'    => -1 -2 -3 -4 -5 -6 -7 0
+
+'-1:2:3:4:5:6:7 business'   => -1 -2 -3 -4 -5 -6 -7 1
+
+-1::3:4:5:6:7               => -1 0 -3 -4 -5 -6 -7 0
+
+# Test normalization of deltas
+
++1:+1:+1:+1                 => 0 0 0 1 1 1 1 0
+
++1:+1:+1:-1                 => 0 0 0 1 1 0 59 0
+
++1:+1:-1:+1                 => 0 0 0 1 0 59 1 0
+
++1:-1:+1:+1                 => 0 0 0 1 0 -58 -59 0
+
++1:+1:-1:-1                 => 0 0 0 1 0 58 59 0
+
++1:-1:+1:-1                 => 0 0 0 1 0 -59 -1 0
+
++1:-1:-1:+1                 => 0 0 0 1 -1 0 -59 0
+
+-0:1:+0:0:0:0:0             => 0 -1 0 0 0 0 0 0
+
+-0:0:1:+0:-0:0:0            => 0 0 -1 0 0 0 0 0
+
++35:-10:0:0:0:15:0          => 34 2 0 0 0 -15 0 0
+
+# Expanded format
+
+'+ business 4 week 3 day'   => 0 0 4 3 0 0 0 1
+
+'+ 15mn'                    => 0 0 0 0 0 15 0 0
+
+'+ 15 mn'                   => 0 0 0 0 0 15 0 0
+
+'15 mn'                     => 0 0 0 0 0 15 0 0
+
+'+15 mn'                    => 0 0 0 0 0 15 0 0
+
++15mn                       => 0 0 0 0 0 15 0 0
+
+'+ 35 y 10 month, 15mn'     => 35 10 0 0 0 15 0 0
+
+'+ 35 y 10m 15mn'           => 35 10 0 0 0 15 0 0
+
+'+ 35 y, -10 month 15mn'    => 34 2 0 0 0 -15 0 0
+
+'+35x 10 month'             => __blank__ '[parse] Invalid delta string'
+
+'two weeks ago'             => 0 0 -2 0 0 0 0 0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.printf.t b/t/delta.printf.t
new file mode 100755
index 0000000..c45c9d8
--- /dev/null
+++ b/t/delta.printf.t
@@ -0,0 +1,219 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: printf';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($delta,@test)=@_;
+  $obj->parse($delta);
+  return $obj->printf(@test);
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+1:2:3:4:5:6:7
+'|A %% B|'
+   =>
+   '|A % B|'
+
+1:2:3:4:5:6:7
+'|Month: %Mv|'
+   =>
+   '|Month: 2|'
+
+1:2:3:4:5:6:7
+'|Day: %+05dv|'
+   =>
+   '|Day: +0004|'
+
+1:2:3:4:5:6:7
+'|Day: %+<5dv|'
+   =>
+   '|Day:    +4|'
+
+1:2:3:4:5:6:7
+'|Day: %>5sv|'
+   =>
+   '|Day: 7    |'
+
+1:2:3:4:5:6:7
+'|%yv %Mv %wv %dv %hv %mv %sv|'
+   =>
+   '|1 2 3 4 5 6 7|'
+
+1:2:3:4:5:6:7
+'|%.4yyM %.4MMM %.4wws %.4dds %.4hhs %.4mms %.4sss|'
+   =>
+   '|1.1667 2.0000 3.6018 4.2126 5.1019 6.1167 7.0000|'
+ 
+1:2:3:4:5:6:7
+'|%.4Myw|'
+   =>
+   '|14.6900|'
+
+1:2:3:4:5:6:7
+'|%yyy %MyM %www %dwd %hwh %mwm %sws|'
+   =>
+   '|1 14 3 25 605 36306 2178367|'
+
+1:2:3:4:5:6:7
+'|%.4yyM %.4MyM %.4wws %.4dws %.4hws %.4mws %.4sws|'
+   =>
+   '|1.1667 14.0000 3.6018 25.2126 605.1019 36306.1167 2178367.0000|'
+
+1:2:3:4:5:6:7
+'|%>8.3yyM %>8.3MyM %>8.3wws %>8.3dws %>8.3hws %>8.3mws %>8.3sws|'
+   =>
+   '|1.167    14.000   3.602    25.213   605.102  36306.117 2178367.000|'
+
+1:2:3:4:5:6:7
+'|%<8.3yyM %<8.3MyM %<8.3wws %<8.3dws %<8.3hws %<8.3mws %<8.3sws|'
+   =>
+   '|   1.167   14.000    3.602   25.213  605.102 36306.117 2178367.000|'
+
+1:2:3:4:5:6:7
+'|%08.3yyM %08.3MyM %08.3wws %08.3dws %08.3hws %08.3mws %08.3sws|'
+   =>
+   '|0001.167 0014.000 0003.602 0025.213 0605.102 36306.117 2178367.000|'
+
+1:2:3:4:5:6:7
+'|%+<8.3yyM %+<8.3MyM %+<8.3wws %+<8.3dws %+<8.3hws %+<8.3mws %+<8.3sws|'
+   =>
+   '|  +1.167  +14.000   +3.602  +25.213 +605.102 +36306.117 +2178367.000|'
+
+1:2:3:4:5:6:7
+'|%+08.3yyM %+08.3MyM %+08.3wws %+08.3dws %+08.3hws %+08.3mws %+08.3sws|'
+   =>
+   '|+001.167 +014.000 +003.602 +025.213 +605.102 +36306.117 +2178367.000|'
+
+1:2:3:4:5:6:7
+'|%.4yys %.4MMs %.4wws %.4dds %.4hhs %.4mms %.4sss|'
+   =>
+   '|1.2357 2.8284 3.6018 4.2126 5.1019 6.1167 7.0000|'
+
+1:2:3:4:5:6:7
+'|%.3yyy %.3MyM %.3wyw %.3dyd %.3hyh %.3mym %.3sys|'
+   =>
+   '|1.000 14.000 63.874 451.116 10831.790 649913.400 38994811.000|'
+
+1:2:3:4:5:6:7
+'|%.4yys %.4Mys %.4wys %.4dys %.4hys %.4mys %.4sys|'
+   =>
+   '|1.2357 14.8284 64.4755 451.3288 10831.8919 649913.5167 38994811.0000|'
+
+'1:2:3:4:5:6:7 business'
+'|%.4yys %.4Mys %.4wys %.4dys %.4hys %.4mys %.4sys|'
+   =>
+   '|1.2417 14.9000 64.7871 323.9356 2915.4207 174925.2417 10495514.5000|'
+
+1:2:3:4:5:6:0
+'|%Dt|'
+    =>
+    '|+1:2:+3:4:5:6:0|'
+
+'1:2:3:4:5:6:0 business'
+'|%Dt|'
+    =>
+    '|+1:2:+3:+4:5:6:0|'
+
+-1:2:3:4:5:6:0
+'|%Dt|'
+    =>
+    '|-1:2:-3:4:5:6:0|'
+
+1:2:3:4:5:6:0
+'|%+Dt|'
+    =>
+    '|+1:+2:+3:+4:+5:+6:+0|'
+
+-1:2:3:4:5:6:0
+'|%+Dt|'
+    =>
+    '|-1:-2:-3:-4:-5:-6:-0|'
+
+1:2:3:4:5:6:0
+'|%Dyy|'
+    =>
+    '|+1|'
+
+1:2:3:4:5:6:0
+'|%DyM|'
+    =>
+    '|+1:2|'
+
+1:2:3:4:5:6:0
+'|%Dyd|'
+    =>
+    '|+1:2:+3:4|'
+
+'1:2:3:4:5:6:0 business'
+'|%Dyy|'
+    =>
+    '|+1|'
+
+'1:2:3:4:5:6:0 business'
+'|%DyM|'
+    =>
+    '|+1:2|'
+
+'1:2:3:4:5:6:0 business'
+'|%Dyd|'
+    =>
+    '|+1:2:+3:+4|'
+
+1:2:3:4:5:6:0
+'|%+Dyd|'
+    =>
+    '|+1:+2:+3:+4|'
+
+1:2:3:4:5:6:0
+'|%+>10Dyd|'
+    =>
+    '|+1:+2:+3:+4|'
+
+1:2:3:4:5:6:0
+'|%+>18Dyd|'
+    =>
+    '|+1:+2:+3:+4       |'
+
+1:2:3:4:5:6:0
+'|%+18Dyd|'
+    =>
+    '|       +1:+2:+3:+4|'
+
+1:2:3:4:5:6:0
+'|%+<18Dyd|'
+    =>
+    '|       +1:+2:+3:+4|'
+
+1:2:3:4:5:6:0 %DyM %Dyd %Dyy => +1:2 +1:2:+3:4 +1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.set.t b/t/delta.set.t
new file mode 100755
index 0000000..c1f6961
--- /dev/null
+++ b/t/delta.set.t
@@ -0,0 +1,89 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: set';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     @val = $obj->value();
+     return @val;
+  }
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+delta    [ 0 0 0 0 10 20 30 ]                   => 0 0 0 0 10 20 30
+
+delta    [ 0 0 0 0 10 20 30 ]      nonormalize  => 0 0 0 0 10 20 30
+
+delta    [ 10 20 30 ]                           => 0 0 0 0 10 20 30
+
+delta    [ 10 20 30 ]              nonormalize  => 0 0 0 0 10 20 30
+
+delta    [ -10 20 30 ]                          => 0 0 0 0 -9 -39 -30
+
+delta    [ -10 20 30 ]             nonormalize  => 0 0 0 0 -10 20 30
+
+delta    [ 10 -70 -130 +90 ]                    => 0 0 1 3 -72 -8 -30
+
+delta    [ 10 -70 -130 +90 ]       nonormalize  => 0 0 0 10 -70 -130 90
+
+delta    [ 1 13 2 10 -70 -130 90 ]              => 2 1 3 3 -72 -8 -30
+
+#
+
+business [ 0 0 0 0 6 20 30 ]                    => 0 0 0 0 6 20 30
+
+business [ 0 0 0 0 10 20 30 ]      nonormalize  => 0 0 0 0 10 20 30
+
+business [ 0 0 0 3 10 20 30 ]                   => 0 0 0 4 1 20 30
+
+business [ 1 13 2 10 -70 -130 90 ]              => 2 1 2 1 8 51 30
+
+#
+
+standard [ 1 13 2 10 -70 -130 90 ] nonormalize  => 1 13 2 10 -70 -130 90
+
+m        25                        nonormalize  => 1 13 2 10 -70 25 90
+
+m        -135                                   => 2 1 3 3 -72 -13 -30
+
+#
+
+standard [ 1 13 2 10 -70 -130 90 ] nonormalize  => 1 13 2 10 -70 -130 90
+
+M        14                                     => 2 2 3 3 -72 -8 -30
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.type.t b/t/delta.type.t
new file mode 100755
index 0000000..50fc29d
--- /dev/null
+++ b/t/delta.type.t
@@ -0,0 +1,146 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: type';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@args) = @_;
+  if (@args == 1) {
+    ($type) = @args;
+    return $obj->type($type);
+  } else {
+    ($op,$val) = @args;
+    $obj->set($op,$val);
+    return 0
+  }
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+normal [ 0 0 0 0 1 2 3 ]   => 0
+
+business                   => 0
+
+standard                   => 1
+
+exact                      => 1
+
+semi                       => 0
+
+approx                     => 0
+
+###
+
+normal [ 0 0 1 2 1 2 3 ]   => 0
+
+business                   => 0
+
+standard                   => 1
+
+exact                      => 0
+
+semi                       => 1
+
+approx                     => 0
+
+###
+
+delta [ 1 0 0 0 1 2 3 ]    => 0
+
+business                   => 0
+
+standard                   => 1
+
+exact                      => 0
+
+semi                       => 0
+
+approx                     => 1
+
+###
+
+business [ 0 0 0 0 1 2 3 ] => 0
+
+business                   => 1
+
+standard                   => 0
+
+exact                      => 1
+
+semi                       => 0
+
+approx                     => 0
+
+###
+
+business [ 0 0 0 1 1 2 3 ] => 0
+
+business                   => 1
+
+standard                   => 0
+
+exact                      => 1
+
+semi                       => 0
+
+approx                     => 0
+
+###
+
+business [ 0 0 1 2 1 2 3 ] => 0
+
+business                   => 1
+
+standard                   => 0
+
+exact                      => 0
+
+semi                       => 1
+
+approx                     => 0
+
+###
+
+delta [ 1 0 0 0 10 20 30 ] => 0
+
+business                   => 1
+
+standard                   => 0
+
+exact                      => 0
+
+semi                       => 0
+
+approx                     => 1
+
+###
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/delta.value.t b/t/delta.value.t
new file mode 100755
index 0000000..7008785
--- /dev/null
+++ b/t/delta.value.t
@@ -0,0 +1,83 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'delta :: value';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->set(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $val = $obj->value();
+     return $val;
+  }
+}
+
+$obj = new Date::Manip::Delta;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+delta    [ 0 0 0 0 10 20 30 ]                   => 0:0:0:0:10:20:30
+
+delta    [ 0 0 0 0 10 20 30 ]      nonormalize  => 0:0:0:0:10:20:30
+
+delta    [ -10 20 30 ]                          => 0:0:0:0:-9:39:30
+
+delta    [ -10 20 30 ]             nonormalize  => 0:0:0:0:-10:+20:30
+
+delta    [ 10 -70 -130 +90 ]                    => 0:0:1:3:-72:8:30
+
+delta    [ 10 -70 -130 +90 ]       nonormalize  => 0:0:0:10:-70:130:+90
+
+delta    [ 1 13 2 10 -70 -130 90 ]              => 2:1:3:3:-72:8:30
+
+#
+
+business [ 0 0 0 0 10 20 30 ]                   => 0:0:0:1:1:20:30
+
+business [ 0 0 0 0 10 20 30 ]      nonormalize  => 0:0:0:0:10:20:30
+
+business [ 1 13 2 10 -70 -130 90 ]              => 2:1:2:1:8:51:30
+
+#
+
+standard [ 1 13 2 10 -70 -130 90 ] nonormalize  => 1:13:2:10:-70:130:+90
+
+m        25                        nonormalize  => 1:13:2:10:-70:+25:90
+
+m        -135                                   => 2:1:3:3:-72:13:30
+
+#
+
+standard [ 1 13 2 10 -70 -130 90 ] nonormalize  => 1:13:2:10:-70:130:+90
+
+M        14                                     => 2:2:3:3:-72:8:30
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.convtz.t b/t/dm5.convtz.t
new file mode 100755
index 0000000..6577121
--- /dev/null
+++ b/t/dm5.convtz.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: ConvTZ';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests ="
+
+today +0000 +0100 2 => ''
+
+2001082812:05:00   +0000 BST           => 2001082813:05:00
+
+2001012812:05:00   GMT   +0000         => 2001012812:05:00
+
+2001082812:05:00   GMT   +0000         => 2001082812:05:00
+
+2001082812:05:00   GMT   BST           => 2001082813:05:00
+
+2001012812:05:00   GMT   Europe/London => 2001012812:05:00
+
+2007030113:34:34   +0000 +0100         => 2007030114:34:34
+
+2007030113:34:34   +0000 -0100         => 2007030112:34:34
+
+";
+
+$t->tests(func  => \&Date_ConvTZ,
+          tests => $tests);
+$t->tests(func  => \&Date_ConvTZ,
+          tests => [ [ '2007030113:34:34', 'EST', 'GMT' ],
+                     [ '2007030113:34:34', '',    'GMT' ],
+                     [ '2007030113:34:34', undef, 'GMT' ] ],
+          expected => "2007030118:34:34" );
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date.t b/t/dm5.date.t
new file mode 100755
index 0000000..9994f04
--- /dev/null
+++ b/t/dm5.date.t
@@ -0,0 +1,573 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
+
+$today="$currY$currM$currD$currH:$currMN:$currS";
+$todaydate    ="$currY$currM$currD";
+$yesterdaydate="$currY$currM". $currD-1;
+$tomorrowdate ="$currY$currM". $currD+1;
+$overmorrowdate="$currY$currM". $currD+2;
+$yesterday    ="$yesterdaydate$currH:$currMN:$currS";
+$tomorrow     ="$tomorrowdate$currH:$currMN:$currS";
+$overmorrow    ="$overmorrowdate$currH:$currMN:$currS";
+
+$tests="
+
+now => $today
+
+today => $today
+
+yesterday => $yesterday
+
+tomorrow => $tomorrow
+
+overmorrow => $overmorrow
+
+'today at 4:00' => ${todaydate}04:00:00
+
+'today at 4:00 pm' => ${todaydate}16:00:00
+
+'today at 16:00:00:05' => ${todaydate}16:00:00
+
+'today at 12:00 am' => ${todaydate}00:00:00
+
+'today at 12:00 GMT' => ${todaydate}07:00:00
+
+'today at 4:00 PST' => ${todaydate}07:00:00
+
+'today at 4:00 -0800' => ${todaydate}07:00:00
+
+'today at noon' => ${todaydate}12:00:00
+
+'tomorrow at noon' => ${tomorrowdate}12:00:00
+
+'1 month ago' => 1997020812:30:00
+
+# Test weeks
+
+'22nd sunday' => 1997060100:00:00
+
+97W227 => 1997060100:00:00
+
+1997W22-7 => 1997060100:00:00
+
+1997W23 => 1997060200:00:00
+
+1997023 => 1997012300:00:00
+
+1997035 => 1997020400:00:00
+
+97-035 => 1997020400:00:00
+
+97035 => 1997020400:00:00
+
+'twenty-second sunday 1996' => 1996060200:00:00
+
+'22 sunday in 1996' => 1996060200:00:00
+
+'22nd sunday 12:00' => 1997060112:00:00
+
+'22nd sunday at 12:00' => 1997060112:00:00
+
+'22nd sunday at 12:00 EST' => 1997060112:00:00
+
+'22nd sunday in 1996 at 12:00 EST' => 1996060212:00:00
+
+'sunday week 1 1999' => 1999011000:00:00
+
+'thursday week 0 1999' => 1998123100:00:00
+
+'1st thursday in 1999' => 1999010700:00:00
+
+'1st sunday in 1999' => 1999010300:00:00
+
+'1st saturday in 2005' => 2005010100:00:00
+
+'sunday wk 22' => 1997060100:00:00
+
+'sunday week twenty-second 1996' => 1996060200:00:00
+
+'sunday w 22 in 1996' => 1996060200:00:00
+
+'sunday wks 22 12:00' => 1997060112:00:00
+
+'sunday week 22 at 12:00' => 1997060112:00:00
+
+'sunday week 22 at 12:00 EST' => 1997060112:00:00
+
+'sunday week 22 in 1996 at 12:00 EST' => 1996060212:00:00
+
+'sunday 22 wk' => 1997060100:00:00
+
+'sunday twenty-second week 1996' => 1996060200:00:00
+
+'sunday 22 w in 1996' => 1996060200:00:00
+
+'sunday 22 wks 12:00' => 1997060112:00:00
+
+'sunday 22 week at 12:00' => 1997060112:00:00
+
+'sunday 22 week at 12:00 EST' => 1997060112:00:00
+
+'sunday 22 week in 1996 at 12:00 EST' => 1996060212:00:00
+
+# Tests 'which day in mon' formats
+
+'last tue in Jun 96' => 1996062500:00:00
+
+'last tueSday of June' => 1997062400:00:00
+
+'first tue in Jun 1996' => 1996060400:00:00
+
+'1st tue in June' => 1997060300:00:00
+
+'3rd tuesday in Jun 96' => 1996061800:00:00
+
+'3rd tuesday in Jun 96 at 12:00:00.05' => 1996061812:00:00
+
+'3rd tuesday in Jun 96 at 10:30am' => 1996061810:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm' => 1996061822:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm GMT' => 1996061817:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm CET' => 1996061816:30:00
+
+# Tests YYMMDD time
+
+1996061800:00:00 => 1996061800:00:00
+
+1996061800:00 => 1996061800:00:00
+
+96-06-1800:00:00 => 1996061800:00:00
+
+96-06-1800:00 => 1996061800:00:00
+
+93-12-01 => 1993120100:00:00
+
+19931201 => 1993120100:00:00
+
+93-12-0105:30 => 1993120105:30:00
+
+1993120105:30 => 1993120105:30:00
+
+1992022905:30 => 1992022905:30:00
+
+1990022905:30 => ''
+
+1993120105:30:25 => 1993120105:30:25
+
+1992022905:30:61 => ''
+
+'1993120105:30:25.05 am' => 1993120105:30:25
+
+'1993120105:30:25:05 pM' => 1993120117:30:25
+
+'1993120105:30:25 pM GMT' => 1993120112:30:25
+
+'19931201 at 05:30:25 pM GMT' => 1993120112:30:25
+
+'19931201at05:30:25 pM GMT' => 1993120112:30:25
+
+'1993120117:30:25 GMT' => 1993120112:30:25
+
+# Tests YYMMDDHHMNSS
+
+19960618000000 => 1996061800:00:00
+
+# Tests Date Time
+#       Date%Time
+# Date=mm%dd
+
+12/10/1965 => 1965121000:00:00
+
+12/10/65 => 1965121000:00:00
+
+12.10.65 => 1965121000:00:00
+
+'12 10 65' => 1965121000:00:00
+
+'12/10/65 5:30:25' => 1965121005:30:25
+
+'12/10/65/5:30 pm' => 1965121017:30:00
+
+'12/10/65/5:30 pm GMT' => 1965121012:30:00
+
+'12/10/65 at 5:30:25' => 1965121005:30:25
+
+'12-10-1965 5:30:25' => 1965121005:30:25
+
+'12-10-65 5:30:25' => 1965121005:30:25
+
+'12-10-65-5:30 pm' => 1965121017:30:00
+
+'12-10-65 at 5:30:25' => 1965121005:30:25
+
+'12 10 65 5:30:25' => 1965121005:30:25
+
+'12 10 65 5:30 pm' => 1965121017:30:00
+
+'12 10 65 at 5:30:25' => 1965121005:30:25
+
+'12 10 1965 at 5:30:25' => 1965121005:30:25
+
+'12.10.1965 05:61' => ''
+
+'12.10.1965 05:30:61' => ''
+
+12/10 => ${currY}121000:00:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12/10 at 05:30:25' => ${currY}121005:30:25
+
+'12/10 at 05:30:25 GMT' => ${currY}121000:30:25
+
+'12/10 5:30' => ${currY}121005:30:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12-10 5:30' => ${currY}121005:30:00
+
+'12.10 05:30' => ${currY}121005:30:00
+
+'12 10 05:30' => ${currY}121005:30:00
+
+'2 29 92' => 1992022900:00:00
+
+'2 29 90' => ''
+
+# Tests Date Time
+#       Date%Time
+# Date=mmm%dd
+
+Dec/10/1965 => 1965121000:00:00
+
+December/10/65 => 1965121000:00:00
+
+Dec-10-65 => 1965121000:00:00
+
+'Dec 10 65' => 1965121000:00:00
+
+'DecEMBER10 65' => 1965121000:00:00
+
+'December/10/65 5:30:25' => 1965121005:30:25
+
+'Dec/10/65/5:30 pm' => 1965121017:30:00
+
+'Dec/10/65/5:30 pm GMT' => 1965121012:30:00
+
+'Dec/10/65 at 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 5:30:25' => 1965121005:30:25
+
+'December-10-65 5:30:25' => 1965121005:30:25
+
+'Dec-10-65-5:30 pm' => 1965121017:30:00
+
+'Dec-10-65 at 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30 pm' => 1965121017:30:00
+
+'December 10 65 at 5:30:25' => 1965121005:30:25
+
+'Dec 10 1965 at 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 05:61' => ''
+
+'Dec-10-1965 05:30:61' => ''
+
+December/10 => ${currY}121000:00:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec/10 at 05:30:25' => ${currY}121005:30:25
+
+'Dec/10 at 05:30:25 GMT' => ${currY}121000:30:25
+
+'Dec/10 5:30' => ${currY}121005:30:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec-10 5:30' => ${currY}121005:30:00
+
+'Dec-10 05:30' => ${currY}121005:30:00
+
+'December10 05:30' => ${currY}121005:30:00
+
+'DeC first 1965' => 1965120100:00:00
+
+# Tests Date Time
+#       Date%Time
+# Date=dd%mmm
+
+10/Dec/1965 => 1965121000:00:00
+
+10/December/65 => 1965121000:00:00
+
+10-Dec-65 => 1965121000:00:00
+
+'10 Dec 65' => 1965121000:00:00
+
+'10/December/65 5:30:25' => 1965121005:30:25
+
+'10/Dec/65/5:30 pm' => 1965121017:30:00
+
+'10/Dec/65/5:30 pm GMT' => 1965121012:30:00
+
+'10/Dec/65 at 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 5:30:25' => 1965121005:30:25
+
+'10-December-65 5:30:25' => 1965121005:30:25
+
+'10-Dec-65-5:30 pm' => 1965121017:30:00
+
+'10-Dec-65 at 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30 pm' => 1965121017:30:00
+
+'10December 65 at 5:30:25' => 1965121005:30:25
+
+'10 Dec 1965 at 5:30:25' => 1965121005:30:25
+
+'10Dec 1965 at 5:30:25' => 1965121005:30:25
+
+'10 Dec1965 at 5:30:25' => 1965121005:30:25
+
+'10Dec1965 at 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 05:61' => ''
+
+'10-Dec-1965 05:30:61' => ''
+
+10/December => ${currY}121000:00:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10/Dec at 05:30:25' => ${currY}121005:30:25
+
+'10-Dec at 05:30:25 GMT' => ${currY}121000:30:25
+
+'10-Dec 5:30' => ${currY}121005:30:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10December 05:30' => ${currY}121005:30:00
+
+'1st DeC 65' => 1965120100:00:00
+
+# Tests time only formats
+
+5:30 => ${todaydate}05:30:00
+
+5:30:02 => ${todaydate}05:30:02
+
+15:30:00 => ${todaydate}15:30:00
+
+# Tests TimeDate
+#       Time%Date
+
+'5:30 pm 12/10/65' => 1965121017:30:00
+
+'5:30 pm GMT 12/10/65' => 1965121012:30:00
+
+5:30:25/12/10/65 => 1965121005:30:25
+
+5:30:25.05/12/10/65 => 1965121005:30:25
+
+5:30:25:05/12/10/65 => 1965121005:30:25
+
+'5:30:25 12-10-1965' => 1965121005:30:25
+
+'5:30:25 12-10-65' => 1965121005:30:25
+
+'5:30 pm 12-10-65' => 1965121017:30:00
+
+5:30:25/12-10-65 => 1965121005:30:25
+
+'5:30:25 12 10 65' => 1965121005:30:25
+
+'5:30 pm 12 10 65' => 1965121017:30:00
+
+'5:30 pm GMT 12 10 65' => 1965121012:30:00
+
+'5:30:25 12 10 1965' => 1965121005:30:25
+
+'05:61 12-10-1965' => ''
+
+'05:30:61 12-10-1965' => ''
+
+'05:30 12/10' => ${currY}121005:30:00
+
+05:30/12/10 => ${currY}121005:30:00
+
+'05:30:25 12/10' => ${currY}121005:30:25
+
+05:30:25/12-10 => ${currY}121005:30:25
+
+'05:30:25 GMT 12/10' => ${currY}121000:30:25
+
+'5:30 12/10' => ${currY}121005:30:00
+
+'05:30 12/10' => ${currY}121005:30:00
+
+'5:30 12-10' => ${currY}121005:30:00
+
+'05:30 12-10' => ${currY}121005:30:00
+
+'05:30 12 10' => ${currY}121005:30:00
+
+# Tests TimeDate
+#       Time%Date
+# Date=mmm%dd, dd%mmm
+
+'4:50 DeC 10' => ${currY}121004:50:00
+
+'4:50 DeCember 10' => ${currY}121004:50:00
+
+'4:50:40 DeC 10' => ${currY}121004:50:40
+
+'4:50:42 DeCember 10' => ${currY}121004:50:42
+
+'4:50 10 DeC' => ${currY}121004:50:00
+
+'4:50 10 DeCember' => ${currY}121004:50:00
+
+'4:50 10DeC' => ${currY}121004:50:00
+
+'4:50 10DeCember' => ${currY}121004:50:00
+
+'4:50:51 10 DeC' => ${currY}121004:50:51
+
+'4:50:52 10 DeCember' => ${currY}121004:50:52
+
+'4:50:53 10DeC' => ${currY}121004:50:53
+
+'4:50:54 10DeCember' => ${currY}121004:50:54
+
+4:50:54DeCember10 => ${currY}121004:50:54
+
+4:50:54DeCember10/65 => 1965121004:50:54
+
+4:50:54DeCember1965 => 1965120104:50:54
+
+'Sept 1995' => 1995090100:00:00
+
+'1995 september' => 1995090100:00:00
+
+'5:30 DeC 1' => ${currY}120105:30:00
+
+'05:30 DeC 10' => ${currY}121005:30:00
+
+'05:30:11 DeC 10' => ${currY}121005:30:11
+
+'5:30 DeCember 1' => ${currY}120105:30:00
+
+'05:30 DeCember 10' => ${currY}121005:30:00
+
+'05:30:12 DeCember 10' => ${currY}121005:30:12
+
+# Test ctime formats
+
+'DeCember 10 05:30:12 1996' => 1996121005:30:12
+
+'DeC10 05:30:12 96' => 1996121005:30:12
+
+# Test some tricky timezone conversions
+
+'Feb 28 1997 23:00-0900' => 1997030103:00:00
+
+'Feb 27 1997 23:00-0900' => 1997022803:00:00
+
+'Feb 01 1997 01:00-0100' => 1997013121:00:00
+
+'Feb 02 1997 01:00-0100' => 1997020121:00:00
+
+'Feb 02 1997 01:00+0100' => 1997020119:00:00
+
+'Feb 02 1997 01:00+01' => 1997020119:00:00
+
+'Feb 02 1997 01:00+01:00' => 1997020119:00:00
+
+19970202010000+0100 => 1997020119:00:00
+
+# More tests...
+
+'last day in October 1997' => 1997103100:00:00
+
+'epoch 400000' => 1970010510:06:40
+
+'19980102030405 EST' => 1998010203:04:05
+
+19980102030405E => 1998010203:04:05
+
+'Mon, 19 Jan 1998 08:11:34 +1030' => 1998011816:41:34
+
+'Tue, 26 May 1998 13:23:15 -0500 (EST)' => 1998052613:23:15
+
+'Tue, 26 May 1998 13:23:15 -0500 (EST Blah)' => 1998052613:23:15
+
+Dec101965 => 1965121000:00:00
+
+10Dec1965 => 1965121000:00:00
+
+101965Dec => 1965121000:00:00
+
+'10/dec/1965:12:00:00 EST' => 1965121012:00:00
+
+'2000-02-16 24:00' => 2000021700:00:00
+
+'2000-02-16 15:24:00' => 2000021615:24:00
+
+2000-02-16T12:30:30 => 2000021612:30:30
+
+2000-02-16T12:30 => 2000021612:30:00
+
+99-02-16T12:30 => 1999021612:30:00
+
+'20021216090000 -0500' => 2002121609:00:00
+
+2004-03-29T11:41:00Z => 2004032906:41:00
+
+2005-159T15:52:59 => 2005060815:52:59
+";
+
+$t->tests(func  => \&ParseDateString,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_date_0.t b/t/dm5.date_date_0.t
new file mode 100755
index 0000000..c918b3a
--- /dev/null
+++ b/t/dm5.date_date_0.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,date,exact)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+'Jan 1 1996 12:00:00' 'Jan 1 1996 14:30:30' 0 => +0:0:0:0:2:30:30
+
+'Jan 1 1996 14:30:30' 'Jan 1 1996 12:00:00' 0 => -0:0:0:0:2:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1996 14:30:30' 0 => +0:0:0:1:2:30:30
+
+'Jan 2 1996 14:30:30' 'Jan 1 1996 12:00:00' 0 => -0:0:0:1:2:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1996 10:30:30' 0 => +0:0:0:0:22:30:30
+
+'Jan 2 1996 10:30:30' 'Jan 1 1996 12:00:00' 0 => -0:0:0:0:22:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1997 10:30:30' 0 => +0:0:52:2:22:30:30
+
+'Jan 2 1997 10:30:30' 'Jan 1 1996 12:00:00' 0 => -0:0:52:2:22:30:30
+
+'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' 0 => +0:0:4:2:23:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' 0 => +0:0:8:2:23:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' 0 => +0:0:60:3:23:59:59
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_date_1.t b/t/dm5.date_date_1.t
new file mode 100755
index 0000000..d3a96f6
--- /dev/null
+++ b/t/dm5.date_date_1.t
@@ -0,0 +1,88 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,date,approx)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+'Wed Jan 10 1996 noon' 'Wed Jan 7 1998 noon' 1 => +1:11:4:0:0:0:0
+
+'Wed Jan 7 1998 noon' 'Wed Jan 10 1996 noon' 1 => -1:11:4:0:0:0:0
+
+'Wed Jan 10 1996 noon' 'Wed Jan 8 1997 noon' 1 => +0:11:4:1:0:0:0
+
+'Wed Jan 8 1997 noon' 'Wed Jan 10 1996 noon' 1 => -0:11:4:1:0:0:0
+
+'Wed May 8 1996 noon' 'Wed Apr 9 1997 noon' 1 => +0:11:0:1:0:0:0
+
+'Wed Apr 9 1997 noon' 'Wed May 8 1996 noon' 1 => -0:11:0:1:0:0:0
+
+'Wed Apr 10 1996 noon' 'Wed May 14 1997 noon' 1 => +1:1:0:4:0:0:0
+
+'Wed May 14 1997 noon' 'Wed Apr 10 1996 noon' 1 => -1:1:0:4:0:0:0
+
+'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 1 => +0:0:4:0:0:0:0
+
+'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 1 => -0:0:4:0:0:0:0
+
+'Mon Jan 8 1996 noon' 'Fri Feb 9 1996 noon' 1 => +0:1:0:1:0:0:0
+
+'Fri Feb 9 1996 noon' 'Mon Jan 8 1996 noon' 1 => -0:1:0:1:0:0:0
+
+'Jan 1 1996 12:00:00' 'Jan 1 1996 14:30:30' 1 => +0:0:0:0:2:30:30
+
+'Jan 1 1996 14:30:30' 'Jan 1 1996 12:00:00' 1 => -0:0:0:0:2:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1996 14:30:30' 1 => +0:0:0:1:2:30:30
+
+'Jan 2 1996 14:30:30' 'Jan 1 1996 12:00:00' 1 => -0:0:0:1:2:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1996 10:30:30' 1 => +0:0:0:0:22:30:30
+
+'Jan 2 1996 10:30:30' 'Jan 1 1996 12:00:00' 1 => -0:0:0:0:22:30:30
+
+'Jan 1 1996 12:00:00' 'Jan 2 1997 10:30:30' 1 => +1:0:0:0:22:30:30
+
+'Jan 2 1997 10:30:30' 'Jan 1 1996 12:00:00' 1 => -1:0:0:0:22:30:30
+
+'Jan 31 1996 12:00:00' 'Feb 28 1997 10:30:30' 1 => +1:0:3:6:22:30:30
+
+'Feb 28 1997 10:30:30' 'Jan 31 1996 12:00:00' 1 => -1:0:3:6:22:30:30
+
+'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' 1 => +0:0:4:2:23:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' 1 => +0:1:3:6:23:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' 1 => +1:1:3:6:23:59:59
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_date_2a.t b/t/dm5.date_date_2a.t
new file mode 100755
index 0000000..b9cc904
--- /dev/null
+++ b/t/dm5.date_date_2a.t
@@ -0,0 +1,88 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,date,business 8:00-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init(qw( PersonalCnf=Manip5.cnf PathSep=! PersonalCnfPath=./t!. IgnoreGlobalCnf=1 ));
+Date_Init("WorkDayBeg=8:00","WorkDayEnd=17:00");
+
+$tests="
+
+'Jun 1 1999'                 'Jun 4 1999'               2 => +0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 noon'       'Wed Jan 7 1998 noon'      2 => +1:11:0:18:0:0:0
+
+'Wed Jan 7 1998 noon'        'Wed Jan 10 1996 noon'     2 => -1:11:0:18:0:0:0
+
+'Wed Jan 10 1996 noon'       'Wed Jan 8 1997 noon'      2 => +0:11:0:19:0:0:0
+
+'Wed Jan 8 1997 noon'        'Wed Jan 10 1996 noon'     2 => -0:11:0:19:0:0:0
+
+'Wed May 8 1996 noon'        'Wed Apr 9 1997 noon'      2 => +0:11:0:1:0:0:0
+
+'Wed Apr 9 1997 noon'        'Wed May 8 1996 noon'      2 => -0:11:0:1:0:0:0
+
+'Wed Apr 10 1996 noon'       'Wed May 14 1997 noon'     2 => +1:1:0:2:4:0:0
+
+'Wed May 14 1997 noon'       'Wed Apr 10 1996 noon'     2 => -1:1:0:2:4:0:0
+
+'Wed Jan 10 1996 noon'       'Wed Feb 7 1996 noon'      2 => +0:0:0:19:0:0:0
+
+'Wed Feb 7 1996 noon'        'Wed Jan 10 1996 noon'     2 => -0:0:0:19:0:0:0
+
+'Mon Jan 8 1996 noon'        'Fri Feb 9 1996 noon'      2 => +0:1:0:1:0:0:0
+
+'Fri Feb 9 1996 noon'        'Mon Jan 8 1996 noon'      2 => -0:1:0:1:0:0:0
+
+'Tue Jan 9 1996 12:00:00'    'Tue Jan 9 1996 14:30:30'  2 => +0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 14:30:30'    'Tue Jan 9 1996 12:00:00'  2 => -0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 12:00:00'    'Wed Jan 10 1996 14:30:30' 2 => +0:0:0:1:2:30:30
+
+'Wed Jan 10 1996 14:30:30'   'Tue Jan 9 1996 12:00:00'  2 => -0:0:0:1:2:30:30
+
+'Tue Jan 9 1996 12:00:00'    'Wed Jan 10 1996 10:30:30' 2 => +0:0:0:0:7:30:30
+
+'Wed Jan 10 1996 10:30:30'   'Tue Jan 9 1996 12:00:00'  2 => -0:0:0:0:7:30:30
+
+'Tue Jan 9 1996 12:00:00'    'Fri Jan 10 1997 10:30:30' 2 => +1:0:0:0:7:30:30
+
+'Fri Jan 10 1997 10:30:30'   'Tue Jan 9 1996 12:00:00'  2 => -1:0:0:0:7:30:30
+
+'Mon Dec 30 1996 noon'       'Mon Jan 6 1997 noon'      2 => +0:0:0:4:0:0:0
+
+'Mon Jan 6 1997 noon'        'Mon Dec 30 1996 noon'     2 => -0:0:0:4:0:0:0
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_date_2b.t b/t/dm5.date_date_2b.t
new file mode 100755
index 0000000..ad30ab5
--- /dev/null
+++ b/t/dm5.date_date_2b.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,date,business 8:00-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init(qw( PersonalCnf=Manip5.cnf PathSep=! PersonalCnfPath=./t!. IgnoreGlobalCnf=1 ));
+Date_Init("WorkDayBeg=8:00","WorkDayEnd=17:00");
+
+$tests="
+'Wed Jan 10 1996 noon'      'Wed Feb 7 1996 noon'        3 => +0:0:0:19:0:0:0
+
+'Wed Feb 7 1996 noon'       'Wed Jan 10 1996 noon'       3 => -0:0:0:19:0:0:0
+
+'Tue Jan 9 1996 12:00:00'   'Tue Jan 9 1996 14:30:30'    3 => +0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 14:30:30'   'Tue Jan 9 1996 12:00:00'    3 => -0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 12:00:00'   'Wed Jan 10 1996 14:30:30'   3 => +0:0:0:1:2:30:30
+
+'Wed Jan 10 1996 14:30:30'  'Tue Jan 9 1996 12:00:00'    3 => -0:0:0:1:2:30:30
+
+'Tue Jan 9 1996 12:00:00'   'Wed Jan 10 1996 10:30:30'   3 => +0:0:0:0:7:30:30
+
+'Wed Jan 10 1996 10:30:30'  'Tue Jan 9 1996 12:00:00'    3 => -0:0:0:0:7:30:30
+
+'Mon Dec 30 1996 noon'      'Mon Jan 6 1997 noon'        3 => +0:0:0:4:0:0:0
+
+'Mon Jan 6 1997 noon'       'Mon Dec 30 1996 noon'       3 => -0:0:0:4:0:0:0
+
+'Fri Feb 11 2005 16:00:43'  'Fri Feb 11 2005 16:44:09'   3 => +0:0:0:0:0:43:26
+
+'02/11/2005 04:00:43 PM'    '02/11/2005 04:44:09 PM'     3 => +0:0:0:0:0:43:26
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_0.t b/t/dm5.date_delta_0.t
new file mode 100755
index 0000000..a50c780
--- /dev/null
+++ b/t/dm5.date_delta_0.t
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,delta,exact)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+$tests="
+
+'Wed Feb 7 1996 8:00' +1:1:1:1 '0 =>' 1996020809:01:01
+
+'Wed Nov 20 1996 noon' +0:5:0:0 '0 =>' 1996112017:00:00
+
+'Wed Nov 20 1996 noon' +0:13:0:0 '0 =>' 1996112101:00:00
+
+'Wed Nov 20 1996 noon' +3:2:0:0 '0 =>' 1996112314:00:00
+
+'Wed Nov 20 1996 noon' -3:2:0:0 '0 =>' 1996111710:00:00
+
+'Wed Nov 20 1996 noon' +3:13:0:0 '0 =>' 1996112401:00:00
+
+'Wed Nov 20 1996 noon' +6:2:0:0 '0 =>' 1996112614:00:00
+
+'Dec 31 1996 noon' +1:2:0:0 '0 =>' 1997010114:00:00
+
+'Jan 31 1997 23:59:59' '+ 1 sec' '0 =>' 1997020100:00:00
+
+'20050215 13:59:11' -10h '0 =>' 2005021503:59:11
+
+'20050215 13:59:11' -10h+0s '0 =>' 2005021503:59:11
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_1.t b/t/dm5.date_delta_1.t
new file mode 100755
index 0000000..dfe07db
--- /dev/null
+++ b/t/dm5.date_delta_1.t
@@ -0,0 +1,56 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,delta,approx)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+$tests="
+'Wed Feb 7 1996 8:00' +1:1:1:1 1 => 1996020809:01:01
+
+'Wed Nov 20 1996 noon' +0:5:0:0 1 => 1996112017:00:00
+
+'Wed Nov 20 1996 noon' +0:13:0:0 1 => 1996112101:00:00
+
+'Wed Nov 20 1996 noon' +3:2:0:0 1 => 1996112314:00:00
+
+'Wed Nov 20 1996 noon' -3:2:0:0 1 => 1996111710:00:00
+
+'Wed Nov 20 1996 noon' +3:13:0:0 1 => 1996112401:00:00
+
+'Wed Nov 20 1996 noon' +6:2:0:0 1 => 1996112614:00:00
+
+'Dec 31 1996 noon' +1:2:0:0 1 => 1997010114:00:00
+
+'Jan 31 1997 23:59:59' '+ 1 sec' 1 => 1997020100:00:00
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_2a.t b/t/dm5.date_delta_2a.t
new file mode 100755
index 0000000..3bbd693
--- /dev/null
+++ b/t/dm5.date_delta_2a.t
@@ -0,0 +1,91 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,delta,business 8:00-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init(qw( PersonalCnf=Manip5.cnf PathSep=! PersonalCnfPath=./t!. IgnoreGlobalCnf=1 ));
+Date_Init("WorkDayBeg=08:00","WorkDayEnd=17:00");
+
+$tests="
+
+'Wed Nov 20 1996 noon' +0:5:0:0             2 => 1996112108:00:00
+
+'Wed Nov 20 1996 noon' +0:2:0:0             2 => 1996112014:00:00
+
+'Wed Nov 20 1996 noon' +3:2:0:0             2 => 1996112514:00:00
+
+'Wed Nov 20 1996 noon' -3:2:0:0             2 => 1996111510:00:00
+
+'Wed Nov 20 1996 noon' +3:7:0:0             2 => 1996112610:00:00
+
+'Wed Nov 20 1996 noon' +6:2:0:0             2 => 1996112914:00:00
+
+'Dec 31 1996 noon'     +1:2:0:0             2 => 1997010214:00:00
+
+'Dec 30 1996 noon'     +1:2:0:0             2 => 1996123114:00:00
+
+'Mar 31 1997 16:59:59' '+ 1 sec'            2 => 1997040108:00:00
+
+'Wed Nov 20 1996 noon' +0:0:1:0:0:0:0       2 => 1996112712:00:00
+
+2002120600:00:00       '- business 4 hours' 2 => 2002120513:00:00
+
+2002120600:00:01       '- business 4 hours' 2 => 2002120513:00:00
+
+2002120523:59:59       '- business 4 hours' 2 => 2002120513:00:00
+
+2002120602:00:00       '- business 4 hours' 2 => 2002120513:00:00
+
+2002120609:00:00       '- business 4 hours' 2 => 2002120514:00:00
+
+2002120609:00:10       '- business 4 hours' 2 => 2002120514:00:10
+
+2002120611:00:00       '- business 4 hours' 2 => 2002120516:00:00
+
+2002120612:00:00       '- business 4 hours' 2 => 2002120608:00:00
+
+2002120512:00:00       '+ business 4 hours' 2 => 2002120516:00:00
+
+2002120514:00:00       '+ business 4 hours' 2 => 2002120609:00:00
+
+2002120522:00:00       '+ business 4 hours' 2 => 2002120612:00:00
+
+2002120523:59:59       '+ business 4 hours' 2 => 2002120612:00:00
+
+2002120602:00:00       '+ business 4 hours' 2 => 2002120612:00:00
+
+2002120609:00:00       '+ business 4 hours' 2 => 2002120613:00:00
+
+20060616               '+1 business day'    2 => 2006061908:00:00
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_2b.t b/t/dm5.date_delta_2b.t
new file mode 100755
index 0000000..798bb6f
--- /dev/null
+++ b/t/dm5.date_delta_2b.t
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,delta,business 8:30-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("WorkDayBeg=08:30","WorkDayEnd=17:00");
+
+$tests="
+'Wed Nov 20 1996 noon' +0:5:0:0 2 => 1996112108:30:00
+
+'Wed Nov 20 1996 noon' +3:7:0:0 2 => 1996112610:30:00
+
+'Mar 31 1997 16:59:59' '+ 1 sec' 2 => 1997040108:30:00
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_french.t b/t/dm5.date_delta_french.t
new file mode 100755
index 0000000..fc538fe
--- /dev/null
+++ b/t/dm5.date_delta_french.t
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (French,date,delta,business 8:00-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("Language=French","WorkDayBeg=08:00","WorkDayEnd=17h00","EraseHolidays=1");
+
+$tests="
+'Mer Nov 20 1996 12h00' 'il y a 3 jour 2 heures' 2 => 1996111510:00:00
+
+'Mer Nov 20 1996 12:00' '5 heure' 2 => 1996112108:00:00
+
+'Mer Nov 20 1996 12:00' +0:2:0:0 2 => 1996112014:00:00
+
+'Mer Nov 20 1996 12:00' '3 jour 2 h' 2 => 1996112514:00:00
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_delta_sign.t b/t/dm5.date_delta_sign.t
new file mode 100755
index 0000000..3e8e4d7
--- /dev/null
+++ b/t/dm5.date_delta_sign.t
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (date,delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+$tests="
+
+2001020304:05:06 '+ 2 hours' => 2001020306:05:06
+
+2001020304:05:06 '- 2 hours' => 2001020302:05:06
+
+2001020304:05:06 '+ -2 hours' => 2001020302:05:06
+
+2001020304:05:06 '- -2 hours' => 2001020306:05:06
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_french.t b/t/dm5.date_french.t
new file mode 100755
index 0000000..7e8be11
--- /dev/null
+++ b/t/dm5.date_french.t
@@ -0,0 +1,227 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (French)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("Language=French","DateFormat=US","Internal=0");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
+
+$today="$currY$currM$currD$currH:$currMN:$currS";
+#$todaydate="$currY$currM$currD";
+$yesterday="$currY$currM". $currD-1 ."$currH:$currMN:$currS";
+$tomorrow ="$currY$currM". $currD+1 ."$currH:$currMN:$currS";
+
+$tests="
+
+aujourd'hui => $today
+
+maintenant => $today
+
+hier => $yesterday
+
+demain => $tomorrow
+
+'dernier mar en Juin 96' => 1996062500:00:00
+
+'dernier mar de Juin' => 1997062400:00:00
+
+'premier mar de Juin 1996' => 1996060400:00:00
+
+'premier mar de Juin' => 1997060300:00:00
+
+'3e mardi de Juin 96' => 1996061800:00:00
+
+'3e mardi de Juin 96 a 12:00' => 1996061812:00:00
+
+'3e mardi de Juin 96 a 10:30 du matin' => 1996061810:30:00
+
+'3e mardi de Juin 96 a 10:30 du soir' => 1996061822:30:00
+
+
+'DeC 10 65' => 1965121000:00:00
+
+'DeC 10 1965' => 1965121000:00:00
+
+'Decembre 10 65' => 1965121000:00:00
+
+'Decembre 10 1965' => 1965121000:00:00
+
+'Decembre10 1965' => 1965121000:00:00
+
+'Decembre10 1965 12:00' => 1965121012:00:00
+
+'Decembre-10-1965 12:00' => 1965121012:00:00
+
+Decembre/10/1965/12:00 => 1965121012:00:00
+
+Decembre/10/12:00 => 1997121012:00:00
+
+'12:00Decembre10 1965' => 1965121012:00:00
+
+'12:00 Decembre10 1965' => 1965121012:00:00
+
+12:00-Decembre-10-1965 => 1965121012:00:00
+
+'12:00 Decembre-10-1965' => 1965121012:00:00
+
+'10 DeC 65' => 1965121000:00:00
+
+'10 DeC 1965' => 1965121000:00:00
+
+'10 Decembre 65' => 1965121000:00:00
+
+'10 Decembre 1965' => 1965121000:00:00
+
+10DeC65 => 1965121000:00:00
+
+10DeC1965 => 1965121000:00:00
+
+10Decembre65 => 1965121000:00:00
+
+'10Decembre 1965' => 1965121000:00:00
+
+'DeC 10 4:50' => ${currY}121004:50:00
+
+'Decembre 10 4:50' => ${currY}121004:50:00
+
+'DeC 10 4:50:40' => ${currY}121004:50:40
+
+'Decembre 10 4:50:42' => ${currY}121004:50:42
+
+'10 DeC 4:50' => ${currY}121004:50:00
+
+'10 Decembre 4:50' => ${currY}121004:50:00
+
+'10DeC 4:50' => ${currY}121004:50:00
+
+'10Decembre 4:50' => ${currY}121004:50:00
+
+'10 DeC 4:50:51' => ${currY}121004:50:51
+
+'10 Decembre 4:50:52' => ${currY}121004:50:52
+
+'10DeC 4:50:53' => ${currY}121004:50:53
+
+'10Decembre 4:50:54' => ${currY}121004:50:54
+
+'10Decembre95 4:50:54' => 1995121004:50:54
+
+'Dec10/65 4:50:53' => 1965121004:50:53
+
+'Dec101965 4:50:53' => 1965121004:50:53
+
+'4:50 DeC 10' => ${currY}121004:50:00
+
+'4:50 Decembre 10' => ${currY}121004:50:00
+
+'4:50:40 DeC 10' => ${currY}121004:50:40
+
+'4:50:42 Decembre 10' => ${currY}121004:50:42
+
+'4:50 10 DeC' => ${currY}121004:50:00
+
+'4:50 10 Decembre' => ${currY}121004:50:00
+
+'4:50 10DeC' => ${currY}121004:50:00
+
+'4:50 10Decembre' => ${currY}121004:50:00
+
+'4:50:51 10 DeC' => ${currY}121004:50:51
+
+'4:50:52 10 Decembre' => ${currY}121004:50:52
+
+'4:50:53 10DeC' => ${currY}121004:50:53
+
+'4:50:54 10Decembre' => ${currY}121004:50:54
+
+4:50:54Decembre10 => ${currY}121004:50:54
+
+4:50:54Decembre10/65 => 1965121004:50:54
+
+'DeC 1 5:30' => ${currY}120105:30:00
+
+'DeC 10 05:30' => ${currY}121005:30:00
+
+'DeC 10 05:30:11' => ${currY}121005:30:11
+
+'DeC 1 65' => 1965120100:00:00
+
+'DeC 1 1965' => 1965120100:00:00
+
+'Decembre 1 5:30' => ${currY}120105:30:00
+
+'Decembre 10 05:30' => ${currY}121005:30:00
+
+'Decembre 10 05h30:12' => ${currY}121005:30:12
+
+'Decembre 1 65' => 1965120100:00:00
+
+'Decembre 1 1965' => 1965120100:00:00
+
+'5:30 DeC 1' => ${currY}120105:30:00
+
+'05:30 DeC 10' => ${currY}121005:30:00
+
+'05:30:11 DeC 10' => ${currY}121005:30:11
+
+'5:30 Decembre 1' => ${currY}120105:30:00
+
+'05:30 Decembre 10' => ${currY}121005:30:00
+
+'05:30:12 du matin Decembre 10' => ${currY}121005:30:12
+
+'05:30:12 du soir Decembre 10' => ${currY}121017:30:12
+
+'1 DeC 65' => 1965120100:00:00
+
+'1 DeC 1965' => 1965120100:00:00
+
+'1 Decembre 65' => 1965120100:00:00
+
+'1 Decembre 1965' => 1965120100:00:00
+
+'12 1 65' => 1965120100:00:00
+
+'12 1 1965' => 1965120100:00:00
+
+'2 29 92' => 1992022900:00:00
+
+'2 29 90' => ''
+
+'1er DeC 65' => 1965120100:00:00
+
+'DeC premier 1965' => 1965120100:00:00
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_german.t b/t/dm5.date_german.t
new file mode 100755
index 0000000..880e70e
--- /dev/null
+++ b/t/dm5.date_german.t
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (German)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+Date_Init("Language=German","DateFormat=US","Internal=0");
+
+$tests="
+
+08.04.1999 => 1999080400:00:00
+
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_misc_a.t b/t/dm5.date_misc_a.t
new file mode 100755
index 0000000..28bdcfa
--- /dev/null
+++ b/t/dm5.date_misc_a.t
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (Internal=1)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("Internal=1");
+
+$tests="
+# Tests YYMMDD time
+
+1996061800:00:00 => 19960618000000
+
+# Tests YYMMDDHHMNSS
+
+19960618000000   => 19960618000000
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_misc_b.t b/t/dm5.date_misc_b.t
new file mode 100755
index 0000000..6fcb3c3
--- /dev/null
+++ b/t/dm5.date_misc_b.t
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (Internal=2)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("Internal=2");
+
+$tests="
+# Tests YYMMDD time
+
+1996061800:00:00 => '1996-06-18 00:00:00'
+
+# Tests YYMMDDHHMNSS
+
+19960618000000   => '1996-06-18 00:00:00'
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_romanian.t b/t/dm5.date_romanian.t
new file mode 100755
index 0000000..43f89df
--- /dev/null
+++ b/t/dm5.date_romanian.t
@@ -0,0 +1,467 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (Romanian)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+Date_Init("Language=Romanian","DateFormat=US","Internal=0");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
+
+$today="$currY$currM$currD$currH:$currMN:$currS";
+$todaydate    ="$currY$currM$currD";
+$yesterdaydate="$currY$currM". $currD-1;
+$tomorrowdate ="$currY$currM". $currD+1;
+$yesterday    ="$yesterdaydate$currH:$currMN:$currS";
+$tomorrow     ="$tomorrowdate$currH:$currMN:$currS";
+
+$tests="
+
+# Test built in strings like today and yesterday.  A few may fail on a
+# slow computer.  On the 1st or last day of the month, the
+# yesterday/today test will fail because of the simplicity of the
+# test.
+
+acum                     => $today
+
+astazi                   => $today
+
+ieri                     => $yesterday
+
+miine                    => $tomorrow
+
+
+'astazi la 4:00'         => ${todaydate}04:00:00
+
+'astazi la 4:00 pm'      => ${todaydate}16:00:00
+
+'astazi la 16:00:00'     => ${todaydate}16:00:00
+
+'astazi la 12:00 am'     => ${todaydate}00:00:00
+
+'astazi la 12:00 GMT'    => ${todaydate}07:00:00
+
+'astazi la 4:00 PST'     => ${todaydate}07:00:00
+
+'astazi la 4:00 -0800'   => ${todaydate}07:00:00
+
+'astazi la amiaza'       => ${todaydate}12:00:00
+
+'miine la amiaza '       => ${tomorrowdate}12:00:00
+
+'1 luna in urma '        => 1997020812:30:00
+
+# Test weeks
+
+'a 22-a duminica'        => 1997060100:00:00
+
+1997023                  => 1997012300:00:00
+
+1997035                  => 1997020400:00:00
+
+97-035                   => 1997020400:00:00
+
+97035                    => 1997020400:00:00
+
+'a douazecisidoua duminica 1996' => 1996060200:00:00
+
+'22 duminica in 1996'    => 1996060200:00:00
+
+'a 22-a duminica 12:00'  => 1997060112:00:00
+
+'a 22-a duminica la 12:00' => 1997060112:00:00
+
+'a 22-a duminica la 12:00 EST' => 1997060112:00:00
+
+'a 22-a duminica in 1996 la 12:00 EST' => 1996060212:00:00
+
+'duminica saptamina 1 1999' => 1999011000:00:00
+
+'joi saptamina 0 1999' => 1998123100:00:00
+
+'prima joi in 1999' => 1999010700:00:00
+
+'prima duminica in 1999' => 1999010300:00:00
+
+'duminica saptamina 22' => 1997060100:00:00
+
+'duminica saptamina a douazecisidoua 1996' => 1996060200:00:00
+
+'duminica sapt 22 in 1996' => 1996060200:00:00
+
+'duminica saptamina 22 12:00' => 1997060112:00:00
+
+'duminica saptamina 22 12:00' => 1997060112:00:00
+
+'duminica saptamina 22 la 12:00 EST' => 1997060112:00:00
+
+'duminica saptamina 22 in 1996 la 12:00 EST' => 1996060212:00:00
+
+'duminica 22 saptamini ' => 1997060100:00:00
+
+'duminica a douazecisidoua saptamina 1996' => 1996060200:00:00
+
+'duminica 22 sapt in 1996' => 1996060200:00:00
+
+'duminica saptamina 22 12:00' => 1997060112:00:00
+
+'duminica saptamina 22 la 12:00' => 1997060112:00:00
+
+'duminica saptamina 22 la 12:00 EST' => 1997060112:00:00
+
+'duminica saptamina 22 in 1996 la 12:00 EST' => 1996060212:00:00
+
+# Tests 'which day in mon' formats
+
+'ultima marti in iun 96' => 1996062500:00:00
+
+'ultima marti din iunie' => 1997062400:00:00
+
+'prima marti in iun 1996' => 1996060400:00:00
+
+'prima marti in iunie' => 1997060300:00:00
+
+'a 3-a marti in iun 96' => 1996061800:00:00
+
+'a 3-a marti in iun 96 la 12:00:00' => 1996061812:00:00
+
+'a 3-a marti in iun 96 la 10:30am' => 1996061810:30:00
+
+'a 3-a marti in iun 96 la 10:30 pm' => 1996061822:30:00
+
+'a 3-a marti in iun 96 la 10:30 pm GMT' => 1996061817:30:00
+
+'a 3-a marti in iun 96 la 10:30 pm CET' => 1996061816:30:00
+
+# Tests Date Time Date%Time Date=mm%dd '12/10/65 la 5:30:25' =>
+#       1965121005:30:25
+
+'12-10-65 la 5:30:25' => 1965121005:30:25
+
+'12 10 65 la 5:30:25' => 1965121005:30:25
+
+'12 10 1965 la 5:30:25' => 1965121005:30:25
+
+'12.10.1965 05:61' => ''
+
+'12.10.1965 05:30:61' => ''
+
+12/10 => ${currY}121000:00:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12/10 la 05:30:25' => ${currY}121005:30:25
+
+'12/10 la 05:30:25 GMT' => ${currY}121000:30:25
+
+'12/10 5:30' => ${currY}121005:30:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12-10 5:30' => ${currY}121005:30:00
+
+'12.10 05:30' => ${currY}121005:30:00
+
+'12 10 05:30' => ${currY}121005:30:00
+
+'2 29 92' => 1992022900:00:00
+
+'2 29 90' => ''
+
+# Tests Date Time
+#       Date%Time
+# Date=mmm%dd
+
+Dec/10/1965 => 1965121000:00:00
+
+Decembrie/10/65 => 1965121000:00:00
+
+Dec-10-65 => 1965121000:00:00
+
+'Dec 10 65' => 1965121000:00:00
+
+'DecEMBRIE10 65' => 1965121000:00:00
+
+'Decembrie/10/65 5:30:25' => 1965121005:30:25
+
+'Dec/10/65/5:30 pm' => 1965121017:30:00
+
+'Dec/10/65/5:30 pm GMT' => 1965121012:30:00
+
+'Dec/10/65 la 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 5:30:25' => 1965121005:30:25
+
+'Decembrie-10-65 5:30:25' => 1965121005:30:25
+
+'Dec-10-65-5:30 pm' => 1965121017:30:00
+
+'Dec-10-65 la 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30 pm' => 1965121017:30:00
+
+'Decembrie 10 65 la 5:30:25' => 1965121005:30:25
+
+'Dec 10 1965 la 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 05:61' => ''
+
+'Dec-10-1965 05:30:61' => ''
+
+Decembrie/10 => ${currY}121000:00:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec/10 la 05:30:25' => ${currY}121005:30:25
+
+'Dec/10 la 05:30:25 GMT' => ${currY}121000:30:25
+
+'Dec/10 5:30' => ${currY}121005:30:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec-10 5:30' => ${currY}121005:30:00
+
+'Dec-10 05:30' => ${currY}121005:30:00
+
+'Decembrie10 05:30' => ${currY}121005:30:00
+
+'DeC intii 1965' => 1965120100:00:00
+
+# Tests Date Time
+#       Date%Time
+# Date=dd%mmm
+
+10/Dec/1965 => 1965121000:00:00
+
+10/Decembrie/65 => 1965121000:00:00
+
+10-Dec-65 => 1965121000:00:00
+
+'10 Dec 65' => 1965121000:00:00
+
+'10/Decembrie/65 5:30:25' => 1965121005:30:25
+
+'10/Dec/65/5:30 pm' => 1965121017:30:00
+
+'10/Dec/65/5:30 pm GMT' => 1965121012:30:00
+
+'10/Dec/65 la 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 5:30:25' => 1965121005:30:25
+
+'10-Decembrie-65 5:30:25' => 1965121005:30:25
+
+'10-Dec-65-5:30 pm' => 1965121017:30:00
+
+'10-Dec-65 la 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30 pm' => 1965121017:30:00
+
+'10Decembrie 65 la 5:30:25' => 1965121005:30:25
+
+'10 Dec 1965 la 5:30:25' => 1965121005:30:25
+
+'10Dec 1965 la 5:30:25' => 1965121005:30:25
+
+'10 Dec1965 la 5:30:25' => 1965121005:30:25
+
+'10Dec1965 la 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 05:61' => ''
+
+'10-Dec-1965 05:30:61' => ''
+
+10/Decembrie => ${currY}121000:00:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10/Dec la 05:30:25' => ${currY}121005:30:25
+
+'10-Dec la 05:30:25 GMT' => ${currY}121000:30:25
+
+'10-Dec 5:30' => ${currY}121005:30:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10Decembrie 05:30' => ${currY}121005:30:00
+
+'Intii DeC 65' => 1965120100:00:00
+
+# Tests time only formats 5:30 => ${todaydate}05:30:00
+
+5:30:02 => ${todaydate}05:30:02
+
+15:30:00 => ${todaydate}15:30:00
+
+# Tests TimeDate Time%Date '5:30 pm 12/10/65' => 1965121017:30:00
+
+'5:30 pm GMT 12/10/65' => 1965121012:30:00
+
+5:30:25/12/10/65 => 1965121005:30:25
+
+'5:30:25 12-10-1965' => 1965121005:30:25
+
+'5:30:25 12-10-65' => 1965121005:30:25
+
+'5:30 pm 12-10-65' => 1965121017:30:00
+
+5:30:25/12-10-65 => 1965121005:30:25
+
+'5:30:25 12 10 65' => 1965121005:30:25
+
+'5:30 pm 12 10 65' => 1965121017:30:00
+
+'5:30 pm GMT 12 10 65' => 1965121012:30:00
+
+'5:30:25 12 10 1965' => 1965121005:30:25
+
+'05:61 12-10-1965' => ''
+
+'05:30:61 12-10-1965' => ''
+
+'05:30 12/10' => ${currY}121005:30:00
+
+05:30/12/10 => ${currY}121005:30:00
+
+'05:30:25 12/10' => ${currY}121005:30:25
+
+05:30:25/12-10 => ${currY}121005:30:25
+
+'05:30:25 GMT 12/10' => ${currY}121000:30:25
+
+'5:30 12/10' => ${currY}121005:30:00
+
+'05:30 12/10' => ${currY}121005:30:00
+
+'5:30 12-10' => ${currY}121005:30:00
+
+'05:30 12-10' => ${currY}121005:30:00
+
+'05:30 12 10' => ${currY}121005:30:00
+
+# Tests TimeDate
+#       Time%Date
+# Date=mmm%dd, dd%mmm
+
+'4:50 DeC 10' => ${currY}121004:50:00
+
+'4:50 DeCembrie 10' => ${currY}121004:50:00
+
+'4:50:40 DeC 10' => ${currY}121004:50:40
+
+'4:50:42 DeCembrie 10' => ${currY}121004:50:42
+
+'4:50 10 DeC' => ${currY}121004:50:00
+
+'4:50 10 DeCembrie' => ${currY}121004:50:00
+
+'4:50 10DeC' => ${currY}121004:50:00
+
+'4:50 10DeCembrie' => ${currY}121004:50:00
+
+'4:50:51 10 DeC' => ${currY}121004:50:51
+
+'4:50:52 10 DeCembrie' => ${currY}121004:50:52
+
+'4:50:53 10DeC' => ${currY}121004:50:53
+
+'4:50:54 10DeCembrie' => ${currY}121004:50:54
+
+4:50:54DeCembrie10 => ${currY}121004:50:54
+
+4:50:54DeCembrie10/65 => 1965121004:50:54
+
+4:50:54DeCembrie1965 => 1965120104:50:54
+
+'Sept 1995' => 1995090100:00:00
+
+'1995 septembrie' => 1995090100:00:00
+
+'5:30 DeC 1' => ${currY}120105:30:00
+
+'05:30 DeC 10' => ${currY}121005:30:00
+
+'05:30:11 DeC 10' => ${currY}121005:30:11
+
+'5:30 DeCembrie 1' => ${currY}120105:30:00
+
+'05:30 DeCembrie 10' => ${currY}121005:30:00
+
+'05:30:12 DeCembrie 10' => ${currY}121005:30:12
+
+# Test ctime formats 'DeCembrie 10 05:30:12 1996' => 1996121005:30:12
+
+'DeC10 05:30:12 96' => 1996121005:30:12
+
+# Test some tricky timezone conversions
+
+'Febr 28 1997 23:00-0900' => 1997030103:00:00
+
+'Febr 27 1997 23:00-0900' => 1997022803:00:00
+
+'Febr 01 1997 01:00-0100' => 1997013121:00:00
+
+'Febr 02 1997 01:00-0100' => 1997020121:00:00
+
+'Febr 02 1997 01:00+0100' => 1997020119:00:00
+
+'Febr 02 1997 01:00+01' => 1997020119:00:00
+
+'Febr 02 1997 01:00+01:00' => 1997020119:00:00
+
+19970202010000+0100 => 1997020119:00:00
+
+# More tests...  'ultima zi din octombrie 1997' => 1997103100:00:00
+
+'epoch 400000' => 1970010510:06:40
+
+'19980102030405 EST' => 1998010203:04:05
+
+19980102030405E => 1998010203:04:05
+
+'Luni, 19 ian 1998 08:11:34 +1030' => 1998011816:41:34
+
+'Marti, 26 Mai 1998 13:23:15 -0500 (EST)' => 1998052613:23:15
+
+Dec101965 => 1965121000:00:00
+
+10Dec1965 => 1965121000:00:00
+
+101965Dec => 1965121000:00:00
+
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_today_0.t b/t/dm5.date_today_0.t
new file mode 100755
index 0000000..4d9bb51
--- /dev/null
+++ b/t/dm5.date_today_0.t
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (today/now TodayIsMidnight=1)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+Date_Init("TodayIsMidnight=1","Internal=0");
+
+$tests="
+
+today => 1997030800:00:00
+
+now => 1997030812:30:00
+
+'today at 4:00' => 1997030804:00:00
+
+'now at 4:00' => 1997030804:00:00
+
+'today week' => 1997031500:00:00
+
+'now week' => 1997031512:30:00
+
+'today week at 4:00' => 1997031504:00:00
+
+'now week at 4:00' => 1997031504:00:00
+
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.date_today_1.t b/t/dm5.date_today_1.t
new file mode 100755
index 0000000..dcf6815
--- /dev/null
+++ b/t/dm5.date_today_1.t
@@ -0,0 +1,56 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Date (today/now TodayIsMidnight=0)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("ForceDate=1997-03-08-12:30:00");
+Date_Init("TodayIsMidnight=0","Internal=0");
+
+$tests="
+
+today => 1997030812:30:00
+
+now => 1997030812:30:00
+
+'today at 4:00' => 1997030804:00:00
+
+'now at 4:00' => 1997030804:00:00
+
+'today week' => 1997031512:30:00
+
+'now week' => 1997031512:30:00
+
+'today week at 4:00' => 1997031504:00:00
+
+'now week at 4:00' => 1997031504:00:00
+";
+
+$t->tests(func  => \&ParseDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_a.t b/t/dm5.delta_a.t
new file mode 100755
index 0000000..974c11d
--- /dev/null
+++ b/t/dm5.delta_a.t
@@ -0,0 +1,102 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Delta';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+# Test weeks
+
+'+ 4 week 3 day'            => +0:0:4:3:0:0:0
+
+'+ 4 wk 3 day 20:30'        => +0:0:4:3:0:20:30
+
+'+ 15mn'                    => +0:0:0:0:0:15:0
+
+'+ 15 mn'                   => +0:0:0:0:0:15:0
+
+'15 mn'                     => +0:0:0:0:0:15:0
+
+'+15 mn'                    => +0:0:0:0:0:15:0
+
++15mn                       => +0:0:0:0:0:15:0
+
+'+ 35 y 10 month 15mn'      => +35:10:0:0:0:15:0
+
+'+ 35 y 10m15mn'            => +35:10:0:0:0:15:0
+
+'+ 35year 10:0:0:0:15:0'    => +35:10:0:0:0:15:0
+
+'+ 35 y -10 month 15mn'     => +34:2:-0:0:0:15:0
+
++35:-10:0:0:0:15:0          => +34:2:-0:0:0:15:0
+
+'+ 35 y10 month12:40'       => +35:10:0:0:0:12:40
+
+'+35 y 10 month 1:12:40'    => +35:10:0:0:1:12:40
+
+'+35x 10 month'             => ''
+
+'+ 35 y -10 month 1:12:40'  => +34:2:-0:0:1:12:40
+
+1:2:3:4:5:6:7               => +1:2:3:4:5:6:7
+
+'in 1:2:3:4:5:6:7'          => +1:2:3:4:5:6:7
+
+'1:2:3:4:5:6:7 ago'         => -1:2:3:4:5:6:7
+
+-1:2:3:4:5:6:7              => -1:2:3:4:5:6:7
+
+1::3:4:5:6:7ago             => -1:0:3:4:5:6:7
+
+# Test normalization of deltas
+
++1:+1:+1:+1                 => +0:0:0:1:1:1:1
+
++1:+1:+1:-1                 => +0:0:0:1:1:0:59
+
++1:+1:-1:+1                 => +0:0:0:1:0:59:1
+
++1:-1:+1:+1                 => +0:0:0:0:23:1:1
+
++1:+1:-1:-1                 => +0:0:0:1:0:58:59
+
++1:-1:+1:-1                 => +0:0:0:0:23:0:59
+
++1:-1:-1:+1                 => +0:0:0:0:22:59:1
+
+-0:1:+0:0:0:0:0             => -0:1:0:0:0:0:0
+
+-0:0:1:+0:-0:0:0            => -0:0:1:0:0:0:0
+";
+
+$t->tests(func  => \&ParseDateDelta,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_b.t b/t/dm5.delta_b.t
new file mode 100755
index 0000000..04eb0cb
--- /dev/null
+++ b/t/dm5.delta_b.t
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Delta (signs)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("DeltaSigns=1");
+
+$tests="
+
+1:2:3:4:5:6:7  => +1:+2:+3:+4:+5:+6:+7
+
+-1:2:3:4:5:6:7 => -1:-2:-3:-4:-5:-6:-7
+
+35x            => ''
+
++0             => +0:+0:+0:+0:+0:+0:+0
+
+";
+
+$t->tests(func  => \&ParseDateDelta,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_delta_0.t b/t/dm5.delta_delta_0.t
new file mode 100755
index 0000000..2fc16b8
--- /dev/null
+++ b/t/dm5.delta_delta_0.t
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (delta,delta,exact)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+1:1:1:1 2:2:2:2 0 => +0:0:0:3:3:3:3
+
+1:1:1:1 2:-1:1:1 0 => +0:0:0:3:0:0:0
+
+1:1:1:1 0:-11:5:6 0 => +0:0:0:0:13:55:55
+
+1:1:1:1 0:-25:5:6 0 => -0:0:0:0:0:4:5
+
+1:1:0:1:1:1:1 2:12:1:2:48:120:120 0 => +4:1:1:5:3:3:1
+
+1:1:0:1:1:1:1 2:12:0:-2:48:120:120 0 => +4:1:-0:3:1:0:59
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_delta_1.t b/t/dm5.delta_delta_1.t
new file mode 100755
index 0000000..2ae8875
--- /dev/null
+++ b/t/dm5.delta_delta_1.t
@@ -0,0 +1,50 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (delta,delta,approx)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+1:1:1:1 2:2:2:2 1 => +0:0:0:3:3:3:3
+
+1:1:1:1 2:-1:1:1 1 => +0:0:0:3:0:0:0
+
+1:1:1:1 0:-11:5:6 1 => +0:0:0:0:13:55:55
+
+1:1:1:1 0:-25:5:6 1 => -0:0:0:0:0:4:5
+
+1:1:1:1:1:1:1 2:12:5:2:48:120:120 1 => +4:1:6:5:3:3:1
+
+1:1:1:1:1:1:1 2:12:-1:2:48:120:120 1 => +4:1:-0:3:1:0:59
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_delta_2a.t b/t/dm5.delta_delta_2a.t
new file mode 100755
index 0000000..7a83115
--- /dev/null
+++ b/t/dm5.delta_delta_2a.t
@@ -0,0 +1,42 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (delta,delta,business 8:00-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("WorkDayBeg=08:00","WorkDayEnd=17:00");
+
+$tests="
+
++1:6:30:30 +1:3:45:45 2 => +0:0:0:3:1:16:15
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_delta_2b.t b/t/dm5.delta_delta_2b.t
new file mode 100755
index 0000000..2ee9c52
--- /dev/null
+++ b/t/dm5.delta_delta_2b.t
@@ -0,0 +1,42 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (delta,delta,business 8:30-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("WorkDayBeg=08:30","WorkDayEnd=17:00");
+
+$tests="
+
++1:6:30:30 +1:3:45:45 2 => +0:0:0:3:1:46:15
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_format.t b/t/dm5.delta_format.t
new file mode 100755
index 0000000..c8ee55b
--- /dev/null
+++ b/t/dm5.delta_format.t
@@ -0,0 +1,91 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: FormatDelta';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+1:2:3:4:5:6:7
+4
+'%yv %Mv %wv %dv %hv %mv %sv'
+=>
+'1 2 3 4 5 6 7'
+
+1:2:3:4:5:6:7
+4
+'%yd %Md %wd %dd %hd %md %sd'
+=>
+'1.1667 2.0000 3.6018 4.2126 5.1019 6.1167 7.0000'
+
+1:2:3:4:5:6:7
+0
+'%yh %Mh %wh %dh %hh %mh %sh'
+=>
+'1 14 3 25 605 36306 2178367'
+
+1:2:3:4:5:6:7
+4
+'%yt %Mt %wt %dt %ht %mt %st'
+=>
+'1.1667 14.0000 3.6018 25.2126 605.1019 36306.1167 2178367.0000'
+
+1:2:3:4:5:6:7
+approx
+4
+'%yv %Mv %wv %dv %hv %mv %sv'
+=>
+'1 2 3 4 5 6 7'
+
+1:2:3:4:5:6:7
+approx
+4
+'%yd %Md %wd %dd %hd %md %sd'
+=>
+'1.2357 2.8283 3.6018 4.2126 5.1019 6.1167 7.0000'
+
+1:2:3:4:5:6:7
+approx
+4
+'%yh %Mh %wh %dh %hh %mh %sh'
+=>
+'1 14 63.875 451.125 10832 649926 38995567'
+
+1:2:3:4:5:6:7
+approx
+4
+'%yt %Mt %wt %dt %ht %mt %st'
+=>
+'1.2357 14.8283 64.4768 451.3376 10832.1019 649926.1167 38995567.0000'
+
+";
+
+$t->tests(func  => \&Delta_Format,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.delta_romanian.t b/t/dm5.delta_romanian.t
new file mode 100755
index 0000000..49fba8f
--- /dev/null
+++ b/t/dm5.delta_romanian.t
@@ -0,0 +1,83 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: DateCalc (Romanian,delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init("Language=Romanian");
+
+$tests="
+
+'Mie Febr 7 1996 8:00' +1:1:1:1 0 => 1996020809:01:01
+
+'Mie Nov 20 1996 amiaza ' +0:5:0:0 0 => 1996112017:00:00
+
+'Mie Nov 20 1996 amiaza ' +0:13:0:0 0 => 1996112101:00:00
+
+'Mie Nov 20 1996 amiaza ' +3:2:0:0 0 => 1996112314:00:00
+
+'Mie Nov 20 1996 amiaza ' -3:2:0:0 0 => 1996111710:00:00
+
+'Mie Nov 20 1996 amiaza ' +3:13:0:0 0 => 1996112401:00:00
+
+'Mie Nov 20 1996 amiaza ' +6:2:0:0 0 => 1996112614:00:00
+
+'Dec 31 1996 amiaza ' +1:2:0:0 0 => 1997010114:00:00
+
+'Ian 31 1997 23:59:59' '+ 1 sec' 0 => 1997020100:00:00
+
+'Mie Feb 7 1996 8:00' +1:1:1:1 0 => 1996020809:01:01
+
+'Mie Nov 20 1996 amiaza ' +0:2:0:0 0 => 1996112014:00:00
+
+'Mie Nov 20 1996 amiaza ' +3:7:0:0 0 => 1996112319:00:00
+
+'Dec 30 1996 amiaza ' +1:2:0:0 0 => 1996123114:00:00
+
+'Mart 31 1997 23:59:59' '+ 1 sec' 0 => 1997040100:00:00
+
+'Mie Nov 20 1996 amiaza ' +0:0:1:0:0:0:0 0 => 1996112712:00:00
+
+'Mie Nov 20 1996 19:00' '5 ore ' 0 => 1996112100:00:00
+
+'Mie Nov 20 1996 12:00' +0:2:0:0 0 => 1996112014:00:00
+
+'Mie Nov 20 1996 12:00' '3 zile 2 h' 0 => 1996112314:00:00
+
+'Mie Nov 20 1996 12:00' 'in urma 3 zile 2 ore ' 0 => 1996111710:00:00
+
+'Mie Nov 20 1996 12:00' '5 ore' 0 => 1996112017:00:00
+
+'Mie Nov 20 1996 12:00' '3 zile 2 h' 0 => 1996112314:00:00
+
+";
+
+$t->tests(func  => \&DateCalc,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.events.t b/t/dm5.events.t
new file mode 100755
index 0000000..8620c19
--- /dev/null
+++ b/t/dm5.events.t
@@ -0,0 +1,73 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Event_List';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init(qw( PersonalCnf=Manip5.cnf PathSep=! PersonalCnfPath=./t!. IgnoreGlobalCnf=1 ));
+
+$tests ="
+
+2000-02-01 =>
+   [ 2000020100:00:00 [ Event1 Winter ] ]
+
+2000-04-01 =>
+   [ 2000040100:00:00 [ Spring ] ]
+
+2000-04-01 0 =>
+   [ 2000040100:00:00 [ Spring ]
+     2000040112:00:00 [ Event3 Spring ]
+     2000040113:00:00 [ Spring ] ]
+
+'2000-04-01 12:30' =>
+   [ 2000040112:30:00 [ Event3 Spring ] ]
+
+'2000-04-01 13:30' =>
+   [ 2000040113:30:00 [ Spring ] ]
+
+2000-03-15 2000-04-10 =>
+   [ 2000031500:00:00 [ Winter ]
+     2000032200:00:00 [ Spring ]
+     2000040112:00:00 [ Event3 Spring ]
+     2000040113:00:00 [ Spring ] ]
+
+2000-03-15 2000-04-10 1 =>
+   { Event3  +0:0:0:0:1:0:0
+     Spring  +0:0:2:5:0:0:0
+     Winter  +0:0:1:0:0:0:0 }
+
+2000-03-15 2000-04-10 2 =>
+   { Event3+Spring  +0:0:0:0:1:0:0
+     Spring         +0:0:2:4:23:0:0
+     Winter         +0:0:1:0:0:0:0 }
+
+";
+
+$t->tests(func  => \&Events_List,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.getnext.t b/t/dm5.getnext.t
new file mode 100755
index 0000000..684b779
--- /dev/null
+++ b/t/dm5.getnext.t
@@ -0,0 +1,112 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: GetNext';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests ="
+
+'Fri Nov 22 1996 17:49:30' sat 0 => 1996112317:49:30
+
+'Fri Nov 22 1996 17:49:30' sat 1 => 1996112317:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 => 1996112917:49:30
+
+'Fri Nov 22 1996 17:49:30' 5 0 => 1996112917:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 1 => 1996112217:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30 => 1996112918:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30:45 => 1996112918:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 => 1996112918:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 45 => 1996112918:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 1 14 30 45 => 1996112214:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 2 14 30 45 => 1996112914:30:45
+
+'Fri Nov 22 1996 17:49:30' '' 0 18 => 1996112218:00:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18:30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18:30:45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 '' 45 => 1996112218:00:45
+
+
+'Fri Nov 22 1996 17:00:00' '' 0 17 => 1996112317:00:00
+
+'Fri Nov 22 1996 17:00:00' '' 1 17 => 1996112217:00:00
+
+'Fri Nov 22 1996 17:49:00' '' 0 17 49 => 1996112317:49:00
+
+'Fri Nov 22 1996 17:49:00' '' 1 17 49 => 1996112217:49:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 17 49 33 => 1996112317:49:33
+
+'Fri Nov 22 1996 17:49:33' '' 1 17 49 33 => 1996112217:49:33
+
+'Fri Nov 22 1996 17:00:33' '' 0 17 '' 33 => 1996112317:00:33
+
+'Fri Nov 22 1996 17:00:33' '' 1 17 '' 33 => 1996112217:00:33
+
+
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' '' 30 => 1996112217:50:30
+
+
+
+'Fri Nov 22 1996 17:30:00' '' 0 '' 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:30:00' '' 1 '' 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:30:45' '' 0 '' 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:30:45' '' 1 '' 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:30:45' '' 0 '' '' 45 => 1996112217:31:45
+
+'Fri Nov 22 1996 17:30:45' '' 1 '' '' 45 => 1996112217:30:45
+
+";
+
+$t->tests(func  => \&Date_GetNext,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.getprev.t b/t/dm5.getprev.t
new file mode 100755
index 0000000..0f867b1
--- /dev/null
+++ b/t/dm5.getprev.t
@@ -0,0 +1,112 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: GetPrev';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests ="
+
+'Fri Nov 22 1996 17:49:30' thu 0 => 1996112117:49:30
+
+'Fri Nov 22 1996 17:49:30' thu 1 => 1996112117:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 => 1996111517:49:30
+
+'Fri Nov 22 1996 17:49:30' 5 0 => 1996111517:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 1 => 1996112217:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30 => 1996111518:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30:45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 => 1996111518:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 1 18 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 2 18 30 45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' '' 0 18 => 1996112118:00:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18:30 => 1996112118:30:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 30 => 1996112118:30:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 18:30:45 => 1996112118:30:45
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 30 45 => 1996112118:30:45
+
+'Fri Nov 22 1996 17:49:33' '' 0 18 '' 45 => 1996112118:00:45
+
+
+'Fri Nov 22 1996 17:00:00' '' 0 17 => 1996112117:00:00
+
+'Fri Nov 22 1996 17:00:00' '' 1 17 => 1996112217:00:00
+
+'Fri Nov 22 1996 17:49:00' '' 0 17 49 => 1996112117:49:00
+
+'Fri Nov 22 1996 17:49:00' '' 1 17 49 => 1996112217:49:00
+
+'Fri Nov 22 1996 17:49:33' '' 0 17 49 33 => 1996112117:49:33
+
+'Fri Nov 22 1996 17:49:33' '' 1 17 49 33 => 1996112217:49:33
+
+'Fri Nov 22 1996 17:00:33' '' 0 17 '' 33 => 1996112117:00:33
+
+'Fri Nov 22 1996 17:00:33' '' 1 17 '' 33 => 1996112217:00:33
+
+
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:49:30' '' 0 '' '' 30 => 1996112217:48:30
+
+
+
+'Fri Nov 22 1996 17:30:00' '' 0 '' 30 => 1996112216:30:00
+
+'Fri Nov 22 1996 17:30:00' '' 1 '' 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:30:45' '' 0 '' 30 45 => 1996112216:30:45
+
+'Fri Nov 22 1996 17:30:45' '' 1 '' 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:30:45' '' 0 '' '' 45 => 1996112217:29:45
+
+'Fri Nov 22 1996 17:30:45' '' 1 '' '' 45 => 1996112217:30:45
+
+";
+
+$t->tests(func  => \&Date_GetPrev,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.normalize_business.t b/t/dm5.normalize_business.t
new file mode 100755
index 0000000..b48502c
--- /dev/null
+++ b/t/dm5.normalize_business.t
@@ -0,0 +1,50 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: Normalize (after business day)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+sub Test_Normalize {
+  my(@args)=@_;
+  my($tmp,$err);
+  $tmp=ParseDateDelta(@args);
+  $tmp=DateCalc("today","+ 1 business days",\$err);
+  $tmp=ParseDateDelta(@args);
+  return $tmp;
+}
+
+$tests="
+
++0:0:0:0:9:9:1 => +0:0:0:0:9:9:1
+
+";
+
+$t->tests(func  => \&Test_Normalize,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.nthday.t b/t/dm5.nthday.t
new file mode 100755
index 0000000..638253f
--- /dev/null
+++ b/t/dm5.nthday.t
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: NthDayOfYear';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+sub Test_NthDayOfYear {
+  my(@tmp)=&Date_NthDayOfYear(@_);
+  push @tmp,sprintf("%5.2f",pop(@tmp));
+  return join(":",@tmp);
+}
+
+$tests="
+
+1997 10   => '1997:1:10:0:0: 0.00'
+
+1997 10.5 => '1997:1:10:12:0: 0.00'
+
+1997 10.510763888888889 => 1997:1:10:12:15:30.00
+
+1997 10.510770138888889 => 1997:1:10:12:15:30.54
+
+2000 31   => '2000:1:31:0:0: 0.00'
+
+2000 31.5 => '2000:1:31:12:0: 0.00'
+
+2000 32   => '2000:2:1:0:0: 0.00'
+
+";
+
+$t->tests(func  => \&Test_NthDayOfYear,
+          tests => $tests);
+$t->done_testing();
+
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.recur_0.t b/t/dm5.recur_0.t
new file mode 100755
index 0000000..3052728
--- /dev/null
+++ b/t/dm5.recur_0.t
@@ -0,0 +1,890 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: ParseRecur';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+Date_Init(qw( PersonalCnf=Manip5.cnf PathSep=! PersonalCnfPath=./t!. IgnoreGlobalCnf=1 ));
+
+$tests ="
+
+1*1:1:1:0:0:0*EASTER
+'Jan 1 1997'
+'Jan 1 1997'
+'Jan 1 2000'
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1997-1999:1:1:1:0:0:0*EASTER
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1999:1:1,2:6:0:0:0*CWD
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0*CWP
+   =>
+   1998123100:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0*CWN
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1-4:2:0:12:00:00*PD1,BD2,FW2
+   =>
+   1999010512:00:00
+   1999020212:00:00
+   1999030212:00:00
+   1999040612:00:00
+
+*1999:1-4:2:0:12:00:00*PD1,BD2
+   =>
+   1999010212:00:00
+   1999013012:00:00
+   1999022712:00:00
+   1999040312:00:00
+
+*1999:1-4:2:0:12:00:00*PD1
+   =>
+   1999010412:00:00
+   1999020112:00:00
+   1999030112:00:00
+   1999040512:00:00
+
+*1999:1-4:2:0:12:00:00*PT1
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+*1999:1-2:2:0:12:00:00*PD7
+   =>
+   1999011012:00:00
+   1999020712:00:00
+
+*1999:1-2:2:0:12:00:00
+   =>
+   1999011112:00:00
+   1999020812:00:00
+
+*1999:1-4:2:0:12:00:00*MW3
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0*1-4:2:0:12:00:00*MW3
+'Jan 1 1999'
+'Jan 1 1999'
+'Jan 1 2000'
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0:1*2:0:12:00:00*MW3
+'Jan 1 1999'
+'Jan 1 1999'
+'May 1 1999'
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0:0:0:0:12:0:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011500:00:00
+   1998011512:00:00
+   1998011600:00:00
+   1998011612:00:00
+   1998011700:00:00
+   1998011712:00:00
+   1998011800:00:00
+   1998011812:00:00
+   1998011900:00:00
+   1998011912:00:00
+
+0:0:0:1*12,14:0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011512:00:00
+   1998011512:30:00
+   1998011514:00:00
+   1998011514:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011614:00:00
+   1998011614:30:00
+   1998011712:00:00
+   1998011712:30:00
+   1998011714:00:00
+   1998011714:30:00
+   1998011812:00:00
+   1998011812:30:00
+   1998011814:00:00
+   1998011814:30:00
+   1998011912:00:00
+   1998011912:30:00
+   1998011914:00:00
+   1998011914:30:00
+
+0:0:0:1:6*0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011506:00:00
+   1998011506:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011718:00:00
+   1998011718:30:00
+   1998011900:00:00
+   1998011900:30:00
+
+2:0:0*045:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1982021400:00:00
+   1984021400:00:00
+   1986021400:00:00
+   1988021400:00:00
+
+2:0:0*045-047:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1980021500:00:00
+   1980021600:00:00
+   1982021400:00:00
+   1982021500:00:00
+   1982021600:00:00
+   1984021400:00:00
+   1984021500:00:00
+   1984021600:00:00
+   1986021400:00:00
+   1986021500:00:00
+   1986021600:00:00
+   1988021400:00:00
+   1988021500:00:00
+   1988021600:00:00
+
+2:1:0*0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980110100:00:00
+   1982120100:00:00
+   1985010100:00:00
+   1987020100:00:00
+   1989030100:00:00
+
+0:0:2*2:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998011300:00:00
+   1998012700:00:00
+   1998021000:00:00
+   1998022400:00:00
+
+0:0:2*2,4:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998010100:00:00
+   1998011300:00:00
+   1998011500:00:00
+   1998012700:00:00
+   1998012900:00:00
+   1998021000:00:00
+   1998021200:00:00
+   1998022400:00:00
+   1998022600:00:00
+
+0:1:0*2,31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010200:00:00
+   1998013100:00:00
+   1998020200:00:00
+   1998030200:00:00
+   1998033100:00:00
+   1998040200:00:00
+   1998050200:00:00
+   1998053100:00:00
+   1998060200:00:00
+
+0:1:0*-2,-31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010100:00:00
+   1998013000:00:00
+   1998022700:00:00
+   1998030100:00:00
+   1998033000:00:00
+   1998042900:00:00
+   1998050100:00:00
+   1998053000:00:00
+   1998062900:00:00
+
+0:1*2,-1:0:0:0:0
+'Jan  1 1998'
+'Jan  1 1998'
+'Mar 31 1998'
+   =>
+   1998011200:00:00
+   1998012600:00:00
+   1998020900:00:00
+   1998022300:00:00
+   1998030900:00:00
+   1998033000:00:00
+
+0:1*2,-2:2:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998011300:00:00
+   1998012000:00:00
+   1998021000:00:00
+   1998021700:00:00
+   1998031000:00:00
+   1998032400:00:00
+   1998041400:00:00
+   1998042100:00:00
+   1998051200:00:00
+   1998051900:00:00
+   1998060900:00:00
+   1998062300:00:00
+
+2:0*10:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030900:00:00
+   1983030700:00:00
+   1985031100:00:00
+   1987030900:00:00
+   1989030600:00:00
+
+2:0*10:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981031000:00:00
+   1983030800:00:00
+   1985030500:00:00
+   1987031000:00:00
+   1989030700:00:00
+
+2*3:0:2,30:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030200:00:00
+   1981033000:00:00
+   1983030200:00:00
+   1983033000:00:00
+   1985030200:00:00
+   1985033000:00:00
+   1987030200:00:00
+   1987033000:00:00
+   1989030200:00:00
+   1989033000:00:00
+
+2*3:0:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030100:00:00
+   1983030100:00:00
+   1985030100:00:00
+   1987030100:00:00
+   1989030100:00:00
+
+3*2,5:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*5,2:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*2,5:2:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1982020900:00:00
+   1982051100:00:00
+   1985021200:00:00
+   1985051400:00:00
+   1988020900:00:00
+   1988051000:00:00
+
+1*2:2:0:0:0:0
+''
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021100:00:00
+   1981020900:00:00
+   1982020800:00:00
+
+1*2:2:2:0:0:0
+''
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021200:00:00
+   1981021000:00:00
+   1982020900:00:00
+
+*2000:2:1:1:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:1:-1:0:0:0
+   =>
+   2000020600:00:00
+
+*2000:2:1:0:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:-1:1:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:2:-1:-1:0:0:0
+   =>
+   2000022700:00:00
+
+*2000:2:-1:0:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:0:0:0:0:0
+   =>
+   2000010100:00:00
+
+*2000:0:0:61:0:0:0
+   =>
+   2000030100:00:00
+
+*2000:0:0:-1:0:0:0
+   =>
+   2000123100:00:00
+
+*2000:2:0:2:0:0:0
+   =>
+   2000020200:00:00
+
+*2000:2:0:-2:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:2:2:0:0:0
+   =>
+   2000011100:00:00
+
+*2000:0:2:-2:0:0:0
+   =>
+   2000010800:00:00
+
+*2000:0:-2:2:0:0:0
+   =>
+   2000121900:00:00
+
+*2000:0:-2:-2:0:0:0
+   =>
+   2000122300:00:00
+
+*2000:0:2:0:0:0:0
+   =>
+   2000011000:00:00
+
+*2000:0:-2:0:0:0:0
+   =>
+   2000121800:00:00
+
+*1990,1992:0:0:45:0:0:0
+   =>
+   1990021400:00:00
+   1992021400:00:00
+
+*1990,1992:0:0:0:0:0:0
+   =>
+   1990010100:00:00
+   1992010100:00:00
+
+*1990,1992:5:0:0:0:0:0
+   =>
+   1990050100:00:00
+   1992050100:00:00
+
+*1990,1992:5:0:12:0:0:0
+   =>
+   1990051200:00:00
+   1992051200:00:00
+
+*1998:0:12,14:0:0:0:0
+   =>
+   1998032300:00:00
+   1998040600:00:00
+
+*1998:0:12,14:2:0:0:0
+   =>
+   1998032400:00:00
+   1998040700:00:00
+
+*1998:2:2,-2:0:0:0:0
+   =>
+   1998020900:00:00
+   1998021600:00:00
+
+*1998:2:2,-2:2:0:0:0
+   =>
+   1998021000:00:00
+   1998021700:00:00
+
+*1998:2:2,-2:-6:0:0:0
+   =>
+   1998021000:00:00
+   1998021700:00:00
+
+*1998:2:2,-2:2:0:0:0
+1998021000:00:00
+1998021000:00:00
+1998021200:00:00
+   =>
+   1998021000:00:00
+
+1*2:0:-1:0:0:0
+''
+2000-01-01
+2005-12-31
+   =>
+   2000022900:00:00
+   2001022800:00:00
+   2002022800:00:00
+   2003022800:00:00
+   2004022900:00:00
+   2005022800:00:00
+
+1:0*2:0:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:0:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:0*2:1:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:1:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:0*2:-7:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:-7:0:0:0
+''
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:1*2:0:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:0:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1*2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1*2:-7:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:-7:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1:1*0:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010400:00:00
+   2001021100:00:00
+   2002031800:00:00
+
+1:0:0*15:0:0:0
+''
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011500:00:00
+   2001011500:00:00
+   2002011500:00:00
+
+1:0:0*-10:0:0:0
+''
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000122200:00:00
+   2001122200:00:00
+   2002122200:00:00
+
+1:1:1*2:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010400:00:00
+   2001021100:00:00
+   2002031800:00:00
+
+1:1:1*-6:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010400:00:00
+   2001021100:00:00
+   2002031800:00:00
+
+1:1:0*10:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021000:00:00
+   2002031000:00:00
+
+*2000-2009:0:0:366:0:0:0
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+*2000:1-5:0:31:0:0:0
+   =>
+   2000013100:00:00
+   2000033100:00:00
+   2000053100:00:00
+
+*2000-2009:0:53:1:0:0:0
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+*2000-2009:0:-53:1:0:0:0
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1*1-4:0:31:0:0:0
+''
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000013100:00:00
+   2000033100:00:00
+
+1*1-4:0:-31:0:0:0
+''
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000010100:00:00
+   2000030100:00:00
+
+1:1:0*-10:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012200:00:00
+   2001021900:00:00
+   2002032200:00:00
+
+*2000:1-5:5:-1:0:0:0
+   =>
+   2000013000:00:00
+   2000043000:00:00
+
+*2000:1-5:-5:-1:0:0:0
+   =>
+   2000010200:00:00
+   2000040200:00:00
+
+*2000:1-5:5:0:0:0:0
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+*2000:1-5:-5:0:0:0:0
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1*1-5:5:-1:0:0:0
+''
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000013000:00:00
+   2000043000:00:00
+
+1*1-5:-5:-1:0:0:0
+''
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000010200:00:00
+   2000040200:00:00
+
+1*1-5:5:0:0:0:0
+''
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+1*1-5:-5:0:0:0:0
+''
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1:0*53:1:0:0:0
+''
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+1:0*-53:1:0:0:0
+''
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1:0:0*366:0:0:0
+''
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+1:0:0*-366:0:0:0
+''
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000010100:00:00
+   2004010100:00:00
+   2008010100:00:00
+
+0:1*1:1:12:0:0
+''
+'Sep 1 2007'
+'Nov 20 2007'
+   =>
+   2007090312:00:00
+   2007100112:00:00
+   2007110512:00:00
+
+0:0:1*1:12:30:0
+''
+'Sep 1 2007'
+'Sep 30 2007'
+   =>
+   2007090312:30:00
+   2007091012:30:00
+   2007091712:30:00
+   2007092412:30:00
+
+0:1:0*1:12:0:0
+''
+'Sep 1 2007'
+'Dec 15 2007'
+   =>
+   2007090112:00:00
+   2007100112:00:00
+   2007110112:00:00
+   2007120112:00:00
+
+0:0:0:0:1*30:0
+''
+'Jan 1 1990 12:12'
+'Jan 2 1990 01:32'
+   =>
+   1990010112:30:00
+   1990010113:30:00
+   1990010114:30:00
+   1990010115:30:00
+   1990010116:30:00
+   1990010117:30:00
+   1990010118:30:00
+   1990010119:30:00
+   1990010120:30:00
+   1990010121:30:00
+   1990010122:30:00
+   1990010123:30:00
+   1990010200:30:00
+   1990010201:30:00
+
+";
+
+$t->tests(func  => \&ParseRecur,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.recur_1.t b/t/dm5.recur_1.t
new file mode 100755
index 0000000..0012bd0
--- /dev/null
+++ b/t/dm5.recur_1.t
@@ -0,0 +1,110 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: ParseRecur (English)';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests ="
+
+'every 7th day in June 1999'
+0
+1999061500:00:00
+1999063000:00:00
+   =>
+   1999062100:00:00
+   1999062800:00:00
+
+'every 7th day in June 1999'
+1999061500:00:00
+1999061500:00:00
+1999063000:00:00
+   =>
+   1999061500:00:00
+   1999062200:00:00
+   1999062900:00:00
+
+'every 7th day in June 1999'
+   =>
+   1999060700:00:00
+   1999061400:00:00
+   1999062100:00:00
+   1999062800:00:00
+
+'4th day of each month in 1999'
+   =>
+   1999010400:00:00
+   1999020400:00:00
+   1999030400:00:00
+   1999040400:00:00
+   1999050400:00:00
+   1999060400:00:00
+   1999070400:00:00
+   1999080400:00:00
+   1999090400:00:00
+   1999100400:00:00
+   1999110400:00:00
+   1999120400:00:00
+
+'2nd tuesday of every month in 1999'
+   =>
+   1999011200:00:00
+   1999020900:00:00
+   1999030900:00:00
+   1999041300:00:00
+   1999051100:00:00
+   1999060800:00:00
+   1999071300:00:00
+   1999081000:00:00
+   1999091400:00:00
+   1999101200:00:00
+   1999110900:00:00
+   1999121400:00:00
+
+'every 2nd tuesday in June 1999'
+   =>
+   1999060100:00:00
+   1999061500:00:00
+   1999062900:00:00
+
+'every 6th tuesday in 1999'
+   =>
+   1999020900:00:00
+   1999032300:00:00
+   1999050400:00:00
+   1999061500:00:00
+   1999072700:00:00
+   1999090700:00:00
+   1999101900:00:00
+   1999113000:00:00
+
+";
+
+$t->tests(func  => \&ParseRecur,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.settime.t b/t/dm5.settime.t
new file mode 100755
index 0000000..c2868fe
--- /dev/null
+++ b/t/dm5.settime.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: SetTime';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+'Jan 1, 1996 at 10:30' 12:40 => 1996010112:40:00
+
+1996010110:30:40 12:40:50 => 1996010112:40:50
+
+1996010110:30:40 12:40 => 1996010112:40:00
+
+1996010110:30:40 12 40 => 1996010112:40:00
+
+1996010110:30:40 12 40 50 => 1996010112:40:50
+
+";
+
+$t->tests(func  => \&Date_SetTime,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/dm5.unixdate.t b/t/dm5.unixdate.t
new file mode 100755
index 0000000..c238162
--- /dev/null
+++ b/t/dm5.unixdate.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'DM5 :: UnixDate';
+$testdir = '';
+$testdir = $t->testdir();
+
+BEGIN {
+   $Date::Manip::Backend = 'DM5';
+}
+
+use Date::Manip;
+if ($] < 5.010  ||  $ENV{'DATE_MANIP_TEST_DM5'}) {
+   $t->feature("TEST_DM5",1);
+}
+
+$t->skip_all('Date::Manip 5.xx tests ignored (set DATE_MANIP_TEST_DM5 to test)',
+             'TEST_DM5');
+
+Date_Init("TZ=EST");
+
+$tests="
+
+'Wed Jan 3, 1996  at 8:11:12'
+'%y %Y %m %f %b %h %B %U %W %j %d %e %v %a %A %w %E'
+=>
+'96 1996 01  1 Jan Jan January 01 01 003 03  3  W Wed Wednesday 3 3rd'
+
+'Wed Jan 3, 1996  at 8:11:12'
+'%H %k %i %I %p %M %S %s %o %z %Z'
+=>
+'08  8  8 08 AM 11 12 820674672 820656672 -0500 EST'
+
+";
+
+$t->tests(func  => \&UnixDate,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/obj.t b/t/obj.t
new file mode 100755
index 0000000..c7bfc3c
--- /dev/null
+++ b/t/obj.t
@@ -0,0 +1,417 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'object';
+$testdir = '';
+$testdir = $t->testdir();
+
+$ENV{'TZ'} = 'America/Chicago';
+use Date::Manip;
+
+use Cwd;
+my $vers;
+if ($ENV{'RELEASE_TESTING'}) {
+   my $dir  = getcwd;
+   $dir     =~ /Date-Manip-([0-9.]+)/;
+   $vers = $1;
+} else {
+   # We'll only test the directory/version on my machine.
+   # In some instances elsewhere, the install directory in renamed
+   # unpredicatbly, so we won't do this test there.
+   $vers = DateManipVersion();
+}
+
+if ($vers >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+%obj = ();
+%dmb = ();
+%dmt = ();
+
+sub test {
+  ($label,$op,@args)=@_;
+  my $new;
+
+  if ($op eq 'new') {
+     my($type,@a) = @args;
+     if (@a  &&  exists $obj{$a[0]}) {
+        my $o = $obj{$a[0]};
+        shift(@a);
+        unshift(@a,$o);
+     }
+     if      ($type eq 'Base') {
+        $new = new Date::Manip::Base @a;
+     } elsif ($type eq 'TZ') {
+        $new = new Date::Manip::TZ @a;
+     } elsif ($type eq 'Date') {
+        $new = new Date::Manip::Date @a;
+     } elsif ($type eq 'Delta') {
+        $new = new Date::Manip::Delta @a;
+     } elsif ($type eq 'Recur') {
+        $new = new Date::Manip::Recur @a;
+     }
+
+  } elsif ($op eq 'new_config') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     $new  = $o->new_config(@args);
+
+  } elsif ($op eq 'base') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     $new  = $o->base(@args);
+
+  } elsif ($op eq 'tz') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     $new  = $o->tz(@args);
+
+  } elsif ($op eq 'config') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     $o->config(@args);
+     return (0);
+
+  } elsif ($op eq 'get_config') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     my @ret = $o->get_config(@args);
+     if (@ret > 3) {
+        @ret = @ret[0..2];
+     }
+     return @ret;
+
+  } elsif ($op eq 'version') {
+     my $o = $obj{$args[0]};
+     shift(@args);
+     return $o->version(@args);
+
+  } elsif (exists $obj{$op}) {
+     my $o = $obj{$op};
+     $new = $o->new(@args);
+  }
+
+  if (! defined $new) {
+     return (undef);
+  }
+
+  my($dmb,$dmt);
+  if (ref($new) eq 'Date::Manip::Base') {
+     $dmb = $new;
+     $dmt = '---';
+  } elsif (ref($new) eq 'Date::Manip::TZ') {
+     $dmb = $new->base();
+     $dmt = $new;
+  } else {
+     $dmb = $new->base();
+     $dmt = $new->tz();
+  }
+
+  $obj{$label} = $new;
+  my @ret;
+  @ret = (ref($new));
+
+  if (! exists $dmb{$dmb}) {
+     $dmb{$dmb} = $label;
+  }
+  push(@ret,$dmb{$dmb});
+  
+  if ($dmt eq '---') {
+     push(@ret,$dmt);
+  } else {
+     if (! exists $dmt{$dmt}) {
+        $dmt{$dmt} = $label;
+     }
+     push(@ret,$dmt{$dmt});
+  }
+
+  return @ret;
+}
+
+$tests="
+
+### new CLASS
+
+o0001  new  Base
+   =>
+   Date::Manip::Base
+   o0001
+   ---
+
+o0002  new  TZ
+   =>
+   Date::Manip::TZ
+   o0002
+   o0002
+
+o0003  new  Date
+   =>
+   Date::Manip::Date
+   o0003
+   o0003
+
+o0004  new  Delta
+   =>
+   Date::Manip::Delta
+   o0004
+   o0004
+
+o0005  new  Recur
+   =>
+   Date::Manip::Recur
+   o0005
+   o0005
+
+### OBJ->new
+
+o0006  o0001
+   =>
+   Date::Manip::Base
+   o0006
+   ---
+
+o0007  o0002
+   =>
+   Date::Manip::TZ
+   o0002
+   o0007
+
+o0008  o0003
+   =>
+   Date::Manip::Date
+   o0003
+   o0003
+
+o0009  o0004
+   =>
+   Date::Manip::Delta
+   o0004
+   o0004
+
+o0010  o0005
+   =>
+   Date::Manip::Recur
+   o0005
+   o0005
+
+### new CLASS OBJ
+
+o0011  new  Base  o0001
+   =>
+   Date::Manip::Base
+   o0011
+   ---
+
+o0012  new  Date o0001
+   =>
+   Date::Manip::Date
+   o0001
+   o0012
+
+o0013  new  Date o0002
+   =>
+   Date::Manip::Date
+   o0002
+   o0002
+
+### new_config
+
+o0014  new_config  o0001
+   =>
+   Date::Manip::Base
+   o0014
+   ---
+
+o0015  new_config  o0002
+   =>
+   Date::Manip::TZ
+   o0015
+   o0015
+
+o0016  new_config  o0003
+   =>
+   Date::Manip::Date
+   o0016
+   o0016
+
+o0017  new_config  o0004
+   =>
+   Date::Manip::Delta
+   o0017
+   o0017
+
+o0018  new_config  o0005
+   =>
+   Date::Manip::Recur
+   o0018
+   o0018
+
+o0019  new_config  o0003 now
+   =>
+   Date::Manip::Date
+   o0019
+   o0019
+
+o0020  new_config  o0003 [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0020
+   o0020
+
+o0021  new_config  o0003 now [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0021
+   o0021
+
+### base/tz
+
+o0022  base o0001
+   =>
+   __undef__
+
+o0023  base o0002
+   =>
+   Date::Manip::Base
+   o0002
+   ---
+
+o0024  base o0003
+   =>
+   Date::Manip::Base
+   o0003
+   ---
+
+o0022  tz o0001
+   =>
+   __undef__
+
+o0023  tz o0002
+   =>
+   __undef__
+
+o0024  tz o0003
+   =>
+   Date::Manip::TZ
+   o0003
+   o0003
+
+### misc
+
+o0100  new  Date  now noiso8601
+   =>
+   Date::Manip::Date
+   o0100
+   o0100
+
+o0101  new  Date  now [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0101
+   o0101
+
+o0102  new  Date  now noiso8601 [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0102
+   o0102
+
+o0103  new  Date  o0102 now noiso8601
+   =>
+   Date::Manip::Date
+   o0102
+   o0102
+
+o0104  new  Date o0102  now [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0104
+   o0104
+
+o0105  new  Date o0102  now noiso8601 [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0105
+   o0105
+
+o0106  new  TZ  [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::TZ
+   o0106
+   o0106
+
+o0107  new  TZ o0102  [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::TZ
+   o0107
+   o0107
+
+o0108  new  Date o0101  now noiso8601 [ forcedate now,America/New_York ]
+   =>
+   Date::Manip::Date
+   o0108
+   o0108
+
+o0109  new  Base o0101  [ defaults 1 ]
+   =>
+   Date::Manip::Base
+   o0109
+   ---
+
+### config/get_config
+
+- get_config o0001 yytoyyyy   => 89
+
+- config o0001 yytoyyyy c18   => 0
+
+- get_config o0001 yytoyyyy   => c18
+
+- get_config o0002 yytoyyyy   => 89
+
+- config o0002 yytoyyyy c18   => 0
+
+- get_config o0002 yytoyyyy   => c18
+
+- get_config o0003 yytoyyyy   => 89
+
+- config o0003 yytoyyyy c18   => 0
+
+- get_config o0003 yytoyyyy   => c18
+
+- get_config o0004 yytoyyyy defaulttime => 89 midnight
+
+- get_config o0004            => dateformat defaults defaulttime
+
+### version
+
+- version o0001    => $vers
+
+- version o0001 1  => $vers
+
+- version o0002 1  => '$vers [america/chicago]'
+
+- config  o0002 setdate now,america/new_york => 0
+
+- version o0002    => $vers
+
+- version o0002 1  => '$vers [america/chicago]'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.convtz.t b/t/orig.convtz.t
new file mode 100755
index 0000000..6777c5f
--- /dev/null
+++ b/t/orig.convtz.t
@@ -0,0 +1,67 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: Date_ConvTZ';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return Date_ConvTZ(@_);
+}
+
+Date_Init("ForceDate=now,America/New_York");
+
+$tests="
+
+2001012812:05:00   +0000 BST           => 2001012812:05:00
+
+2001082812:05:00   +0000 BST           => 2001082813:05:00
+
+2001012812:05:00   GMT   +0000         => 2001012812:05:00
+
+2001082812:05:00   GMT   +0000         => 2001082812:05:00
+
+2001012812:05:00   GMT   BST           => 2001012812:05:00
+
+2001082812:05:00   GMT   BST           => 2001082813:05:00
+
+2001012812:05:00   GMT   Europe/London => 2001012812:05:00
+
+2001082812:05:00   GMT   Europe/London => 2001082813:05:00
+
+2007030113:34:34   +0000 +0100         => 2007030114:34:34
+
+2007030113:34:34   +0000 +01:00        => 2007030114:34:34
+
+2007030113:34:34   +0000 +01           => 2007030114:34:34
+
+2007030113:34:34   +0000 -0100         => 2007030112:34:34
+
+2007030113:34:34   +0000 -02:00        => 2007030111:34:34
+
+2007030113:34:34   +0000 -03           => 2007030110:34:34
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.date_isholiday.t b/t/orig.date_isholiday.t
new file mode 100755
index 0000000..1a84a30
--- /dev/null
+++ b/t/orig.date_isholiday.t
@@ -0,0 +1,54 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: Date_IsHoliday';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  my($type,$date) = @_;
+  if ($type eq 'scalar') {
+     $ret = Date_IsHoliday($date);
+     return $ret;
+  } else {
+     @ret = Date_IsHoliday($date);
+     return @ret;
+  }
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/Holidays.3.cnf");
+
+$tests ="
+
+scalar 2010-01-01 =>
+   'New Years Day (observed)'
+
+list   2010-01-01 =>
+   'New Years Day (observed)'
+   'New Years Day'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.datecalc.date_date.t b/t/orig.datecalc.date_date.t
new file mode 100755
index 0000000..65c8574
--- /dev/null
+++ b/t/orig.datecalc.date_date.t
@@ -0,0 +1,190 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: DateCalc (date,date)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return DateCalc(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/Manip.cnf");
+
+$tests="
+
+# Exact
+
+'Jan 1 1996 12:00:00'   'Jan 1 1996 14:30:30'   => 0:0:0:0:2:30:30
+
+'Jan 1 1996 14:30:30'   'Jan 1 1996 12:00:00'   => 0:0:0:0:-2:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 14:30:30'   => 0:0:0:0:26:30:30
+
+'Jan 2 1996 14:30:30'   'Jan 1 1996 12:00:00'   => 0:0:0:0:-26:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 10:30:30'   => 0:0:0:0:22:30:30
+
+'Jan 2 1996 10:30:30'   'Jan 1 1996 12:00:00'   => 0:0:0:0:-22:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1997 10:30:30'   => 0:0:0:0:8806:30:30
+
+'Jan 2 1997 10:30:30'   'Jan 1 1996 12:00:00'   => 0:0:0:0:-8806:30:30
+
+'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' => 0:0:0:0:743:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' => 0:0:0:0:1415:59:59
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' => 0:0:0:0:10175:59:59
+
+# Approximate
+
+'Wed Jan 10 1996 noon'  'Wed Jan 7 1998 noon'   1 => 2:0:0:-3:0:0:0
+
+'Wed Jan 7 1998 noon'   'Wed Jan 10 1996 noon'  1 => -2:0:0:+3:0:0:0
+
+'Wed Jan 10 1996 noon'  'Wed Jan 8 1997 noon'   1 => 1:0:0:-2:0:0:0
+
+'Wed Jan 8 1997 noon'   'Wed Jan 10 1996 noon'  1 => -1:0:0:+2:0:0:0
+
+'Wed May 8 1996 noon'   'Wed Apr 9 1997 noon'   1 => 0:11:0:1:0:0:0
+
+'Wed Apr 9 1997 noon'   'Wed May 8 1996 noon'   1 => 0:-11:0:1:0:0:0
+
+'Wed Apr 10 1996 noon'  'Wed May 14 1997 noon'  1 => 1:1:0:4:0:0:0
+
+'Wed May 14 1997 noon'  'Wed Apr 10 1996 noon'  1 => -1:1:0:4:0:0:0
+
+'Wed Jan 10 1996 noon'  'Wed Feb 7 1996 noon'   1 => 0:1:0:-3:0:0:0
+
+'Wed Feb 7 1996 noon'   'Wed Jan 10 1996 noon'  1 => 0:-1:0:+3:0:0:0
+
+'Mon Jan 8 1996 noon'   'Fri Feb 9 1996 noon'   1 => 0:1:0:1:0:0:0
+
+'Fri Feb 9 1996 noon'   'Mon Jan 8 1996 noon'   1 => 0:-1:0:1:0:0:0
+
+'Jan 1 1996 12:00:00'   'Jan 1 1996 14:30:30'   1 => 0:0:0:0:2:30:30
+
+'Jan 1 1996 14:30:30'   'Jan 1 1996 12:00:00'   1 => 0:0:0:0:-2:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 14:30:30'   1 => 0:0:0:1:2:30:30
+
+'Jan 2 1996 14:30:30'   'Jan 1 1996 12:00:00'   1 => 0:0:0:-1:2:30:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1996 10:30:30'   1 => 0:0:0:1:-1:29:30
+
+'Jan 2 1996 10:30:30'   'Jan 1 1996 12:00:00'   1 => 0:0:0:-1:+1:29:30
+
+'Jan 1 1996 12:00:00'   'Jan 2 1997 10:30:30'   1 => 1:0:0:1:-1:29:30
+
+'Jan 2 1997 10:30:30'   'Jan 1 1996 12:00:00'   1 => -1:0:0:1:+1:29:30
+
+'Jan 31 1996 12:00:00'  'Feb 28 1997 10:30:30'  1 => 1:1:0:0:-1:29:30
+
+'Feb 28 1997 10:30:30'  'Jan 31 1996 12:00:00'  1 => -1:1:0:+3:1:29:30
+
+'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' 1 => 0:1:0:0:0:0:-1
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' 1 => 0:2:0:0:0:0:-1
+
+'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' 1 => 1:2:0:0:0:0:-1
+
+# Business approximate
+
+'Jun 1 1999' 'Jun 4 1999' 2 => 0:0:0:2:0:0:0
+
+'Wed Jan 10 1996 noon' 'Wed Jan 7 1998 noon' 2 => 2:0:0:-2:5:0:0
+
+'Wed Jan 7 1998 noon' 'Wed Jan 10 1996 noon' 2 => -2:0:0:+2:4:0:0
+
+'Wed Jan 10 1996 noon' 'Wed Jan 8 1997 noon' 2 => 1:0:0:-2:0:0:0
+
+'Wed Jan 8 1997 noon' 'Wed Jan 10 1996 noon' 2 => -1:0:0:+2:0:0:0
+
+'Wed May 8 1996 noon' 'Wed Apr 9 1997 noon' 2 => 0:11:0:1:0:0:0
+
+'Wed Apr 9 1997 noon' 'Wed May 8 1996 noon' 2 => 0:-11:0:1:0:0:0
+
+'Wed Apr 10 1996 noon' 'Wed May 14 1997 noon' 2 => 1:1:0:2:4:0:0
+
+'Wed May 14 1997 noon' 'Wed Apr 10 1996 noon' 2 => -1:1:0:2:5:0:0
+
+'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 2 => 0:1:0:-2:5:0:0
+
+'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 2 => 0:-1:0:+2:4:0:0
+
+'Mon Jan 8 1996 noon' 'Fri Feb 9 1996 noon' 2 => 0:1:0:1:0:0:0
+
+'Fri Feb 9 1996 noon' 'Mon Jan 8 1996 noon' 2 => 0:-1:0:1:0:0:0
+
+'Tue Jan 9 1996 12:00:00' 'Tue Jan 9 1996 14:30:30' 2 => 0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:0:-2:30:30
+
+'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 14:30:30' 2 => 0:0:0:1:2:30:30
+
+'Wed Jan 10 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:-1:2:30:30
+
+'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 10:30:30' 2 => 0:0:0:0:7:30:30
+
+'Wed Jan 10 1996 10:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:0:-7:30:30
+
+'Tue Jan 9 1996 12:00:00' 'Fri Jan 10 1997 10:30:30' 2 => 1:0:0:0:7:30:30
+
+'Fri Jan 10 1997 10:30:30' 'Tue Jan 9 1996 12:00:00' 2 => -1:0:0:0:7:30:30
+
+'Mon Dec 30 1996 noon' 'Mon Jan 6 1997 noon' 2 => 0:1:-3:3:0:0:0
+
+'Mon Jan 6 1997 noon' 'Mon Dec 30 1996 noon' 2 => 0:-1:+3:1:0:0:0
+
+# Business exact
+
+'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 3 => 0:0:0:19:0:0:0
+
+'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 3 => 0:0:0:-19:0:0:0
+
+'Tue Jan 9 1996 12:00:00' 'Tue Jan 9 1996 14:30:30' 3 => 0:0:0:0:2:30:30
+
+'Tue Jan 9 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:0:-2:30:30
+
+'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 14:30:30' 3 => 0:0:0:1:2:30:30
+
+'Wed Jan 10 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:-1:2:30:30
+
+'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 10:30:30' 3 => 0:0:0:0:7:30:30
+
+'Wed Jan 10 1996 10:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:0:-7:30:30
+
+'Mon Dec 30 1996 noon' 'Mon Jan 6 1997 noon' 3 => 0:0:0:4:0:0:0
+
+'Mon Jan 6 1997 noon' 'Mon Dec 30 1996 noon' 3 => 0:0:0:-4:0:0:0
+
+'Fri Feb 11 2005 16:00:43' 'Fri Feb 11 2005 16:44:09' 3 => 0:0:0:0:0:43:26
+
+'02/11/2005 04:00:43 PM' '02/11/2005 04:44:09 PM' 3 => 0:0:0:0:0:43:26
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.datecalc.date_delta.0.t b/t/orig.datecalc.date_delta.0.t
new file mode 100755
index 0000000..554d68c
--- /dev/null
+++ b/t/orig.datecalc.date_delta.0.t
@@ -0,0 +1,139 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: DateCalc (date,delta)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+   my($d1,$d2) = (@_);
+   DateCalc($d1,$d2);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/Manip.cnf");
+
+$tests="
+
+# Exact deltas
+
+'Wed Feb 7 1996 8:00' +1:1:1:1 => 1996020809:01:01
+
+'Wed Nov 20 1996 noon' +0:5:0:0 => 1996112017:00:00
+
+'Wed Nov 20 1996 noon' +0:13:0:0 => 1996112101:00:00
+
+'Wed Nov 20 1996 noon' +3:2:0:0 => 1996112314:00:00
+
+'Wed Nov 20 1996 noon' -3:2:0:0 => 1996111710:00:00
+
+'Wed Nov 20 1996 noon' +3:13:0:0 => 1996112401:00:00
+
+'Wed Nov 20 1996 noon' +6:2:0:0 => 1996112614:00:00
+
+'Dec 31 1996 noon' +1:2:0:0 => 1997010114:00:00
+
+'Jan 31 1997 23:59:59' '+ 1 sec' => 1997020100:00:00
+
+'20050215 13:59:11' -10h => 2005021503:59:11
+
+2005021513:59:11 '-10h +0s' => 2005021503:59:11
+
+# Approx deltas
+
+'Wed Feb 7 1996 8:00' +1:1:1:1 => 1996020809:01:01
+
+'Wed Nov 20 1996 noon' +0:5:0:0 => 1996112017:00:00
+
+'Wed Nov 20 1996 noon' +0:13:0:0 => 1996112101:00:00
+
+'Wed Nov 20 1996 noon' +3:2:0:0 => 1996112314:00:00
+
+'Wed Nov 20 1996 noon' -3:2:0:0 => 1996111710:00:00
+
+'Wed Nov 20 1996 noon' +3:13:0:0 => 1996112401:00:00
+
+'Wed Nov 20 1996 noon' +6:2:0:0 => 1996112614:00:00
+
+'Dec 31 1996 noon' +1:2:0:0 => 1997010114:00:00
+
+'Jan 31 1997 23:59:59' '+ 1 sec' => 1997020100:00:00
+
+# Business deltas
+
+'Wed Nov 20 1996 noon' '+0:5:0:0 business' => 1996112108:00:00
+
+'Wed Nov 20 1996 noon' '+0:2:0:0 business' => 1996112014:00:00
+
+'Wed Nov 20 1996 noon' '+3:2:0:0 business' => 1996112514:00:00
+
+'Wed Nov 20 1996 noon' '-3:2:0:0 business' => 1996111510:00:00
+
+'Wed Nov 20 1996 noon' '+3:7:0:0 business' => 1996112610:00:00
+
+'Wed Nov 20 1996 noon' '+6:2:0:0 business' => 1996120214:00:00
+
+'Dec 31 1996 noon' '+1:2:0:0 business' => 1997010214:00:00
+
+'Dec 30 1996 noon' '+1:2:0:0 business' => 1996123114:00:00
+
+'Mar 31 1997 16:59:59' '+ 1 sec' => 1997033117:00:00
+
+'Mar 31 1997 16:59:59' '+ 1 sec business' => 1997040108:00:00
+
+'Wed Nov 20 1996 noon' +0:0:1:0:0:0:0 => 1996112712:00:00
+
+2002120600:00:00 '- business 4 hours' => 2002120513:00:00
+
+2002120600:00:01 '- business 4 hours' => 2002120513:00:00
+
+2002120523:59:59 '- business 4 hours' => 2002120513:00:00
+
+2002120602:00:00 '- business 4 hours' => 2002120513:00:00
+
+2002120609:00:00 '- business 4 hours' => 2002120514:00:00
+
+2002120609:00:10 '- business 4 hours' => 2002120514:00:10
+
+2002120611:00:00 '- business 4 hours' => 2002120516:00:00
+
+2002120612:00:00 '- business 4 hours' => 2002120608:00:00
+
+2002120512:00:00 '+ business 4 hours' => 2002120516:00:00
+
+2002120514:00:00 '+ business 4 hours' => 2002120609:00:00
+
+2002120522:00:00 '+ business 4 hours' => 2002120612:00:00
+
+2002120523:59:59 '+ business 4 hours' => 2002120612:00:00
+
+2002120602:00:00 '+ business 4 hours' => 2002120612:00:00
+
+2002120609:00:00 '+ business 4 hours' => 2002120613:00:00
+
+20060616 '+1 business day' => 2006061908:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.datecalc.date_delta.1.t b/t/orig.datecalc.date_delta.1.t
new file mode 100755
index 0000000..499c8ca
--- /dev/null
+++ b/t/orig.datecalc.date_delta.1.t
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: DateCalc (date,delta,business 8:30-5:00)';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+   my($d1,$d2) = (@_);
+   DateCalc($d1,$d2);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/Manip.cnf");
+Date_Init("WorkDayBeg=08:30","WorkDayEnd=17:00");
+
+$tests="
+
+'Wed Nov 20 1996 noon' '+0:5:0:0 business' => 1996112108:30:00
+
+'Wed Nov 20 1996 noon' '+3:7:0:0 business' => 1996112610:30:00
+
+'Mar 31 1997 16:59:59' '+ 1 sec business'  => 1997040108:30:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.delta_format.t b/t/orig.delta_format.t
new file mode 100755
index 0000000..422cc44
--- /dev/null
+++ b/t/orig.delta_format.t
@@ -0,0 +1,105 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: Delta_Format';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return Delta_Format(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$delta='1:2:3:4:5:6:7';
+$bus="business $delta";
+
+$tests="
+
+$delta '%yv %Mv %wv %dv %hv %mv %sv'
+   => '1 2 3 4 5 6 7'
+
+
+$delta exact 4 '%yd %Md %wd %dd %hd %md %sd'
+   => '1.1667 2.0000 3.5714 4.0000 5.1019 6.1167 7.0000'
+
+$delta semi 4 '%yd %Md %wd %dd %hd %md %sd'
+   => '1.1667 2.0000 3.6018 4.2126 5.1019 6.1167 7.0000'
+
+$delta approx 4 '%yd %Md %wd %dd %hd %md %sd'
+   => '1.2357 2.8284 3.6018 4.2126 5.1019 6.1167 7.0000'
+
+
+'$bus' exact 4 '%yd %Md %wd %dd %hd %md %sd'
+   => '1.1667 2.0000 3.0000 4.5669 5.1019 6.1167 7.0000'
+
+'$bus' semi 4 '%yd %Md %wd %dd %hd %md %sd'
+   => '1.1667 2.0000 3.9134 4.5669 5.1019 6.1167 7.0000'
+
+'$bus' approx 4 '%yd %Md %wd %dd %hd %md %sd' =>
+  '1.2417 2.9000 3.9134 4.5669 5.1019 6.1167 7.0000'
+
+
+$delta exact 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 3.0 25.0 5.0 306.0 18367.0'
+
+$delta semi 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 3.0 25.0 605.0 36306.0 2178367.0'
+
+$delta approx 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 63.9 451.1 10831.8 649913.4 38994811.0'
+
+
+'$bus' exact 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 3.0 4.0 41.0 2466.0 147967.0'
+
+'$bus' semi 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 3.0 19.0 176.0 10566.0 633967.0'
+
+'$bus' approx 1 '%yh %Mh %wh %dh %hh %mh %sh'
+   => '1.0 14.0 63.9 323.4 2915.3 174925.1 10495514.5'
+
+
+$delta exact 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.1667 14.0000 3.5714 25.0000 5.1019 306.1167 18367.0000'
+
+$delta semi 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.1667 14.0000 3.6018 25.2126 605.1019 36306.1167 2178367.0000'
+
+$delta approx 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.2357 14.8284 64.4755 451.3288 10831.8919 649913.5167 38994811.0000'
+
+
+'$bus' exact 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.1667 14.0000 3.0000 4.5669 41.1019 2466.1167 147967.0000'
+
+'$bus' semi 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.1667 14.0000 3.9134 19.5669 176.1019 10566.1167 633967.0000'
+
+'$bus' approx 4 '%yt %Mt %wt %dt %ht %mt %st'
+   => '1.2417 14.9000 64.7871 323.9356 2915.4207 174925.2417 10495514.5000'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.eventslist.t b/t/orig.eventslist.t
new file mode 100755
index 0000000..50220a5
--- /dev/null
+++ b/t/orig.eventslist.t
@@ -0,0 +1,118 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: Event_List';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  $ref = Events_List(@_);
+
+  if (ref($ref) eq "ARRAY") {
+     @ret = ();
+     @tmp = @$ref;
+     while (@tmp) {
+        $v = shift(@tmp);
+        if (ref($v) eq "ARRAY") {
+           unshift(@tmp,@$v);
+        } else {
+           push(@ret,$v);
+        }
+     }
+     return @ret;
+  }
+
+  if (ref($ref) eq "HASH") {
+     @ret = ();
+     foreach $key (sort keys %$ref) {
+        push(@ret,$key,$$ref{$key});
+     }
+     return @ret;
+  }
+
+  return ();
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/OldEvents.cnf");
+
+$tests ="
+
+2000-02-01 =>
+   2000020100:00:00
+   Event1
+   Winter
+
+2000-04-01 =>
+   2000040100:00:00
+   Spring
+
+2000-04-01 0 =>
+   2000040100:00:00
+   Spring
+   2000040112:00:00
+   Event3
+   Spring
+   2000040113:00:00
+   Spring
+
+'2000-04-01 12:30' =>
+   2000040112:30:00
+   Event3
+   Spring
+
+'2000-04-01 13:30' =>
+   2000040113:30:00
+   Spring
+
+2000-03-15 2000-04-10 =>
+   2000031500:00:00
+   Winter
+   2000032200:00:00
+   Spring
+   2000040112:00:00
+   Event3
+   Spring
+   2000040113:00:00
+   Spring
+
+2000-03-15 2000-04-10 1 =>
+   Event3
+   0:0:0:0:1:0:0
+   Spring
+   0:0:0:0:455:0:0
+   Winter
+   0:0:0:0:168:0:0
+
+2000-03-15 2000-04-10 2 =>
+   Event3+Spring
+   0:0:0:0:1:0:0
+   Spring
+   0:0:0:0:454:0:0
+   Winter
+   0:0:0:0:168:0:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.getnext.t b/t/orig.getnext.t
new file mode 100755
index 0000000..ea10f14
--- /dev/null
+++ b/t/orig.getnext.t
@@ -0,0 +1,111 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: GetNext';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return Date_GetNext(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests ="
+
+'Fri Nov 22 1996 17:49:30' sat 0 => 1996112317:49:30
+
+'Fri Nov 22 1996 17:49:30' sat 1 => 1996112317:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 => 1996112917:49:30
+
+'Fri Nov 22 1996 17:49:30' 5 0   => 1996112917:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 1 => 1996112217:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30 => 1996112918:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30:45 => 1996112918:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 => 1996112918:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 45 => 1996112918:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 1 14 30 45 => 1996112214:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 2 14 30 45 => 1996112914:30:45
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 18 => 1996112218:00:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18:30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18:30:45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 __undef__ 45 => 1996112218:00:45
+
+
+'Fri Nov 22 1996 17:00:00' __undef__ 0 17 => 1996112317:00:00
+
+'Fri Nov 22 1996 17:00:00' __undef__ 1 17 => 1996112217:00:00
+
+'Fri Nov 22 1996 17:49:00' __undef__ 0 17 49 => 1996112317:49:00
+
+'Fri Nov 22 1996 17:49:00' __undef__ 1 17 49 => 1996112217:49:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 17 49 33 => 1996112317:49:33
+
+'Fri Nov 22 1996 17:49:33' __undef__ 1 17 49 33 => 1996112217:49:33
+
+'Fri Nov 22 1996 17:00:33' __undef__ 0 17 __undef__ 33 => 1996112317:00:33
+
+'Fri Nov 22 1996 17:00:33' __undef__ 1 17 __undef__ 33 => 1996112217:00:33
+
+
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ __undef__ 30 => 1996112217:50:30
+
+
+'Fri Nov 22 1996 17:30:00' __undef__ 0 __undef__ 30 => 1996112218:30:00
+
+'Fri Nov 22 1996 17:30:00' __undef__ 1 __undef__ 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:30:45' __undef__ 0 __undef__ 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 1 __undef__ 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 0 __undef__ __undef__ 45 => 1996112217:31:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 1 __undef__ __undef__ 45 => 1996112217:30:45
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.getprev.t b/t/orig.getprev.t
new file mode 100755
index 0000000..5c26032
--- /dev/null
+++ b/t/orig.getprev.t
@@ -0,0 +1,112 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: GetPrev';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return Date_GetPrev(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests="
+
+'Fri Nov 22 1996 17:49:30' thu 0 => 1996112117:49:30
+
+'Fri Nov 22 1996 17:49:30' thu 1 => 1996112117:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 => 1996111517:49:30
+
+'Fri Nov 22 1996 17:49:30' 5 0 => 1996111517:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 1 => 1996112217:49:30
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30 => 1996111518:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18:30:45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 => 1996111518:30:00
+
+'Fri Nov 22 1996 17:49:30' fri 0 18 30 45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 1 18 30 45 => 1996112218:30:45
+
+'Fri Nov 22 1996 17:49:30' fri 2 18 30 45 => 1996111518:30:45
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 18 => 1996112118:00:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18:30 => 1996112118:30:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 30 => 1996112118:30:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18:30:45 => 1996112118:30:45
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 30 45 => 1996112118:30:45
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 18 __undef__ 45 => 1996112118:00:45
+
+
+'Fri Nov 22 1996 17:00:00' __undef__ 0 17 => 1996112117:00:00
+
+'Fri Nov 22 1996 17:00:00' __undef__ 1 17 => 1996112217:00:00
+
+'Fri Nov 22 1996 17:49:00' __undef__ 0 17 49 => 1996112117:49:00
+
+'Fri Nov 22 1996 17:49:00' __undef__ 1 17 49 => 1996112217:49:00
+
+'Fri Nov 22 1996 17:49:33' __undef__ 0 17 49 33 => 1996112117:49:33
+
+'Fri Nov 22 1996 17:49:33' __undef__ 1 17 49 33 => 1996112217:49:33
+
+'Fri Nov 22 1996 17:00:33' __undef__ 0 17 __undef__ 33 => 1996112117:00:33
+
+'Fri Nov 22 1996 17:00:33' __undef__ 1 17 __undef__ 33 => 1996112217:00:33
+
+
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:49:30' __undef__ 0 __undef__ __undef__ 30 => 1996112217:48:30
+
+
+
+'Fri Nov 22 1996 17:30:00' __undef__ 0 __undef__ 30 => 1996112216:30:00
+
+'Fri Nov 22 1996 17:30:00' __undef__ 1 __undef__ 30 => 1996112217:30:00
+
+'Fri Nov 22 1996 17:30:45' __undef__ 0 __undef__ 30 45 => 1996112216:30:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 1 __undef__ 30 45 => 1996112217:30:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 0 __undef__ __undef__ 45 => 1996112217:29:45
+
+'Fri Nov 22 1996 17:30:45' __undef__ 1 __undef__ __undef__ 45 => 1996112217:30:45
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.nthdayofyear.t b/t/orig.nthdayofyear.t
new file mode 100755
index 0000000..eadaaa3
--- /dev/null
+++ b/t/orig.nthdayofyear.t
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: Date_NthDayOfYear';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  my(@tmp)=Date_NthDayOfYear(@_);
+  push @tmp,sprintf("%.2f",pop(@tmp));
+  return join(":",@tmp);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests="
+
+1997 10                 => 1997:1:10:0:0:0.00
+
+1997 10.5               => 1997:1:10:12:0:0.00
+
+1997 10.510763888888889 => 1997:1:10:12:15:30.00
+
+1997 10.510770138888889 => 1997:1:10:12:15:30.54
+
+2000 31                 => 2000:1:31:0:0:0.00
+
+2000 31.5               => 2000:1:31:12:0:0.00
+
+2000 32                 => 2000:2:1:0:0:0.00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.parsedatedelta.t b/t/orig.parsedatedelta.t
new file mode 100755
index 0000000..10cf711
--- /dev/null
+++ b/t/orig.parsedatedelta.t
@@ -0,0 +1,109 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: ParseDateDelta';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return ParseDateDelta(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests="
+
+# Test weeks
+
+'+ 4 week 3 day' => 0:0:4:3:0:0:0
+
+'+ 4 wk 3 day 20:30' => __blank__
+
+'+ 15mn' => 0:0:0:0:0:15:0
+
+'+ 15 mn' => 0:0:0:0:0:15:0
+
+'15 mn' => 0:0:0:0:0:15:0
+
+'+15 mn' => 0:0:0:0:0:15:0
+
++15mn => 0:0:0:0:0:15:0
+
+'+ 35 y 10 month 15mn' => 35:10:0:0:0:15:0
+
+'+ 35 y 10m 15mn' => 35:10:0:0:0:15:0
+
+'+ 35year 10:0:0:0:15:0' => __blank__
+
+'+ 35 y -10 month 15mn' => 34:2:0:0:0:-15:0
+
++35:-10:0:0:0:15:0 => 34:2:0:0:0:-15:0
+
+'+ 35 y10 month12:40' => __blank__
+
+'+35 y 10 month 1:12:40' => __blank__
+
+'+35x 10 month' => __blank__
+
+'+ 35 y -10 month 1:12:40' => __blank__
+
+1:2:3:4:5:6:7 => 1:2:3:4:5:6:7
+
+'in 1:2:3:4:5:6:7' => __blank__
+
+'1:2:3:4:5:6:7 ago' => __blank__
+
+-1:2:3:4:5:6:7 => -1:2:3:4:5:6:7
+
+-1::3:4:5:6:7 => -1:0:3:4:5:6:7
+
+'1::3:4:5:6:7 ago' => __blank__
+
+# Test normalization of deltas
+
++1:+1:+1:+1 => 0:0:0:1:1:1:1
+
++1:+1:+1:-1 => 0:0:0:1:1:0:59
+
++1:+1:-1:+1 => 0:0:0:1:0:59:1
+
++1:-1:+1:+1 => 0:0:0:1:0:-58:59
+
++1:+1:-1:-1 => 0:0:0:1:0:58:59
+
++1:-1:+1:-1 => 0:0:0:1:0:-59:1
+
++1:-1:-1:+1 => 0:0:0:1:-1:0:59
+
+-0:1:+0:0:0:0:0 => 0:-1:0:0:0:0:0
+
+-0:0:1:+0:-0:0:0 => 0:0:-1:0:0:0:0
+
+0:0:0:0:9491:54:0  => 0:0:0:0:9491:54:0
+
+0:0:0:0:9491:54:0 semi => 0:0:56:3:11:54:0
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.parsedateformat.t b/t/orig.parsedateformat.t
new file mode 100755
index 0000000..625b817
--- /dev/null
+++ b/t/orig.parsedateformat.t
@@ -0,0 +1,54 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: GetNext';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return ParseDateFormat(@_);
+}
+
+Date_Init("ForceDate=2000-01-21-12:30:45,America/New_York");
+
+$tests =q{
+
+%Y\\.%m\\-%d
+2000.12-13
+   =>
+   2000121300:00:00
+
+'.*?\\[%d/%b/%Y:%T %z\\].*'
+'10.11.12.13 - - [17/Aug/2009:12:33:30 -0400] "GET /favicon.ico ..."'
+   =>
+   2009081712:33:30
+
+%r
+'12:01:02 AM'
+   =>
+   2000012100:01:02
+
+};
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.parsedatestring.t b/t/orig.parsedatestring.t
new file mode 100755
index 0000000..030e134
--- /dev/null
+++ b/t/orig.parsedatestring.t
@@ -0,0 +1,580 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: ParseDateString';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return ParseDateString(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
+
+$now           = "${currY}${currM}${currD}${currH}:${currMN}:${currS}";
+$today         = "${currY}${currM}${currD}00:00:00";
+$todaydate     = "${currY}${currM}${currD}";
+$yesterdaydate = "${currY}${currM}". ${currD}-1;
+$tomorrowdate  = "${currY}${currM}". ${currD}+1;
+$overmorrowdate= "${currY}${currM}". ${currD}+2;
+$yesterday     = "${yesterdaydate}00:00:00";
+$tomorrow      = "${tomorrowdate}00:00:00";
+$overmorrow    = "${overmorrowdate}00:00:00";
+
+$tests="
+
+now => $now
+
+today => $today
+
+yesterday => $yesterday
+
+tomorrow => $tomorrow
+
+overmorrow => $overmorrow
+
+'today at 4:00' => ${todaydate}04:00:00
+
+'today at 4:00 pm' => ${todaydate}16:00:00
+
+'today at 16:00:00:05' => ${todaydate}16:00:00
+
+'today at 12:00 am' => ${todaydate}00:00:00
+
+'today at 12:00 GMT' => ${todaydate}07:00:00
+
+'today at 4:00 PST' => ${todaydate}07:00:00
+
+'today at 4:00 -0800' => ${todaydate}07:00:00
+
+'today at noon' => ${todaydate}12:00:00
+
+'tomorrow at noon' => ${tomorrowdate}12:00:00
+
+'1 month ago' => 1997020812:30:00
+
+# Test weeks
+
+'22nd sunday' => 1997060100:00:00
+
+97W227 => 1997060100:00:00
+
+1997W22-7 => __blank__
+
+1997-W22-7 => 1997060100:00:00
+
+1997W23 => 1997060200:00:00
+
+1997023 => 1997012300:00:00
+
+1997035 => 1997020400:00:00
+
+97-035 => 1997020400:00:00
+
+97035 => 1997020400:00:00
+
+'twenty-second sunday 1996' => 1996060200:00:00
+
+'22 sunday in 1996' => __blank__
+
+'22nd sunday 12:00' => 1997060112:00:00
+
+'22nd sunday at 12:00' => 1997060112:00:00
+
+'22nd sunday at 12:00 EDT' => 1997060112:00:00
+
+'22nd sunday in 1996 at 12:00 EDT' => 1996060212:00:00
+
+'sunday week 1 1999' => 1999011000:00:00
+
+'thursday week 0 1999' => __blank__
+
+'1st thursday in 1999' => 1999010700:00:00
+
+'1st sunday in 1999' => 1999010300:00:00
+
+'1st saturday in 2005' => 2005010100:00:00
+
+'sunday wk 22' => 1997060100:00:00
+
+'sunday week twenty-second 1996' => __blank__
+
+'sunday w 22 in 1996' => 1996060200:00:00
+
+'sunday wks 22 12:00' => 1997060112:00:00
+
+'sunday week 22 at 12:00' => 1997060112:00:00
+
+'sunday week 22 at 12:00 EDT' => 1997060112:00:00
+
+'sunday week 22 in 1996 at 12:00 EDT' => 1996060212:00:00
+
+'sunday 22nd wk' => 1997060100:00:00
+
+'sunday twenty-second week 1996' => 1996060200:00:00
+
+'sunday 22nd w in 1996' => 1996060200:00:00
+
+'sunday 22nd wks 12:00' => 1997060112:00:00
+
+'sunday 22nd week at 12:00' => 1997060112:00:00
+
+'sunday 22nd week at 12:00 EDT' => 1997060112:00:00
+
+'sunday 22nd week in 1996 at 12:00 EDT' => 1996060212:00:00
+
+# Tests 'which day in mon' formats
+
+'last tue in Jun 96' => 1996062500:00:00
+
+'last tueSday of June' => 1997062400:00:00
+
+'first tue in Jun 1996' => 1996060400:00:00
+
+'1st tue in June' => 1997060300:00:00
+
+'3rd tuesday in Jun 96' => 1996061800:00:00
+
+'3rd tuesday in Jun 96 at 12:00:00.05' => 1996061812:00:00
+
+'3rd tuesday in Jun 96 at 10:30am' => 1996061810:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm' => 1996061822:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm GMT' => 1996061818:30:00
+
+'3rd tuesday in Jun 96 at 10:30 pm CET' => 1996061817:30:00
+
+# Tests YYMMDD time
+
+1996061800:00:00 => 1996061800:00:00
+
+1996061800:00 => 1996061800:00:00
+
+96-06-1800:00:00 => 1996061800:00:00
+
+96-06-1800:00 => 1996061800:00:00
+
+93-12-01 => 1993120100:00:00
+
+19931201 => 1993120100:00:00
+
+93-12-0105:30 => 1993120105:30:00
+
+1993120105:30 => 1993120105:30:00
+
+1992022905:30 => 1992022905:30:00
+
+1990022905:30 => __blank__
+
+1993120105:30:25 => 1993120105:30:25
+
+1992022905:30:61 => __blank__
+
+'1993120105:30:25.05 am' => __blank__
+
+'1993120105:30:25:05 pM' => __blank__
+
+'1993120105:30:25 pM GMT' => __blank__
+
+'19931201 at 05:30:25 pM GMT' => __blank__
+
+'19931201at05:30:25 pM GMT' => __blank__
+
+'1993120117:30:25 GMT' => 1993120112:30:25
+
+# Tests YYMMDDHHMNSS
+
+19960618000000 => 1996061800:00:00
+
+# Tests Date Time
+#       Date%Time
+# Date=mm%dd
+
+12/10/1965 => 1965121000:00:00
+
+12/10/65 => 1965121000:00:00
+
+12.10.65 => 1965121000:00:00
+
+'12 10 65' => 1965121000:00:00
+
+'12/10/65 5:30:25' => 1965121005:30:25
+
+'12/10/65/5:30 pm' => __blank__
+
+'12/10/65/5:30 pm GMT' => __blank__
+
+'12/10/65 at 5:30:25' => 1965121005:30:25
+
+'12-10-1965 5:30:25' => 1965121005:30:25
+
+'12-10-65 5:30:25' => 1965121005:30:25
+
+'12-10-65-5:30 pm' => __blank__
+
+'12-10-65 at 5:30:25' => 1965121005:30:25
+
+'12 10 65 5:30:25' => 1965121005:30:25
+
+'12 10 65 5:30 pm' => 1965121017:30:00
+
+'12 10 65 at 5:30:25' => 1965121005:30:25
+
+'12 10 1965 at 5:30:25' => 1965121005:30:25
+
+'12.10.1965 05:61' => __blank__
+
+'12.10.1965 05:30:61' => __blank__
+
+12/10 => ${currY}121000:00:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12/10 at 05:30:25' => ${currY}121005:30:25
+
+'12/10 at 05:30:25 GMT' => ${currY}121000:30:25
+
+'12/10 5:30' => ${currY}121005:30:00
+
+'12/10 05:30' => ${currY}121005:30:00
+
+'12-10 5:30' => ${currY}121005:30:00
+
+'12.10 05:30' => __blank__
+
+'12 10 05:30' => ${currY}121005:30:00
+
+'2 29 92' => 1992022900:00:00
+
+'2 29 90' => __blank__
+
+# Tests Date Time
+#       Date%Time
+# Date=mmm%dd
+
+Dec/10/1965 => 1965121000:00:00
+
+December/10/65 => 1965121000:00:00
+
+Dec-10-65 => 1965121000:00:00
+
+'Dec 10 65' => 1965121000:00:00
+
+'DecEMBER10 65' => 1965121000:00:00
+
+'December/10/65 5:30:25' => 1965121005:30:25
+
+'Dec/10/65/5:30 pm' => __blank__
+
+'Dec/10/65/5:30 pm GMT' => __blank__
+
+'Dec/10/65 at 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 5:30:25' => 1965121005:30:25
+
+'December-10-65 5:30:25' => 1965121005:30:25
+
+'Dec-10-65-5:30 pm' => __blank__
+
+'Dec-10-65 at 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30:25' => 1965121005:30:25
+
+'Dec 10 65 5:30 pm' => 1965121017:30:00
+
+'December 10 65 at 5:30:25' => 1965121005:30:25
+
+'Dec 10 1965 at 5:30:25' => 1965121005:30:25
+
+'Dec-10-1965 05:61' => __blank__
+
+'Dec-10-1965 05:30:61' => __blank__
+
+December/10 => ${currY}121000:00:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec/10 at 05:30:25' => ${currY}121005:30:25
+
+'Dec/10 at 05:30:25 GMT' => ${currY}121000:30:25
+
+'Dec/10 5:30' => ${currY}121005:30:00
+
+'Dec/10 05:30' => ${currY}121005:30:00
+
+'Dec-10 5:30' => ${currY}121005:30:00
+
+'Dec-10 05:30' => ${currY}121005:30:00
+
+'December10 05:30' => ${currY}121005:30:00
+
+'DeC first 1965' => 1965120100:00:00
+
+# Tests Date Time
+#       Date%Time
+# Date=dd%mmm
+
+10/Dec/1965 => 1965121000:00:00
+
+10/December/65 => 1965121000:00:00
+
+10-Dec-65 => 1965121000:00:00
+
+'10 Dec 65' => 1965121000:00:00
+
+'10/December/65 5:30:25' => 1965121005:30:25
+
+'10/Dec/65/5:30 pm' => __blank__
+
+'10/Dec/65/5:30 pm GMT' => __blank__
+
+'10/Dec/65 at 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 5:30:25' => 1965121005:30:25
+
+'10-December-65 5:30:25' => 1965121005:30:25
+
+'10-Dec-65-5:30 pm' => __blank__
+
+'10-Dec-65 at 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30:25' => 1965121005:30:25
+
+'10 Dec 65 5:30 pm' => 1965121017:30:00
+
+'10December 65 at 5:30:25' => 1965121005:30:25
+
+'10 Dec 1965 at 5:30:25' => 1965121005:30:25
+
+'10Dec 1965 at 5:30:25' => 1965121005:30:25
+
+'10 Dec1965 at 5:30:25' => 1965121005:30:25
+
+'10Dec1965 at 5:30:25' => 1965121005:30:25
+
+'10-Dec-1965 05:61' => __blank__
+
+'10-Dec-1965 05:30:61' => __blank__
+
+10/December => ${currY}121000:00:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10/Dec at 05:30:25' => ${currY}121005:30:25
+
+'10-Dec at 05:30:25 GMT' => ${currY}121000:30:25
+
+'10-Dec 5:30' => ${currY}121005:30:00
+
+'10/Dec 05:30' => ${currY}121005:30:00
+
+'10December 05:30' => ${currY}121005:30:00
+
+'1st DeC 65' => 1965120100:00:00
+
+# Tests time only formats
+
+5:30 => ${todaydate}05:30:00
+
+5:30:02 => ${todaydate}05:30:02
+
+15:30:00 => ${todaydate}15:30:00
+
+# Tests TimeDate
+#       Time%Date
+
+'5:30 pm 12/10/65' => 1965121017:30:00
+
+'5:30 pm GMT 12/10/65' => 1965121012:30:00
+
+5:30:25/12/10/65 => __blank__
+
+5:30:25.05/12/10/65 => __blank__
+
+5:30:25:05/12/10/65 => __blank__
+
+'5:30:25 12-10-1965' => 1965121005:30:25
+
+'5:30:25 12-10-65' => 1965121005:30:25
+
+'5:30 pm 12-10-65' => 1965121017:30:00
+
+5:30:25/12-10-65 => __blank__
+
+'5:30:25 12 10 65' => 1965121005:30:25
+
+'5:30 pm 12 10 65' => 1965121017:30:00
+
+'5:30 pm GMT 12 10 65' => 1965121012:30:00
+
+'5:30:25 12 10 1965' => 1965121005:30:25
+
+'05:61 12-10-1965' => __blank__
+
+'05:30:61 12-10-1965' => __blank__
+
+'05:30 12/10' => ${currY}121005:30:00
+
+05:30/12/10 => __blank__
+
+'05:30:25 12/10' => ${currY}121005:30:25
+
+05:30:25/12-10 => __blank__
+
+'05:30:25 GMT 12/10' => ${currY}121000:30:25
+
+'5:30 12/10' => ${currY}121005:30:00
+
+'05:30 12/10' => ${currY}121005:30:00
+
+'5:30 12-10' => ${currY}121005:30:00
+
+'05:30 12-10' => ${currY}121005:30:00
+
+'05:30 12 10' => ${currY}121005:30:00
+
+# Tests TimeDate
+#       Time%Date
+# Date=mmm%dd, dd%mmm
+
+'4:50 DeC 10' => ${currY}121004:50:00
+
+'4:50 DeCember 10' => ${currY}121004:50:00
+
+'4:50:40 DeC 10' => ${currY}121004:50:40
+
+'4:50:42 DeCember 10' => ${currY}121004:50:42
+
+'4:50 10 DeC' => ${currY}121004:50:00
+
+'4:50 10 DeCember' => ${currY}121004:50:00
+
+'4:50 10DeC' => ${currY}121004:50:00
+
+'4:50 10DeCember' => ${currY}121004:50:00
+
+'4:50:51 10 DeC' => ${currY}121004:50:51
+
+'4:50:52 10 DeCember' => ${currY}121004:50:52
+
+'4:50:53 10DeC' => ${currY}121004:50:53
+
+'4:50:54 10DeCember' => ${currY}121004:50:54
+
+4:50:54DeCember10 => __blank__
+
+4:50:54DeCember10/65 => __blank__
+
+4:50:54DeCember1965 => __blank__
+
+'Sept 1995' => 1995091900:00:00
+
+'1995 september' => __blank__
+
+'5:30 DeC 1' => ${currY}120105:30:00
+
+'05:30 DeC 10' => ${currY}121005:30:00
+
+'05:30:11 DeC 10' => ${currY}121005:30:11
+
+'5:30 DeCember 1' => ${currY}120105:30:00
+
+'05:30 DeCember 10' => ${currY}121005:30:00
+
+'05:30:12 DeCember 10' => ${currY}121005:30:12
+
+# Test ctime formats
+
+'DeCember 10 05:30:12 1996' => 1996121005:30:12
+
+'DeC10 05:30:12 96' => 1996121005:30:12
+
+# Test some tricky timezone conversions
+
+'Feb 28 1997 23:00-0900' => 1997030103:00:00
+
+'Feb 27 1997 23:00-0900' => 1997022803:00:00
+
+'Feb 01 1997 01:00-0100' => 1997013121:00:00
+
+'Feb 02 1997 01:00-0100' => 1997020121:00:00
+
+'Feb 02 1997 01:00+0100' => 1997020119:00:00
+
+'Feb 02 1997 01:00+01' => 1997020119:00:00
+
+'Feb 02 1997 01:00+01:00' => 1997020119:00:00
+
+19970202010000+0100 => 1997020119:00:00
+
+# More tests...
+
+'last day in October 1997' => 1997103100:00:00
+
+'epoch 400000' => 1970010510:06:40
+
+'19980102030405 EST' => 1998010203:04:05
+
+19980102030405E => 1998010203:04:05
+
+'Mon, 19 Jan 1998 08:11:34 +1030' => 1998011816:41:34
+
+'Tue, 26 May 1998 13:23:15 -0500 (EST)' => 1998052614:23:15
+
+'Tue, 26 May 1998 13:23:15 -0500 (EST Blah)' => __blank__
+
+Dec101965 => 1965121000:00:00
+
+10Dec1965 => 1965121000:00:00
+
+101965Dec => __blank__
+
+'10/dec/1965:12:00:00 EST' => __blank__
+
+'2000-02-16 24:00' => 2000021700:00:00
+
+'2000-02-16 15:24:00' => 2000021615:24:00
+
+2000-02-16T12:30:30 => 2000021612:30:30
+
+2000-02-16T12:30 => 2000021612:30:00
+
+99-02-16T12:30 => 1999021612:30:00
+
+'20021216090000 -0500' => 2002121609:00:00
+
+2004-03-29T11:41:00Z => 2004032906:41:00
+
+2005-159T15:52:59 => 2005060815:52:59
+
+20141301 => 1997102715:18:21
+
+20141301 nodelta => __blank__
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.parserecur.t b/t/orig.parserecur.t
new file mode 100755
index 0000000..cda4308
--- /dev/null
+++ b/t/orig.parserecur.t
@@ -0,0 +1,839 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: ParseRecur';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+   @d = ParseRecur(@_);
+   return @d;
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+Date_Init("ConfigFile=$testdir/Manip.cnf");
+
+$tests ="
+
+1*1:1:1:0:0:0*EASTER
+'Jan 1 1997'
+'Jan 1 1997'
+'Jan 1 2000'
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1997-1999:1:1:1:0:0:0*EASTER
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1999:1:1,2:6:0:0:0*CWD
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0*CWP
+   =>
+   1998123100:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0*CWN
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1-4:2:0:12:00:00*PD1,BD2,FW2
+   =>
+   1999010612:00:00
+   1999020312:00:00
+   1999030312:00:00
+   1999040712:00:00
+
+*1999:1-4:2:0:12:00:00*PD1,BD2
+   =>
+   1999010212:00:00
+   1999013012:00:00
+   1999022712:00:00
+   1999040312:00:00
+
+*1999:1-4:2:0:12:00:00*PD1
+   =>
+   1999010412:00:00
+   1999020112:00:00
+   1999030112:00:00
+   1999040512:00:00
+
+*1999:1-4:2:0:12:00:00*PT1
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+*1999:1-2:2:0:12:00:00*PD7
+   =>
+   1999011012:00:00
+   1999020712:00:00
+
+*1999:1-2:2:0:12:00:00
+   =>
+   1999011112:00:00
+   1999020812:00:00
+
+*1999:1-4:2:0:12:00:00
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0*1-4:2:0:12:00:00
+'Jan 1 1999'
+'Jan 1 1999'
+'Jan 1 2000'
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0:1*2:0:12:00:00
+'Jan 1 1999'
+'Jan 1 1999'
+'May 1 1999'
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+0:0:0:0:12:0:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011500:00:00
+   1998011512:00:00
+   1998011600:00:00
+   1998011612:00:00
+   1998011700:00:00
+   1998011712:00:00
+   1998011800:00:00
+   1998011812:00:00
+   1998011900:00:00
+   1998011912:00:00
+   1998012000:00:00
+
+0:0:0:1*12,14:0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011512:00:00
+   1998011512:30:00
+   1998011514:00:00
+   1998011514:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011614:00:00
+   1998011614:30:00
+   1998011712:00:00
+   1998011712:30:00
+   1998011714:00:00
+   1998011714:30:00
+   1998011812:00:00
+   1998011812:30:00
+   1998011814:00:00
+   1998011814:30:00
+   1998011912:00:00
+   1998011912:30:00
+   1998011914:00:00
+   1998011914:30:00
+
+0:0:0:1:6*0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011506:00:00
+   1998011506:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011718:00:00
+   1998011718:30:00
+   1998011900:00:00
+   1998011900:30:00
+
+2:0:0*045:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1982021400:00:00
+   1984021400:00:00
+   1986021400:00:00
+   1988021400:00:00
+
+2:0:0*045-047:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1980021500:00:00
+   1980021600:00:00
+   1982021400:00:00
+   1982021500:00:00
+   1982021600:00:00
+   1984021400:00:00
+   1984021500:00:00
+   1984021600:00:00
+   1986021400:00:00
+   1986021500:00:00
+   1986021600:00:00
+   1988021400:00:00
+   1988021500:00:00
+   1988021600:00:00
+
+2:1:0*0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980110100:00:00
+   1982120100:00:00
+   1985010100:00:00
+   1987020100:00:00
+   1989030100:00:00
+
+0:0:2*2:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998011300:00:00
+   1998012700:00:00
+   1998021000:00:00
+   1998022400:00:00
+
+0:0:2*2,4:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998010100:00:00
+   1998011300:00:00
+   1998011500:00:00
+   1998012700:00:00
+   1998012900:00:00
+   1998021000:00:00
+   1998021200:00:00
+   1998022400:00:00
+   1998022600:00:00
+
+0:1:0*2,31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010200:00:00
+   1998013100:00:00
+   1998020200:00:00
+   1998030200:00:00
+   1998033100:00:00
+   1998040200:00:00
+   1998050200:00:00
+   1998053100:00:00
+   1998060200:00:00
+
+0:1:0*-2,-31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010100:00:00
+   1998013000:00:00
+   1998022700:00:00
+   1998030100:00:00
+   1998033000:00:00
+   1998042900:00:00
+   1998050100:00:00
+   1998053000:00:00
+   1998062900:00:00
+   1998070100:00:00
+
+0:1*2,-1:0:0:0:0
+'Jan  1 1998'
+'Jan  1 1998'
+'Mar 31 1998'
+   =>
+   1998011200:00:00
+   1998012600:00:00
+   1998020900:00:00
+   1998022300:00:00
+   1998030900:00:00
+   1998033000:00:00
+
+0:1*2,-2:2:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998011300:00:00
+   1998012000:00:00
+   1998021000:00:00
+   1998021700:00:00
+   1998031000:00:00
+   1998032400:00:00
+   1998041400:00:00
+   1998042100:00:00
+   1998051200:00:00
+   1998051900:00:00
+   1998060900:00:00
+   1998062300:00:00
+
+2:0*10:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030200:00:00
+   1983030700:00:00
+   1985030400:00:00
+   1987030200:00:00
+   1989030600:00:00
+
+2:0*10:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981031000:00:00
+   1983030800:00:00
+   1985030500:00:00
+   1987031000:00:00
+   1989030700:00:00
+
+2*3:0:2,30:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030200:00:00
+   1981033000:00:00
+   1983030200:00:00
+   1983033000:00:00
+   1985030200:00:00
+   1985033000:00:00
+   1987030200:00:00
+   1987033000:00:00
+   1989030200:00:00
+   1989033000:00:00
+
+2*3:0:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030100:00:00
+   1983030100:00:00
+   1985030100:00:00
+   1987030100:00:00
+   1989030100:00:00
+
+3*2,5:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*5,2:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*2,5:2:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1982020900:00:00
+   1982051100:00:00
+   1985021200:00:00
+   1985051400:00:00
+   1988020900:00:00
+   1988051000:00:00
+
+1*2:2:0:0:0:0
+__undef__
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021100:00:00
+   1981020900:00:00
+   1982020800:00:00
+
+1*2:2:2:0:0:0
+__undef__
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021200:00:00
+   1981021000:00:00
+   1982020900:00:00
+
+*2000:2:1:1:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:1:0:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:-1:1:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:2:-1:0:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:0:0:0:0:0
+   =>
+   2000010100:00:00
+
+*2000:0:0:61:0:0:0
+   =>
+   2000030100:00:00
+
+*2000:0:0:-1:0:0:0
+   =>
+   2000123100:00:00
+
+*2000:2:0:2:0:0:0
+   =>
+   2000020200:00:00
+
+*2000:2:0:-2:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:2:2:0:0:0
+   =>
+   2000011100:00:00
+
+*2000:0:-2:2:0:0:0
+   =>
+   2000121900:00:00
+
+*2000:0:2:0:0:0:0
+   =>
+   2000011000:00:00
+
+*2000:0:-2:0:0:0:0
+   =>
+   2000121800:00:00
+
+*1990,1992:0:0:45:0:0:0
+   =>
+   1990021400:00:00
+   1992021400:00:00
+
+*1990,1992:0:0:0:0:0:0
+   =>
+   1990010100:00:00
+   1992010100:00:00
+
+*1990,1992:5:0:0:0:0:0
+   =>
+   1990050100:00:00
+   1992050100:00:00
+
+*1990,1992:5:0:12:0:0:0
+   =>
+   1990051200:00:00
+   1992051200:00:00
+
+*1998:0:12,14:0:0:0:0
+   =>
+   1998031600:00:00
+   1998033000:00:00
+
+*1998:0:12,14:2:0:0:0
+   =>
+   1998032400:00:00
+   1998040700:00:00
+
+*1998:2:2,-2:0:0:0:0
+   =>
+   1998020900:00:00
+   1998021600:00:00
+
+*1998:2:2,-2:2:0:0:0
+   =>
+   1998021000:00:00
+   1998021700:00:00
+
+*1998:2:2,-2:2:0:0:0
+1998021000:00:00
+1998021000:00:00
+1998021200:00:00
+   =>
+   1998021000:00:00
+
+1*2:0:-1:0:0:0
+__undef__
+2000-01-01
+2005-12-31
+   =>
+   2000022900:00:00
+   2001022800:00:00
+   2002022800:00:00
+   2003022800:00:00
+   2004022900:00:00
+   2005022800:00:00
+
+1:0*2:0:0:0:0
+__undef__
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:0:0:0:0
+__undef__
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:0*2:1:0:0:0
+__undef__
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:1:0:0:0
+__undef__
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:1*2:0:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:0:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1*2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1:1*0:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010300:00:00
+   2001020500:00:00
+   2002031100:00:00
+
+1:0:0*15:0:0:0
+__undef__
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011500:00:00
+   2001011500:00:00
+   2002011500:00:00
+
+1:0:0*-10:0:0:0
+__undef__
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000122200:00:00
+   2001122200:00:00
+   2002122200:00:00
+
+1:1:1*2:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010400:00:00
+   2001020600:00:00
+   2002031200:00:00
+
+1:1:0*10:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021000:00:00
+   2002031000:00:00
+
+*2000-2009:0:0:366:0:0:0
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+*2000:1-5:0:31:0:0:0
+   =>
+   2000013100:00:00
+   2000033100:00:00
+   2000053100:00:00
+
+*2000-2009:0:53:1:0:0:0
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+*2000-2009:0:-53:1:0:0:0
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1*1-4:0:31:0:0:0
+__undef__
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000013100:00:00
+   2000033100:00:00
+
+1*1-4:0:-31:0:0:0
+__undef__
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000010100:00:00
+   2000030100:00:00
+
+1:1:0*-10:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012200:00:00
+   2001021900:00:00
+   2002032200:00:00
+
+*2000:1-5:5:0:0:0:0
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+*2000:1-5:-5:0:0:0:0
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1*1-5:5:0:0:0:0
+__undef__
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+1*1-5:-5:0:0:0:0
+__undef__
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1:0*53:1:0:0:0
+__undef__
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+1:0*-53:1:0:0:0
+__undef__
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1:0:0*366:0:0:0
+__undef__
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+1:0:0*-366:0:0:0
+__undef__
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000010100:00:00
+   2004010100:00:00
+   2008010100:00:00
+
+0:1*1:1:12:0:0
+__undef__
+'Sep 1 2007'
+'Nov 20 2007'
+   =>
+   2007090312:00:00
+   2007100112:00:00
+   2007110512:00:00
+
+0:0:1*1:12:30:0
+__undef__
+'Sep 1 2007'
+'Sep 30 2007'
+   =>
+   2007090312:30:00
+   2007091012:30:00
+   2007091712:30:00
+   2007092412:30:00
+
+0:1:0*1:12:0:0
+__undef__
+'Sep 1 2007'
+'Dec 15 2007'
+   =>
+   2007090112:00:00
+   2007100112:00:00
+   2007110112:00:00
+   2007120112:00:00
+
+0:0:0:0:1*30:0
+__undef__
+'Jan 1 1990 12:12'
+'Jan 2 1990 01:32'
+   =>
+   1990010112:30:00
+   1990010113:30:00
+   1990010114:30:00
+   1990010115:30:00
+   1990010116:30:00
+   1990010117:30:00
+   1990010118:30:00
+   1990010119:30:00
+   1990010120:30:00
+   1990010121:30:00
+   1990010122:30:00
+   1990010123:30:00
+   1990010200:30:00
+   1990010201:30:00
+
+'4th day of each month in 1999'
+   =>
+   1999010400:00:00
+   1999020400:00:00
+   1999030400:00:00
+   1999040400:00:00
+   1999050400:00:00
+   1999060400:00:00
+   1999070400:00:00
+   1999080400:00:00
+   1999090400:00:00
+   1999100400:00:00
+   1999110400:00:00
+   1999120400:00:00
+
+'2nd tuesday of every month in 1999'
+   =>
+   1999011200:00:00
+   1999020900:00:00
+   1999030900:00:00
+   1999041300:00:00
+   1999051100:00:00
+   1999060800:00:00
+   1999071300:00:00
+   1999081000:00:00
+   1999091400:00:00
+   1999101200:00:00
+   1999110900:00:00
+   1999121400:00:00
+
+'every 2nd tuesday in June 1999'
+   =>
+   1999060800:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.settime.t b/t/orig.settime.t
new file mode 100755
index 0000000..98b4fd5
--- /dev/null
+++ b/t/orig.settime.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: SetTime';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return Date_SetTime(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests="
+
+'Jan 1, 1996 at 10:30' 12:40       => 1996010112:40:00
+
+1996010110:30:40       12:40:50    => 1996010112:40:50
+
+1996010110:30:40       12:40       => 1996010112:40:00
+
+1996010110:30:40       12 40       => 1996010112:40:00
+
+1996010110:30:40       12 40 50    => 1996010112:40:50
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/orig.unixdate.t b/t/orig.unixdate.t
new file mode 100755
index 0000000..8bc6326
--- /dev/null
+++ b/t/orig.unixdate.t
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'Orig :: UnixDate';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  return UnixDate(@_);
+}
+
+Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York");
+
+$tests="
+
+'Wed Jan 3, 1996  at 8:11:12'
+'%y %Y %m %f %b %h %B %U %W %j %d %e %v %a %A %w %E'
+=>
+   '96 1996 01  1 Jan Jan January 01 01 003 03  3 W Wed Wednesday 3 3rd'
+
+'Wed Jan 3, 1996  at 8:11:12'
+'%H %k %i %I %p %M %S %s %o %N %z %Z'
+=>
+   '08  8  8 08 AM 11 12 820674672 820656672 -05:00:00 -0500 EST'
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/pod.t b/t/pod.t
new file mode 100755
index 0000000..4be1306
--- /dev/null
+++ b/t/pod.t
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+
+#
+# Test that the syntax of our POD documentation is valid.
+#
+
+use strict;
+use Test::More;
+
+# Don't run tests for installs
+unless ( $ENV{RELEASE_TESTING} ) {
+   plan( skip_all => "Author tests not required for installation" );
+}
+
+eval "use Test::Pod 1.00";
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+
+eval "use File::Basename";
+plan skip_all => "File::Basename required for testing POD" if $@;
+
+# If there is a file pod.ign, it should be a list of filename
+# substrings to ignore (any file with any of these substrings
+# will be ignored).
+
+# Find the pod.ign file
+
+my($testdir);
+if (-f "$0") {
+   my $COM = $0;
+   $testdir   = dirname($COM);
+   $testdir   = '.'  if (! $testdir);
+} elsif (-d 't') {
+   $testdir   = 't';
+} else {
+   $testdir   = '.';
+}
+
+my @ign = ();
+if (-f "$testdir/pod.ign") {
+   open(IN,"$testdir/pod.ign");
+   @ign = ;
+   close(IN);
+   chomp(@ign);
+}
+
+my @dirs = ();
+if (-f "$testdir/pod.dirs") {
+   open(IN,"$testdir/pod.dirs");
+   @dirs = ;
+   close(IN);
+   chomp(@dirs);
+}
+
+chdir("..")  if ($testdir eq '.');
+
+if (@ign) {
+
+   my @file = all_pod_files(@dirs);
+
+   FILE:
+   foreach my $file (@file) {
+      foreach my $ign (@ign) {
+         next FILE  if ($file =~ /\Q$ign\E/);
+      }
+      pod_file_ok($file);
+   }
+   done_testing();
+
+} else {
+   all_pod_files_ok(@dirs);
+}
+
+
+
diff --git a/t/pod_coverage.ign b/t/pod_coverage.ign
new file mode 100644
index 0000000..a8e1595
--- /dev/null
+++ b/t/pod_coverage.ign
@@ -0,0 +1,2 @@
+Date::Manip::TZ::
+Date::Manip::Offset::
diff --git a/t/pod_coverage.t b/t/pod_coverage.t
new file mode 100755
index 0000000..d8e773d
--- /dev/null
+++ b/t/pod_coverage.t
@@ -0,0 +1,65 @@
+#!/usr/bin/perl
+
+#
+# Test that the POD documentation is complete.
+#
+
+use strict;
+use Test::More;
+
+# Don't run tests for installs
+unless ( $ENV{RELEASE_TESTING} ) {
+   plan( skip_all => "Author tests not required for installation" );
+}
+
+eval "use Test::Pod::Coverage 1.00";
+plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage"
+  if $@;
+
+eval "use File::Basename";
+plan skip_all => "File::Basename required for testing POD coverage"
+  if $@;
+
+# If there is a file pod_coverage.ign, it should be a list of module
+# name substrings to ignore (any module with any of these substrings
+# will be ignored).
+
+# Find the pod_coverage.ign file
+
+my($testdir);
+if (-f "$0") {
+   my $COM = $0;
+   $testdir   = dirname($COM);
+   $testdir   = '.'  if (! $testdir);
+} elsif (-d 't') {
+   $testdir   = 't';
+} else {
+   $testdir   = '.';
+}
+
+my @ign = ();
+if (-f "$testdir/pod_coverage.ign") {
+   open(IN,"$testdir/pod_coverage.ign");
+   @ign = ;
+   close(IN);
+   chomp(@ign);
+}
+
+chdir("..")  if ($testdir eq '.');
+
+if (@ign) {
+
+   my @mod = all_modules();
+
+   MOD:
+   foreach my $mod (@mod) {
+      foreach my $ign (@ign) {
+         next MOD  if ($mod =~ /\Q$ign\E/);
+      }
+      pod_coverage_ok($mod);
+   }
+   done_testing();
+
+} else {
+   all_pod_coverage_ok();
+}
diff --git a/t/recur.dates.0.t b/t/recur.dates.0.t
new file mode 100755
index 0000000..17440be
--- /dev/null
+++ b/t/recur.dates.0.t
@@ -0,0 +1,1382 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: std';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     @dates = $obj->dates();
+     @ret   = ();
+     foreach my $d (@dates) {
+        $v = $d->value();
+        push(@ret,$v);
+     }
+     return @ret;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+### All Y/M/W/D combos
+
+# Y:M:W:D*
+
+1:2:3:4*12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001033012:30:00
+   2002062412:30:00
+
+1:2:3:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001032612:30:00
+   2002061612:30:00
+
+0:2:3:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2000062100:00:00
+   =>
+   2000010512:30:00
+   2000032612:30:00
+   2000061612:30:00
+
+1:0:3:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001012612:30:00
+   2002021612:30:00
+
+1:2:0:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001030512:30:00
+   2002050512:30:00
+
+1:0:0:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001010512:30:00
+   2002010512:30:00
+
+0:2:0:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2000060100:00:00
+   =>
+   2000010512:30:00
+   2000030512:30:00
+   2000050512:30:00
+
+0:0:3:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2000030100:00:00
+   =>
+   2000010512:30:00
+   2000012612:30:00
+   2000021612:30:00
+
+0:0:0:0*12:30:00
+2000010500:00:00
+2000010100:00:00
+2000010320:00:00
+   =>
+   2000010112:30:00
+   2000010212:30:00
+   2000010312:30:00
+
+# Y:M:W*D
+
+1:2:3*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010612:30:00
+   2001032212:30:00
+   2002061312:30:00
+
+0:2:3*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000070100:00:00
+   =>
+   2000010612:30:00
+   2000032312:30:00
+   2000061512:30:00
+
+1:0:3*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010612:30:00
+   2001012512:30:00
+   2002021412:30:00
+
+1:2:0*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001030412:30:00
+   2002050412:30:00
+
+1:0:0*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001010412:30:00
+   2002010412:30:00
+
+0:2:0*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000070100:00:00
+   =>
+   2000010412:30:00
+   2000030412:30:00
+   2000050412:30:00
+
+0:0:3*4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000030100:00:00
+   =>
+   2000010612:30:00
+   2000012712:30:00
+   2000021712:30:00
+
+0:0:0*4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000012100:00:00
+   =>
+   2000010612:30:00
+   2000011312:30:00
+   2000012012:30:00
+
+# Y:M*W:D
+
+1:2*3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000012012:30:00
+   2001031512:30:00
+   2002051612:30:00
+
+0:2*3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000060100:00:00
+   =>
+   2000012012:30:00
+   2000031612:30:00
+   2000051812:30:00
+
+1:0*3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000012012:30:00
+   2001011812:30:00
+   2002011712:30:00
+
+1:2*0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001030412:30:00
+   2002050412:30:00
+
+1:0*0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001010412:30:00
+   2002010412:30:00
+
+0:2*0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000070100:00:00
+   =>
+   2000010412:30:00
+   2000030412:30:00
+   2000050412:30:00
+
+0:0*3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000040100:00:00
+   =>
+   2000012012:30:00
+   2000021712:30:00
+   2000031612:30:00
+
+0:0*0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000040100:00:00
+   =>
+   2000010412:30:00
+   2000020412:30:00
+   2000030412:30:00
+
+# Y*M:W:D
+
+1*2:3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000021712:30:00
+   2001021512:30:00
+   2002022112:30:00
+
+0*2:3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000021712:30:00
+   2001021512:30:00
+   2002022112:30:00
+
+1*0:3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000012012:30:00
+   2001011812:30:00
+   2002011712:30:00
+
+1*2:0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000020412:30:00
+   2001020412:30:00
+   2002020412:30:00
+
+1*0:0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001010412:30:00
+   2002010412:30:00
+
+0*2:0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000020412:30:00
+   2001020412:30:00
+   2002020412:30:00
+
+0*0:3:4:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000012012:30:00
+   2001011812:30:00
+   2002011712:30:00
+
+0*0:0:4:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010412:30:00
+   2001010412:30:00
+   2002010412:30:00
+
+# *Y:M:W:D
+
+*1:2:3:4:12:30:00
+   =>
+   0001021512:30:00
+
+*0:2:3:4:12:30:00
+   =>
+   2000021712:30:00
+
+*1:0:3:4:12:30:00
+   =>
+   0001011812:30:00
+
+*1:2:0:4:12:30:00
+   =>
+   0001020412:30:00
+
+*1:0:0:4:12:30:00
+   =>
+   0001010412:30:00
+
+*0:2:0:4:12:30:00
+   =>
+   2000020412:30:00
+
+*0:0:3:4:12:30:00
+   =>
+   2000012012:30:00
+
+*0:0:0:4:12:30:00
+   =>
+   2000010412:30:00
+
+# Y:M:W*0
+
+1:2:3*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010312:30:00
+   2001031912:30:00
+   2002061012:30:00
+
+0:2:3*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000070100:00:00
+   =>
+   2000010312:30:00
+   2000032012:30:00
+   2000061212:30:00
+
+1:0:3*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010312:30:00
+   2001012212:30:00
+   2002021112:30:00
+
+1:2:0*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001030112:30:00
+   2002050112:30:00
+
+1:0:0*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001010112:30:00
+   2002010112:30:00
+
+0:2:0*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000060100:00:00
+   =>
+   2000010112:30:00
+   2000030112:30:00
+   2000050112:30:00
+
+0:0:3*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000030100:00:00
+   =>
+   2000010312:30:00
+   2000012412:30:00
+   2000021412:30:00
+
+0:0:0*0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000011900:00:00
+   =>
+   2000010312:30:00
+   2000011012:30:00
+   2000011712:30:00
+
+# Y:M*W:0
+
+1:2*3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000011712:30:00
+   2001031912:30:00
+   2002052012:30:00
+
+0:2*3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000070100:00:00
+   =>
+   2000011712:30:00
+   2000032012:30:00
+   2000051512:30:00
+
+1:0*3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000011712:30:00
+   2001011512:30:00
+   2002011412:30:00
+
+1:2*0:0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001030112:30:00
+   2002050112:30:00
+
+1:0*0:0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001010112:30:00
+   2002010112:30:00
+
+0:2*0:0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2000060100:00:00
+   =>
+   2000010112:30:00
+   2000030112:30:00
+   2000050112:30:00
+
+0:0*3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000040100:00:00
+   =>
+   2000011712:30:00
+   2000022112:30:00
+   2000032012:30:00
+
+0:0*0:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2000040100:00:00
+   =>
+   2000010112:30:00
+   2000020112:30:00
+   2000030112:30:00
+
+# Y*M:W:0
+
+1*2:3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000022112:30:00
+   2001021912:30:00
+   2002021812:30:00
+
+0*2:3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000022112:30:00
+   2001021912:30:00
+   2002021812:30:00
+
+1*0:3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000011712:30:00
+   2001011512:30:00
+   2002011412:30:00
+
+1*2:0:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000020112:30:00
+   2001020112:30:00
+   2002020112:30:00
+
+1*0:0:0:12:30:00
+2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001010112:30:00
+   2002010112:30:00
+
+0*2:0:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000020112:30:00
+   2001020112:30:00
+   2002020112:30:00
+
+0*0:3:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000011712:30:00
+   2001011512:30:00
+   2002011412:30:00
+
+0*0:0:0:12:30:00
+2000010600:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010112:30:00
+   2001010112:30:00
+   2002010112:30:00
+
+# *Y:M:W:0
+
+*1:2:3:0:12:30:00
+   =>
+   0001021912:30:00
+
+*0:2:3:0:12:30:00
+   =>
+   2000022112:30:00
+
+*1:0:3:0:12:30:00
+   =>
+   0001011512:30:00
+
+*0:0:3:0:12:30:00
+   =>
+   2000011712:30:00
+
+*1:2:0:0:12:30:00
+   =>
+   0001020112:30:00
+
+*0:2:0:0:12:30:00
+   =>
+   2000020112:30:00
+
+*9:0:0:0:12:30:00
+   =>
+   0009010112:30:00
+
+*0:0:0:0:12:30:00
+   =>
+   2000010112:30:00
+
+### English tests
+
+'every Tuesday in June 1997'
+   =>
+   1997060300:00:00
+   1997061000:00:00
+   1997061700:00:00
+   1997062400:00:00
+
+'every Tuesday in June'
+__undef__
+2000010100:00:00
+2000123100:00:00
+   =>
+   2000060600:00:00
+   2000061300:00:00
+   2000062000:00:00
+   2000062700:00:00
+
+'2nd Tuesday in June 1997'
+   =>
+   1997061000:00:00
+
+'2nd Tuesday in June'
+__undef__
+2000010100:00:00
+2000123100:00:00
+   =>
+   2000061300:00:00
+
+'last Tuesday in June 1997'
+   =>
+   1997062400:00:00
+
+'last Tuesday in June'
+__undef__
+2000010100:00:00
+2000123100:00:00
+   =>
+   2000062700:00:00
+
+'every Tuesday of every month in 1997'
+__undef__
+1997060100:00:00
+1997063023:00:00
+   =>
+   1997060300:00:00
+   1997061000:00:00
+   1997061700:00:00
+   1997062400:00:00
+
+'every Tuesday of every month'
+__undef__
+2000060100:00:00
+2000063023:00:00
+   =>
+   2000060600:00:00
+   2000061300:00:00
+   2000062000:00:00
+   2000062700:00:00
+
+'2nd Tuesday of every month in 1997'
+__undef__
+1997040100:00:00
+1997063023:00:00
+   =>
+   1997040800:00:00
+   1997051300:00:00
+   1997061000:00:00
+
+'2nd Tuesday of every month'
+__undef__
+2000040100:00:00
+2000063023:00:00
+   =>
+   2000041100:00:00
+   2000050900:00:00
+   2000061300:00:00
+
+'last Tuesday of every month in 1997'
+__undef__
+1997040100:00:00
+1997063000:00:00
+   =>
+   1997042900:00:00
+   1997052700:00:00
+   1997062400:00:00
+
+'last Tuesday of every month'
+__undef__
+2000040100:00:00
+2000063000:00:00
+   =>
+   2000042500:00:00
+   2000053000:00:00
+   2000062700:00:00
+
+'every day of every month in 1997'
+__undef__
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997042900:00:00
+   1997043000:00:00
+   1997050100:00:00
+   1997050200:00:00
+
+'every day of every month'
+__undef__
+2000042900:00:00
+2000050200:00:00
+   =>
+   2000042900:00:00
+   2000043000:00:00
+   2000050100:00:00
+   2000050200:00:00
+
+'2nd day of every month in 1997'
+__undef__
+1997040100:00:00
+1997070100:00:00
+   =>
+   1997040200:00:00
+   1997050200:00:00
+   1997060200:00:00
+
+'2nd day of every month'
+__undef__
+2000040100:00:00
+2000070100:00:00
+   =>
+   2000040200:00:00
+   2000050200:00:00
+   2000060200:00:00
+
+'last day of every month in 1997'
+__undef__
+1997040100:00:00
+1997070100:00:00
+   =>
+   1997043000:00:00
+   1997053100:00:00
+   1997063000:00:00
+
+'last day of every month'
+__undef__
+2000040100:00:00
+2000070100:00:00
+   =>
+   2000043000:00:00
+   2000053100:00:00
+   2000063000:00:00
+
+'every day in 1997'
+__undef__
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997042900:00:00
+   1997043000:00:00
+   1997050100:00:00
+   1997050200:00:00
+
+'every day'
+__undef__
+2000042900:00:00
+2000050200:00:00
+   =>
+   2000042900:00:00
+   2000043000:00:00
+   2000050100:00:00
+   2000050200:00:00
+
+'every 2nd day in 1997'
+1997043000:00:00
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997043000:00:00
+   1997050200:00:00
+
+'every 2nd day'
+2000043000:00:00
+2000042900:00:00
+2000050200:00:00
+   =>
+   2000043000:00:00
+   2000050200:00:00
+
+'every 2 days in 1997'
+1997043000:00:00
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997043000:00:00
+   1997050200:00:00
+
+'every 2 days'
+2000043000:00:00
+2000042900:00:00
+2000050200:00:00
+   =>
+   2000043000:00:00
+   2000050200:00:00
+
+### Base date outside range
+
+'every 2 days'
+1997053000:00:00
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997043000:00:00
+   1997050200:00:00
+
+'every 2 days'
+1997040200:00:00
+1997042900:00:00
+1997050200:00:00
+   =>
+   1997043000:00:00
+   1997050200:00:00
+
+### Ranges and negative values
+
+0:0:0:2*12-13:0,30:0
+1997053000:00:00
+1997042900:00:00
+1997050300:00:00
+   =>
+   1997043012:00:00
+   1997043012:30:00
+   1997043013:00:00
+   1997043013:30:00
+   1997050212:00:00
+   1997050212:30:00
+   1997050213:00:00
+   1997050213:30:00
+
+0:1*2--2:2:12:0:0
+__undef__
+2000010100:00:00
+2000022923:59:59
+   =>
+   2000011112:00:00
+   2000011812:00:00
+   2000020812:00:00
+   2000021512:00:00
+   2000022212:00:00
+
+1:2*-1:4:12:0:0
+2000010100:00:00
+2000010100:00:00
+2002123100:00:00
+   =>
+   2000012712:00:00
+   2001032912:00:00
+   2002053012:00:00
+
+1*2:-1:4:12:0:0
+2000010100:00:00
+2000010100:00:00
+2002123100:00:00
+   =>
+   2000022412:00:00
+   2001022212:00:00
+   2002022812:00:00
+
+1:0*-3:4:12:00:00
+2000010100:00:00
+2000010100:00:00
+2002123100:00:00
+   =>
+   2000121412:00:00
+   2001121312:00:00
+   2002121212:00:00
+
+1*1:0:-2:12:0:0
+2000010100:00:00
+2000010100:00:00
+2002123100:00:00
+   =>
+   2000013012:00:00
+   2001013012:00:00
+   2002013012:00:00
+
+1*0:0:-2:12:0:0
+2000010100:00:00
+2000010100:00:00
+2002123100:00:00
+   =>
+   2000123012:00:00
+   2001123012:00:00
+   2002123012:00:00
+
+### Modifiers
+
+1*1:0:1:12:0:0
+easter
+__undef__
+2000010100:00:00
+2002123123:59:59
+   =>
+   2000042312:00:00
+   2001041512:00:00
+   2002033112:00:00
+
+0:1*0:15:12:0:0
+pd3
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011212:00:00
+   2000020912:00:00
+   2000030812:00:00
+
+0:1*0:15:12:0:0
+pt3
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011212:00:00
+   2000020912:00:00
+   2000031512:00:00
+
+0:1*0:15:12:0:0
+nd3
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011912:00:00
+   2000021612:00:00
+   2000032212:00:00
+
+0:1*0:15:12:0:0
+nt3
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011912:00:00
+   2000021612:00:00
+   2000031512:00:00
+
+0:1*0:15:12:0:0
+fd2
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011712:00:00
+   2000021712:00:00
+   2000031712:00:00
+
+0:1*0:15:12:0:0
+bd2
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011312:00:00
+   2000021312:00:00
+   2000031312:00:00
+
+0:1*0:15:12:0:0
+fw4
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000012412:00:00
+   2000022212:00:00
+   2000032112:00:00
+
+0:1*0:15:12:0:0
+bw4
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011112:00:00
+   2000020912:00:00
+   2000030912:00:00
+
+0:1*0:15:12:0:0
+nwd
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011812:00:00
+   2000021512:00:00
+   2000031512:00:00
+
+0:1*0:15:12:0:0
+pwd
+__undef__
+2000010100:00:00
+2000033123:59:59
+   =>
+   2000011412:00:00
+   2000021512:00:00
+   2000031512:00:00
+
+*2002:7:0:10:12:00:00
+cwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071112:00:00
+
+*2002:7:0:10:12:00:00
+cwn
+__undef__
+__undef__
+__undef__
+   =>
+   2002071112:00:00
+
+*2002:7:0:10:12:00:00
+cwp
+__undef__
+__undef__
+__undef__
+   =>
+   2002070912:00:00
+
+*2002:7:0:20:12:00:00
+cwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:20:12:00:00
+cwn
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:20:12:00:00
+cwp
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:21:12:00:00
+cwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:21:12:00:00
+cwn
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:21:12:00:00
+cwp
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:5:12:00:00
+cwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002070312:00:00
+
+*2002:7:0:5:12:00:00
+cwn
+__undef__
+__undef__
+__undef__
+   =>
+   2002070312:00:00
+
+*2002:7:0:5:12:00:00
+cwp
+__undef__
+__undef__
+__undef__
+   =>
+   2002070312:00:00
+
+*2003:7:0:5:12:00:00
+cwd
+__undef__
+__undef__
+__undef__
+   =>
+   2003070712:00:00
+
+*2003:7:0:5:12:00:00
+cwn
+__undef__
+__undef__
+__undef__
+   =>
+   2003070712:00:00
+
+*2003:7:0:5:12:00:00
+cwp
+__undef__
+__undef__
+__undef__
+   =>
+   2003070312:00:00
+
+*2002:7:0:10:12:00:00
+nwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071012:00:00
+
+*2002:7:0:10:12:00:00
+pwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071012:00:00
+
+*2002:7:0:10:12:00:00
+dwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071012:00:00
+
+*2002:7:0:20:12:00:00
+nwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:20:12:00:00
+pwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:20:12:00:00
+dwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:21:12:00:00
+nwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:21:12:00:00
+pwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002071912:00:00
+
+*2002:7:0:21:12:00:00
+dwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002072212:00:00
+
+*2002:7:0:5:12:00:00
+nwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002070512:00:00
+
+*2002:7:0:5:12:00:00
+pwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002070512:00:00
+
+*2002:7:0:5:12:00:00
+dwd
+__undef__
+__undef__
+__undef__
+   =>
+   2002070512:00:00
+
+*2003:7:0:5:12:00:00
+nwd
+__undef__
+__undef__
+__undef__
+   =>
+   2003070712:00:00
+
+*2003:7:0:5:12:00:00
+pwd
+__undef__
+__undef__
+__undef__
+   =>
+   2003070312:00:00
+
+*2003:7:0:5:12:00:00
+dwd
+__undef__
+__undef__
+__undef__
+   =>
+   2003070712:00:00
+
+### Test dates that modifers/rtimes push outside the range
+### and dates that started outside the range, but modifiers
+### and rtimes pushed inside
+
+0:0:0:3*0:0:0
+bd2
+1999020200:00:00
+1999020100:00:00
+1999020800:00:00
+   =>
+   1999020300:00:00
+   1999020600:00:00
+
+0:0:1:0:0:0:0
+__undef__
+2011-03-01
+2011-03-10
+   =>
+   2011030100:00:00
+   2011030800:00:00
+
+### Test slow dates with base dates outside the range.
+
+0:2*4--1:2:0:0:0
+2011020100:00:00
+2011070100:00:00
+2011110100:00:00
+   =>
+   2011082300:00:00
+   2011083000:00:00
+   2011102500:00:00
+
+0:2*4--1:2:0:0:0
+2011120100:00:00
+2011070100:00:00
+2011110100:00:00
+   =>
+   2011082300:00:00
+   2011083000:00:00
+   2011102500:00:00
+
+0:2*5--1:2:0:0:0
+2011010100:00:00
+2011020100:00:00
+2011110100:00:00
+   =>
+   2011032900:00:00
+   2011053100:00:00
+
+### Test wd/ibd/nbd flags
+
+0:0:0:9:0:0:0
+wd2
+2010010500:00:00
+2010010100:00:00
+2010022500:00:00
+   =>
+   2010010500:00:00
+   2010011200:00:00
+   2010011900:00:00
+   2010020200:00:00
+   2010020900:00:00
+   2010021600:00:00
+   2010022300:00:00
+
+0:0:0:9:0:0:0
+ibd
+2010010500:00:00
+2010010100:00:00
+2010022500:00:00
+   =>
+   2010010500:00:00
+   2010011400:00:00
+   2010020100:00:00
+   2010021000:00:00
+   2010021900:00:00
+
+0:0:0:9:0:0:0
+nbd
+2010010500:00:00
+2010010100:00:00
+2010022500:00:00
+   =>
+   2010012300:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.dates.1.t b/t/recur.dates.1.t
new file mode 100755
index 0000000..14f817f
--- /dev/null
+++ b/t/recur.dates.1.t
@@ -0,0 +1,854 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: modifiers';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->parse(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     @dates = $obj->dates();
+     @ret   = ();
+     foreach my $d (@dates) {
+        $v = $d->value();
+        push(@ret,$v);
+     }
+     return @ret;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+$obj->config("ConfigFile","$testdir/Manip.cnf");
+
+$tests="
+
+1*1:1:1:0:0:0
+EASTER
+'Jan 1 1997'
+'Jan 1 1997'
+'Jan 1 2000'
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1997-1999:1:1:1:0:0:0
+EASTER
+__undef__
+__undef__
+__undef__
+   =>
+   1997033000:00:00
+   1998041200:00:00
+   1999040400:00:00
+
+*1999:1:1,2:6:0:0:0
+CWD
+__undef__
+__undef__
+__undef__
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0
+CWP
+__undef__
+__undef__
+__undef__
+   =>
+   1998123100:00:00
+   1999010800:00:00
+
+*1999:1:1,2:6:0:0:0
+CWN
+__undef__
+__undef__
+__undef__
+   =>
+   1999010400:00:00
+   1999010800:00:00
+
+*1999:1-4:2:0:12:00:00
+PD1,BD2,FW2
+__undef__
+__undef__
+__undef__
+   =>
+   1999010612:00:00
+   1999020312:00:00
+   1999030312:00:00
+   1999040712:00:00
+
+*1999:1-4:2:0:12:00:00
+PD1,BD2
+__undef__
+__undef__
+__undef__
+   =>
+   1999010212:00:00
+   1999013012:00:00
+   1999022712:00:00
+   1999040312:00:00
+
+*1999:1-4:2:0:12:00:00
+PD1
+__undef__
+__undef__
+__undef__
+   =>
+   1999010412:00:00
+   1999020112:00:00
+   1999030112:00:00
+   1999040512:00:00
+
+*1999:1-4:2:0:12:00:00
+PT1
+__undef__
+__undef__
+__undef__
+   =>
+   1999011112:00:00
+   1999020812:00:00
+   1999030812:00:00
+   1999041212:00:00
+
+*1999:1-2:2:0:12:00:00
+PD7
+__undef__
+__undef__
+__undef__
+   =>
+   1999011012:00:00
+   1999020712:00:00
+
+*1999:1-2:2:0:12:00:00
+   =>
+   1999011112:00:00
+   1999020812:00:00
+
+0:0:0:0:12:0:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011500:00:00
+   1998011512:00:00
+   1998011600:00:00
+   1998011612:00:00
+   1998011700:00:00
+   1998011712:00:00
+   1998011800:00:00
+   1998011812:00:00
+   1998011900:00:00
+   1998011912:00:00
+   1998012000:00:00
+
+0:0:0:1*12,14:0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011512:00:00
+   1998011512:30:00
+   1998011514:00:00
+   1998011514:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011614:00:00
+   1998011614:30:00
+   1998011712:00:00
+   1998011712:30:00
+   1998011714:00:00
+   1998011714:30:00
+   1998011812:00:00
+   1998011812:30:00
+   1998011814:00:00
+   1998011814:30:00
+   1998011912:00:00
+   1998011912:30:00
+   1998011914:00:00
+   1998011914:30:00
+
+0:0:0:1:6*0,30:0
+'Jan 16 1998 at 12:00'
+'Jan 15 1998 at 00:00'
+'Jan 20 1998 at 00:00'
+   =>
+   1998011506:00:00
+   1998011506:30:00
+   1998011612:00:00
+   1998011612:30:00
+   1998011718:00:00
+   1998011718:30:00
+   1998011900:00:00
+   1998011900:30:00
+
+2:0:0*045:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1982021400:00:00
+   1984021400:00:00
+   1986021400:00:00
+   1988021400:00:00
+
+2:0:0*045-047:0:0:0
+'Jan 1 1998'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980021400:00:00
+   1980021500:00:00
+   1980021600:00:00
+   1982021400:00:00
+   1982021500:00:00
+   1982021600:00:00
+   1984021400:00:00
+   1984021500:00:00
+   1984021600:00:00
+   1986021400:00:00
+   1986021500:00:00
+   1986021600:00:00
+   1988021400:00:00
+   1988021500:00:00
+   1988021600:00:00
+
+2:1:0*0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1980110100:00:00
+   1982120100:00:00
+   1985010100:00:00
+   1987020100:00:00
+   1989030100:00:00
+
+0:0:2*2:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998011300:00:00
+   1998012700:00:00
+   1998021000:00:00
+   1998022400:00:00
+
+0:0:2*2,4:0:0:0
+'Jan 16 1998'
+'Jan  1 1998'
+'Feb 28 1998'
+   =>
+   1998010100:00:00
+   1998011300:00:00
+   1998011500:00:00
+   1998012700:00:00
+   1998012900:00:00
+   1998021000:00:00
+   1998021200:00:00
+   1998022400:00:00
+   1998022600:00:00
+
+0:1:0*2,31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010200:00:00
+   1998013100:00:00
+   1998020200:00:00
+   1998030200:00:00
+   1998033100:00:00
+   1998040200:00:00
+   1998050200:00:00
+   1998053100:00:00
+   1998060200:00:00
+
+0:1:0*-2,-31:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998010100:00:00
+   1998013000:00:00
+   1998022700:00:00
+   1998030100:00:00
+   1998033000:00:00
+   1998042900:00:00
+   1998050100:00:00
+   1998053000:00:00
+   1998062900:00:00
+   1998070100:00:00
+
+0:1*2,-1:0:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Mar 31 1998'
+   =>
+   1998011200:00:00
+   1998012600:00:00
+   1998020900:00:00
+   1998022300:00:00
+   1998030900:00:00
+   1998033000:00:00
+
+0:1*2,-2:2:0:0:0
+'Jan 1 1998'
+'Jan 1 1998'
+'Jul 1 1998'
+   =>
+   1998011300:00:00
+   1998012000:00:00
+   1998021000:00:00
+   1998021700:00:00
+   1998031000:00:00
+   1998032400:00:00
+   1998041400:00:00
+   1998042100:00:00
+   1998051200:00:00
+   1998051900:00:00
+   1998060900:00:00
+   1998062300:00:00
+
+2:0*10:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030200:00:00
+   1983030700:00:00
+   1985030400:00:00
+   1987030200:00:00
+   1989030600:00:00
+
+2:0*10:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981031000:00:00
+   1983030800:00:00
+   1985030500:00:00
+   1987031000:00:00
+   1989030700:00:00
+
+2*3:0:2,30:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030200:00:00
+   1981033000:00:00
+   1983030200:00:00
+   1983033000:00:00
+   1985030200:00:00
+   1985033000:00:00
+   1987030200:00:00
+   1987033000:00:00
+   1989030200:00:00
+   1989033000:00:00
+
+2*3:0:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1981030100:00:00
+   1983030100:00:00
+   1985030100:00:00
+   1987030100:00:00
+   1989030100:00:00
+
+3*2,5:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*5,2:2,-2:0:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1986'
+   =>
+   1982020800:00:00
+   1982021500:00:00
+   1982051000:00:00
+   1982052400:00:00
+   1985021100:00:00
+   1985021800:00:00
+   1985051300:00:00
+   1985052000:00:00
+
+3*2,5:2:2:0:0:0
+'Jan 1 1985'
+'Jan 1 1980'
+'Jan 1 1990'
+   =>
+   1982020900:00:00
+   1982051100:00:00
+   1985021200:00:00
+   1985051400:00:00
+   1988020900:00:00
+   1988051000:00:00
+
+1*2:2:0:0:0:0
+'Jan 1 1980'
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021100:00:00
+   1981020900:00:00
+   1982020800:00:00
+
+1*2:2:2:0:0:0
+'Jan 1 1980'
+'Jan 1 1980'
+'Dec 1 1982'
+   =>
+   1980021200:00:00
+   1981021000:00:00
+   1982020900:00:00
+
+*2000:2:1:1:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:1:7:0:0:0
+   =>
+   2000020600:00:00
+
+*2000:2:1:0:0:0:0
+   =>
+   2000020700:00:00
+
+*2000:2:-1:1:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:2:-1:7:0:0:0
+   =>
+   2000022700:00:00
+
+*2000:2:-1:0:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:0:0:0:0:0
+   =>
+   2000010100:00:00
+
+*2000:0:0:61:0:0:0
+   =>
+   2000030100:00:00
+
+*2000:0:0:-1:0:0:0
+   =>
+   2000123100:00:00
+
+*2000:2:0:2:0:0:0
+   =>
+   2000020200:00:00
+
+*2000:2:0:-2:0:0:0
+   =>
+   2000022800:00:00
+
+*2000:0:2:2:0:0:0
+   =>
+   2000011100:00:00
+
+*2000:0:2:6:0:0:0
+   =>
+   2000010800:00:00
+
+*2000:0:-2:2:0:0:0
+   =>
+   2000121900:00:00
+
+*2000:0:-2:6:0:0:0
+   =>
+   2000122300:00:00
+
+*2000:0:2:0:0:0:0
+   =>
+   2000011000:00:00
+
+*2000:0:-2:0:0:0:0
+   =>
+   2000121800:00:00
+
+*1990,1992:0:0:45:0:0:0
+   =>
+   1990021400:00:00
+   1992021400:00:00
+
+*1990,1992:0:0:0:0:0:0
+   =>
+   1990010100:00:00
+   1992010100:00:00
+
+*1990,1992:5:0:0:0:0:0
+   =>
+   1990050100:00:00
+   1992050100:00:00
+
+*1990,1992:5:0:12:0:0:0
+   =>
+   1990051200:00:00
+   1992051200:00:00
+
+*1998:0:12,14:0:0:0:0
+   =>
+   1998031600:00:00
+   1998033000:00:00
+
+*1998:0:12,14:2:0:0:0
+   =>
+   1998032400:00:00
+   1998040700:00:00
+
+*1998:2:2,-2:0:0:0:0
+   =>
+   1998020900:00:00
+   1998021600:00:00
+
+*1998:2:2,-2:2:0:0:0
+   =>
+   1998021000:00:00
+   1998021700:00:00
+
+*1998:2:2,-2:2:0:0:0
+1998021000:00:00
+1998021000:00:00
+1998021200:00:00
+   =>
+   1998021000:00:00
+
+1*2:0:-1:0:0:0
+2000-01-01
+2000-01-01
+2005-12-31
+   =>
+   2000022900:00:00
+   2001022800:00:00
+   2002022800:00:00
+   2003022800:00:00
+   2004022900:00:00
+   2005022800:00:00
+
+1:0*2:0:0:0:0
+2000-01-01
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:0:0:0:0
+2000-01-01
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:0*2:1:0:0:0
+2000-01-01
+2000-01-01
+2000-12-31
+   =>
+   2000011000:00:00
+
+1:0*-2:1:0:0:0
+2000-01-01
+2000-01-01
+2000-12-31
+   =>
+   2000121800:00:00
+
+1:1*2:0:0:0:0
+'Jan  1 2000'
+'Jan 10 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:0:0:0:0
+'Jan  1 2000'
+'Jan 10 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1*2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021200:00:00
+   2002031100:00:00
+
+1:1*-2:1:0:0:0
+'Jan 10 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000012400:00:00
+   2001021900:00:00
+   2002031800:00:00
+
+1:1:1*0:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010300:00:00
+   2001020500:00:00
+   2002031100:00:00
+
+1:0:0*15:0:0:0
+'Jan  1 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000011500:00:00
+   2001011500:00:00
+   2002011500:00:00
+
+1:0:0*-10:0:0:0
+'Jan  1 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000122200:00:00
+   2001122200:00:00
+   2002122200:00:00
+
+1:1:1*2:0:0:0
+'Jan  4 2000'
+'Jan  1 2000'
+'Dec 31 2002'
+   =>
+   2000010400:00:00
+   2001020600:00:00
+   2002031200:00:00
+
+1:1:0*10:0:0:0
+'Jan  1 2000'
+'Jan  4 2000'
+'Dec 31 2002'
+   =>
+   2000011000:00:00
+   2001021000:00:00
+   2002031000:00:00
+
+*2000-2009:0:0:366:0:0:0
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+*2000:1-5:0:31:0:0:0
+   =>
+   2000013100:00:00
+   2000033100:00:00
+   2000053100:00:00
+
+*2000-2009:0:53:1:0:0:0
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+*2000-2009:0:-53:1:0:0:0
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1*1-4:0:31:0:0:0
+'Jan  1 2000'
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000013100:00:00
+   2000033100:00:00
+
+1*1-4:0:-31:0:0:0
+'Jan  1 2000'
+'Jan  1 2000'
+'Dec 31 2000'
+   =>
+   2000010100:00:00
+   2000030100:00:00
+
+1:1:0*-10:0:0:0
+'Jan  1 2000'
+'Jan  4 2000'
+'Dec 31 2002'
+   =>
+   2000012200:00:00
+   2001021900:00:00
+   2002032200:00:00
+
+*2000:1-5:5:2:0:0:0
+   =>
+   2000022900:00:00
+   2000053000:00:00
+
+*2000:1-5:-5:2:0:0:0
+   =>
+   2000020100:00:00
+   2000050200:00:00
+
+*2000:1-5:5:0:0:0:0
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+*2000:1-5:-5:0:0:0:0
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1*1-5:5:2:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000022900:00:00
+   2000053000:00:00
+
+1*1-5:-5:2:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000020100:00:00
+   2000050200:00:00
+
+1*1-5:5:0:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000013100:00:00
+   2000052900:00:00
+
+1*1-5:-5:0:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Dec 1 2000'
+   =>
+   2000010300:00:00
+   2000050100:00:00
+
+1:0*53:1:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001123100:00:00
+   2007123100:00:00
+
+1:0*-53:1:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2001010100:00:00
+   2007010100:00:00
+
+1:0:0*366:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000123100:00:00
+   2004123100:00:00
+   2008123100:00:00
+
+1:0:0*-366:0:0:0
+'Jan 1 2000'
+'Jan 1 2000'
+'Jan 1 2010'
+   =>
+   2000010100:00:00
+   2004010100:00:00
+   2008010100:00:00
+
+'4th day of each month in 1999'
+   =>
+   1999010400:00:00
+   1999020400:00:00
+   1999030400:00:00
+   1999040400:00:00
+   1999050400:00:00
+   1999060400:00:00
+   1999070400:00:00
+   1999080400:00:00
+   1999090400:00:00
+   1999100400:00:00
+   1999110400:00:00
+   1999120400:00:00
+
+'2nd tuesday of every month in 1999'
+   =>
+   1999011200:00:00
+   1999020900:00:00
+   1999030900:00:00
+   1999041300:00:00
+   1999051100:00:00
+   1999060800:00:00
+   1999071300:00:00
+   1999081000:00:00
+   1999091400:00:00
+   1999101200:00:00
+   1999110900:00:00
+   1999121400:00:00
+
+'every 2nd tuesday in June 1999'
+   =>
+   1999060800:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.dates.2.t b/t/recur.dates.2.t
new file mode 100755
index 0000000..49f743d
--- /dev/null
+++ b/t/recur.dates.2.t
@@ -0,0 +1,135 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: full recur';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($recur,$arg1,$arg2) = @_;
+  $err = $obj->parse($recur);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $start = undef;
+     $end   = undef;
+     if (defined($arg1)) {
+        $start = $obj->new_date();
+        $start->parse($arg1);
+     }
+     if (defined($arg2)) {
+        $end = $obj->new_date();
+        $end->parse($arg2);
+     }
+     @dates = $obj->dates($start,$end);
+     @ret   = ();
+     foreach my $d (@dates) {
+        $v = $d->value();
+        push(@ret,$v);
+     }
+     return @ret;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+1:2:3:4*12:30:00**2000010500:00:00*2000010100:00:00*2003010100:00:00
+   =>
+   2000010512:30:00
+   2001033012:30:00
+   2002062412:30:00
+
+1:2:3:4*12:30:00**2000010500:00:00*2000010100:00:00*2003010100:00:00
+2001010100:00:00
+   =>
+   2001033012:30:00
+   2002062412:30:00
+
+1:2:3:4*12:30:00**2000010500:00:00*2000010100:00:00*2003010100:00:00
+__undef__
+2001123100:00:00
+   =>
+   2000010512:30:00
+   2001033012:30:00
+
+1:2:3:4*12:30:00**2000010500:00:00*2000010100:00:00*2003010100:00:00
+2001010100:00:00
+2001123100:00:00
+   =>
+   2001033012:30:00
+
+1:2:3:4*12:30:00**2000010500:00:00
+2000010100:00:00
+2003010100:00:00
+   =>
+   2000010512:30:00
+   2001033012:30:00
+   2002062412:30:00
+
+### Test new years definition
+
+1*1:0:1:0:0:0*dwd**1999060100:00:00*2006060100:00:00
+   =>
+   1999123100:00:00
+   2001010100:00:00
+   2002010100:00:00
+   2003010100:00:00
+   2004010100:00:00
+   2004123100:00:00
+   2006010200:00:00
+
+# Test recur with no frequency
+
+*2013:1:0:20:10:11:12***2013010100:00:00*2013013012:00:00
+   =>
+   2013012010:11:12
+
+*2013:1:0:20:10:11:12***2013012100:00:00*2013013012:00:00
+   =>
+
+# Test overriding dates with no frequency
+
+*1990-1995:12:0:1:0:0:0
+   =>
+   1990120100:00:00
+   1991120100:00:00
+   1992120100:00:00
+   1993120100:00:00
+   1994120100:00:00
+   1995120100:00:00
+
+*1990-1995:12:0:1:0:0:0
+1992-01-01
+1994-12-31
+   =>
+   1992120100:00:00
+   1993120100:00:00
+   1994120100:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.dates.3.t b/t/recur.dates.3.t
new file mode 100755
index 0000000..bcf7058
--- /dev/null
+++ b/t/recur.dates.3.t
@@ -0,0 +1,83 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: unmodified date range';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($recur,$arg1,$arg2) = @_;
+  $err = $obj->parse($recur);
+  if ($err) {
+     return $obj->err();
+  } else {
+     $start = undef;
+     $end   = undef;
+     if (defined($arg1)) {
+        $start = $obj->new_date();
+        $start->parse($arg1);
+     }
+     if (defined($arg2)) {
+        $end = $obj->new_date();
+        $end->parse($arg2);
+     }
+     @dates = $obj->dates($start,$end);
+     @ret   = ();
+     foreach my $d (@dates) {
+        $v = $d->value();
+        push(@ret,$v);
+     }
+     return @ret;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+1*1:0:1:0:0:0***2004010100:00:00*2007123123:59:59
+   =>
+   2004010100:00:00
+   2005010100:00:00
+   2006010100:00:00
+   2007010100:00:00
+
+1*1:0:1:0:0:0*dwd**2004010100:00:00*2007123123:59:59
+   =>
+   2004010100:00:00
+   2004123100:00:00
+   2006010200:00:00
+   2007010100:00:00
+
+1*1:0:1:0:0:0*dwd**2005010100:00:00*2005123123:59:59
+   =>
+
+1*1:0:1:0:0:0*dwd**2005010100:00:00*2005123123:59:59*1
+   =>
+   2004123100:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.frequency.t b/t/recur.frequency.t
new file mode 100755
index 0000000..3d3e695
--- /dev/null
+++ b/t/recur.frequency.t
@@ -0,0 +1,149 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: frequency';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $err = $obj->frequency(@test);
+  if ($err) {
+     return $obj->err();
+  } else {
+     @ret = @{ $$obj{"data"}{"interval"} };
+     push(@ret,"*");
+     foreach my $v (@{ $$obj{"data"}{"rtime"} }) {
+        $str = "";
+        foreach my $v2 (@$v) {
+           $str .= ","  if ($str ne "");
+           if (ref($v2)) {
+              ($x,$y) = @$v2;
+              $str .= "$x-$y";
+           } else {
+              $str .= "$v2";
+           }
+        }
+        push(@ret,$str);
+     }
+     return @ret;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+1:2:3:4:5:6:7 => 1 2 3 4 5 6 7 *
+
+1:02:3:4:5:6:7 => 1 2 3 4 5 6 7 *
+
+1:2:3:4:5:6
+   => 
+   '[frequency] Invalid frequency string'
+
++1:2:3:4:5:6:7
+   => 
+   '[frequency] Invalid frequency string'
+
+1:2:0*0:5:6:7 => 1 2 * 0 0 5 6 7
+
+0:0:0*4:5:6:7 => 0 0 1 * 4 5 6 7
+
+1:2:3*--4:5:6:7
+   => 
+   '[frequency] Invalid rtime string'
+
+1:2:3*4-3:5:6:7
+   => 
+   '[frequency] Invalid rtime range string'
+
+1:2:0:0*5,8:6:7 => 1 2 0 0 * 5,8 6 7
+
+1:2:0:0*5-5,8:6:7 => 1 2 0 0 * 5,8 6 7
+
+1:2:0:0*05,8:6:7 => 1 2 0 0 * 5,8 6 7
+
+1:2:0:0*5-8,11:6:7 => 1 2 0 0 * 5,6,7,8,11 6 7
+
+1:2:0*0:5-8,11:6:7 => 1 2 * 0 0 5,6,7,8,11 6 7
+
+1:2:0:0*5-8,11:-1:7
+   => 
+   '[frequency] Negative values only allowed for day/week'
+
+1:2:0:0*5-8,11:-3--1:7
+   => 
+   '[frequency] Negative values only allowed for day/week'
+
+1:2*-1--3:0:5-8,11:1:7
+   => 
+   '[frequency] Invalid rtime range string'
+
+1:2*-3--1:0:5-8,11:1:7 => 1 2 * -3,-2,-1 0 5,6,7,8,11 1 7
+
+1:2*2--2:0:5-8,11:1:7 => 1 2 * 2--2 0 5,6,7,8,11 1 7
+
+1*-1:1:1:1:1:1
+   => '[frequency] Month of year must be 1-12 (zero/negative not allowed)'
+
+1*13:1:1:1:1:1
+   => '[frequency] Month of year must be 1-12'
+
+1*1:-6:0:1:1:1
+   => '[frequency] Week of month must be 1-5 or -1 to -5'
+
+1*1:6:0:1:1:1
+   => '[frequency] Week of month must be 1-5 or -1 to -5'
+
+1*0:-54:0:1:1:1
+   => '[frequency] Week of year must be 1-53 or -1 to -53'
+
+1*0:54:0:1:1:1
+   => '[frequency] Week of year must be 1-53 or -1 to -53'
+
+1*1:6:0:1:1:1
+   => '[frequency] Week of month must be 1-5 or -1 to -5'
+
+1*0:0:367:1:1:1
+   => '[frequency] Day of year must be 1-366 or -1 to -366'
+
+1*0:0:-367:1:1:1
+   => '[frequency] Day of year must be 1-366 or -1 to -366'
+
+1*1:0:32:1:1:1
+   => '[frequency] Day of month must be 1-31 or -1 to -31'
+
+1*1:0:-32:1:1:1
+   => '[frequency] Day of month must be 1-31 or -1 to -31'
+
+1*0:1:-1:1:1:1
+   => '[frequency] Day of week must be 1-7 (zero/negative not allowed)'
+
+1*0:1:8:1:1:1
+   => '[frequency] Day of week must be 1-7'
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.init_args.t b/t/recur.init_args.t
new file mode 100755
index 0000000..20251cc
--- /dev/null
+++ b/t/recur.init_args.t
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: init_args';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  my $obj = new Date::Manip::Recur(@test);
+  return $obj->err();
+}
+
+$tests="
+
+0:0:0:1:0:0:0              => __blank__
+
+0:0:0:1:0:0:0 fd1          => __blank__
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.is.t b/t/recur.is.t
new file mode 100755
index 0000000..ad575cf
--- /dev/null
+++ b/t/recur.is.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: is';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($test)=@_;
+  if ($test eq 'date') {
+     return $obj->is_date();
+  } elsif ($test eq 'delta') {
+     return $obj->is_delta();
+  } elsif ($test eq 'recur') {
+     return $obj->is_recur();
+  }
+}
+
+$obj = new Date::Manip::Recur;
+
+$tests="
+
+date => 0
+
+delta => 0
+
+recur => 1
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/recur.nth.t b/t/recur.nth.t
new file mode 100755
index 0000000..b288664
--- /dev/null
+++ b/t/recur.nth.t
@@ -0,0 +1,246 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'recur :: nth/next/prev';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($op,$arg) = @_;
+
+  if ($op eq 'freq') {
+     $err = $obj->frequency($arg);
+     return $obj->err()  if ($err);
+     return 0;
+
+  } elsif ($op eq 'basedate') {
+     $err = $obj->basedate($arg);
+     return $obj->err()  if ($err);
+     return 0;
+
+  } elsif ($op eq 'start') {
+     $err = $obj->start($arg);
+     return $obj->err()  if ($err);
+     return 0;
+
+  } elsif ($op eq 'end') {
+     $err = $obj->end($arg);
+     return $obj->err()  if ($err);
+     return 0;
+
+  } elsif ($op eq 'next') {
+     ($date,$err)   = $obj->next($arg);
+     return $err   if ($err);
+     return $date  if (! defined($date));
+     my $val = $date->value();
+     return $val;
+
+  } elsif ($op eq 'prev') {
+     ($date,$err)   = $obj->prev($arg);
+     return $err   if ($err);
+     return $date  if (! defined($date));
+     my $val = $date->value();
+     return $val;
+
+  } elsif ($op eq 'nth') {
+     ($date,$err)   = $obj->nth($arg);
+     return $err   if ($err);
+     return $date  if (! defined($date));
+     my $val = $date->value();
+     return $val;
+  }
+}
+
+$obj = new Date::Manip::Recur;
+$obj->config("forcedate","2000-01-21-00:00:00,America/New_York");
+
+$tests="
+
+freq 1*2:0:4:12:0:0       => 0
+
+basedate 1999-12-30-00:00:00  => 0
+
+nth 0                      => 1999020412:00:00  
+
+nth 2                      => 2001020412:00:00
+
+nth -2                     => 1997020412:00:00
+
+# 31st of every month
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+nth 0                      => 2005013112:00:00
+
+nth 1                      => __undef__
+
+nth 2                      => 2005033112:00:00
+
+nth -1                     => 2004123112:00:00
+
+# d=15--15
+
+freq 0:1*0:15--15:12:0:0  => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+nth 0                      => 2005011512:00:00
+
+nth 1                      => 2005011612:00:00
+
+nth 2                      => 2005011712:00:00
+
+nth 3                      => 2005031512:00:00
+
+# DST transition dates
+
+freq 0:0:0:0:1*30:0       => 0
+
+basedate 2010-03-14-00:00:01  => 0
+
+nth 0                      => 2010031400:30:00
+
+nth 1                      => 2010031401:30:00
+
+nth 2                      => 2010031403:30:00
+
+freq 0:0:0:0:1*30:0       => 0
+
+basedate 2010-11-07-00:00:01  => 0
+
+nth 0                      => 2010110700:30:00
+
+nth 1                      => 2010110701:30:00
+
+nth 1                      => 2010110701:30:00
+
+freq 0:0:0:1*02:30:00     => 0
+
+basedate 2010-03-13-00:00:00  => 0
+
+nth 0                      => 2010031302:30:00
+
+nth 1                      => __undef__
+
+nth 2                      => 2010031502:30:00
+
+freq *2010:1:0:4-5:12-13:0:0 => 0
+
+nth 0                      => 2010010412:00:00
+
+nth 1                      => 2010010413:00:00
+
+nth 2                      => 2010010512:00:00
+
+nth 3                      => 2010010513:00:00
+
+nth -1                     => __undef__
+
+nth 4                      => __undef__
+
+freq *2010:1-4:0:31:12:0:0 => 0
+
+nth 0                      => 2010013112:00:00
+
+nth 1                      => 2010033112:00:00
+
+nth 2                      => __undef__
+
+nth -1                     => __undef__
+
+freq *2010:1-4:0:31:12:0:0 => 0
+
+next                       => 2010013112:00:00
+
+next                       => 2010033112:00:00
+
+next                       => __undef__
+
+prev                       => 2010033112:00:00
+
+prev                       => 2010013112:00:00
+
+prev                       => __undef__
+
+freq *2010:1-4:0:31:12:0:0 => 0
+
+prev                       => 2010033112:00:00
+
+prev                       => 2010013112:00:00
+
+prev                       => __undef__
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+next                       => 2005013112:00:00
+
+next                       => 2005033112:00:00
+
+prev                       => 2005013112:00:00
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+prev                       => 2004123112:00:00
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-02-27-00:00:00  => 0
+
+next                       => 2005033112:00:00
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-02-27-00:00:00  => 0
+
+prev                       => 2005013112:00:00
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+start 2007-01-01-00:00:00 => 0
+
+end   2007-12-31-00:00:00 => 0
+
+next                      => 2007013112:00:00
+
+freq 0:1*0:31:12:0:0      => 0
+
+basedate 2005-01-27-00:00:00  => 0
+
+start 2007-01-01-00:00:00 => 0
+
+end   2007-12-31-23:59:59 => 0
+
+prev                      => 2007123112:00:00
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/runtests b/t/runtests
new file mode 100755
index 0000000..9e413be
--- /dev/null
+++ b/t/runtests
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Usage:
+#   runtests [-T] [prefix]
+#
+# Runs all tests (or those starting with prefix),optionally in taint mode
+
+if [ -z "$TI_MODE" ]; then
+   TI_MODE='inter'
+   export TI_MODE
+fi
+
+if [ -z "$TI_QUIET" ]; then
+   TI_QUIET=2
+   export TI_QUIET
+fi
+
+if [ "$RELEASE_TESTING" != "0" ]; then
+   RELEASE_TESTING=1
+   export RELEASE_TESTING
+fi
+
+if [ "$1" = "-T" ]; then
+   taint="-T -I../lib -I."
+   shift
+else
+   taint=
+fi
+
+subset=$1
+
+for test in ${subset}*.t ;do
+  perl $taint ./$test
+done
diff --git a/t/runtests.bat b/t/runtests.bat
new file mode 100644
index 0000000..03c6ab0
--- /dev/null
+++ b/t/runtests.bat
@@ -0,0 +1,199 @@
+perl -I../lib base._calc_date_ymwd.t 1
+perl -I../lib base._config.t 1
+perl -I../lib base._critical_date.t 1
+perl -I../lib base._fix_year.50.t 1
+perl -I../lib base._fix_year.c.t 1
+perl -I../lib base._fix_year.c18.t 1
+perl -I../lib base._fix_year.c1890.t 1
+perl -I../lib base.calc_date_date.t 1
+perl -I../lib base.calc_date_days.t 1
+perl -I../lib base.calc_date_delta.t 1
+perl -I../lib base.calc_date_time.t 1
+perl -I../lib base.calc_time_time.t 1
+perl -I../lib base.check.t 1
+perl -I../lib base.cmp.t 1
+perl -I../lib base.day_of_week.t 1
+perl -I../lib base.day_of_year.0.t 1
+perl -I../lib base.day_of_year.1.t 1
+perl -I../lib base.days_in_month.t 1
+perl -I../lib base.days_in_year.t 1
+perl -I../lib base.days_since_1bc.t 1
+perl -I../lib base.join.t 1
+perl -I../lib base.leapyear.t 1
+perl -I../lib base.nth_day_of_week.t 1
+perl -I../lib base.secs_since_1970.t 1
+perl -I../lib base.split.t 1
+perl -I../lib base.week1_day1.t 1
+perl -I../lib base.week_of_year.0.t 1
+perl -I../lib base.week_of_year.1.t 1
+perl -I../lib base.weeks_in_year.t 1
+perl -I../lib date.calc.data_date_bsemi.t 1
+perl -I../lib date.calc.date_date_approx.t 1
+perl -I../lib date.calc.date_date_bapprox.t 1
+perl -I../lib date.calc.date_date_business.t 1
+perl -I../lib date.calc.date_date_exact.t 1
+perl -I../lib date.calc.date_date_semi.t 1
+perl -I../lib date.calc.date_delta.romanian.t 1
+perl -I../lib date.calc.date_delta_approx.t 1
+perl -I../lib date.calc.date_delta_business.0.t 1
+perl -I../lib date.calc.date_delta_business.1.t 1
+perl -I../lib date.calc.date_delta_business.2.t 1
+perl -I../lib date.calc.date_delta_business.3.t 1
+perl -I../lib date.calc.date_delta_business.4.t 1
+perl -I../lib date.calc.date_delta_business.french.t 1
+perl -I../lib date.calc.date_delta_exact.t 1
+perl -I../lib date.cmp.t 1
+perl -I../lib date.complete.t 1
+perl -I../lib date.convert.t 1
+perl -I../lib date.holiday.0.t 1
+perl -I../lib date.holiday.1.t 1
+perl -I../lib date.init_args.t 1
+perl -I../lib date.is.t 1
+perl -I../lib date.is_business_day.t 1
+perl -I../lib date.list_events.0.t 1
+perl -I../lib date.list_events.1.t 1
+perl -I../lib date.list_holidays.0.t 1
+perl -I../lib date.list_holidays.1.t 1
+perl -I../lib date.list_holidays.2.t 1
+perl -I../lib date.list_holidays.3.t 1
+perl -I../lib date.list_holidays.4.t 1
+perl -I../lib date.nearest_business_day.t 1
+perl -I../lib date.next.t 1
+perl -I../lib date.next_business_day.t 1
+perl -I../lib date.parse.catalan.t 1
+perl -I../lib date.parse.common.t 1
+perl -I../lib date.parse.danish.t 1
+perl -I../lib date.parse.delta.t 1
+perl -I../lib date.parse.dst.t 1
+perl -I../lib date.parse.dutch.t 1
+perl -I../lib date.parse.english.t 1
+perl -I../lib date.parse.french.t 1
+perl -I../lib date.parse.holidays.t 1
+perl -I../lib date.parse.invalid.t 1
+perl -I../lib date.parse.iso.t 1
+perl -I../lib date.parse.italian.t 1
+perl -I../lib date.parse.misc.0.t 1
+perl -I../lib date.parse.misc.1.t 1
+perl -I../lib date.parse.mmmyyyy.first.t 1
+perl -I../lib date.parse.mmmyyyy.last.t 1
+perl -I../lib date.parse.mmmyyyy.t 1
+perl -I../lib date.parse.period.t 1
+perl -I../lib date.parse.polish.t 1
+perl -I../lib date.parse.portuguese.t 1
+perl -I../lib date.parse.romanian.t 1
+perl -I../lib date.parse.russian.cp1251.t 1
+perl -I../lib date.parse.russian.koi8-r.t 1
+perl -I../lib date.parse.russian.t 1
+perl -I../lib date.parse.spanish.t 1
+perl -I../lib date.parse.swedish.t 1
+perl -I../lib date.parse.timezone.t 1
+perl -I../lib date.parse.turkish.t 1
+perl -I../lib date.parse_date.common.t 1
+perl -I../lib date.parse_date.iso.t 1
+perl -I../lib date.parse_date.misc.0.t 1
+perl -I../lib date.parse_date.misc.1.t 1
+perl -I../lib date.parse_date.mmmyyyy.first.t 1
+perl -I../lib date.parse_date.mmmyyyy.last.t 1
+perl -I../lib date.parse_date.mmmyyyy.t 1
+perl -I../lib date.parse_format.0.t 1
+perl -I../lib date.parse_format.1.t 1
+perl -I../lib date.parse_time.t 1
+perl -I../lib date.prev.t 1
+perl -I../lib date.prev_business_day.t 1
+perl -I../lib date.printf.0.t 1
+perl -I../lib date.printf.1.t 1
+perl -I../lib date.secs_since_1970_GMT.0.t 1
+perl -I../lib date.secs_since_1970_GMT.1.t 1
+perl -I../lib date.set.0.t 1
+perl -I../lib date.set.1.t 1
+perl -I../lib date.set.2.t 1
+perl -I../lib date.set.3.t 1
+perl -I../lib date.week_of_year.0.t 1
+perl -I../lib date.week_of_year.1.t 1
+perl -I../lib delta.calc.delta_delta_approx.t 1
+perl -I../lib delta.calc.delta_delta_business.0.t 1
+perl -I../lib delta.calc.delta_delta_business.1.t 1
+perl -I../lib delta.calc.delta_delta_exact.t 1
+perl -I../lib delta.cmp.t 1
+perl -I../lib delta.convert.t 1
+perl -I../lib delta.init_args.t 1
+perl -I../lib delta.is.t 1
+perl -I../lib delta.parse.fract.t 1
+perl -I../lib delta.parse.t 1
+perl -I../lib delta.printf.t 1
+perl -I../lib delta.set.t 1
+perl -I../lib delta.type.t 1
+perl -I../lib delta.value.t 1
+perl -I../lib dm5.convtz.t 1
+perl -I../lib dm5.date.t 1
+perl -I../lib dm5.date_date_0.t 1
+perl -I../lib dm5.date_date_1.t 1
+perl -I../lib dm5.date_date_2a.t 1
+perl -I../lib dm5.date_date_2b.t 1
+perl -I../lib dm5.date_delta_0.t 1
+perl -I../lib dm5.date_delta_1.t 1
+perl -I../lib dm5.date_delta_2a.t 1
+perl -I../lib dm5.date_delta_2b.t 1
+perl -I../lib dm5.date_delta_french.t 1
+perl -I../lib dm5.date_delta_sign.t 1
+perl -I../lib dm5.date_french.t 1
+perl -I../lib dm5.date_german.t 1
+perl -I../lib dm5.date_misc_a.t 1
+perl -I../lib dm5.date_misc_b.t 1
+perl -I../lib dm5.date_romanian.t 1
+perl -I../lib dm5.date_today_0.t 1
+perl -I../lib dm5.date_today_1.t 1
+perl -I../lib dm5.delta_a.t 1
+perl -I../lib dm5.delta_b.t 1
+perl -I../lib dm5.delta_delta_0.t 1
+perl -I../lib dm5.delta_delta_1.t 1
+perl -I../lib dm5.delta_delta_2a.t 1
+perl -I../lib dm5.delta_delta_2b.t 1
+perl -I../lib dm5.delta_format.t 1
+perl -I../lib dm5.delta_romanian.t 1
+perl -I../lib dm5.events.t 1
+perl -I../lib dm5.getnext.t 1
+perl -I../lib dm5.getprev.t 1
+perl -I../lib dm5.normalize_business.t 1
+perl -I../lib dm5.nthday.t 1
+perl -I../lib dm5.recur_0.t 1
+perl -I../lib dm5.recur_1.t 1
+perl -I../lib dm5.settime.t 1
+perl -I../lib dm5.unixdate.t 1
+perl -I../lib obj.t 1
+perl -I../lib orig.convtz.t 1
+perl -I../lib orig.date_isholiday.t 1
+perl -I../lib orig.datecalc.date_date.t 1
+perl -I../lib orig.datecalc.date_delta.0.t 1
+perl -I../lib orig.datecalc.date_delta.1.t 1
+perl -I../lib orig.delta_format.t 1
+perl -I../lib orig.eventslist.t 1
+perl -I../lib orig.getnext.t 1
+perl -I../lib orig.getprev.t 1
+perl -I../lib orig.nthdayofyear.t 1
+perl -I../lib orig.parsedatedelta.t 1
+perl -I../lib orig.parsedateformat.t 1
+perl -I../lib orig.parsedatestring.t 1
+perl -I../lib orig.parserecur.t 1
+perl -I../lib orig.settime.t 1
+perl -I../lib orig.unixdate.t 1
+perl -I../lib recur.dates.0.t 1
+perl -I../lib recur.dates.1.t 1
+perl -I../lib recur.dates.2.t 1
+perl -I../lib recur.dates.3.t 1
+perl -I../lib recur.frequency.t 1
+perl -I../lib recur.init_args.t 1
+perl -I../lib recur.is.t 1
+perl -I../lib recur.nth.t 1
+perl -I../lib tz.all_periods.t 1
+perl -I../lib tz.convert.t 1
+perl -I../lib tz.convert_from_gmt.t 1
+perl -I../lib tz.convert_to_gmt.t 1
+perl -I../lib tz.date_period.t 1
+perl -I../lib tz.define_abbrev.t 1
+perl -I../lib tz.define_alias.t 1
+perl -I../lib tz.define_offset.t 1
+perl -I../lib tz.periods.t 1
+perl -I../lib tz.zone.t 1
+perl -I../lib tzdata._ruleinfo.t 1
+perl -I../lib tzdata._zoneinfo.t 1
diff --git a/t/tz.all_periods.t b/t/tz.all_periods.t
new file mode 100755
index 0000000..7fab931
--- /dev/null
+++ b/t/tz.all_periods.t
@@ -0,0 +1,227 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: all_periods';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @per = $obj->all_periods(@test);
+  @ret = ();
+  foreach my $per (@per) {
+     push(@ret,@$per);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+America/New_York 0001 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+America/New_York 1 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+America/New_York 1800 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+America/New_York 1883 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+   [ 1883 11 18 17 0 0 ]
+   [ 1883 11 18 12 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1918 3 31 6 59 59 ]
+   [ 1918 3 31 1 59 59 ]
+   1883111817:00:00
+   1883111812:00:00
+   1918033106:59:59
+   1918033101:59:59
+
+America/New_York 1926 =>
+   [ 1925 9 27 6 0 0 ]
+   [ 1925 9 27 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1926 4 25 6 59 59 ]
+   [ 1926 4 25 1 59 59 ]
+   1925092706:00:00
+   1925092701:00:00
+   1926042506:59:59
+   1926042501:59:59
+   [ 1926 4 25 7 0 0 ]
+   [ 1926 4 25 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 1926 9 26 5 59 59 ]
+   [ 1926 9 26 1 59 59 ]
+   1926042507:00:00
+   1926042503:00:00
+   1926092605:59:59
+   1926092601:59:59
+   [ 1926 9 26 6 0 0 ]
+   [ 1926 9 26 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1927 4 24 6 59 59 ]
+   [ 1927 4 24 1 59 59 ]
+   1926092606:00:00
+   1926092601:00:00
+   1927042406:59:59
+   1927042401:59:59
+
+America/New_York 2037 =>
+   [ 2036 11 2 6 0 0 ]
+   [ 2036 11 2 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2037 3 8 6 59 59 ]
+   [ 2037 3 8 1 59 59 ]
+   2036110206:00:00
+   2036110201:00:00
+   2037030806:59:59
+   2037030801:59:59
+   [ 2037 3 8 7 0 0 ]
+   [ 2037 3 8 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 2037 11 1 5 59 59 ]
+   [ 2037 11 1 1 59 59 ]
+   2037030807:00:00
+   2037030803:00:00
+   2037110105:59:59
+   2037110101:59:59
+   [ 2037 11 1 6 0 0 ]
+   [ 2037 11 1 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2038 3 14 6 59 59 ]
+   [ 2038 3 14 1 59 59 ]
+   2037110106:00:00
+   2037110101:00:00
+   2038031406:59:59
+   2038031401:59:59
+
+America/New_York 2100 =>
+   [ 2099 11 1 6 0 0 ]
+   [ 2099 11 1 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2100 3 14 6 59 59 ]
+   [ 2100 3 14 1 59 59 ]
+   2099110106:00:00
+   2099110101:00:00
+   2100031406:59:59
+   2100031401:59:59
+   [ 2100 3 14 7 0 0 ]
+   [ 2100 3 14 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 2100 11 7 5 59 59 ]
+   [ 2100 11 7 1 59 59 ]
+   2100031407:00:00
+   2100031403:00:00
+   2100110705:59:59
+   2100110701:59:59
+   [ 2100 11 7 6 0 0 ]
+   [ 2100 11 7 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2101 3 13 6 59 59 ]
+   [ 2101 3 13 1 59 59 ]
+   2100110706:00:00
+   2100110701:00:00
+   2101031306:59:59
+   2101031301:59:59
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.convert.t b/t/tz.convert.t
new file mode 100755
index 0000000..fa72429
--- /dev/null
+++ b/t/tz.convert.t
@@ -0,0 +1,84 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: convert';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  return $obj->convert(@test);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+[ 1985 1 1 0 30 0 ] America/New_York America/Chicago =>
+  0 [ 1984 12 31 23 30 0 ] [ -6 0 0 ] 0 CST
+
+[ 1985 1 1 12 0 0 ] America/New_York America/Chicago =>
+  0 [ 1985 1 1 11 0 0 ] [ -6 0 0 ] 0 CST
+
+[ 1985 4 28 1 0 0 ] America/New_York America/Chicago =>
+  0 [ 1985 4 28 0 0 0 ] [ -6 0 0 ] 0 CST
+
+[ 1985 4 28 2 0 0 ] America/New_York America/Chicago => 4
+
+[ 1985 4 28 2 30 0 ] America/New_York America/Chicago => 4
+
+[ 1985 4 28 3 0 0 ] America/New_York America/Chicago =>
+  0 [ 1985 4 28 1 0 0 ] [ -6 0 0 ] 0 CST
+
+[ 1985 4 28 3 30 0 ] America/New_York America/Chicago =>
+  0 [ 1985 4 28 1 30 0 ] [ -6 0 0 ] 0 CST
+
+[ 1985 4 28 4 0 0 ] America/New_York America/Chicago =>
+  0 [ 1985 4 28 3 0 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 0 30 0 ] America/New_York America/Chicago =>
+  0 [ 1985 10 26 23 30 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 1 0 0 ] America/New_York America/Chicago 1 =>
+  0 [ 1985 10 27 0 0 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 1 30 0 ] America/New_York America/Chicago 1 =>
+  0 [ 1985 10 27 0 30 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 1 0 0 ] America/New_York America/Chicago 0 =>
+  0 [ 1985 10 27 1 0 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 1 30 0 ] America/New_York America/Chicago 0 =>
+  0 [ 1985 10 27 1 30 0 ] [ -5 0 0 ] 1 CDT
+
+[ 1985 10 27 2 0 0 ] America/New_York America/Chicago =>
+  0 [ 1985 10 27 1 0 0 ] [ -6 0 0 ] 0 CST
+
+1985102702:00:00 America/New_York America/Chicago =>
+  0 [ 1985 10 27 1 0 0 ] [ -6 0 0 ] 0 CST
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.convert_from_gmt.t b/t/tz.convert_from_gmt.t
new file mode 100755
index 0000000..ff93cff
--- /dev/null
+++ b/t/tz.convert_from_gmt.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: convert_from_gmt';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  return $obj->convert_from_gmt(@test);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+[ 1985 1 1 17 0 0 ] America/New_York =>
+  0 [ 1985 1 1 12 0 0 ] [ -5 0 0 ] 0 EST
+
+[ 1985 4 28 7 0 0 ] America/New_York =>
+  0 [ 1985 4 28 3 0 0 ] [ -4 0 0 ] 1 EDT
+
+[ 1985 10 27 6 0 0 ] America/New_York =>
+  0 [ 1985 10 27 1 0 0 ] [ -5 0 0 ] 0 EST
+
+[ 1985 10 27 5 0 0 ] America/New_York =>
+  0 [ 1985 10 27 1 0 0 ] [ -4 0 0 ] 1 EDT
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.convert_to_gmt.t b/t/tz.convert_to_gmt.t
new file mode 100755
index 0000000..4eef37a
--- /dev/null
+++ b/t/tz.convert_to_gmt.t
@@ -0,0 +1,52 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: convert_to_gmt';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  return $obj->convert_to_gmt(@test);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+[ 1985 01 01 12 00 00 ] America/New_York =>
+  0 [ 1985 1 1 17 0 0 ] [ 0 0 0 ] 0 GMT
+
+[ 1985 04 28 03 00 00 ] America/New_York =>
+  0 [ 1985 4 28 7 0 0 ] [ 0 0 0 ] 0 GMT
+
+[ 1985 10 27 01 00 00 ] America/New_York 0 =>
+  0 [ 1985 10 27 6 0 0 ] [ 0 0 0 ] 0 GMT
+
+[ 1985 10 27 01 00 00 ] America/New_York 1 =>
+  0 [ 1985 10 27 5 0 0 ] [ 0 0 0 ] 0 GMT
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.date_period.t b/t/tz.date_period.t
new file mode 100755
index 0000000..3c8682f
--- /dev/null
+++ b/t/tz.date_period.t
@@ -0,0 +1,142 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: date_period';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  $per = $obj->date_period(@test);
+  return ()  if (! $per);
+  return @$per;
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+[ 1 2 1 0 0 0 ] America/New_York 0 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+[ 1880 1 1 0 0 0 ] America/New_York 0 =>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+[ 1925 9 27 6 0 0 ] America/New_York 0 =>
+   [ 1925 9 27 6 0 0 ]
+   [ 1925 9 27 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1926 4 25 6 59 59 ]
+   [ 1926 4 25 1 59 59 ]
+   1925092706:00:00
+   1925092701:00:00
+   1926042506:59:59
+   1926042501:59:59
+
+[ 1925 9 27 1 0 0 ] America/New_York 1 0 =>
+   [ 1925 9 27 6 0 0 ]
+   [ 1925 9 27 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1926 4 25 6 59 59 ]
+   [ 1926 4 25 1 59 59 ]
+   1925092706:00:00
+   1925092701:00:00
+   1926042506:59:59
+   1926042501:59:59
+
+[ 1926 4 25 2 15 0 ] America/New_York 1 0 =>
+
+[ 1926 4 25 3 15 0 ] America/New_York 1 0 =>
+   [ 1926 4 25 7 0 0 ]
+   [ 1926 4 25 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 1926 9 26 5 59 59 ]
+   [ 1926 9 26 1 59 59 ]
+   1926042507:00:00
+   1926042503:00:00
+   1926092605:59:59
+   1926092601:59:59
+
+[ 1926 9 26 1 15 0 ] America/New_York 1 0 =>
+   [ 1926 9 26 6 0 0 ]
+   [ 1926 9 26 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1927 4 24 6 59 59 ]
+   [ 1927 4 24 1 59 59 ]
+   1926092606:00:00
+   1926092601:00:00
+   1927042406:59:59
+   1927042401:59:59
+
+[ 1926 9 26 1 15 0 ] America/New_York 1 1 =>
+   [ 1926 4 25 7 0 0 ]
+   [ 1926 4 25 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 1926 9 26 5 59 59 ]
+   [ 1926 9 26 1 59 59 ]
+   1926042507:00:00
+   1926042503:00:00
+   1926092605:59:59
+   1926092601:59:59
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.define_abbrev.t b/t/tz.define_abbrev.t
new file mode 100755
index 0000000..288c082
--- /dev/null
+++ b/t/tz.define_abbrev.t
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: define_abbrev';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($abbrev,@zone)=@_;
+  $obj->define_abbrev("reset");
+  $obj->define_abbrev($abbrev,@zone);
+  return $obj->zone($abbrev);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+EWT reset =>
+   America/New_York
+   America/Detroit
+   America/Iqaluit
+   America/Nipigon
+   America/Thunder_Bay
+   America/Toronto
+
+EWT
+America/New_York
+America/Iqaluit
+America/Thunder_Bay
+   =>
+   America/New_York
+   America/Iqaluit
+   America/Thunder_Bay
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.define_alias.t b/t/tz.define_alias.t
new file mode 100755
index 0000000..7ec29ae
--- /dev/null
+++ b/t/tz.define_alias.t
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: define_alias';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($alias,$zone)=@_;
+  $obj->define_alias("reset");
+  $obj->define_alias($alias,$zone);
+  return $obj->zone($alias);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+AAAmerica/New_York America/New_York => America/New_York
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.define_offset.t b/t/tz.define_offset.t
new file mode 100755
index 0000000..75ed053
--- /dev/null
+++ b/t/tz.define_offset.t
@@ -0,0 +1,105 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: define_offset';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  ($offset,@args) = @_;
+  $obj->define_offset("reset");
+  ($err,$val) = $obj->define_offset($offset,@args);
+  return ($err,$val)  if ($err);
+  @ret = (0);
+  push(@ret,$obj->zone($offset,"stdonly"));
+  push(@ret,1);
+  push(@ret,$obj->zone($offset,"dstonly"));
+  return @ret;
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+# +06:30:00;
+#    0 => [
+#         indian/cocos,
+#         asia/colombo,
+#         asia/dhaka,
+#         asia/kolkata,
+#         asia/rangoon,
+#         ],
+#      1 => [
+#         asia/colombo,
+#         asia/kolkata,
+#         asia/karachi,
+#         ],
+
++06:30:01 std Asia/Colombo Indian/Cocos     => 1 __undef__
+
++00:09:21 dstonly Europe/Paris              => 2 __undef__
+
++00:34:39 stdonly Europe/Dublin             => 2 __undef__
+
++06:30:00 std Asia/Colombo Foo/Bar          => 3 Foo/Bar
+
++06:30:00 std Asia/Colombo America/New_York => 4 America/New_York
+
++06:30:00 stdonly Asia/Colombo Asia/Karachi => 5 Asia/Karachi
+
++06:30:00 dstonly Asia/Colombo Indian/Cocos => 5 Indian/Cocos
+
++06:30:00:50 std Asia/Colombo               => 9 __undef__
+
++06:30:00
+std
+Asia/Colombo
+Asia/Dhaka
+Asia/Karachi
+   =>
+   0
+   Asia/Colombo
+   Asia/Dhaka
+   1
+   Asia/Colombo
+   Asia/Karachi
+
++06:30:00
+stdonly
+Asia/Dhaka
+Asia/Kolkata
+Asia/Yangon
+   =>
+   0
+   Asia/Dhaka
+   Asia/Kolkata
+   Asia/Yangon
+   1
+   Asia/Colombo
+   Asia/Karachi
+   Asia/Kolkata
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.periods.t b/t/tz.periods.t
new file mode 100755
index 0000000..b461187
--- /dev/null
+++ b/t/tz.periods.t
@@ -0,0 +1,250 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: periods';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+
+sub test {
+  (@test)=@_;
+  @per = $obj->periods(@test);
+  @ret = ();
+  foreach my $per (@per) {
+     push(@ret,@$per);
+  }
+  return @ret;
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+America/New_York
+1
+=>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+
+America/New_York
+1800
+=>
+
+America/New_York
+1883
+=>
+   [ 1883 11 18 17 0 0 ]
+   [ 1883 11 18 12 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1918 3 31 6 59 59 ]
+   [ 1918 3 31 1 59 59 ]
+   1883111817:00:00
+   1883111812:00:00
+   1918033106:59:59
+   1918033101:59:59
+
+America/New_York
+1926
+=>
+   [ 1926 4 25 7 0 0 ]
+   [ 1926 4 25 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 1926 9 26 5 59 59 ]
+   [ 1926 9 26 1 59 59 ]
+   1926042507:00:00
+   1926042503:00:00
+   1926092605:59:59
+   1926092601:59:59
+   [ 1926 9 26 6 0 0 ]
+   [ 1926 9 26 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1927 4 24 6 59 59 ]
+   [ 1927 4 24 1 59 59 ]
+   1926092606:00:00
+   1926092601:00:00
+   1927042406:59:59
+   1927042401:59:59
+
+America/New_York
+2037
+=>
+   [ 2037 3 8 7 0 0 ]
+   [ 2037 3 8 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 2037 11 1 5 59 59 ]
+   [ 2037 11 1 1 59 59 ]
+   2037030807:00:00
+   2037030803:00:00
+   2037110105:59:59
+   2037110101:59:59
+   [ 2037 11 1 6 0 0 ]
+   [ 2037 11 1 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2038 3 14 6 59 59 ]
+   [ 2038 3 14 1 59 59 ]
+   2037110106:00:00
+   2037110101:00:00
+   2038031406:59:59
+   2038031401:59:59
+
+America/New_York
+2100
+=>
+   [ 2100 3 14 7 0 0 ]
+   [ 2100 3 14 3 0 0 ]
+   -04:00:00
+   [ -4 0 0 ]
+   EDT
+   1
+   [ 2100 11 7 5 59 59 ]
+   [ 2100 11 7 1 59 59 ]
+   2100031407:00:00
+   2100031403:00:00
+   2100110705:59:59
+   2100110701:59:59
+   [ 2100 11 7 6 0 0 ]
+   [ 2100 11 7 1 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 2101 3 13 6 59 59 ]
+   [ 2101 3 13 1 59 59 ]
+   2100110706:00:00
+   2100110701:00:00
+   2101031306:59:59
+   2101031301:59:59
+
+Asia/Damascus
+2038
+=>
+   [ 2038 3 25 22 0 0 ]
+   [ 2038 3 26 1 0 0 ]
+   +03:00:00
+   [ 3 0 0 ]
+   EEST
+   1
+   [ 2038 10 28 20 59 59 ]
+   [ 2038 10 28 23 59 59 ]
+   2038032522:00:00
+   2038032601:00:00
+   2038102820:59:59
+   2038102823:59:59
+   [ 2038 10 28 21 0 0 ]
+   [ 2038 10 28 23 0 0 ]
+   +02:00:00
+   [ 2 0 0 ]
+   EET
+   0
+   [ 2039 3 24 21 59 59 ]
+   [ 2039 3 24 23 59 59 ]
+   2038102821:00:00
+   2038102823:00:00
+   2039032421:59:59
+   2039032423:59:59
+
+Asia/Damascus
+2039
+=>
+   [ 2039 3 24 22 0 0 ]
+   [ 2039 3 25 1 0 0 ]
+   +03:00:00
+   [ 3 0 0 ]
+   EEST
+   1
+   [ 2039 10 27 20 59 59 ]
+   [ 2039 10 27 23 59 59 ]
+   2039032422:00:00
+   2039032501:00:00
+   2039102720:59:59
+   2039102723:59:59
+   [ 2039 10 27 21 0 0 ]
+   [ 2039 10 27 23 0 0 ]
+   +02:00:00
+   [ 2 0 0 ]
+   EET
+   0
+   [ 2040 3 29 21 59 59 ]
+   [ 2040 3 29 23 59 59 ]
+   2039102721:00:00
+   2039102723:00:00
+   2040032921:59:59
+   2040032923:59:59
+
+America/New_York
+__undef__
+1900
+=>
+   [ 1 1 2 0 0 0 ]
+   [ 1 1 1 19 3 58 ]
+   -04:56:02
+   [ -4 -56 -2 ]
+   LMT
+   0
+   [ 1883 11 18 16 59 59 ]
+   [ 1883 11 18 12 3 57 ]
+   0001010200:00:00
+   0001010119:03:58
+   1883111816:59:59
+   1883111812:03:57
+   [ 1883 11 18 17 0 0 ]
+   [ 1883 11 18 12 0 0 ]
+   -05:00:00
+   [ -5 0 0 ]
+   EST
+   0
+   [ 1918 3 31 6 59 59 ]
+   [ 1918 3 31 1 59 59 ]
+   1883111817:00:00
+   1883111812:00:00
+   1918033106:59:59
+   1918033101:59:59
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tz.zone.t b/t/tz.zone.t
new file mode 100755
index 0000000..aad0d83
--- /dev/null
+++ b/t/tz.zone.t
@@ -0,0 +1,174 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tz :: zone';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+sub test {
+  (@test)=@_;
+  return $obj->zone(@test);
+}
+
+$obj = new Date::Manip::TZ;
+$obj->config("forcedate","now,America/New_York");
+
+$tests="
+
+#
+# Zone only tests
+#
+
+America/New_York    => America/New_York
+
+AAAmerica/New_York  => __undef__
+
+america/new_york    => America/New_York
+
+est5edt             => America/New_York
+
+us/eastern          => America/New_York
+
+#
+# Abbrev only tests
+#
+
+ywt =>
+   America/Whitehorse
+   America/Dawson
+   America/Yakutat
+
+#
+# Offset tests
+#
+
++06:30:00 stdonly =>
+   Indian/Cocos
+   Asia/Yangon
+   Asia/Colombo
+   Asia/Dhaka
+   Asia/Kolkata
+
++06:30:00 dstonly =>
+   Asia/Colombo
+   Asia/Karachi
+   Asia/Kolkata
+
++06:30:00 std =>
+   Indian/Cocos
+   Asia/Yangon
+   Asia/Colombo
+   Asia/Dhaka
+   Asia/Kolkata
+   Asia/Karachi
+
++06:30:00 dst =>
+   Asia/Colombo
+   Asia/Karachi
+   Asia/Kolkata
+   Indian/Cocos
+   Asia/Yangon
+   Asia/Dhaka
+
+#
+# Abbrev/offset tests
+#
+
+-05:00:00 EDT =>
+
+BST =>
+   Europe/London
+   America/Adak
+   America/Nome
+   Europe/Gibraltar
+   Europe/Dublin
+
++01:00:00 BST =>
+   Europe/London
+   Europe/Gibraltar
+   Europe/Dublin
+
+-11:00:00 BST =>
+   America/Adak
+   America/Nome
+
+#
+# Mixed data
+#
+
+=>
+   America/New_York
+
+std
+   =>
+   America/New_York
+
+dstonly
+   =>
+   America/New_York
+
+-2
+stdonly
+   =>
+   Atlantic/South_Georgia
+   America/Noronha
+   Etc/GMT-2
+   B
+   America/Scoresbysund
+   Atlantic/Cape_Verde
+   Atlantic/Azores
+
+-02:00
+stdonly
+   =>
+   Atlantic/South_Georgia
+   America/Noronha
+   Etc/GMT-2
+   B
+   America/Scoresbysund
+   Atlantic/Cape_Verde
+   Atlantic/Azores
+
+[ 2001 01 01 00 00 00 ]                   => America/New_York
+
+[ 2001 01 01 00 00 00 ] ABC               => __undef__
+
+[ 2001 01 01 00 00 00 ] 9:50:0x           => __undef__
+
+[ 2001 01 01 00 00 00 ] 9:50:00           => __undef__
+
+[ 2001 01 01 00 00 00 ] -12:00:00 dstonly =>
+
+[ 1980 01 01 00 00 00 ] +07:30:00         => Asia/Kuala_Lumpur Asia/Singapore
+
+#
+# HPUX zones
+#
+
+BRST3BRDT                                 => America/Sao_Paulo
+
+'EST5EDT#Canada'                          => America/Toronto
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tzdata._ruleinfo.t b/t/tzdata._ruleinfo.t
new file mode 100755
index 0000000..7894f3a
--- /dev/null
+++ b/t/tzdata._ruleinfo.t
@@ -0,0 +1,103 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tzdata :: _ruleInfo';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+$t->use_ok('Date::Manip::TZdata');
+
+if ( -d "$testdir/../tzdata" ) {
+  $obj = new Date::Manip::TZdata("$testdir/..");
+} else {
+  $t->skip_all('No tzdata directory');
+}
+
+sub test {
+  (@test)=@_;
+  return $obj->_ruleInfo(@test);
+}
+
+$tests="
+
+HK stdlett 1955 => __blank__
+
+HK savlett 1955 => S
+
+Iran stdlett 1980 => S
+
+Iran savlett 1980 => D
+
+Chicago lastoff 1920 => 00:00:00
+
+Winn lastoff 1942 => 01:00:00
+
+US rdates 1918 =>
+   1918033102:00:00
+   01:00:00
+   w
+   D
+   1918102702:00:00
+   00:00:00
+   w
+   S
+
+US rdates 1942 =>
+   1942020902:00:00
+   01:00:00
+   w
+   W
+
+US rdates 1945 =>
+   1945081423:00:00
+   01:00:00
+   u
+   P
+   1945093002:00:00
+   00:00:00
+   w
+   S
+
+US rdates 2010 =>
+   2010031402:00:00
+   01:00:00
+   w
+   D
+   2010110702:00:00
+   00:00:00
+   w
+   S
+
+RussiaAsia rdates 1990 =>
+   1990032502:00:00
+   01:00:00
+   s
+   S
+   1990093002:00:00
+   00:00:00
+   s
+   __blank__
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End:
diff --git a/t/tzdata._zoneinfo.t b/t/tzdata._zoneinfo.t
new file mode 100755
index 0000000..eeb691a
--- /dev/null
+++ b/t/tzdata._zoneinfo.t
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+
+use Test::Inter;
+$t = new Test::Inter 'tzdata :: _zoneInfo';
+$testdir = '';
+$testdir = $t->testdir();
+
+use Date::Manip;
+if (DateManipVersion() >= 6.00) {
+   $t->feature("DM6",1);
+}
+
+$t->skip_all('Date::Manip 6.xx required','DM6');
+
+$t->use_ok('Date::Manip::TZdata');
+
+if ( -d "$testdir/../tzdata" ) {
+  $obj = new Date::Manip::TZdata("$testdir/..");
+} else {
+  $t->skip_all('No tzdata directory');
+}
+
+sub test {
+  (@test)=@_;
+  return $obj->_zoneInfo(@test);
+}
+
+$tests="
+
+America/Chicago rules 1800 => - 1
+
+America/Chicago rules 1883 => - 1 US 2
+
+America/Chicago rules 1919 => US 2
+
+America/Chicago rules 1920 => Chicago 2
+
+America/Chicago rules 1936 => Chicago 2 - 1 Chicago 2
+
+Atlantic/Cape_Verde rules 1975 => - 1 - 1
+
+Asia/Tbilisi rules 1996 => E-EurAsia 2 01:00:00 3
+
+";
+
+$t->tests(func  => \&test,
+          tests => $tests);
+$t->done_testing();
+
+#Local Variables:
+#mode: cperl
+#indent-tabs-mode: nil
+#cperl-indent-level: 3
+#cperl-continued-statement-offset: 2
+#cperl-continued-brace-offset: 0
+#cperl-brace-offset: 0
+#cperl-brace-imaginary-offset: 0
+#cperl-label-offset: 0
+#End: